在S7-1200 CPU中,如何實現模擬量數值與工程量數值之間的轉換?本例程中的程序使用類似於STEP7 中提供的FC105/106.用戶可以使用它們將模擬量輸入/輸出的整數數值與工程量單位之間進行轉換。用戶需要將此例程安裝到程序庫中。
步驟1:在西門子網站下載解壓縮"analog_convert.rar"( ( 307 KB ) )文件到一個文件夾。
步驟2:打開STEP7 Basic中的"Libraries Tab", 點擊"Open global library"圖標
步驟1:解壓縮「analog_convert.rar」文件到一個文件夾。步驟2:打開STEP7 Basic中的「Libraries Tab」, 點擊「Open global library」圖標
步驟3:選擇「analog_convert」庫所解壓的文件夾。
步驟4:在添加程序庫後,FC105(SCALE),FC106(UNSCALE)即可以被添加到用戶程序中。
參數解釋:
1. 用戶可以使用本例子所提供的FC105將模擬量輸入模板的整數數值轉換為工程量數值。對於FC105的輸入/輸出參數解釋如下:
表1:FC105 參數
參數轉化關係:OUT = [((FLOAT (IN) – K1)/ (K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM注意:如果用戶使用的輸入/輸出類型為雙極性(如±10V,±5V等),BIPOLAR參數應當給定為TRUE,此時K1=-27648,K2=27648,否則K1=0,K2=27648。
例如:假設模擬量模塊所接傳感器為0-20mA 類型,其測量對象為溫度,當溫度為0℃時電流為0 mA,當溫度為100℃時電流為20 mA。此時模擬量輸入模塊得到的對應數值0 mA對應為0,20 mA對應為27648。如果當前電流值為10 mA,則模擬量模塊得到的輸入值為13824,如果用戶希望在CPU中得到一個最終的實際溫度值,則可以調用FC105,將模擬量輸入模塊的數值賦給參數IN,工程量上限值給定為100.0,下限值給定為0.0,即可在輸出參數OUT得到實際溫度值50℃。
FC 105 「SCALE」功能用於測量電壓、電流、溫度和電阻信號。
以下應用於溫度測量:
熱電阻(配置為標準範圍)和熱電偶,模擬量輸入值是對應實際溫度值的10倍。例如: 整數值 600 對應於溫度 60.0°C。設置參數高限 HI_LIM 和低限 LO_LIM 為 +2764.8 和 -2764.8 ,即對應於整數值除以10。 氣候範圍的熱電阻,模擬量值是溫度值的 100 倍。 例如:整數值 2500 對應於溫度 25.0°C。設置參數高限 HI_LIM 和 低限LO_LIM 為 +276.48 和 -276.48,即對應於整數值除以100。以下應用於電流測量(舉例壓力傳感器):
配置測量範圍 4 到 20mA(0 到 5 bar)例如:整數值 27648 對應於 20mA(5 bar),整數值 0 對應於 4mA(0 bar)。因此, 參數化高限 HI_LIM 為 5.0,低限 LO_LIM 為 0.0,獲得恰當的比例轉化。標定值功能 FC 105 「SCALE」 轉化一個整數值成一個實數值。在低限和高限之間(LO_LIM 和 HI_LIM),標定成物理單位值,結果輸出到 OUT 參數。如果整數輸入值不在特定的範圍內 (BIPOLAR 或 UNIPOLAR),輸出值 (OUT) 被輸出為一個最近接範圍 (LO_LIMH 或 HI_LIM))的值,並且輸出一個錯誤。
測量範圍:
BIPOLAR: 它假定整數輸入值在 -27648 到 27648 之間。UNIPOLAR: 它假定整數輸入值在 0 到 27648 之間。FC 105 參數:
2. 用戶可以使用本例子所提供的FC106將工程量值轉換為模擬量輸出模板所需要的數值。
對於FC106的輸入/輸出參數解釋如下:
表2:FC106 參數
參數轉化關係:OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1注意:如果用戶使用的輸入/輸出類型為雙極性(如±10V等),BIPOLAR參數應當給定為TRUE,此時K1=-27648,K2=27648,否則K1=0,K2=27648。
例如:假設模擬量輸出模塊輸出設置為0-20mA 類型,其所連接的執行器為調節閥。當電流為0 mA時閥門開度為0%,當電流為20 mA時閥門開度為100%。如果用戶希望閥門開度為50%,則可以調用FC106,將開度給定值賦給參數IN,工程量上限值給定為100.0,下限值給定為0.0,將模擬量輸出模塊的地址賦給參數OUT,此時OUT數值為13824,即可使模擬量輸出模塊輸出電流值為10 mA,即閥門開度為50%。