|
說明:上一篇文章,談到了量程轉換的初級篇,主要是針對有明確功能用途的使用者,同時要求不高的使用。比較簡單實用。但是在實際使用中,初級篇的內容可能滿足不了用戶需求,比如,用戶需要高報警,低報警等功能,如果我們把這些功能集成封裝在一個FB塊或者FC塊中,使用起來會更加方便。為此,本人將以S7-200SMART PLC為原型,詳細介紹模擬量轉換的中級內容,讀者可以依葫蘆畫瓢,套用在其他PLC上。僅供參考,歡迎指正。 模擬量轉換 中級篇 一、課程設計 本課程詳細講解了S7-200SMART系列模擬量一般轉換。在此基礎上新增高報警、低報警功能。 注:本程序以S7-200SMART系列PLC為原型,該系列PLC的局部存儲器有限制,因此程序中未加高高報警和低低報警的相關功能。讀者可以根據(jù)實際情況,依葫蘆畫瓢,在其他PLC上加上該功能。 二、課程內容 在S7-200SMART的編程軟件中,沒有專門用于模擬量量程轉換的功能塊,要實現(xiàn)將模擬量模塊通道采集上來數(shù)據(jù)轉換為實際工程中的工程量:如0~10MPa。這需要工程師自己做一個量程轉換的功能。通常,為了引用的方便,習慣的把量程轉換這樣的功能做出一個子程序,并賦予相應的參數(shù),這樣就可以多次方便的對該功能的調用。 三、S7-200SMART模擬量卡通道描述 1、信號類型:電壓信號或者電流信號,二者選其一; 2、信號范圍:-10v~+10v或者0~20mA; 3、通道極性:雙極性和單極性; 4、極性取值:雙極性取值:-27648~27648;單極性取值:0~27648; 四、程序設計 在實際工程運用中,我們所常用的模擬量信號為電流信號,信號范圍為4~20mA。本課程設計以電流信號4~20mA為例子來設計程序。 因此,在S7-200SMART中0~20mA信號對應的取值為0~27648,要將該取值轉換為4~20mA時對應的取值范圍為:5530~27648。 設:輸入變量為:IN; 數(shù)據(jù)類型:整型 輸出變量為:OUT; 數(shù)據(jù)類型:浮點型 輸入最小值:Imin; 數(shù)據(jù)類型:浮點型(為了簡化程序,輸入時帶上小數(shù),如5530.0即可) 輸入最大值:Imax; 數(shù)據(jù)類型:浮點型(為了簡化程序,輸入時帶上小數(shù),如27648.0即可) 輸出最小值:Omin; 數(shù)據(jù)類型:浮點型 輸出最大值:Omax; 數(shù)據(jù)類型:浮點型 高報設定:SP_H; 數(shù)據(jù)類型:浮點型 低報設定:SP_L; 數(shù)據(jù)類型:浮點型 輸出高報:ALM_H; 數(shù)據(jù)類型:布爾型 輸出低報:ALM_L; 數(shù)據(jù)類型:布爾型 計算公式:由線性變換公式得: 公式1 從上述公式并結合實際工程中的應用,在軟件編程中將會使用到的功能塊有: 減法塊、整型轉化為雙整型塊、雙整型轉浮點型塊、浮點數(shù)乘法塊、浮點數(shù)除法塊,浮點型加法塊。 五、程序編寫 1、利用公式①編寫程序 (1)過程解析:輸入變量IN:將輸入變量轉換為雙整型數(shù)據(jù),結果存放在OUT1中,數(shù)據(jù)類型為雙整型;將OUT1變量轉換為實型數(shù)據(jù)存放在變量OUT2中,數(shù)據(jù)類型為實型;將變量OUT2減去Imin結果存放在OUT3中,數(shù)據(jù)類型為實型;將Omax減去Omin結果存放在OUT4中,數(shù)據(jù)類型為實型;將OUT3乘以OUT4結果存放在變量OUT5中,數(shù)據(jù)類型為實型數(shù)據(jù);將Imax減去Imin的結果存放在OUT6中,數(shù)據(jù)類型為實型; OUT5除以OUT6的結果存在OUT7中,數(shù)據(jù)類型為實型數(shù)據(jù);將OUT7加上Omin的結果才能存放在OUT中,數(shù)據(jù)類型為實型;OUT為工程單位所需的數(shù)值。 OUT值大于等于高報設定值SP_H時,輸出高報ALM_H為1;OUT值小于等于低報警設定值SP_L時,輸出低報ALM_L為1。 在程序編寫過程中,為了保證程序執(zhí)行的可行性和安全性,設置定數(shù)值時需要保證以下注意事項: ①Imin小于Imax;Omax大于等于Omin; ②SP_H大于等于SP_L; 注明:實型數(shù)據(jù)和浮點型數(shù)據(jù)是一個意思,占用的地址空間和數(shù)據(jù)格式相同。本程序旨在設計一個工程單位量程轉換子程序,可以在主程序中進行調用,同時使用于西門子PLC全系列。 (2)程序編寫 程序 六、程序結論 在編寫該系列PLC程序時,如果是子程序同時定義的是局部變量,要主要局部地址的限制,如果在做程序設計時,變量過多,會在編寫程序是造成調用局部變量出錯,因為在建立局部變量是,系統(tǒng)會自動為局部變量分配局部地址。對S7-200SMART系列的PLC,局部存儲器地址范圍:LB0~LB63。 |
|
|
來自: 龍之吻6iinxl8c > 《運動控制PLC相關》