賞心悅目
級別: 論壇先鋒
|
最近在做臺機器,用條碼掃描器掃描條碼到三菱3U控制器里,PLC再根據條碼內容進行相應設置。現在碰到一個情況,比如我要掃描12345到機器里,也就是一萬兩千三百四十五,plc會接收到這樣的數據:D0分到12,D1分到34,D2分到5。那現在問題來了,我該怎么弄,才可以把D0,D1,D2里的值再轉換為一萬兩千三百四十五呢?注意一點,條碼內容有可能是三位數,也有可能是四位數或者五六位數。 補充請教下高手們,條碼掃描器讀出來的數據是ASC碼,0讀出來是48,1讀出來是49,2讀出來是50,應該用什么指令把他們轉換成10進制數字呢? [ 此帖被賞心悅目在2015-01-06 22:57重新編輯 ] |
---|---|
|
wu32u2
耐得住挫折的打磨,我們將迸發出比鉆石還璀璨的光芒——
級別: 論壇先鋒
|
把M8161置ON,這樣D0D1D2D3D4D5D6的地8位存儲一個字節數,即 D0=1 D1=2 D2=3 D3=4 D4=5Z這樣處理起來是不是方便一點? |
|
---|---|---|
|
賞心悅目
級別: 論壇先鋒
|
假如條碼只是三位數的呢,比如900,這樣應該要PLC怎么算呢? |
---|---|
|
賞心悅目
級別: 論壇先鋒
|
呵呵,它是這樣,假如要讀取的條碼數值是900的話,D0的值就是90,D1的值就是0,這樣的話你讓PLC還傻乎乎得乘1000的話那就跟實際值相差了10倍了。 |
---|---|
|
li051005
級別: 探索解密
|
試試用位指定,如:BCDP D2 K2M0 BCDP D1 K2M8 BCDP D0 K2M16 DBINP K8M0 D10 |
---|---|
|