搜索
搜索
ProU
/
/
ProCon运动控制库-有效解决运动控制卡的实时性短板

ProCon运动控制库-有效解决运动控制卡的实时性短板

  • 分类:应用文档
  • 作者:
  • 来源:
  • 发布时间:2021-09-18 21:08
  • 访问量:

【概要描述】ProCon运动控制库-有效解决运动控制卡的实时性短板 随着机器视觉、与周边仪器、设备高性能交互、数据采集等需求,基于PC的机器控制逐渐成为行业主流。而目前最常见的方案是基于运动控制卡,已经有30多年的发展历史。

ProCon运动控制库-有效解决运动控制卡的实时性短板

【概要描述】ProCon运动控制库-有效解决运动控制卡的实时性短板
随着机器视觉、与周边仪器、设备高性能交互、数据采集等需求,基于PC的机器控制逐渐成为行业主流。而目前最常见的方案是基于运动控制卡,已经有30多年的发展历史。

  • 分类:应用文档
  • 作者:
  • 来源:
  • 发布时间:2021-09-18 21:08
  • 访问量:
详情

ProCon运动控制库-有效解决运动控制卡的实时性短板

 

第一部分

 

随着机器视觉、与周边仪器、设备高性能交互、数据采集等需求,基于PC的机器控制逐渐成为行业主流。而目前最常见的方案是基于运动控制卡,已经有30多年的发展历史。

 

运动控制卡的本质是将嵌入式控制方案塞进了PC,并通过PCI/PCIe总线与PC交互。其优点是和机器控制的其他软件模块有效整合,使用标准化的C#,C++等高级语言开发运动程序。

 

但是一些对机器运行有较高实时性、稳定性要求的应用,可能会暴露运动控制卡的实时性能短板。

 

比如一些设备的分割器模块,分割的距离如果由感应器读取,用户程序可能会丢失传感器的到位信号。

 

对于更加复杂的系统,基于运动控制卡系统的性能短板可能暴露的更加明显,这是一台异型电池叠片机的CT统计,当设备连续的运行时,可以看到CT偶尔的剧烈抖动(绿色数据),从之前机器长期的运行数据分析来看,这种抖动会对产品良率带来不利影响。

图表描述已自动生成

 

运动控制卡的实时性能问题是由其原理决定的,整个机器的上位机程序运行在Windows中,对于需要稳定的高频率的应用,用户程序容易受到Windows线程分配的影响而增加用户程序执行的不确定性,也就是系统实时性不佳。

 

 

 

第二部分

 

对于用户系统来说,严格意义上的实时性是指:用户任务能够稳定的进入设定执行周期被执行。如果用户设定的周期可以稳定在某个值,就说明系统具有实时性。ProCon通过实时操作系统(RTOS)将CPU的一个或多个物理计算核心专门执行ProCon用户任务,以实现用户系统的实时性。ProCon实时环境会分配物理CPU的资源时间片,CPU会在每个时间片确定的执行一次用户任务。

用户程序在ProCon实时环境创建线程时可以设计线程的周期和优先级,系统会自动根据周期和优先级合理的分配任务执行。

 

以下我们通过具体的例子说明。为了方便理解,我们假设系统只有两个任务,一个是ProCon系统任务,一个是用户任务(针对具体的应用来说,一般会有多个不同优先级的用户任务)。时间片设置为1ms。

图形用户界面, 网站描述已自动生成

如图a,“系统任务”的线程优先级要高于“用户任务“,所以会优先执行。当“系统任务”执行完毕后时间还不到设定的周期时间,因此会接着执行优先级次之的“用户任务”。假设用户任务比较复杂,执行到70%时已经到了执行周期,此时CPU会中断用户任务,并开始第二个周期。在第二个周期起始处,仍然会执行系统任务,然后执行用户任务第一遍未完成的部分。假设完成时还不到周期时间,CPU会空运行到周期结束位置。

 

由此,用户任务的周期为稳定的2ms,第1、3、5ms…执行一次。系统任务的周期是1ms。CPU的某一个核心会根据以上流程周而复始的运行。一般来说,由于由于现代PC的CPU的运算能力越来越强,系统任务(总线、运动算法、实时通讯等)不会超过CPU运算量的10%。用户可以根据项目选择合适的用户周期。CPU的其他运算核心,继续由Windows管理,处理网络、HMI界面等非实时任务。

手机屏幕截图描述已自动生成

通过ProCon实时环境和与之对应的运动控制、通讯库,用户可以实现稳定、高性能的机器控制。

 

