白 雷,沈安文,鄭定富
1 前言
目前DCS在過(guò)程控制領(lǐng)域的應用日益廣泛,其基本結構為工業(yè)控制計算機/現場(chǎng)控制儀表或控制單元模塊/現場(chǎng)控制對象和執行機構三層。工業(yè)控制計算機實(shí)現生產(chǎn)過(guò)程信息、模擬畫(huà)面顯示、控制回路組態(tài)、生產(chǎn)過(guò)程優(yōu)化處理、運行趨勢報表顯示等功能;現場(chǎng)控制儀表及控制單元模塊完成過(guò)程數據I/O、直接數字的過(guò)程控制、設備監視和系統測試診斷等功能;執行機構和控制對象則接收控制信號實(shí)施最后的操作。目前,國內外多家組態(tài)軟件公司提供了功能強大、應用方便的組態(tài)軟件,用于DCS各層之間的協(xié)調連接和數據共享,在工控機上采用組態(tài)軟件編程成為DCS的一種趨勢。全中文工控組態(tài)軟件MCGS(Monitor and Control Generated System,通用監控系統)是一套用于快速構造和生成計算機監控系統的組態(tài)軟件,它能夠在基于Microsoft的各種32位Windows平臺上運行,通過(guò)對現場(chǎng)數據的采集處理,以動(dòng)畫(huà)顯示、報警處理、流程控制和報表輸出等多種方式向用戶(hù)提供解決工程實(shí)際問(wèn)題的方案,在工業(yè)控制領(lǐng)域有著(zhù)廣泛的應用。
筆者承擔了湖北大冶鐵礦球團廠(chǎng)全過(guò)程自動(dòng)化的改造項目。大冶鐵礦豎爐球團采用自制煤氣供其他工段使用,為達到穩定供氣目的,采用DCS對出口煤氣的流量、壓力等參數進(jìn)行了控制。重慶宇通公司(以下簡(jiǎn)稱(chēng)宇通公司)生產(chǎn)的ST2000是現場(chǎng)采用的數據采集單元,MCGS沒(méi)有提供其設備驅動(dòng),在實(shí)際應用中用戶(hù)需要利用組態(tài)軟件提供的接口規范自行編制,本文研究了ST2000智能儀表在MCGS下的設備驅動(dòng)開(kāi)發(fā)問(wèn)題。
2 系統分析
制氣工段中,我們共設置3臺ST2000儀表對現場(chǎng)30個(gè)數據進(jìn)行采集,采集到的數據送到主機,即研華610工控機上,通過(guò)主機與其他輸入輸出設備溝通。ST2000與主機之間采用422/485接口連接,其硬件系統圖如圖1所示。
圖1 ST2000數據采集硬件系統圖
該數據采集系統在整個(gè)煤氣發(fā)生爐控制系統里實(shí)際上是一個(gè)數據源,在現場(chǎng)運行的環(huán)境下,必然要求數據的及時(shí)與可靠??紤]到整個(gè)軟件系統的運行周期以及硬件設備的執行周期,設置構件的調用周期為1s。同時(shí),因為有多臺儀表同時(shí)運行,考慮到該工程量大、一次性投資多等原因,為避免設備構件的重復使用,擬訂用單設備構件采集多設備。
宇通公司生產(chǎn)的ST2000智能儀表是一種集數據采集、控制、顯示、傳輸及輸出為一體的現場(chǎng)可操作儀表??砂闯绦蜃詣?dòng)完成模擬量和數字量的輸入輸出,同時(shí)與上位機按照203_Optomux協(xié)議進(jìn)行通信,通訊端口為COMM232。在大冶鐵礦煤氣發(fā)生爐控制系統中,該儀表用來(lái)實(shí)現工作現場(chǎng)數據的采集和轉換。
3 設備驅動(dòng)的開(kāi)發(fā)
ST2000提供了可供用戶(hù)使用的串行通信協(xié)議,它提供了多種讀寫(xiě)指令,由于這里只進(jìn)行數據采集,選取讀指令格式為:
1byte |
2 byte |
2 byte |
2 byte |
2 byte |
1 byte |
> |
Address |
L |
Channel |
Checksum |
CR |
標識符 |
設備地址 |
命令名 |
設備通道號 |
校驗和 |
空格 |
其返回指令格式為:
1byte |
m*4bt,m為返回的數據個(gè)數 |
2byte |
1byte |
A |
Data |
Checksum |
CR |
標識符 |
數據位 |
校驗和 |
空格 |
整個(gè)通訊過(guò)程為:在一個(gè)數據采集周期內,上位機調用ST2000設備驅動(dòng),向ST2000儀表發(fā)送讀指令,同時(shí)準備接收返回的數據;ST2000收到上位機發(fā)送的指令,自動(dòng)校驗并識別指令含義及其所帶信息,將指令要求的數據以返回格式發(fā)送給上位機;上位機收到應答指令,校驗并解析指令識別數據。
通訊設置為:
通訊端口 |
波特率 |
數據位 |
數據采集方式 |
停止位 |
校驗方式 |
串口1 |
9600 |
8 |
同步采集 |
1 |
奇校驗 |
MCGS系統提供了一套可擴充的接口規范和配套的高級開(kāi)發(fā)工具包來(lái)開(kāi)發(fā)擴充構件,以多種方式與其他應用程序實(shí)現數據交互,以滿(mǎn)足各方用戶(hù)的需求。
MCGS用Active DLL構件的方式來(lái)實(shí)現設備驅動(dòng)程序,通過(guò)規范的OLE接口掛接到MCGS中,使其構成一個(gè)整體,由于設備驅動(dòng)構件和MCGS運行在同一個(gè)進(jìn)程內,故設備構件運行速度快,可靠性高,不存在傳統DDE方式連接時(shí)的數據流通不暢和傳輸速度慢等問(wèn)題。同時(shí),OLE是一個(gè)可擴充的開(kāi)放標準,可實(shí)現不同語(yǔ)言軟件之間的相互操作。
MCGS把實(shí)際外部設備分為獨立的設備、父設備和子設備三類(lèi),獨立設備是可獨立工作,完成特定數據輸入輸出功能的設備,如PC接口卡;父設備是本身不處理數據輸入輸出,但起到管理其它設備工作的設備,如串行口設備、IDCN-893的通訊卡;子設備是本身具有處理數據輸入輸出的功能,但只有和對應的父設備一起才構成完整工作系統的設備,如PLC設備、帶智能通訊功能的儀器儀表等。MCGS提供通用串口父設備構件,可直接掛接子設備和設置通訊屬性。
利用MCGS組態(tài)軟件的多語(yǔ)言支持功能和所帶的豐富的接口函數,很容易地進(jìn)行編程,考慮到VB的簡(jiǎn)潔和工整,可利用它進(jìn)行開(kāi)發(fā)工作。同時(shí),利用MCGS提供的在線(xiàn)測試功能,可靈活的進(jìn)行程序的在線(xiàn)調試。
需要注意的是,在編制設備構件程序的過(guò)程中,兩個(gè)接口函數即RunDevCommand()和CollectDevDat()的運用。這兩個(gè)接口函數分別對應“設備命令”和“采集數據”兩個(gè)設備構件的基本功能。用戶(hù)在編制程序時(shí)遇到需要分批采集數據,如采集多個(gè)同類(lèi)設備,就要考慮到時(shí)序配合的問(wèn)題。RunDevCommand()接口用于用戶(hù)自己定制命令,完成特殊功能,一般用來(lái)讀寫(xiě)單個(gè)數據,而CollectDevDat()接口則可進(jìn)行數據的批量讀寫(xiě),且可以直接和MCGS的組態(tài)環(huán)境數據庫中的變量聯(lián)系起來(lái),較前者更方便可靠。
圖2 MCGS設備構件開(kāi)發(fā)流程圖
MCGS內部的ST2000通訊狀態(tài)可由其通訊測試圖來(lái)顯示。ST2000回路控制器作為一個(gè)數據源通過(guò)組態(tài)同工程其他環(huán)節協(xié)調工作,協(xié)助實(shí)現控制策略、實(shí)時(shí)報表、界面演示等功能。
不同設備,它所支持的通訊協(xié)議不同,其驅動(dòng)程序的編制也就不盡相同。但只要給出其數據傳輸的協(xié)議,在掌握開(kāi)發(fā)工具的條件下開(kāi)發(fā)驅動(dòng),對于一般編程人員,都不是一件難事,驅動(dòng)程序大致的開(kāi)發(fā)流程如圖2所示。
4 結語(yǔ)
圖3為實(shí)際運行時(shí)ST2000的數據顯示界面。經(jīng)長(cháng)期運行檢驗,該驅動(dòng)程序效果良好,保證了數據采集的及時(shí)可靠,為進(jìn)一步實(shí)現控制算法提供了準確穩定的數據來(lái)源。
圖3 ST2000數據顯示界面
隨著(zhù)科技的日新月異,各種先進(jìn)設備不斷涌現,給從事流程工業(yè)控制的工程人員帶來(lái)前所未有的挑戰。開(kāi)發(fā)設備驅動(dòng)不論是對于軟、硬件開(kāi)發(fā)工程人員還是對于第三方的專(zhuān)業(yè)、業(yè)余開(kāi)發(fā)者或用戶(hù)來(lái)說(shuō),都越來(lái)越成為必要的技能。本文所介紹的在MCGS環(huán)境下開(kāi)發(fā)智能型多功能儀表,方便易懂,簡(jiǎn)潔明了,已經(jīng)成功運用于大冶鐵礦球團廠(chǎng)自動(dòng)化改造項目中,具有較高的參考價(jià)值。
參考文獻:
[1] 北京昆侖通態(tài)自動(dòng)化軟件科技有限公司[Z]. 全中文工控組態(tài)軟件MCGS參考手冊. 1998.
[2] 北京昆侖通態(tài)自動(dòng)化軟件科技有限公司[Z]. 全中文工控組態(tài)軟件MCGS用戶(hù)指南. 1998.
[3] 魯思慧. 全中文工控組態(tài)軟件MCGS[J]. 自動(dòng)化博覽, 2002.3.
[4] 沈德耀. 開(kāi)放式集散控制系統與現場(chǎng)總線(xiàn)技術(shù)[J]. 岳陽(yáng)師范學(xué)院學(xué)報(自然科學(xué)版), 2000,13(3).
[5] Brian Siler,Jeff Spotts Visual Basic 6.0開(kāi)發(fā)使用手冊[M]. 北京: 機械工業(yè)出版社, 1999,4.