1. <pre id="srmtd"></pre>
      
      
    2. <menuitem id="srmtd"></menuitem>

    3. S7-200 CPU 214的高速計(jì)數(shù)器HSC應(yīng)用舉例

        S7-200 CPU 214的高速計(jì)數(shù)器HSC累計(jì)來自模擬量/頻率轉(zhuǎn)換器(A/F的脈沖來計(jì)算模擬電壓值

      本例說明了如何利用CPU 214的高速計(jì)數(shù)器HSC及頻率轉(zhuǎn)換器來計(jì)算模擬電壓。首先頻率轉(zhuǎn)換器將輸入電壓(0~10V)轉(zhuǎn)換為矩形脈沖信號(hào)(0~2000Hz),再將此信號(hào)送入CPU214高速記數(shù)器的輸入端并累計(jì)脈沖數(shù)。當(dāng)預(yù)置的問隔時(shí)問到后,通過累計(jì)脈沖數(shù),計(jì)算出被測(cè)模擬電壓值。

      例圖

      硬件要求

      程序結(jié)構(gòu)

      主程序 在第一個(gè)掃描周期調(diào)用子程序SBR0

      SBR0 高速計(jì)數(shù)器和定時(shí)中斷的初始化

      INT0 對(duì)高速計(jì)數(shù)器求值的定時(shí)中斷程序

      程序和注釋

      主程序在第一個(gè)掃描周期調(diào)用初始化程序SBR0,僅在第一個(gè)掃描周期標(biāo)志位SM0.1=1由子程序SBR0實(shí)現(xiàn)初始化。首先,把高速記數(shù)器HSC1的控制字節(jié)SMB47置為16進(jìn)制‘FC',其含義是:正方向計(jì)數(shù),可更新預(yù)置值(PV),可更新當(dāng)前值(CV),激活HSC1。然后,用指令‘HDEF’把高速計(jì)數(shù)器HSC1置成工作模式0}即沒有復(fù)位或起始輸入,也沒有外部的方向選擇。當(dāng)前值SMD48復(fù)位為0,預(yù)置值SMD52置為FFFF (16進(jìn)制)。定時(shí)中斷0間隔時(shí)間SMB34置為100ms,中斷程序0分配給定時(shí)中斷0(中斷事件10),并允許中斷。用指令HSC1啟動(dòng)高速計(jì)數(shù)器。

      100ms調(diào)用一次中斷程序0,讀出高速計(jì)數(shù)器的數(shù)值后將其置零。通過HSC1計(jì)數(shù)值及變換關(guān)系(0~2KHz對(duì)應(yīng)于0~10V)來求被測(cè)的模擬電壓值。本例中,計(jì)數(shù)值僅除以2,然后置入輸出字節(jié)QB0,以便通過LED來顯示被測(cè)的模擬電壓值。顯示值與10倍真實(shí)電壓值相對(duì)應(yīng)。例如,計(jì)數(shù)值為200除以2100,那么,被測(cè)的模擬電壓值就是10.0V。因?yàn)橛?jì)數(shù)器100ms內(nèi)共有200個(gè)計(jì)數(shù)脈沖,這正與2000Hz=>10V相對(duì)應(yīng)。假設(shè)計(jì)數(shù)值為104,則實(shí)際電壓值應(yīng)為5.2V。

      注意:定時(shí)中斷時(shí)間可在5~255ms的范圍內(nèi)變化,然而,通過設(shè)立一個(gè)標(biāo)志,可根據(jù)需要來延長(zhǎng)高速計(jì)數(shù)器的求值和復(fù)位時(shí)間,這樣就有更長(zhǎng)的掃描間隔,以便提高精確度,同時(shí)也會(huì)帶來更長(zhǎng)的更新時(shí)間。例如,定時(shí)中斷設(shè)為100ms,每調(diào)用一次,標(biāo)志增加1,僅當(dāng)標(biāo)志滿10時(shí),才對(duì)高速計(jì)數(shù)器求值和復(fù)位。也就是說,10V 電壓可接收的最大脈沖為2000,這樣,求值精確到5/1000V即精確度是上例的10倍,但同時(shí)速度也減慢了10倍。

      日韩无码a片精彩视频,精品国产一区二区三区免费看,U久久精品国产99国产精品亚洲,亚洲色欧美色国产精品

        1. <pre id="srmtd"></pre>
          
          
        2. <menuitem id="srmtd"></menuitem>