书接前文,
还未看过开篇请点以下链接
▼
从Modbus开始说现场总线(五)
前面介绍了Modbus串行总线,也提到了485/422的终端电阻问题,也出现了Profibus DP的影子,按工控现场的流行程度说,应该讲Profibus DP了,但想了想,既然从Modbus开始的,还是先讲Modbus Plus吧。个人经验里,Modbus Plus有点像操作系统里的Mac OS(苹果电脑的操作系统)。功能丰富,使用简单,运行稳定,仔细学习,你会掌握所有网络的基本的知识,而且还不觉得复杂,因为Modicon把各个部分封装的很好,资料也完整准确,但是,不开放,能做Modbus Plus第三方设备的,没那么几家,也就Prosoft, Novatech…
大概使用Modbus Plus通讯,基本就这么几步:按照要求接线,设定地址,配置通讯,处理数据。(貌似别的总线也是这样嘛。。。)
Modbus Plus在RS485总线上以1Mbps的速率跑令牌总线网络,实现了确定时延的网络通讯,在当时的技术条件下还是非常不错的,基本上能够满足监视和控制的要求,实际使用中,也能实现每秒2000寄存器(16bits)的通讯效率,上位实时监控足够了,而且因为通讯都是硬件在处理,不增加计算机的负担,在当时的windows系统下,经常是计算机都死机了,通讯还正常,害的我为了判断计算机死机还要特别编程。
Modbus Plus还支持光纤等多种通讯介质,可以组成比较复杂的网络:
图1
Modbus Plus单个网段支持32个节点,单个网络(就是说同一个网络如果超过32个节点要加中继器)支持64个节点,所以地址设定就是1~64,路由信息由五个字节组成,所以可以最多跨过4个网络通信…所以中继器(repeater,只做信号增强,软件上透明)网关(Gateway连接两个Modbus Plus网络,在每个网络都有一个地址)、网桥(Net bridge,连接两个不同的网络,如Modbus Plus和Modbus)等概念都是会用到。举例如下:
图2
在计算机上使用时,还要注意每个计算机支持两个Modbus Plus通讯卡,所以在软件设置时还有个卡号设置,在老的计算机里还用中断和内存地址设置。
软件上,有类似以太网端口的概念,叫path,可以区别同一节点里的不同通讯内容,这些都在通讯的配置和编程中会用到。
Modbus Plus的故障排查也非常简单,通过一个LED的闪烁频率就可以判断主要的故障:没有接线,闪3次停一下,每秒六次快闪就是正常工作,其余见下图:
图3
对于一些电磁干扰引起的通讯不稳定,可以通过驱动工具或编程读取各种网络通讯数据来判断。
图4
总之,Modbus Plus是一个高效可靠、易于使用的现场总线,随着Modicon PLC也曾经在现场大量使用。不管什么原因,现在已经用的越来越少了,究其原因,和大家在PLC标准中讨论的类似,肯定是多方面的原因。开放和专用,也像微软和苹果公司的命运一样,各自起伏不定。作为一个工控人,可能工程师的意见对技术和市场的走向并不能起决定性的作用,但不管怎样,不同的产品和技术,都会留给我们一个独特的记忆。
从Modbus开始说现场总线(六)
前面介绍了Modbus和Modbus Plus,继续介绍和Modbus相关的TCP-Modbus。这三种总线的应用层协议都是Modbus,但通过不同的传输与机制和介质的升级,一直使Modbus的字样活跃在工业现场。
TCP-Modbus是运行在TCP/IP上的Modbus 报文传输协议。通过此协议,控制器相互之间通过网络(例如以太网)和其它设备之间可以通信。和Modbus的关系如下图。
熟不熟悉?惊不惊喜?前面出现过类似的图了。
IANA(Internet Assigned Numbers Authority,互联网编号分配管理机构)给Modbus协议赋予TCP端口号为502,这在网关和防火墙设置时是必备参数。
TCP-Modbus也属于开放协议,所以市面上的网关也很便宜,可以很容易的实现不同网络的互联,尤其是和Modbus,基本上“脱了马甲”(去掉TCP包头)加上校验码就可以了。帧格式如下图(第一篇中已经出现过了,复习一下。)
ModbusTCP数据帧:
事务处理标识:一般每次通信之后就要加1以区别不同的通信数据报文。
协议标识符:00 00表示TCP-Modbus协议。
长度:表示接下来的数据长度,单位为字节。
单元标识符:设备地址(在很多软件设置中叫Unit ID)。
ModbusTCP通信过程如下图:
1.connect 建立TCP连接
2.准备modbus报文
3.使用send命令发送报文
4.在同一连接下等待应答
5.使用recv命令读取报文,完成一次数据交换
6.通信任务结束时,关闭TCP连接
完整的TCP-Modbus通信过程是客户机建立一个连接,向服务器发送3 个MODBUS请求,而不等待第一个请求的应答到来。在收到所有的应答后,客户机正常地关闭连接。
TCP-Modbus的优点是:
用户可免费获得协议及样板程序;
网络实施价格低廉,可全部使用通用网络部件;
易于集成不同的设备,几乎可以找到任何现场总线连接到Modbus-TCP的网关 ;
网络的传输能力强大,100M以太网的传输结果为:每秒4000个Modbus TCP报文,而每个报文可传输125个字(16bit),故相当于4000×125=500000个模拟量数据(8000000开关量!);
缺点呢,就和Modbus一样,传输的是寄存器的值,没有定义数据的语义,所以读来的大量数据需要一个一个和发送方核实处理,这在现代的控制系统里会带来很大的工作量,设置也都是手工设置,不是面向对象的嵌入技术,限制了其在大型系统中的使用效率。
来源/中华工控网工控论坛
往期精彩▼
某种程度上,工控人之间连接最短的距离,只隔着一个小秘书。关注我,即可获得更多资源和资讯。小秘书将带你畅游更广泛的工业智造新世界!
——资讯小秘书
点“阅读原文”查看更多