ProCon—开启基于PC控制系统的2.0时代
从ProU团队多年在基于PC控制系统的应用和开发经验来看,如何提高基于PC的控制系统的稳定性,降低开发难度门槛,并支持不同类型工程师的编程习惯,是拓展基于PC的控制系统应用领域的关键一跃。
从2015年开始,我们创新的将日系梯形图和C语言带入PC世界,解决了部分客户的痛点。2019年初,我们将API运动函数接口开放给客户,工程师可以在C#或C++程序中调用ProU提供的YKCAT运动控制函数,操作PC的以太网口实现EtherCAT运动控制或winPLC上的脉冲接口实现脉冲控制。
ProU团队经过近2年的准备,将API函数调用开发方法提升为灵活、功能强大且免费的开发框架ProCon,打破C#、C++等高级语言开发环境、PLC开发环境以及实时系统的隔阂。
我们的愿景是开启基于PC控制系统的2.0时代。
在已经发布的ProCon S1中,我们带来了几个新特性:
1. 我们将ProU平台上经过大量项目验证的控件库经过改造之后引入ProCon框架,称为YKCon控件库。用户可以通过Microsoft Visual Studio改造YKCon中的控件,重新导入ProCon框架,或者直接导入用户自己的应用程序。
如下图中案例,在YKCon中的CAD控件,用户可以导入或绘制运动轨迹并直接转化为轴的运动数据。用户通过开放的接口对控件进行改造,标准的CAD控件变成了适合点胶行业应用的行业控件:增加点胶相关的示教信息列表,路径和金手指位置的颜色强化等。
自动点位、轴调试也是用户反馈比较常用的YKCon控件:
2. 通过拜访大量的工程师和项目经理,大家更倾向使用梯形图或ST开发设备的逻辑和运动控制功能,而对于机器个性化的示教和显示界面,以及与上位系系的通讯功能,通过高级语言开发的各种控件则更加灵活和易于调试,然而传统方式则需要在两套系统的通讯上花费一定的开发和调试时间。
现在,我们将ProU PLC引入ProCon框架,PLC中使用的“变量”列表可以导出为文件,用户可以将此文件导入到Visual Studio中,并在程序中直接读取或写入。下图右侧为添加进来的变量程序,左侧为程序中对变量进行的操作,用户可以直接进行读取和写入:
这样,ProCon 中的PLC程序模块和高级语言控件可以方便的建立快速、直接的数据链接。
3. 在ProU 软PLC中,用户的PLC以及C语言程序运行在实时系统中(RTOS)中,不仅是用户程序,包括用户程序中调用的EtherCAT协议栈,运动控制算法等等需要稳定运行、快速响应的功能模块,都需要运行在实时系统(RTOS)中以保证系统的稳定和性能。
在ProCon框架中,我们引入了开放的实时环境,用户可以直接使用高级语言开发用户程序。
不同于虚拟机技术(hypervisors)、Windows设备驱动程序或是单片机应用程序,实时系统是一个完整的操作系统,独占Intel CPU运算核心,内存,I/O和中断。实时系统完全独立于Microsoft Windows,是响应重要任务最快和最安全的选择。
如下图所示:
工程师在安装实时系统开发套件后,可以在Microsoft Visual studio中直接开发运行在实时系统中的用户程序(C或C++)。
在实时系统上运行用户程序的最大价值是机器运行时间和稳定性的提高,以下是我们在一个点胶平台上基于同样的伺服系统,与原运动控制卡方案运行一段同样轨迹的耗时对比:
除了缩短系统的Cycle time以及提高系统的稳定性,基于实时系统的用户程序可以实现传统运动控制卡方案不容易实现的功能,比如:
A. 转盘或流水线设备中经常使用的传感器到位信号,传统方案的脉冲信号捕捉容易受到Windows执行周期抖动的影响。实时系统可以实现类似PLC才能实现的稳定的脉冲捕捉功能。
B. 机器视觉领域的用户可以将自己的视觉算法在实时系统中重新编译,通过调用ProCon的实时GigE协议,实现机器视觉功能与设备其他功能模块(如运动控制)的高效、稳定的交互。
C. 运动控制领域的客户可以将自己的机器人,跟随算法运行在实时系统运行,通过调用ProCon中的N轴插补实现更稳定和精确的运动控制。
D. 用户可以将网口、串口由实时系统管理,适用于要求高速及稳定通讯的应用场合。
ProCon框架集成于ProU WinPLC控制器和PCIpro软件解决方案中,并完全免费。我们致力于将PC based控制平台的集成开发和执行效率提升到一个新的维度,未来将在ProCon S2中加入更多强悍的功能和开发方式,敬请期待!