孫 潔,王興楠,劉曉悅
(華北理工大學 電氣工程學院,河北 唐山 063210)
隨著智能制造時代的到來,信息化技術與自動化技術融合不斷加深,對于制造業來說,需要利用信息化手段傳輸數據,優化生產管理,同時也需要自動化水平提高來提高生產效率[1].在這樣的環境下MES(Manufacturing Execution System,制造企業生產過程執行系統)成為了許多大中型制造型企業的主要生產信息化管理系統[2].同時對于大中型生產線體來說所使用的設備種類繁多,通信方法不同,同時數據采集量非常大,MES系統搭建異常繁瑣,成本極高,導致當前國內在推行MES系統是步履維艱.MES管理系統的應用核心是數據通信的準確性、實時性,需要采集的數據包括物料跟蹤信息、生產計劃信息、設備運行信息等等[3].當前MES系統與現場設備通信的方式很多,包括通過第三方軟件使用計算機匯編語言編程訪問MES數據庫或CSV文件,通過OPC服務器作為中間件的方式進行訪問[4],通過RFID射頻技術進行數據傳輸,通過組態軟件將現場設備組網等等[5].PLC(可編程邏輯控制器)可實現底層設備控制和數據采集[6],同時具有開放安全可靠的特點在工業控制中得到了廣泛的應用.因此,在MES系統與西門子S7-300系列PLC的實時通信上做了深入研究,分別提出基于Ethernet通信協議的PLC端通信模塊程序實現PLC與MES系統的實時通信[7],并在某汽車制造廠發動機裝配生產線上進行驗證,對于提高生產效率,生產過程可視化具有重要意義.
采用GE Proficy MES系統,在MES系統中編寫VDCom通信軟件,該軟件是基于TCP協議的收發報文軟件,工位啟動時VDCom發送報文配置封裝在PLC程序中的S/W包,完成初始化配置.工位所需執行的工序指令均由MES系統發布,當正在進行的工序完成后,PLC會發送結果,有MES系統進行判斷,然后PLC將控制工位進行下一個工序操作,其中PLC為接收和發布報文設置活動緩存區.
本設計的創新點是取消了以往MES與PLC之間通過OPC UA等“中間件”的銜接,采用虛擬設備通信,將這以技術應用在發動機裝配線上,命名為VDCA(Virtual Device Communication for Assembly-裝配虛擬設備通信).這里VDCA是一個通信概念,它允許MES服務器與各工位PLC進行通信.通過服務器與各工位之間發送和接收報文來執行信息交互.在PLC控制端,可通過HMI(人機界面)來控制VDCA狀態轉換.VDCA主要檢查接收報文中的數據信息,VD(Virtual Device-虛擬設備)是VDCA中的核心部分,其作用主要面向設備層,VD定義了許多報文代碼以及8位字符串數據與XML數據之間進行轉換.在PLC中,各部分的VDCA程序塊用來處理各部分的報文和數據轉化.同時與PLC外接的一些設備組件,具有獨立串口通信的設備,可以直接與VDCom軟件進行通信.
IBM WebSphere MQ(MQ)消息隊列,是一種應用程序對應用程序的通信方法[8].這種消息隊列服務允許連接的組件通過不同的隊列進行通信.本設計可以使VD接收一個隊列的上的報文,并在另一個隊列上發布報文,實現了不同信息通道可靠和安全的信息交互.如圖1所示為VD通信軟件中關于PLC的通信結構.

圖1 系統網絡結構圖Fig.1 System network structure diagram
采用S7-300系列PLC可滿足多類型通信協議,同時可滿足分布式結構和多界面網絡能力,可采用多點接口(MPI)通信、PROFIBUS-DP接口通信、PROFINET(PN)通信、點對點(PTP)通信.在本設計中采用PN通信,基于TCP通信協議的PN通信因其兼容性強,傳輸速率高、傳輸穩定等特點在當今工業領域應用越來越廣泛.利用Python開發的西門子TCP/IP調試助手,對S7-300系列具有Ethernet TCP/IP通信方式的PLC的寄存器(I、M、Q、DB區)值進行讀寫,采用102端口進行PLC配置參數設置、連接、寄存器地址參數設置以及值的讀寫,讀值間隔為100ms[9].通過消息窗口動態顯示連接信息和讀寫信息,連續以及非連續讀值模式,同時通過西門子HMI觸摸屏以及PC界面進行人機交互.
帶有PN接口的S7-300系列PLC可以與MES系統直接通信,傳送到PLC和從PLC傳送的信息作為機器可讀的8位字符串數據進行發送,從MES發送到PLC的信息包括工作流程指令和生產裝配指令.從PLC發送到MES系統的信息包括過程值、報警和生產結果.用戶可以通過HMI與PLC進行交互.交互選項包括配置、報警報告和其它外接單元控制,其它外接單元包括擰緊槍,相機,傳感器,機器人等.系統框架圖如圖2所示.

