賞心悅目
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 351 個
工控威望: 1388 點
下載積分: 1667 分
在線時間: 869(小時)
注冊時間: 2008-12-24
最后登錄: 2024-12-22
查看賞心悅目的 主題 / 回貼
樓主  發(fā)表于: 2015-01-02 15:21
最近在做臺機器,用條碼掃描器掃描條碼到三菱3U控制器里,PLC再根據(jù)條碼內(nèi)容進行相應(yīng)設(shè)置,F(xiàn)在碰到一個情況,比如我要掃描12345到機器里,也就是一萬兩千三百四十五,plc會接收到這樣的數(shù)據(jù):D0分到12,D1分到34,D2分到5。那現(xiàn)在問題來了,我該怎么弄,才可以把D0,D1,D2里的值再轉(zhuǎn)換為一萬兩千三百四十五呢?注意一點,條碼內(nèi)容有可能是三位數(shù),也有可能是四位數(shù)或者五六位數(shù)。                           
 補充請教下高手們,條碼掃描器讀出來的數(shù)據(jù)是ASC碼,0讀出來是48,1讀出來是49,2讀出來是50,應(yīng)該用什么指令把他們轉(zhuǎn)換成10進制數(shù)字呢?
[ 此帖被賞心悅目在2015-01-06 22:57重新編輯 ]
chenqingquan
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 175 點
下載積分: 618 分
在線時間: 59(小時)
注冊時間: 2013-08-13
最后登錄: 2021-03-13
查看chenqingquan的 主題 / 回貼
1樓  發(fā)表于: 2015-01-03 09:56
D1*1000+D*10+D2=12345
chenqingquan
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 175 點
下載積分: 618 分
在線時間: 59(小時)
注冊時間: 2013-08-13
最后登錄: 2021-03-13
查看chenqingquan的 主題 / 回貼
2樓  發(fā)表于: 2015-01-03 09:58
D0*1000+D1*10+D2=D4(12345)
wu32u2
耐得住挫折的打磨,我們將迸發(fā)出比鉆石還璀璨的光芒——
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1121 個
工控威望: 1474 點
下載積分: 1772 分
在線時間: 994(小時)
注冊時間: 2010-03-01
最后登錄: 2024-09-02
查看wu32u2的 主題 / 回貼
3樓  發(fā)表于: 2015-01-03 10:02
把M8161置ON,這樣D0D1D2D3D4D5D6的地8位存儲一個字節(jié)數(shù),即 D0=1 D1=2 D2=3 D3=4 D4=5Z這樣處理起來是不是方便一點?
成功的路上需要幫助
賞心悅目
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 351 個
工控威望: 1388 點
下載積分: 1667 分
在線時間: 869(小時)
注冊時間: 2008-12-24
最后登錄: 2024-12-22
查看賞心悅目的 主題 / 回貼
4樓  發(fā)表于: 2015-01-03 10:47
引用
引用第1樓chenqingquan于2015-01-03 09:56發(fā)表的  :
D1*1000+D*10+D2=12345

假如條碼只是三位數(shù)的呢,比如900,這樣應(yīng)該要PLC怎么算呢?
lk546-工控
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 6 個
工控威望: 94 點
下載積分: 576 分
在線時間: 9(小時)
注冊時間: 2015-01-04
最后登錄: 2015-05-04
查看lk546-工控的 主題 / 回貼
5樓  發(fā)表于: 2015-01-04 11:28
讀完緩存區(qū)數(shù)值后清零,或者是寫FF,下次讀之前判斷
上機數(shù)據(jù)庫
賞心悅目
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 351 個
工控威望: 1388 點
下載積分: 1667 分
在線時間: 869(小時)
注冊時間: 2008-12-24
最后登錄: 2024-12-22
查看賞心悅目的 主題 / 回貼
6樓  發(fā)表于: 2015-01-04 21:00
引用
引用第5樓lk546-工控于2015-01-04 11:28發(fā)表的  :
讀完緩存區(qū)數(shù)值后清零,或者是寫FF,下次讀之前判斷

呵呵,它是這樣,假如要讀取的條碼數(shù)值是900的話,D0的值就是90,D1的值就是0,這樣的話你讓PLC還傻乎乎得乘1000的話那就跟實際值相差了10倍了。
li051005
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 21 個
工控威望: 149 點
下載積分: 12063 分
在線時間: 436(小時)
注冊時間: 2013-05-10
最后登錄: 2024-12-22
查看li051005的 主題 / 回貼
7樓  發(fā)表于: 2015-01-05 08:26
試試用位指定,如:BCDP D2 K2M0  
BCDP D1 K2M8
BCDP D0 K2M16
DBINP K8M0 D10
chenqingquan
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 40 個
工控威望: 175 點
下載積分: 618 分
在線時間: 59(小時)
注冊時間: 2013-08-13
最后登錄: 2021-03-13
查看chenqingquan的 主題 / 回貼
8樓  發(fā)表于: 2015-01-05 17:02
D0萬位、D1百位、D2個位不是固定的嗎