《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于Win9X的多臺(tái)三菱變頻器控制
基于Win9X的多臺(tái)三菱變頻器控制
摘要: 由于變頻器具有優(yōu)良的控制特性以及其高效節(jié)能的特點(diǎn),使得變頻器近幾年在各個(gè)領(lǐng)域被廣泛的采用。在某些場(chǎng)合,需要用一臺(tái)工控機(jī)靈活地控制多臺(tái)變頻器,以達(dá)到控制交流電機(jī)的目的。在油田輸油控制系統(tǒng)中,多臺(tái)變頻器的控制問題成為關(guān)鍵,按照以往的控制方法,需要使用PLC或者控制電路板來控制變頻器。然而使用這種方法造價(jià)高、系統(tǒng)復(fù)雜、布線量大、故障率高,因此亟需一種結(jié)構(gòu)簡(jiǎn)單、造價(jià)低廉、可靠性高的系統(tǒng)來實(shí)現(xiàn)多臺(tái)變頻器的控制。
關(guān)鍵詞: 變頻器 三菱
Abstract:
Key words :

1、引言     

 

    由于變頻器具有優(yōu)良的控制特性以及其高效節(jié)能的特點(diǎn),使得變頻器近幾年在各個(gè)領(lǐng)域被廣泛的采用。在某些場(chǎng)合,需要用一臺(tái)工控機(jī)靈活地控制多臺(tái)變頻器,以達(dá)到控制交流電機(jī)的目的。在油田輸油控制系統(tǒng)中,多臺(tái)變頻器的控制問題成為關(guān)鍵,按照以往的控制方法,需要使用PLC或者控制電路板來控制變頻器。然而使用這種方法造價(jià)高、系統(tǒng)復(fù)雜、布線量大、故障率高,因此亟需一種結(jié)構(gòu)簡(jiǎn)單、造價(jià)低廉、可靠性高的系統(tǒng)來實(shí)現(xiàn)多臺(tái)變頻器的控制。    

    針對(duì)這一需要,一些公司(如日本三菱、德國(guó)西門子、日本東芝等)推出了帶有RS-485通信接口的變頻器,使用戶能方便靈活地選擇變頻器的強(qiáng)大功能,設(shè)計(jì)各自的工業(yè)控制系統(tǒng)。因此,我們可以充分利用廠商提供的工業(yè)總線接口,使控制系統(tǒng)布線簡(jiǎn)潔,穩(wěn)定可靠。     

    目前,我們?cè)诶霉I(yè)總線接口開發(fā)用戶程序時(shí),大部分都是基于DOS環(huán)境下的,隨著Windows操作系統(tǒng)的普及使得DOS單任務(wù)系統(tǒng)固有的缺陷顯得日益突出,人們?cè)絹碓较M茉赪indows的環(huán)境下進(jìn)行工業(yè)控制。

    在Windows 9X下開發(fā)工控軟件,不僅可以實(shí)現(xiàn)多任務(wù)操作,充分利用硬件資源,而且可以利用Windows 9X下豐富的開發(fā)工具,方便地生成各種菜單及友好的圖形界面,軟件產(chǎn)品質(zhì)量高且開發(fā)周期短。但在Windows 9X環(huán)境下,系統(tǒng)完全接管了各種硬件資源,不允許用戶直接對(duì)系統(tǒng)硬件進(jìn)行控制。如何在Windows 9X/NT環(huán)境下開發(fā)微機(jī)的底層資源,已成為當(dāng)今工控業(yè)的一個(gè)值得探討的課題。     

    本文以三菱FR-A500變頻器的串行通信為例,利用Visual Basic 6.0的ActiveX控件— Microsoft Communication控件,通過對(duì)變頻器串行通信協(xié)議的分析,解決了Windows 9X環(huán)境下與多個(gè)變頻器的串行通信, 成功地實(shí)現(xiàn)了用單臺(tái)工控PC機(jī)對(duì)多臺(tái)交流異步電機(jī)的靈活控制,從而在Windows9X環(huán)境下如何實(shí)現(xiàn)串行通信的問題上作了有益的嘗試。     

