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

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

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

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

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

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

圖4 主站( 上位機(jī)) 工作狀態(tài)轉(zhuǎn)換圖
上位機(jī)的通信功能通過(guò)組態(tài)軟件提供的標(biāo)準(zhǔn)Modbus 驅(qū)動(dòng)程序?qū)崿F(xiàn)。主要步驟為 ①在設(shè)備窗口中選擇通用 TCP/IP 父設(shè)備,設(shè)置最小采集周期為 100ms以及對(duì)應(yīng)的主從站 IP 地址和端口號(hào)。②在通用 TCP/IP 父設(shè)備下掛接 Modbus TCP 子設(shè)備,設(shè)置通訊等待時(shí)間,快速采集次數(shù),整數(shù)編解碼順序等參數(shù)。③添加設(shè)備通道,即 Modbus 幀格式表中各個(gè)變量對(duì)應(yīng)的寄存器區(qū)和變量類(lèi)型。④進(jìn)行設(shè)備調(diào)試來(lái)測(cè)試通訊狀況是否良好。

圖5 從站( 數(shù)控系統(tǒng)) 工作狀態(tài)轉(zhuǎn)換圖
3.3 命令解析與執(zhí)行
數(shù)控系統(tǒng)是采用模塊化的思想設(shè)計(jì)而成,系統(tǒng) 4個(gè)模塊分別為: 本地人機(jī)界面( HMI) 、任務(wù)控制器模塊( TASK) 、運(yùn)動(dòng)控制器模塊( MOTION) 和 PLC 控制器模塊( PLC) 。相互關(guān)系如圖 6 所示。

圖 6 數(shù)控系統(tǒng)各層次關(guān)系


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

圖 7 系統(tǒng)現(xiàn)場(chǎng)設(shè)備

圖 8 自動(dòng)控制功能測(cè)試
5 、結(jié)束語(yǔ)
本文實(shí)現(xiàn)了基于以太網(wǎng)的使用觸摸屏遠(yuǎn)程監(jiān)控?cái)?shù)控系統(tǒng)的功能。開(kāi)發(fā)人員不再需要針對(duì)不同的行業(yè)專(zhuān)門(mén)編寫(xiě)人機(jī)界面程序,采用組態(tài)的方式可以快速開(kāi)發(fā)出美觀,用戶體驗(yàn)良好的界面,并且界面的修改,擴(kuò)展也更加方便。不僅有利于用戶的身心健康,而且提高了數(shù)控系統(tǒng)制造商的生產(chǎn)效率。使用 Modbus TCP 遠(yuǎn)程通信方式相對(duì)于本地人機(jī)界面采用的 NML 通信方式,雖然損失了一些實(shí)時(shí)性,因?yàn)閿?shù)控系統(tǒng)內(nèi)部的任務(wù)周期為 10ms,上位機(jī)的采集周期設(shè)置為 100ms,事實(shí)上,用戶并不會(huì)感覺(jué)到這種差異,卻可以攜帶上位機(jī)在局域網(wǎng)中自由改變操作地點(diǎn)。
來(lái)源:中國(guó)科學(xué)院沈陽(yáng)計(jì)算技術(shù)研究所,沈陽(yáng) 中國(guó)科學(xué)院大學(xué),北京 沈陽(yáng)高精數(shù)控智能技術(shù)股份有限公司,沈陽(yáng)
投稿箱:
如果您有機(jī)床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進(jìn)行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機(jī)床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進(jìn)行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com
更多相關(guān)信息
業(yè)界視點(diǎn)
| 更多
行業(yè)數(shù)據(jù)
| 更多
- 2025年6月 新能源汽車(chē)銷(xiāo)量情況
- 2025年6月 新能源汽車(chē)產(chǎn)量數(shù)據(jù)
- 2025年6月 基本型乘用車(chē)(轎車(chē))產(chǎn)量數(shù)據(jù)
- 2025年6月 軸承出口情況
- 2025年6月 分地區(qū)金屬切削機(jī)床產(chǎn)量數(shù)據(jù)
- 2025年6月 金屬切削機(jī)床產(chǎn)量數(shù)據(jù)
- 2025年5月 新能源汽車(chē)銷(xiāo)量情況
- 2025年5月 新能源汽車(chē)產(chǎn)量數(shù)據(jù)
- 2025年5月 基本型乘用車(chē)(轎車(chē))產(chǎn)量數(shù)據(jù)
- 2025年5月 軸承出口情況
- 2025年5月 分地區(qū)金屬切削機(jī)床產(chǎn)量數(shù)據(jù)
- 2025年5月 金屬切削機(jī)床產(chǎn)量數(shù)據(jù)
- 2025年4月 新能源汽車(chē)銷(xiāo)量情況
博文選萃
| 更多
- 機(jī)械加工過(guò)程圖示
- 判斷一臺(tái)加工中心精度的幾種辦法
- 中走絲線切割機(jī)床的發(fā)展趨勢(shì)
- 國(guó)產(chǎn)數(shù)控系統(tǒng)和數(shù)控機(jī)床何去何從?
- 中國(guó)的技術(shù)工人都去哪里了?
- 機(jī)械老板做了十多年,為何還是小作坊?
- 機(jī)械行業(yè)最新自殺性營(yíng)銷(xiāo),害人害己!不倒閉才
- 制造業(yè)大逃亡
- 智能時(shí)代,少談點(diǎn)智造,多談點(diǎn)制造
- 現(xiàn)實(shí)面前,國(guó)人沉默。制造業(yè)的騰飛,要從機(jī)床
- 一文搞懂?dāng)?shù)控車(chē)床加工刀具補(bǔ)償功能
- 車(chē)床鉆孔攻螺紋加工方法及工裝設(shè)計(jì)
- 傳統(tǒng)鉆削與螺旋銑孔加工工藝的區(qū)別