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