新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 用PLC高速計數器和電壓/頻率傳感器測量模擬電壓

        用PLC高速計數器和電壓/頻率傳感器測量模擬電壓

        作者: 時間:2011-05-21 來源:網絡 收藏

        Abstract:The principle of measuring pulse accumulatively by PLC high speed counter and voltage/frequency sensor is introduced.The matters needing attention in practice is expounded,the method of measuring voltage signal is introduced through program examples.

        Keywords:PLC; High speed counter; Voltage/frequency sensor

        中圖分類號:TM933 文獻標識碼:B 文章編號:0219-2713(2003)04-0137-03

         

        1 引言

        由PLC控制的某些系統,經常要測量各類模擬電壓信號,以往通常用電壓傳感器進行采樣,由PLC的模擬量擴展模塊進行運算處理。電壓傳感器輸出是模擬量,在電磁騷擾較強的環境中,容易出現較大的測量誤差;同時,由于占用模擬量擴展模塊寶貴的輸入點(模擬量擴展模塊價格接近中、小型PLC的價格,且輸入點極少),使系統的性價比降低。當用進行采樣,進而用PLC計數,能較好地解決上述問題,V/F傳感器輸出是脈沖信號,該信號在電磁騷擾下變化極小;另外,該信號是數字量,可直接接入PLC的輸入點。下面以西門子SIMATCS7-00、CPU224和V/F傳感器為例介紹測量模擬電壓信號的方法。

        2 和V/F傳感測量模擬電壓信號的原理

        CPU224有HSC0-HSC5共6個高速計數器,每個高速計數器都有多種工作模式以完成不同的功能,在使用一個高速計數器時,根據系統的控制需要,首先要給計數器選定一種工作模式,可用高速計數器定義指令HDEF來進行設置。只有定義了計數器和計數器模式,才能對計數器的動態參數進行編程。編程時,每個高速計數器只能使用一條HDEF指令。每個高速計數器都有一個控制字節,包括允許或禁止計數,計數方向的控制,要裝入的計數器當前值和要裝入的預置值。

        V/F傳感器把測量的模擬電壓信號按著固定的比率轉換成矩形脈沖信號,本例采用的,它的比率為20Hz/V。

        下面以一臺35kV級中、小容量變電所用直流電源為例,說明如何利用CPU224的高速計數器HSC1和V/F傳感器(輸入:DC0~500V電壓,輸出:0~10kHz脈沖)來測量控制母線電壓。首先,V/F傳感器將輸入電壓(控制母線電壓)轉換為矩形脈沖信號,再將此信號送入高速計數器HSC1的輸入端,并累計脈沖數。通過設置定時中斷0的間隔時間,來控制高速計數器累計脈沖的時間,當預置的間隔時間到后,根據累計脈沖數,計算出被測控制母線電壓值,測量原 理 圖 如 圖1所 示 。

        圖1 高速計數器測量V/F傳感器脈沖電路

        3 測量模擬電壓信號的方法

        3.1 硬件要求

        需要使用設備 CPU224 1臺

        1臺

        技術參數 供電電壓 DC 24V

        輸 入 DC 0~500V

        輸出 方波,GND~24V

        測量范圍 0~500V→0~10kHz

        比 率 20Hz/V

        3.2 程序結構

        主程序在第一個掃描周期調用子程序SBR0

        SBR0高速計數器和定時中斷的初始化

        INT0對高速計數器求值的定時中斷程序

        3.3 程序和注釋

        主程序在第一個掃描周期調用初始化子程序SBR0,僅在第一個掃描周期標志位SM0.1=1。由子程序SBR0實現初始化。

        首先,把高速計數器HSC1的控制字節MB47置為16進制數FC,其含義是:正方向計數,可更新預置值(PV),可更新當前值(CV),激活HSC1。

        然后,用定義指令HDEF把高速計數器HSC1設置成工作模式0,即沒有復位或啟動輸入,也沒有外部的方向選擇。當前值SMD48復位為0,預置值SMD52置為FFFF(16進制)。定時中斷0間隔時間SMB34置為100ms,中斷程序0分配給定時中斷0,并允許中斷,用指令HSC1啟動高速計數器。

        每100ms調用一次中斷程序0,讀出高速計數器的數值后,將其置零。通過HSC1計數值及變換關系來求被測的控制母線電壓值。本例中,采用參數為輸入0~500V、輸出0~10kHz的V/F傳動器,100ms時間累計脈沖最多為1kHz,在中斷程序中用乘法指令MUL將該計數值乘5,則100ms內最多脈沖累計數為1k×5=5kHz,從而實現顯示值與10倍的真實電壓值相對應,假設經乘法指令運算后計數值為2200Hz,則實際電壓值相應為220V。然后將經程序處理的計數值置入輸出字節QBO,以便通過LED來顯示被測的模擬電壓值。高速計數器和V/F傳感器測量模擬電壓信號的主程序、子程序和中斷程序如下所述。

        主程序

        LD SM0.1 //用初次掃描存儲器位(SM0.1)調用執行初始化操作的子程序。由于采用這樣的子程序調用,后續掃描不會再調用這個子程序,從而減少了掃描時間,也提供了一個結構優化的程序。

        CALL SBR_0 //調用初始化子程序SBR_0

        子程序

        SBR0 SM0.0 //啟動子程序0

        LD SM0.0 //SM0.0總是1

        MOVB 16#FC,SMB47 //設置高速計數器HSC1控制字節:上升沿復位,上升沿啟動,1X計數速率,正向計數,可改變方向,可更新PV(預置值),可CV(當前值),激活HSC1。

        HDEF 1,0 //定義高速計數器,選用HSC1工作于模式0

        MOVO 0,SM048 //HSC1當前值清0

        MOVD 16#FFFF,SMD52 //將預置值裝入SMD52

        MOVB 100,SMB34 //設置定時中斷0間隔時間為100ms

        ATCH 0,10 //中斷連接指令,中斷程序為INT_0,事件號為10

        EN 1 //允許所有中斷

        HSC 1 //編程計數器SHC1,使設置生效

        中斷程序0

        INT 0 //啟動中斷程序

        LD SM0.0 //SM0?0總是1

        MOVD HSC1,AC0 //把HSC1的計數值存入累加器AC0

        MOVD AC0,VD100 //把計數值存入VD100

        MOVD 0,SM048 //HSC1當前值清0

        MOVB 16#C0,SMB47 //重新設置HSC1控制字節:上升沿復位,上升沿啟動,4X計數速率;反向計數,不改變計數方向,不更新PV,可更新CV,激活HSC1。

        HSC 1 //啟動高速計數器HSC1

        MUL 5,VD100 //把HSC1的計數值乘以5

        MOVB VB103,QB0 //在輸出端Q0?0至Q0.7顯示10倍被測控母電壓值

        4 結語

        以上方法已用于GZS2智能型高頻開關直流電源等控制系統(變電站、發電廠用直流電源),實踐證明,該方法進行模擬電壓信號測量,具有精度高(最高可達5/1000V),抗騷擾性強,運行可靠等優點,具有較大的實用價值和廣泛的應用前景。

        參考文獻

        [1] 臺方.應用教程[M].中國水利水電出版社,2001.

        塵埃粒子計數器相關文章:塵埃粒子計數器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵南县| 蓬安县| 长岛县| 河间市| 高青县| 蒲城县| 双鸭山市| 白沙| 大庆市| 郧西县| 永福县| 宁晋县| 双辽市| 上高县| 独山县| 大足县| 大方县| 罗甸县| 福贡县| 山丹县| 九龙县| 元阳县| 连平县| 内乡县| 大洼县| 加查县| 云和县| 体育| 始兴县| 嘉荫县| 南江县| 兴安县| 稷山县| 南丹县| 手机| 收藏| 屯留县| 浦江县| 上蔡县| 蓬溪县| 永仁县|