艾韋迅自主研發(fā)的串口掃描槍、485接口掃描槍可支持與西門子PLC、三菱PLC、臺電PLC等各類品牌的PLC工控設(shè)備通訊,在實(shí)際應(yīng)用中獲得了較好的使用效果,下圖為使用現(xiàn)場拍攝圖:
PLC與條碼掃描槍通訊問題集錦
1、西門子1200PLC怎么用自由口跟條碼掃描槍通信?最好能提供程序例子。
答:首先要確定掃描槍的接口是不是485串口,第二要知道該掃描槍的通訊格式然后才能通過自由口進(jìn)行編程。西門子下載資料中有條碼的例子。
2、我用一個條碼掃描槍與一臺三菱2NPLC用RS指令通訊,監(jiān)控程序可以看到讀出來有數(shù)據(jù),但是跟實(shí)際的條碼值相差甚遠(yuǎn)。條碼值一般有26個字母的大小寫和10個阿拉伯?dāng)?shù)字的組合,這個組合有長有短,三菱的一個數(shù)據(jù)寄存器比如D120可以存儲和顯示長達(dá)十幾位的條碼值嗎?還是只存儲一個值,其他值依次存到D121,D122下面去呢?我監(jiān)控程序卻搞不懂其中的奧妙。還有,PLC讀出來的數(shù)據(jù)怎么樣轉(zhuǎn)換為有26個字母大小寫和10個阿拉伯?dāng)?shù)字的組合就是實(shí)際上的條碼值呢?然后在人機(jī)界面里顯示出來。
答:在用RS指令的時候是發(fā)送的一個數(shù)據(jù)幀,可以是讀或者寫數(shù)據(jù),你要讀掃描儀的條碼肯定要知道他的掃描槍通訊協(xié)議,是專用的還是MODBUS 協(xié)議,然后要知道條碼的數(shù)據(jù)存儲區(qū)域地址以及數(shù)據(jù)類型和大小,然后才好用RS指令去讀取這個站址的條碼存儲區(qū)域地址的數(shù)據(jù),如果是兩個字則反饋的數(shù)據(jù)只要把這兩個字的類容顯示出來就好了,其他反饋的字不用去處理,仔細(xì)看看條碼槍的通訊協(xié)議的數(shù)據(jù)讀寫格式,和RS指令用法就行。
每個寄存器儲存1-2個字符,讀出來的數(shù)值要自己轉(zhuǎn)換為ASCII碼才能與條碼對應(yīng)上;比如監(jiān)控為H36,它對應(yīng)ASCII碼的,網(wǎng)上查詢ACSII碼對照表,看看與實(shí)際條碼的對應(yīng)關(guān)系。
3、PLC獲取到的條碼掃描槍數(shù)據(jù)不正確,怎么處理?
答:從監(jiān)控結(jié)果來看,接收到的數(shù)據(jù)未能連續(xù)獲得,所以:1.確認(rèn)通訊設(shè)置與實(shí)際相符,尤其是波特率;2.找掃碼器說明書,設(shè)置其通訊格式。解決以上問題,將條碼全部讀入PLC中再討論程序問題。
4、我有一臺CPU224和USB接口的掃描槍各一個,需要實(shí)現(xiàn)的功能是掃描槍掃出來的條碼PLC能讀到?,F(xiàn)在有問題:1是否要有一根USB轉(zhuǎn)485的連接線來插到PLC得端口1或0上,為什么,USB轉(zhuǎn)232是否可以。
答:因?yàn)镾7-200的本機(jī)端口物理電平是RS485標(biāo)準(zhǔn)的,USB接口的掃描槍估計是沒法用,因?yàn)閽呙铇寫?yīng)該是USB從設(shè)備,不能像電腦那樣使用USB轉(zhuǎn)RS485接口,當(dāng)然USB轉(zhuǎn)RS232更不行了,你可以咨詢掃描槍廠家,應(yīng)該不能轉(zhuǎn)換,你應(yīng)該換成RS485接口的掃描槍,或者是RS232接口的,再通過RS232轉(zhuǎn)成RS485.