賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 350 个
工控威望: 1387 点
下载积分: 1665 分
在线时间: 867(小时)
注册时间: 2008-12-24
最后登录: 2024-11-22
查看賞心悦目的 主题 / 回贴
楼主  发表于: 2013-12-17 19:40
            我用一个条码扫描器与一台三菱2NPLC用RS指令通讯,监控程序可以看到读出来有数据,但是跟实际的条码值相差甚远。我在这里就想请教下大家,条码值一般有26个字母的大小写和10个阿拉伯数字的组合,这个组合有长有短,三菱的一个数据寄存器比如D120可以存储和显示长达十几位的条码值吗?还是只存储一个值,其他值依次存到D121,D122,下面去呢?我监控程序却搞不懂其中的奥妙。还有,PLC读出来的数据怎么样转换为有26个字母大小写和10个阿拉伯数字的组合就是实际上的条码值呢?然后在人机界面里显示出来。
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5200 个
工控威望: 7423 点
下载积分: 158799 分
在线时间: 3161(小时)
注册时间: 2007-11-21
最后登录: 2024-11-22
查看sjm213的 主题 / 回贴
1楼  发表于: 2013-12-18 11:39
每个寄存器储存1-2个字符,读出来的数值要自己转换为ASCII码才能与条码对应上;
比如监控为H36,它对应ASCII码的“6”,网上查询ACSII码对照表,看看与实际条码的对应关系
本帖最近评分记录:
  • 下载积分:+5(lxklz1140)
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158799 分
    在线时间: 3161(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-22
    查看sjm213的 主题 / 回贴
    2楼  发表于: 2013-12-18 22:19
    从监控结果来看,接收到的数据未能连续获得,所以:
    1.确认通讯设置与实际相符,尤其是波特率;
    2.找扫码器说明书,设置其通讯格式;
    解决以上问题,将条码全部读入PLC中再讨论程序问题。
    本帖最近评分记录:
  • 下载积分:+5(lxklz1140) 乐于助人,实力高深莫测
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158799 分
    在线时间: 3161(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-22
    查看sjm213的 主题 / 回贴
    3楼  发表于: 2013-12-18 22:23
    你现在监控到的值,换为16进制
    D30中是  H33  4B------------------->ASCII  3K
    D31          H36  30------------------->ASCII  60
    D32         H33   30------------------->ASCII  30
    D33         H30   33------------------->ASCII  03
    获取的数据高位低位互换,再连起来就是K3060330;比实际条码K130816033201位数是少的
    本帖最近评分记录:
  • 下载积分:+5(lxklz1140) 乐于助人