基于 Modbus 的數控系統監控功能設計與實現
2018-6-13 來源:轉載 作者: 杜少華,侯 遠,劉春亮
摘要: 傳統數控系統的人機界面采用編程方式實現,不利于修改和擴展功能,并且用戶體驗較差。通過對現有藍天數控系統" GJ301" 的體系結構和基本功能的分析研究,設計了在局域網內監控數控系統的上位機控制系統。上位機采用嵌入式 WINCE 操作系統和 MCGS 嵌入版組態軟件,人機界面的設計主要用 MCGS 提供的繪圖工具箱來完成。上位機通過 Modbus TCP 協議向數控系統發送命令和采集信息。在數控系統任務控制模塊的每個任務周期里通過單獨的線程維護遠程連接,解析執行命令并反饋結果。經過測試,該監控功能運行良好且操控更加簡便靈活。
關鍵詞: 數控系統; Modbus TCP 協議; MCGS 組態軟件; 監控
0 、引言
數控系統的人機界面的實現通常需要編寫基于 Qt的程序或者采用基于 XML 文件形式,因此對于不同的生產領域,例如電力,玻璃加工,紡織等行業,往往要單獨編寫人機界面,修改界面或者添加功能還需要重新編寫,編譯程序。開發工作量大,重復性勞動多。而且傳統數控系統類似于一體式電腦,人機界面與硬件一體,使用復雜的嵌入式專用鍵盤操作,整體笨重而龐大,用戶只能在固定的地點操作。針對以上問題,本文研究面向組態的數控系統遠程監控功能,將人機界面從數控系統分離出來,使用便攜式觸摸屏作為監控機( 上位機) ,采用組態的方式開發人機界面,通過復用組態軟件豐富圖形對象資源,因此對界面的設計,修改以及功能擴展不再需要編寫程序,而是采用所見即所得的拖拽方式,不僅節省了開發者的時間,對于用戶來說,觸屏的操作方式體驗更好,且遠程監控具有便攜性。
1 、相關技術
1. 1 組態技術及 MCGS 軟件
組態指用戶通過類似“搭積木”的簡單方式來完成自己所需要的軟件功能,而不需要編寫計算機程序。MCGS 是基于 Windows 平臺的用于設計和生成計算機監控系統的組態軟件]。通過對現場數據的采集處理,以動畫、報警、流程控制和報表輸出等多種方式向用戶提供解決實際工程問題的方案。用戶可以根據實際需求在 PC 上組態自己的工程并進行模擬測試。將測試好的工程通過 USB 或以太網下載到上位機運行。MCGS 軟件的框架如圖 1 所示。

圖 1 MCGS 軟件框架
1.2 Modbus TCP 協議
Modbus TCP是Modbus協議家族 ( RTU,TCP 和ASCII) 中的一員,它運行在 TCP / IP 協議之上,是一個面向連接的可靠傳輸協議,能夠滿足遠程監控的需求。它使用 16 進制進行傳輸,通信效率較高。Modbus TCP 幀格式如表 1 所示。

表 1 Modbus TCP 幀格式
2 、整體結構
基于 Modbus 的數控系統監控功能主要由上位機控制系統、通信功能實現、數控系統命令解析與執行三個部分組成,如圖 2 所示。整個系統的工作流程為: 上位機周期性地向數控系統發送各種狀態信息采集命令或者用戶主動點擊上位機提供的組態式人機界面的功能按鈕,上位機的后臺將某種具有特殊意義的數據發送給數控系統。數控系統的任務控制器模塊在特定端口上監聽數據,收到命令后完成命令解析與執行并向上位機反饋處理結果。上位機將反饋數據存儲在自身的實時數據庫中供用戶界面調用將結果展示給用戶。二者間的數據通信采用基于以太網的 Modbus TCP 協議,需要交換的數據分為狀態數據和控制數據。

圖 2 系統整體結構
3 、各部分功能實現
3.1 上位機控制系統
上位機控制系統的開發主要是組態用戶窗口。操作界面由啟動界面,6 個主界面以及若干子界面組成。主界面分別為:
①狀態信息顯示界面,包括 XYZ 等軸位置信息、主軸速度顯示與修調、進給速度與修調、快移速度與修調;
②操作模式切換界面,包括手動模式、自動模式、MDI 模式;
③I /O 信息顯示界面,包括 X 信號、Y 信號、F 信號、G 信號;
④參數配置界面,包括常規參數、機床參數、主軸參數、用戶參數;
⑤刀偏配置界面;
⑥坐標系界面。以狀態顯示界面為例說明組態的一般步驟。進入MCGS 嵌入版組態環境,在工作臺中切換到用戶窗口主面板( 見圖 3) ,可以看到已經創建好的各個界面列表。單擊右側創建窗口按鈕,設置窗口名稱,將彈出空白窗口,打開工具條中的繪圖工具箱,工具箱中提供了各種圖元、圖符、組合圖形及動畫構件的位圖圖符。利用這些最基本的圖形元素,可以自由組合制作出任何復雜的圖形。例如使用旋轉儀表顯示系統的快移速度,在工具箱中找到構件,將其拖動到空白窗口的合適位置即可,雙擊該構件彈出構件屬性設置窗口,包括外觀,刻度范圍,可見度等屬性。其中操作屬性中表達值的設置將該構件的顯示內容( 即指針位置) 與軟件內置的實時數據庫中的變量相關聯,在關聯前可通過腳本語言對變量作適當處理。一旦建立起關聯,當變量值改變時將引起儀表的轉動。可見,人機界面的設計不再依賴以往復雜的編程方式,而只需可視化的圖元組合和屬性設置即可完成。

