基于VC的執(zhí)行機(jī)構(gòu)以太網(wǎng)控制系統(tǒng)的設(shè)計 2011-05-10 08:47:51來源:互聯(lián)網(wǎng)

摘要:本文介紹了一種適用于過程控制領(lǐng)域的工業(yè)以太網(wǎng)監(jiān)控系統(tǒng)的架構(gòu),通過主控計算機(jī)和工業(yè)以太網(wǎng),可以方便的將所設(shè)計的各種網(wǎng)絡(luò)化的電動執(zhí)行機(jī)構(gòu)按照我們的控制需要來連成網(wǎng)絡(luò),形成系統(tǒng)。通過自定義的通訊協(xié)議,保證了系統(tǒng)的實時性以及可靠性。通過通訊試驗,證明了該控制系統(tǒng)是可行的。
關(guān)鍵詞:工業(yè)以太網(wǎng);執(zhí)行機(jī)構(gòu);通信協(xié)議

1 引言

在工業(yè)控制領(lǐng)域中,隨著控制系統(tǒng)規(guī)模的不斷增大,集中控制系統(tǒng)已經(jīng)不能滿足要求,控制網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用到工業(yè)控制中?,F(xiàn)場總線就是順應(yīng)這一形式發(fā)展起來的技術(shù),并在一定程度上解決了這一問題。但是,現(xiàn)場總線的開放性是有條件的,是不徹底的。當(dāng)現(xiàn)場總線的發(fā)展遇到阻礙時,以太網(wǎng)技術(shù)卻得到了迅猛發(fā)展。如果能將以太網(wǎng)技術(shù)成功地用于工業(yè)控制底層網(wǎng)絡(luò),就可以打破傳統(tǒng)的工業(yè)控制網(wǎng)絡(luò)體系,實現(xiàn)辦公自動化與工業(yè)自動化的無縫結(jié)合。

本課題正是在這種環(huán)境下提出。在設(shè)計中,我們選擇了傳輸速率高、實時性好,成本低的工業(yè)以太網(wǎng),在繼承上一代產(chǎn)品中成熟技術(shù)的基礎(chǔ)上,將工業(yè)以太網(wǎng)技術(shù)融入到電動執(zhí)行機(jī)構(gòu)的設(shè)計中,使它們成為新一代的數(shù)字化產(chǎn)品。為了配合這些網(wǎng)絡(luò)化的電動執(zhí)行機(jī)構(gòu)的使用,我們需要構(gòu)建一套適用于過程控制領(lǐng)域的以太網(wǎng)監(jiān)控系統(tǒng)。它通過工業(yè)以太網(wǎng),將主控計算機(jī)和多個電動執(zhí)行機(jī)構(gòu)連接起來,按照我們的需求通過計算機(jī)對底層進(jìn)行各種不同的控制,形成一個完整的控制網(wǎng)絡(luò)。

2 控制系統(tǒng)架構(gòu)

2.1 控制系統(tǒng)以太網(wǎng)架構(gòu)

整個控制系統(tǒng)的結(jié)構(gòu)如圖1所示。在此,以太網(wǎng)轉(zhuǎn)串口模塊相當(dāng)于完成一個執(zhí)行機(jī)構(gòu)網(wǎng)卡的作用,用于完成執(zhí)行機(jī)構(gòu)與以太網(wǎng)之間的協(xié)議轉(zhuǎn)換和交流。電動執(zhí)行機(jī)構(gòu)與以太網(wǎng)轉(zhuǎn)串口模塊之間通過串行TTL電平進(jìn)行通訊,然后通過該模塊將電平信號以網(wǎng)絡(luò)數(shù)據(jù)幀的形式傳送到以太網(wǎng)上(此處以太網(wǎng)可以用HUB代替),然后進(jìn)一步傳送給上位機(jī),從而形成一條從上位機(jī)到執(zhí)行機(jī)構(gòu)的可靠的信道。

本系統(tǒng)所采用的以太網(wǎng)轉(zhuǎn)串口模塊是國內(nèi)某公司開發(fā)的一款嵌入式網(wǎng)絡(luò)模塊,它內(nèi)部集成了TCP/IP 協(xié)議棧,用戶利用它可以實現(xiàn)嵌入式設(shè)備的網(wǎng)絡(luò)功能。該產(chǎn)品用于串口與以太網(wǎng)之間的數(shù)據(jù)傳輸,為串口設(shè)備增加以太網(wǎng)接口??捎糜诖谠O(shè)備與主控計算機(jī)機(jī)之間,或者多個串口設(shè)備之間的遠(yuǎn)程通信。


點擊看大圖

圖1 控制系統(tǒng)整體結(jié)構(gòu)圖

2.2 電動執(zhí)行機(jī)構(gòu)和以太網(wǎng)轉(zhuǎn)串口模塊通訊的實現(xiàn)

串行通訊采用TTL電平,占用兩個I/O口,即輸入口(RxD)和輸出口(TxD),執(zhí)行機(jī)構(gòu)主控板需要提供+5V電源給以太網(wǎng)轉(zhuǎn)串口模塊,硬件連接如圖2所示。


點擊看大圖

圖2 底層通訊的實現(xiàn)原理圖

本系統(tǒng)中執(zhí)行機(jī)構(gòu)所采用的主控芯片為Intel 80C196MC。圖中P2.0作為80C196MC的串行輸出,P2.1作為80C196MC的串行輸入。網(wǎng)卡地線應(yīng)和主控制板的數(shù)字地即單片機(jī)的地連接。80C196MC與以太網(wǎng)轉(zhuǎn)串口模塊之間采用異步通信,一幀長度為10位,包含8位數(shù)據(jù),1位奇偶校驗位和1位結(jié)束位。

3     軟件部分的實現(xiàn)

本系統(tǒng)采用基于VC++6.0的WinSock編程。套接字(Socket)已經(jīng)成為當(dāng)今最流行的網(wǎng)絡(luò)通信應(yīng)用程序接口。套接字最初由加利福利亞大Berkeley分校為Unix操作系統(tǒng)開發(fā)的網(wǎng)絡(luò)通信接口, 后來它又被移植到DOS與Windows 系統(tǒng),特別是近幾年互聯(lián)網(wǎng)在全世界范圍內(nèi)的廣泛普及, 進(jìn)一步奠定了它在網(wǎng)絡(luò)通信程序開發(fā)領(lǐng)域的主宰地位。

系統(tǒng)采用Client/Server模式。通過以太網(wǎng)轉(zhuǎn)串口模塊的配置軟件,將該模塊設(shè)置成服務(wù)器模式,而主控計算機(jī)上的控制軟件部分為客戶端,每次啟動由主控計算機(jī)主動連接執(zhí)行機(jī)構(gòu)??蛻舳撕头?wù)器采用面向連接的通信協(xié)議:控制計算機(jī)和模塊之間會建立一個虛擬連接,這個連接一旦建立,客戶端和服務(wù)器之間就可以把數(shù)據(jù)當(dāng)作一個雙向字節(jié)流進(jìn)行交換;如果連接建立不成功,則不會發(fā)送數(shù)據(jù)。另外,面向連接傳輸?shù)拿恳粋€報文都需要接收端確認(rèn),未確認(rèn)報文被認(rèn)為是出錯的報文。