以下通过ProCon运动控制库与传统运动控制卡的对比实验,能够更清楚的说明两种方案对于某些效率、稳定性敏感应用的巨大差异:

 

图形用户界面描述已自动生成

我们在一个系统里同时部署运动控制卡与ProCon运动库

由于运动相关参数干扰因素比较多,我们选择更容易区分差异的逻辑控制(IO控制),运动控制卡和ProCon执行相同的输出IO读取IO翻转IO读取IO的动作并循环执行。循环执行约八万次。

 

通过每次循环的时间记录可知,几乎所有的ProCon运动控制库管理的IO 都在1ms内刷新完成,而运动控制卡的刷新周期分布在1ms,2ms…甚至是10~20ms等多个区间。

 

对于一些的应用来说,稳定的控制周期是设备稳定和效率的前提。ProCon的出现,本质上填补了运动控制卡与传统PLC在控制稳定性上的差距。

 

传统的基于实时环境的程序开发,只支持C++和C语言。经过ProU团队与德国实时系统专家的不懈努力,ProCon迈出了关键的一小步:现在支持用户使用C#开发兼容实时环境与Windows的机器程序。

图形用户界面描述已自动生成

 

 

第三部分

 

不仅是运动与逻辑控制,PC-based控制器作为整个机器的控制核心,经常需要与周边系统建立稳定的通讯链接,如各种传感器、机器人、工业相机等。目前行业内的通讯大多基于Windows执行,某些应用可能也面临实时性的问题,特别对于CT要求快和稳定的设备来说,则更加敏感。在ProCon实时环境中,我们也提供了实时通讯通讯库供用户调用,如常见的Modbus TCP,Gige协议等,支持用户打造基于PC的全实时控制系统。

以下,是ProCon实时环境与Windows环境的 TCP通讯周期统计数据对比。(实验通讯对象为东芝SCARA机器人)

日程表中度可信度描述已自动生成

 

ProCon推荐用户开发基于Windows和基于实时环境相结合的机器程序。事实上,类似HMI,一般的机器视觉应用以及对实时性要求不高的运动和逻辑控制等,放在Windows上执行是比较合适的。运行在Windows上的程序可以通过共享内存的方式与运行在实时系统的程序交互。

 

综上,ProCon运动控制库具备以下特点:

 

  1. 支持常见的高级语言开发兼容实时环境与Windows的机器程序
  2. 与运行在Windows上的程序模块简单、高效的交互
  3. 实现基于高级语言的全实时机器控制——即使是功能强大的运动控制卡,用户可以写入部分脚本、C等用户程序,由运动控制卡上的嵌入式CPU直接计算以实现较高的实时性。但是,一方面受限于嵌入式CPU的运算性能有限。另一方面,并不能将机器对实时性要求高的整体控制纳入实时系统的管理之中,如视觉引导,与周边设备(传感器或机器人)通讯等。

 

 

 

 

 

第四部分

 

对于高性能的机器运动和逻辑控制,纯软件方案的EtherCAT周期可能会带来机器性能的瓶颈,方案上也难以实现全闭环、位置比较等高级逻辑和运动控制功能。正如计算机大师Alan Kay所述,“对待自己软件产品认真的团队,应当制造自己的硬件”。ProU团队在2019年开始考虑设计合适的PC-based控制器硬件。今年,我们将发布ProCon T系列硬件--跨时代的PC-based控制器。

图形用户界面描述已自动生成

 

T是性能强悍的运动控制器:支持8路6MHz脉冲运动控制+8路6MHz差分信号编码器输入+EtherCAT总线128轴运动控制+8路200KHz脉冲运动控制+8路200KHz高速输入。最重要的—以上本地脉冲输出和输入由FPGA管理,FPGA直接进入实时系统与用户程序交互。因此控制器的本地脉冲和快速IO不会受到EtherCAT周期和Windows运算实时性的影响,非常适合高性能的机器控制需求。

 

T亦是强大的机器视觉基础设施:8个千兆以太网(2个可选万兆以太网口),4个独立USB 3.0。用户可选9代intel i3~i7 CPU,为用户机器视觉任务提供澎湃的计算动力。

 

我们注意到不少用户对精确、柔性、高性能的线体控制需求,T是面向未来的“线体控制器”:内置EtherCAT从站,支持多控制器组网。实现1ms±30µs 高精度数据同步,同时大幅度减少车间布线的时间和材料成本。

图片包含 室内, 电脑, 男人, 桌子描述已自动生成

通过不断的微小创新,ProU团队希望解决用户当前的应用难题,为PC-based机器控制领域做出贡献。

关键词:

扫二维码用手机看