在建立通道时有好多的选择,如modbus ascii serial 、modbus ethervnet、modbus plus、modbus unsolicited serial,我现在想用modus rtu通讯,如何选择如何做?
具体点:如果我想用功能码实现多个寄存器的写如何在kepserver里设置?
问题补充:
查了点资料,在建立通道的时候选择modbus serial,但还是不知道在建立device和相应的tag时如何弄,按常识如果要往连续的寄存器中写数据用功能码16,然后通过串口发送字符串:
比如对第17个从站设备的4002,4003地址写入数据000A,0102
例子(Hex):
从站地址: 11
功能码: 10
开始地址高位: 00
开始地址低位: 01
寄存器数量高位:00
寄存器数量低位:02
字节数: 04
数据高位: 00
数据低位: 0A
数据高位: 01
数据低位: 02
CRC校验: --
在Kepserver里应该怎么弄?
最佳答案
按向导做,很简单的。
1.创建Device:Channal -> New Device ,Device Mode选为Modbus,Device ID就是Slave地址,其他的全部默认就可以了。
2.创建Tag:Kepserver无需考虑如何发送功能码,直接建Tag就是了。关键在于如何填写Address。Kepserver提供快速选择工具用于组态Address,如果你对Modbus熟悉,你会发现与Modbus寻址方式是一致的。
--------------------------
输出线圈:000001 - 065536
输入线圈:100001 - 165536
内部寄存器:300001 - 365536
保持寄存器:400001 - 465536
补充:下面是一些地址填写的举例
访问输出线圈000001 Address: 000001
访问输出线圈从000001开始连续10个 Address: 000001#10
访问保持寄存器400001 Address:400001
访问保持寄存器从400001开始连续10个 Address:400001 [10]
提问者对于答案的评价:
经过测试,确实是这么回事,谢谢!!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276614.html