如何使用modbus协议读取文件
答案:2 悬赏:10 手机版
解决时间 2021-02-15 23:52
- 提问者网友:未信
- 2021-02-15 10:04
如何使用modbus协议读取文件
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-02-15 11:23
modbus协议是用于工业数据通讯的一种对话协议,不适用于文件的读写。
全部回答
- 1楼网友:十年萤火照君眠
- 2021-02-15 12:08
modbus两种协议的编程方法:
1、lrc校验
lrc域是一个包含一个8位二进制值的字节。lrc值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算lrc,并将它和接收到消息中lrc域中的值比较,如果两值不等,说明有错误。
lrc校验比较简单,它在ascii协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它对应的代码:
byte getcheckcode(const char * psendbuf, int nend)//获得校验码
{
byte bylrc = 0;
char pbuf[4];
int ndata = 0;
for(i=1; i>= 1;
wcrc ^= 0xa001;
}
else
{
wcrc >>= 1;
}
}
}
return wcrc;
}
对于一条rtu协议的命令可以简单的通过以下的步骤转化为ascii协议的命令:
1、 把命令的crc校验去掉,并且计算出lrc校验取代。
2、 把生成的命令串的每一个字节转化成对应的两个字节的ascii码,比如0x03转化成0x30,0x33(0的ascii码和3的ascii码)。
3、 在命令的开头加上起始标记“:”,它的ascii码为0x3a。
4、 在命令的尾部加上结束标记cr,lf(0xd,0xa),此处的cr,lf表示回车和换行的ascii码。
掌握两种协议的编程方法,剩下的就是c语言的问题了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