摘 要:介紹了所開發的Ethernet接入模塊,重點論述了基于Ethernet接入模塊的機動車安全性能檢測線監控系統各種功能的實現。
引言
以太網(Ethernet)因其技術成熟,通信速率高,硬件產品種類豐富、價格低廉,已在商用計算機的通訊領域和工業控制系統的信息管理領域得到了廣泛的應用。但長期以來由于Ethernet采用的介質訪問控制方式是沖突檢測載波監聽多點訪問CSMA/CD,決定了Ethernet通信具有不確定性,成為其應用于工業自動化控制網絡的主要障礙。
隨著以太網通訊速率成幾何級數的增長,百兆/千兆網技術的成熟、交換機技術和全雙工通信方式的發展,以太網在低網絡負荷時通信響應確定,并能可靠傳輸工業現場數據,使以太網用于工業現場具備了現實可能性。與其它現場總線相比,采用以太網的工業控制網絡具有結構簡單、設備成本低、傳輸距離遠等諸多顯著的優點。
以太網進入控制現場的關鍵是現場設備的嵌入式Internet技術,目前已開發出的產品主要是在現場設備的16位或32位高性能MCU上駐留TCP/IP協議棧,通過與設備上的WEB服務器交互來達到監控設備的目的。對于中小型的普通工業控制現場而言,這類產品價位偏高,并不實用。筆者開發了基于通用8位單片機的Ethernet接入模塊,應用于機動車安全性能檢測線現場,設計并完成了一套功能完備的機動車安全性能檢測線監控系統。
監控系統結構
機動車安全性能檢測線監控系統如圖1所示?,F場各檢測設備(含光電管、繼電器等)通過Ethernet接入模塊與監控節點、數據庫服務器、WEB服務器構成總線式Ethernet網絡,其物理層實質上是基于交換式集線器的星形結構。
系統中,Ethernet接入模塊嵌入各檢測設備,一端與檢測設備的I/O接口或RS-232等串口通信,另一端接入基于TCP/IP協議的以太網?,F場檢測的控制主要靠主控機來完成,依據流程,主控機通過Ethernet接入模塊和各檢測設備之間進行控制信息交互,從檢測設備讀取的檢測數據存入網絡數據庫中。監控管理機除可以進行檢測項目、標準、權限設定等靜態管理外,還可對現場的任一檢測設備進行實時監控。遠程監控中心通過Internet訪問檢測線的Web服務器,根據權限實現對檢測線的遠程監控,亦可借助Internet供應商提供的服務,通過Ethernet接入模塊直接對現場設備進行控制。
圖1 機動車安全性能檢測線監控系統
圖2 Ethernet接入模塊結構
圖 3 現場級以太網節點的通信協議
Ethernet接入模塊
模塊結構
Ethernet接入模塊實質上是一個網絡協議轉換器,主要完成TCP/IP協議與現場總線RS-232協議的轉換。模塊結構如圖2所示。該模塊將通用的8位單片機與以太網控制芯片相結合,加上相應的外圍電路而構成??煞殖扇齻€子模塊:以太網控制芯片子模塊,負責接收以太網幀,并把數據送給單片機處理;接收單片機發來的數據,按以太網幀格式發到以太網。單片機子模塊,負責控制整個模塊,從以太網控制芯片子模塊中將數據包讀入內存,進行拆包處理,并將有關數據發向RS-232串行接口;將RS-232串行口來的數據按有關協議進行打包,送以太網控制芯片子模塊發至以太網上。擴展子模塊,單片機外圍擴展了程序和數據存儲器,滿足程序和數據的存儲需要。
為模塊開發的軟件主要有:模塊初始化程序、以太網控制器驅動程序、TCP/IP協議棧程序、系統網絡配置程序等。模塊初始化程序用于設置單片機工作模式及外圍芯片選擇字;以太網控制器驅動程序用于設置以太網控制芯片的工作狀態及工作方式,配置收發數據的緩沖區;TCP/IP協議棧程序實現ARP、IP、UDP協議;系統網絡配置程序用于給監測系統分配IP地址及域名。
TCP/IP協議“剪裁”
用于現場級的以太網TCP/IP協議如圖3所示。
受8位單片機自身結構和功能的限制,從實用、夠用角度出發,該模塊對嵌入單片機的TCP/IP協議棧進行了“瘦身”處理,對TCP/IP進行“剪裁”,主要保留數據傳輸的基本功能。
由于機動車安全性能檢測線負責監控的站點相對固定,線上測控數據量非常小(一次數據傳送量一般不超過100Byte),“剪裁”的方案是:在鏈路層,單片機維護一個靜態的IP地址與MAC地址的映射表,取消RARP,實現的ARP也僅響應網絡ARP請求,發送ARP回答包。請求者廣播出包含ARP請求的以太網幀(幀類型為0X0806),目的以太網地址為全1的廣播地址,本模塊收到后,發送一個包含自身MAC地址的ARP回答,以使以太網上PC主機建立和維護IP地址和MAC地址的映射表;在網絡層,取消ICMP協議,在處理IP報頭時,不考慮數據分片和優先權問題,在服務類型和標志偏移域全部填“0”,在“協議”域填“17”,程序僅對頭核校和和上層是否是UDP協議進行判斷; 在傳輸層,選擇基于無連接的UDP,而不用TCP。TCP雖然是基于連接的可靠性傳輸協議,但開銷大,對汽車安全性能檢測線監控網絡而言,通過采用超時重發、應用層端口判斷、校驗值檢查等措施,可以有效解決UDP的無連接和不可靠問題?!凹舨谩焙蟮?/SPAN>TCP/IP協議棧程序只有8KB大小,既適應了單片機的存儲結構,也完全滿足現場單片機通訊需求。
模塊工作流程
模塊上電、初始化后,單片機采用查詢方式判斷以太網控制芯片中是否收到數據包,若有就讀入內存,拆包,若是ARP包,則進行ARP響應;若是UDP包,拆包,檢查應用層端口、檢驗值,判斷應用層數據是否為I/O操作命令,是則執行I/O操作命令,其中讀I/O端口的數據要打包發往網絡;若不是I/O操作命令,將應用層數據從TXD口送出。采用中斷方式接收RXD口來的數據,打包送以太網。UDP數據包在網絡中采用超時重發、出錯重發機制,保證模塊與控制節點間按流程進行通信。
監控實現
主控機等監控計算機與現場檢測模塊之間的節點通信、現場測控管理的實現以及從遠程監控計算機對現場節點的訪問等全面監控方式的實現在設計了Ethernet接入模塊后均可方便的直接觸及現場模塊,從現場實時采集數據、控制管理,真正做到點對點測控管理,簡化監控管理的模型。
節點通信實現
主控機、監控管理機和WEB服務器與各Ethernet接入模塊的通信基于Delphi6.0的TNMUDP組件,是無連接的Socket機制。UDP數據報傳送時,雙方各先建立一個套接字,然后將各自的套接字和本地網絡地址綁定在一起,調用sendto()函數發送數據,調用recvfrom()函數接收,UDP數據拆包后按定義的通信協議進行處理(包括安全驗證、出錯重發等)。
現場測控管理實現
用Delphi6.0結合SQL Server 2000開發主控機程序和監控管理機程序。主控機將檢測項目分成若干工位,上線檢測的汽車登錄后在線上獲取唯一ID標識,并利用多線程技術控制多輛汽車同時在線,按登錄時確定的項目進行檢測。主控制機工作時,禁止網絡其它主機與現場檢測設備進行通信。監控管理機一是在現場檢測設備工作時,從數據庫服務器實時地讀取車輛的檢測信息和設備狀態信息,監控數據超差和狀態異常等情況;二是在檢測線空閑或出現故障時,可直接與現場設備分別進行通信,讀取設備的自檢信息和設備的狀態信息,分析判斷設備正常與否或故障原因。
遠程監控實現
由于采用以太網技術給每個現場模塊設定IP地址,使其在網絡上具有了唯一性的節點,對其的訪問也就變得比其他總線形式更加簡單,主機只需要根據Socket編寫通用的訪問網絡節點的程序,Ethernet接入模塊均可按照UDP協議進行識別和處理,使得程序結構簡化。
本系統遠程監控基于B/S模式,采用ActiveX控件通過Socket的機制與網關接口服務程序相連,由服務程序讀取數據庫檢測數據和信息,并送到客戶端。當檢測線需要遠程維護或診斷時,服務程序與各檢測設備的Ethernet接入模塊通信,讀出設備自檢和光電管、繼電器狀態等信息,顯示在遠程客戶端瀏覽器頁面上。為使遠程監控或診斷具有更強的現場感和實時性,可將監控管理機的程序功能移植于遠程客戶端,借助Internet上的VPN服務,遠程對現場各檢測設備直接進行測控。
安全控制措施
監控系統在檢測線內網加裝測毒、殺毒軟件,內網與外網之間構筑防火墻,采用包過濾、應用網關技術和身份認證技術,防止非授權的外網用戶訪問內網數據或操作控制現場檢測設備。
結語
Ethernet接入模塊體積小,功耗低,成本低廉,接入方便,在機動車檢測線現場使用,減少了監控網絡的結構層次,使整個工業管理現場總線統一化,信息管理層與現場控制層首次采用一樣的總線技術完成;省去了485總線方式中的多串口卡、串并行數據線等硬件設備和大量的數據線路;使控制程序與檢測設備之間的通信統一起來,有效解決了為適應不同設備的不同通信方式而更改控制軟件的問題,提高了控制軟件的獨立性,增強了軟件的移植性。通過現場工作驗證,本系統具有工作穩定、可操作性強、通訊實時性好等特點。
- 監控系統(168223)
相關推薦
評論
查看更多