时间:2020年12月05日 分类:电子论文 次数:
摘要:采用ADS通讯协议,以VisualStudio和TwinCATPLC控制软件为开发平台,通过实验验证通讯模块的基本配置以及通信性能的稳定性,实践证明,该种通信方式符合软件通信的要求,系统性能稳定,为后续的上位机软件开发奠定了基础。
关键词:EtherCAT;ADS通信;TwinCATPLC
1EtherCAT协议EtherCAT(EthernetforControlAutomationTechnology)是一种基于以太网的实时工业现场总线通信协议和国际标准。它具有高速和高数据有效率(dataratio)的特点,支持多种物理拓扑结构。[1]符合该总线的主站采用标准的以太网控制器,通过5类非屏蔽双绞线进行传输交互,物理层上使用网络接口卡集成功能。EtherCAT主站通过纯软件实现,一种是倍福公司自行研发的TwinCAT自动化编程开发软件,另一种是基于NDIS的主站以及基于实施扩展的主站[2]。
2ADS通讯协议
2.1ADS概述
TwinCAT是一款由BECKHOFF自主设计开发的软件,有控制编程以及可视化操作的功能。不单单适用于Windows操作系统而且还不需要其他的硬件来支持,将非实时系统改变为实时性系统,适用于高性能、高精度的控制任务。TwinCAT可通过对象类别扩充组件或者动态链接库等方式访问自主设计的人机界面,而且可通过传输控制协议/网际协议等实现远程访问。
ADS通讯是通过调用动态链接库文件的方式实现TwinCAT控制器与上位用户界面通信的协议[3]。TwinCAT系统中,包括TwinCATPLC、TwinCATNC、Windows应用程序等的工作模式类似于硬件设备,相互之间可以独立工作。模块之间的信息交换通过ADS完成。ADS(AutomationDeviceSpecification)自动化设备规范,为设备之间通讯提供路由[3]。
2.2ADS通讯方式ADS以传输控制协议/网际协议为基础,相当于网络通讯协议的应用层。属于ADS设备通讯使用多种方式,每一种方式都有它独特的亮点。异步方式(Asynchronous)——Client一边持续自己的输出工作,一边向Server发送传输请求。Server把请求处理后,使用Call-back函数的方式重新发给Client。通知方式(Notification)——Client向Server发送传输请求,Server使用Call-back函数的方式不断向Client发送响应,直到Server中止这个请求。
2.3上位机和PLC接口TwinCAT提供多种接口组件用于ADS通讯,ADS.NETComponent、ADS-OCX、ADS-DLL。TwinCATADS访问的其中一种方式是地址方式——一个PLC变量的地址由两部分组成:分组索引和偏移量索引:分组索引是用来区别寄存器的类型,是一个常量,。偏移量索引是变量的偏移地址,可以确定在PLC中为变量的地址。另一种方式是变量名方式——在TwinCATPLC程序里边中任意变量都有一个专属句柄,使用变量名访问变量首先捕获它的句柄,然后读写操作,最后释放句柄。
3通讯模块设计
总体设计:设计使用VS2017的MFC模块,实现实验板通过记数方式点亮LED流水灯以及按键显示的设计面板。设计面板中用到的PLC程序中任意变量以文件方式存放在上位机中,根据变量名称获取变量地址信息。为了得到相应PLC变量的句柄,使用接口函数“AdsSyncReadWriteReq”,上位机软件对PLC进行数据读写。在运行时需要将PLC程序与开关量模块的物理地址完成关联,在TwinCAT的SystemManager下将I/O变量实现链接。实验运行界面。
通信论文范例:面向5G通信的射频关键技术研究
结束语
为了实现上位机软件与实验板通信端口的数据传输,通讯程序以VisualStudio作为开发平台,设计了基于C++程序与TwinCATPLC程序之间的传输模块,采用ADS通讯协议通信。通过实验证明,通讯模块设计合理,数据传输正常、效率高,能够实现人机界面以及控制系统的数据交互,为后续的上位机软件设计奠定了基础。
参考文献
[1]郇极,刘艳强.工业以太网现场总线EtherCAT驱动程序设计及应用[M].北京:北京航空航天大学出版社,2010.
[2]吴丽菲.EtherCAT在实时系统下的实现[D].广州:华南理工大学,2014.
[3]Beckhoff.嵌入式PC从入门到精通[R].德国倍福自动化有限公司,2009.
作者:姬宁博李高益王冠