1 引言
隨著物流技術的發展,條碼檢測已越來越多被采用。基于S7-200 PLC 的條碼監控系統在上位機的監控下,對采集的條碼信息進行處理,利用PLC控制物件流向,并把管理信息送至上位機,使系統工作效率大大提高,節約了人力物力,有廣泛的應用前景。
2 系統功能結構
如圖1,該系統在物件運送的輥道上安裝條碼掃描器,當物件通過時自動識別物件上的條碼標記,從而判斷應采取的動作。系統根據讀到的條碼信息,按事先的約定進行處理,包括物件要存放的位置、是否放行、非正常情況的報警等、并和PLC、上位計算機進行數據交換。
物件的條碼由條碼掃描器讀入并通過通訊轉換送入PLC的通訊口,我們采用的PLC是S7-200系列的226 PLC。它是西門子公司生產的性能價格比很高的可編程控制器,已廣泛應用于工業控制的各個領域。
3 軟件設計
3.1 PLC的條碼識別
PLC采用自由通訊口方式讀取條碼的信息,主要用到3個寄存器SMB2、SMB3、SMB30。
通訊接收字符緩沖器SMB2用于存放在自由口通訊方式下接收到的當前字符,它是一個暫存寄存器,一般應在下一步取走其中的內容。
通訊校驗結果寄存器SMB3,在作自由口通訊時,PLC的通訊接口按由SMB30規定的奇偶校驗方式對所接受到的信號作校驗。若檢測到錯誤,PLC自動把SMB3.0置1,根據此標志位,可決定當前信息的取舍,同時還可在出錯的情況下,將此錯誤信息發給對方,要求重發。
控制字寄存器SMB30用于存儲通訊方式控制字,由用戶寫入,屬于可讀寫的特殊標志位寄存器,其格式如下:
3.2 PLC程序設計
(1) 程序結構
PLC的控制程序采用西門子的編程軟件包STEP7完成, 通過上位機與PLC進行程序傳送, 其程序結構圖如圖2:
(2) 程序和注釋
該程序從條形碼閱讀器接收信息再存入兩個緩沖區, 從條形碼解碼器傳出的信息是ASCII碼形式,所接受的條形碼存在SIMATIC內存中。這些數據可被程序利用,但本例中僅僅將信息存入接收緩沖區,可以用SIMATIC S7-200程序包來查看。
MAIN(主程序):初始化程序
SBRO(子程序0):接收條形碼
INT 0(中斷程序0):緩沖區0接收
INT 1(中斷程序1):緩沖區1接收
(3) 自由協議的定義
西門子 S7-200系列PLC本機帶有一個或兩個(S7-226)485物理接口,此485口具有3種通訊協議: PPI、自由通訊協議、Profibus協議。
PPI協議主要是用來編程、PPI組網、HMI接口等;自由協議則可以由用戶定義通訊協議,將CPU與任意通訊協議公開的設備聯網,如上位計算機、打印機,條碼器等等。所謂自由協議,用戶可以通過設置特殊寄存器 SMB30、SMB130(對應226的2#口)的參數改變485口的波特率、數據格式(數據位數、停止位、校驗),以適應不同的通訊協議。226具有兩個通訊口,可以同時與兩個不同外設連接。
(4) 編程步驟
首先設置通訊口,既設置SMB30、SMB130;
根據外設的協議決定通訊協議;
與通訊有關的指令及中斷
指令簡單,例如XMT99,0既可以完成最多255個字節(字節數由VB99內設置的數決定)的發送;而接收則要由中斷程序完成,每收到一個字節的數據則產生一次中斷,接受到的數據保存在接收緩存器(SMB2)內,中斷服務程序內您必須立即處理此數據,因為下一個接收的字節也要放在 SMB2中,也就是說接收緩存器的大小只有一個字節,本例只用到接受。
3.3 上位機監控軟件設計
上位PC機與PLC之間通過一個RS232/485轉換器連接,上位PC機的監控程序采用北京亞控公司的組態王(Kingview)完成。組態王是國內使用較多的工控平臺,具有良好的人機界面和網絡功能。在組態環境下,設計人員對PLC進行參數、狀態、條碼設定;運行環境以人機界面的形式對條碼信息監控,對PLC發出控制命令,對有關數據存儲報表,同時利用Web功能使系統具有在線監控功能,即在上位機授權的情況下在任何一臺聯網的計算機上用標準的瀏覽器可遠程監控。限于篇幅,監控程序不再詳述。
4 結束語
基于S7-200的條碼監控系統是濟南大學山東省級重點實驗室的重要組成部分,該系統的設計結構合理,運行可靠,有較高的推廣價值。