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