摘 要:采用RS485總線通訊技術(shù),利用電子設(shè)備本身的資源,提出了一種基于個人計算機的低成本集散系統(tǒng)解決方案,應(yīng)用于多家水泥廠的配料生產(chǎn)線控制,效果良好,取得了較大的經(jīng)濟和社會效益。
關(guān)鍵詞:個人計算機 集散系統(tǒng) RS485 數(shù)據(jù)采集模塊 變頻器
1. 引言
為數(shù)眾多的中小企業(yè),在我國的國民經(jīng)濟中占有重要地位,這些企業(yè)大多設(shè)備陳舊,技術(shù)落后,急需技術(shù)改造。利用現(xiàn)代電子信息技術(shù)改造傳統(tǒng)產(chǎn)業(yè),是我國的一項基本產(chǎn)業(yè)政策,也是這類企業(yè)生存、發(fā)展、提高競爭力的迫切需要;但是現(xiàn)代集散系統(tǒng)的高昂成本,阻礙了在這類企業(yè)的應(yīng)用。隨著現(xiàn)代電子信息技術(shù)的發(fā)展,各類電子設(shè)備特別是電子計算機的價格不斷下降,而綜合性能卻不斷提高,這就為低成本集散系統(tǒng)的開發(fā)提供了條件,在此基礎(chǔ)上,我們成功開發(fā)出一種適合中小企業(yè)的集散系統(tǒng),在完全滿足性能要求的前提下,實現(xiàn)了低成本。
2.系統(tǒng)構(gòu)成
中小企業(yè)集散系統(tǒng)一般規(guī)模較小,現(xiàn)場控制量不多。控制的變量主要有:開關(guān)量的輸入輸出,模擬量的數(shù)據(jù)采集,交流電機的起停、轉(zhuǎn)速控制等。根據(jù)上述特點,考慮與現(xiàn)代企業(yè)信息系統(tǒng)集成能力,我們按二級結(jié)構(gòu)設(shè)計集散系統(tǒng)。
2.1 過程控制級:
采用通用微型計算機,內(nèi)置工業(yè)以太網(wǎng)卡,通過工業(yè)以太網(wǎng)與企業(yè)信息管理系統(tǒng)、基礎(chǔ)控制計算機進行通信,完成系統(tǒng)監(jiān)控功能。
2.2 基礎(chǔ)控制級:
基礎(chǔ)控制計算機也采用通用型微型計算機,內(nèi)置工業(yè)以太網(wǎng)卡,通過工業(yè)以太網(wǎng)實現(xiàn)和上位機的通訊。同時在其標準的RS-232串行通訊接口上,裝設(shè)5V電源的光電隔離RS232/RS485轉(zhuǎn)換器,構(gòu)成了一個RS485總線系統(tǒng)。RS485采用平衡發(fā)送接受方式,具有傳輸距離長,抗干擾能力強和多站功能。4017是遠端數(shù)據(jù)采集模塊,用于模擬量數(shù)據(jù)采集;4050是遠端控制模塊,用于開關(guān)量輸入輸出;變頻器為富士FRN7.5G11S型,用于交流電機的控制。在基礎(chǔ)控制級中,由基礎(chǔ)控制計算機作為主站,模塊和變頻器作為從站,組成了一個基于RS485通訊協(xié)議的主/從式網(wǎng)絡(luò)。
3. 系統(tǒng)軟件設(shè)計
3. 1 軟件的選擇
一般情況下,大型集散系統(tǒng)都是采用工控組態(tài)軟件如FIX,RSVIEW等制作上位機畫面,而用梯形圖語言實現(xiàn)PLC的編程。這種方案成本較高,所以現(xiàn)在小型集散控制系統(tǒng)中,趨向采用通用的高級語言設(shè)計工程軟件,如用VB,VC++,DELPHI等編制監(jiān)控畫面。在這個方案中,我們采用VB編制上位機監(jiān)控程序和基礎(chǔ)控制計算機控制程序,由于一般工程技術(shù)人員都能熟練掌握VB編程技術(shù),這就避免了從頭開始培訓使用專業(yè)的組態(tài)軟件和PLC編程軟件,縮短了系統(tǒng)開發(fā)周期,也節(jié)省了購買大型組態(tài)軟件的費用。利用VB高級語言的強大功能可以很容易地實現(xiàn)數(shù)據(jù)庫管理,使監(jiān)控和管理溶為一體,這也是一般的工控組態(tài)軟件所不能達到的。
3.2 基礎(chǔ)控制計算機與485接口設(shè)備通訊的實現(xiàn)
基礎(chǔ)控制計算機與遠端數(shù)據(jù)采集控制模塊、變頻器、其它485接口設(shè)備通過RS485總線構(gòu)成了一個主從式的通訊網(wǎng)絡(luò),基礎(chǔ)控制計算機作為主站,向遠端數(shù)據(jù)采集控制模塊和變頻器發(fā)出控制指令,而模塊和變頻器作為從站,收到控制指令后,執(zhí)行指令并向主站發(fā)出回應(yīng)信號,模塊、變頻器及其它485接口設(shè)備統(tǒng)一編址,都是具有不同站號的從站,主站輪流向每個從站發(fā)出控制信號,并接受不同的從站的返回信號,從而對每一個從站進行控制,并采集數(shù)據(jù)。從站和從站之間不能通訊。計算機、模塊、變頻器及其它485接口設(shè)備的通訊端口統(tǒng)一設(shè)置為:波特率 9600,偶校驗,數(shù)據(jù)位8位,停止位1位。
3.2.1 4017與基礎(chǔ)控制計算機之間的通訊協(xié)議
向4017發(fā)出的報文(指令)結(jié)構(gòu)如下:
# 是單字節(jié)ASCII # 字符(值為23H),表示要求讀取模擬量輸入值;
ADR 是兩字節(jié)ASCII碼,表示模塊地址;
CR 是單字節(jié)ASCII CR字符(值為0DH),表示報文結(jié)束。
4017返回的報文如下:
DATA0-DATA7都是七字節(jié)ASCII碼,表示0-7通道模擬量值,包含一位符號位,一位小數(shù)位,五個數(shù)字位。4017模擬量通道定義為±5 V。
CR 是單字節(jié)ASCII CR字符(值為0DH),表示報文結(jié)束。
3.2.2 4050與基礎(chǔ)控制計算機之間的通訊協(xié)議
向4050發(fā)出的報文結(jié)構(gòu)如下:
# 是單字節(jié)ASCII #字符(值為23H),表示要求改變模塊輸出狀態(tài);
ADR 是兩字節(jié)ASCII碼,表示模塊地址;
NUL是兩字節(jié)ASCII NUL字符,(值為00H),表示改變?nèi)?位狀態(tài);
DATA是單字節(jié)區(qū)域,表示8位輸出狀態(tài);
CR 是單字節(jié)ASCII CR字符(值為0DH),表示報文結(jié)束。
此時4050返回的報文如下:
>是單字節(jié)ASCII > 字符(值為3EH),表示模塊已接受命令;
CR 是單字節(jié)ASCII CR字符(值為0DH),表示報文結(jié)束。
3.2.3 變頻器及其它485接口設(shè)備與基礎(chǔ)控制計算機之間的通訊協(xié)議.
FRN7.5G11S型變頻器是富士公司的5000系列變頻器中的一種,該系列變頻器功能十分強大,可以通過多種方式對電機進行控制,可以通過前面板上的按鍵進行本地控制,也可以通過開關(guān)量端子進行控制,還可以通過RS485端口進行遠程控制。
在實現(xiàn)計算機與變頻器通訊之前,必須首先設(shè)置變頻器的相關(guān)參數(shù),根據(jù)實際需要,所設(shè)參數(shù)如下:
H30:RS485連接功能。此參數(shù)為3時,從RS485口輸入的頻率設(shè)定和運行命令有效。
H31:用來設(shè)定變頻器的站地址。
H34:傳送速度,此參數(shù)為2時,為9600BIT/S。
H35:數(shù)據(jù)長度,此參數(shù)為0時,為8位。
H36:奇偶效驗,此參數(shù)為1時,為偶效驗。
H37:停止位,此參數(shù)為1時,為1位停止位。
由于本系列變頻器功能十分強大,向變頻器發(fā)送的命令種類很多,報文也有多種格式,在此只列一種。
變頻器啟動,停止,報文格式如下:
SOH是單字節(jié)ASCII SOH字符,(值為01H),用來表示報文的開始。
ADR是雙字節(jié)區(qū)域,它包含了從站變頻器的地址。
ENQ是單字節(jié)區(qū)域,表示主站發(fā)出命令.
f是單字節(jié)ASCII f字符,控制變頻器運行命令。
DATA是四字節(jié)區(qū)域,"0000"表示停止,"0001"表示正轉(zhuǎn),"0002"表示反轉(zhuǎn)。
EXT是單字節(jié)ASCII EXT字符,(值為03H),用來表示報文的結(jié)束。
BCC是雙字節(jié)區(qū)域,用做報文效驗,它的值是報文中從LGE 到HSW所有字節(jié)之和的后兩位,若變頻器收到帶有錯誤結(jié)果的報文,它將放棄此報文并拒絕應(yīng)答。
其它485接口設(shè)備包括積算儀表、沖板流量計等,都帶有類似協(xié)議。
3.2.4 基礎(chǔ)控制計算機通訊軟件的設(shè)計
MSComm控件是Microsoft 公司提供的ActiveX控件,它實現(xiàn)了從微機串口讀數(shù)據(jù)和向微機寫數(shù)據(jù),通過改變其屬性,編寫相應(yīng)的程序代碼,我們能夠比較方便地編出基礎(chǔ)控制計算機的通訊軟件。MSComm控件的主要屬性如下:
Commport :設(shè)置并返回通訊端口號,設(shè)置為1,即選擇串口1。
Settings:設(shè)置并返回波特率,奇偶效驗位,數(shù)據(jù)位,停止位。統(tǒng)一設(shè)置為"9600,8,e,1" .
Portopen:設(shè)置并返回通訊端口狀態(tài),用來打開或關(guān)閉端口。
Input:從通訊控件的緩沖區(qū)獲取數(shù)據(jù),運行時為只讀。
Output:向傳輸緩沖區(qū)寫數(shù)據(jù),此數(shù)據(jù)可以時文本格式或二進制格式,運行時為只讀。
InBufferCount:返回接受緩沖區(qū)的字符數(shù),將其屬性設(shè)置為0用來清接受緩沖區(qū)。
Inputmode:設(shè)置或返回Input屬性取回的數(shù)據(jù)類型。置0為文本格式,置1為二進制格式。
以控制變頻器為例,變頻器地址為6時啟動電機程序如下:
Dim X (7) as String
MSComm. Settings="9600,e,8,1"
MSComm. InBufferCount=0
MSComm .Inputmode= comInputmodeBinary
X(0)= CHR$(01H):X(1)="06":X(2)=CHR$(05H):X(3)="f":X(4)="0001":X(5)= CHR$(03H)
X(6)="92"
X=X(0)+X(1)+X(2)+X(3)+X(4)+X(5)+X(6)
MSComm. Output=X
3.3 監(jiān)控軟件設(shè)計
監(jiān)控軟件采用 VB編程語言編程。相對于其它高級語言,利用VB的圖象控件能夠比較容易地編制出美觀的監(jiān)控畫面,利用WinSock實現(xiàn)Socke套接字完成局域網(wǎng)內(nèi)的通訊,利用VB的數(shù)據(jù)庫功能實現(xiàn)歷史數(shù)據(jù)的存儲、報表打印,從而實現(xiàn)了監(jiān)控功能。
4. 實際應(yīng)用案例
河北遷安沙灤水泥廠一條生料配料生產(chǎn)線,兩條熟料配料生產(chǎn)線采用了該項技術(shù),對每條生產(chǎn)線的七至八種物料進行配比控制。由DCS輸出開關(guān)量控制電振機將物料放入秤斗,輸入模擬量檢測重量,輸出開關(guān)量控制開關(guān)門電機將物料放出秤斗,從而控制每種物料達到工藝要求的流量和配比,并且集中監(jiān)控各生產(chǎn)線的生產(chǎn)狀況。如果采用一般集散系統(tǒng)控制,設(shè)備費用約二十萬元左右,而采用該系統(tǒng)僅需要六、七萬元。實際運行表明,該方案滿足用戶要求,并能長期穩(wěn)定運行。
5. 結(jié)束語
在小型的控制系統(tǒng)應(yīng)用中,如果采用一些流行的過程控制網(wǎng)絡(luò),那么在通訊,模擬量處理等方面,投資很大。本方案充分利用了計算機,變頻器本身的資源和通用的軟件技術(shù),達到了降低成本的目的。在具有同樣性能的前提下,投資只有流行方案的35%~50%,目前已有二十余套系統(tǒng)成功地應(yīng)用于企業(yè)生產(chǎn)過程中。