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