提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
倍福凭借其核心技术EtherCAT在全球范围内捕获众多用户,其优良的性能,极具灵活性的扩展能力,都将助力用户提供更大的产品价值。
TwinCAT是基于Codesys技术和基于PC平台的软件技术栈,一个平台实现不同语言的混合编程,向前兼容了工业控制行业日久年深的传统编程方式(梯形图等),向后提供了表现力优良的高级语言(C++)编程方式。
一、TwinCAT概述
TwinCAT平台基础性介绍不赘述,详见官网。Beckhoff Information System - German
1.1 关于NC
以软件开发的角度可理解为用于电机控制的软件中间件,NC位于业务逻辑层和驱动层之间,NC隔离了下层硬件的具体实现方式,向业务逻辑层提供了统一的接口,所以硬件的型号的变更所影响的范围被隔离在了NC中。当然凡事皆有利弊,这样的方式会有效率损失,需要评估效率损失的可接受性。
1.2 关于ST
TwinCAT支持IEC 61131及面向对象的扩展,可使用面向对象所具备封装、继承和多态的特性,提供了更大的灵活性,ST语言固有的语法特性和面向对象扩展的语法特性可以共存。
上述特性的弊端是编程范式可选择性多,如果没有良好的编程规范约束,在多人开发的项目中会带来可维护性低的问题,且随项目体量的递增而越发明显。
1.3 关于C/C++
TwinCAT支持的C++编程方式是具备一定的使用约束,通用平台的C或C++无法直接移植到TwinCAT上运行,TwinCAT底层实现是基于COM组件技术,COM组件技术是为软件传说中的技术(不值得研究),所以通用平台的头文件无法使用,需要使用TwinCAT平台自有的替代实现。
1.4 关于ADS
TwinCAT将ADS通讯应用于平台上各模块间的通讯以及三方应用(如桌面端C#或C++程序)和TwinCAT应用的通讯。这里向TwinCAT平台的产品经理致敬,简约不简单。
二、TwinCAT运行环境需求
2.1 XAE运行环境需求
关于XaeShell:
C++的开发不可以使用XaeShell,需要使用Visual Studio。
C++的开发需要安装WDK用于数字签名,TwinCAT平台下的C++本质是Windwos的驱动程序,驱动程序需要数字签名。
注意TwinCAT版本和开发环境的兼容性,官网有对应的说明。
2.2 XAR运行环境需求
XAR运行环境若运行C++程序,依然需要在XAR环境下安装WDK。
三、倍福硬件类别及使用经验
3.1 倍福硬件类别
3.2 倍福硬件使用经验
使用过P40和P80等级的产品,不考虑计算负载大的业务模块如NC等,单纯的业务逻辑代码在P40和P80上运行的实时性无明显差异。
AMD系列和Intel系列的差异因为无AMD硬件的使用经验,无法评估。
注意对倍福硬件运行环境温度的监控,通风不好会造成系统运行卡顿进而引起软件异常行为。
四、TwinCAT运行于非倍福硬件上的可能性
个人没有实践经验,分享一个TwinCAT达人的网帖抛砖引玉:
总结
未完待续。