1 概述 1746-NI16I是美國Allen-Bradley公司出品的基于SLC500系列PLC的模擬量輸入模塊,設計時可以通過編程靈活設定該模塊的工作方式、輸入信號類型、數據格式、濾波頻率等參數,從而方便地應用于各種場合。采用1746-NI16I作為采集模塊組態的SCADA系統具有擴展方便、組態靈活、穩定可靠、便于維護等特點。 1746-NI16I有兩種工作方式:CLASSl和CLASS3。其中的CLASSl方式是經典的使用方式,該方式占用系統資源較少,但使用起來需要較為復雜的編程;而CLASS3方式則使用方便,編程簡單,但占用系統資源較多。 2 1746-NI16I的軟件資源 在使用1746-NI16I之前必須先了解1746-NI16I的軟件資源,只有在對模塊的每個通道正確配置后,才能使模塊正常工作。 對1746-NI16I編程首先要了解SLC500系列PLC對內存變量的管理方式。SLC500系列PLC以文件的方式組織內存,即把內存劃分為若干個區域--文件,每個文件分管不同類型的變量,如B文件、N文件、I文件、0文件分別用于管理開關量數據、模擬量數據、輸人數據、輸出數據等等。 1746-NI16I的CLASS3方式和CLASSl方式地址映射如表1所列。其中,O:e.i表示輸出文件中e號槽位的第i號字;I:e.i表示輸入文件中e號槽位的第i號字。 可以看出,在CLASSl方式下,系統將采用輸入文件中的8個字的空間來傳輸16個通道的配置字,并采用輸出文件中的8個字來傳輸16個通道的數據字及狀態字;而在CLASS3方式下,每個字都由單獨的空間對應。因此,在CLASSl方式下,通常通過配置字的Bit0和Bitl來配置輸入或輸出文件中的8個字。 應當說明:1746-NI16I中的配置字是通道配置信息存放地址;數據字是輸人數據存放地址;狀態字是通道狀態存放地址。 無論配置字、數據字還是狀態字,它們都由16位二進制數構成。 2.1通道配置字 配置字中的每一位都具有其特定的意義,通過這些配置宇可以對通道的不同參數進行配置。這些位的定義如下: Bit0、Bitl:分別為CLASSl方式下的數據/狀態和讀/寫設置。Bit0和Bitl只能在CLASSl方式中使用,而在CLASS3方式中設置這兩位將出現錯誤(狀態字的Bitl5、Bitl4、Bitl3被置0)。因為在CLASS3方式中,要用32個字的空間來傳輸各個通道的數據字和狀態字,而在CLASSl方式中只有8個字,因此用戶可通過設置BitO和Bitl來選擇這8個字的功能。具體選擇方式如表2所列。 Bit2:CLASSl握手信號,在CLASSl方式中,該模塊提供了握手信號來簡化模塊的配置。這種握手的方法是設置模塊16個通道的最快途徑。在配置模塊的各個通道時,Bit2必須被置1。配置完畢后,狀態字的Bit6必須被置1,以表示配置完畢。把配置字 的Bit2清零即可使狀態字的Bit6復位。握手信號的詳細使用方法將在后面的程序中給出具體的說明。在CLASS3方式中,并不需要這種握手協議,因為所有配置字和狀態字的信息都可以通過32個字的空間一次傳遞。 Bit3:未使用,但此位必須保持為零,否則在狀態字中會出現錯誤指示。 Bit4、Bit5:輸人類型選擇位。這兩位的設置可根據用戶輸入設備的類型來選擇,該輸入可以是在某特定范圍內的模擬電壓或電流。具體設置見表3所列。 Bit6、Bit7、Bit8:數據格式選擇位。模擬電流或電壓輸入在經模塊內A/D轉換器轉換為不同格式的數字量后,不同格式的數據所對應的最大最小值不同,因此,用戶可根據要求選擇。在CLASS3方式中,用戶可自定義4種格式,見表4所列。 Bit9、BitlO、Bitll:校準模式選擇位。要進入校準模式,必須把Bit9置1。進行校準時,必須先進行零校準,再進行滿量程校準。零校準時需把Bitl0置1,Bitll清0,滿量程校準時需把Bitll置1,Bitl0清零。把這三位全部清零即可進入運行狀態。 Bitl2、Bitl3、Bitl4:通道濾波頻率選擇位。1746-NI16I提供有8種濾波頻率,每個模塊的16個通道可分為4組(0-3、4-7、8-11、12-15),模塊中的4個A/D轉換芯片分別負責4組通道的A/D轉換。在選擇通道濾波頻率時,只需對4組通道中每組的第一個通道(0、4、8、12)進行配置即可,也就是說,每組通道只能使用一個濾波頻率,且只能對每組的第一個通道進行配置。濾波頻率的高低決定了降噪特性的好壞。但是太低的濾波頻率在降低噪聲干擾的同時,也提高了模塊的刷新速度。 Bitl5:通道使能選擇位。當該位被清零時,通道被禁止,此通道的數據字和狀態字也同時被清零,直至通道使能位被置1,且通道狀態字的Bitl5、Bit 14、Bit 13都為1時,通道才能繼續工作。具體的位操作組合見表5所列。 2.2通道狀態字 通道狀態字中的每一位都可以被用來判斷通道的狀態。表6是CLASS3方式狀態字各個位的功能。 CLASSl方式與CLASS3方式狀態字的區別在于:CLASSl方式的狀態字中Bit6為握手信號。Bit6為0表示模塊準備就緒,可以向其寫入配置字;Bit6為1表示配置結束,可以進入采集工作狀態。 3 在SCADA系統中的應用及編程 在油田注水自動化系統中,往往需對系統各處的壓力、流量、溫度、濁度等工程量進行實時監控,而現場儀表輸出一般都為4-20mA輸出,因此可采用1746-NI16I來采集信號和進行A/D轉換,并采用帶DH+接口的SLC5/04作為主CPU來與DH+網絡中的其它PLC以及上位監控計算機組成SCADA系統。其系統框圖如圖1所示。 本系統須采集148路信號,其中模擬電流信號占132路,因此需要9塊1746-NI16I模塊,若用CLASS3方式,輸出及輸入文件需包含32X9=288個字,而SLC500系列PLC的輸入輸出文件的最大長度為256字,因此在CLASS3方式下最多只能使用8塊1746-NI16I模塊,故本系統只能使用CLASSl方式。 在程序運行后,首先需對9塊1746-NI16I進行配置,配置完畢,才能進入采集狀態。限于篇幅,本文只給出一個通道的配置程序,見圖2所示。 從圖2所示的配置程序看出,配置的開始與完成是由配置字的Bit2和狀態字的Bit6通過握手協議來實現的。每個模塊的每個通道需單獨配置。程序上電時,配置字的Bit2和狀態字的Bit6都為零,狀態字的Bit6為零表示模塊已準備好,可以接收配置字,并可向配置字單元寫入配置字,此時需把配置字的Bit2置1,表示開始配置。當配置完畢后,模塊會把狀態字的Bit6置1,表示配置完成。此時可把狀態字保存,以備后用。 CLASS3的配置和采集程序相對比較簡單,它只需向對應的單元寫入配置字即可,在此不再贅述。詳細資料可參考有關文獻。 4 結論 在油田注水自動化項目中,基于1746-NI16I的SCADA系統已投入運行半年,實際運行證明:該系統穩定可靠,運行良好,提高了油田注水的自動化程度,減輕了工人負擔,同時也增加了數據的準確性和可靠性。 |