圖 3 工作臺
3.2 通信功能
數控系統本地的人機界面與底層模塊的通信方式采用 RCS 庫提供的 NML 通道機制。該機制由于使用了內存拷貝函數傳遞消息,當底層模塊的數據結構發生變動時人機界面程序必須做相應的改變,兼容性不夠好。而 Modbus 單獨定義了 4 塊寄存器區存儲數據,下層的改變不會影響到上層的功能,且更加簡單易于實現。寄存器區分為[1 區]輸入繼電器、[0 區]輸出繼電器、[3 區]輸入寄存器、[4 區]輸出寄存器。多種不同功能碼代表對不同寄存器區數據的不同操作。例如,功能碼 03 代表讀取[4 區]輸出寄存器的值,數據的具體位置由協議中的數據段給出起始地址和寄存器數目。實現通信功能需要預先定義好存儲在數控系統的各個狀態、參數等變量對應的 4 個寄存器區的通道位置和數據類型,以便數控系統能夠對請求數據進行正確解析。上位機的數據庫設計也依賴于此。由于數控系統變量數目龐大,僅列出部分,見表 2。

表 2 部分變量通道位置說明
數據通訊采用 Maser /Slave 方式,上位機和數控系統的工作狀態轉換圖如圖 4、圖 5 所示。命令交互過程為: 首先數控系統初始化 4 個寄存器區的映射表,然后創建并監聽 TCP 連接,上位機作為命令發起方( 主站) ,主動向指定的從設備發送命令消息幀,要求進行寄存器區的數據讀取或寫入,而數控系統( 從站) 不斷被動接收上位機命令,在收到上位機消息幀后,首先判斷設備地址,如果是發給數控系統本身,則進行命令解析,根據功能代碼做出相關的響應,激活某個本地操作進行讀、寫或完成其他操作,并按功能代碼不同組裝數據幀或操作回應幀回應給上位機。如不是本站地址,則丟棄消息幀,繼續等待上位機命令幀。上位機發送命令幀后,接收回應幀正確,表明通訊響應過程完成。如果上位機超出約定時間未收到數控系統的回應幀,則說明與數控系統通訊失敗。如果上位機所發送的命令幀數控系統無法識別,或數控系統無法滿足上位機的命令幀要求,例如: 讀取超出數控系統寄存地址范圍的數據,則數控系統也將回應包含錯誤提示的消息幀,上位機可根據錯誤提示,判斷錯誤原因。

圖4 主站( 上位機) 工作狀態轉換圖
上位機的通信功能通過組態軟件提供的標準Modbus 驅動程序實現。主要步驟為 ①在設備窗口中選擇通用 TCP/IP 父設備,設置最小采集周期為 100ms以及對應的主從站 IP 地址和端口號。②在通用 TCP/IP 父設備下掛接 Modbus TCP 子設備,設置通訊等待時間,快速采集次數,整數編解碼順序等參數。③添加設備通道,即 Modbus 幀格式表中各個變量對應的寄存器區和變量類型。④進行設備調試來測試通訊狀況是否良好。

圖5 從站( 數控系統) 工作狀態轉換圖
3.3 命令解析與執行
數控系統是采用模塊化的思想設計而成,系統 4個模塊分別為: 本地人機界面( HMI) 、任務控制器模塊( TASK) 、運動控制器模塊( MOTION) 和 PLC 控制器模塊( PLC) 。相互關系如圖 6 所示。

圖 6 數控系統各層次關系


4 、系統測試
在實現軟件各個模塊功能后,對整個系統進行了測試驗證。現場設備為數控系統“GJ301”,上位機為嵌入式一體化觸摸屏 TPC1061Ti,作為數控系統的遠程控制主機、顯示器和人機界面以及路由器和若干交換機組成的局域網。上位機通過局域網連接到數控系統,如圖 7 所示。以測試自動控制功能為例,在上位機主界面點擊模式切換按鈕,下方顯示手動控制、自動控制、MDI 指令 3 個按鈕,如圖 8 所示,點擊自動控制進入自動控制子界面。自動控制模式下由用戶選擇預先編制好的程序提交到數控系統運行。該界面包含 3 個程序選擇按鈕,選擇“程序 1”,點擊循環啟動,右側將顯現當前正在執行的程序行,底側顯示當前系統 XYZ軸位置。點擊進給暫停按鈕將暫停當前程序,點擊復位按鈕將結束當前程序的運行,并復位各坐標軸位置。可以看出,監控功能運行良好。

圖 7 系統現場設備

圖 8 自動控制功能測試
5 、結束語
本文實現了基于以太網的使用觸摸屏遠程監控數控系統的功能。開發人員不再需要針對不同的行業專門編寫人機界面程序,采用組態的方式可以快速開發出美觀,用戶體驗良好的界面,并且界面的修改,擴展也更加方便。不僅有利于用戶的身心健康,而且提高了數控系統制造商的生產效率。使用 Modbus TCP 遠程通信方式相對于本地人機界面采用的 NML 通信方式,雖然損失了一些實時性,因為數控系統內部的任務周期為 10ms,上位機的采集周期設置為 100ms,事實上,用戶并不會感覺到這種差異,卻可以攜帶上位機在局域網中自由改變操作地點。
來源:中國科學院沈陽計算技術研究所,沈陽 中國科學院大學,北京 沈陽高精數控智能技術股份有限公司,沈陽
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息