摘 要:工業以太網控制系統是集散控制系統(DCS)和現場總線控制系統(FCS)之后產生的一種新型的工業控制系統。本文介紹了基于工業以太網的分布式監控系統的系統構成、通訊原理、軟件設計及應用實例。
關鍵詞:遠端智能模塊;工業以太網;監控系統
1、引言
傳感器技術、通信技術和計算機技術是現代信息技術的三大基礎。隨著工業自動化進程的推進和企業信息化程度的提高,工業控制網絡所承擔的工作越來越重,這時就需要一種高速、廉價、實時性和開放性好、穩定性和準確性高的工業控制網絡。于是以TCP/IP協議為基礎的工業以太網技術走進了人們的視線。
TCP/IP是目前所實現的最成功的網絡協議,是Internet互連網的基礎。因此,盡管TCP/ IP支持的網絡很多,支持EtherNet的協議也很多,但卻只有把EtherNet和TCP/ IP 結合起來,才能適應全球化的Internet ,采用TCP/ IP 為中間協議的以太網即將成為工業控制網絡的主要標準[1]。以TCP/IP為基礎的以太網技術引入工業控制領域,其技術優勢非常明顯:(1)Ethernet是全開放、全數字化的網絡,遵照網絡協議不同廠商的設備可以很容易實現互聯;(2)以太網能實現工業控制網絡與企業信息網絡的無縫連接,形成企業級管控一體化的全開放網絡;(3)結構簡單,成本低廉;(4)通信速率高,有良好的兼容性能。10Mbit/s、100 Mbit/s和1G bit/s甚至10 G bit/s各種速率可以采用“自動協商”技術在網絡中實現運行其中徹底一種,而幾乎不需更改其硬件設施;(5)以太網通訊實時性好,運行可靠[3]- [2]。
以太網的優點解決了以前數據采集系統存在的通訊的可靠與通訊的效率之間的矛盾。隨著工業控制的發展,以太網正慢慢代替其它的控制網絡。本文介紹了在以太網通訊的基礎上配以合理的編程思想,實現高效通訊的數據采集監控系統。
2、基本原理
2.1硬件構成
在介紹硬件構成之前,我們要先了解一個在此系統中非常重要的硬件——串口聯網設備服務器。在這里我們就用在立德粉廠項目中使用的LANTRONIX串口聯網設備服務器VDS100介紹一下。VDS100使用一種叫串行隧道(serial tunneling)的方法,將串行數據封裝在數據包中在以太網上傳送。應用中首先必須根據 VDS100 的出廠的物理地址設置好其ip地址(可變)。然后根據com 端口重定向軟件,通過擴展基于com 端口的windows.應用功能,簡化了集成過程。這種映射到網絡遠程設備服務器的虛擬com 端口可以代替直接的串行連接。然后根據連接到VDS100上面的智能模塊的信號類型設置設備響應串行端口的方式,以及網絡傳輸、處理串行數據包以及起動和關閉連接的方式。
基于工業以太網的分布式監控系統的硬件主要有監控計算機(上位機)、串口聯網設備服務器、AD轉換器、智能模塊通過光纖連接構成見圖1[4]。
為了滿足工業的不同需求,選用可以支持RS-232和RS-485的串行標準的串口聯網設備服務器,例如我們在具體項目中用的VDS100。對于輸出的是RS-232和RS-485的模塊來說,直接就可以掛到串口聯網設備服務器上面。而對于輸出是模擬信號的模塊來說,就先要通過A/D轉換器轉換成RS-485信號,再接到串口聯網設備服務器上。我們選用轉換成RS-485是因為其相對RS-232來說,傳輸距離更遠,噪聲更低,還有安全性更高等優點。對于串口聯網設備服務器來說,其串行接口上可以掛256個數據監控遠端模塊,而每個模塊上面又有多路輸入輸出,所以為了以后的拓展留下很大的空間。
[align=center]

圖1 立德粉廠數據采集的工業以太網控制系統硬件連接圖[/align]
2.2通訊原理
在數據采集監控系統中,監控計算機與智能模塊采用主從應答方式進行彼此之間的通訊。 數采監控計算機作為上位機是處于主動的狀態,數采監控計算機通過以太網向智能模塊發送各種各樣的ASCII格式的命令,例如對智能模塊進行參數設置、狀態查詢和讀智能模塊采集到的數據等等。而智能模塊作為下位機則處于被動狀態,它們一直處于監聽狀態。
當數據監控計算機發出各種命令時,首先是串口聯網設備服務器將自己虛擬出來的COMM口與上位機程序要打開的COMM口比較,如果一致則打開COMM口。然后再通過其虛擬的串口將指令傳送到連接在其上的所有智能模塊中。同一個串口聯網設備服務器上的所有的智能模塊都可以接收到指令,它們將指令中的包含的地址信息與自己的地址相比較,如果一致,則對指令作出響應,返回數據串。如果地址不一致,就忽略不作任何響應。由于在某些串口聯網設備服務器上面連接的遠端智能模塊類型多而且數目不小,為避免通訊的混亂,所以我們采取優先級控制。首先,必須設定一個命令發生緩沖區和一個數據接收緩沖區。上位機發出的任何命令都先被壓進命令發送緩沖區,經過優先級處理后再逐條發送。其次,給每種指令設定優先級的高低。在命令發送緩沖區中同時有多條指令要發送時,優先級高的指令優先發送,而當優先級相同時,就按照進入命令發送緩沖區的先后順序,先到先出。再次,還要定義網絡通訊忙標志。當上位機向網絡發送指令后,要設置通訊忙標志為TRUE,在接收到返回的數據串后,再把它設置為FALSE。這樣才做到通訊的有條不紊和高效率。
3、軟件設計
上位機的監控程序可以分為兩部分。一是命令發送部分:當數據監控計算機向網絡發送一條指令時,其先按照發送指令的優先級的高低與命令發送緩沖區中的各個指令相比較,確定其在發送命令緩沖區中的編號,然后壓入命令發送緩沖區。如果通訊空閑,則從緩沖區中取出優先級最高的指令,然后設置串口事件,清空數據接收緩沖區,設定通訊忙標志為TRUE,最后把指令發送到網絡上去。指令中指定的模塊接收到命令后,即返回一幀數據串。上位機接收到返回的數據串后便檢查其是否正確,如果正確,就把剛剛發送的指令從命令發送緩沖區中刪除(見圖2)。二是數據接收部分:上位機在把指令發送出去前先清空數據接收緩沖區,在把指令發送出去后,就不停地查詢數據接收緩沖區,如果沒有數據就循環等待。若有數據但不正確就退出,如果正確就把數據串從數據接收緩沖區提取出來,通過處理數據串,得到各種不同格式的符合要求的數據(見圖3)。
[align=center]

