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