模擬量輸入模塊提供了一個(gè)數(shù)值用于標(biāo)準(zhǔn)化模擬量信號(hào)(電流,電壓,電阻或溫度)。這個(gè)數(shù)值代表 被測(cè)量的參數(shù)(例如,以公升計(jì)量料位)。這個(gè)過程被稱作標(biāo)準(zhǔn)化或縮放模擬量值。
圖. 01 是標(biāo)準(zhǔn)化的例子。
圖. 01
相反,使用用戶程序計(jì)算過程值。這個(gè)過程值被轉(zhuǎn)換成數(shù)字信號(hào),模擬量輸出模塊再將其轉(zhuǎn)換成模擬量信號(hào)用來驅(qū)動(dòng)模擬執(zhí)行器。此轉(zhuǎn)換過程被 稱作逆標(biāo)準(zhǔn)化。以下可供下載庫(kù)中的功能塊被用于標(biāo)準(zhǔn)化和逆標(biāo)準(zhǔn)化模擬量處理。
圖. 02 是逆標(biāo)準(zhǔn)化的例子。
圖. 02
因此,y 數(shù)值總是轉(zhuǎn)換結(jié)果。x 數(shù)值在不同情況下都是已知參數(shù)。
如下功能塊可在下載的兩個(gè)庫(kù)文件中可找到。
功能塊
語(yǔ)言
描述
skal_linear+lim_int_real [fc165]
stl
此處 x 值是整數(shù),y 值是浮點(diǎn)數(shù)。
scl_scale_linear_int-to-real [fc1]
scl
skal_linear+lim_real_int [fc166]
stl
此處x值是浮點(diǎn)數(shù),y 值是整數(shù)。
scl_scale_linear_real-to-int [fc2]
scl
skal_linear+lim_int [fc167]
stl
此處 x 值和 y 值都是整數(shù)。
scl_scale_linear_int [fc3]
scl
skal_linear+lim_real [fc168]
stl
此處 x 值和 y 值都是浮點(diǎn)數(shù)。
scl_scale_linear_real [fc4]
scl
表 01
注意
以上功能塊不改變寄存器 ar1/ar2 的地址,并且在 fbd 和 lad 程序中提供了 eno 功能框,rlo=0 或 1 存放在該功能框的br位中。
通過輸入 ymin 和 ymax ,能限制計(jì)算值y (計(jì)算出的y值)到低限和高限之間的一個(gè)特定值。這限制了模擬量輸入和輸出量程卡的上限和下限范圍。(這限制了模擬量輸入和輸出卡件的上溢和下溢)
y值根據(jù)一般線性方程計(jì)算:y = a x + b.
由此引出以下關(guān)系:y = (y1-y0) / (x1-x0) * (x-x0) + y0
以下是用功能塊 skal_linear+lim_int_real [fc165] (integer > real) 實(shí)現(xiàn)線性縮放的例 子
圖. 03
例子
模擬量輸入模塊用來測(cè)量一個(gè)4ma 至 20ma 的電流信號(hào)。此信號(hào)在 cpu 內(nèi)部被轉(zhuǎn)換為 0 至27648。液位用此計(jì)算值來測(cè)量。由此可知 4ma 對(duì)應(yīng) 0.0m 液位,而 20ma 對(duì)應(yīng) 1.7m 液位。
輸出如下參數(shù):
p0(x0=0; y0=0.0)
p1(x1=+27648; y1=+1.7)
按照如下方式調(diào)用 fc165 功能塊:
圖. 04