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