(柳州工學(xué)院,廣西柳州 545600)
在現(xiàn)代工業(yè),空壓機(jī)作為除電力之外的第二大動(dòng)力源,其應(yīng)用非常廣泛。但對(duì)于大型工廠用戶(hù),特別是設(shè)備分布零散的工廠,需要較高的設(shè)備管理水平和較多的資源。監(jiān)控組態(tài)軟件的出現(xiàn),可以將眾多設(shè)備,集中收集其運(yùn)行狀態(tài)至控制室,進(jìn)行統(tǒng)一監(jiān)控,這大大地提升了設(shè)備監(jiān)控的效率,通過(guò)監(jiān)控軟件,操作人員可以及時(shí)發(fā)現(xiàn)故障設(shè)備,并指引維護(hù)人員進(jìn)行故障處理和設(shè)備修復(fù),大大地提升了工廠運(yùn)營(yíng)效率。
對(duì)于同一個(gè)設(shè)備用戶(hù)來(lái)說(shuō),所使用的空壓機(jī)可能不是同一廠商供應(yīng)的;即使是同一廠商供應(yīng)的空壓機(jī),如果是不同型號(hào)的也可能使用不同的控制器,這使得如何統(tǒng)一監(jiān)控這些空壓機(jī)設(shè)備,變得異常困難,迫切需要設(shè)計(jì)一種監(jiān)控方式能方便實(shí)現(xiàn)對(duì)用戶(hù)現(xiàn)場(chǎng)的空壓機(jī)設(shè)備進(jìn)行統(tǒng)一監(jiān)控。
目前各大廠商的空壓機(jī)設(shè)備如美國(guó)壽力品牌主要用MCC、SCN、SMC、EC2000等型號(hào)的控制器,其輸入輸出信息端口定義雖然不太一樣,但基本都具備Modbus通信端口,可以讓設(shè)備與外界進(jìn)行通信。本文將分析主要控制器和通信協(xié)議,研究開(kāi)發(fā)一種空壓機(jī)多種控制器統(tǒng)一監(jiān)控方式,包括硬件連接通信和軟件編寫(xiě)等方面,以實(shí)現(xiàn)用戶(hù)的監(jiān)控需求。
為了實(shí)現(xiàn)與控制器的連接通信,需要一個(gè)RS585轉(zhuǎn)RJ45的串口轉(zhuǎn)換器。此串口轉(zhuǎn)換器輸入端是RS485接口,利用雙絞線(xiàn)能與控制器上的485通信端口(即Modbus端口)相連接;其輸出端是RJ45接口,連接計(jì)算機(jī)的網(wǎng)絡(luò)通信口,進(jìn)行數(shù)據(jù)傳輸。
串口轉(zhuǎn)換器一般都配套有相應(yīng)的驅(qū)動(dòng)和配置軟件,按照其操作說(shuō)明書(shū)完成其驅(qū)動(dòng)及相應(yīng)配置軟件的安裝。以一款型號(hào)為BT-2000RS串口服務(wù)器為例,其基本配置如下:
(1)打開(kāi)其配置軟件如NetModuleConfig_BJTDHJ.exe,檢查適配器/網(wǎng)卡選擇是否下確,然后點(diǎn)擊“搜索設(shè)備”按鈕,等待10 s,雙擊搜索到的串口轉(zhuǎn)換器IP地址,在基礎(chǔ)設(shè)置框設(shè)置串口轉(zhuǎn)換器的IP地址。注意:計(jì)算機(jī)的IP地址需與串口轉(zhuǎn)換器IP地址在同一網(wǎng)段內(nèi)。
(2)設(shè)置串口轉(zhuǎn)換器網(wǎng)絡(luò)模式、端口號(hào)以及串口參數(shù),配置完成點(diǎn)擊“配置設(shè)備參數(shù)”按鈕,串口轉(zhuǎn)換器自動(dòng)重啟。注意:要根據(jù)通信方式勾選相應(yīng)的端口,這里使用RS485通信方式因此勾選“啟用端口2”。
監(jiān)控硬件連接包括多個(gè)控制器、串口轉(zhuǎn)換器和計(jì)算機(jī),在計(jì)算機(jī)中安裝有易控(INSPEC)監(jiān)控組態(tài)軟件,其連接示意圖如圖1所示。
2.2.1 Modbus 調(diào)試工具
提前準(zhǔn)備好Modbus 調(diào)試工具M(jìn)ODSCAN32,modscan32是一個(gè)運(yùn)行在windows下,作為在RTU或ASCII傳輸模式下的Modbus協(xié)議主設(shè)備的連接測(cè)試程序。利用modscan32可以測(cè)試計(jì)算機(jī)與控制器的連接通信情況。以EC2000型號(hào)的控制器為例,連接調(diào)試方法如下:
(1)打開(kāi)MODSCAN32工具,按照EC2000的通信參數(shù):波特率=9600、數(shù)據(jù)位=8、停止位=1、校驗(yàn)=偶、流控制=無(wú)、串口=COM 2,設(shè)置好主要通信參數(shù)。
(2)設(shè)置通信設(shè)備EC2000的ID、每次讀取寄存器數(shù),選擇讀取的寄存器類(lèi)型為03 holding register。
(3)通信正常時(shí),則在頁(yè)面中顯示控制器EC2000中的參數(shù)。
注意:請(qǐng)檢查EC2000控制器的通信模式,是否為從機(jī),若為廣播模式,則無(wú)法正常通信監(jiān)測(cè)。
易控(INSPEC)是完全基于.NET平臺(tái)開(kāi)發(fā)的新一代組態(tài)軟件,實(shí)現(xiàn)大量最新IT技術(shù)和設(shè)計(jì)理念(如WPF、WCF、XAML、SOA、SaaS、Webservices)在自動(dòng)化軟件領(lǐng)域的同步應(yīng)用,引領(lǐng)了新一代組態(tài)軟件的技術(shù)趨勢(shì)。軟件基于分布式和開(kāi)放式架構(gòu)設(shè)計(jì),穩(wěn)定可靠,其無(wú)與倫比的圖形系統(tǒng)、多語(yǔ)言和C#用戶(hù)程序等眾多功能給客戶(hù)帶來(lái)人機(jī)體驗(yàn)的卓越提升,幫助提高效率,輕松實(shí)現(xiàn)工廠自動(dòng)化和信息化的融合。
從易控官網(wǎng)下載INSPEC組態(tài)軟件,按軟件操作說(shuō)明完成其安裝。
(1)打開(kāi)易控組態(tài)軟件,新建一個(gè)工程。
點(diǎn)擊文件/新建工程,在彈出的對(duì)話(huà)框中輸入工程名稱(chēng),存放地址為默認(rèn),點(diǎn)擊“確認(rèn)”按鈕生成新工程項(xiàng)目,雙擊窗口中的工程名即可打開(kāi)此工程進(jìn)行具體設(shè)計(jì)。
(2)配置串口。在“工程”欄中“IO通信/新建(N)”上右鍵選擇“新建”,彈出新建“IO通信”對(duì)話(huà)框,進(jìn)行設(shè)置要與計(jì)算機(jī)通信的設(shè)備信息。在對(duì)話(huà)框中通道名稱(chēng)默認(rèn)為“串口1”,通道類(lèi)型選擇“串口”。
(a)點(diǎn)擊對(duì)話(huà)框中“下一步”,進(jìn)行“第二步配置通道”操作。協(xié)議類(lèi)型選擇“RS422/RS485(M)”,在參數(shù)設(shè)置中端口號(hào)選擇“COM2”即串口轉(zhuǎn)換器連接計(jì)算機(jī)后虛擬成的串口號(hào)。其它要按照當(dāng)前連接的EC2000控制器相關(guān)通信參數(shù)進(jìn)行設(shè)置,波特率選擇“9600”,校驗(yàn)位選擇“偶校驗(yàn)”,流控制選擇“無(wú)”,數(shù)據(jù)位選擇“8”,停止位選擇“1”。
(b)點(diǎn)擊對(duì)話(huà)框中“下一步”,進(jìn)行“第三步選擇RS485設(shè)備”操作。在對(duì)話(huà)框中選擇與計(jì)算機(jī)通信的RS485設(shè)備類(lèi)型,當(dāng)前是EC2000控制器它是Modbus-RTU協(xié)議,因此選擇“PLC/施耐德/Modbus”,在設(shè)備名稱(chēng)中輸入自定義名稱(chēng)如EC2000。
(3)設(shè)置完成后點(diǎn)擊對(duì)話(huà)框中“完成”按鈕,在工程欄的“IO通信”下的串口1中顯示相應(yīng)的連接設(shè)備如EC2000。重復(fù)以上操作,可以創(chuàng)建多個(gè)要連接的控制器設(shè)備。
(4)創(chuàng)建控制器設(shè)備中寄存器數(shù)據(jù)地址行,這些地址行即需要讀取展示的數(shù)據(jù)信息。由于不同控制器的通信協(xié)議內(nèi)容不同,其傳送的信息代碼中每一段地址所代表的意義也相應(yīng)不同,因此需要根據(jù)具體設(shè)備的通信協(xié)議進(jìn)行相應(yīng)設(shè)置。對(duì)于EC2000控制器的設(shè)置方法如下。
(a)在工程窗口的串口1下雙擊“EC2000”設(shè)備,彈出其寄存器數(shù)據(jù)地址行,然后右鍵選擇“新建”命令,在“寄存器類(lèi)型”選擇“Holding register”,“起始地址”為1,“單元長(zhǎng)度”為1,“數(shù)據(jù)類(lèi)型”為整型,“讀寫(xiě)方式”為只讀,“數(shù)據(jù)變量”暫時(shí)為空,其它默認(rèn)。
(b)同樣的方法,分別創(chuàng)建其它要讀取的地址行,注意起始地址、單元長(zhǎng)度、數(shù)據(jù)類(lèi)型等要根據(jù)其協(xié)議內(nèi)容相應(yīng)填寫(xiě)。
(c)部分地址行數(shù)據(jù)創(chuàng)建。
(5)創(chuàng)建參數(shù)變量。變量是程序中儲(chǔ)存從控制器設(shè)備寄存器中讀取到的數(shù)據(jù),每一個(gè)寄存器地址行都需要定義一個(gè)不同變量,且其類(lèi)型要一致,名稱(chēng)盡量直觀方便識(shí)別。
由于不同控制器的寄存器地址數(shù)據(jù)不同,為了區(qū)分不同控制器,需要先創(chuàng)建相應(yīng)的變量組,在新建相應(yīng)的變量,如對(duì)應(yīng)EC2000控制器的變量組命名為EC_1。然后在變量組中再創(chuàng)建相應(yīng)的變量。
(6)變量創(chuàng)建后,需要與設(shè)備寄存器地址行進(jìn)行關(guān)聯(lián),才能存儲(chǔ)顯示相應(yīng)的數(shù)據(jù),以便在程序中引用到。雙擊工程窗口中的某個(gè)控制器設(shè)備,顯示出寄存器地址列表,點(diǎn)擊相應(yīng)地址行的“數(shù)據(jù)庫(kù)變量”列按鈕,彈出“變量瀏覽器”窗口,選擇對(duì)應(yīng)變量組中的變量,分別將其關(guān)聯(lián)好。
(7)對(duì)已經(jīng)完成變量關(guān)聯(lián)的寄存器地址,可以測(cè)試讀取控制器設(shè)備中的參數(shù),將顯示在“當(dāng)前值”列中;可對(duì)照該控制器的通信協(xié)議文件,檢查判斷各參數(shù)是否顯示正確。
監(jiān)控前端界面用于展示控制器中寄存器地址數(shù)據(jù)、報(bào)警提示信息和操作按鈕,其中地址數(shù)據(jù)要增加中文名稱(chēng)辨識(shí),直觀展示。在界面中分別設(shè)計(jì)相應(yīng)控制器如EC2000、MCC的顯示信息,并設(shè)計(jì)好相應(yīng)標(biāo)簽、文本框或單選框,再進(jìn)行各參數(shù)變量的關(guān)聯(lián)設(shè)置。
(1)設(shè)置文本框的關(guān)聯(lián)變量參數(shù)。點(diǎn)擊要設(shè)置的文本框,在右下角屬性和動(dòng)畫(huà)窗口,選擇“顯示值”,在引出窗口中點(diǎn)擊“…”后彈出變量選擇窗口,選擇相應(yīng)控制器變量值下的變量參數(shù),將其關(guān)聯(lián)顯示在此文本框中。按此方法,依次設(shè)置其它文本框的關(guān)聯(lián)變量參數(shù)。
(2)報(bào)警類(lèi)的開(kāi)關(guān)量關(guān)聯(lián):關(guān)聯(lián)方法與模擬參數(shù)的關(guān)聯(lián)相似,不同的是,需設(shè)定相應(yīng)報(bào)警位值為無(wú)窮大、0(False)和1(True)時(shí)相應(yīng)的顯示狀態(tài),以區(qū)分正常狀態(tài)和報(bào)警狀態(tài)。
(3)計(jì)算機(jī)控制操作的關(guān)聯(lián):如果要通過(guò)計(jì)算機(jī)來(lái)控制設(shè)備啟動(dòng)、卸載、加載或停止等操作,需要改變?cè)摽刂破髦邢鄳?yīng)寄存器地址的值來(lái)實(shí)現(xiàn)。
例如對(duì)于啟動(dòng)操作,其對(duì)應(yīng)寄存器地址為A10,需要通過(guò)程序改變此地址的值為1;對(duì)于停止、卸載或加載操作,則相應(yīng)改變其數(shù)值。
按照以上步驟進(jìn)行監(jiān)控程序、前端界面設(shè)計(jì),各變量參數(shù)、控制信號(hào)的關(guān)聯(lián)設(shè)置,即完成整個(gè)工程的設(shè)計(jì)。點(diǎn)擊工具欄的“編譯”按鈕,對(duì)該工程進(jìn)行編譯,在編譯過(guò)程中可能會(huì)有錯(cuò)誤或警告,按照提示檢查修改好。編譯完成后,點(diǎn)擊工具欄中的“運(yùn)行”按鍵,進(jìn)行控制器設(shè)備的監(jiān)控聯(lián)機(jī)。
以上方法可以實(shí)現(xiàn)這兩款空壓機(jī)控制器在計(jì)算機(jī)系統(tǒng)中進(jìn)行統(tǒng)一監(jiān)控,并進(jìn)行聯(lián)機(jī)操作控制。聯(lián)機(jī)監(jiān)控后能夠?qū)崟r(shí)讀取到控制器中的數(shù)據(jù),數(shù)據(jù)傳輸快捷穩(wěn)定,能夠滿(mǎn)足日常監(jiān)控需求。按照以上方法可以實(shí)現(xiàn)各種帶有Modbus通信接口的空壓機(jī)控制器的監(jiān)控需求,這些控制器可以是不同廠商、不同型號(hào)的,均可以在此系統(tǒng)中進(jìn)行統(tǒng)一監(jiān)控。
當(dāng)前硬件連接通信是通過(guò)有線(xiàn)形式,進(jìn)一步擴(kuò)展后可以實(shí)現(xiàn)無(wú)線(xiàn)連接通信,更加方便地實(shí)現(xiàn)對(duì)用戶(hù)現(xiàn)場(chǎng)空壓機(jī)設(shè)備的統(tǒng)一監(jiān)控需求,實(shí)時(shí)獲取被監(jiān)控設(shè)備的運(yùn)行狀態(tài)及數(shù)據(jù)。