現(xiàn)場(chǎng)總線(xiàn)技術(shù)及以太網(wǎng)的工業(yè)化是當(dāng)今工業(yè)控制領(lǐng)域的技術(shù)熱點(diǎn)之一[ 1 ]。 以太網(wǎng)是目前應(yīng)用最為廣泛的局域網(wǎng), 80% 的網(wǎng)絡(luò)連接中都是基于以太網(wǎng)的。它不僅應(yīng)用于辦公自動(dòng)化及智能儀表, 而且大舉進(jìn)軍工業(yè)自動(dòng)化領(lǐng)域, 在工業(yè)控制局域網(wǎng)中得到了很好的應(yīng)用[ 2 ]。由于以太網(wǎng)具有傳輸速率高, 傳遞容量大等優(yōu)點(diǎn), 故將其應(yīng)用于遠(yuǎn)程監(jiān)控將成為理想之選擇。本文利用實(shí)驗(yàn)室現(xiàn)有的實(shí)驗(yàn)設(shè)備, 設(shè)計(jì)了以太網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng), 將以太網(wǎng)從管理層延伸到控制層, 通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控和"從會(huì)議室到傳感器"的集成。
1 硬件設(shè)計(jì)
利用實(shí)驗(yàn)室現(xiàn)有條件, 構(gòu)建的硬件體系如圖1 所示。系統(tǒng)的硬件構(gòu)成如下:

圖1 實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)體系圖
1. 1 管理層--PC 機(jī)及遠(yuǎn)程internet
在本系統(tǒng)中以太網(wǎng)傳輸介質(zhì)采用10Baset-T 雙絞線(xiàn), 使得系統(tǒng)拓?fù)錇樾切徒Y(jié)構(gòu)。借助一個(gè)16 口的Hub, 將處于辦公室的PC 機(jī)和遠(yuǎn)程的internet 服務(wù)器及車(chē)間級(jí)的PCC 控制子站直接相聯(lián)。在本系統(tǒng)中, 管理層包括一臺(tái)PC 機(jī)及本地登錄遠(yuǎn)程internet 的服務(wù)器。以太網(wǎng)接口硬件采用常用的以太網(wǎng)卡, 降低了系統(tǒng)構(gòu)建的設(shè)備成本, 且縮短了開(kāi)發(fā)周期。
1. 2 控制層--PCC 控制單元及觸摸屏人機(jī)接口
處于控制層的核心控制單元采用奧地利貝加萊公司(B&R) 生產(chǎn)的可編程計(jì)算機(jī)控制器PCC (P rogrammable Computer Controller)。貝家萊PCC 根據(jù)系統(tǒng)規(guī)模不同, 分為2003 (百點(diǎn)以下)、2005 (數(shù)百點(diǎn))、2010 (千點(diǎn)左右) 等3 個(gè)系列[ 3 ]。本系統(tǒng)中CPU 模塊采用IF260, 屬2005 中型系列。人機(jī)接口采用HITECH 公司的觸摸屏與液晶屏合一的彩屏, 規(guī)格為2400×1600。此面板具有防水防塵工業(yè)級(jí)設(shè)計(jì), 適用于各種惡劣環(huán)境。有LPT 口輸出打印報(bào)表, 另有COM 1 和COM 2通過(guò)RS232與PC 機(jī)或PCC 相聯(lián)。
1. 3 現(xiàn)場(chǎng)層--CAN 網(wǎng)絡(luò)
現(xiàn)場(chǎng)包括3 臺(tái)型號(hào)為6SE7016 的西門(mén)子變頻器, 兩臺(tái)型號(hào)為E82EV 571的LENZ變頻器, 通過(guò)CAN總線(xiàn)采用菊花鏈的形式互聯(lián)至PCC。由于所有變頻器均處于電氣柜中, 距離很短, 通訊速率可高達(dá)500Kb/s. 除1# 主令變頻器外, 其它4 臺(tái)變頻器各帶一位置傳感器以檢測(cè)松緊架的位置, 并將位置偏移量信號(hào)送至變頻器的輔助頻率輸入端, 用以調(diào)整織物的恒速恒張力運(yùn)行。此外, 在電氣柜面板上還設(shè)有準(zhǔn)備、啟動(dòng)、點(diǎn)動(dòng)、升頻、降頻、停止、急停、復(fù)位按鈕和相關(guān)指示燈。
2 功能分析
由系統(tǒng)層次結(jié)構(gòu)圖(圖1)可清楚地看出, 本系統(tǒng)為一典型的三級(jí)工業(yè)控制網(wǎng)絡(luò)。處于管理層的PC機(jī)通過(guò)以太網(wǎng)監(jiān)測(cè)控制層和現(xiàn)場(chǎng)層的實(shí)時(shí)信息, 必要時(shí)還可通過(guò)向控制層的子站申請(qǐng)系統(tǒng)控制權(quán), 將分散控制轉(zhuǎn)為集中控制, 使得實(shí)現(xiàn)控制系統(tǒng)的異地監(jiān)控和故障診斷成為可能。同時(shí), PC 機(jī)還可向控制層的子站遞交系統(tǒng)控制權(quán), 將系統(tǒng)由集中控制轉(zhuǎn)為分散控制. 這種控制形式的靈活切換, 更便于工業(yè)企業(yè)內(nèi)部管理部門(mén)與生產(chǎn)部門(mén)的信息溝通, 為企業(yè)內(nèi)部各部門(mén)間的信息開(kāi)放化及交流創(chuàng)造了條件。
控制子站的核心控制單元PCC 包含CPU 模塊、通訊模塊和輸入輸出模塊。它們完成所有數(shù)字量和模擬量的采集, 根據(jù)系統(tǒng)功能要求實(shí)現(xiàn)相應(yīng)變量的控制算法和控制策略, 及時(shí)輸出現(xiàn)場(chǎng)執(zhí)行機(jī)構(gòu)所需的各種控制信息; 接收現(xiàn)場(chǎng)人機(jī)接口(觸摸屏)輸入的, 或遠(yuǎn)端管理層(PC 機(jī)或internet 服務(wù)器) 的控制命令并執(zhí)行相應(yīng)的動(dòng)作, 同時(shí)向現(xiàn)場(chǎng)人機(jī)接口(液晶屏) 或遠(yuǎn)程終端(PC 機(jī)或internet 服務(wù)器) 傳送實(shí)時(shí)控制信息及系統(tǒng)狀態(tài)。在本控制系統(tǒng)中, 核心控制單元PCC 除完成以上基本功能外, 還要完成系統(tǒng)控制權(quán)力的交接及判別。
本系統(tǒng)中的現(xiàn)場(chǎng)層采用由CAN 總線(xiàn)串接起來(lái)的5 臺(tái)變頻器帶動(dòng)執(zhí)行機(jī)構(gòu), 以及各種開(kāi)關(guān)量信號(hào)和傳感器檢測(cè)信號(hào)。5 臺(tái)變頻器帶動(dòng)的執(zhí)行機(jī)構(gòu)要實(shí)現(xiàn)織物的恒速恒張力運(yùn)行。除主令變頻器無(wú)傳感器外,其他4 臺(tái)變頻器所帶的傳感器用以檢測(cè)織物恒速恒張力的運(yùn)行情況。系統(tǒng)運(yùn)行速度由主令變頻器決定, 且主令變頻器所帶電機(jī)的運(yùn)行速度可預(yù)設(shè)和臨時(shí)修改。
3 軟件設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)涉及的軟件較多, 其中遠(yuǎn)端PC 機(jī)的應(yīng)用程序是在VisualBasic 可視化編程環(huán)境中開(kāi)發(fā)的。核心控制單元PCC 有其特定的開(kāi)發(fā)平臺(tái)Automation Studio(A S)。A S 是奧地利貝加萊公司推出的, 支持用戶(hù)開(kāi)發(fā)PCC 應(yīng)用程序的軟件包。A S 提供的編程語(yǔ)言非常豐富, 有梯形圖LAD、指令表IL、高級(jí)編程語(yǔ)言ANSIC 及BASIC 等。本系統(tǒng)控制部分采用BASIC 語(yǔ)言編程。人機(jī)界面是在軟件ADP3中實(shí)現(xiàn)的。系統(tǒng)的軟件結(jié)構(gòu)如圖2 所示。

