時(shí)間:2006-07-21 15:34:00來(lái)源:xuzh
系統(tǒng)的動(dòng)態(tài)數(shù)據(jù)交換實(shí)現(xiàn)分為三個(gè)方面:
?、?采管理站的DDE數(shù)據(jù)類型的數(shù)據(jù)產(chǎn)生。
?、?監(jiān)控層應(yīng)用程序的DDE組態(tài)。
?、?構(gòu)造NETDDE應(yīng)用程序。
?。?、1 用VB 編制DDE程序VB 是開發(fā)Windows應(yīng)用程序的一種面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,他支持Windows環(huán)境下的DDE通信機(jī)制。VB提供了動(dòng)態(tài)數(shù)據(jù)交換的Link Topic連接主題,Link Item連接項(xiàng),Link Timeout連接等待時(shí)間和Linkmode(連接模式)四項(xiàng)屬性。在應(yīng)用程序編制時(shí),根據(jù)DDE原理,把應(yīng)用程序的可執(zhí)行文件名去掉EXE后綴,則成為DDE中的Topic。Linkmode有Manual手工,Notify通知,和Automatic自動(dòng)三種方式。在這個(gè)系統(tǒng)中我們采用Automatic自動(dòng)方式。數(shù)采管理站的巡測(cè)數(shù)采程序的流程圖如下:
測(cè)控裝置采用RS-485接口標(biāo)準(zhǔn),因此某一時(shí)刻只能有一個(gè)站發(fā)送數(shù)據(jù),其余站只能接口。在該測(cè)控裝置的通信協(xié)議中,由主機(jī)以召喚方式向測(cè)控裝置發(fā)送送數(shù)命令和相應(yīng)機(jī)號(hào),只有與主機(jī)發(fā)送的機(jī)號(hào)一致的測(cè)控裝置才允許發(fā)送數(shù)據(jù)。
此VB程序作為DDE服務(wù)器,在VB中只有窗體可以作為服務(wù)器,在程序的初始化部分應(yīng)進(jìn)行DDE設(shè)置,程序段如下:
?。妫铮颍恚保欤椋睿耄恚铮洌澹剑?
?。妫铮颍恚保欤椋睿耄簦铮穑椋悖剑妫铮颍恚?
在窗體上放置了mscomm控件用于控制串行端口傳輸和接受數(shù)據(jù),為應(yīng)用程序提供串行通信功能。
?。停螅悖铮恚恚保悖铮恚穑铮颍簦剑拨?
?。停螅悖铮恚恚保螅澹簦簦椋睿纾螅健梗叮埃阿煟睥煟涪煟薄O(shè)定該通信口的波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位
Mscomm1.inputlen=0 ’使用Input將使Mscomm控件讀取接收緩’沖區(qū)中全部的內(nèi)容
?。停螅悖铮恚恚保校铮颍簦铮穑澹?
窗體上的定時(shí)器控件timer1,用于定時(shí)兩秒,當(dāng)定時(shí)到時(shí),發(fā)送FE命令,要求測(cè)控裝置發(fā)送數(shù)據(jù)。其程序?qū)崿F(xiàn)如下:
?。恚螅悖铮恚恚保铮酰簦穑酰簦健澹妫濉澹悖瑁颉纾煟保常?’輸出FE命令
?。恚螅悖铮恚恚保铮酰簦穑酰簦健澹簦幔睿搿?’tank為機(jī)號(hào)
當(dāng)數(shù)據(jù)由測(cè)控裝置送到數(shù)采站時(shí)將觸發(fā)mscomm控件的oncomm事件,在此事件處理句柄中完成讀入數(shù)據(jù)的功能。
?。拢酰妫妫澹颍螅簦颍椋睿纾剑恚螅悖铮恚恚保椋睿穑酰?’讀入緩沖區(qū)內(nèi)容
?。桑?Bufferstring<>’ff’ then
?。裕澹簦玻簦澹簦?Bufferstring+text2.text
這樣讀入的數(shù)據(jù)就顯示在Text2文本框中。
?。常脖O(jiān)控層應(yīng)用程序的DDE組態(tài)
監(jiān)控層應(yīng)用程序主要執(zhí)行InTouch中的WonderViewer,而InTouch正是借助DDE與其它軟件聯(lián)合工作。
?。桑睿裕铮酰悖枋怯糜诮⑷藱C(jī)接口的一種軟件包。它包括WonderViewer和WonderMaker兩大部分。使用InTouch軟件只需建立一個(gè)標(biāo)記名字典,再利用WonderMaker的圖形功能把被控對(duì)象形象的畫出來(lái),在PC機(jī)上就可以把整個(gè)對(duì)象描繪出來(lái)。InTouch只需在標(biāo)記名字典中指明標(biāo)記名為DDE特性,同時(shí)指定應(yīng)用程序的服務(wù)名和話題名,WonderViewer可自動(dòng)執(zhí)行獲取數(shù)據(jù)點(diǎn)的全部操作。
?。桑睿裕铮酰悖杓瓤梢宰鳛榭蛻粲挚梢宰鳛榉?wù)器。通過(guò)NETBIOS DDE的網(wǎng)絡(luò)接口,可使機(jī)制建立起3個(gè)層次,因此監(jiān)控層應(yīng)用程序的DDE組態(tài)分為兩大部分:
① 工程師站的DDE組態(tài)
?。模模庞庙?xiàng)名、主題名、應(yīng)用程序名三個(gè)層次來(lái)標(biāo)識(shí)客戶與服務(wù)器之間傳遞的數(shù)據(jù)單位,通常表示為:應(yīng)用程序名|主題名!項(xiàng)名;對(duì)于客戶,應(yīng)按三個(gè)層次去連接相應(yīng)的數(shù)據(jù)。工程師站作為數(shù)采站的DDE客戶。在InTouch的標(biāo)簽庫(kù)中,提供了DDE設(shè)置框,使得DDE組態(tài)簡(jiǎn)便、易行。
工程師站中的層次標(biāo)識(shí)為:\\shucai\dde1|form1text2.text 數(shù)采站的節(jié)點(diǎn),dde1為數(shù)采站上的VB應(yīng)用程序名。
② 其它各監(jiān)視站的DDE組態(tài)
這主要是建立各監(jiān)視站與工程師站的DDE 連接。此時(shí)工程師站作為DDE服務(wù)器,其它各監(jiān)視站作為客戶從工程師站上取數(shù)據(jù)。建立DDE連接的過(guò)程與上述類似。
?。?、 結(jié)論
VB是一種優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,采用它編制Windows環(huán)境下的上位機(jī)串行通信軟件,程序?qū)崿F(xiàn)簡(jiǎn)單,減輕了軟件開發(fā)的工作。用InTouch監(jiān)控程序軟件完成復(fù)雜的圖形截面,方便快捷。VB應(yīng)用程序一方面作為DDE服務(wù)器同InTouch進(jìn)行數(shù)據(jù)交換,另一方面通過(guò)Windows提供的串行通信設(shè)備驅(qū)動(dòng)程序與低層的測(cè)控裝置進(jìn)行串行通信。對(duì)于用戶只與InTouch友好人機(jī)界面打交道。實(shí)際運(yùn)行證明該通信軟件可靠,操作方便。
參考文獻(xiàn)
?。?、 瞿坦,數(shù)據(jù)通信及網(wǎng)絡(luò)通信, 華中理工大學(xué)
?。病?張?chǎng)?,?jì)算機(jī)散控制系統(tǒng),水利電力出版社
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-11-20
500kN.m聯(lián)軸器扭矩剛度疲勞試驗(yàn)系統(tǒng)
2025-11-10
2025-11-10
多項(xiàng)行業(yè)首發(fā)!免畫圖拆單七大升級(jí)功能...
2025-11-07
2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
推薦專題
更多>