国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于力控組態(tài)軟件的以太網(wǎng)驅(qū)動程序的開發(fā)

2015-07-26 09:19:50趙海敏王永杰合肥工業(yè)大學儀器科學與光電工程學院合肥230009
山東工業(yè)技術(shù) 2015年4期
關(guān)鍵詞:中繼器驅(qū)動程序組態(tài)

楊 杰,趙海敏,王永杰,張 輝(合肥工業(yè)大學 儀器科學與光電工程學院,合肥 230009)

基于力控組態(tài)軟件的以太網(wǎng)驅(qū)動程序的開發(fā)

楊杰,趙海敏,王永杰,張輝
(合肥工業(yè)大學儀器科學與光電工程學院,合肥230009)

本文利用力控組態(tài)軟件提供的I/O驅(qū)動程序接口(FIOS),成功開發(fā)了基于TCP/IP協(xié)議的以太網(wǎng)驅(qū)動程序。該程序通過聯(lián)網(wǎng)的方式實現(xiàn)了對生產(chǎn)過程的實時監(jiān)控。文章首先簡要介紹了驅(qū)動程序接口開發(fā)包,在此基礎(chǔ)上敘述了以太網(wǎng)底層驅(qū)動程序的編程思想,然后詳細介紹了以太網(wǎng)底層驅(qū)動程序開發(fā)的整個過程,最后通過中繼器與上位機通訊調(diào)試,驗證了所開發(fā)軟件的正確性。

TCP/IP;以太網(wǎng);組態(tài)軟件;驅(qū)動程序

0 引 言

隨著工業(yè)自動化程度越來越高,組態(tài)軟件以其友好的人機界面,開放的數(shù)據(jù)接口,靈活的開發(fā)方式,可靠的數(shù)據(jù)處理在生產(chǎn)過程中表現(xiàn)出較強的優(yōu)越性。它通過設(shè)備驅(qū)動程序與I/O設(shè)備進行數(shù)據(jù)交換并將操作命令下達給設(shè)備。組態(tài)軟件中包含了大量的設(shè)備的驅(qū)動程序,能夠滿足工業(yè)上的大多數(shù)生產(chǎn)需要。但是對于一些特殊的I/O設(shè)備,就需要利用組態(tài)軟件提供的底層驅(qū)動開發(fā)包(FIOSSDK),自行開發(fā)底層驅(qū)動程序。

本文在組態(tài)環(huán)境下用VC++編寫了基于TCP/IP協(xié)議的以太網(wǎng)驅(qū)動程序,用于將中繼器采集到的測量數(shù)據(jù)傳送給上位機,進行數(shù)據(jù)的處理,通過聯(lián)網(wǎng)的方式實現(xiàn)對生產(chǎn)過程的實時監(jiān)控。本文重點介紹以太網(wǎng)驅(qū)動程序的開發(fā)過程。

1 驅(qū)動程序開發(fā)包(FIOS SDK)

I/O驅(qū)動程序接口(FIOS)用于實現(xiàn)實時數(shù)據(jù)庫與I/O設(shè)備交互通訊的功能。一方面,它把從I/O設(shè)備采集到的過程實時數(shù)據(jù)放給實時數(shù)據(jù)庫DB(DataBase,DB),另一方面,從DB發(fā)出的數(shù)據(jù)也通過FIOS發(fā)送給I/O設(shè)備,在此過程中完成通信協(xié)議的解析,數(shù)據(jù)格式的轉(zhuǎn)換等。FIOSSDK主要由設(shè)備組態(tài)接口(Iodevui)、數(shù)據(jù)連接組態(tài)接口(Ioitemui)、編程接口(Ioapi)和I/O服務(wù)器程序(Ioserver)四部分組成,力控組態(tài)軟件開始運行時,其內(nèi)部的I/O服務(wù)器程序Ioserver按照一定的層級進行循環(huán)掃描調(diào)度,形成數(shù)據(jù)采集和下置的命令串,如圖1所示。

2 以太網(wǎng)驅(qū)動程序的開發(fā)

2.1編程思想

套接字(Sockets)是通信端點的一種抽象,是支持TCP/IP協(xié)議網(wǎng)絡(luò)通信的基本操作單元,它提供了一種發(fā)送和接受數(shù)據(jù)的機制。在開發(fā)服務(wù)端/客戶端應(yīng)用程序時,可以利用Sockets實現(xiàn)數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)包的交換,以完成應(yīng)用程序之間的通信??蛻舳?服務(wù)器模型工作時要求有一套為客戶機和服務(wù)器所共識的慣例來保證服務(wù)能夠被提供(或被接受),這一套慣例包含一套協(xié)議,它必須在通信的兩端都被實現(xiàn),在本文中指的是TCP/IP協(xié)議。

在本設(shè)計中,力控組態(tài)軟件充當?shù)氖强蛻舳说慕巧?,利用套接字編程的時序流程一般如圖2-1所示。

其中由FIOSSDK提供的Ioserver封裝了大部分開發(fā)人員不必關(guān)心的技術(shù)細節(jié),開發(fā)人員可根據(jù)項目中自定義的通信協(xié)議,實現(xiàn)數(shù)據(jù)的采集和下置,如圖2-2所示。

2.2設(shè)備組態(tài)接口(Iodevcfg)的開發(fā)

在使用力控組態(tài)時,一般都要涉及I/O設(shè)備的定義過程。I/O描述文件的名稱為Iodesc.txt,文件內(nèi)容規(guī)定的格式如下(其中<CR>表示回車換行):

類別;廠商或I/O設(shè)備描述;IOID<CR>

子類型1;類型號;缺省通信方式;提供設(shè)備地址<CR>

子類型2;類型號;缺省通信方式;提供設(shè)備地址<CR>

??????

