一、用Windows工控机开发EtherCAT控制器
我们知道EtherCAT是自动化领域中被广泛应用的一种实时现场总线技术。在控制器端,EtherCAT主站通常运行在实时操作系统上。比较常见的实时操作系统,如商业版的风河系统Vxworks和QNX,开源的Linux RT Preempt 和Xenomai,以及国产翼辉实时系统都有相应的EtherCAT主站协议栈可供客户选择。Linux RT Preempt和Xenomai的比较同样是客户经常提及的问题,我们在后续有专门的短文讨论,在此不赘述。
在操作系统的选择上,我们遇到相当一部分控制器生产厂商,他们一方面有在Windows系统上多年研发的应用在市场上销售,另一方面对控制精度的要求和对实时现场总线技术的需求都在逐步增加。对这部分厂商来说,在运行Windows系统的工控机上尽量简单的增加EtherCAT主站协议,并能继续使用他们熟悉的Visual Studio开发环境,是他们把现有应用和EtheCAT功能相结合的最理想的解决方案。
还有另外一部分厂商如KUKA机器人,既需要实时系统保障实时现场总线的性能,也需要Windows环境下友好的用户界面带来高质量的用户体验。当然,Windows系统上应用开发工程师的数量优势和价格优势,同样是很多厂商在设计新一代产品时重要的关注点。总之,我们有足够的理由相信,在运行Windows系统上开发支持EtherCAT主站的控制器,是市场上实际存在的需求。
但是很可惜,Windows不是实时操作系统,所以我们工控机上启动EtherCAT主站之前,还需要再多做些工作。或许在这里需要特别强调一下,我们说Windows不是实时系统不是因为Windows不够快。如果我们极端一点,实时性和运行速度快慢没有多大关系,实时性强调的是时间上的确定性。我们没有办法让标准的Windows7 或者Windows 10系统保证在一个确定的时间间隔内完成一个任务,所以Windows不是实时操作系统。实时系统的确定性问题,我们同样留到之后的短文讨论。

本文探讨了如何在Windows系统中开发支持EtherCAT的控制器,介绍了两种解决方案:LxWIN利用LinuxRTPreempt作为实时环境,提供图形化配置和VisualStudio开发环境;而EC-WIN则采用精简的RTOS-32系统,适用于对精度和性价比有高要求的场景。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



