姚 鵬,李楠楠,曹智軍,劉國寧,3
(1.鄭州大學 機械工程學院,鄭州 450001;2.河南職業技術學院,鄭州 450007;3.鄭州大學 工業物聯網研究所,鄭州 450000)
在經歷了三次工業革命之后的今天,全球制造業在德國工業4.0、美國工業互聯網、中國“智能制造2025”的帶領下,向著第四次工業革命大步邁進?!肮I4.0”戰略的核心環節是建立數字化車間,實現生產過程的自動化、柔性化、智能化、信息化。在工業數字化生產管理的發展要求中,實現數控機床的實時數據采集和遠程監控是推進數字化車間發展的一個重要基礎[1]。計算機技術的快速發展和數控機床智能化技術的不斷進步,使得數控機床遠程監控的需求實現可能。
本文以西門子數控系統為平臺,在介紹了西門子數控系統結構及手動切換NC程序方法的基礎上,提出了一種基于PLC數據通信的上位機管理程序實現遠程切換NC程序的方案,并詳細介紹了該方法的實現技術及應用實例。
目前,我國在普及型和高級型數控系統上基本依賴進口,我國引進的數控系統主要是FANUC,SIEMENS,MITSUBISHI等公司的產品[2]。SINUMERIK數控系統是西門子公司開發的數控系統產品,具有模塊化設計良好、系統開放性強、結構統一緊湊和應用靈活的特點。無論是普及型數控機床,還是標準型機床,或者是模塊化高端機床,SINUMERIK數控系統都為不同類型的機床提供了最佳解決方案[3]。
SINUMERIK 808是一款基于操作面板的普及型數控系統。結構緊湊,使用方便,適用于車削和銑削應用。具有完美的基本特征:操作簡便,調試維修方便,成本最優。
SINUMERIK 828數控系統適用于大批量加工、模塊化程度較低的標準機床。不論是 SINUMERIK 828D BASIC、SINUMERIK 828D還是SINUMERIK 828D ADVANCED,都是一款高性價比的數控系統,結構緊湊,數控性能高,便于調試。
SINUMERIK 840D sl具有極高的開放性和靈活性,是定制機床所用數控系統的最佳選擇。SINUMERIK 840D sl BASIC基于SINAMICS S120 Combi驅動器,適用于具有模塊化和靈活配置選擇的六軸以內的高端機床。
西門子數控系統中均采用PLC作為邏輯控制單元,SINUMERIK 808D和SINUMERIK 828D數控系統采用的是西門子S7-200系列的PLC,SINUMERIK 840D sl采用的是西門子S7-300系列的PLC。作為數控系統的重要組成部分,PLC采用接口變量及相應的數據位的形式與NCK(數控核心)、MCP(控制面板)、HMI(人機界面)進行控制和狀態信息的傳送,并按照系統的工作狀態和用戶編寫控制程序完成機床邏輯控制任務[4],PLC、NCK、HMI、MCP相互間信息傳遞的路徑和方向如圖1所示。

圖1 SINUMERIK數控系統內部信號傳遞示意圖
SINUMERIK數控系統常規采用的是通過操作面板來選擇NC程序,其步驟為:
1)選擇操作區域“Program manager”(程序管理器),打開目錄概覽;
2)將光標定位至包含待選NC程序的目錄上;
3)按下<input>鍵(或者按下<光標向右>鍵),顯示目錄內容;
4)將光標定位到所需的程序上;
5)按下軟鍵“Select”(選擇),選擇程序。
成功選擇了程序后會自動切換至“Machine”(加工)操作區,打開循環啟動后,數控機床即可進入指定程序的自動加工。
SINUMERIK數控系統提供了一種通過內置PLC控制數控系統切換NC程序的方法,可以實現快速切換NC程序,其工作流程如圖2所示。用戶通過PLC程序將正確的變量輸入到數控機床PLC的對應的DB塊中,PLC對信號進行分析處理,完成切換NC程序的任務。

