0 引言
計(jì)算機(jī)測控系統(tǒng)通常需要上位計(jì)算機(jī)與工業(yè)現(xiàn)場各種儀器儀表進(jìn)行通信,及時(shí)了-解現(xiàn)場儀器儀表的運(yùn)行情況,實(shí)現(xiàn)對現(xiàn)場狀態(tài)的實(shí)時(shí)監(jiān)控。
MCGS組態(tài)軟件作為工業(yè)過程茬制和實(shí)時(shí)監(jiān)瀏領(lǐng)域的通用計(jì)算機(jī)系統(tǒng)軟件,由于其具有功能完善、操作簡便、可視性好、可維護(hù)性強(qiáng)、采用開放式結(jié)構(gòu)可與廣泛的數(shù)據(jù)源交換數(shù)據(jù)等特點(diǎn)而得薊越來越廣泛的應(yīng)用。硼七s為數(shù)據(jù)采集和控制提供了底層設(shè)備驅(qū)動(dòng)程序,允許它直接與大多數(shù)智能璦備進(jìn)行通信。然而。McGs提供的設(shè)備驅(qū)動(dòng)程序主要是針對目前市場上一些主流控制器或其他智能設(shè)備,在實(shí)際應(yīng)用中,或因?yàn)樗b設(shè)備的特殊性,或因?yàn)閷?shí)際工程需要,其設(shè)備驅(qū)動(dòng)功能總會(huì)有些不盡人意,甚至沒有提供某種智能設(shè)備的驅(qū)動(dòng)程序,這給用戶使用該軟件實(shí)現(xiàn)與某些智能設(shè)備通信帶來諸多不便。
為了解決上述問題,常廂的方涪有2種:向廠家購買MCGS高級(jí)開發(fā)工具包,按照MCGS提供的規(guī)范設(shè)備驅(qū)動(dòng)程序接口,用戶根據(jù)自己的需求開發(fā)設(shè)備驅(qū)動(dòng)程序;采用MCGS提供的OLE技術(shù),用戶利用其他支持OLE技術(shù)的通用較件諸如VB、VC、Delphi等開發(fā)應(yīng)用程序操作MCGS中的對象,利用這些通用軟件提供的數(shù)據(jù)通訊羈處理功能編寫數(shù)據(jù)通訊程序茹嵌人到MCGS控系統(tǒng)中.實(shí)現(xiàn)教據(jù)交換。
VB是一款簡單、易用的可視化編程語言,開發(fā)者可以方便地使用其提供的組件快速建立應(yīng)用程序。利用VB支持的OLE技術(shù)可以方便地開發(fā)出Windows環(huán)境下的OLE通信程序。因此文中給出了一種基于VB和OLE技術(shù)的上位計(jì)算機(jī)與流量計(jì)通信方法,解決了MCGS與流量計(jì)通信時(shí)存在的問題,實(shí)現(xiàn)了MCGS對流量計(jì)的實(shí)耐監(jiān)控。
1 系統(tǒng)的基本結(jié)構(gòu)
基于McGs和vB的渦輪流量計(jì)實(shí)時(shí)監(jiān)控系統(tǒng)主要由工控機(jī)、Rs-232通信電纜、Rs-485/RS-232適配器、流量計(jì)、打印機(jī)、投影儀等組成。
系統(tǒng)流量計(jì)選用QWLJ系列氣體禍輪流量計(jì)。QWLJ系列流量計(jì)集流量傳感器、溫度傳感器、匿力傳感器和智能流量積算識(shí)于一體,可實(shí)現(xiàn)流量的溫壓補(bǔ)償和壓縮因子修正,直接顯示標(biāo)準(zhǔn)狀態(tài)下的體積流量。多臺(tái)流量計(jì)通過Rs一485接口總線連接灌RS-485/Rs-2,2適配器連接烈上位機(jī)的COM口。QWLJ系列流量計(jì)支持廠家自定義通信錛議和MODBUS通信協(xié)議,考慮到將來的擴(kuò)展開發(fā)和組網(wǎng)通信,系統(tǒng)選用MODBUS協(xié)議實(shí)現(xiàn)上位機(jī)與流量計(jì)湮信,撈議具體格式如表1和表2所示。上位機(jī)通過發(fā)送命令幀對流量計(jì)指定寄存器的讀寫袤得流量、壓力、溫度等信息,這里只涉及到功能碼03(讀取保持寄存器)和功能碼16(預(yù)置多寄存器)。
2 系統(tǒng)酌工惟原理
MCGS組態(tài)軟件與渦輪流量計(jì)的通信原理如圖1所示。系統(tǒng)通信包括2部分;McGs與vB程序的OLE通信;VB程序通過RS-232/RS-485與現(xiàn)場流量統(tǒng)計(jì)的通信。
2.1 MCGS與Ⅶ的OLE通信
實(shí)時(shí)數(shù)據(jù)庫是McGs的核心,MCGS把整個(gè)實(shí)時(shí)數(shù)據(jù)庫作為一個(gè)對象封裝起來,提供一系列的方法和屬性,外部程序通過這些方法和屬性對MCGS進(jìn)行各種操作。MCGS運(yùn)行起來后,實(shí)時(shí)數(shù)據(jù)庫對象被暴露出來,通過OLE自動(dòng)化操作可以取得實(shí)時(shí)數(shù)據(jù)庫對象,再利用實(shí)時(shí)數(shù)據(jù)庫對象的SetValueFrom—Nane方法,即可實(shí)現(xiàn)外部程序直接刷新MCGS實(shí)時(shí)數(shù)據(jù)庫。以下為MCCS與VB實(shí)現(xiàn)OLE通信的部分程序。
2.2 VB與流量計(jì)通信
該系統(tǒng)采用一主多從通信方式,其中上位計(jì)算機(jī)作為主機(jī),各流量計(jì)作為從機(jī)。主機(jī)采用查詢方式接收從機(jī)發(fā)送過來的數(shù)據(jù)。為了實(shí)現(xiàn)多機(jī)無沖突可靠通信,每臺(tái)從機(jī)必須有唯一的地址,可以通過流量計(jì)面板的菜單模式下進(jìn)行地址設(shè)置。在VB環(huán)境下編制的通信程序,主要用到了Mscomm控件,其提供了非常豐富的屬性和方法,已將通信的大部分底層操作封裝在控件內(nèi)部,為實(shí)現(xiàn)VB與各種設(shè)備進(jìn)行通信提供了一種有效途徑。文中采用模塊化編程方法編寫數(shù)據(jù)通訊程序,實(shí)現(xiàn)VB與流量計(jì)間的通信。由于篇幅所限,只介紹VB與l#流量計(jì)通信的主要程序模塊:
(1)程序初始化模塊。主要完成串口的選擇、波特率、數(shù)據(jù)位、校驗(yàn)位設(shè)置、打開串口等工作。
(2)發(fā)送數(shù)據(jù)模塊。有手動(dòng)發(fā)送和自動(dòng)發(fā)送命令幀2種方式。手動(dòng)發(fā)送方式功能主要實(shí)現(xiàn)預(yù)置多寄存器的值,主要是設(shè)置參數(shù)上、下限值及報(bào)警值,功能碼為16;自動(dòng)發(fā)送方式功能主要實(shí)現(xiàn)讀取保持寄存器的值,主要是讀取壓力、溫度、流量等信息,功能碼為03。自動(dòng)發(fā)送方式下程序的實(shí)現(xiàn)采用定時(shí)觸發(fā)方式。當(dāng)上位機(jī)發(fā)送完命令幀,延時(shí)等待,如在規(guī)定的時(shí)間內(nèi),流量計(jì)沒有應(yīng)答,上位機(jī)重發(fā)此命令幀,這里設(shè)置為3次呼叫,若都無應(yīng)答則給出報(bào)警提示。部分程序如下:
(3)接收數(shù)據(jù)模塊。通過查詢方式來完成數(shù)據(jù)的接收,即在程序中定時(shí)查詢Mscomm控件的InBufferCoumt屬性是否發(fā)生變化。如果串口接收到數(shù)據(jù),且數(shù)據(jù)緩沖區(qū)的內(nèi)容等于設(shè)定的字節(jié)數(shù)時(shí),取出完整的通訊數(shù)據(jù)幀。在數(shù)據(jù)處理過程中,首先進(jìn)行CRC校驗(yàn),若不正確,丟棄本幀應(yīng)答數(shù)據(jù),上位機(jī)重發(fā)命令幀。否則對數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果與MCGS實(shí)時(shí)數(shù)據(jù)庫對象進(jìn)行OLE數(shù)據(jù)交換。部分程序如下:
3 結(jié)束語
通過MCGS與VB間的OLE通信及VB與渦輪流量計(jì)聞的串口通信,利用VB提供的強(qiáng)大的數(shù)據(jù)通訊和處理功能實(shí)現(xiàn)數(shù)據(jù)采集、處理及控制,并利用MCGS組態(tài)軟件豐富的圖形化來實(shí)現(xiàn)界面設(shè)計(jì),將阿種方法結(jié)合起來則是一種很好的選擇。目前該方法已應(yīng)用于天然氣氣化輸配監(jiān)控系統(tǒng)中.運(yùn)行結(jié)果表明,基于VB的MCGS和渦輪流量計(jì)間的通信具有良好的實(shí)時(shí)性、穩(wěn)定性私可靠性。餌決了MC(甚與QWLJ系烈渦輪流量計(jì)的通信問題,實(shí)現(xiàn)了MCGS對渦輪流量計(jì)的實(shí)時(shí)監(jiān)控。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于VB的MCGS與渦輪流量計(jì)通信實(shí)現(xiàn)
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401939187.html