91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當(dāng)前位置:首頁(yè) > 新聞?lì)l道 > 技術(shù)動(dòng)態(tài) > 正文
分布式監(jiān)控系統(tǒng)通信設(shè)計(jì)概述

摘  要  本文介紹了利用VB的多種通信手段實(shí)現(xiàn)分布式監(jiān)控系統(tǒng)的多種通信功能,對(duì)每一種通信手段給出其原理和應(yīng)用實(shí)例。

關(guān)鍵詞  VB  通信  串行口  控件  DDE  API

The Communication Design of Distributed Control System Based on VB

Abstract:  This article introduces the realization of many communication functions of Distributed Control System with the application on lots of communication methods of VB.

Key Words:  VB, Communication, Serial Port, Control Box, DDE, API

1.   概論

分布式監(jiān)控系統(tǒng)已在工業(yè)領(lǐng)域得到廣泛應(yīng)用,許多企業(yè)對(duì)于中小規(guī)模的設(shè)備,如中小型熱電廠和水電站,出于硬件軟件投資利潤(rùn)率和性能價(jià)格比的考慮,常常是自行開發(fā)或參與開發(fā)本企業(yè)的監(jiān)控系統(tǒng)。而許多企業(yè)在成套引進(jìn)大型DCS系統(tǒng)后,也常因?qū)嶋H情況而需要自行開發(fā)或改進(jìn)其監(jiān)控系統(tǒng)。

分布式監(jiān)控系統(tǒng)以微機(jī)為基礎(chǔ),用數(shù)據(jù)通信將微機(jī)連在一起實(shí)現(xiàn)數(shù)據(jù)共享,從而對(duì)工業(yè)過(guò)程進(jìn)行集中監(jiān)視管理和分散控制。因此,分布式監(jiān)控系統(tǒng)中通信的設(shè)計(jì)與實(shí)現(xiàn)是至關(guān)重要的環(huán)節(jié)。Visual Basic開發(fā)語(yǔ)言具有簡(jiǎn)潔明了、編程效率高、開發(fā)周期短的特點(diǎn),利用VB中的多種通信手段,可實(shí)現(xiàn)分布式監(jiān)控系統(tǒng)的多種通信功能。

2.   與下位機(jī)的通信

分布式監(jiān)控系統(tǒng)的數(shù)據(jù)采集站可直接與現(xiàn)場(chǎng)帶有標(biāo)準(zhǔn)RS—232C接口的智能儀表、PLC和單片機(jī)等鏈接,并可通過(guò)擴(kuò)展控制卡形成一個(gè)數(shù)據(jù)采集子網(wǎng),以高速準(zhǔn)確地獲取數(shù)據(jù)。VB的MSCOMM通信控件具有完善的串口數(shù)據(jù)發(fā)送和接受功能,利用它可以屏蔽對(duì)硬件的操作,簡(jiǎn)易快捷地進(jìn)行串行通信編程。

本文的實(shí)例為上位機(jī)與OMRON 200HG系列PLC的1:N鏈接通信。帶有RS—485接口通信板的PLC直接掛在RS—485總線上,上位機(jī)通過(guò)RS—232C /RS—485轉(zhuǎn)換器與總線相連,這樣即構(gòu)成數(shù)據(jù)采集子網(wǎng),甚至可以是一個(gè)獨(dú)立的小型分布式監(jiān)控系統(tǒng)。其它儀器儀表設(shè)備,只要是標(biāo)準(zhǔn)串口都可以類似方式直接或間接與上位機(jī)鏈接。

關(guān)于VB的MSCOMM控件可參考相關(guān)資料。本例通信程序摘要如下:

(1)        初始化程序

Mscomm1.Commport=2           ’ 選擇COM2

Mscomm1.Settings=”9600,N,8,2”   ’ 設(shè)置通信參數(shù)

Mscomm1.Inputlen=0             ’ 讀入接收緩沖區(qū)全部字符 

Mscomm1.OutbufferSize=256      ’ 設(shè)置發(fā)送緩沖區(qū)大小

Mscomm1.InbufferSize=512       ’ 設(shè)置接收緩沖區(qū)大小

Mscomm1.PortOpen=True          ’打開COM2

(2)        發(fā)送命令程序

比如讀取節(jié)點(diǎn)號(hào)03的PLC中IR000到IR009的內(nèi)容,并放到tag1字符串變量中,此時(shí)有:

Dim Command, node, begin, number as string

Dim Answerlen as integer

node=”03”            ’節(jié)點(diǎn)號(hào)

Command=”RR”       ’命令為讀IR區(qū)

begin=”0000”          ’從IR000開始

