MCGS组态屏CRC16(Modbus)校验计算脚本
说明:该脚本可对任意字节长度的字符型变量进行CRC校验码计算,首先在实时数据库中新建以下变量:
inputString——字符型
stringLength——数值型
mid_n——数值型
CRCFull——数值型
CRCLSB——数值型
i——数值型
CRC1——字符型
CRC0——字符型
CRC码——字符型

然后编写脚本代码:
stringLength=!len(inputString) '读取字符串长度
mid_n=1 '计数变量
CRCFull=65535 '0XFFFF
while(mid_n<=stringLength)
i=0
CRCFull=!BitXor(CRCFull,!Hex2I(!mid(inputString,mid_n,2))) '按位异或
while(i<8)
CRCLSB=!BitAnd(CRCFull,1)
IF CRCLSB=1 THEN
CRCFull=!BitAnd(!BitRShift(CRCFull,1),32767)
CRCFull=!BitXor(CRCFull,40961) 'A001对应40961
ELSE
CRCFull=!BitAnd(!BitRShift(CRCFull,1),32767)
ENDIF
i=i+1
endwhile
mid_n=mid_n+2
endwhile

CRC1=!I2Hex(!BitAnd(!BitRShift(CRCFull,8),255)) '高八位
CRC0=!I2Hex(!BitAnd(CRCFull,255)) '低八位
CRC码=CRC1+CRC0

将该脚本嵌入策略或其他模块,即可运行。
程序运行结果:
例如 inputString 为 “010600030001”,经脚本计算,CRC码为 “0AB8”

MCGS组态屏CRC16(Modbus)校验计算脚本相关推荐

  1. CRC-16 / MODBUS 校验计算方法

    CRC-16 / MODBUS : 1)CRC寄存器初始值为 FFFF:即16个字节全为1: 2)CRC-16 / MODBUS的多项式A001H (1010 0000 0000 0001B) 'H' ...

  2. crc java_java实现CRC16 MODBUS校验算法

    /*** 查表法计算CRC16校验 * *@paramdata 需要计算的字节数组*/ public static String getCRC3(byte[] data) {byte[] crc16_ ...

  3. java实现CRC16 MODBUS校验算法

    最近进行led彩屏通讯开发,接触到CRC16算法计算校验码,先附上两篇网上可用的代码 /*** 计算CRC16校验码** @param bytes* @return*/public static St ...

  4. CRC-16/MODBUS 校验位计算

    实验指令: 前23位表示 信息头 + 信息内容.24,25位是待计算的校验位.26位是结束码 7E 01 00 00 01 10 02 00 27 00 0C 00 02 00 00 00 00 00 ...

  5. STM32学习+步科组态屏

    目录 KEIL5下载.安装... 3 第一步,官网下载https://www.keil.com/. 3 第二步,下载keil5. 3 第三步,下载完成安装keil5. 4 第四步,下载安装stm32固 ...

  6. CRC-16/MODBUS x16+x15+x2+1校验计算 C++

    CRC-16/MODBUS x16+x15+x2+1校验计算 #include <stdio.h> int main(void) {     unsigned short tmp = 0x ...

  7. mcgs组态软件中字体如果从左到右变化_昆仑通态专题(十一):MCGS嵌入式组态软件的脚本程序...

    脚本程序是MCGS嵌入式组态软件中的一种 内置编程语言引擎.当某些控制和计算任务 通过常规组态方法难以实现时,通过脚本语 言可以解决其常规组态方法难以解决的问题.本章介绍MCGS嵌入版组态软件的脚本语 ...

  8. JAVA CRC-16(CRC-16/IBM)计算校验值

    JAVA CRC-16(CRC-16/IBM)计算校验值 前言:对接硬件设备的通信协议需要用到CRC-16进行计算校验值,然后再网上找了很多个版本,很久都没找到这个版本的,然后好不容易找到了,就记录一 ...

  9. 16进制(CRC16)(MODBUS RTU通讯)校验码在线计算器

    最近在项目上遇到,用485协议命令控制灯光继电器的开关需要计算16进制(CRC16)(MODBUS RTU通讯)校验码来写控制命令,这种在网上有现成的计算器,我们直接使用即可,以下为我用的一个计算器的 ...

  10. 一文详解循环冗余校验校验算法(CRC校验)及C语言代码的实现 ---- 以CRC-16/MODBUS为例讲解

    一.概述 现在的产品开发过程中,无论是数据的储存还是传输,都需要确保数据的准确性,所以就需要在数据帧后面附加一串校验码,方便接收方使用校验码校验接收到的数据是否是正确的. 常用的校验方式有奇偶校验.异 ...

最新文章

  1. 借助Ant工具,实现快速开发
  2. 使用Oracle LogMiner分析archived log
  3. C++简单排序,堆排序
  4. android打开网址重启后也是这个网站,千万不要乱试!iPhone只要打开这个「网址」立即崩溃重启!...
  5. linux 进程的vss rss uss,内核/内存管理中的VSS/RSS/PSS/USS
  6. 阿里云服务器mysql莫名丢失_mysql数据库丢失
  7. Spring bean 不被 GC 的真正原因
  8. 【Java】Java SimpleDateFormat 线程安全 问题
  9. 数据库迁移Flyway
  10. 【电脑帮助】解决Wind10系统没有本地用户和组的问题
  11. iOS 刘海屏 隐藏横条 home键
  12. 【10g中db_recovery_file_dest和log_archive_dest参数的关系】
  13. PowerBuilder开发简单计算器
  14. 迅为IMX6ULL开发板Linux下电容触摸屏实验-实验程序编写
  15. python爬虫爬取机床展名录
  16. 机器学习算法工程师--实习面经
  17. 服务器装系统提示未找到任何驱动器,win7系统安装时提示找不到任何设备驱动程序的四种解决方法图文教程...
  18. 豆瓣电影top250信息爬取
  19. 【方法】Chrome如何下载视频
  20. 樊登读书会终身成长读后感_樊登读书会听书《终身成长》学习感悟

热门文章

  1. 计算机五笔教案ppt,计算机基础课件五笔打字.ppt
  2. 百度实习1,2,3面-教育知心搜索前端项目组
  3. linux wine qq 字体,在UOS系统中更改deepin-wineQQ使用的字体经验谈
  4. Bulk Insert命令详解
  5. 盘点那些Wifi破解姿势(1)
  6. vray安装显示服务器没有安装,vray3.2安装教程
  7. emule服务器无响应,全部服务器无响应!!!
  8. linux机顶盒线刷教程,机顶盒刷机教程 机顶盒刷机步骤详解与注意事项
  9. nodejs 服务端 音频拼接 合成 实现
  10. Natas.4744幽灵王病毒的分析