詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控

關於西門子S7-300、400PLC模擬量輸入輸出的量程轉換控制,主要有一下內容:

一、模擬量輸入、輸出量程轉換的概念

實際的工程量,如壓力、溫度、流量、物位等要採用各種類型傳感器進行測量。傳感器將輸出標準電壓、電流、溫度、或電阻信號供 PLC 採集,PLC 的模擬量輸入模板將該電壓、電流、溫度、或電阻信號等模擬量轉換成數字量——整形數(INTEGER)。

在 PLC 程序內部要對相應的信號進行比較、運算時,常需將該信號轉換成實際物理值(對應於傳感器的量程)。而經程序運算後得到的結果要先轉換成與實際工程量對應的整形數,再經模擬量輸出模板轉換成電壓、電流信號去控制現場執行機構。這樣就需要在程序中調用功能塊完成量程轉換。

如一個壓力調節迴路中,壓力變送器輸出 4-20mA DC 信號到 SM331 模擬量輸入模板,

SM331 模板將該信號轉換成 0-27648 的整形數,然後在程序中要調用 FC105 將該值轉換成 0-10.0(MPa)的工程量(實數),經 PID 運算後得到的結果仍為實數,要用 FC106 轉換為對應閥門開度 0-100%的整形數 0-27648 後,經 SM332 模擬量輸出模板輸出 4-20mA DC 信號到調節閥的執行機構。

二、S7-300、400 PLC 模擬量輸入、輸出模板

1、需要使用的模板

使用西門子 S7-300、400 PLC 進行模擬量輸入、輸出需要使用的模板:

S7-300系列 PLC:SM331 系列模擬量輸入模板;SM332 系列模擬量輸出模板;SM334、335系列模擬量輸入、輸出模板。

S7-400系列 PLC:SM431 系列模擬量輸入模板;SM432 模擬量輸出模板。

2、涉及的信號類型:電壓,電流,溫度,電阻。

三、STEP 7 中模擬量輸入、輸出的編程

1、FC105、FC106 在哪裡

在編程界面下,在 Program elements 中的 Libraries 下的 Standard Library 下的 TI-S7

Converting Blocks 中就可以找到,見下圖:

詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控
詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控

注意:請不要使用 S5-S7 Converting Blocks 下的 FC105, FC106,該路徑下的功能是用於 S5輸入輸出模板的,在 S7 輸入輸出模板上無法使用。

2、FC105、FC106 功能描述

在編程界面下選中該功能塊,按一下計算機鍵盤上的 F1 功能鍵,即可打開關於該功能塊的在線幫助,包括該功能塊的功能,管腳參數定義、例子程序等。建議用戶使用STEP 7 在線幫助,可以提供全面的編程幫助。

FC105 功能描述

SCALE(FC105)功能將一個整形數 INTEGER(IN)轉換成上限、下限之間的實際的工程值(LO_LIM and HI_LIM),結果寫到 OUT。

公式如下:

OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM

常數 K1 和 K2 的值取決於輸入值(IN)是雙極性 BIPOLAR 還是單極性 UNIPOLAR。

雙極性 BIPOLAR:即輸入的整形數為 –27648 到 27648,此時 K1 = –27648.0 , K2 = +27648.0

單極性 UNIPOLAR:即輸入的整形數為 0 到 27648,此時 K1 = 0.0 , K2 =+27648.0如果輸入的整形數大於 K2,輸出 (OUT) 限位到 HI_LIM, 並返回錯誤代碼。

如果輸入的整形數小於 K1,輸出限位到 LO_LIM,並返回錯誤代碼。反向定標的實現是通過定義 LO_LIM > HI_LIM 來實現的。反向定標後的輸出值隨著輸入值的增大而減小。

FC106 功能描述

UNSCALE(FC106)功能將一個實數 REAL (IN) 轉換成上限、下限之間的實際的工程值(LO_LIM and HI_LIM),數據類型為整形數。結果寫到 OUT。

公式如下:

OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1

常數 K1 和 K2 的值取決於輸入值(IN)是雙極性 BIPOLAR 還是單極性 UNIPOLAR。

雙極性 BIPOLAR:即輸出的整形數為 –27648 到 27648,此時 K1 = –27648.0 , K2 = +27648.0

單極性 UNIPOLAR:即輸出的整形數為 0 到 27648,此時 K1 = 0.0 , K2 =+27648.0

如果輸入值在下限 LO_LIM 和上限 HI_LIM 的範圍以外,輸出 (OUT) 限位到與其相近的上限或下限值(視其單極性 UNIPOLAR 或雙極性 BIPOLAR 而定),並返回錯誤代碼。

3、FC105、FC106 參數定義

FC105 的參數定義

詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控

錯誤信息:

如輸入的整形數大於 K2,則輸出(OUT) 限位到 HI_LIM,並返回錯誤值。如輸入的整形數小於K1,輸出限位到 LO_LIM,並返回錯誤值。ENO 端的信號狀態置為 0 且返回值 RET_VAL 為W#16#0008。

FC106 的參數定義

詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控
詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控

錯誤信息:

如果輸入值在下限 LO_LIM 和上限 HI_LIM 的範圍以外,輸出 (OUT) 限位到與其相近的上限或下限值(視其單極性 UNIPOLAR 或雙極性 BIPOLAR 而定),並返回錯誤代碼。ENO 端的信號狀態置為 0 且返回值 RET_VAL 為 W#16#0008。

4、FC105和FC106例子程序

FC105例子程序

如輸入 I0.0 為 1,SCALE 功能被執行。下面的例子中,整形數 22 將被轉換成 0.0 到 100.0 的實數並寫到 OUT。輸入是雙極性 BIPOLAR,用 I2.0 來設置。

詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控
詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控

FC106例子程序

如輸入 I0.0 為 1,UNSCALE 功能被執行。下面的例子中,實數 50.03978588 將被轉換成 0.0到 100.0 的工程量,再轉換成整形數並寫到 OUT。輸入是雙極性 BIPOLAR,用 I2.0 來設置。

詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控
詳解S7-300、400 PLC 模擬量輸入輸出的量程轉換控

注意:通常在一個項目都有不只一個模擬量需要轉換,FC105 和 FC106 在程序中都可多次調用,調用的方法同上述例子程序。


分享到:


相關文章: