s7-300 modbus RTU CRC校验程序如何编写

CP340  ASCII 通讯   MODBUS RTU  CRC校验程序

最佳答案

参考:http://wenku.baidu.com/view/d087590d7cd184254b353596.htm
VAR_INPUT
   DB_NO : INT ; 
   DBB_Start : INT ; 
   DBB_Counts : INT ; 
 END_VAR
 VAR_OUTPUT
   CRC_H : BYTE ; 
   CRC_L : BYTE ; 
 END_VAR
 VAR_TEMP
   CRC_REG : WORD ; 
   DB_NO_TEMP : INT ; 
   BytesChecked : INT ; 
   BitsChecked : INT ; 
 END_VAR
 BEGIN
 NETWORK
 TITLE =
 
       L     W#16#FFFF; 
       T     #CRC_REG; //预置CRC寄存器
       L     #DB_NO; 
       T     #DB_NO_TEMP; 
       OPN   DB [#DB_NO_TEMP]; 
       L     #DBB_Start; //读入校验起始字节
       SLD   3; 
       LAR1  ; 
 
       L     #DBB_Counts; //读入校验字节数量
 _A:   T     #BytesChecked; //字节处理循环
       L     DBB [AR1,P#0.0]; 
       L     LB     1; 
       XOW   ; 
       T     LB     1; 
 
       L     8; 
 _B:   T     #BitsChecked; //位处理循环
       L     #CRC_REG; 
       SRW   1; 
       T     #CRC_REG; 
       JZ    _C; //检验移出位是否为1
       L     #CRC_REG; 
       L     W#16#A001; 
       XOW   ; 
       T     #CRC_REG; 
 
 _C:   L     #BitsChecked; //校验下个位
       LOOP  _B; 
 
       +AR1  P#1.0; //校验下个字节
       L     #BytesChecked; 
       LOOP  _A; 
 
       L     LB     1; //输出校验码
       T     #CRC_H; 
       L     LB     0; 
       T     #CRC_L; 
 END_FUNCTION

提问者对于答案的评价:
已测试,效果好。谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • PLC输出放大器

    PLC(晶体管输出型)输出的电流不足以驱动电磁阀,想买个PLC输出放大器之类的板卡,不知道那个厂家的比较好?谢谢各位了! 问题补充:想买现成的,可靠的,我也考虑过用继电器,但是继电…

    自动化系统综合 2020年11月1日
  • 请问314CPU MPI口能直接做RS232串口通讯吗

    如果可以的话要用什么功能块实现如果不可以的话要加什么硬件、程序里要用什么功能块实现 最佳答案 不可以。需要加标准串行通讯模块如、CP340/CP341,RS232接口:6ES734…

    自动化系统综合 2017年6月8日
  • wincc flexible 2008 sp4出现尚未满足条件

    不满足条件是怎么回事,怎么解决呢 最佳答案 安装前最后检查一下电脑系统与软件的兼容性,以利于顺利安装。参考WinCC_flexible_2008_SP4兼容性列表http://su…

    自动化系统综合 2017年8月26日
  • S7授权问题

    我电脑上S7突然不能用了,打开显示no valid license key found.the application …

    自动化系统综合 2017年11月4日
  • STEP7的编程语言包

    如果没安装SCL、GRAPH 等语言,而上载的一个程序中有使用到该语言,那打开程序能转换成指令表(STL)吗?能打开看到里面的程序吗?谁有SCL、GRAPH 的…

    自动化系统综合 2017年6月1日
  • OP-15上传数据用什么软件

    op-15操作面板用什么软件上传数据 最佳答案 操作面板组态软件    6AV9-620-1BB05-1AB0  &nb…

    自动化系统综合 2021年7月5日
  • 变频器EMC

    我要控制几台90KW风机,选择用MM430变频器,变频器样本中有的自带内置波波器,有的无滤波器,不知带滤波器的与不带滤滤器的使用中有什么区别,应如何选择,另外自带滤波器是装在电源进…

    自动化系统综合 2020年10月31日
  • PCS7没有程序

    我安装了PCS7V6.1,打开别人的PCS7程序(也是V6.1),只有站,没有程序,提示 the project contain objec…

    自动化系统综合 2020年11月1日
  • profibus与MPI

    主站CPU是315-2DP,从站是ET200 IM315 profibus的。现在电脑和主站CPU的通信方式是MPI,这样的话,主站和从站间还能通信吗,为什么?…

    自动化系统综合 2020年10月31日
  • S7-200和变频器MODBUS通讯

    离散输出(线圈)和保持寄存器支持读取和写入请求。离散输入(触点)和输入寄存器仅支持读取请求。"地址"参数是起始的Modbus地址。允许使用下列取值范围:0000…

    自动化系统综合 2020年10月31日