在PLC 編程中,遇到最多的就是將現場的模擬量信號轉化為實際的工程值,如將0~20mA / 4~20mA / 0~10V等現場變送器的電流或者電壓信號轉化為 0~10MPa,0~100℃等工程值,對于西門子 S7-300/400,可以使用 FC105 / FC106 來實現轉化,對于 S7-200/SMART200 可以使用SCALING 庫程序就行轉化,當然也可以根據相應的轉化關系自己寫更加符合現場要求的,具有更多功能的子程序,FC/FB塊,那么對于新手如何使用博圖 TIA 快速實現呢???
第一種方法:自己編寫程序進行轉化
大家都知道模擬量轉化的通用公式是:Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl Ov: 換算結果,如溫度的工程值50℃; Iv:換算對象,為模擬量模塊采集上來的值; Osh:換算結果的高限,如100℃; Osl :換算結果的底限,如0℃;
Ish :換算對象的高限,如27648; Isl :換算對象的低限,如0;
然后使用 CONVERT 和 CALCULATE 指令來完成,CONVERT用來將模擬量模塊采集的數據 0~27648 的 int 類型轉化為實數類型 Real , 如圖:
然后使用將轉化后的實數使用 CALCULATE 進行數學運算,即根據公式 :Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl ,如圖寫入公式:
這樣自己編寫的程序就可以實現模擬量信號轉化為工程值,當然也可以加入對信號的處理,如對信號的處理,小于0或者大于27648進行直接賦值為0或者27648,以及進行報警處理等。
第二種方法:使用“ SCALE_X ” 和 “ NORM_X ” 指令來轉換模擬量值 SCALE_ X 為“縮放” ,NORM_X 為“標準化”。功能塊位于 TIAPortal指令的“轉換操作”中。功能與參數的詳細說明參考 幫助。若要取得某個功能塊的在線幫助。
計算公式: SCALE_X_OUT = [(NORM_X_VALUE - NORM_X_MIN)/(NORM_X_MAX - NORM_X_MIN)] * (SCALE_X_MAX - SCALE_X_MIN) + SCALE_X_MIN NORM_X中,上下限分別為 MAX=27648 和MIN=0 ,SCALE_X中量程轉化后對應于 MAX=80 和 Min=0。輸入值為整數數據類型,量程轉化后輸出值為實數數據類型。NORM_X_VALUE對應模擬量模塊采集的值。
至此,西門子博圖 TIA 平臺上的模擬量轉化講解完了,具體應用需要根據現場要求就行,這里只是簡單的量程轉化,實際應用了需要對輸入信號進行提前處理如濾波處理等,做相關的報警處理。
審核編輯 :李倩
-
plc
+關注
關注
5013文章
13327瀏覽量
464067 -
模擬量
+關注
關注
5文章
491瀏覽量
25579 -
S7-1200
+關注
關注
11文章
331瀏覽量
18010
原文標題:【分享】西門子 S7-1200 模擬量轉換
文章出處:【微信號:中泰PLC自動化教學,微信公眾號:中泰PLC自動化教學】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論