孫 潔,王興楠,劉曉悅
(華北理工大學(xué) 電氣工程學(xué)院,河北 唐山 063210)
隨著智能制造時(shí)代的到來,信息化技術(shù)與自動(dòng)化技術(shù)融合不斷加深,對于制造業(yè)來說,需要利用信息化手段傳輸數(shù)據(jù),優(yōu)化生產(chǎn)管理,同時(shí)也需要自動(dòng)化水平提高來提高生產(chǎn)效率[1].在這樣的環(huán)境下MES(Manufacturing Execution System,制造企業(yè)生產(chǎn)過程執(zhí)行系統(tǒng))成為了許多大中型制造型企業(yè)的主要生產(chǎn)信息化管理系統(tǒng)[2].同時(shí)對于大中型生產(chǎn)線體來說所使用的設(shè)備種類繁多,通信方法不同,同時(shí)數(shù)據(jù)采集量非常大,MES系統(tǒng)搭建異常繁瑣,成本極高,導(dǎo)致當(dāng)前國內(nèi)在推行MES系統(tǒng)是步履維艱.MES管理系統(tǒng)的應(yīng)用核心是數(shù)據(jù)通信的準(zhǔn)確性、實(shí)時(shí)性,需要采集的數(shù)據(jù)包括物料跟蹤信息、生產(chǎn)計(jì)劃信息、設(shè)備運(yùn)行信息等等[3].當(dāng)前MES系統(tǒng)與現(xiàn)場設(shè)備通信的方式很多,包括通過第三方軟件使用計(jì)算機(jī)匯編語言編程訪問MES數(shù)據(jù)庫或CSV文件,通過OPC服務(wù)器作為中間件的方式進(jìn)行訪問[4],通過RFID射頻技術(shù)進(jìn)行數(shù)據(jù)傳輸,通過組態(tài)軟件將現(xiàn)場設(shè)備組網(wǎng)等等[5].PLC(可編程邏輯控制器)可實(shí)現(xiàn)底層設(shè)備控制和數(shù)據(jù)采集[6],同時(shí)具有開放安全可靠的特點(diǎn)在工業(yè)控制中得到了廣泛的應(yīng)用.因此,在MES系統(tǒng)與西門子S7-300系列PLC的實(shí)時(shí)通信上做了深入研究,分別提出基于Ethernet通信協(xié)議的PLC端通信模塊程序?qū)崿F(xiàn)PLC與MES系統(tǒng)的實(shí)時(shí)通信[7],并在某汽車制造廠發(fā)動(dòng)機(jī)裝配生產(chǎn)線上進(jìn)行驗(yàn)證,對于提高生產(chǎn)效率,生產(chǎn)過程可視化具有重要意義.
采用GE Proficy MES系統(tǒng),在MES系統(tǒng)中編寫VDCom通信軟件,該軟件是基于TCP協(xié)議的收發(fā)報(bào)文軟件,工位啟動(dòng)時(shí)VDCom發(fā)送報(bào)文配置封裝在PLC程序中的S/W包,完成初始化配置.工位所需執(zhí)行的工序指令均由MES系統(tǒng)發(fā)布,當(dāng)正在進(jìn)行的工序完成后,PLC會(huì)發(fā)送結(jié)果,有MES系統(tǒng)進(jìn)行判斷,然后PLC將控制工位進(jìn)行下一個(gè)工序操作,其中PLC為接收和發(fā)布報(bào)文設(shè)置活動(dòng)緩存區(qū).
本設(shè)計(jì)的創(chuàng)新點(diǎn)是取消了以往MES與PLC之間通過OPC UA等“中間件”的銜接,采用虛擬設(shè)備通信,將這以技術(shù)應(yīng)用在發(fā)動(dòng)機(jī)裝配線上,命名為VDCA(Virtual Device Communication for Assembly-裝配虛擬設(shè)備通信).這里VDCA是一個(gè)通信概念,它允許MES服務(wù)器與各工位PLC進(jìn)行通信.通過服務(wù)器與各工位之間發(fā)送和接收報(bào)文來執(zhí)行信息交互.在PLC控制端,可通過HMI(人機(jī)界面)來控制VDCA狀態(tài)轉(zhuǎn)換.VDCA主要檢查接收報(bào)文中的數(shù)據(jù)信息,VD(Virtual Device-虛擬設(shè)備)是VDCA中的核心部分,其作用主要面向設(shè)備層,VD定義了許多報(bào)文代碼以及8位字符串?dāng)?shù)據(jù)與XML數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換.在PLC中,各部分的VDCA程序塊用來處理各部分的報(bào)文和數(shù)據(jù)轉(zhuǎn)化.同時(shí)與PLC外接的一些設(shè)備組件,具有獨(dú)立串口通信的設(shè)備,可以直接與VDCom軟件進(jìn)行通信.
IBM WebSphere MQ(MQ)消息隊(duì)列,是一種應(yīng)用程序?qū)?yīng)用程序的通信方法[8].這種消息隊(duì)列服務(wù)允許連接的組件通過不同的隊(duì)列進(jìn)行通信.本設(shè)計(jì)可以使VD接收一個(gè)隊(duì)列的上的報(bào)文,并在另一個(gè)隊(duì)列上發(fā)布報(bào)文,實(shí)現(xiàn)了不同信息通道可靠和安全的信息交互.如圖1所示為VD通信軟件中關(guān)于PLC的通信結(jié)構(gòu).
圖1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 System network structure diagram
采用S7-300系列PLC可滿足多類型通信協(xié)議,同時(shí)可滿足分布式結(jié)構(gòu)和多界面網(wǎng)絡(luò)能力,可采用多點(diǎn)接口(MPI)通信、PROFIBUS-DP接口通信、PROFINET(PN)通信、點(diǎn)對點(diǎn)(PTP)通信.在本設(shè)計(jì)中采用PN通信,基于TCP通信協(xié)議的PN通信因其兼容性強(qiáng),傳輸速率高、傳輸穩(wěn)定等特點(diǎn)在當(dāng)今工業(yè)領(lǐng)域應(yīng)用越來越廣泛.利用Python開發(fā)的西門子TCP/IP調(diào)試助手,對S7-300系列具有Ethernet TCP/IP通信方式的PLC的寄存器(I、M、Q、DB區(qū))值進(jìn)行讀寫,采用102端口進(jìn)行PLC配置參數(shù)設(shè)置、連接、寄存器地址參數(shù)設(shè)置以及值的讀寫,讀值間隔為100ms[9].通過消息窗口動(dòng)態(tài)顯示連接信息和讀寫信息,連續(xù)以及非連續(xù)讀值模式,同時(shí)通過西門子HMI觸摸屏以及PC界面進(jìn)行人機(jī)交互.
帶有PN接口的S7-300系列PLC可以與MES系統(tǒng)直接通信,傳送到PLC和從PLC傳送的信息作為機(jī)器可讀的8位字符串?dāng)?shù)據(jù)進(jìn)行發(fā)送,從MES發(fā)送到PLC的信息包括工作流程指令和生產(chǎn)裝配指令.從PLC發(fā)送到MES系統(tǒng)的信息包括過程值、報(bào)警和生產(chǎn)結(jié)果.用戶可以通過HMI與PLC進(jìn)行交互.交互選項(xiàng)包括配置、報(bào)警報(bào)告和其它外接單元控制,其它外接單元包括擰緊槍,相機(jī),傳感器,機(jī)器人等.系統(tǒng)框架圖如圖2所示.
圖2 系統(tǒng)結(jié)構(gòu)圖Fig.2 System structure diagram
通過報(bào)文程序設(shè)計(jì),將報(bào)文信息發(fā)送到MES服務(wù)器和各工位,發(fā)送的報(bào)文信息包括物料批次信息,將執(zhí)行的裝配工作以及裝配的執(zhí)行方式.采用Kibana工具進(jìn)行報(bào)文通信記錄,因其即可接受來自PLC的8位字符串信息同時(shí)也可接受來自MES系統(tǒng)可讀的XML數(shù)據(jù),如下為編寫的兩種針對物料判定(MaterialIdentified)的報(bào)文程序:
PLC發(fā)布的8位字符串代碼
MES接收發(fā)布的XML代碼
這段報(bào)文規(guī)定了當(dāng)具有RFID標(biāo)簽的托盤經(jīng)過該工位是可自動(dòng)識別出該托盤,通過工位上的傳感器讀取托盤RFID標(biāo)簽,當(dāng)讀取完成后由PLC發(fā)送給MES.
在消息隊(duì)列MQ中,進(jìn)行交互的報(bào)文信息除了MaterialIdentified,還包括如表1所示報(bào)文信息,以及如圖3所示的信息流圖.
表1 報(bào)文信息列表
Table 1 List of message information
報(bào)文名稱說明MaterialIdentified托盤信息Recipe托盤信息對應(yīng)零件的所有信息Result托盤狀態(tài)、操作狀態(tài)、活動(dòng)狀態(tài)ResultAcknowledge結(jié)果確認(rèn)PerformanceIndicators測量數(shù)據(jù)及處理時(shí)間ReleaseMaterial釋放托盤ReleaseMaterialAcknowledge釋放托盤確認(rèn)OperatorIdentity操作信息OperatorAuthorizationRe-quest操作確認(rèn)請求OperatorAuthorizationRe-sponse操作登記確認(rèn)CancelActivityRequest請求指令EquipmentAlarm設(shè)備報(bào)警EquipmentStatus設(shè)備狀態(tài)
通過MES系統(tǒng)管理發(fā)動(dòng)機(jī)信息,利用PLC控制發(fā)動(dòng)機(jī)機(jī)裝配線,本設(shè)計(jì)通過在西門子S7-300系列PLC內(nèi)部編寫標(biāo)準(zhǔn)西門子程序塊來完成報(bào)文的收發(fā),如圖3的報(bào)文信息流圖所示,其基本流程是:PLC準(zhǔn)備號報(bào)文(在VDCA程序塊中寫
圖3 信息報(bào)文流圖Fig.3 Information message flow diagram
好數(shù)據(jù)),通過PLC信號突發(fā)報(bào)文發(fā)送,VDCom接收PLC報(bào)文傳送給MES,MES系統(tǒng)在將相應(yīng)的報(bào)文反饋給PLC,然后PLC接收到報(bào)文(VDCA程序塊內(nèi)有信息接收引腳).
西門子S7-300系列PLC與MES系統(tǒng)通信是基于Profinet通信協(xié)議的級聯(lián)性等時(shí)通信,等時(shí)通信在IRT的基礎(chǔ)上可實(shí)現(xiàn)各個(gè)站點(diǎn)的輸入信號同時(shí)到達(dá)MES系統(tǒng),同時(shí)MES系統(tǒng)發(fā)出的指令也可同時(shí)到達(dá)各個(gè)站點(diǎn)的輸出模塊.通過西門子Scanlance S602交換機(jī)可實(shí)現(xiàn)PLC組態(tài)的內(nèi)部網(wǎng)絡(luò)與MES系統(tǒng)的外部網(wǎng)絡(luò)不同網(wǎng)段間的通信轉(zhuǎn)換.
MES系統(tǒng)發(fā)送XML代碼到VDCom,VDCom與PLC通過8位字符串代碼進(jìn)行數(shù)據(jù)通信.如圖4所示,通信程序塊為VDC_System1,并在組織塊OB1中調(diào)用該塊,在VDC_System1中調(diào)用VDC_MasterPNConfig程序塊,同時(shí)調(diào)用VDC_MasterPN程序塊,程序塊中關(guān)鍵程序代碼如下:
圖4 PLC與VDCom通信程序功能塊Fig.4 PLC and VDCom communication program function block
L 1 //MES系統(tǒng)與PLC的Connection ID一直為1 T #tLocalConnectionID
// Local device ID //CPU315 and CPU317=2,CPU319=3
L 2 //本地設(shè)備的ID必須為2
T #tLocalDeviceID
//已使用連接ID的本地TSAP(Transport Service Access Point-傳輸服務(wù)接入點(diǎn))TSAP必須唯一.
//Local TSAP ID
L ′V′
T #tLocalTSAP1
L ′D′
T #tLocalTSAP2
L ′C′
T #tLocalTSAP3
L ′O′
T #tLocalTSAP4
L ′M′
T #tLocalTSAP5
L ′0′
T #tLocalTSAP6
L ′0′
T #tLocalTSAP7
L ′1′
T #tLocalTSAP8
通過VDCom軟件以及基于S7-300系列PLC編寫的VDCA通信程序模塊,在沒有中間件的情況下,實(shí)現(xiàn)了MES系統(tǒng)與PLC的信息交互,本設(shè)計(jì)應(yīng)用在某汽車發(fā)動(dòng)機(jī)生產(chǎn)線上,采用Profinet通信協(xié)議,取消中間件環(huán)節(jié),縮短了PLC的響應(yīng)時(shí)間,提高了生產(chǎn)效率,如圖5所示為工位硬件組態(tài),通過PLC采集數(shù)據(jù)與VDCom進(jìn)行在線交互,通過唯一ID來控制工位啟停,傳送給VDCom,VDCom將數(shù)據(jù)傳送給MES,MES將數(shù)據(jù)通過Kibana軟件顯示在操作屏幕上,如圖6所示.
圖5 PLC網(wǎng)絡(luò)組態(tài)圖Fig.5 PLC network configuration diagram
圖6 MES數(shù)據(jù)顯示界面Fig.6 MES data display interface
該研究采用西門子S7-300系列PLC通過程序設(shè)計(jì)編寫的基于Profinet通信協(xié)議與MES系統(tǒng)進(jìn)行直接通信的程序模塊,取消了以往工業(yè)控制中PLC與MES系統(tǒng)交互過程中的中間件使用,通過采用VDCom軟件將XML代碼與8位字符串進(jìn)行轉(zhuǎn)換,這樣設(shè)計(jì)簡單靈活,可操作性強(qiáng),可應(yīng)用與現(xiàn)代化工業(yè)生產(chǎn)線,減少了中間硬件,降低了生產(chǎn)成本,對于未來工業(yè)控制中控制模塊化、簡便化有重大意義.