如何编写modbus通讯协议详解 在一个modbus网络中怎样实现两个主站和多个从站通讯,有没有相关模块可用?

[更新]
·
·
分类:互联网
4360 阅读

如何编写modbus通讯协议详解

如何编写modbus通讯协议详解 在一个modbus网络中怎样实现两个主站和多个从站通讯,有没有相关模块可用?

在一个modbus网络中怎样实现两个主站和多个从站通讯,有没有相关模块可用?

在一个modbus网络中怎样实现两个主站和多个从站通讯,有没有相关模块可用?

首先说说modbus协议,主要分为三种:

1.串口为Modbus RTU,Modbus ASCII,常用串口为RS232/RS422/RS485。

2.针对网络端口:Modbus TCP,常用的网络端口是RJ45。

3.用于Modicon的Modbus Plus。

Modbus RTU和Modbus ASCII采用异步串行传输,Modbus TCP基于TCP/IP协议。

Modbus是半双工通信,采用主从式通信,同一时间只能有一个主站存在。因此,可以实现主题提到的两个主站和多个从站之间的通信。如果用Modbus RTU通讯,可以用继电器切换不同的从站。当然,还有其他方法。

Modbus Plus是一种高速令牌网络。令牌可以在站之间快速传输。谁得到令牌,谁就是主站。所以也解决了多主站多从站的问题。但由于这是Modicon的专用协议,不开放,对于开放的Modbus协议也无法实现。

一般来说,Modbus通信常用Modbus RTU和Modbus TCP,Modbus RTU读写需要轮询。Modbus TCP采用客户机/服务器模式,允许网络上有多个客户机。

所以针对题目的要求,我们最简单的办法就是将Modbus RTU协议转换成Modbus TCP协议。那么如何改造呢?很多厂商都有相应的协议转换网关设备,可以实现这个功能。比如常用的艾草。

比如MOXA的MB3170可以集成Modbus TCP、ASCII、RTU设备甚至多主多从的混合网络,包括串行主到串行从,或者同时到以太网主。

通过该网关设备,多个主设备可以同时访问从设备。因为我们用的是TCP/IP协议,对应的是多个客户端同时访问多个服务器的模式。

Modbus是典型的一主多从。使用串行线路时,同一时间只有一台设备可以发送消息。在其他协议中,多主站是以令牌的形式实现的,主站就是令牌。沟通相当复杂。

如果需要实现多主站,建议先转换成网口,再进行通信。让第三方设备调整modbus引起的。

目前台达DX2100/DX2300在一定程度上可以满足这种应用。

如何用PC机通过modbus协议与PLC通信,并记录通信数据?

高级语言使用串行通信,MODBUS是最简单的总线对话协议。讨论,详细格式可以在网上找到。

PLC也应该支持MODBUS,也可能在PLC中编写一个响应程序。