2 、油田輸油控制系統(tǒng)的簡(jiǎn)介     

    由于多臺(tái)變頻器的控制技術(shù)是油田輸油控制系統(tǒng)中的關(guān)鍵,所以有必要簡(jiǎn)單介紹一下本控制系統(tǒng)的概況。       

    油田輸油控制系統(tǒng)主要有以下幾部分構(gòu)成,圖1所示:     

    1. 中央控制器,主要一臺(tái)工控計(jì)算機(jī)及其通信模塊構(gòu)成,它主要負(fù)責(zé)發(fā)送控制指令及控制參數(shù),并根據(jù)現(xiàn)場(chǎng)返回的工況數(shù)據(jù)調(diào)整控制參數(shù);     

    2. 監(jiān)控信號(hào)和管道反饋信號(hào)由RS—485總線連接到中央控制器;     

    3. 泵站1~n主要油泵、變頻器、通信適配器、管道傳感器等構(gòu)成;    

 

 

控制系統(tǒng)的通信原理     

    根據(jù)油田輸油控制系統(tǒng)的要求,我們給出了通信原理框圖(圖2),這里只重點(diǎn)突出工控PC機(jī)與變頻器RS—485的接口部分。RS—485的驅(qū)動(dòng)器可帶32個(gè)接收器,在波特率為100Kbit/s時(shí),通信距離可達(dá)到1200m; 通信距離為15m時(shí),波特率可達(dá)10Mbit/s。在工業(yè)現(xiàn)場(chǎng),RS- 485是應(yīng)用較多的一種通信方式。     

    圖2 中工控PC機(jī)通過RS-232C—RS-485轉(zhuǎn)換器與多個(gè)變頻器相連接,最多可達(dá)到32臺(tái)。每個(gè)變頻器被賦予各自的地址碼用以識(shí)別身份,這樣,上位機(jī)便能通過RS-485通信線,對(duì)掛在上面的所有變頻器進(jìn)行控制操作。  

 

 

