利用Nport Express實(shí)現(xiàn)S2E(串行口到以太網(wǎng))
(d)LocalPort, 本地端口,即與Nport Express進(jìn)行數(shù)據(jù)交互的計(jì)算機(jī)端口號(hào),可自由設(shè)定,但要與Nport Express中的設(shè)置值相一致。
5.3 利用Winsock實(shí)現(xiàn)數(shù)據(jù)的收發(fā)[5]
調(diào)用Winsock的SendData方法,可以發(fā)送數(shù)據(jù)到網(wǎng)絡(luò),經(jīng)Nport Express傳輸?shù)絾纹瑱C(jī),實(shí)現(xiàn)前臺(tái)對(duì)現(xiàn)場(chǎng)設(shè)備的遠(yuǎn)程控制,最簡(jiǎn)單的調(diào)用方法如:
Private Sub Timer1_Timer()
Winsock1.SendData (Text1.Text)
End Sub
由一個(gè)時(shí)鐘控件觸發(fā)Winsock控件的SendData 方法,實(shí)現(xiàn)數(shù)據(jù)向網(wǎng)絡(luò)的傳輸,并經(jīng)Nport Express,傳送到單片機(jī),實(shí)現(xiàn)控制命令的傳送,當(dāng)然也可以由其他事件觸發(fā)。
調(diào)用GetData方法,可獲得單片機(jī)發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)流,這個(gè)方法一般在Winsock的DataArrival事件中使用。例如,一段數(shù)據(jù)接收程序如下:
Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata, vbString
List1.AddItem strdata
End Sub
則單片機(jī)發(fā)出的數(shù)據(jù)流將自動(dòng)添加到列表框中。值得特別注意的一點(diǎn)是,必須對(duì)Winsock的Bind屬性賦予合理的初值,并且要與Nport Express的本地端口值一致。數(shù)據(jù)的具體處理涉及到很多方面的內(nèi)容,如通信協(xié)議的制定,低層數(shù)據(jù)庫(kù)的建立與數(shù)據(jù)更新等,在此不一一累述。
6 結(jié)束語(yǔ)
以太網(wǎng)作為IT產(chǎn)業(yè)的主要通信骨干,已是眾所周知的事實(shí),并且在與人類生活息息相關(guān)的信息產(chǎn)業(yè)上得到了大量應(yīng)用,面對(duì)這股網(wǎng)絡(luò)化的潮流,身為所有產(chǎn)業(yè)基礎(chǔ)建設(shè)的工業(yè)自動(dòng)化系統(tǒng),也應(yīng)廣泛的應(yīng)用TCP/IP以太網(wǎng)作為系統(tǒng)通信界面,提高系統(tǒng)自動(dòng)化的能力。利用摩莎公司的Nport Express產(chǎn)品實(shí)現(xiàn)單片機(jī)接入以太網(wǎng),達(dá)到了遠(yuǎn)程測(cè)量和控制的目的,簡(jiǎn)單易用、成本適中、效果明顯是串行通信網(wǎng)絡(luò)化的一種可行的方案。
評(píng)論