松下plc扫到条码后转换出错 点击:3478 | 回复:6



黑色星期五

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:505
  • 注册:2015年7月10日
发表于:2015-07-10 14:34:40
楼主

松下fp- x c38at 将通信格式设置为通用通信,使用指令是 F159 MTRN,之后用扫描仪连接松下plc , plc 接收

到的数据存放在DT100至DT105之间,每一次扫描都能收到数据,但不能转换成条形码上的数据是什么原因?如果

是信捷plc,它每一个寄存器所存放的数据都是标准的ascii码,只需要将每一个ascii码转换成条码上的数据就

可以,但松下该怎么转换?(比如条码 01584,plc寄存器所对应的数据为 DT100对应   0,          DT101对应 12592, DT102 

对应 14389 ,DT103对应  52,怎样才能转换为初始条码01584,)




zhu860423060

  • 精华:5帖
  • 求助:27帖
  • 帖子:272帖 | 3543回
  • 年度积分:302
  • 历史总积分:21193
  • 注册:2011年3月06日
发表于:2015-07-10 17:25:16
1楼

不知道原因,等待高手回复。      

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2015-07-10 18:58:31
2楼

DT100里面没有数据,

DT101里面12592,换算成16进制是3130.ASCII码,代表01(高位在后)。

DT102里面14389. 换算成16进制是3835.ASCII码,代表58(高位在后)。

DT103里面52.    换算成16进制是34  .ASCII码,代表4()。

合起来就是01584.。。。。看明白没有??

黑色星期五

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:505
  • 注册:2015年7月10日
发表于:2015-07-12 10:28:57
3楼


回复内容:

对: 通讯网 DT100里面没有数据,DT101里面12592,换算... 内容的回复!

谢谢,的确是这样,把数据监控模式改为ascii码后能显示出来,我们这用的是威纶触摸,怎样才能合成条码号01584显示在屏上?(我第一次用松下做通讯,dt103里面只有一个ascII码所以很好转换,可是dt102和dt101里面是两位ascII码,要怎样才能把它们分成每个数据寄存器里面都只有一位ascii码呢?我都试了松下所有的分离指令和转换指令好像都不行,我以前用信捷的时候是因为它每一个数据寄存器里面都只有一位对应的ascII码,即里面的数据是十进制48,49 ,53,56,52,就直接把它对应成十进制的0,1,5,8,4,然后通过十位数*10加上百位数*100加上千位数*1000加上万位数*10000就得到十进制数的01584,上传到屏上,可是松下真不知道怎么做?)

黑色星期五

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:505
  • 注册:2015年7月10日
发表于:2015-07-22 18:39:09
4楼

问题已解,使用F94分离指令后得到单个的数据,之后再组合即可

huj_756900

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2012年5月07日
发表于:2018-04-23 12:00:22
5楼
能告诉我那条指令可以把10进数转成ASCII码的吗?我用BINA指令,转出来的ASCII码和你的不一样啊?

1122

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 26回
  • 年度积分:0
  • 历史总积分:94
  • 注册:2016年5月12日
发表于:2018-06-09 21:07:34
6楼

大神可以说说怎么解决的吗  附个图吧


热门招聘
相关主题

官方公众号

智造工程师