问题描述
例如一字符串如下:“ST=91;PW=123456;MN=88888”这是待发送的字符串,采用modbusASCII模式很好处理成字节数组、但是采用RTU模式该如何进行处理呢?还有可不可以将MODBUSASCII模式,转换为MODBUSTCP模式?
解决方案
解决方案二:
顶一下先~~
解决方案三:
没人来给解释解释吗?听君一言胜读十年书啊
解决方案四:
RTU模式发送的是16进制数的字节数组啊MODBUSTCP就是RTU前面加了6个字节,后面去掉了CRC校验,其他的没有区别
解决方案五:
字符串转byte数组用System.Text.Encoding.GetEncoding("GB2312").GetBytes(string)和System.Text.Encoding.GetEncoding("GB2312").GetString(byte[])互相转,其中的GB2312可以替换成UTF-8等,发送端和接收端转码方式要一致
解决方案六:
另,你给出的发送字符串,根本不是modbusASCIImodbus协议有自己的规则,你随便弄个字符串从串口发出去,根本用的不是任何协议
解决方案七:
上面代码是将待发送的字符串,按每个字符转换成字节数组(默认是ASCII编码),这应该是modbusASCII模式吧?这段代码是先把整数123456存在字节数组中,RTU模式是每个字节表示0~255的整数大小吧?然后再将字符串编码在字节数组,最后再将这两个字节数组合并为一个字节数组,这样的模式是RTU模式吗?
时间: 2024-09-03 00:47:45