圖2 指令發送流程圖[/align]
[align=center]

圖3 數據接收流程圖[/align]
基于上面兩個流程圖,就可以用Visual Basic 6.0或者Visual C++ 6.0編寫上位機程序。Visual Basic 6.0或者Visual C++ 6.0語言簡單易讀、容易掌握的特點,可以簡化編程和調試工作,并借助ActiveX控件與上位機實現串行通信,達到了過程數據采集和通信實現的速度和可靠性等方面的要求,完成現場數據采集任務,具有很大的應用和推廣意義。
通信部分的主要程序發送命令函數的代碼如下:
Public Function SendCmd (Cmd As String, BufLen as Interger, Priority As Integer)
Call Sort (Priority) ‘調用Sort()函數,按優先級Priority的大小排序,
‘壓入命令發送緩沖區
If Not ComBusy And BufCmdNum > 0 Then ‘如果通訊空閑且發送緩沖區不為空,
‘就可以取Buf中的第一條
MSComm1.InBufferCount = 0 ‘清空發送緩沖區
MSComm1.RThreshold = CmdBuf(0).BufLen
MSComm1.InputLen = CmdBuf(0).BufLen ‘清空數據接受緩沖區
MSComm1.Output = CmdBuf(0).Cmd ‘發送命令
Timer1.Enabled = True ‘開啟響應超時計時器
ComBuzy = True ‘置通訊忙標記
End If
End Function
4、應用實例
此系統應用在廣州華立-薩其賓化工顏料公司的立德粉生產數據采集與質量控制項目中。系統中主要的硬件串口聯網設備服務器用LANTRONIX 公司的VDS100,VDS100 設備服務器價格低廉、易于管理,它可以快速簡便地集成到現有 IP 網絡中,VDS100 使用戶有能力實時存取連網設備的信息。使用其附帶的虛擬串口軟件,可以將虛擬的 COM 端口映射到網絡上的遠程設備服務器上,對 COM 端口操作的 Windows 應用程序不再需要直接的串行連接。在這個項目中,自動采集的數據包括三條生產轉窯的各種生產數據50來個、兩個煙霧排放檢測機檢測的各種環保數據24個、23個車間的用電量的各種數據、5路蒸汽流量等等。基于工業以太網的分布式監控系統成功地運用到該項目中,通過以太網實時、穩定、準確地實現了各種數據的采集并存放進數據庫,同時通過網絡實時傳送到公司的各個客戶端,為工作人員及時提供資料,使他們的工作效率得到很大提高。例如可以減少抄表、數據處理等工作人員(在數據采集系統中,我們還根據要求在代碼中實現采集到的數據的處理,使其成為工廠需要的數據格式),而且工作人員只要在有計算機(連接到工業以太網)的地方就可以隨時了解上述各個點的運作情況,以便隨時作出決策。這樣就為工廠節省了人力、物力,并為管理者及時作出決策提供及時、可靠的資料。
5、結束語
工業以太網控制系統與其它控制系統相比較具有很大的優勢,可以應用在多種工業控制領域。隨著以太網技術的快速發展,基于以太網的工業控制網絡時代將會很快到來,并成為最具開放性的工業控制網絡體系結構。通過以太網通訊,再配以合適的編程思想,實現工業生產數據的采集,沒有了以前通訊可靠性差和效率低的缺點,在實時性問題上也得到了有效的解決。這對于工業生產的數據采集自動化和信息化來說,能起到重大的推廣作用,對于工業自動化程度還比較低的工業生產來說也具有重大的意義。
參考文獻:
[1] 吳愛國,李長濱。 工業以太網協議EtherNet/ IP[J]. 計算機應用。2003年11月,第23卷,第11期.
[2]趙琦,楊鵬,孔鑫,馬超. 工業以太網的發展及其技術特點[J].www.controlnet.org
[3] 王延堯等編著.以太網技術與應用[M].人民郵電出版社,2005.
[4]甘永梅,李慶豐,劉曉娟,王兆安. 現場總線技術及其應用[M].機械工業出版社,2005.