圖2 PLC切換NC程序的工作流程
SINUMERIK數控系統在初始狀態時,PLC程序列表是隱藏的,需要通過修改機床通用數據參數,激活PLC程序列表。對于828D和840Dsl系統,激活PLC程序列表的三個參數是相同的,均為:
MD51041:激活USER(用戶)區的PLC程序列表;
MD51042:激活INDIVIDUAL(個體)區的PLC程序列表;
MD51043:激活MANUFACTURER(廠商)區的PLC程序列表。
參數的數據類型為字節,值為1時有效。
PLC程序列表中最多可放置255個NC程序,分別對應以上三種權限的程序:USER(用戶)區為1-100號程序,INDIVIDUAL(個體)區為101-200號程序,MANUFACTURER(廠商)區為201-255號程序。不同的程序列表中的NC程序在SINUMERIK Operate中是不同的控制文件,用戶區訪問級別為3,允許由用戶編輯,控制文件索引號是1;個體區訪問級別為2,控制文件索引號為2(840D sl的個體區列表未創建);廠商區訪問級別為1,只允許由制造商編輯,控制文件索引號為3。在程序列表中的程序號為PLC選擇NC程序文件的索引值。
在有機器人參與的自動化高度集成的柔性生產線中,遇到更換加工工件類型時,需要切換NC程序的操作,操作工使用操作面板手動切換NC程序的常規方式不能滿足需求,需要一種能夠通過上位機遠程控制機床切換NC程序的方案。針對西門子數控系統的開發環境,通過上位機讀寫PLC變量實現切換NC程序的方法適應當前需求。
通過PLC選擇NC程序,首先需要把需要切換的NC程序添加到相應的程序列表中,例如:將AAA.MPF程序文件添加到用戶區程序列表的1號程序,將BBB.MPF程序文件添加到個體區程序列表的101號程序。
對于828D數控系統,與PLC選擇NC程序相關的DB接口信號如表1和表2所示[5]。
從上表可知:DB1700.DBB1000.7為程序選擇信號,DB1700.DBB1001為選擇程序的程序列表控制文件編號,即USER、INDIVIDUAL、MANUFACTURER,其各自的值分別是129、130、131。(注:第7位總是為1,舉例MANUFACTURER區的索引為3,該字節用二進制表示即為10000011,二進制10000011轉化成十進制即為131)。DB1700.DBB1002為選擇程序號,即NC程序文件的索引值,如AAA.MPF即為1,BBB.MPF即為101。
DB1700.DBB2000為操作軟件反饋給PLC的信號,表示程序處理的狀態,第2位為1代表處理出錯,程序切換失敗。DB1700.DBB2001為錯誤代碼。

表1 828D切換NC程序操作的PLC接口信號

表2 828D切換NC程序狀態反饋的PLC接口信號
調試過程:PLC程序中先將要調用的程序列表號和程序號分別送到接口DB1700.DBB1001和DB1700.DBB1002,然后選擇程序開始DB 1700.DBX1000.7即可。
通過查找實驗設備的資料得知,機床操作面板上的預留功能按鍵1的輸入信號地址為I118.1,預留功能按鍵2的輸入信號地址為I118.2,實驗目的:實現按下按鍵1切換到1號程序即AAA.MPF程序文件,按下按鍵2切換到101號程序即BBB.MPF程序文件,編寫PLC控制切換NC程序的梯形圖如圖3所示。由于選擇程序指令DB1700.DBX1000.7需要在程序號輸入到DB1700.DBB1002后執行,因此在梯形圖中加入一個計時器,使PLC在按下按鍵后,DB1700.DBX1000.7指令持續0.5s。
通過PLC執行添加的梯形圖程序段,成功實現了按下按鍵快速切換到指定的NC程序,上位機通過向機床的PLC發送一個按鍵對應的模擬輸入信號,可實現機床切換NC程序的遠程控制。但是這種方式卻并不能達到柔性自動化制造的需要,當有大量的NC程序需要實現快速切換功能時,操作面板上預留的功能鍵就不能滿足我們的需求。
西門子數控系統提供了多種通信方式可供上位機與數控系統通信連接以實現數據交換,如OPC通信、WinCC等,但諸多功能需要專門授權和付費,且使用場景受限。SINUMERIK 808D、SINUMERIK 828D和SINUMERIK 840D sl均采用了西門子SIMATIC S7系列的PLC,這些類型的PLC均支持通過以太網接口,對存儲區的數據進行直接讀寫。

