發(fā)布時(shí)間:2019-08-24 來(lái)源:眾智博遠(yuǎn)
在S7-1200 CPU中,如何實(shí)現(xiàn)模擬量數(shù)值與工程量數(shù)值之間的轉(zhuǎn)換?
本文檔提供了程序庫(kù)例程FC105,FC106,用戶可以使用它們將模擬量輸入/輸出的整數(shù)數(shù)值與工程量單位之間進(jìn)行轉(zhuǎn)換。用戶需要將此例程安裝到程序庫(kù)中。
圖1
步驟3:選擇“analog_convert”庫(kù)所解壓的文件夾。
圖2
步驟4:在添加程序庫(kù)后,F(xiàn)C105(SCALE),F(xiàn)C106(UNSCALE)即可以被添加到用戶程序中。
圖3
參數(shù)解釋:
1. 用戶可以使用本例子所提供的FC105將模擬量輸入模板的整數(shù)數(shù)值轉(zhuǎn)換為工程量數(shù)值。對(duì)于FC105的輸入/輸出參數(shù)解釋如下:
參數(shù) | 類型 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
EN | 輸入 | BOOL | I, Q, M, D, L | 信號(hào)狀態(tài) “1”,該塊。 |
ENO | 輸出 | BOOL | I, Q, M, D, L | 塊執(zhí)行無(wú)錯(cuò)誤時(shí),輸出信號(hào)狀態(tài) “1”。 |
IN | 輸入 | INT | I, Q, M, D, L,常數(shù) | 需轉(zhuǎn)化的整數(shù)輸入值。 |
HI_LIM | 輸入 | REAL | I, Q, M, D, L,常數(shù) | 物理單位的高限值。 |
LO_LIM | 輸入 | REAL | I, Q, M, D, L,常數(shù) | 物理單位的低限值。 |
BIPOLAR | 輸入 | BOOL | I, Q, M, D, L,常數(shù) | 信號(hào)狀態(tài)“1” 表示雙極性輸入值。 |
信號(hào)狀態(tài)“0” 表示單極性輸入值。 | ||||
OUT | 輸出 | REAL | I, Q, M, D, L, | 轉(zhuǎn)化后的工程量結(jié)果。 |
RET_VAL | 輸出 | WORD | Q, M, D, L, | 當(dāng)操作沒(méi)有錯(cuò)誤,輸出值 W#16#0000。 |
表1:FC105 參數(shù)
參數(shù)轉(zhuǎn)化關(guān)系:
OUT = [((FLOAT (IN) – K1)/ (K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM
注意:如果用戶使用的輸入/輸出類型為雙極性(如±10V,±5V等),BIPOLAR參數(shù)應(yīng)當(dāng)給定為TRUE,此時(shí)K1=-27648,K2=27648,否則K1=0,K2=27648。
例如:假設(shè)模擬量模塊所接傳感器為0-20mA 類型,其測(cè)量對(duì)象為溫度,當(dāng)溫度為0℃時(shí)電流為0 mA,當(dāng)溫度為100℃時(shí)電流為20 mA。此時(shí)模擬量輸入模塊的對(duì)應(yīng)數(shù)值0 mA對(duì)應(yīng)為0,20 mA對(duì)應(yīng)為27648。如果當(dāng)前電流值為10 mA,則模擬量模塊的輸入值為13824,如果用戶希望在CPU中一個(gè)終的實(shí)際溫度值,則可以調(diào)用FC105,將模擬量輸入模塊的數(shù)值賦給參數(shù)IN,工程量上限值給定為100.0,下限值給定為0.0,即可在輸出參數(shù)OUT實(shí)際溫度值50℃。
圖4:FC105 使用例子
2. 用戶可以使用本例子所提供的FC106將工程量值轉(zhuǎn)換為模擬量輸出模板所需要的數(shù)值。
對(duì)于FC106的輸入/輸出參數(shù)解釋如下:
參數(shù) | 類型 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 描述 |
EN | 輸入 | BOOL | I, Q, M, D, L | 信號(hào)狀態(tài) “1”,該塊。 |
ENO | 輸出 | BOOL | I, Q, M, D, L | 塊執(zhí)行無(wú)錯(cuò)誤時(shí),輸出信號(hào)狀態(tài) “1”。 |
IN | 輸入 | INT | I, Q, M, D, L,常數(shù) | 工程量給定值。 |
HI_LIM | 輸入 | REAL | I, Q, M, D, L,常數(shù) | 物理單位的高限值。 |
LO_LIM | 輸入 | REAL | I, Q, M, D, L,常數(shù) | 物理單位的低限值。 |
BIPOLAR | 輸入 | BOOL | I, Q, M, D, L,常數(shù) | 信號(hào)狀態(tài)“1” 表示雙極性輸入值。 |
信號(hào)狀態(tài)“0” 表示單極性輸入值。 | ||||
OUT | 輸出 | REAL | I, Q, M, D, L, | 轉(zhuǎn)化后的整數(shù)結(jié)果。 |
RET_VAL | 輸出 | WORD | Q, M, D, L, | 當(dāng)操作沒(méi)有錯(cuò)誤,輸出值 W#16#0000。 |
表2:FC106 參數(shù)
參數(shù)轉(zhuǎn)化關(guān)系:
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
注意:如果用戶使用的輸入/輸出類型為雙極性(如±10V等),BIPOLAR參數(shù)應(yīng)當(dāng)給定為TRUE,此時(shí)K1=-27648,K2=27648,否則K1=0,K2=27648。
例如:假設(shè)模擬量輸出模塊輸出設(shè)置為0-20mA 類型,其所連接的執(zhí)行器為調(diào)節(jié)閥。當(dāng)電流為0 mA時(shí)閥門開度為百分之0,當(dāng)電流為20 mA時(shí)閥門開度為百分之五十。如果用戶希望閥門開度為百分之五十,則可以調(diào)用FC106,將開度給定值賦給參數(shù)IN,工程量上限值給定為100.0,下限值給定為0.0,將模擬量輸出模塊的地址賦給參數(shù)OUT,此時(shí)OUT數(shù)值為13824,即可使模擬量輸出模塊輸出電流值為10 mA,即閥門開度為百分之五十。
圖5:FC106 使用例子