利用Nport Express實現單片機的接入網絡
3.4 串行口參數的設置
第三個菜單項SerialPort為串行口的設置,包括波特率、奇偶校驗、數據位、流控等參數的設置,這些參數的設置必須和單片機的串口傳送參數相一致,否則,數據將不能被正確的收發。
3.5 利用Monitor 菜單項監控數據的收發
Monitor是另一個比較重要的菜單選項,從這個窗口中,我們可以檢查串行口參數的設置情況,其中的兩個參數TX、RX比較重要,顯示了Nport Express的收發數據量,從而也為我們判斷Nport Express是否工作正常提供了依據。
以上對Nport Express的參數進行了比較詳盡的設置,作為單片機接入網絡的關鍵設備,Nport Express起到了一個單片機網卡的作用,它是串行口數據往來的通道,而單片機作為現場設備檢測控制裝置,是實現數據交互的門戶。利用單片機采集各種數據,并從串行口發出,當然電平轉換必不可少,如利用MAX232或HIN232CP芯片,轉換成232電平,接入Nport Express的串行口輸入口。其中,關鍵之處在于單片機波特率和握手協議的設定,一定要與Nport Express相一致,才能實現數據的正確傳輸 。單片機的初始化與收發程序分別如下:
單片機的波特率設定為9600 bps,數據的收發采用中斷方式,當單片機收到網絡端發來的控制命令時便可觸發執行相應的操作,實現遠程監控的目的。其原理圖如圖2所示。
圖2 單片機遠程監控原理圖
5 網絡端編程
5.1 網絡控件的選擇
為完成數據的采集處理和對單片機的控制,需要在客戶機或終端服務器設計一軟件平臺,實現客戶機與Nport Express通過以太網的交互。Nport Express驅動模式支持的開發語言很多,如VC,VB,Delphi, C等。因為VB操作界面簡單,串行通信與網絡接入控件使用方便,故此選擇VB編寫前臺控制程序。VB中有三個internet控件:internet Transfer, webBrowser, WinSock,都是ActiveX控件,可以用來實現每一層Internet 通信的訪問。
在VB中利用Winsock控件,可以為兩個或多個Internet節點建立連接并使之交換數據。對用戶來說,Winsock控件是不可見的,它提供了訪問 TCP和UDP網絡服務的方便途徑,編寫客戶或服務器應用程序時,可不必了解TCP的細節或調用低級的Winsock APIs。通過設置控件的屬性并調用其方法就可以連接到一臺遠程機器上,并且還可雙向交換數據。
5.2 Winsock的屬性設置
Winsock的屬性主要有以下四個:
(a) Protocol ,返回或設置Winsock空間所使用的協議,本文選用UDP;
(b)RemoteHostIP,遠程主機IP地址,本文中即Nport Express的實際IP地址;
(c)RemotePort, 要連接的遠程端口號,要與Nport Express的設置相一致;
(d)LocalPort, 本地端口,即與Nport Express進行數據交互的計算機端口號,可自由設定,但要與Nport Express中的設置值相一致。
5.3 利用Winsock實現數據的收發
調用Winsock的SendData方法,可以發送數據到網絡,經Nport Express傳輸到單片機,實現前臺對現場設備的遠程控制,最簡單的調用方法如:
Private Sub Timer1_Timer()
Winsock1.SendData (Text1.Text)
End Sub
由一個時鐘控件觸發Winsock控件的SendData 方法,實現數據向網絡的傳輸,并經Nport Express,傳送到單片機,實現控制命令的傳送,當然也可以由其他事件觸發。
調用GetData方法,可獲得單片機發送到網絡上的數據流,這個方法一般在Winsock的DataArrival事件中使用。例如,一段數據接收程序如下:
Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata, vbString
List1.AddItem strdata
End Sub
則單片機發出的數據流將自動添加到列表框中。值得特別注意的一點是,必須對Winsock的Bind屬性賦予合理的初值,并且要與Nport Express的本地端口值一致。數據的具體處理涉及到很多方面的內容,如通信協議的制定,低層數據庫的建立與數據更新等,在此不一一累述。
6 結束語
以太網作為IT產業的主要通信骨干,已是眾所周知的事實,并且在與人類生活息息相關的信息產業上得到了大量應用,面對這股網絡化的潮流,身為所有產業基礎建設的工業自動化系統,也應廣泛的應用TCP/IP以太網作為系統通信界面,提高系統自動化的能力。利用摩莎公司的Nport Express產品實現單片機接入以太網,達到了遠程測量和控制的目的,簡單易用、成本適中、效果明顯是串行通信網絡化的一種可行的方案。
評論