圖3 PLC切換程序梯形圖
S7通信協議是一種在工業控制系統中應用的網絡協議,是專門為西門子控制產品優化設計的通信協議,應用于西門子SIMATIC S7系列PLC[6]。當PLC做服務端時,上位機通過以太網通信與PLC 連接并通過S7協議發起請求,PLC作為服務端回復相應格式的數據,可實現讀寫整個PLC存儲器(輸入信號/輸出信號/DB數據塊/標志量/計時器/計數器),完成上傳和下載數據塊操作,控制PLC啟停、設置安全等級等操作,如圖4所示。

圖4 PLC做服務器架構時與上位機通訊方式
S7.NET是一個針對.NET平臺語言開發的S7系列PLC開源通信類庫,遵循MIT license開源協議,采用C#語言編寫,可支持S7-200/300/400系列PLC以及最新的S7-1200/1500系列型號,可以使用Socket與PLC進行連接和斷開,可以通過給定起始地址和字節數對指定的存儲區域讀取和寫入字節。S7.NET是開源的,MIT許可證允許在商業應用程序中使用它[7]。
本研究使用C#開發語言和S7.NET通信組件,編寫上位機與西門子數控系統的PLC通訊的程序,實現了通過輸入程序號快速切換到指定NC程序的目的。只需提前將想要切換的NC程序添加到程序列表中,即可遠程切換到對應的程序,并開啟循環啟動。
本文實現遠程切換NC程序的測試程序的關鍵代碼如下:

SINUMERIK 840D sl可通過與828D相同的方法實現

表3 840D sl切換NC程序操作的PLC接口信號

表4 840D sl切換NC程序操作的PLC接口信號
【】【】NC程序的快速切換,只在切換程序對應的PLC接口信號地址有區別,其對應的PLC接口信號如表3和表4所示[8]。
從上表可知:DB19.DBX13.7為程序選擇信號,DB19.DBB16的值為選擇程序的程序列表控制文件編號,即USER、MANUFACTURER,其對應的值分別是129、131。(注:SINUMERIK 840D sl系統未預置INDIVIDUAL列表的控制文件)。DB19.DBB17的值為選擇程序號,即NC程序文件的索引值。DB19.DBB26為操作軟件反饋給PLC的信號,表示程序處理的狀態,第2位的值為1時表示處理出錯,即程序切換失敗,DB19.DBB27的值為錯誤代碼。
針對本文的研究需求,編寫遠程切換NC程序的上位機測試程序,程序運行流程如圖5所示。使用測試程序在SINUMERIK 828D數控系統試驗臺和SINUMERIK 840D sl數控系統試驗臺上分別進行試驗驗證。驗證結果證明,使用測試程序成功實現了NC程序的遠程切換。
本文針對數控機床遠程切換NC程序的需求,研究了西門子主流數控系統基于以太網通信和S7協議的遠程切換NC程序的方法。實驗結果表明,按照本文的研究方法,在控制端電腦上連接機床的PLC后,選擇程序列表類型并輸入程序號即可使機床端切換到指定的NC程序,操作簡單,使用便捷。本文研究內容為西門子數控機床在自動化柔性制造中的應用,提供遠程控制的基礎。

圖5 程序運行流程圖
[1]劉濤.智能制造技術在工控自動化領域的應用[J].產業與科技論壇,2015(1):47-48.
[2]張宏帥.基于TCP/IP協議的FANUC-DNC系統研究與開發[D].鄭州大學,2016.
[3]徐潔蘭.西門子數控系統概述[J].制造技術與機床,2005(2):100-102.
[4]王文磊,徐汀榮.PLC和PC基于工業以太網通信研究與實現[J].微計算機信息,2006,22(13):43-45.
[5]SINUMERIK 828D NC變量和接口信號參數手冊[Z].西門子,2015,10:924-925.
[6]朱津津,申屠浩,鮑可進.基于.NET上位機與PLC工業以太網通信的實現[J].電子科技,2016,29(11):115-117.
[7]Mesta Automation. Communication with Siemens S7 PLC with C#and S7.Net PLC driver[EB/OL].2015.www.mesta-automation.com.
[8]SINUMERIK 840D sl NC變量和接口信號參數手冊[Z].西門子,2015,10:979-979.