圖2 以太網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)的軟件結(jié)構(gòu)圖
3. 1 遠(yuǎn)端PC機(jī)程序設(shè)計(jì)
遠(yuǎn)端PC 機(jī)的應(yīng)用程序在VisualBasic 可視化編程環(huán)境中開(kāi)發(fā)。在VB 中, 網(wǎng)絡(luò)編程通過(guò)添加
Winsock網(wǎng)絡(luò)控件進(jìn)行。這種方法屏蔽了網(wǎng)絡(luò)編程細(xì)節(jié), 縮短了系統(tǒng)開(kāi)發(fā)周期[ 4 ]。利用Winsock 控件可以與遠(yuǎn)程計(jì)算機(jī)建立連接, 并通過(guò)用戶(hù)數(shù)據(jù)報(bào)協(xié)議(U ser Program Protocol,UDP) 或者傳輸控制協(xié)議(Transm ission Control Protocol) 進(jìn)行數(shù)據(jù)交換。
由于試驗(yàn)平臺(tái)的管理層與控制層之間的通訊軟件是在TCP/IP 協(xié)議的基礎(chǔ)上編寫(xiě)的, 使得在組建以太網(wǎng)絡(luò)的時(shí)候軟件編程變得簡(jiǎn)單。因?yàn)槭褂酶呒?jí)語(yǔ)言編程, TCP/IP 協(xié)議被裝入WinSock 控件使用。編程人員只需對(duì)WinSock 的網(wǎng)絡(luò)屬性了解之后即可編程, 而無(wú)需了解過(guò)多網(wǎng)絡(luò)細(xì)節(jié)。從中確實(shí)可以感覺(jué)到利用以太網(wǎng)在IT 行業(yè)成熟技術(shù)的便利性。 另外, 在本系統(tǒng)管理層與控制層的以太網(wǎng)通訊中使用了TCP 協(xié)議, 而未用UDP 協(xié)議, 是因?yàn)榭紤]到TCP 是一種面向連接的可靠通訊協(xié)議。雖然TCP 通訊的連接和釋放過(guò)程需要占用一定的PC 資源, 但對(duì)于安全性要求很高的工控網(wǎng)絡(luò)來(lái)說(shuō), 可靠性還是要優(yōu)先保障的。再說(shuō),在本系統(tǒng)中, 管理層與控制層之間并不是頻繁地建立和釋放通訊連接, 所以當(dāng)通訊連接一旦建立起來(lái), 所有通訊過(guò)程都能從底層協(xié)議上予以保證。
(1) 通信協(xié)議的選擇及設(shè)置 網(wǎng)絡(luò)編程模式一般采用客戶(hù)--服務(wù)器模式(Client-Server) , 該模式描述的是進(jìn)程之間的服務(wù)和被服務(wù)的關(guān)系。在這種模式下, 大多數(shù)網(wǎng)絡(luò)應(yīng)用系統(tǒng)由兩部分組成: 客戶(hù)(Client) 和服務(wù)器(Server)。客戶(hù)是主叫方, 服務(wù)器是被叫方。 客戶(hù)與服務(wù)器的通信關(guān)系一旦建立, 通信就可以是雙向的, 客戶(hù)機(jī)和服務(wù)器都可以發(fā)送和接收信息[ 5 ]。
本系統(tǒng)將PCC 作為客戶(hù)端, 將遠(yuǎn)端PC 機(jī)作為服務(wù)器, 二者之間的通信使用TCP 協(xié)議。應(yīng)用程序使用的協(xié)議按如下方式設(shè)置: 在屬性窗口中單擊協(xié)議, 然后選擇sckTCPP rotocol, 如圖3 所示;也可使用程序代碼來(lái)設(shè)置Protocol 屬性, 即Winsock。 Protocol= TCPP rotocol。

