1 引言
隨著物流技術(shù)的發(fā)展,條碼檢測(cè)已越來越多被采用。基于S7-200 PLC 的條碼監(jiān)控系統(tǒng)在上位機(jī)的監(jiān)控下,對(duì)采集的條碼信息進(jìn)行處理,利用PLC控制物件流向,并把管理信息送至上位機(jī),使系統(tǒng)工作效率大大提高,節(jié)約了人力物力,有廣泛的應(yīng)用前景。
2 系統(tǒng)功能結(jié)構(gòu)
如圖1,該系統(tǒng)在物件運(yùn)送的輥道上安裝條碼掃描器,當(dāng)物件通過時(shí)自動(dòng)識(shí)別物件上的條碼標(biāo)記,從而判斷應(yīng)采取的動(dòng)作。系統(tǒng)根據(jù)讀到的條碼信息,按事先的約定進(jìn)行處理,包括物件要存放的位置、是否放行、非正常情況的報(bào)警等、并和PLC、上位計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
物件的條碼由條碼掃描器讀入并通過通訊轉(zhuǎn)換送入PLC的通訊口,我們采用的PLC是S7-200系列的226 PLC。它是西門子公司生產(chǎn)的性能價(jià)格比很高的可編程控制器,已廣泛應(yīng)用于工業(yè)控制的各個(gè)領(lǐng)域。
3 軟件設(shè)計(jì)
3.1 PLC的條碼識(shí)別
PLC采用自由通訊口方式讀取條碼的信息,主要用到3個(gè)寄存器SMB2、SMB3、SMB30。
通訊接收字符緩沖器SMB2用于存放在自由口通訊方式下接收到的當(dāng)前字符,它是一個(gè)暫存寄存器,一般應(yīng)在下一步取走其中的內(nèi)容。
通訊校驗(yàn)結(jié)果寄存器SMB3,在作自由口通訊時(shí),PLC的通訊接口按由SMB30規(guī)定的奇偶校驗(yàn)方式對(duì)所接受到的信號(hào)作校驗(yàn)。若檢測(cè)到錯(cuò)誤,PLC自動(dòng)把SMB3.0置1,根據(jù)此標(biāo)志位,可決定當(dāng)前信息的取舍,同時(shí)還可在出錯(cuò)的情況下,將此錯(cuò)誤信息發(fā)給對(duì)方,要求重發(fā)。
控制字寄存器SMB30用于存儲(chǔ)通訊方式控制字,由用戶寫入,屬于可讀寫的特殊標(biāo)志位寄存器,其格式如下:

3.2 PLC程序設(shè)計(jì)
(1) 程序結(jié)構(gòu)
PLC的控制程序采用西門子的編程軟件包STEP7完成, 通過上位機(jī)與PLC進(jìn)行程序傳送, 其程序結(jié)構(gòu)圖如圖2:
[NextPage]
圖 2 程序結(jié)構(gòu)圖
(2) 程序和注釋
該程序從條形碼閱讀器接收信息再存入兩個(gè)緩沖區(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本機(jī)帶有一個(gè)或兩個(gè)(S7-226)485物理接口,此485口具有3種通訊協(xié)議:PPI、自由通訊協(xié)議、Profibus協(xié)議。
P PI協(xié)議主要是用來編程、PPI組網(wǎng)、HMI接口等;自由協(xié)議則可以由用戶定義通訊協(xié)議,將CPU與任意通訊協(xié)議公開的設(shè)備聯(lián)網(wǎng),如上位計(jì)算機(jī)、打印機(jī),條碼器等等。所謂自由協(xié)議,用戶可以通過設(shè)置特殊寄存器 SMB30、SMB130(對(duì)應(yīng)226的2#口)的參數(shù)改變485口的波特率、數(shù)據(jù)格式(數(shù)據(jù)位數(shù)、停止位、校驗(yàn)),以適應(yīng)不同的通訊協(xié)議。226具有兩個(gè)通訊口,可以同時(shí)與兩個(gè)不同外設(shè)連接。
(4) 編程步驟
?首先設(shè)置通訊口,既設(shè)置SMB30、SMB130;
?根據(jù)外設(shè)的協(xié)議決定通訊協(xié)議;
?與通訊有關(guān)的指令及中斷
指令簡(jiǎn)單,例如XMT99,0既可以完成最多255個(gè)字節(jié)(字節(jié)數(shù)由VB99內(nèi)設(shè)置的數(shù)決定)的發(fā)送;而接收則要由中斷程序完成,每收到一個(gè)字節(jié)的數(shù)據(jù)則產(chǎn)生一次中斷,接受到的數(shù)據(jù)保存在接收緩存器(SMB2)內(nèi),中斷服務(wù)程序內(nèi)您必須立即處理此數(shù)據(jù),因?yàn)橄乱粋€(gè)接收的字節(jié)也要放在 SMB2中,也就是說接收緩存器的大小只有一個(gè)字節(jié),本例只用到接受。
3.3 上位機(jī)監(jiān)控軟件設(shè)計(jì)
上位PC機(jī)與PLC之間通過一個(gè)RS232/485轉(zhuǎn)換器連接,上位PC機(jī)的監(jiān)控程序采用北京亞控公司的組態(tài)王(Kingview)完成。組態(tài)王是國內(nèi)使用較多的工控平臺(tái),具有良好的人機(jī)界面和網(wǎng)絡(luò)功能。在組態(tài)環(huán)境下,設(shè)計(jì)人員對(duì)PLC進(jìn)行參數(shù)、狀態(tài)、條碼設(shè)定;運(yùn)行環(huán)境以人機(jī)界面的形式對(duì)條碼信息監(jiān)控,對(duì)PLC發(fā)出控制命令,對(duì)有關(guān)數(shù)據(jù)存儲(chǔ)報(bào)表,同時(shí)利用Web功能使系統(tǒng)具有在線監(jiān)控功能,即在上位機(jī)授權(quán)的情況下在任何一臺(tái)聯(lián)網(wǎng)的計(jì)算機(jī)上用標(biāo)準(zhǔn)的瀏覽器可遠(yuǎn)程監(jiān)控。限于篇幅,監(jiān)控程序不再詳述。
4 結(jié)束語
基于S7-200的條碼監(jiān)控系統(tǒng)是濟(jì)南大學(xué)山東省級(jí)重點(diǎn)實(shí)驗(yàn)室的重要組成部分,該系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)合理,運(yùn)行可靠,有較高的推廣價(jià)值。
機(jī)電用戶 【求購】 不銹鋼風(fēng)門 2025-5-13
胡 【求購】 鋁板 2025-5-13
丁女士 【求購】 超凈工作臺(tái) 2025-5-13
劉 【求購】 氧分子篩 2025-5-13
潘先生 【求購】 電源管理芯... 2025-5-13
鄒 【求購】 氣動(dòng)蝶閥 2025-5-12
張經(jīng)理 【求購】 單片機(jī)開發(fā) 2025-5-12