當前很多工業(yè)產(chǎn)品在生產(chǎn)、測試、物流配送時往往都需要一個身份標識。通過這個標識可以方便的查詢到產(chǎn)品流水線的各個環(huán)節(jié)的相關測試數(shù)據(jù)以及庫存位置等信息。而條形碼或者二維碼由于簡單、可靠、廉價、便捷成為絕大多數(shù)產(chǎn)品的標識。通過掃描槍可以方便的掃描到條形碼或二維碼的數(shù)據(jù),從而實現(xiàn)對產(chǎn)品的編號識別。
掃描槍可分為手持式、平臺式等,掃描槍的接口可以為串口、并口、USB口或者PS2口等。實際應用中,涉及到條形碼或者掃描槍的項目,通常會借助關系數(shù)據(jù)庫需要保存相關條碼內(nèi)容以及該條碼產(chǎn)品的相關參數(shù),同時在現(xiàn)場還可能涉及到PLC等工業(yè)產(chǎn)品的通信、監(jiān)控等操作。紫金橋組態(tài)軟件可以便捷的和掃描槍以及PLC等產(chǎn)品通信,同時可以方便的和關系數(shù)據(jù)庫進行通信。僅以筆者做過的項目而言,使用組態(tài)軟件和掃描槍配套的項目主要應用在車間流水線監(jiān)測、產(chǎn)品在出庫或者入庫等物流方面。這里簡單總結(jié)下在應用中的幾點認識:
在和組態(tài)軟件配套的時候,通常選用接口為串口的掃描槍。不論掃描槍是紅外線還是激光的,其掃描的數(shù)據(jù)通常都是以ASCII碼的形式通過串口傳遞到PC的,不同的掃描槍可能會在數(shù)據(jù)的頭尾增加上一些包頭或包尾的標識。一般講來,通信都是比較簡單的。不過絕大部分掃描槍的通信都是單向的,都是掃描槍把數(shù)據(jù)發(fā)給PC,發(fā)送的數(shù)據(jù)一般很少有校驗,PC只是被動接收數(shù)據(jù),而且難以判斷數(shù)據(jù)的正確與否。
一般涉及到掃描槍的項目,通常都會使用到關系數(shù)據(jù)庫,保存條碼內(nèi)容以及該條碼產(chǎn)品的相關參數(shù)。這里要考慮兩方面的內(nèi)容,一個是數(shù)據(jù)的多少,一個是數(shù)據(jù)間隔時間。所謂的數(shù)據(jù)多少,是指需要保存的歷史紀錄,在流水線上,通常每天會產(chǎn)生上千條紀錄,這些紀錄保存、查詢都需要占有一定的空間,如果保存時間較短,數(shù)據(jù)較少,可以使用Access數(shù)據(jù)庫,簡單,便宜。如果每天數(shù)據(jù)量較多,保存的時間較長,則可以使用SQL sever或者Oracle等關系數(shù)據(jù)庫,不過這兩種數(shù)據(jù)庫的價格都不低,在實際應用中,有時會用多個Access數(shù)據(jù)庫或者每天保存到文本或Excel中等折中的方法實現(xiàn)數(shù)據(jù)的廉價保存。當然在使用折中的方法時,數(shù)據(jù)的查詢等操作等都不是方便了。除了數(shù)據(jù)的多少外,實際應用中,有時還要關心數(shù)據(jù)的間隔時間。所謂數(shù)據(jù)的間隔時間,是指有時對于一條記錄的若干字段可能在較短的時間內(nèi)有若干更新操作,而且先更新的數(shù)據(jù)可能會影響到后更新的數(shù)據(jù)。比如在某條生產(chǎn)線上,需要進行兩個參數(shù)的測試,當前者測試合格后,后者則繼續(xù)測試。這種情況下,要注意兩者之間的時間間隔。因為通過ODBC或者OLEDB等方式訪問關系數(shù)據(jù)庫時,是要用一定的時間的,這個時間通常是關系數(shù)據(jù)庫本身決定,而且當數(shù)據(jù)較多時,一定要注意索引等方面的設置,以加快關系數(shù)據(jù)庫的相關操作。
在使用掃描槍的工程中,有時會涉及到聯(lián)動控制,比如先通過掃描槍掃描條碼,條碼保存到PC中,同時PC控制PLC或者其他儀表進行對該產(chǎn)品的測試等操作。在很多情況下,掃描槍本身和PLC間沒有直接的通信,PLC無法判斷測試的產(chǎn)品的條碼,這時,是靠PC來通知PLC測試,然后把測試結(jié)果保存到該條碼數(shù)據(jù)內(nèi)。實際操作中一定要嚴格規(guī)范操作。
以上幾點是筆者在使用紫金橋軟件與掃描槍配套時的幾點體會。當前掃描槍在工業(yè)控制領域中的應用日益增多,這里也希望能給各位帶來一點幫助,不對之處還請各位指正。