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