圖2 系統結構圖Fig.2 System structure diagram
通過報文程序設計,將報文信息發送到MES服務器和各工位,發送的報文信息包括物料批次信息,將執行的裝配工作以及裝配的執行方式.采用Kibana工具進行報文通信記錄,因其即可接受來自PLC的8位字符串信息同時也可接受來自MES系統可讀的XML數據,如下為編寫的兩種針對物料判定(MaterialIdentified)的報文程序:
PLC發布的8位字符串代碼
MES接收發布的XML代碼
這段報文規定了當具有RFID標簽的托盤經過該工位是可自動識別出該托盤,通過工位上的傳感器讀取托盤RFID標簽,當讀取完成后由PLC發送給MES.
在消息隊列MQ中,進行交互的報文信息除了MaterialIdentified,還包括如表1所示報文信息,以及如圖3所示的信息流圖.
表1 報文信息列表
Table 1 List of message information

報文名稱說明MaterialIdentified托盤信息Recipe托盤信息對應零件的所有信息Result托盤狀態、操作狀態、活動狀態ResultAcknowledge結果確認PerformanceIndicators測量數據及處理時間ReleaseMaterial釋放托盤ReleaseMaterialAcknowledge釋放托盤確認OperatorIdentity操作信息OperatorAuthorizationRe-quest操作確認請求OperatorAuthorizationRe-sponse操作登記確認CancelActivityRequest請求指令EquipmentAlarm設備報警EquipmentStatus設備狀態
通過MES系統管理發動機信息,利用PLC控制發動機機裝配線,本設計通過在西門子S7-300系列PLC內部編寫標準西門子程序塊來完成報文的收發,如圖3的報文信息流圖所示,其基本流程是:PLC準備號報文(在VDCA程序塊中寫

圖3 信息報文流圖Fig.3 Information message flow diagram
好數據),通過PLC信號突發報文發送,VDCom接收PLC報文傳送給MES,MES系統在將相應的報文反饋給PLC,然后PLC接收到報文(VDCA程序塊內有信息接收引腳).
西門子S7-300系列PLC與MES系統通信是基于Profinet通信協議的級聯性等時通信,等時通信在IRT的基礎上可實現各個站點的輸入信號同時到達MES系統,同時MES系統發出的指令也可同時到達各個站點的輸出模塊.通過西門子Scanlance S602交換機可實現PLC組態的內部網絡與MES系統的外部網絡不同網段間的通信轉換.
MES系統發送XML代碼到VDCom,VDCom與PLC通過8位字符串代碼進行數據通信.如圖4所示,通信程序塊為VDC_System1,并在組織塊OB1中調用該塊,在VDC_System1中調用VDC_MasterPNConfig程序塊,同時調用VDC_MasterPN程序塊,程序塊中關鍵程序代碼如下:

圖4 PLC與VDCom通信程序功能塊Fig.4 PLC and VDCom communication program function block
L 1 //MES系統與PLC的Connection ID一直為1 T #tLocalConnectionID
// Local device ID //CPU315 and CPU317=2,CPU319=3
L 2 //本地設備的ID必須為2
T #tLocalDeviceID
//已使用連接ID的本地TSAP(Transport Service Access Point-傳輸服務接入點)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通信程序模塊,在沒有中間件的情況下,實現了MES系統與PLC的信息交互,本設計應用在某汽車發動機生產線上,采用Profinet通信協議,取消中間件環節,縮短了PLC的響應時間,提高了生產效率,如圖5所示為工位硬件組態,通過PLC采集數據與VDCom進行在線交互,通過唯一ID來控制工位啟停,傳送給VDCom,VDCom將數據傳送給MES,MES將數據通過Kibana軟件顯示在操作屏幕上,如圖6所示.

圖5 PLC網絡組態圖Fig.5 PLC network configuration diagram

圖6 MES數據顯示界面Fig.6 MES data display interface
該研究采用西門子S7-300系列PLC通過程序設計編寫的基于Profinet通信協議與MES系統進行直接通信的程序模塊,取消了以往工業控制中PLC與MES系統交互過程中的中間件使用,通過采用VDCom軟件將XML代碼與8位字符串進行轉換,這樣設計簡單靈活,可操作性強,可應用與現代化工業生產線,減少了中間硬件,降低了生產成本,對于未來工業控制中控制模塊化、簡便化有重大意義.