本文介紹(shao)以(yi)(yi)太網(wang)透明(ming)傳(chuan)輸協(xie)議(yi)內容,讓用戶了解在串(chuan)口(kou)(kou)轉(zhuan)以(yi)(yi)太網(wang)協(xie)議(yi)上如何實現串(chuan)口(kou)(kou)數據(ju)內容到以(yi)(yi)太網(wang)數據(ju)內容轉(zhuan)化。
通(tong)信協(xie)議(yi)是一種分層(ceng)(ceng)結構的(de),根據ISO的(de)7層(ceng)(ceng)模型通(tong)信協(xie)議(yi)分為物(wu)理層(ceng)(ceng)、數據鏈路層(ceng)(ceng)、網絡層(ceng)(ceng)、傳輸(shu)層(ceng)(ceng)、會話層(ceng)(ceng)、表示(shi)層(ceng)(ceng)、應用(yong)(yong)層(ceng)(ceng)。如果用(yong)(yong)戶(hu)想通(tong)過卓(zhuo)嵐ZLSN模塊的(de)以太(tai)網透明傳輸(shu)協(xie)議(yi)實(shi)現(xian)串(chuan)口數據和(he)以太(tai)網數據的(de)轉發,應用(yong)(yong)模型如圖所示(shi)。
所謂以太網(wang)網(wang)絡(luo)透明傳輸協(xie)議(yi)(yi)(簡(jian)稱為“以太網(wang)透傳”)是(shi)(shi)指網(wang)絡(luo)協(xie)議(yi)(yi)的應用(yong)層數據和串(chuan)口協(xie)議(yi)(yi)的用(yong)戶(hu)(hu)數據完(wan)全一(yi)致,不存在格式轉化(hua)問題,形象地(di)比喻為“透明傳輸”。比如網(wang)絡(luo)數據應用(yong)層數據內(nei)容為字符(fu)“a”,那么串(chuan)口協(xie)議(yi)(yi)的用(yong)戶(hu)(hu)層數據也是(shi)(shi)“a”,用(yong)戶(hu)(hu)電路板收到(dao)的數據也是(shi)(shi)字符(fu)“a”。
那么用戶數據是如何從計算機傳給用戶串口板的呢?這首先需要了解網絡協議和串口協議的區別。
1.網絡(TCP/IP)協議分為以太網層、IP層、TCP或UDP層、用戶數據層。以太網層表示了網絡通信介質,例如光纖、無線、有線以太網線。IP層中的關鍵點是包含了IP地址,IP地址是每個網絡設備的地址。TCP或者UDP層的關鍵點是端口,端口用于區分一個IP地址下的多個應用程序。用戶數據層攜帶用戶需要傳輸的數據。
2.相對而言串口(kou)協議,沒有IP層(ceng)和TCP層(ceng)這(zhe)兩層(ceng)。
這里有兩個問題:
1.串口協議如何彌補網絡協議缺失的IP層和TCP層?實際上在ZLSN模塊中已經保存了IP層、TCP層的關鍵點——IP地址和端口。每個ZLSN模塊都具有一個可以設定的IP地址,同時也有一個TCP或者UDP的端口,這樣計算機就可以通過這個“IP+端口”將網絡數據發送給ZLSN模塊。同樣地ZLSN模塊也保存了目的計算機的IP和端口,這樣也可以將數據發送給計算機。聯網模塊內部保存的IP和端口解決了串口協議中沒有IP和端口的問題。
2.如何(he)使用透(tou)明傳輸協(xie)議?
2.1對于計算機程序設計人員來說調(diao)用(yong)Socket API函數send()和recv()即可(ke)發送網絡層數據,例如執(zhi)行send("a")就可(ke)以(yi)將字符“a”發送到(dao)用(yong)戶(hu)(hu)串口(kou)電路板。用(yong)戶(hu)(hu)調(diao)用(yong)recv(buf)即可(ke)將串口(kou)電路板發送的數據接收到(dao)緩沖區buf中。
2.2另外用戶也可以使用卓嵐網絡調試工具——SocketDlgTest。通(tong)過(guo)該工具用戶(hu)可以類似串口調試工具,進行發送和接受應用層數據(ju)。
2.3更為簡單的方式是用戶可以使用虛擬串口技術(ZLVircom程序)將網絡端也模擬為(wei)一個串(chuan)口(kou),計算機(ji)還是用串(chuan)口(kou)進行收發(fa)。
除了“以太網透明傳輸協議”以外,ZLSN模塊也支持更為復雜的協議,例如“Modbus TCP轉ModbusRTU協議”,“Realcom協議(yi)”等,不同的轉化(hua)協議(yi)在特定(ding)的應用中有各自的用途,但是“以(yi)太網透明傳輸協議(yi)”是最為簡單易用的協議(yi)。