sunnykmc
SunnyKMC
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 287 個
工控威望: 3745 點(diǎn)
下載積分: 28918 分
在線時間: 413(小時)
注冊時間: 2014-04-20
最后登錄: 2024-08-27
查看sunnykmc的 主題 / 回貼
樓主  發(fā)表于: 2018-12-25 14:37
請問可將2個寄存器數(shù)值合并于另一寄存器(10進(jìn)制)?
比如D1是月,D2是日,D3為D1與D2的合并值
D1=12月
D2=25日
D3=1225

須用何種指令來達(dá)成

原則上皆是兩位數(shù)
所以不會有超過9999到第五位

日期時間值直接取plc萬年歷
到時設(shè)計(jì)使用時
要取何時建立的資料
目地要減少寄存器的使用數(shù)量
[ 此帖被sunnykmc在2018-12-25 15:18重新編輯 ]
菜鳥入行
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1381 個
工控威望: 1557 點(diǎn)
下載積分: 3686 分
在線時間: 177(小時)
注冊時間: 2017-09-01
最后登錄: 2024-06-11
查看菜鳥入行的 主題 / 回貼
1樓  發(fā)表于: 2018-12-25 14:41
這種我只會土辦法

MUL K100 D1 D4
ADD D4 D2 D3
本帖最近評分記錄:
  • 下載積分:+5(sunnykmc) 這個方式可
  • 打個醬油,懂的不多
    水平有限,能幫則幫
    互相幫助,共同進(jìn)步
    sunnykmc
    SunnyKMC
    級別: 工控俠客
    精華主題: 0
    發(fā)帖數(shù)量: 287 個
    工控威望: 3745 點(diǎn)
    下載積分: 28918 分
    在線時間: 413(小時)
    注冊時間: 2014-04-20
    最后登錄: 2024-08-27
    查看sunnykmc的 主題 / 回貼
    2樓  發(fā)表于: 2018-12-25 14:47
    引用
    引用第1樓Q02UCPU于2018-12-25 14:41發(fā)表的  :
    這種我只會土辦法

    MUL K100 D1 D4
    ADD D4 D2 D3

    這個方式可
    但要四則運(yùn)算
    怕多項(xiàng)累積條件多了影響PLC延長掃描周期
    zmrs163
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 373 個
    工控威望: 521 點(diǎn)
    下載積分: 1466 分
    在線時間: 323(小時)
    注冊時間: 2017-06-12
    最后登錄: 2024-11-08
    查看zmrs163的 主題 / 回貼
    3樓  發(fā)表于: 2018-12-25 14:53
    最簡單的方式就是乘100相加,這種最最常規(guī)的指令肯定做了底層優(yōu)化加快運(yùn)算速度的,你要用其他指令實(shí)現(xiàn)肯定沒這個快的
    本帖最近評分記錄:
  • 下載積分:+5(sunnykmc) 真誠感謝!
    changzyu9638
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數(shù)量: 139 個
    工控威望: 1030 點(diǎn)
    下載積分: 1165 分
    在線時間: 170(小時)
    注冊時間: 2018-09-19
    最后登錄: 2020-08-07
    查看changzyu9638的 主題 / 回貼
    4樓  發(fā)表于: 2018-12-25 14:55
    引用
    引用樓主sunnykmc于2018-12-25 14:37發(fā)表的 請問可將2個寄存器數(shù)值合并于另一寄存器(10進(jìn)制)? :
    請問可將2個寄存器數(shù)值合并于另一寄存器(10進(jìn)制)?
    比如D1是月,D2是日,D3為D1與D2的合并值
    D1=12月
    D2=25日
    D3=1225
    .......



    版主的數(shù)值是BCD碼。
    所以,要知道
    D1=12月  >>> 是H0012 嗎?
    D2=25日  >>> 是H0025 嗎?
    D3=1225  >>> 是H1225 嗎?
    若是的話,D1需要先使用 SWAP 指令[SWAP D1],進(jìn)行高低位元交換,交換之后變成 H1200,再使用OR指令[OR D1 D2 D3],得到結(jié)果。
    本帖最近評分記錄:
  • 下載積分:+5(sunnykmc) 熱心助人!
    sunnykmc
    SunnyKMC
    級別: 工控俠客
    精華主題: 0
    發(fā)帖數(shù)量: 287 個
    工控威望: 3745 點(diǎn)
    下載積分: 28918 分
    在線時間: 413(小時)
    注冊時間: 2014-04-20
    最后登錄: 2024-08-27
    查看sunnykmc的 主題 / 回貼
    5樓  發(fā)表于: 2018-12-25 15:15
    引用
    引用第4樓changzyu9638于2018-12-25 14:55發(fā)表的  :



    版主的數(shù)值是BCD碼。
    所以,要知道
    .......

    日期時間值直接取plc萬年歷
    到時設(shè)計(jì)使用時
    要取何時建立的資料
    目地要減少寄存器的使用
    不過你這方式我沒用過
    學(xué)習(xí)了

    剛試了一下
    使用OR指令[OR D1 D2 D3]
    OR指令似乎不可行
    [ 此帖被sunnykmc在2018-12-25 15:28重新編輯 ]
    changzyu9638
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數(shù)量: 139 個
    工控威望: 1030 點(diǎn)
    下載積分: 1165 分
    在線時間: 170(小時)
    注冊時間: 2018-09-19
    最后登錄: 2020-08-07
    查看changzyu9638的 主題 / 回貼
    6樓  發(fā)表于: 2018-12-25 16:22
    這一個說明,應(yīng)該是你要的。

    本帖最近評分記錄:
  • 下載積分:+5(sunnykmc) 熱心助人!