sunnykmc
SunnyKMC
级别: 工控侠客
精华主题: 0
发帖数量: 287 个
工控威望: 3745 点
下载积分: 28918 分
在线时间: 413(小时)
注册时间: 2014-04-20
最后登录: 2024-08-27
查看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重新编辑 ]
菜鸟入行
级别: 论坛先锋

精华主题: 0
发帖数量: 1381 个
工控威望: 1557 点
下载积分: 3686 分
在线时间: 177(小时)
注册时间: 2017-09-01
最后登录: 2024-06-11
查看菜鸟入行的 主题 / 回贴
1楼  发表于: 2018-12-25 14:41
这种我只会土办法

MUL K100 D1 D4
ADD D4 D2 D3
本帖最近评分记录:
  • 下载积分:+5(sunnykmc) 这个方式可
  • 打个酱油,懂的不多
    水平有限,能帮则帮
    互相帮助,共同进步
    sunnykmc
    SunnyKMC
    级别: 工控侠客
    精华主题: 0
    发帖数量: 287 个
    工控威望: 3745 点
    下载积分: 28918 分
    在线时间: 413(小时)
    注册时间: 2014-04-20
    最后登录: 2024-08-27
    查看sunnykmc的 主题 / 回贴
    2楼  发表于: 2018-12-25 14:47
    引用
    引用第1楼Q02UCPU于2018-12-25 14:41发表的  :
    这种我只会土办法

    MUL K100 D1 D4
    ADD D4 D2 D3

    这个方式可
    但要四则运算
    怕多项累积条件多了影响PLC延长扫描周期
    zmrs163
    级别: 家园常客
    精华主题: 0
    发帖数量: 373 个
    工控威望: 521 点
    下载积分: 1466 分
    在线时间: 324(小时)
    注册时间: 2017-06-12
    最后登录: 2024-11-20
    查看zmrs163的 主题 / 回贴
    3楼  发表于: 2018-12-25 14:53
    最简单的方式就是乘100相加,这种最最常规的指令肯定做了底层优化加快运算速度的,你要用其他指令实现肯定没这个快的
    本帖最近评分记录:
  • 下载积分:+5(sunnykmc) 真诚感谢!
    changzyu9638
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 139 个
    工控威望: 1030 点
    下载积分: 1165 分
    在线时间: 170(小时)
    注册时间: 2018-09-19
    最后登录: 2020-08-07
    查看changzyu9638的 主题 / 回贴
    4楼  发表于: 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) 热心助人!
    sunnykmc
    SunnyKMC
    级别: 工控侠客
    精华主题: 0
    发帖数量: 287 个
    工控威望: 3745 点
    下载积分: 28918 分
    在线时间: 413(小时)
    注册时间: 2014-04-20
    最后登录: 2024-08-27
    查看sunnykmc的 主题 / 回贴
    5楼  发表于: 2018-12-25 15:15
    引用
    引用第4楼changzyu9638于2018-12-25 14:55发表的  :



    版主的数值是BCD码。
    所以,要知道
    .......

    日期时间值直接取plc万年历
    到时设计使用时
    要取何时建立的资料
    目地要减少寄存器的使用
    不过你这方式我没用过
    学习了

    刚试了一下
    使用OR指令[OR D1 D2 D3]
    OR指令似乎不可行
    [ 此帖被sunnykmc在2018-12-25 15:28重新编辑 ]
    changzyu9638
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 139 个
    工控威望: 1030 点
    下载积分: 1165 分
    在线时间: 170(小时)
    注册时间: 2018-09-19
    最后登录: 2020-08-07
    查看changzyu9638的 主题 / 回贴
    6楼  发表于: 2018-12-25 16:22
    这一个说明,应该是你要的。

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