中易网

求助:一个关于modbus的 问题

答案:2  悬赏:60  
解决时间 2021-04-27 15:26
  • 提问者网友:月葬花瑰
  • 2021-04-27 09:28
请教各位大大,我刚接触西门子的PLC,我想问一下,西门子S7-200作为MODBUS从站,V区地址对应的MODBUS地址是什么样子的?比如说我想读取v0.0、v0.1,他们对应的modbus地址是什么呢?在这里先谢谢了!!!
最佳答案
  • 二级知识专家网友:高冷不撩人
  • 2021-04-27 11:00
其中T为S7-200中的缓冲区起始地址,即HoldStart。如果已知S7-200中的V存储区地址,推算MODBUS地址的公式如下:MODBUS地址=40000+(T/2+1);T为偶数我想确认一下T为S7-200中的缓冲区起始地址,即HoldStart=vb0那么我的v0.0、v0.1的地址是不是就是40001和40002
全部回答
  • 1楼网友:我叫很个性
  • 2021-04-27 11:24
你这个不是modbus协议的问题,而是对crc校验的概念不明确,crc是循环的,全称是循环冗余校验码。 针对你的问题,我们举这样一个例子,我们约定校验方式为“累加和为零”,这个简单好理解。 假设现在要发送n个字节的数据,累加和为0xab,按字节累加,抛弃进位, 校验字是这样得到的 0x00-0xab=0x55, 发送方发送n个字节后附上校验字0x55就可以了。 显然,发送的这n+1个字节的“累加和为零”。 接收方收到所有n+1个字节,加起来,检查“累加和为零”就可以了,不用要明确的去检查校验字是不是0x55。使用数据的时候,取n个字节,最后的校验字节丢弃就可以了。 crc与此类似,不过是用多项式除法代替按字节累加而已。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息