圖3 應(yīng)用程序協(xié)議設(shè)置
(2) 創(chuàng)建TCP 服務(wù)器 本服務(wù)器端應(yīng)用程序使用TCP 協(xié)議, 需要"監(jiān)聽(tīng)"指定的端口。當(dāng)客戶(hù)端發(fā)出連接請(qǐng)求時(shí), 服務(wù)器端能夠接受請(qǐng)求并建立連接。在連接建立之后, 客戶(hù)端與服務(wù)器可以自由地互相通訊。主要程序如下:
Private Sub tcpServer_ConnectionRequest (ByV alrequestD A sLong)
If tcpServer State < > sckClosed Then '檢查控件的State 屬性是否為關(guān)閉。
tcpServer Close '若不是, 在接受新的連接之前先關(guān)閉連接。
tcpServer A ccept requested '接受具有requestD 參數(shù)的連接。
End Sub
所謂端口是應(yīng)用程序訪問(wèn)TCP/IP 的入口點(diǎn)。端口屬于TCP/IP 軟件的一部分, 是一個(gè)16B IT 的地址, 用端口號(hào)來(lái)標(biāo)識(shí)[ 4 ]。 端口號(hào)分為兩類(lèi): 熟知端口和一般端口。 前者是專(zhuān)門(mén)分配給一些最常用的應(yīng)用程序, 數(shù)值為1~ 1023, 由Internet 分配數(shù)值權(quán)威機(jī)構(gòu)IANA 分配和控制; 后者不受IANA 控制, 數(shù)值為1024~ 65535, 只要不發(fā)生使用沖突, 任何應(yīng)用程序均可分配使用。 基于上述原因, 本服務(wù)器端口號(hào)設(shè)為8002。
(3) 遠(yuǎn)端PC 機(jī)與PCC 通訊的主要程序 發(fā)送部分的關(guān)鍵程序:
Private Sub send_Click ( ) '名為txtSendData 的TextBox 控件中包含了要發(fā)送的
tcpServer SendData txtSendData Text '數(shù)據(jù)。 用戶(hù)往文本框中鍵入數(shù)據(jù)時(shí), 使用SendData 方法發(fā)送輸入的字符串。
接收部分的關(guān)鍵程序:
Private Sub tcpServer_DataA rrival(ByVal bytesTotalA sLong)
Dim iA s Integer
Dim R_TCP_DATA (32) A s Single
Fori = 0 To 32
tcpServer GetData R_TCP_DATA (i) '使用GetData 方法將接收到的數(shù)據(jù)存放入大小為33
Next i '個(gè)字節(jié)的數(shù)組中。
End Sub
(4) 對(duì)接收到數(shù)據(jù)的處理 本系統(tǒng)通過(guò)以太網(wǎng)傳遞到遠(yuǎn)端PC 的數(shù)據(jù)為現(xiàn)場(chǎng)的實(shí)時(shí)信息, 包括各個(gè)電機(jī)的轉(zhuǎn)速、頻率、轉(zhuǎn)矩及5 臺(tái)變頻器的運(yùn)行狀態(tài)、故障報(bào)警等信息; 還包括控制層的控制命令信息, 如準(zhǔn)備、啟動(dòng)、點(diǎn)動(dòng)、停止、升頻、降頻等命令。在VB中調(diào)用GetData 方法將接收到的數(shù)據(jù)存放入一個(gè)特定的數(shù)組中, 根據(jù)自定義的協(xié)議對(duì)這些數(shù)據(jù)進(jìn)行程序處理, 即可實(shí)現(xiàn)遠(yuǎn)端PC 機(jī)的監(jiān)控及控制功能。 各監(jiān)控界面在此不予贅述。
3. 2 PCC 端通訊模塊及主要程序流程介紹
(1) 添加Ethernet庫(kù) 在應(yīng)用程序開(kāi)發(fā)平臺(tái)AS上編程的簡(jiǎn)易之處在于, 它將許多系統(tǒng)功能模塊化, 用戶(hù)只需添加相應(yīng)模塊, 調(diào)用其中函數(shù), 便可達(dá)到完成所需功能的目的。 本次設(shè)計(jì)為以太網(wǎng)遠(yuǎn)程監(jiān)控,即PCC 需要與遠(yuǎn)程PC 機(jī)進(jìn)行通信, 添加Ethernet 庫(kù), 即可實(shí)現(xiàn)遠(yuǎn)程通信功能。 該庫(kù)包含如下函數(shù):
UDPopen ( ) , UDPclose ( ) , UDPsend ( ) , UDPrecv ( )
TCPserv ( ) , TCPclient ( ) , TCPsend ( ) , TCPrecv ( ) , TCPclose ()
在本次設(shè)計(jì)中, 通信協(xié)議采用TCP 協(xié)議, 故程序中只用到第二種函數(shù)。 各函數(shù)功能在此不予介紹。
(2) 模塊TCP_IP 本模塊主要功能為實(shí)現(xiàn)PCC 與遠(yuǎn)端PC 機(jī)間通過(guò)ETHERNET 進(jìn)行信息交換。它包括向遠(yuǎn)端PC 申請(qǐng)連接, 發(fā)送和接收數(shù)據(jù), 以及在適當(dāng)?shù)臅r(shí)候關(guān)閉連接。 其程序見(jiàn)流程圖4。

