自從經營部落格後,一直有讀者來信問LabVIEW相關問題,這個問題出現了特別多次: 使用PLC通訊格式字串為Hex Display,如何轉為十進位的數值?
例如PLC收到字串用(Hex Display)為1000,普遍大家想說解成十進位制就是直接使用Hexadecimal String To Number.vi轉換
如下圖,使用Hexadecimal String To Number.vi轉換
但這樣轉換並不會有預期的結果 4096,因為HEX Display是遵循ASCII HEX的原則,也就是如下表:
若1000為HEX Display,那其Normal Display顯示並不會有值,因為已經超出ASCII碼的編碼原則,
若PLC讀回的HEX Display=10,則Normal Display(Chr)代表意義為A,其原理是使用ASCII原來。
至於ASCII的解碼可以參考: LabVIEW-HEX與ASCII字元的字串轉換
文章標籤
全站熱搜
留言列表