ESP904在ROV控制體系中的應(yīng)用
0 引言
以太網(wǎng)串口服務(wù)器可以將配有串口的設(shè)備連接到局域網(wǎng)或廣域網(wǎng)中,并實現(xiàn)儀表設(shè)備的串口數(shù)據(jù)幀和以太網(wǎng)數(shù)據(jù)幀之間的相互轉(zhuǎn)換和發(fā)送,從而通過以太網(wǎng)啟動工業(yè)設(shè)備的串口, 將工業(yè)生產(chǎn)中的遠(yuǎn)端設(shè)備所發(fā)送的串行數(shù)據(jù)傳送到任何一臺計算機上,就像它們近在咫尺一樣。
目前,以太網(wǎng)串口服務(wù)器的開發(fā)和應(yīng)用非常普遍,其中以美國B&B公司提供的以太網(wǎng)串口服務(wù)器ESP904的應(yīng)用較為典型,它利用因特網(wǎng)的高帶寬、遠(yuǎn)距離等特性,可以讓傳統(tǒng)的RS-232/422/485設(shè)備立即聯(lián)網(wǎng),并在任何位置通過網(wǎng)絡(luò)來管理和配置遠(yuǎn)程的串口設(shè)備,因而是工業(yè)應(yīng)用的理想選擇。
1 ESP904的主要特性
ESP904是B&B公司專為苛刻的工業(yè)環(huán)境應(yīng)用而設(shè)計的VlinxTM ESP系列以太網(wǎng)串口服務(wù)器,該器件具有由IP30認(rèn)證的輕巧堅固的金屬外殼,可支持TCP服務(wù)器、TCP客戶端、UDP、虛擬COM和配對(Pair) 模式, 并可自動偵測10/100Mbps以太網(wǎng)端口, 而且安裝便捷。它可以通過ESP管理器、Web和Telnet控制臺管理以進行遠(yuǎn)程升級或恢復(fù)默認(rèn)設(shè)置, 也可以對控制模式進行遠(yuǎn)程手動管理, 并可通過LED指示燈提供快捷的運行狀態(tài)顯示。設(shè)計時, 可以通過軟件選擇RS-232、RS-422或者RS-485端口, 而且, 半/全雙工皆可。此外, ESP904還帶有局域網(wǎng)RJ45接口和串口DB9公頭接口, 可管理并支持多個TCP連接,也可為windows NT/2000/XP/VISTA提供虛擬COM驅(qū)動。
如果已經(jīng)有一個串口設(shè)備, 并處于以太網(wǎng)局域網(wǎng)或廣域網(wǎng)中, 那么, 就可以用串口服務(wù)器與該串品設(shè)備相匹配。就好像控制室的計算機顯示設(shè)備直接連到.上一樣, 這樣, 不需要離開辦公桌就可以使其發(fā)揮更大功能, 甚至可以在局域網(wǎng)之外通過網(wǎng)絡(luò)進行故障診斷。ESP904 四端口以太網(wǎng)串口服務(wù)器提供有以太網(wǎng)到RS232RS422RS485的串口連接, 可通過局域網(wǎng)或廣域網(wǎng)使用直接IP模式、虛擬COM模式或者配對(Pair) 模式進行連接。
虛擬COM口模式使用ESP管理器軟件中的InstallVirtual COM來在windows 中安裝驅(qū)動程序,新的COM口會出現(xiàn)在計算機的Windows設(shè)備管理器中, 這樣就在局域網(wǎng)或者廣域網(wǎng)中的計算機和以太網(wǎng)串口服務(wù)器的IP地址間創(chuàng)建了一個虛擬的連接。Windows應(yīng)用程序使用標(biāo)準(zhǔn)Windows API指令并通過這個虛擬連接來實現(xiàn)通訊, 從而與ESP904上一個端口的遠(yuǎn)程串行設(shè)備相連以進行通訊。連接建立后, 局域網(wǎng)對程序和串口設(shè)備來說就是透明的, 這就好像這些串口設(shè)備與PC上的物理COM口直接連接一樣。虛擬串行端口軟件可將應(yīng)用數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包, 并通過網(wǎng)絡(luò)發(fā)送到ESP904, ESP904又可以將IP數(shù)據(jù)包轉(zhuǎn)換為串行數(shù)據(jù), 并把數(shù)據(jù)發(fā)送到ESP904上的串行端口。使用這種模式, ESP904必須設(shè)置為TCP服務(wù)器或者UDP服務(wù)器并指派通訊端*, 虛擬串口驅(qū)動的就是TCP或者UDP客戶端。
IP直連模式允許應(yīng)用程序使用TCP/IP 或者UDP/IP套間字程序與以太網(wǎng)串口服務(wù)器上的串口直接建立連接。在這種應(yīng)用中, 串口服務(wù)器被配置為TCP或者UDP服務(wù)器。運行在PC上的套間字程序可與串口服務(wù)器的IP地址建立通訊連接。服務(wù)器的串口可以直接發(fā)送和接收數(shù)據(jù)。當(dāng)使用UDP協(xié)議時, 服務(wù)器就被配置為廣播數(shù)據(jù)來接收和發(fā)送來自多IP地址的數(shù)據(jù)。如果自己編寫應(yīng)用方案, 一般推薦選擇這種連接模式。
配對(Pair) 模式也叫串行隧道模式, 在這個模式下, 串行數(shù)據(jù)被封裝在數(shù)據(jù)包中并通過以太網(wǎng)傳送。通過使用兩個以太網(wǎng)串口服務(wù)器和一個局域網(wǎng), 任何兩個能夠用串口通訊的串行設(shè)備將都能夠使用ESP904和局域網(wǎng)進行通訊, 此時串行服務(wù)器可以自動處理網(wǎng)絡(luò)端通訊。在此模式中,有兩個ESP904服務(wù)器連接到網(wǎng)絡(luò), 一個配置為TCP或者UDP客戶端, 另一個則為TCP/UDP服務(wù)器, 且這兩個串口服務(wù)器都用其對接設(shè)備的IP地址來編程。只要電纜長度適合你的局域網(wǎng)或廣域網(wǎng)的規(guī)模, 這種操作模式可以在任意兩個串口設(shè)備之間建立串口連接。
此外,ESP904以太網(wǎng)串口服務(wù)器的心跳連接保護功能也可以在虛擬串口模式或者串行隧道模式下為用戶提供穩(wěn)定的通訊,ESP904以太網(wǎng)串口服務(wù)器的這個特征可以在系統(tǒng)掉電或者以太網(wǎng)連接丟失等原因造成臨時通訊丟失的情況下恢復(fù)連接。一般情況下,如果通訊中斷,串口服務(wù)器的心跳特征會每隔5秒鐘嘗試重新建立一次連接,直至連接恢復(fù)。如果沒有這一便捷功能,一旦設(shè)備失去連接,通訊中斷,就只有通過人工修復(fù)才能重新建立連接。
ESP904的管理器軟件也可為用戶提供完整的辦公桌管理功能,包括配置設(shè)備、固件升級以及監(jiān)控活動狀態(tài),其監(jiān)控端口功能允許使用局域網(wǎng)或者廣域網(wǎng)中的任意一臺PC,來對網(wǎng)絡(luò)及連接到網(wǎng)絡(luò)中的設(shè)備進行實時監(jiān)控、診斷,并顯示關(guān)聯(lián)硬件的通訊狀態(tài)。
2 ESP904以太網(wǎng)串口服務(wù)器的配置
ESP904提供有ESP管理器軟件、網(wǎng)頁服務(wù)器、控制臺模式和遠(yuǎn)程登錄模式等4種不同的接口方式來配置以太網(wǎng)串口服務(wù)器,從而可以很方便地對ESP904的屬性進行配置或恢復(fù)默認(rèn)設(shè)置,也可以對控制模式進行遠(yuǎn)程手動管理。下面介紹怎樣通過ESP管理器對ESP904串口服務(wù)器進行設(shè)置。
安裝并運行VLINX ESP管理器可自動尋找并顯示網(wǎng)絡(luò)上所有ESP904串口服務(wù)器的名稱、IP地址、網(wǎng)絡(luò)協(xié)議、端*及端口狀態(tài), 每個串口服務(wù)器對應(yīng)四個串口端口, 雙擊ESP904管理器列表上的服務(wù)器屬性, 就會彈出圖1所示的對話框。
圖1 服務(wù)器屬性設(shè)置對話框
圖1所示的對話框中的服務(wù)器名稱(Server)用于給串行服務(wù)器指派最多由16個字符組成的名字, 以便區(qū)別局域網(wǎng)上的多個串行服務(wù)器, 當(dāng)ESP 管理器在局域網(wǎng)中發(fā)現(xiàn)了串行服務(wù)器, 就會顯示串行名字和IP地址, 以允許用戶區(qū)別不同的串行服務(wù)器。
DHCP是局域網(wǎng)管理系統(tǒng)的一部分。DHCP域提供有兩個選擇:不使能和使能, 不使能是正常的或者缺省設(shè)置。當(dāng)使能時ESP904發(fā)送DHCP請求到DHCP服務(wù)器,并要求分派動態(tài)IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)給ESP904。如果DHCP在網(wǎng)絡(luò)上不可用, 則在10秒后,ESP904超時,但缺省值將保留。主服務(wù)器與客戶端之間的通訊軟件要求連接到一個具體的IP地址串口服務(wù)器。如果DHCP重新分派一個不同的IP地址, 軟件將不能夠與硬件通訊因此,推薦使用一個靜態(tài)的IP地址。一般在使用ESP904串口服務(wù)器時,其IP地址就已經(jīng)分配好了,所以不需要使能DHCP。
ESP904上的串口波特率必須與連接設(shè)備的波特率相匹配,除非使用虛擬串口模式。在虛擬串口模式下, 軟件程序?qū)⒔⒋谠O(shè)置。
網(wǎng)絡(luò)通訊協(xié)議的選擇要根據(jù)實際需要來確定使用TCP還是UDP協(xié)議。如果應(yīng)用不要求UDP,就選擇TCP, 它能保證穩(wěn)定的通訊并有差錯檢查;然而, UDP能提供更快的傳輸。但應(yīng)注意,根據(jù)選擇TCP和UDP協(xié)議模式的不同,它們的一些參數(shù)設(shè)置選項也不同。
圖1對話框里允許用戶輸入2個ASCII字符來分割一條消息的開始和結(jié)尾,當(dāng)一條包含這些分隔符的消息在串行端口被接收到時,在串行緩沖區(qū)所包含的數(shù)據(jù)將被打包為以太網(wǎng)數(shù)據(jù)包并發(fā)送到以太網(wǎng)端口。如果只有分隔符1被設(shè)置(分隔符2為0或者空),ESP901/902收到分隔符1就將串行緩沖區(qū)的數(shù)據(jù)打包為以太網(wǎng)數(shù)據(jù)包,并發(fā)送到以太網(wǎng)端口。如果接收到的串行數(shù)據(jù)大于1KB,它將自動打包為以太網(wǎng)數(shù)據(jù)包并發(fā)送到以太網(wǎng)端口。
Force Transmit參數(shù)表示允許用戶設(shè)置數(shù)據(jù)傳輸之間的最大時間限制, 設(shè)置值乘以100 ms就是Force Transmit時間,當(dāng)所*費的時間達到這個域配置的時間時,TCP/IP協(xié)議將在當(dāng)前串行緩沖區(qū)打包數(shù)據(jù)并將其發(fā)送到以太網(wǎng)端口。
TCP/UDP 端口的缺省值為4000、4001、4002、4003,它們分別單獨對應(yīng)串口服務(wù)器的端口1、2、3、4,如果端*屬性被修改, 那么,被安裝電腦的設(shè)備管理器虛擬COM口設(shè)置也將被改變。在直接IP 或者虛擬COM 操作模式中,ESP904菜單里的端*設(shè)置必須與虛擬COM或者套間字軟件端口設(shè)置相匹配。
服務(wù)器串行端口可根據(jù)需要配置為控制臺(Console) 模式、升級(Upgrade) 模式、缺省模式、RS232模式、RS422模式和RS485模式,用戶可以根據(jù)需要對端口進行配置。下面分別對各種操作模式進行介紹。
在控制臺模式,ESP904管理器軟件可從運行在PC上的超級終端與串口服務(wù)器進行通訊,PC通過串口線連接到服務(wù)器的端口1的232串口上。
由于PC為DTE設(shè)備,904串口配置為DTE (DB9)所以,必須使用交叉線。
在升級模式,更新的固件能通過串口從PC上傳到904的端口1 (端口1為RS-232串口)。也可以通過網(wǎng)絡(luò)連接, 用ESP管理器和虛擬串口與904端口1形成映射來進行升級,從而上傳新的固件到服務(wù)器。
在缺省模式,當(dāng)服務(wù)器屬性更新時,所有的配置設(shè)置將返回到他們的缺省值。ESP904端口的缺省設(shè)置為: 端口1為控制臺模式, 端口2、3、4為RS-232模式。
RS232模式、RS422模式和RS485模式的選擇將服務(wù)器端口分別配置為RS232接口、RS422接口和RS485接口,當(dāng)服務(wù)器被更新時, 服務(wù)器上選擇的端口將變成對應(yīng)的接口。
3 ESP904在ROV控制體系中的應(yīng)用
傳統(tǒng)的水下機器人內(nèi)部數(shù)據(jù)通信系統(tǒng)是基于串行總線的通訊系統(tǒng)。但是, 隨著近年來以太網(wǎng)技術(shù)的快速發(fā)展, 特別是高速以太網(wǎng)技術(shù)的發(fā)展, 極大地減少了數(shù)據(jù)在網(wǎng)絡(luò)傳輸上的延遲, 而工業(yè)以太網(wǎng)交換機能夠把控制網(wǎng)絡(luò)分成若干個相互獨立的沖突域, 故可避免不同沖突域之間的節(jié)點因競爭線路而發(fā)生碰撞, 從而提高了數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)目煽啃院头€(wěn)定性。因此, 在工業(yè)控制中, 越來越多的傳統(tǒng)現(xiàn)場總線控制網(wǎng)絡(luò)被工業(yè)以太網(wǎng)所代替, 并已發(fā)展成為一個技術(shù)趨勢。為此, 本文的HYSUB130 -4000 ROV (ROV, RemotelyOperated Vehicle) 系統(tǒng)在遙控水下機器人控制系統(tǒng)中也采用了光纖以太網(wǎng)通訊體系結(jié)構(gòu)。
HYSUB130-4000 ROV系統(tǒng)除了較多的控制計算機接入到以太網(wǎng)網(wǎng)絡(luò)體系中外, 還有很多嵌入式控制模塊, 這些模塊只能提供串口通訊模式。為了能將這些嵌入式控制模塊接入到遙控水下機器人的以太網(wǎng)控制系統(tǒng)中, 本系統(tǒng)在開發(fā)過程中采用了以太網(wǎng)串口服務(wù)器ESP904, 它的串口轉(zhuǎn)以太網(wǎng)性能可以很好的解決這個問題。
HYSUB130-4000ROV系統(tǒng)的以太網(wǎng)控制體系如圖2所示。
圖2 ROV系統(tǒng)的以太網(wǎng)控制體系
本系統(tǒng)中的甲板控制計算機和ROV本體控制計算機是ROV控制系統(tǒng)里的主控制計算機, 是ROV系統(tǒng)的大腦和“指揮中心”, 其他計算機用于輔助管理視頻、導(dǎo)航數(shù)據(jù)、切換控制等操作。
4 小結(jié)
由于遙控水下機器人控制系統(tǒng)的慣性較大,其控制周期接近于秒級, 因此, 通過實踐證明,以太網(wǎng)數(shù)據(jù)傳輸能夠很好的滿足遙控水下機器人控制體系的控制性能, 而且可以通過交換機擴展以太網(wǎng)串口服務(wù)器, 同時在理論上還可以擴展任意多串口設(shè)備, 因而可以使更多設(shè)備通過網(wǎng)絡(luò)進行通訊, 并為設(shè)備的擴展提供了更大的接口空間。
除此之外, HYSUB130-4000ROV系統(tǒng)還采用了ESP904以太網(wǎng)串口服務(wù)器來將眾多嵌入式控制模塊接入以太網(wǎng)。甲板串口服務(wù)器ESP904連接ROV本體遠(yuǎn)程控制模塊、駕駛員操縱桿控制模塊、7功能機械手操縱桿控制模塊和電源分配單元控制模塊, 它們通過RS-485總線連接到ESP904服務(wù)器的串行端口。水下ROV本體串口服務(wù)器ESP904連接CTD傳感器、遠(yuǎn)程I/O控制模塊、采樣藍(lán)控制模塊和工具閥箱控制模塊, 它們分別根據(jù)需要通過RS-232或者RS-485總線連接到ESP904的串行端口上, 這樣就可以使以太網(wǎng)控制系統(tǒng)中的任何一臺計算機都通過以太網(wǎng)像訪問真正的串口設(shè)備一樣去訪問分別連接到ESP904串口服務(wù)器上的設(shè)備。