您现在的位置:首页 >> 组态技术 >> 内容

组态王读取串口扫码枪数据方法详解

时间:2023-12-12 23:13:44 点击:

  核心提示:组态王读取串口扫码枪数据方法:1、新增串口扫码枪设备2、设置扫码枪串口参数3、定义扫码枪接收数据变量RHDATA,变量类型为I/O字符串4、增加RHDATA数据改变时执行数据处理的操作。数据处理代码如...

组态王读取串口扫码枪数据方法:


1、新增串口扫码枪设备



2、设置扫码枪串口参数



3、定义扫码枪接收数据变量RHDATA,变量类型为I/O字符串



4、增加RHDATA数据改变时执行数据处理的操作。




数据处理代码如下,主要是将扫码枪接收到的ASCII码转换为正常数据。


LONG Z1=32;LONG Z2=32;LONG Z3=32;LONG Z4=32;
LONG Z5=32;LONG Z6=32;LONG Z7=32;LONG Z8=32;
LONG Z9=32;LONG Z10=32;
STRING SMSJ;
IF (STRLEN(RHDATA)>=2) Z1=StrToInt(StrMid(RHDATA,1,1))*16+StrToInt(StrMid(RHDATA,2,1));
IF (STRLEN(RHDATA)>=4) Z2=StrToInt(StrMid(RHDATA,3,1))*16+StrToInt(StrMid(RHDATA,4,1));
IF (STRLEN(RHDATA)>=6) Z3=StrToInt(StrMid(RHDATA,5,1))*16+StrToInt(StrMid(RHDATA,6,1));
IF (STRLEN(RHDATA)>=8) Z4=StrToInt(StrMid(RHDATA,7,1))*16+StrToInt(StrMid(RHDATA,8,1));
IF (STRLEN(RHDATA)>=10) Z5=StrToInt(StrMid(RHDATA,9,1))*16+StrToInt(StrMid(RHDATA,10,1));
IF (STRLEN(RHDATA)>=12) Z6=StrToInt(StrMid(RHDATA,11,1))*16+StrToInt(StrMid(RHDATA,12,1));
IF (STRLEN(RHDATA)>=14) Z7=StrToInt(StrMid(RHDATA,13,1))*16+StrToInt(StrMid(RHDATA,14,1));
IF (STRLEN(RHDATA)>=16) Z8=StrToInt(StrMid(RHDATA,15,1))*16+StrToInt(StrMid(RHDATA,16,1));
IF (STRLEN(RHDATA)>=18) Z9=StrToInt(StrMid(RHDATA,17,1))*16+StrToInt(StrMid(RHDATA,18,1));
IF (STRLEN(RHDATA)>=20) Z10=StrToInt(StrMid(RHDATA,19,1))*16+StrToInt(StrMid(RHDATA,20,1));
SMSJ=STRCHAR(Z1)+STRCHAR(Z2)+STRCHAR(Z3)+STRCHAR(Z4)+STRCHAR(Z5)+STRCHAR(Z6)+STRCHAR(Z7);
cxbh=SMSJ;


 

作者:站长 来源:原创
相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 陈工笔记(www.dui580.com) © 2024 版权所有 All Rights Reserved.
  • 站长:陈工 微信号:chengongbiji QQ:24498854
  • Powered by 陈工