点击【 大 中 小 】,可以选择字体的大小,以便你阅读.
关于MODBUS协议问题
请教一下MODBUS协议到底有多少种?很多号称支持MODBUS协议的PLC。 触摸屏互相连接根本也连不上呀。
以下是对《关于MODBUS协议问题》的回复:
匿名回复:
触摸屏支持么,还有你的设置对么
匿名回复:
支持。PLC是LG K120S的。文本是浙大中自的。设置我试过了。9600 19200 奇 偶 无校验都试了。
匿名回复:
软件方面,标准的modbus有RTU和ASCII两种协议,先看这个两边能不能对上,其次看一下modbus的站号对应。在触摸屏方面要注意搞清楚其标签地址的组态格式。
再看通讯电缆,按照两边的接线图,RxD接TxD,TxD接RxD,GND接GND,一般这三脚就可以了,但有些设备可能需要RTS和CTS信号,这时候通常情况下将本设备的RTS接到CTS上就可以了。
再看通讯参数,两边的串行通讯参数一定要对应上。
要都作了,没有理由通不上的。
另外,通讯错误在触摸屏方面一般有提示信息的,可以看一看
匿名回复:
对了,你可以到国产PLC论坛去,版主发了一系列的Modbus说明
匿名回复:
谢谢。我试了RTU了。没试ASCII的。在试试。
匿名回复:
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
匿名回复:
ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。
匿名回复:
彻底败了。连接不上。理论可能没问题。可能连接上了,地址也对应不上。
匿名回复:
文本显示器的站点号要和PLC的一致,选择RTU,波特率和奇偶校验也要对应上。
匿名回复:
有部分设备虽然宣传支持modbus,但是协议不标准,有的只是支持了一部分modbus协议,建议楼主可以用串口工具测试一下,发送标准modbus功能码协议帧,看看设备是否有响应。
匿名回复:
好的,谢谢!有空再试试。
匿名回复:
标准modbus功能码协议帧具体是什么?返回应该是什么?多谢
匿名回复:
关于MODBUS通讯的问题其实大部分都是因为某种原因厂家的设计不统一,最多的是浮点数据的处理方式,同一个RTU协议,不同厂家的产品编码方式也有不同,例如32位浮点,有低位在前,也有高位在前的,还有就是寄存器地址有的设备启始地址不统一,你用调试工具观察通讯的信息,试试就出来了.
匿名回复:
以RTU方式读取整数据的例子
主机请求
地址 功能码 第一个寄存器的高位地址 第一个寄存器的低位地址 寄存器的数量的高位 寄存器的数量的底位 错误校验
01 03 00 38 00 01 XX
从机应答
地址 功能码 字节数 数据高字节 数据低字节 错误校验
01 03 2 41 24 XX
匿名回复: