賞心悅目
級別: 論壇先鋒
|
我用一個條碼掃描器與一臺三菱2NPLC用RS指令通訊,監控程序可以看到讀出來有數據,但是跟實際的條碼值相差甚遠。我在這里就想請教下大家,條碼值一般有26個字母的大小寫和10個阿拉伯數字的組合,這個組合有長有短,三菱的一個數據寄存器比如D120可以存儲和顯示長達十幾位的條碼值嗎?還是只存儲一個值,其他值依次存到D121,D122,下面去呢?我監控程序卻搞不懂其中的奧妙。還有,PLC讀出來的數據怎么樣轉換為有26個字母大小寫和10個阿拉伯數字的組合就是實際上的條碼值呢?然后在人機界面里顯示出來。 |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
每個寄存器儲存1-2個字符,讀出來的數值要自己轉換為ASCII碼才能與條碼對應上; 比如監控為H36,它對應ASCII碼的“6”,網上查詢ACSII碼對照表,看看與實際條碼的對應關系 |
---|---|
本帖最近評分記錄: |
sjm213
有小知識,無大學問。
級別: 論壇版主
|
從監控結果來看,接收到的數據未能連續獲得,所以: 1.確認通訊設置與實際相符,尤其是波特率; 2.找掃碼器說明書,設置其通訊格式; 解決以上問題,將條碼全部讀入PLC中再討論程序問題。 |
---|---|
本帖最近評分記錄: |
sjm213
有小知識,無大學問。
級別: 論壇版主
|
你現在監控到的值,換為16進制 D30中是 H33 4B------------------->ASCII 3K D31 H36 30------------------->ASCII 60 D32 H33 30------------------->ASCII 30 D33 H30 33------------------->ASCII 03 獲取的數據高位低位互換,再連起來就是K3060330;比實際條碼K130816033201位數是少的 |
---|---|
本帖最近評分記錄: |