2023年12月8日

荐读丨从Modbus开始说现场总线

作者 admin

本书沿袭上一篇文章,

 

如果您还没有阅读开头,请点击下面的链接

从Modbus说起现场总线(五)

前面介绍了Modbus串行总线,也提到了485/422的终端电阻问题,Profibus DP的影子也出现了。 按照工控网站的火爆程度,应该说Profibus DP,但转念一想,既然从Modbus入手,那还是先说说Modbus Plus吧。 就个人体验而言,Modbus Plus在操作系统上有点像Mac OS(苹果电脑的操作系统)。 功能丰富,使用方便,运行稳定,认真学习,你会掌握所有的网络基础知识,而且不会觉得复杂,因为Modicon对各个部分都封装的很好,资料完整准确。 不过不开放,但是可以做 Modbus Plus第三方设备没有那么多,只有Prosoft,Novatech…

大概是用Modbus Plus通讯,基本就这么几个步骤:按要求接线,设置地址,配置通讯,处理数据。 (好像其他公交车也是这样。。。)

Modbus Plus以1Mbps的速率在RS485总线上运行令牌总线网络,实现了具有一定延时的网络通信,在当时的技术条件下还是很不错的,基本可以满足监控的要求。 在实际使用中,也可以实现每秒2000个寄存器(16bits)的通信效率。 对主机的实时监控就足够了,而且由于通信是由硬件处理的,不会增加计算机的负担。 当时的Windows系统下,电脑经常死机。 这很正常,但我必须专门编程才能判断电脑死机。

Modbus Plus还支持光纤等多种通讯介质,可以组成更复杂的网络:

工控自动化设备_工控现场总线设备_high总线上的未知设备/

图1

Modbus Plus单个网段支持32个节点,单个网络(即如果同一网络超过32个节点需要加中继器)支持64个节点,所以地址设置为1~64,路由信息由5个字节组成,所以最多可以跨4个网络进行通信…所以repeater(中继器,仅用于信号增强,在软件中是透明的)gateway(网关连接两个Modbus Plus网络,每个网络都有一个地址),bridge( Net bridge,连接两个不同的网络,例如Modbus Plus和Modbus)等概念都会用到。 举例如下:

工控自动化设备_high总线上的未知设备_工控现场总线设备/

图 2

在电脑上使用时,还要注意每台电脑支持两张Modbus Plus通讯卡,所以在软件设置里也有卡号设置,老电脑里有中断和内存地址设置。

在软件中,有一个类似于以太网口的概念,叫做路径,可以区分同一节点内的不同通信内容,这些都会在通信配置和编程中用到。

Modbus Plus 的故障排除也非常简单。 主要故障可以通过LED的闪烁频率来判断:如果没有连接,则闪烁3次停止,每秒闪烁6次则正常工作。 其余见下图:

工控现场总线设备_工控自动化设备_high总线上的未知设备/

图 3

对于一些电磁干扰引起的通讯不稳定,可以通过驱动工具或编程读取各种网络通讯数据来判断。

工控自动化设备_工控现场总线设备_high总线上的未知设备/

图 4

总之,Modbus Plus是一种高效、可靠、易用的现场总线,与Modicon PLC一起在现场得到广泛应用。 不管是什么原因,现在用的越来越少了。 原因和大家讨论的PLC标准差不多。 一定有很多原因。 开放和专注,就像微软和苹果的命运一样,各有起伏。 作为一名工控,工程师的意见对技术和市场的走向未必起决定性作用,但无论如何,不​​同的产品和技术都会给我们留下独特的记忆。

从Modbus谈现场总线(6)

前面介绍了Modbus和Modbus Plus,继续介绍Modbus相关的TCP-Modbus。 这三种总线的应用层协议都是Modbus,但是通过不同传输机制和介质的升级,Modbus这个词一直活跃在工业领域。

TCP-Modbus是运行在TCP/IP上的Modbus报文传输协议。 通过该协议,控制器之间可以通过网络(如以太网)和其他设备进行通信。 与Modbus的关系如下图所示。

工控自动化设备_high总线上的未知设备_工控现场总线设备/

你熟悉吗? 惊不惊? 之前也出现过类似的画面。

IANA(Internet Assigned Numbers Authority,互联网分配号码管理局)为Modbus协议分配的TCP端口号为502,这是设置网关和防火墙时的必要参数。

TCP-Modbus也是一种开放协议,所以市面上的网关也很便宜,可以轻松实现不同网络的互联,尤其是Modbus,基本上是“脱下马甲”(去掉TCP包头),加上检查代码。 好的。 框架格式如下图所示(第一篇文章中已经出现,复习一下。)

工控现场总线设备_high总线上的未知设备_工控自动化设备/

ModbusTCP数据帧:

事务处理标识:一般在每次通信后加1,以区分不同的通信数据包。

协议标识符:00 00 表示 TCP-Modbus 协议。

Length:指示下一个数据的长度,以字节为单位。

Unit identifier:设备地址(很多软件设置中称为Unit ID)。

ModbusTCP通讯过程如下:

工控自动化设备_high总线上的未知设备_工控现场总线设备/

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一样,传输的是寄存器的值,并没有定义数据的语义,所以读取的大量数据需要发送方逐一校验处理,会带来现代控制系统中的很多工作量和设置也是手动设置的,不是面向对象的嵌入式技术,这限制了它在大型系统中的效率。

来源/工控网工控论坛