简述腾控ENET协议及编程示例
出处:王铁钢 发布于:2011-08-23 20:57:26
根据我们初的想法,我们构造了目前的可编程控制器和扩展系统。一个系统,网络通信十分重要,我们的通信模型实际就是网络通信模型,对于一个复杂的系统而言,通信模型非常重要。而我们要在这里仔细论述腾控PLC的网络通信。
我们整个网络系统是构建在TCP/IP网络之上的。在系统中,有作为服务器使用的数据的产生者,作为客户端数据的使用者和存储者。我们采用的是C/S模型。考虑到与外部接口,要有开放的协议。所以我们在控制器侧要支持2种协议。一种是标准的MODBUS TCP协议,主要是控制器与上位机通信,控制器作为服务器使用。TCP协议开销比较大,这样可以提供给客户一个标准的接口,几乎所有的软件都支持MODBUS协议和MODBUS TCP协议。一种是是UPD协议,PLC内部通信的协议,UPD协议是无连接的协议,开销比较小,可以支持无限制的客户端数量,这样可以达到较高的通信速度。
MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。显而易见,它覆盖了使用TCP/IP协议的 “Intranet”和“Internet”环境中MODBUS报文的用途。协议的通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或 I/O模块的网关服务的。
我们把内部的通信协议称之为ENET协议,服务器协议端口为7000,每个T9系列都支持ENET的服务器。具有运算能力的T9系列控制器支持ENET的客户端,多同时可以发起8个通信。
我们首先定义PLC间内部通信,PLC间通信通过中间变量进行,力争在一个通信报文中完成所有的变量交换,我们定义了
功能码1:读中间变量,功能码2:写中间变量,功能码3:读写中间变量。
对于远程I/O:我们定义了6种功能码
功能码4:读开关量输入,功能码5:读开关量输出,功能码6:读写开关量输入输出,功能码7:读模拟量输入,功能码8:写模拟量输出,功能码9:读写模拟量编程方式
为了方便用户编程,我们抽象了网络通信,做到让用户编程为简单,定义了ENET通信的功能块,功能块如下图
EN通迅使能端,上升沿有效,激活时将启动本次通迅,断开时结束本次通迅,布尔类型;IPAddr:要通迅的控制器IP地址,字符串类型;RW:通迅使用的功能码,字节类型,共九种功能码;MRAddr:本机读数据存放地址,单字类型;YRAddr:远程读数据存放地址,单字类型;RLength:写操作的数据长度,单字类型;MWAddr:本机写数据存放地址,单字类型;YWAddr:远程写数据存放地址,单字类型;WLength:写操作的数据长度,单字类型;TimeOut:通迅超时时间,单字类型(单位:10ms);ENO:输出使能,布尔类型;Done:通迅状态,布尔类型,True为正常、False;为错误ErrMsg通迅状态码,0为正常
编程示例
只要把这个功能块使能,指定服务器的IP地址,起始地址,读写取长度,本地存储地址,无需用户编程干预,自动运行。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52
- 什么是有机液分析与有机液知识介绍2025/6/7 16:31:44