tjdsllq
級別: *
|
假設指令是MOV K4095 D0 ,那么D0中是不是這樣的 0100 0000 1001 0101 ? 接著 MOV D0 K2M0 ,那么M7 M6 M5 M4 M3 M2 M1 M0 對應的數字量是不是 1 0 0 1 0 1 0 1 ? |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
相比您不知道如何從十進制轉換為2進制數據吧! K4095轉換為2進制為0000 1111 1111 1111,而不是您的0100 0000 1001 0101 ,您的這個值轉換為10進制整數為 16533,因此 Mov D0 K2M0 的結果就是M0~M7全部都是被置1了。 因此您的結果是錯的哦。 建議您轉換的時候使用操作系統自帶的計算器來運算一下,方便多了。 以上! Good Luck! |
---|---|
|
tjdsllq
級別: *
|
是我搞混了 H4095應該是0100 0000 1001 0101 十進制數轉二進制數是除以2取余數,這個我知道的 十六進制轉二進制是4位一劃分 4(0100) 0 (0000) 9(1001) 5(0101) |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
對啊。16進制和2進制的相互轉換是很簡單的。正如10進制和BCD碼之間的轉換。最好用操作系統自帶的計算器進行轉換,很方便。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
請注意哦,如果您這樣處理的話,那么您就不能使用Mov K4095 D0,而是:1 使用Mov指令將常數4095送入D0 2 使用BCD指令將D0中的常數轉換為BCD碼4095存放入D2中。 3 使用Mov指令將D2中的值送入K2M0中 通過以上步驟,才會得到樓主所期望的結果。 以上! Good Luck! |
---|---|
|