各位 30cm 大大, 你們好
我最近遇到難題....
客戶要輸入手機號碼給 PLC1, 然後透過 Modbus 給另外一台 PLC2,
兩台 PLC 都年代久遠, 支援的格式都很有限....
PLC2 接受 int, Dint 這兩種,
int = 國碼,用來輸入:886
Dint = 電話號碼,用來輸入:901 010 101
PLC1 只接受 int (最大999,999),
所以對應 int(國碼), 不是問題, 但是對應 Dint 就出現問題了,
我用兩個 int 對應一個 Dint 是沒問題的, 但是數值解碼就很頭痛了,
PLC1 採用的格式是 ABCD, PLC2 採用的格式是 CDAB
所以....
假定手機號碼為:
901010101 二進制為 00110101 10110100 01010010 10110101
為了要能夠讓 PLC2 正確解讀,我必須人工翻轉為:
01010010 10110101 00110101 10110100 十進制為 21173 13748
然後將這兩個數字個別寫入不同的 int register
由於 PLC1 只能做四則運算 ( + - * / ) 以及邏輯運算 ( AND OR XOR ),
想問各位大大有沒有辦法用
【四則運算】或【邏輯運算】就將一段十進制的數字拆解並翻轉成兩段十進制的數字呢?
內文搜尋

X