圖4 模塊TCP_IP 的流程
4 結(jié)束語(yǔ)
由于資金限制, 目前采用的是共享式以太網(wǎng)集線(xiàn)器, 而且在管理層沒(méi)有采用更多的遠(yuǎn)程PC 參與監(jiān)控。 但這種硬件體系結(jié)構(gòu)作為在實(shí)驗(yàn)室使用已能滿(mǎn)足要求, 即使要將其向工業(yè)現(xiàn)場(chǎng)移植也很容易, 只需將共享式集線(xiàn)器換成交換式集線(xiàn)器, 將其他遠(yuǎn)程PC 或帶有以太網(wǎng)接口的控制層或現(xiàn)場(chǎng)層的設(shè)備直接插入集線(xiàn)器, 或通過(guò)集線(xiàn)器級(jí)聯(lián)即可。
參考文獻(xiàn):
[1] 現(xiàn)場(chǎng)總線(xiàn)CAN 原理與應(yīng)用技術(shù)[M]. 北京: 北京航空航天大學(xué)出版社, 2003. 11-14.
[2] 劉原. 工業(yè)計(jì)算機(jī)網(wǎng)絡(luò)及現(xiàn)場(chǎng)總線(xiàn)技術(shù)[J]. 西安工程科技學(xué)院學(xué)報(bào), 113-127.
[3] 齊蓉. 可編程計(jì)算機(jī)控制器原理及應(yīng)用[M]. 西安: 西北工業(yè)大學(xué)出版社, 2002. 13-73.
[4] 范逸之. VisualBasic 與分布式監(jiān)控系統(tǒng)-RS-232/485 串行通信[M]. 北京: 清華大學(xué)出版社, 2002. 56-70.
[5] [美]TM ParkerMark Sportack. TCP/IP 技術(shù)大全[M]. 前導(dǎo)工作室譯. 北京: 機(jī)械工業(yè)出版社, 1998. 100-123.
通訊作者: 丁學(xué)文(1955) , 男, 陜西省渭南市人, 西安工程科技學(xué)院教授. E-mail: ding450616@yahoo. com. cn