摘要:本文概括性論述了FIX32的基本體系構(gòu)架,闡述了FIX32組態(tài)軟件在水廠中的開(kāi)發(fā)、應(yīng)用及編制思路。
關(guān)鍵詞:FIX32; PLC; 過(guò)程數(shù)據(jù)庫(kù)
1 概述
水廠自動(dòng)化是近十年來(lái)伴隨著高科技的發(fā)展應(yīng)運(yùn)而生的,伴隨自動(dòng)控制技術(shù),系統(tǒng)控制設(shè)備,機(jī)電儀表設(shè)備的發(fā)展及電腦的日益普及,水廠自動(dòng)化也有了高速的發(fā)展。目前我廠自動(dòng)化比較集中體現(xiàn)是在凈水工藝。其中涉及到現(xiàn)場(chǎng)設(shè)備(如加氯機(jī)、投礬泵、閥門(mén)、水泵等),過(guò)程儀表(流量計(jì)、SCD儀、濁度儀、PH儀等)、PLC、工控組態(tài)軟件。我廠使用的PLC模塊為日本三菱公司A1S系列,工控軟件使用Intellution公司的FIX32 V6.15版本。
2 FIX32使用情況
在水廠中心控制室的我們放置了兩臺(tái)電腦,操作系統(tǒng)為WINDOWS NT,各裝有一套工控組態(tài)軟件FIX32 V6.15版本,兩臺(tái)電腦的目的是一用一備。它們都與下位機(jī)PLC相連。其中一臺(tái)電腦還擔(dān)負(fù)著向總公司調(diào)度室傳輸生產(chǎn)數(shù)據(jù)的作用。如圖1所示:

圖1 FIX32使用狀況
工控組態(tài)軟件FIX32基本功能:數(shù)據(jù)采集、數(shù)據(jù)取數(shù)據(jù);數(shù)據(jù)管理是指對(duì)所取得的數(shù)據(jù)具有控制和處理的能力,其中包括圖形顯示、數(shù)據(jù)監(jiān)控、報(bào)警功能、報(bào)表功能等。
3 FIX32基本構(gòu)架
1、數(shù)據(jù)處理:FIX與硬件設(shè)備(以PLC為典型)相連,通過(guò)流程處理從PLC中取得數(shù)據(jù)。
2、I/O驅(qū)動(dòng)程式(I/O Driver),驅(qū)動(dòng)程式映象表(DIT),掃描、報(bào)警和控制(SAC)。
FIX與PLC之間的聯(lián)系稱(chēng)為I/O驅(qū)動(dòng)程式,不同的I/O驅(qū)動(dòng)程式支持特定PLC。其功能為從I/O裝置中讀寫(xiě)數(shù)據(jù)并與DIT進(jìn)行數(shù)據(jù)交換。驅(qū)動(dòng)程式讀取的速率,稱(chēng)為詢(xún)答時(shí)間。
驅(qū)動(dòng)程式映象表(DIT)是節(jié)點(diǎn)的內(nèi)存區(qū),也就是I/O驅(qū)動(dòng)程式存放數(shù)據(jù)的地方。I/O驅(qū)動(dòng)程式將定期更新DIT內(nèi)的數(shù)據(jù)。
SAC主要作用是從DIT中取出數(shù)據(jù);傳送數(shù)據(jù)到流程數(shù)據(jù)庫(kù)。SAC讀取的速率稱(chēng)為掃描速率。
3、過(guò)程數(shù)據(jù)庫(kù)(PDB)
過(guò)程數(shù)據(jù)庫(kù)是FIX32的核心,由流程控制邏輯回路組成。描述形式是塊(Block)和鏈(Chain),塊是流程中的一個(gè)指令單元,可指定完成一個(gè)過(guò)程功能。相互連接的塊稱(chēng)為鏈,鏈可以執(zhí)行監(jiān)視或過(guò)程控制功能。在FIX32中創(chuàng)建塊可通過(guò)FIX32提供的數(shù)據(jù)庫(kù)建立程序功能模塊(Database Builder)來(lái)實(shí)現(xiàn)。
4、操作顯示:
當(dāng)數(shù)值進(jìn)入PDB中時(shí),可用圖形化方式來(lái)顯示,圖片顯示器(VIEW)是一個(gè)應(yīng)用程式,它提供人機(jī)接口,是用來(lái)將數(shù)據(jù)通過(guò)圖形顯示出來(lái)。其可顯示報(bào)警信息、數(shù)據(jù)庫(kù)信息及點(diǎn)名稱(chēng)有關(guān)的信息細(xì)節(jié)。
總之,數(shù)據(jù)是通過(guò)I/O驅(qū)動(dòng)程式從PLC中取得并傳送到DIT表,然后SAC從DIT表中讀取數(shù)據(jù)傳送到PDB中,再鍵結(jié)從PDB中取得數(shù)值,并以圖形化顯示出來(lái)。這就是數(shù)據(jù)流程。同時(shí),數(shù)據(jù)流程也可反向運(yùn)行,即數(shù)據(jù)由圖片顯示器,經(jīng)過(guò)PDB再到DIT中,I/O驅(qū)動(dòng)程式從DIT取得值后,再寫(xiě)入PLC中,完成對(duì)設(shè)備的控制。如圖2所示:

