CAN總線(xiàn)的嵌入式Web服務(wù)器設計
②將服務(wù)器設為L(cháng)isten監聽(tīng)狀態(tài),等待接收客戶(hù)端連接。用TCP API函數建立被動(dòng)連接代碼如下:
TCPAppInit
Bank TCB_BANK
Mov tcbLocalPortLSB,#APPLET_PORT_LSB;設置TCP服務(wù)端口
Mov tcbLocalPortMSB,#APPLET_PORT_MSB
Jmp @TCPAppPassiveOpen;跳轉到TCP被動(dòng)連接程序,進(jìn)行端口偵聽(tīng)
_TCPAppPassiveOpen
_bank TCP_BANK
mov tcpState,#TCP_ST_LISTEN
clr tcpUnAckMSB
clr tcpUnAckLSB
retp
③當TCP的狀態(tài)為established時(shí),雙方連接建立,可以開(kāi)始傳輸數據。此時(shí)產(chǎn)生新的套接字,用來(lái)管理遠端客戶(hù)機服務(wù),原來(lái)的端口繼續用來(lái)監聽(tīng)。
④數據傳輸包括數據接收和數據發(fā)送的兩問(wèn)好。接收數據時(shí),用TCPAppRxBytes()函數獲得接收到的數據字節數,根據得到的字節數多次調用TCPAppRxData()函數接收數據,在全部數據接收完畢后可以在TCPAppRxDone()函數中做相應的處理。發(fā)送數據時(shí),首先調用函數TCPAppTxBHytes()設置要發(fā)送數據的字節數,根據此字節數調用TCPAppTxData()函數發(fā)送數據,全部數據發(fā)送完畢后調用TCPAppTxDone()函數確認。其中采集的動(dòng)態(tài)數據保存在變量globTemp3中。
⑤當TCP狀態(tài)為closed時(shí),服務(wù)器關(guān)閉連接,不再發(fā)送和接收數據。程序具體實(shí)現時(shí),設定客戶(hù)端和服務(wù)器端連接建立后,服務(wù)器端即向客戶(hù)端發(fā)送數據。
3 結論
本文所設計的嵌入式Web服務(wù)器,采用改進(jìn)的Web應用程序開(kāi)發(fā)模式,用Java applet實(shí)現客戶(hù)端程序,不用在客戶(hù)端應用程序,方便用戶(hù)使用;能取代傳統的工控機和接口卡,實(shí)現現場(chǎng)設備數據直接上網(wǎng),小巧輕便,成本低。
該Web服務(wù)器不僅可以廣泛應用于工業(yè)控制領(lǐng)域,實(shí)現小型工業(yè)監測系統網(wǎng)絡(luò )化,還可以實(shí)現智能儀器、智能園區、環(huán)境工程、植物工廠(chǎng)、工業(yè)制冷等方面的應用。
tcp/ip相關(guān)文章:tcp/ip是什么
評論