在S7-1200 CPU中,如何實(shí)現(xiàn)模擬量數(shù)值與工程量數(shù)值之間的轉(zhuǎn)換?
本文檔提供了程序庫例程FC105,FC106,用戶可以使用它們將模擬量輸入/輸出的整數(shù)數(shù)值與工程量單位之間進(jìn)行轉(zhuǎn)換。用戶需要將此例程安裝到程序庫中。
圖1
步驟3:選擇“analog_convert”庫所解壓的文件夾。
圖2
步驟4:在添加程序庫后,F(xiàn)C105(SCALE),F(xiàn)C106(UNSCALE)即可以被添加到用戶程序中。
圖3
參數(shù)解釋:
1. 用戶可以使用本例子所提供的FC105將模擬量輸入模板的整數(shù)數(shù)值轉(zhuǎn)換為工程量數(shù)值。對于FC105的輸入/輸出參數(shù)解釋如下:
參數(shù)類型數(shù)據(jù)類型存儲區(qū)描述EN輸入BOOLI, Q, M, D, L信號狀態(tài) “1”,激活該塊。ENO輸出BOOLI, Q, M, D, L 塊執(zhí)行無錯誤時,輸出信號狀態(tài) “1”。 IN輸入INTI, Q, M, D, L,常數(shù) 需轉(zhuǎn)化的整數(shù)輸入值。HI_LIM輸入REALI, Q, M, D, L,常數(shù)物理單位的高限值。LO_LIM輸入REALI, Q, M, D, L,常數(shù)物理單位的低限值。BIPOLAR輸入BOOLI, Q, M, D, L,常數(shù)信號狀態(tài)“1” 表示雙極性輸入值。信號狀態(tài)“0” 表示單極性輸入值。OUT輸出REALI, Q, M, D, L,轉(zhuǎn)化后的工程量結(jié)果。RET_VAL輸出WORDQ, M, D, L,當(dāng)操作沒有錯誤,輸出值 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,此時K1=-27648,K2=27648,否則K1=0,K2=27648。
例如:假設(shè)模擬量模塊所接傳感器為0-20mA 類型,其測量對象為溫度,當(dāng)溫度為0℃時電流為0 mA,當(dāng)溫度為100℃時電流為20 mA。此時模擬量輸入模塊得到的對應(yīng)數(shù)值0 mA對應(yīng)為0,20 mA對應(yīng)為27648。如果當(dāng)前電流值為10 mA,則模擬量模塊得到的輸入值為13824,如果用戶希望在CPU中得到一個最終的實(shí)際溫度值,則可以調(diào)用FC105,將模擬量輸入模塊的數(shù)值賦給參數(shù)IN,工程量上限值給定為100.0,下限值給定為0.0,即可在輸出參數(shù)OUT得到實(shí)際溫度值50℃。
圖4:FC105 使用例子
2. 用戶可以使用本例子所提供的FC106將工程量值轉(zhuǎn)換為模擬量輸出模板所需要的數(shù)值。
對于FC106的輸入/輸出參數(shù)解釋如下:
參數(shù)類型數(shù)據(jù)類型存儲區(qū)描述EN輸入BOOLI, Q, M, D, L信號狀態(tài) “1”,激活該塊。ENO輸出BOOLI, Q, M, D, L 塊執(zhí)行無錯誤時,輸出信號狀態(tài) “1”。 IN輸入INTI, Q, M, D, L,常數(shù) 工程量給定值。HI_LIM輸入REALI, Q, M, D, L,常數(shù)物理單位的高限值。LO_LIM輸入REALI, Q, M, D, L,常數(shù)物理單位的低限值。BIPOLAR輸入BOOLI, Q, M, D, L,常數(shù)信號狀態(tài)“1” 表示雙極性輸入值。信號狀態(tài)“0” 表示單極性輸入值。OUT輸出REALI, Q, M, D, L,轉(zhuǎn)化后的整數(shù)結(jié)果。RET_VAL輸出WORDQ, M, D, L,當(dāng)操作沒有錯誤,輸出值 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,此時K1=-27648,K2=27648,否則K1=0,K2=27648。
例如:假設(shè)模擬量輸出模塊輸出設(shè)置為0-20mA 類型,其所連接的執(zhí)行器為調(diào)節(jié)閥。當(dāng)電流為0 mA時閥門開度為0%,當(dāng)電流為20 mA時閥門開度為100%。如果用戶希望閥門開度為50%,則可以調(diào)用FC106,將開度給定值賦給參數(shù)IN,工程量上限值給定為100.0,下限值給定為0.0,將模擬量輸出模塊的地址賦給參數(shù)OUT,此時OUT數(shù)值為13824,即可使模擬量輸出模塊輸出電流值為10 mA,即閥門開度為50%。
圖5:FC106 使用例子
聯(lián)系客服