西門子原裝現貨6ES73922XY100AA0。
西門子原裝現貨6ES73922XY100AA0。
S7-300/400 PLC 模擬量輸入輸出的量程轉換控制
一、模擬量輸入輸出量程轉換的概念
二、S7-300/400 PLC 模擬量輸入輸出模板
1、需要使用的模板
2、涉及的信號類型
三、STEP 7 中模擬量輸入輸出的編程
1、FC105、FC106 在哪里
2、FC105、FC106 功能描述
3、FC105、FC106 參數定義
4、FC105、 FC106例子程序
各CPU均有計數、頻率測量和脈沖寬度調制功能。可以2倍頻和4倍頻計數。S7-300 CPU的分類1.緊湊型CPU:CPU312C,313C,313C-PtP,313C-2DP,314C-PtP和314C-2DP。
一、模擬量輸入、輸出量程轉換的概念
實際的工程量,如壓力、溫度、流量、物位等要采用各種類型傳感器進行測量。傳感器將輸出標準電壓、電流、溫度、或電阻信號供 PLC 采集,PLC 的模擬量輸入模板將該電壓、電流、溫度、或電阻信號等模擬量轉換成數字量——整形數(INTEGER)。
在 PLC 程序內部要對相應的信號進行比較、運算時,常需將該信號轉換成實際物理值(對應于傳感器的量程)。而經程序運算后得到的結果要先轉換成與實際工程量對應的整形數,再經模擬量輸出模板轉換成電壓、電流信號去控制現場執行機構。這樣就需要在程序中調用功能塊完成量程轉換。
如一個壓力調節回路中,壓力變送器輸出 4-20mA DC 信號到 SM331 模擬量輸入模板,SM331 模板將該信號轉換成 0-27648 的整形數,然后在程序中要調用 FC105 將該值轉換成 0-10.0(MPa)的工程量(實數),經 PID 運算后得到的結果仍為實數,要用FC106 轉換為對應閥門開度 0-*的整形數 0-27648 后,經 SM332 模擬量輸出模板輸出 4-20mA DC 信號到調節閥的執行機構。
這樣就需要在程序中調用功能塊完成量程轉換。反向定標的實現是通過定義LO_LIM > HI_LIM 來實現的。在 PLC 程序內部要對相應的信號進行比較、運算時,常需將該信號轉換成實際物理值(對應于傳感器的量程)。
二、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 中就可以找到,見下圖:


注意:請不要使用 S5-S7 Converting Blocks 下的 FC105, FC106,該路徑下的功能是用于S5輸入輸出模板的,在 S7 輸入輸出模板上無法使用。
2、FC105、FC106 功能描述
在編程界面下選中該功能塊,按一下計算機鍵盤上的 F1 功能鍵,即可打開關于該功能塊的在線幫助,包括該功能塊的功能,管腳參數定義、例子程序等。建議用戶使用 STEP 7 在線幫助,可以提供全面的編程幫助。
解:4~20mA的模擬量對應于數字量5530~27648,即-600~600(0.1Pa)對應于數字量5530~27648,壓力的計算公式應為1.EX系列數字量模擬量輸入/輸出模塊EX模塊在化工等行業使用。S7-300的輸入/輸出模塊輸入/輸出模塊統稱為信號模塊(SM)。兩線式接近開關的漏電流小于輸入模塊允許的靜態電流,匯點輸入的電流流進輸入模塊,反之為源輸入電路。
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 的參數定義

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


錯誤信息:
如果輸入值在下限 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 來設置。


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


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