1、 模擬量輸入/輸出量程轉(zhuǎn)換的概念
實際工程中,我們要面對很多工程量,如壓力、溫度、流量、物位等,他們要使用各種類型傳感器進行測量,傳感器再將測量值通過輸出標準電壓、電流、溫度或電阻信號供 PLC 采集,PLC的模擬量輸入模板將該電壓、電流、溫度、或電阻信號等模擬量轉(zhuǎn)換成數(shù)字量—整形數(shù) (INT) 。在 PLC 程序內(nèi)部要對相應(yīng)的信號進行比較、運算時,常需將該信號轉(zhuǎn)換成實際物理值,這樣這個數(shù)值才具有實際意義。相反,我們要控制一些執(zhí)行機構(gòu)(如比例閥,電動閥等)需要將控制值轉(zhuǎn)換成與實際工程量對應(yīng)的整形數(shù),再經(jīng)模擬量輸出模板轉(zhuǎn)換成電壓、電流信號去控制現(xiàn)場執(zhí)行機構(gòu)。要完成輸入、輸出模擬量轉(zhuǎn)換,就需要在程序中調(diào)用功能塊完成量程轉(zhuǎn)換。
例如一個壓力調(diào)節(jié)回路中,壓力變送器輸出 4-20mA DC 信號到 SM331 模擬量輸入模板,SM331 模板將該信號轉(zhuǎn)換成 0-27648 的整形數(shù),然后在程序中要調(diào)用 FC105 將該值轉(zhuǎn)換成 0-10.0 (MPa )的工程量(實數(shù)),經(jīng) PID 運算后得到的結(jié)果仍為實數(shù),要用 FC106 轉(zhuǎn)換為對應(yīng)閥門開度 0-100% 的整形數(shù) 0-27648 后,經(jīng) SM332 模擬量輸出模板輸出 4-20mA DC 信號到調(diào)節(jié)閥的執(zhí)行機構(gòu)。
2、STEP 7調(diào)用FC105,F(xiàn)C106進行模擬量轉(zhuǎn)換編程
2.1 FC105/FC106 在哪里
在編程界面下,在 Program elements 中的 Libraries 下的 Standard Library 下的 TI-S7
Converting Blocks 中就可以找到,見下圖:
模擬量
模擬量
注意: 請不要使用 S5-S7 Converting Blocks 下的 FC105, FC106 ,該路徑下的功能是用于 S5輸入輸出模板的,在 S7 輸入輸出模板上無法使用。
2.1.1 FC105 功能描述
SCALE (FC105 )功能將一個整形數(shù) INTEGER (IN)轉(zhuǎn)換成上限、下限之間的實際的工程值(LO_LIM and HI_LIM) ,結(jié)果寫到 OUT 。公式如下:
OUT = [ ((FLOAT (IN) – K1)/(K2 –K1)) * (HI_LIM –LO_LIM)] + LO_LIM
常數(shù) K1 和 K2 的值取決于輸入值( IN)是雙極性 BIPOLAR 還是單極性 UNIPOLAR 。
雙極性 BIPOLAR :即輸入的整形數(shù)為 – 27648到 27648 ,此時
K1 = – 27648.0,
K2 =+27648.0
單極性 UNIPOLAR :即輸入的整形數(shù)為 0 到 27648 ,此時 K1 = 0.0 , K2 = +27648.0如果輸入的整形數(shù)大于 K2 ,輸出 (OUT) 限位到 HI_LIM, 并返回錯誤代碼。 如果輸入的整形數(shù)小于 K1,輸出限位到 LO_LIM ,并返回錯誤代碼。diangon.com版權(quán)所有!反向定標的實現(xiàn)是通過定義 LO_LIM > HI_LIM 來實現(xiàn)的。反向定標后的輸出值隨著輸入值的增大而減小。
2.1.2 FC106 功能描述
UNSCALE (FC106 )功能將一個實數(shù) REAL (IN) 轉(zhuǎn)換成上限、下限之間的實際的工程值
(LO_LIM and HI_LIM) ,數(shù)據(jù)類型為整形數(shù)。結(jié)果寫到 OUT 。公式如下:
OUT = [ ((IN –LO_LIM)/(HI_LIM –LO_LIM)) * (K2 –K1) ] + K1
常數(shù) K1 和 K2 的值取決于輸入值( IN)是雙極性 BIPOLAR 還是單極性 UNIPOLAR 。
如果輸入值在下限 LO_LIM 和上限 HI_LIM 的范圍以外,輸出 (OUT) 限位到與其相近的上限或下限值(視其單極性 UNIPOLAR 或雙極性 BIPOLAR 而定),并返回錯誤代碼。
2.2下面給大家舉個例子:
如輸入 I0.0 為 1, SCALE 功能被執(zhí)行。下面的例子中,整形數(shù) 22 將被轉(zhuǎn)換成 0.0 到 100.0 的實數(shù)并寫到 OUT。輸入是雙極性 BIPOLAR ,用 I2.0 來設(shè)置。
程序中調(diào)用的FC105
執(zhí)行前:
IN----------------------MW10=22
HI_LIM---------------MD20=100.0
LO_LIM--------------MD30=0.0
OUT-------------------MD40=0.0
BIPOLAR------------I2.0=TRUE
執(zhí)行后:
OUT------------------MD40=50.03978588
FC106與上同,不在舉例了。
注意: 通常在一個項目都有不只一個模擬量需要轉(zhuǎn)換, FC105 和 FC106 在程序中都可多次調(diào)
用,調(diào)用的方法同上述例子程序。