sunnykmc
SunnyKMC
級別: 工控俠客
|
請問可將2個寄存器數值合并于另一寄存器(10進制)? 比如D1是月,D2是日,D3為D1與D2的合并值 D1=12月 D2=25日 D3=1225 須用何種指令來達成 原則上皆是兩位數 所以不會有超過9999到第五位 日期時間值直接取plc萬年歷 到時設計使用時 要取何時建立的資料 目地要減少寄存器的使用數量 [ 此帖被sunnykmc在2018-12-25 15:18重新編輯 ] |
---|---|
|
菜鳥入行
級別: 論壇先鋒
|
這種我只會土辦法 MUL K100 D1 D4 ADD D4 D2 D3 |
|
---|---|---|
本帖最近評分記錄:
|
sunnykmc
SunnyKMC
級別: 工控俠客
|
這個方式可 但要四則運算 怕多項累積條件多了影響PLC延長掃描周期 |
---|---|
|
zmrs163
級別: 家園常客
|
最簡單的方式就是乘100相加,這種最最常規的指令肯定做了底層優化加快運算速度的,你要用其他指令實現肯定沒這個快的 |
---|---|
本帖最近評分記錄: |
changzyu9638
級別: 論壇先鋒
|
版主的數值是BCD碼。 所以,要知道 D1=12月 >>> 是H0012 嗎? D2=25日 >>> 是H0025 嗎? D3=1225 >>> 是H1225 嗎? 若是的話,D1需要先使用 SWAP 指令[SWAP D1],進行高低位元交換,交換之后變成 H1200,再使用OR指令[OR D1 D2 D3],得到結果。 |
---|---|
本帖最近評分記錄: |
sunnykmc
SunnyKMC
級別: 工控俠客
|
日期時間值直接取plc萬年歷 到時設計使用時 要取何時建立的資料 目地要減少寄存器的使用 不過你這方式我沒用過 學習了 剛試了一下 使用OR指令[OR D1 D2 D3] OR指令似乎不可行 [ 此帖被sunnykmc在2018-12-25 15:28重新編輯 ] |
---|---|
|