1 引言
隨著物流技術(shù)的發(fā)展,條碼檢測已越來越多被采用。基于s7-200 plc的條碼監(jiān)控系統(tǒng)在上位機的監(jiān)控下,對采集的條碼信息進行處理,利用plc控制物件流向,并把管理信息送至上位機,使系統(tǒng)工作效率大大提高,節(jié)約了人力物力,有廣泛的應(yīng)用前景。
2 系統(tǒng)功能結(jié)構(gòu)
如圖1,該系統(tǒng)在物件運送的輥道上安裝條碼掃描器,當(dāng)物件通過時自動識別物件上的條碼標(biāo)記,從而判斷應(yīng)采取的動作。系統(tǒng)根據(jù)讀到的條碼信息,按事先的約定進行處理,包括物件要存放的位置、是否放行、非正常情況的報警等、并和plc、上位計算機進行數(shù)據(jù)交換。
物件的條碼由條碼掃描器讀入并通過通訊轉(zhuǎn)換送入plc的通訊口,我們采用的plc是s7-200系列的226plc。它是西門子公司生產(chǎn)的性能價格比很高的可編程控制器,已廣泛應(yīng)用于工業(yè)控制的各個領(lǐng)域。
3 軟件設(shè)計
3.1 plc的條碼識別
plc采用自由通訊口方式讀取條碼的信息,主要用到3個寄存器smb2、smb3、smb30。
通訊接收字符緩沖器smb2用于存放在自由口通訊方式下接收到的當(dāng)前字符,它是一個暫存寄存器,一般應(yīng)在下一步取走其中的內(nèi)容。
通訊校驗結(jié)果寄存器smb3,在作自由口通訊時,plc的通訊接口按由smb30規(guī)定的奇偶校驗方式對所接受到的信號作校驗。若檢測到錯誤,plc自動把smb3.0置1,根據(jù)此標(biāo)志位,可決定當(dāng)前信息的取舍,同時還可在出錯的情況下,將此錯誤信息發(fā)給對方,要求重發(fā)。
控制字寄存器smb30用于存儲通訊方式控制字,由用戶寫入,屬于可讀寫的特殊標(biāo)志位寄存器,其格式如下:
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é)議。
pi協(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)的計算機上用標(biāo)準的瀏覽器可遠程監(jiān)控。限于篇幅,監(jiān)控程序不再詳述。
4 結(jié)束語
基于s7-200的條碼監(jiān)控系統(tǒng)是濟南大學(xué)山東省級重點實驗室的重要組成部分,該系統(tǒng)的設(shè)計結(jié)構(gòu)合理,運行可靠,有較高的推廣價值。
(審核編輯: Doris)
分享