number=10              ’讀取長(zhǎng)度

Answerlen=51           ’計(jì)算接收字符串長(zhǎng)度

進(jìn)行命令發(fā)送和接收應(yīng)答處理:

Dim  FCS, I as integer

Dim  s ,f as string

s=”@”+node+Commad+begin+number

FCS=0

For i=1 to Len(s)

   FCS=FCS xor Asc(Mid$(s,i,1) )      ’幀校驗(yàn)碼FCS

Next i

f=Hex$(FCS)

If  Len(f)=1  Then  f=”0”+f

Commfrm.MSComm1.Output=s + f + ”*” + CHR$(13)   ’命令幀發(fā)送

Do

         Dummy=DoEvents()

Loop Untill Commfrm.MSComm1.InbufferCount >= Answerlen   ’等待應(yīng)答幀

Do tag1= Commfrm.MSComm1.Input

Loop Untill Commfrm.MSComm1.InbufferCount=0  ’讀完應(yīng)答幀

上述程序具有相當(dāng)?shù)耐ㄓ眯裕瑢?duì)于其它設(shè)備不同的只是各自的數(shù)據(jù)幀格式,因而只需做相應(yīng)少量修改即可。

3.   節(jié)點(diǎn)自身的“通信”

節(jié)點(diǎn)自身的“通信”是一種形象的說(shuō)法,嚴(yán)格說(shuō)來(lái)應(yīng)是VB應(yīng)用程序利用DDE技術(shù)與本節(jié)點(diǎn)其它Windows應(yīng)用程序進(jìn)行數(shù)據(jù)交換。DDE(Dynamic Data Exchange)即動(dòng)態(tài)數(shù)據(jù)交換,它是Windows支持的三種內(nèi)部通信機(jī)制之一,是應(yīng)用程序間通過(guò)共享內(nèi)存進(jìn)行進(jìn)程間通信的一種形式。應(yīng)用程序間進(jìn)行數(shù)據(jù)交換稱為“會(huì)話”(Conversation),申請(qǐng)會(huì)話端叫客戶(Client),響應(yīng)申請(qǐng)端叫服務(wù)器(Server)。一旦客戶與服務(wù)器間建立起DDE所需的數(shù)據(jù)鏈路就可自動(dòng)進(jìn)行數(shù)據(jù)交換。

在監(jiān)控系統(tǒng)開發(fā)中,工控組態(tài)軟件以其功能強(qiáng)大、使用方便等特點(diǎn)得到廣泛應(yīng)用,但在處理復(fù)雜數(shù)據(jù)時(shí)其計(jì)算功能受到一定限制,而VB可以較好地彌補(bǔ)這一不足,并且還能承擔(dān)數(shù)據(jù)采集、報(bào)表打印等功能。這就需要在VB應(yīng)用程序與組態(tài)軟件應(yīng)用程序間進(jìn)行動(dòng)態(tài)數(shù)據(jù)交換。

VB中只有TextBox、PictureBox、Label和Form可以與其它應(yīng)用程序進(jìn)行動(dòng)態(tài)數(shù)據(jù)交換,控件用于DDE的屬性項(xiàng)有LinkTopic(連接主題)、LinkItem(連接項(xiàng))、LinkMode(連接模式)和LinkTimeout(連接等待時(shí)間)。

這里以本實(shí)驗(yàn)室的小型分布式監(jiān)控實(shí)驗(yàn)系統(tǒng)為例,介紹一個(gè)VB應(yīng)用程序與組態(tài)王5.0應(yīng)用程序間實(shí)現(xiàn)DDE的實(shí)例。

3.1     VB作為Server,組態(tài)王作為Client

當(dāng)有些參數(shù)需要從VB應(yīng)用程序傳輸?shù)浇M態(tài)王應(yīng)用程序,如VB從PLC采集水位值參數(shù)至程序Ser.vbp的Text1,再將數(shù)據(jù)動(dòng)態(tài)傳遞給組態(tài)王的I/O變量

關(guān)鍵字:通訊
About Us - 關(guān)于我們 - 服務(wù)列表 - 付費(fèi)指導(dǎo) - 媒體合作 - 廣告服務(wù) - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見問(wèn)題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) m.78375555.com. All rights reserved.
服務(wù)熱線:4000-293-296 聯(lián)系電話:0371-61311617 傳真:0371-55611201 QQ: 郵箱:zgazxxw@126.com 豫ICP備18030500號(hào)-4
未經(jīng)過(guò)本站允許,請(qǐng)勿將本站內(nèi)容傳播或復(fù)制
安全聯(lián)盟認(rèn)證