sunnykmc
SunnyKMC
级别: 工控侠客
精华主题: 0
发帖数量: 287 个
工控威望: 3745 点
下载积分: 28898 分
在线时间: 413(小时)
注册时间: 2014-04-20
最后登录: 2024-05-23
查看sunnykmc的 主题 / 回贴
楼主  发表于: 2018-12-25 14:37
请问可将2个寄存器数值合并于另一寄存器(10进制)?
比如D1是月,D2是日,D3为D1与D2的合并值
D1=12月
D2=25日
D3=1225

须用何种指令来达成

原则上皆是两位数
所以不会有超过9999到第五位

日期时间值直接取plc万年历
到时设计使用时
要取何时建立的资料
目地要减少寄存器的使用数量
[ 此帖被sunnykmc在2018-12-25 15:18重新编辑 ]
changzyu9638
级别: 论坛先锋
精华主题: 0
发帖数量: 139 个
工控威望: 1030 点
下载积分: 1165 分
在线时间: 170(小时)
注册时间: 2018-09-19
最后登录: 2020-08-07
查看changzyu9638的 主题 / 回贴
1楼  发表于: 2018-12-25 14:55
引用
引用楼主sunnykmc于2018-12-25 14:37发表的 请问可将2个寄存器数值合并于另一寄存器(10进制)? :
请问可将2个寄存器数值合并于另一寄存器(10进制)?
比如D1是月,D2是日,D3为D1与D2的合并值
D1=12月
D2=25日
D3=1225
.......



版主的数值是BCD码。
所以,要知道
D1=12月  >>> 是H0012 吗?
D2=25日  >>> 是H0025 吗?
D3=1225  >>> 是H1225 吗?
若是的话,D1需要先使用 SWAP 指令[SWAP D1],进行高低位元交换,交换之后变成 H1200,再使用OR指令[OR D1 D2 D3],得到结果。
本帖最近评分记录:
  • 下载积分:+5(sunnykmc) 热心助人!
    changzyu9638
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 139 个
    工控威望: 1030 点
    下载积分: 1165 分
    在线时间: 170(小时)
    注册时间: 2018-09-19
    最后登录: 2020-08-07
    查看changzyu9638的 主题 / 回贴
    2楼  发表于: 2018-12-25 16:22
    这一个说明,应该是你要的。

    本帖最近评分记录:
  • 下载积分:+5(sunnykmc) 热心助人!