当前位置:首页 > 技术分析 > 正文内容

西门子博途中1200PLC的CRC校验码封装

ruisui883个月前 (03-26)技术分析38

西门子博途1200PLC中CRC校验功能块的封装

(*

CRC校验生成步骤:

第1步、预置INT数据类型CRC寄存器为16#制FFFF,即所有的位都为1.

第2步、该16位寄存器的低8位字节与信息帧的第一位字节的8位进行异或运算,运算结果放入16位寄存器,使用XOR异或指令。

第3步、把这个16位寄存器向右移一位,使用移位指令。

第4步、假如向右移出的位为1(TRUE),则与常量16#A001和这个寄存器进行异或(XOR)运算,若移出数为0(FALSE),则返回第3步。

第5步、重复第3步和第4步直至移出第8位。

第6步、重复第2步到第5步进行下一个8位数据的处理,直到把数组的元素都处理完成。

第7步、最后得到的CRC寄存器即为CRC码,但要进高低字节的交换。

*)

FC功能 块的接口

与串口调试软件校验码的对照,程序正解

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3050.html

标签: java crc校验
分享给朋友:

“西门子博途中1200PLC的CRC校验码封装” 的相关文章

高效使用 Vim 编辑器的 10 个技巧

在 Reverb,我们使用 MacVim 来标准化开发环境,使配对更容易,并提高效率。当我开始使用 Reverb 时,我以前从未使用过 Vim。我花了几个星期才开始感到舒服,但如果没有这样的提示,可能需要几个月的时间。这里有十个技巧可以帮助你在学习使用 Vim 时提高效率。1. 通过提高按键重复率来...

BuildKit 镜像构建工具

#暑期创作大赛#快速开始 对于 Kubernetes 部署,请参阅examples/kubernetes。BuildKit 由buildkitd守护进程和buildctl客户端组成。虽然buildctl客户端可用于 Linux、macOS 和 Windows,但buildkitd守护程序目前仅适用于...

Vue中路由router的基本使用

??本文开始我们来给大家介绍在Vue中非常重要的一个内容,就是路由Router什么是路由后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;前端路由:对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特...

TDesign企业级开源设计系统越发成熟稳定,支持 Vue3 / 小程序

TDesing 发展越来越好了,出了好几套组件库,很成熟稳定了,新项目完全可以考虑使用。早在2021年,腾讯的 TDesing 刚发布不久,我就写了一篇简短的文章来介绍,当时主要关注的是 TDesign 的 Vue 组件库和用来搭建 admin 后台系统的实用性。虽然当时看起来不错,但还处于测试版,...

Alpine.js 如何火起来的!比 React/Vue 如何?

大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!前言前端 JavaScript 框架的创新是这个时代最伟大的技术文化现象之一。Alpine 发音为 /??lpa?n/,中文为阿尔卑斯山、...

vue 异步更新那点事儿 #web前端

异步更新那点事儿。wue & vueuse官方团队成员。看一下群友投稿的问题。什么问题?就是它这边有一个组件,这个组件里面有个userID,然后这个userID通过props传给了子组件,子组件是userinfo,它里面是用来渲染用户信息的。渲染用户信息的同时,userinfo这个组件又暴露...