變頻器的串行口通信協(xié)議分析    

    通過對(duì)油田輸油控制系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),以及對(duì)三菱FR-A500變頻器原理及通信方式的研究,我們發(fā)現(xiàn)三菱FR-A500變頻器的通信方式為異步半雙工RS—485協(xié)議;波特率19200bit/s,9600bit/s,4800bit/s 可選;ASCII 7或8位數(shù)據(jù)位可選;1位奇偶校驗(yàn)可選;1或2位停止位可選。其通信協(xié)議的數(shù)據(jù)格式有十種,分別為:   A,A’,B,C,D,E,E’,F(xiàn),G,H;     

    下面以格式A為例簡(jiǎn)要說明一下變頻器通信協(xié)議:     

    格式A的功能是變頻器運(yùn)行頻率、運(yùn)行參數(shù)的寫入和復(fù)位變頻器,其結(jié)構(gòu)如下:   

 

 

    *1 ENQ——表示控制代碼,它有以下幾種:(括號(hào)內(nèi)為ASCII碼)      STX (H02) 正文數(shù)據(jù)開始;ETX (H03) 正文數(shù)據(jù)結(jié)束;ENQ (H05) 通信請(qǐng)求;     ACK (H06) 應(yīng)答無數(shù)據(jù)錯(cuò)誤;LF (H0A) 換行;CR (H0D) 回車;     NAK (H15) 應(yīng)答發(fā)現(xiàn)數(shù)據(jù)錯(cuò)誤;     

    *2變頻器站號(hào)——可用十六進(jìn)制數(shù)在H00和H1F(站號(hào)0 至31 )間設(shè)定;     

    *3指令代碼——由計(jì)算機(jī)發(fā)給變頻器,指明程序要求(如:監(jiān)視、運(yùn)行等);     

    *4等待時(shí)間——規(guī)定變頻器收到從計(jì)算機(jī)來的數(shù)據(jù)和傳輸應(yīng)答數(shù)據(jù)之間的等待時(shí)間。根據(jù)計(jì)算機(jī)的響應(yīng)時(shí)間在0和150ms之間設(shè)定,最小設(shè)定單位10ms。     

    *5數(shù)據(jù)——表示計(jì)算機(jī)與變頻器之間傳輸?shù)臄?shù)據(jù),如:頻率、參數(shù)等;     

    *6總合校驗(yàn)——由被校驗(yàn)的ASCII碼數(shù)據(jù)的總和(二進(jìn)制)的最低一個(gè)字節(jié)表示的2個(gè)ASCII數(shù)字(十六進(jìn)制)。     

    *7表示CR(回車)、LF(換行)代碼。     

    與格式A相對(duì)應(yīng)的數(shù)據(jù)格式有C和D;若用戶程序通信請(qǐng)求以格式A發(fā)送到變頻器的數(shù)據(jù)被變頻器接受,則變頻器以格式C形式的數(shù)據(jù)返回給計(jì)算機(jī);若變頻器發(fā)現(xiàn)計(jì)算機(jī)發(fā)送的數(shù)據(jù)有誤,則變頻器以格式D形式的數(shù)據(jù)返回給計(jì)算機(jī)。    

    數(shù)據(jù)格式C和D分別如下:   

 

 

    其他的數(shù)據(jù)格式的功能如下:格式A’ 用于運(yùn)行指令的寫入,其對(duì)應(yīng)的應(yīng)答數(shù)據(jù)格式為格式C和格式D;格式 B用于監(jiān)視變頻器的運(yùn)行參數(shù)(頻率、電壓、電流、轉(zhuǎn)速)及讀出變頻器的系統(tǒng)參數(shù),其對(duì)應(yīng)的應(yīng)答數(shù)據(jù)格式為E、E’、F、G、H。         

    一般情況下,變頻器通過操作面板(PU)來設(shè)置變頻器參數(shù),一旦參數(shù)設(shè)定好了,就不能改變,這樣很難通過現(xiàn)場(chǎng)信號(hào)進(jìn)行實(shí)時(shí)的控制。通過以上對(duì)變頻器通信協(xié)議的分析,考慮用軟件來實(shí)現(xiàn)工控機(jī)與變頻器的串行通信,利用軟件可以靈活的實(shí)現(xiàn)系統(tǒng)所需的各種功能而不必改動(dòng)現(xiàn)場(chǎng)的硬件電路,而且RS-485通信線最多能同時(shí)控制32臺(tái)變頻器,同時(shí),各變頻器的運(yùn)行狀態(tài)也能實(shí)時(shí)地回送給上位機(jī)。     

5 控制系統(tǒng)通信控制軟件設(shè)計(jì)     

5.1串口通信程序設(shè)計(jì)方法    

    基于對(duì)系統(tǒng)結(jié)構(gòu)和變頻器串口通信協(xié)議的分析,必須對(duì)工控計(jì)算機(jī)的串行口進(jìn)行編程。在DOS的操作系統(tǒng)下,計(jì)算機(jī)所有的硬件對(duì)編程人員是透明的,因此比較容易進(jìn)行內(nèi)存管理和硬件中斷管理,所以程序的響應(yīng)速度快。但是,DOS是單任務(wù)操作系統(tǒng),對(duì)硬件資源浪費(fèi)嚴(yán)重,并且在進(jìn)行圖形界面編程時(shí)其難度和任務(wù)量都遠(yuǎn)遠(yuǎn)超過了對(duì)硬件部分的編程。因此我們采用Windows 9X操作系統(tǒng)和基于此平臺(tái)的開發(fā)軟件來編寫控制系統(tǒng)軟件。     

    在Windows 9X環(huán)境下,操作系統(tǒng)完全接管了各種硬件資源, 不允許用戶程序直接讀寫硬件端口和進(jìn)行中斷管理。所以早期的程序員只能通過數(shù)目眾多的API函數(shù)來控制端口,使用起來很不方便。     

    本系統(tǒng)利用VB6.0下提供了一個(gè)ActiveX控件(Microsoft Communication控件, 簡(jiǎn)稱MSComm 控件)來實(shí)現(xiàn)串行口的通信設(shè)計(jì)。通過在應(yīng)用程序中嵌入MSComm控件的方式,進(jìn)行計(jì)算機(jī)串口的通信管理,下面簡(jiǎn)要介紹一下MSComm控件的功能:     

    MSComm 6.0控件可以實(shí)現(xiàn)數(shù)據(jù)緩沖區(qū)的管理,Input (從緩沖區(qū)讀取接收數(shù)據(jù))的數(shù)據(jù)類型為Variant,從緩沖區(qū)讀取數(shù)據(jù)的格式為字符串格式(Text)或二進(jìn)制格式(Binary)。     

    MSComm控件提供的具體功能如表1:   

 

 

    其中串口號(hào)(CommPort)設(shè)置為1、2 … n等表示COM1、COM2 … COMn。參數(shù)設(shè)置(Settings)的格式為 “BBBB,P,D,S”,BBBB表示波特率,P表示奇偶校驗(yàn)(N:無校驗(yàn),E:偶校驗(yàn),O:奇校驗(yàn)),D表示字節(jié)有效位數(shù),S表示停止位數(shù)。串口狀態(tài)(PortOpen)為BOOL變量,TRUE表示打開串口,F(xiàn)ALSE表示關(guān)閉串口。InputMode使程序能方便地選擇從緩沖區(qū)讀取數(shù)據(jù)的格式,設(shè)置為0時(shí),為字符串格式(Text),設(shè)置為1時(shí),為二進(jìn)制格式(Binary)。InputLen設(shè)置或返回的是用Input從緩沖區(qū)讀字符串時(shí)每次讀出的字符個(gè)數(shù),這個(gè)性質(zhì)對(duì)于讀出數(shù)據(jù)塊中定長(zhǎng)數(shù)據(jù)串非常有用。     

    InBufferCount和OutBufferCount用于串口的查詢方式。對(duì)于較復(fù)雜的通信任務(wù),可通過Com9Xvent處理串口的事件,當(dāng)相應(yīng)事件或串口錯(cuò)誤事件發(fā)生時(shí),系統(tǒng)會(huì)激活OnComm事件,在OnComm中添加用戶的處理代碼,則可實(shí)現(xiàn)類似DOS中斷的串口處理程序。     

5.2變頻器串口通信軟件結(jié)構(gòu)     

    為了用該控件控制一個(gè)串口進(jìn)行通信操作,還必須在應(yīng)用程序中插入該控件。為此,將MSComm控件插入到程序的某個(gè)對(duì)話框,并為這個(gè)控件對(duì)象命名為MSComm1,則程序中對(duì)串口的各種操作都可通過對(duì)象MSComm1來實(shí)現(xiàn)。     

    下面是串口控制子程序的流程圖:     

 

 

6 結(jié)束語     

    本文利用Win9X下的ActiveX控件和三菱變頻器RS-485的串行通信功能,成功實(shí)現(xiàn)了在Win9X環(huán)境下單臺(tái)IPC機(jī)對(duì)多臺(tái)三菱變頻器的控制,并能實(shí)時(shí)檢測(cè)各變頻器的運(yùn)行狀態(tài)。整個(gè)控制系統(tǒng)靈活方便,具有很大的實(shí)用性。本文在Win9X下多臺(tái)變頻器控制的設(shè)計(jì)方案及軟件實(shí)現(xiàn)為此類問題的解決作了很好的嘗試與探索。與DOS方式的控制相比,具有開發(fā)周期短、充分利用硬件資源、軟件界面美觀等優(yōu)點(diǎn)。但由于Win9X是多任務(wù)分時(shí)操作系統(tǒng),所以該系統(tǒng)不能做到強(qiáng)實(shí)時(shí)控制,這是今后有待改進(jìn)的地方。     

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。