在本論文中I/O描述文件定義為:“TCP/IP通訊;合肥工業(yè)大學儀器學院;XX項目以太網(wǎng)應(yīng)用;1;2;0”表示設(shè)備類型編號為1,TCP/ IP網(wǎng)絡(luò)通信,不設(shè)置設(shè)備地址。

2.3數(shù)據(jù)連接組態(tài)接口(Ioitemmui)的開發(fā)

數(shù)據(jù)連接過程對于不同的I/O設(shè)備,其形式和內(nèi)容可能完全不同,因此必須針對不同的I/O設(shè)備,設(shè)計相應(yīng)的數(shù)據(jù)連接形式,保存各種參數(shù)信息,一般情況下力控提供的界面選項已經(jīng)足夠使用。

2.4I/O監(jiān)控接口(Ioapi)的開發(fā)

Ioapi提供了一組API函數(shù)和一些C++類庫。這組API函數(shù)規(guī)定了名稱、參數(shù)及返回值,函數(shù)內(nèi)容由程序員根據(jù)具備的I/O設(shè)備編程實現(xiàn)。C++類庫則為程序員提供各種獲取力控I/O組態(tài)信息、參數(shù)設(shè)置信息、與數(shù)據(jù)庫DB進行數(shù)據(jù)交換等數(shù)據(jù)處理的方法。

數(shù)據(jù)的通信格式如下(共91個字節(jié)):

表1 通信協(xié)議

數(shù)據(jù)列表如下:

表2 數(shù)據(jù)列表包含的內(nèi)容

3 驅(qū)動程序的調(diào)試

如下圖3-1所示為在中繼器,利用力控組態(tài)軟件設(shè)計的數(shù)據(jù)管理系統(tǒng),其測量的數(shù)據(jù)利以太網(wǎng)的形式傳輸?shù)缴衔粰C。

從數(shù)據(jù)管理中心獲得的調(diào)試結(jié)果,如下圖3-2所示

經(jīng)過中繼器與上位機的聯(lián)調(diào),證明了該驅(qū)動程序可以成功實現(xiàn)基于TCP/IP協(xié)議的以太網(wǎng)通信,完成數(shù)據(jù)的收發(fā),實時監(jiān)測I/O設(shè)備采集到的測量數(shù)值。

數(shù)據(jù)傳輸?shù)倪^程中采用基于TCP/IP協(xié)議的以太網(wǎng)無線傳輸,相比于傳統(tǒng)的RS485,Modbus總線形式,避免了布線,同時TCP/IP傳輸協(xié)議保證了數(shù)據(jù)傳輸?shù)母咝浴?/p>

4 結(jié)束語

本文以力控為例,實現(xiàn)了組態(tài)軟件下TCP/IP協(xié)議的以太網(wǎng)驅(qū)動程序的開發(fā),實現(xiàn)以聯(lián)網(wǎng)方式對工業(yè)生產(chǎn)進行實時控制的功能,提高了企業(yè)的生產(chǎn)效率。該驅(qū)動程序已成功應(yīng)用于某企業(yè)的生產(chǎn)之中,在運行的半年的時間內(nèi)很好的完成了數(shù)據(jù)的傳輸功能要求,體現(xiàn)了較好的穩(wěn)定性。該文提供的基于組態(tài)軟件的以太網(wǎng)的驅(qū)動程序的開發(fā)流程,可為企業(yè)聯(lián)網(wǎng)生產(chǎn)提供一定的參考價值。

[1]王生鐵,張計科,張立波,何林森.《力控組態(tài)環(huán)境下數(shù)據(jù)采集卡驅(qū)動程序的開發(fā)》[J].內(nèi)蒙古工業(yè)大學學報,2003,22(01):57-62.

[2]Michael J.Donahoo,Kenneth L.Calvert著.陳宗斌等譯.《TCP/ IPSockets編程》[M].北京:清華大學出版社,2009(11):8-28.

[3]艾紅.多點溫度監(jiān)測系統(tǒng)與組態(tài)軟件的數(shù)據(jù)通信[J].自動化儀表,2014,35(10):37-41.

[4]吳力煒,葉念渝.力控組態(tài)軟件下的設(shè)備驅(qū)動程序的開發(fā)[J].PLC&FA,2006(07):75-78.

[5]張建海,李勇華,劉家勇.基于VB實現(xiàn)的組態(tài)王與儀表之間的TCP/IP通信研究[J].2013,1(01):38-41.

[6]馬萬里,王平,諶震文.基于以太網(wǎng)工廠自動化標準的組態(tài)軟件設(shè)計與開發(fā)[J].計算機集成制造系統(tǒng),2005,11(10):1357-1361.

猜你喜歡
中繼器驅(qū)動程序組態(tài)
基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
雙層無線傳感器網(wǎng)絡(luò)的中繼器放置問題
單層網(wǎng)絡(luò)中繼器放置的2-連通問題及算法
對利用軌間交叉環(huán)線進行列車定位的幾點思考
三維無線傳感器網(wǎng)絡(luò)的中繼器放置問題
驅(qū)動程序更新與推薦
驅(qū)動程序更新與推薦
赤城县| 水城县| 闸北区| 卓尼县| 普宁市| 旬阳县| 峨眉山市| 当阳市| 农安县| 靖边县| 民权县| 固原市| 镶黄旗| 上犹县| 宕昌县| 额济纳旗| 讷河市| 阜南县| 峡江县| 沂源县| 南昌市| 绩溪县| 敖汉旗| 黄浦区| 林口县| 金昌市| 大悟县| 南汇区| 北京市| 邛崃市| 霍邱县| 吉木乃县| 夹江县| 太保市| 灌阳县| 鄂伦春自治旗| 洞口县| 旬邑县| 永济市| 门源| 临猗县|