基於 Modbus 的數(shù)控係統監控功能設計與實現
2018-6-13 來源:轉載 作(zuò)者: 杜少華,侯 遠,劉春亮
摘要: 傳統數控係統的(de)人機界(jiè)麵采用編(biān)程方式(shì)實現,不利於修改和擴展功能,並且用戶體驗較差。通過對現有藍(lán)天數控係(xì)統" GJ301" 的體(tǐ)係結構和基本功能的分析(xī)研究,設計了在局域網內監控數控(kòng)係統的上(shàng)位機控製係統(tǒng)。上位(wèi)機采用(yòng)嵌入式 WINCE 操作係統和(hé) MCGS 嵌(qiàn)入版組態軟件,人機界麵的設計主(zhǔ)要用 MCGS 提供(gòng)的繪圖工具箱來完成。上位機通過 Modbus TCP 協議向數(shù)控係統(tǒng)發送命令和采集信息。在數控係統任務控製模塊的每個任務周期(qī)裏通過單獨的線程(chéng)維護遠程連接,解析執行命令並反饋結果。經過測試,該監控功能運行良好且操控更加簡(jiǎn)便(biàn)靈活(huó)。
關鍵詞: 數控係統; Modbus TCP 協(xié)議; MCGS 組態軟件; 監控
0 、引言
數控係統的人機界麵的實現通常需要編寫基於 Qt的程序或者采用基於 XML 文件形式,因此對於不同的生產領域,例如電力,玻璃加工,紡織等行業,往往要單獨編寫人機界麵,修改界麵或者添加功能還需要重(chóng)新編寫,編譯程序。開發工作量大(dà),重(chóng)複性勞動多。而且傳統數控係統類似於一體式電腦,人機界麵與硬件(jiàn)一(yī)體,使用複雜的嵌入式專用鍵盤操作(zuò),整體笨重而龐大(dà),用戶隻(zhī)能在固定的地點操作。針對以上問題,本文研究麵向組態的數控(kòng)係統遠程監(jiān)控功能,將人(rén)機界麵從數控(kòng)係統分(fèn)離出來,使用便攜式觸摸(mō)屏作為監控機( 上(shàng)位機) ,采用組態的方式開發人機界麵(miàn),通過複用組態軟件豐富圖形對象資源,因此對界麵(miàn)的設計,修改以及功能擴展不(bú)再需要編寫程序,而是采用所見即所得的拖拽方式,不僅節省了開發者(zhě)的時間,對於用戶來說,觸屏的操作方式(shì)體驗更好,且(qiě)遠程監控具有便攜(xié)性。
1 、相關(guān)技術
1. 1 組態技術及 MCGS 軟件
組態(tài)指用戶通過類似“搭積木”的(de)簡單方式來完成自己所需要(yào)的(de)軟件功(gōng)能,而不需要(yào)編寫計算機程序。MCGS 是基於 Windows 平台的用於(yú)設計和生成計算機監(jiān)控係統的組態軟件]。通過對現場(chǎng)數據的采(cǎi)集處理,以動(dòng)畫、報警、流程控製和報表輸(shū)出等多種方式向用戶提供(gòng)解決實際工程問題的(de)方案。用戶可以根據實際(jì)需求在 PC 上組態自己的工程並進行模擬測試(shì)。將測試好的工程通過 USB 或以太網下載到上位機運行。MCGS 軟件的框架如圖 1 所示。
圖 1 MCGS 軟件框架
1.2 Modbus TCP 協議
Modbus TCP是Modbus協議家族 ( RTU,TCP 和ASCII) 中(zhōng)的一員,它運行在 TCP / IP 協議之上,是一個麵向連接的可靠傳(chuán)輸協議,能夠滿足(zú)遠(yuǎn)程監控的需求。它使(shǐ)用 16 進製進行傳(chuán)輸,通信效率較高。Modbus TCP 幀格式如表 1 所示。
表 1 Modbus TCP 幀格式
2 、整體(tǐ)結(jié)構
基於 Modbus 的數控係統監控功能主要由上位機控(kòng)製係(xì)統、通信功能實現、數控係統命令解析(xī)與執(zhí)行三個部分組成,如圖 2 所示。整個係統的工作流程為: 上位(wèi)機周期性地向數(shù)控係統發送各(gè)種狀態信息采集(jí)命(mìng)令或者用戶主動點擊上(shàng)位(wèi)機提(tí)供(gòng)的組態式人機界麵(miàn)的功能按鈕,上位機的後台將某種具有特殊意義(yì)的數(shù)據發送給(gěi)數控係統。數控係統的任務控製(zhì)器(qì)模塊在特定端(duān)口上監聽數據,收(shōu)到命令後完成命令解析與執行並向上位機反饋處理(lǐ)結果。上位機將反饋數據存儲在自身的實時數據庫中供用戶界麵調用將結果展示給用戶。二者間的數據通信采用基於以太網的 Modbus TCP 協議,需要交換的數據分為狀(zhuàng)態數據和控製數據。
圖 2 係統整體結構
3 、各部分功(gōng)能實現
3.1 上位機控製係統
上位(wèi)機控(kòng)製係統的開發主要是組態用戶窗口。操作界麵由啟動界麵,6 個主界麵以及若幹子界麵組成。主界麵分別為:
①狀態信息顯示界麵,包括 XYZ 等軸位置信息、主軸速度顯示與修調、進給速度與修調、快移速度與修(xiū)調;
②操(cāo)作模式切換界麵,包括(kuò)手(shǒu)動模式、自動模式、MDI 模式;
③I /O 信息顯示界麵,包括 X 信號、Y 信號、F 信(xìn)號、G 信號;
④參數配置界麵,包括常規參數、機床參數、主軸參(cān)數、用戶參數;
⑤刀偏(piān)配置界麵(miàn);
⑥坐標係界麵。以狀(zhuàng)態顯示界麵為(wéi)例說明組態的一般步驟。進入MCGS 嵌入(rù)版組態環境,在工作台中切(qiē)換到用戶窗口主麵板( 見圖 3) ,可以看到已經創建好(hǎo)的各個界麵列表。單擊右側創建窗口按鈕,設置窗口名稱,將彈出空白窗口,打開工具條中的繪圖工具箱,工具(jù)箱中(zhōng)提供(gòng)了各種圖元、圖符、組(zǔ)合圖形(xíng)及(jí)動畫構件的位圖圖符。利用這(zhè)些最基本(běn)的圖形(xíng)元(yuán)素,可以自由組合製作出任何複雜的(de)圖形。例如使用旋轉(zhuǎn)儀表顯示係統的(de)快移速(sù)度,在工具箱中找到構(gòu)件,將其拖動(dòng)到空白窗口的合適位(wèi)置即可,雙擊(jī)該構件彈出構件屬性設置窗(chuāng)口(kǒu),包括(kuò)外觀,刻度範圍,可見度等屬性。其中操作屬性中(zhōng)表達值的設置將該構件的顯示內容( 即(jí)指針(zhēn)位置) 與軟件內置的實時數據庫中的變量相關聯,在關聯前可(kě)通過腳本語(yǔ)言對變量作適當處理。一旦建立起關聯,當變量值改變(biàn)時將引起儀表的轉(zhuǎn)動。可見,人機界麵的設計不再依賴以往複雜的編程方式,而隻需可視化(huà)的圖元組合和(hé)屬性設置即可完成。
圖 3 工作台
3.2 通信(xìn)功能
數控係(xì)統(tǒng)本地的人機界麵與底(dǐ)層模塊的(de)通信方式采用 RCS 庫提供的 NML 通道機(jī)製。該機製由於使用了內存拷貝函數傳遞消息,當底層模塊的數據結構發生變動時人機界麵程序必須做相應的改變,兼容性不(bú)夠好。而 Modbus 單獨定義了 4 塊寄存器區存儲數據,下(xià)層的改變不會影響到上層的功能,且更加簡單易(yì)於實現。寄存(cún)器區分為[1 區]輸入(rù)繼電器、[0 區]輸出繼電器、[3 區]輸入寄存器、[4 區]輸出寄存器。多種不(bú)同功能碼代表對不同寄存器區數據的不同操作。例如,功能碼 03 代表讀取[4 區]輸出寄存器的值(zhí),數據的具體位置由協議中的數據段給出起始地址和寄存器數目(mù)。實現通信功能需要預先定義好存儲在數控係統的各個狀態、參數等變量(liàng)對應的 4 個寄存器區的通道位置和(hé)數據類型,以便(biàn)數控係統能夠對請(qǐng)求數據進(jìn)行正確解析。上位(wèi)機的數據庫設(shè)計也依賴於此。由於數控係統變量數目(mù)龐大,僅列出部分,見表 2。
表 2 部分變量通道位置說明
數據通訊(xùn)采用 Maser /Slave 方式(shì),上位機和(hé)數控係統的工作狀態轉換圖如圖(tú) 4、圖 5 所示。命令(lìng)交互過程為: 首先數控係統初始化 4 個(gè)寄(jì)存器區的映射表,然後創建並監(jiān)聽 TCP 連接,上位機作為命令(lìng)發起方( 主站) ,主(zhǔ)動向指定的從設備發送(sòng)命令消息幀,要求進行(háng)寄存器區的數據讀取或寫入,而數控係統( 從站) 不斷被動接收上(shàng)位機命令,在收到上位機(jī)消(xiāo)息幀後,首先判斷設備(bèi)地址,如果是發給數控係統本身,則(zé)進行命令解析(xī),根據功能代(dài)碼做出相關的響應,激活某個本地操作進行讀、寫(xiě)或(huò)完成其(qí)他操作(zuò),並按功能代碼(mǎ)不同組裝數據幀(zhēn)或操作回應幀回應給上位機。如不是本站(zhàn)地(dì)址,則丟棄消息幀(zhēn),繼續(xù)等待上位機(jī)命(mìng)令幀。上位機發送命令幀後,接收回應幀正確,表明通訊響應過程完成。如果上位機超出約定時間未收到數控係(xì)統的回應幀,則說明與數控係統通訊(xùn)失敗。如果上位機(jī)所發送的命令幀數控係統(tǒng)無法識別,或數控係統無法滿足上位機的命令幀要(yào)求,例如: 讀取超出數控係統寄存地址(zhǐ)範圍的數據,則數控係(xì)統(tǒng)也將回應包含錯誤提示的消息幀,上位(wèi)機可根據錯誤提示,判斷錯誤原因。
圖4 主站( 上位機) 工(gōng)作狀態轉換圖
上位機(jī)的通信功(gōng)能通過組態軟件提供的標準Modbus 驅(qū)動程(chéng)序實現。主要步驟為(wéi) ①在設備窗口中選(xuǎn)擇通用 TCP/IP 父設備,設置最小采集周期為 100ms以及對(duì)應的主從站 IP 地址和端口號。②在(zài)通用 TCP/IP 父設備下(xià)掛接 Modbus TCP 子設備,設(shè)置通訊等待時間,快速采集次數,整數編解(jiě)碼順序等參數(shù)。③添加設備通道,即 Modbus 幀格式表中各個變量對應的寄存器區和(hé)變量類型。④進行設備調試(shì)來測試通訊狀況是否良好。
圖5 從站( 數控係(xì)統) 工作狀態轉換圖
3.3 命令解析與執行
數控(kòng)係統是采用模塊化的思想設計而成,係統 4個模塊分別為: 本(běn)地人機界麵(miàn)( HMI) 、任務控製器模塊( TASK) 、運動控製器模塊( MOTION) 和 PLC 控製(zhì)器模(mó)塊( PLC) 。相互關係如圖 6 所示。
圖(tú) 6 數控係統各層次(cì)關係
4 、係統測試(shì)
在實現(xiàn)軟(ruǎn)件各個模塊功能後,對整個係統進行(háng)了(le)測試驗證。現場設備為數控係統“GJ301”,上位機為嵌入式一體化觸摸屏 TPC1061Ti,作為數(shù)控係統(tǒng)的遠程控製主機、顯示器和人機界麵以及(jí)路由器和若幹(gàn)交換機組成的局域網。上位機通過局域網連接(jiē)到數控係統,如圖 7 所示。以測試自動控製功能為例,在上位機主界麵點(diǎn)擊模式切換按(àn)鈕,下方(fāng)顯示手動控(kòng)製、自動控製(zhì)、MDI 指令(lìng) 3 個按鈕,如圖 8 所示,點擊自動控(kòng)製(zhì)進入自動控製子界麵。自動控(kòng)製模式下由用戶選擇預先編(biān)製好的程序提交到數控係統運行。該界麵包(bāo)含 3 個程(chéng)序選擇按鈕,選擇“程(chéng)序 1”,點擊循環啟動(dòng),右側將顯現當前正在執行的程序(xù)行(háng),底側顯(xiǎn)示當前係統 XYZ軸位置。點擊進給(gěi)暫停按鈕將暫停當前程序,點擊複位按鈕將結束當前程序的運行,並複(fù)位各坐標軸位置(zhì)。可以看出,監控(kòng)功能運行良好。
圖 7 係統現場設備
圖 8 自動(dòng)控製功能測(cè)試
5 、結束語
本文實現了基於以太網的使用觸摸屏遠程監控數控係統的功能。開發人員不再需要針對不同(tóng)的行業專門編寫人機界麵(miàn)程序,采用組態的方式可以快速開(kāi)發出美觀,用戶體驗良好的界(jiè)麵,並且界麵(miàn)的(de)修改,擴(kuò)展也更加方便(biàn)。不僅(jǐn)有利於用戶的(de)身心健康,而且提高了數控係統製造商的(de)生產效率。使用 Modbus TCP 遠程通信方式相對於本地人機界麵采用的 NML 通信方式,雖(suī)然損失了一些實時性,因為數控係統內部的任務周期為 10ms,上位機的采集周期設(shè)置為 100ms,事實上,用戶並不會(huì)感(gǎn)覺到這種差異,卻可以攜帶上(shàng)位機在局域網中(zhōng)自由改變操作(zuò)地點。
來源:中國科學院沈陽計算技術研究所(suǒ),沈陽 中國科學院大學,北京 沈陽高精數控智能技(jì)術股份有限公司,沈陽
投稿箱(xiāng):
如果您有機床(chuáng)行業、企業相關新聞稿件發表,或進行資訊(xùn)合作,歡迎聯係本網編輯部(bù), 郵箱:skjcsc@vip.sina.com
如果您有機床(chuáng)行業、企業相關新聞稿件發表,或進行資訊(xùn)合作,歡迎聯係本網編輯部(bù), 郵箱:skjcsc@vip.sina.com
更多相關信息
業界(jiè)視點
| 更多
行業數(shù)據
| 更多
- 2024年11月(yuè) 金屬(shǔ)切削機床產量數據
- 2024年(nián)11月 分地區金屬切削機床產量數據
- 2024年11月 軸承出口情況
- 2024年11月(yuè) 基本型乘用車(轎車)產量數據
- 2024年11月 新能源汽車產量數據
- 2024年11月 新能源(yuán)汽車銷量情況
- 2024年10月 新能源汽車產量數據
- 2024年10月 軸(zhóu)承(chéng)出口情況
- 2024年10月 分地區金(jīn)屬切削機床產量數據
- 2024年10月 金屬切削機床產量數據
- 2024年9月 新能(néng)源汽車銷量情況
- 2024年8月 新能源汽車產量數(shù)據
- 2028年8月 基本型乘用(yòng)車(轎車)產量數據
博文選(xuǎn)萃
| 更(gèng)多