關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于SOCK盯編程實(shí)現(xiàn)的組態(tài)軟件與控制器的網(wǎng)絡(luò)通訊

基于SOCK盯編程實(shí)現(xiàn)的組態(tài)軟件與控制器的網(wǎng)絡(luò)通訊

作者: 時(shí)間:2010-09-01 來源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://www.butianyuan.cn/article/162872.htm

是面向工程監(jiān)控和數(shù)據(jù)采集的平臺(tái)工具,具有豐富的設(shè)置項(xiàng)目。所涉及的工業(yè)領(lǐng)域非常廣泛,在工業(yè)監(jiān)控系統(tǒng)中發(fā)揮著越來越重要的作用。軟件要接收現(xiàn)場(chǎng)的采集數(shù)據(jù),并形成動(dòng)態(tài)畫面,以反映工業(yè)現(xiàn)場(chǎng)的各種狀態(tài),并能夠?qū)ΜF(xiàn)場(chǎng)設(shè)備進(jìn)行控制。這些都依賴于組態(tài)軟件的通信模塊。通信模塊作為組態(tài)運(yùn)行環(huán)境中數(shù)據(jù)交互的重要渠道,通常處于監(jiān)控組態(tài)軟件運(yùn)行環(huán)境的核心區(qū),其功能直接決定著組態(tài)軟件的性能。本文在TCP/IP網(wǎng)絡(luò)協(xié)議和ET接口技術(shù)的基礎(chǔ)上,介紹了IEC61131-3標(biāo)準(zhǔn)的組態(tài)軟件通訊模塊的設(shè)計(jì)與方法。

1 通信模塊功能

組態(tài)監(jiān)測(cè)系統(tǒng)分為和工程師站兩部分,圖1所示是系統(tǒng)的總體結(jié)構(gòu)圖。圖中的負(fù)責(zé)采集并處理數(shù)據(jù),工程師站負(fù)責(zé)接收發(fā)送過來的數(shù)據(jù),并將數(shù)據(jù)顯示和保存。通信模塊根據(jù)用戶定義的通信協(xié)議工程師站組態(tài)軟件與控制器之間的數(shù)據(jù)通信,完成數(shù)據(jù)通信幀的組織下行和上行數(shù)據(jù)幀的校驗(yàn)、解析。由此可見,在整個(gè)組態(tài)軟件中,通信功能模塊擔(dān)負(fù)著上層組態(tài)運(yùn)行環(huán)境與下層控制器之間數(shù)據(jù)交互的重要作用。

2 通信模塊設(shè)計(jì)

為了能夠及時(shí)、準(zhǔn)確的反映設(shè)備運(yùn)行狀況,設(shè)計(jì)時(shí)可采用TCP/IP協(xié)議的流式套接字(_STREAM)來組態(tài)軟件通信模塊的程序設(shè)計(jì)。

為了實(shí)現(xiàn),Windows為應(yīng)用程序提供了各種接口,如Windows Sockets API等,應(yīng)用程序可以直接使用這些API函數(shù)。但對(duì)于較大型的應(yīng)用程序來說,應(yīng)該設(shè)計(jì)一個(gè)虛擬網(wǎng)絡(luò)接口層,以使能用windows提供的各種通訊API來為應(yīng)用程序提供通用的網(wǎng)絡(luò)功能。這樣的接口層可以采用中間DLL的形式,它將應(yīng)用程序和windows的各種API隔離開來,使程序員能更方便地設(shè)計(jì)自己的應(yīng)用程序。這樣的設(shè)計(jì)可使應(yīng)用程序更易于維護(hù)和移植。

基于通信需求和上述思路,利用基于TCP_IP的ET接口可以實(shí)現(xiàn)網(wǎng)絡(luò)通信,通信模塊通常以動(dòng)態(tài)鏈接庫(kù)的形式存在。

2.1 Socket套接字

Windows Sockets不是一種網(wǎng)絡(luò)協(xié)議,而是一套開放的、可支持多種協(xié)議的、Windows下的網(wǎng)絡(luò)接口。Winsock實(shí)際在計(jì)算機(jī)中提供了一個(gè)通信接口,應(yīng)用程序在網(wǎng)絡(luò)上傳輸信息都可以通過這個(gè)Socket接口來實(shí)現(xiàn)。Windows Sockets分為三種類型:其中流式套接字(sock-stream)定義了一種可靠的面向連接的服務(wù),它使用TCP作為傳輸層協(xié)議,可實(shí)現(xiàn)無差錯(cuò)無重復(fù)地順序數(shù)據(jù)包傳輸;數(shù)據(jù)報(bào)套接字(sock-dgram)定義了一種無連接的服務(wù),它使用UDP協(xié)議,數(shù)據(jù)通過相互獨(dú)立的報(bào)文進(jìn)行傳輸,而且是無序的,同時(shí)不保證可靠和無差錯(cuò);原始套接字(sock-raw)允許對(duì)低層協(xié)議(如IP或ICMP)直接訪問,主要用于新網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)和測(cè)試等。

圖2給出了一種典型的C/S(客戶端服務(wù)器)面向連接套接字調(diào)用的實(shí)現(xiàn)流程。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