圖2 FIX32數(shù)據(jù)流程示意圖
4 開(kāi)發(fā)FIX32過(guò)程
1、與PLC相關(guān)的工作:
1)、在安裝FIX32開(kāi)發(fā)系統(tǒng)時(shí),首先要確定好硬件設(shè)備(PLC)的設(shè)備驅(qū)動(dòng)程式(I/O driver),每一個(gè)I/O driver只支持專(zhuān)門(mén)的硬件。我廠選用的是日本三菱A1S系列PLC,故配置MIT驅(qū)動(dòng)程式。
2)、在SCU(System Configuration)中的SCADA(Supervisory Control And Data AcQuisition)組態(tài)中進(jìn)行通道定義,即組態(tài)軟件與PLC的通訊路徑。設(shè)備定義,即組態(tài)軟件與PLC通訊設(shè)備。詢(xún)答記錄定義?熏 即填寫(xiě)MIT中的輪詢(xún)記錄來(lái)創(chuàng)建DIT(Drive Image Table)。
3)在SCU中進(jìn)行報(bào)警設(shè)定、任務(wù)組態(tài)、SQL定義、安全系統(tǒng)設(shè)定。
2、 過(guò)程數(shù)據(jù)庫(kù)定義:
根據(jù)我廠的實(shí)際情況,共定義了620個(gè)點(diǎn),包括顯示閥門(mén)開(kāi)、關(guān)等的開(kāi)關(guān)量輸入塊(DI),流量、溫度、濁度等的模擬量輸入塊(AI),控制輸出量的開(kāi)關(guān)量寄存器塊(DR),模擬量寄存器塊(AR),計(jì)算塊(CA),趨勢(shì)塊(TR)等。我們用開(kāi)關(guān)量寄存器塊(DR),模擬量寄存器塊(AR)代替了開(kāi)關(guān)量輸出塊(DO),模擬量輸出塊(AO)。其優(yōu)點(diǎn)是更快速的對(duì)PLC讀取或?qū)懭耄商^(guò)SAC,在圖片顯示器與DIT之間直接對(duì)傳。減少SAC的工作量,使詢(xún)答最優(yōu)化。缺點(diǎn)不能以數(shù)值作報(bào)警,不能進(jìn)行歷史資料收集,也不可作鏈結(jié)的一部分。
3、圖片的制作:
利用FIX32提供的工具箱和顏色箱,在Draw程序下,可作出逼真的畫(huà)面。我們共作出15個(gè)不同的畫(huà)面,包括投礬控制、投氯控制、反應(yīng)沉淀、濾池監(jiān)控、生產(chǎn)數(shù)據(jù)、生產(chǎn)曲線等。
4、顯示:
利用FIX32的VIEW程序,可顯示含有實(shí)時(shí)數(shù)據(jù)的圖片,它提供了命令與圖建立的聯(lián)系,將數(shù)據(jù)庫(kù)的塊和鏈通過(guò)圖片動(dòng)態(tài)的反映出來(lái)。讓操作員座在電腦旁就了解生產(chǎn)工序發(fā)生了什么變化,從過(guò)程儀表中傳送的數(shù)據(jù)就清楚知道水質(zhì)的情況。
5、報(bào)表的制作:
首先要啟動(dòng)DDE SERVER程序,因?yàn)镕IX32是以DDE方式下,將FIX數(shù)據(jù)庫(kù)的資料輸出到Excel中作成報(bào)表。而后在Excel應(yīng)用程序的屬性中找到快捷方式在其中加入Startup.xla。接下來(lái)在Excel的Report的菜單下進(jìn)行報(bào)表的編制,可進(jìn)行文本、實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、時(shí)間、日期的鏈接,并可設(shè)定定時(shí)自動(dòng)打印。
我廠根據(jù)生產(chǎn)情況將部分生產(chǎn)數(shù)據(jù)作成報(bào)表,每六分鐘記錄一次。
6、歷史曲線:
在用多筆曲線制作好所需的歷史曲線后,先要定義歷史數(shù)據(jù)采集(Historical assign)將所要制作曲線的數(shù)據(jù)塊都增加到歷史數(shù)據(jù)采集組中,而后啟動(dòng)任務(wù)控制(Mission Control)下的歷史數(shù)據(jù)采集進(jìn)程(HTC),才能進(jìn)行歷史曲線的顯示。我廠將流量、壓力、PH值、濁度、余氯等數(shù)值都通過(guò)制作歷史曲線來(lái)尋找生產(chǎn)規(guī)律,從中獲得了很多有價(jià)值的方案。
7、報(bào)警功能:
按實(shí)際生產(chǎn)要求定義報(bào)警組態(tài),并將需要報(bào)警的數(shù)據(jù)塊與動(dòng)畫(huà)特性相連,并通過(guò)PLC啟動(dòng)警鈴,達(dá)到報(bào)警提示的最佳效果。
8、遠(yuǎn)程數(shù)據(jù)傳輸:
是在組態(tài)軟件FIX32中啟動(dòng)SQL支持,并建立對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù),并對(duì)所要傳輸?shù)臄?shù)據(jù)項(xiàng)目進(jìn)行命令編制。在中控監(jiān)控程序中,使用程序獲取數(shù)據(jù),并做一些格式化,通過(guò)相應(yīng)數(shù)據(jù)接口存放到本機(jī)的SQL服務(wù)器中,等候進(jìn)一步的處理。本地網(wǎng)遠(yuǎn)端編制的監(jiān)視程序就是從這里取數(shù)據(jù)的。調(diào)度室的軟件定時(shí)撥入本機(jī),登錄到SQLSEVER,把未傳送的數(shù)據(jù)取走,并存放到調(diào)度室電腦里的SQLSEVER中,方便以后數(shù)據(jù)歷史查詢(xún)統(tǒng)計(jì)等。