当前位置:
工控论坛
> >
产品
>
工业互联
>
现场总线
>
Modbus
我要发帖
求助modbus的lrc算法
点击:
2129
| 回复:
4
szais
关注
私信
精华:0帖
求助:0帖
帖子:3帖 | 7回
年度积分:0
历史总积分:19
注册:2001年11月23日
发表于:2002-07-10 20:21:00
楼主
lrc算法通过vc来编写,是按照手册上的例子来做的,可惜结果就是不对。有哪位高手知道到底该怎样写,有例子吗?
分享到:
收藏
邀请回答
回复楼主
举报
szais
关注
私信
精华:0帖
求助:0帖
帖子:3帖 | 7回
年度积分:0
历史总积分:19
注册:2001年11月23日
发表于:2002-05-28 14:53:00
1楼
没有人知道吗? 有一例子: 某命令串为":010200000001FC" 其16进制为“3A 30 31 30 32 30 30 30 30 30 30 30 31 46 43 0D 0A”。其中第一个为起始符,2-13为数据,14-15即“FC”为LRC校验码,有人能告诉我FC是如何算出来的吗?
回复
引用
举报
leef
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 1回
年度积分:0
历史总积分:7
注册:2002年6月11日
发表于:2002-06-18 10:58:00
2楼
01+02+00+00+00+01=04; 取2的补码100-04=FC
回复
引用
举报
远 方
关注
私信
精华:1帖
求助:0帖
帖子:18帖 | 401回
年度积分:0
历史总积分:561
注册:2002年1月29日
发表于:2002-06-19 09:10:00
3楼
命令串就是十六进制数吧??? 楼上兄弟讲的很对,LRC的定义为: LRC侦误值及是将第一至最后一个资料内容加总,得到之结果以256为单位,超出之部分去除(例如得到之结果为十六进位128H,则只取28H),然后计算二次反补后得到之结果即为LRC侦误值。 如果你的程序有问题,你可以单步看看每步算得是否对,可能位操作会容易出错。
回复
引用
举报
bevans
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 4回
年度积分:0
历史总积分:4
注册:2002年7月10日
发表于:2002-07-10 20:21:00
4楼
LRC 看来就是所谓的零校验了。
回复
引用
举报
热门招聘
相关主题
关于MODBUS寄存器地址的怪异...
[8634]
有无必要使用总线及何种总线...
[3331]
计算机网络通讯传输介质有几...
[2181]
e网到底?
[1777]
关于CAN总线中COB-ID,Can-ID...
[2382]
PROFINET基本知识
[3221]
你们量过电脑串口电压吗? 为...
[3708]
使用WinCC实现远程网络IO控制...
[9007]
施罗得PLC控制自动售货机梯形...
[6753]
哪位知道,三相交流伺服电机工...
[18889]
官方公众号
智造工程师
客服
小程序
公众号