帧校验序列和 怎么算

每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
售前文档售后文档热门视频系列热门版区售后服务概述自助服务帮助信息
You are here:
奇偶校验与帧校验
热点活动:
奇偶校验与帧校验 - 已解决问题
我现在使用200plc与一变频器通讯,传输格式1-8-2,也就是没有就校验位,使用自由口通讯编程传送数据时,我需要自己计算双字节的帧校验数据连同其它数据一起构成一个消息帧发送给变频器,这样变频器才会执行相应的动作。而我用库编程时只需要在相应地址填写相应数据发送以后变频器也可以执行相同的动作。请问通过以上我是否可以得出以下结论:1,数据格式中的奇偶校验位和消息帧中双字节的校验数据没有关系,不管是否设置了奇偶校验位,消息帧中必须要有相应的校验数据,而且要保证正确性。2,使用库以后,就不需要自己再计算校验数值或者编写相应的计算校验值用的程序了。我以上的判断对吗,请大家给予批评指正。
产品版区:
悬赏分:10 | 解决时间: 08:05:19 | 提问者:& - 新生  第1级
问题ID:52046
1&200PLC不支持1-8-2传输格式2&你的判断是对的。字符校验和消息帧校验是不一样的,一个消息帧是有n个字符组成的。奇偶校验属于字符校验,CRC属于消息帧校验。
顶级工程师  第12级&
以下网友赞了您的问题:
填写您的评论...
提问者对于***的评价:谢谢了,同时也谢谢东方红老师,确实是1-7-2
推荐一下基于MODBUS的无线通讯模块SY-WT6,可以无缝的连接西门子S7-200。大家可以加入工业通讯QQ群:.
5/19/:42 PM
更多相关问题
本版精华问答
等待您来回答
作者/最新回复
最后回复时间
laohuai说的很好,学习了
- 助理工程师  第8级
& 18:06:25
奇偶校验是保证字节接收正确的,帧的校验和是保证消息帧被正确接收的。当然,没有奇偶校验时,帧的校验也能检测出很多字节错误,所以很多场所没有奇偶校验的应用也正常运行。一般应该是1-7-2,或1-8-1,可能是笔误。
- 中级工程师  第10级
& 07:40:06
上一页1下一页&
扫描打开手机版
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找***
在“找***”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到***!
遇到了问题,就来“找***”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找***”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找***”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!多功能电能表通信规约DLT645-1997的校验码是怎么回事,怎么算的?和PLC通信时每次都要算吗?_百度拇指医生
&&&网友互助
?多功能电能表通信规约DLT645-1997的校验码是怎么回事,怎么算的?和PLC通信时每次都要算吗?
拇指医生提醒您:该问题下为网友贡献,仅供参考。
校验码CS:从帧起始符开始到校验码之前的所有各字节的模256的和,即各字节二进制算术和,不计超过256的溢出值。就是从第一个68开始,一直到校验和前面一个字节,将这些值加起来,再除以256,就可以了。一般每帧报文都不完全一样,所以要重新计算。地址域一般表的面板上都有贴,而且每块表都是唯一的,是厂家在出厂前设置的。但如果是测试的电表的话,可以用1、2、3……之类的试试,可能会蒙出来实在不行,将地址域都填写为6个0x99或者6个0xAA,然后组一个召测时钟的码值,看看电表会不会回码
具体怎么计算不知道
肯定每次都要校验啊
不校验怎么知道这条命令对不对呢
加起来除以256? 你去除除看等于多少。。。我这边的用法直接把CS前面的数都加起来(十六进制),取后两位就是CS码。
每次都要算的
向医生提问
完善患者资料:*性别:
为您推荐:
* 百度拇指医生解答内容由公立医院医生提供,不代表百度立场。
* 由于网上问答无法全面了解具体情况,回答仅供参考,如有必要建议您及时当面咨询医生查看: 545|回复: 3
串口通信用CRC16查表法校验,要包含帧头,数据类型和长度吗?
主题帖子精华
初级会员, 积分 103, 距离下一级还需 97 积分
在线时间43 小时
假如发送数组temp[]={ox11,0x22,ox33,0x44,ox55,0x66,ox77,0x88}
包格式:帧头:0x5a,类型:0xA0,长度:0x08 数据:temp[]+crc16_l+crc16h
调用u16 Get_Crc16(u8 *puchMsg,u16 usDataLen)
& & & & u8 uchCRCHi=0xFF; & & & & //高CRC 字节初始化
& & & & u8 uchCRCLo=0xFF; & & & & //低CRC 字节初始化
& & & & u32 uI & & & & & & & & //CRC 循环中的索引
& & & & while(usDataLen--) & & & & //传输消息缓冲区
& & & & & & & & uIndex=uchCRCHi^*puchMsg++; //计算CRC
& & & & & & & & uchCRCHi=uchCRCLo^auchCRCHi[uIndex];
& & & & & & & & uchCRCLo=auchCRCLo[uIndex];
& & & & return (uchCRCHi&&8|uchCRCLo);
请问此函数要不要包含帧头,类型,长度??
不包进去,接收方检验的时候就也不包进去就行了,包进去同个道理。赞成楼上的说法
主题帖子精华
高级会员, 积分 885, 距离下一级还需 115 积分
在线时间163 小时
不包进去,接收方检验的时候就也不包进去就行了,包进去同个道理。赞成楼上的说法
主题帖子精华
高级会员, 积分 669, 距离下一级还需 331 积分
在线时间87 小时
一般不要包括。
主题帖子精华
金牌会员, 积分 1611, 距离下一级还需 1389 积分
在线时间257 小时
包含绝对没有什么坏处
一分耕耘一分收获。
Powered by

参考资料

 

随机推荐