當我們在實際的應用中需要對目前的溫度或是壓力進行采集顯示的時候,我們需要用到模拟量子產品來對模拟量信号進行采集,在這裡我們以S7-200smart PLC的EMAE04模拟輸入子產品為例來說明如何使用這個子產品來采集溫度或是壓力。 例如:現需要實時監控發電機機組的溫度,假設變送器輸出的信号為0到10V的電壓信号,最大溫度值為150。最小溫度值為0度。
要完成正确讀取實際的溫度值,需要進行以下三步操作:
第一、正确的接線
第二、正确的硬體組态
第三、編寫正确的程式
1、按照變送器提供的信号輸出接線方式進行正确的接線,對于EMAE04子產品的信号接入如圖所示:
若變送器為三線制輸出的變送器,則接線時,先把變送器的24V電源接上,變送器上的信号輸出接端0+,0-端子接24V電源負
2、打開S7-200smart的程式設計軟體,打開其系統 塊對其進行硬體組态。如圖所示:
注意:對于信号類型的選擇,通道0的設定對通道1的設定也有效,通道2的設定對通道3 也同樣有效。
3、編寫轉換程式
S7-200smartPLC來說其最大的數字量為27648。我們可以根據其得到的數字量的大小轉換成我們實際的溫度值。 對其轉換程式,我們可以使用S7-200中的scaling模拟量轉換庫,使用庫移植的方法把其移植到S7-200smart的軟體中。其移植方法可以參考前面所介紹的内容。
Input :表示需要轉換的數字量,即采樣所的數字量
Ish:換算對象的高限,即最大模拟量所對應的數字量值(27648)
Isl: 換算對象的低限,即最小模拟量所對應的數字量值(0)
Osh:換算結果的高限,即測量範圍最大值
Osl:換算結果的底限,即測量範圍最小值。
VD100:換算結果所存儲的值。
SCALE(V1.0)庫檔案的使用
以下公式由計算換算值的圖表中得出:Ov= (Osh - Osl) / (Ish - Isl) * (Iv - Isl)+ Osl "Scale" 庫的描述:"scale.mwl" 庫包括從 INTEGER(整數)到 REAL (S_ITR)(實數)、從REAL(實數) to REAL (S_RTR)(實數)及從REAL(實數)到 INTEGER (S_RTI)(整數)類型資料的比例換算。
3.2 模拟量輸入換算為REAL資料格式的輸出值 (S_ITR): S_ITR 功能塊可用來将模拟量輸入信号轉換成0.0到1.0之間的标麼值( 類型 REAL )。
此調用為4-20MA的偏移量,讀入模拟量轉換為0.0-1.0之間的量程存入到VD100
3.3 REAL格式資料比例換算(S_RTR): S_RTR 功能塊可用來轉換在範圍内的REAL 格式的值(例如将0.0 到1.0輸入值轉化為百分數輸出)。
本子程式調用為前面讀取來的0.0-1.0量程轉換為百分比0-100數值轉出到DV200
3.4轉換為 INTEGER格式資料的模拟量輸出(S_RTI): S_RTI 功能塊可用來将 REAL 數轉換為 INTEGER資料類型的模拟量輸出。
本子程式調用:把模拟量量程0.0-1.0 數字轉換成0-20MA的信号輸出
模拟量子產品的一點說明:在模拟量子產品的拔碼開關對應的數字ON/OFF表達不同的量程(
輸入範圍 :
電壓(單極性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV
電壓(雙極性)±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV 電流0~20mA
資料字格式 :
雙極性 全量程範圍-32000~+32000
單極性 全量程範圍0~32000
分辨率 :
12位A/D轉換器
模拟量輸出特性:
模拟量輸出點數 1
信号範圍 :
電壓輸出 ±10V
電流輸出0~20mA
資料字格式:
電壓-32000~+32000
電流0~32000
分辨率電流:
電壓12位
電流11位
,在不同量程下,讀取或輸出得到不同的結果。 一次函數表達示:Y=KX+b(不過原點),Y=KX(過原點