“鸿科”工业自动化
本系列文章旨在帮助读者简要了解鸿科KPA Automation系统并快速上手使用MoDK,包括:鸿科KPA自动化、鸿科KPA MoDK介绍、鸿科KPA MoDK运行环境搭建测试与例程。本文档搭建的虹科KPA MoDK运行环境基于Win10,以C/C++为开发语言进行开发。
01鸿科KPA自动化操作系统
鸿科KPA自动化是一个完整的控制系统,由下至上几个层次组成:设备层、总线层、控制层、应用层。各层具有相对独立的功能,并提供层与层之间交互的接口。高级内容可以使用您自己的方法来实现。比如总线层使用KPA Master,控制层使用自己的控制器。但低级内容是无法替代的。例如,如果使用KPA运动代替KPA Master,则该方法不可行。
各层功能简述如下:
设备层
实际受控设备通过总线层发送和接收数据。
总线层
从控制层/设备层接收数据,转发给设备层/控制层。目前支持的总线协议有:EtherCAT、ModBus、CAN、CANopen 和PROFIBUS。具体支持的协议类型还与控制层选择的具体控制器有关。 MoDK还支持使用VREP机器人仿真平台。
控制层
在控制器所在层面,可以灵活选择多种类型的控制器。您可以选择KPA Straton,也可以选择与MoDK/MDK结合使用的C/C++应用程序。
应用层
主要用于数据采集、监测和分析。
02 鸿科KPA MoDK简介
鸿科KPA MoDK位于鸿科KPA自动化控制系统中的控制层,是控制系统中的可选模块。与鸿科KPA Straton结合时,采用五种标准PLC语言进行开发,MoDK以功能块的形式呈现;当直接使用C/C++进行开发时,MoDK以独立开发包/库的形式呈现。
MoDK的功能块/功能接口完全符合PLCopenpart1/part4标准。使用Straton开发时,只需依次调用功能块:初始化环境初始化轴实例运动控制;使用C/C++开发时的流程也类似,但API调用的每一步都必须遵循以下顺序:功能块变量声明功能块实体创建调用功能块。具体流程将在后续更新中详细阐述。
鸿科KPA MoDK目前支持的PLCopen运动控制功能如下:
可以看到,MoDK涵盖了PLCopen Part1/part4中的大部分功能块,并且具有性能优异的路径生成器,使得控制环路小于1ms,可以满足大多数应用需求。鸿科KPA MoDK特点
1
鸿科MoDK基于鸿科KPA自主研发的可扩展的OSAL(操作系统抽象层)。只要使用不同的OSAL库文件编译,就可以在多种操作系统下运行。
2
最多支持三轴联动。点对点轴控制理论上不限制轴数,仅取决于操作平台的性能。
3
控制环路时间低于1ms,并且具有出色的路径生成器。
4
Motion功能按照PLCopenpart1/part4标准编写,可集成到虹科KPA Straton环境中,使用PLC语言进行编程,上手更简单。它还可以脱离Straton环境,提供使用计算机语言开发的C/C++库形式的开发套件。
5
支持红科KPA matser 1.x/尚不支持2.x版本。
6
支持3类对象的控制:仿真虹科KPA操作环境内部仿真(纯文本参数仿真)/Vrep机器人仿真平台/ECAT CiA402设备。
7
可以在Studio中的Motion Configuration Utility中配置初始化参数,以减少初始化过程中的代码量,并且可以在运行过程中动态调整运动参数(如速度、加速度和加加速度)的最大值。
8
C/C++开发提供了22个演示程序,涵盖了运动的大部分功能。使用CMAKE设置参数进行编译,可以获得不同平台和操作系统下的工程文件,可以直接演示。