趙銀玲,李治國(guó)(.西安職業(yè)技術(shù)學(xué)院機(jī)電工程系,西安,7003;.中航工業(yè)西安飛行自動(dòng)控制研究所,陜西西安,70065)
西門子PLC在數(shù)字信號(hào)處理當(dāng)中的應(yīng)用探究
趙銀玲1,李治國(guó)2
(1.西安職業(yè)技術(shù)學(xué)院機(jī)電工程系,西安,710032;2.中航工業(yè)西安飛行自動(dòng)控制研究所,陜西西安,710065)
文章介紹了西門子S7-300PLC的硬件組成,研究了其在DCS控制系統(tǒng)中的應(yīng)用,從實(shí)際應(yīng)用來(lái)看,控制的效果是令人滿意的。
工業(yè)控制系統(tǒng);DCS;PLC
可編程序控制器PLC是一種進(jìn)行數(shù)字運(yùn)算的電子系統(tǒng),是專為在工業(yè)環(huán)境下的應(yīng)用而設(shè)計(jì)的工業(yè)控制器。具有數(shù)學(xué)運(yùn)算、數(shù)據(jù)傳送、數(shù)據(jù)轉(zhuǎn)換、排序、查表、位操作等功能,可以完成數(shù)據(jù)的采集分析及處理。因其具有編程簡(jiǎn)單、使用方便,功能完善且對(duì)環(huán)境適應(yīng)性強(qiáng)等特點(diǎn),數(shù)據(jù)處理一般用于大型控制系統(tǒng),如無(wú)人控制的柔性制造系統(tǒng);同時(shí)也被廣泛應(yīng)用于鋼鐵、石油、化工、電力、造紙、環(huán)保以及文化娛樂(lè)等各行各業(yè)。
1.1 S7-300 PLC系統(tǒng)結(jié)構(gòu)
S7-300PLC功能強(qiáng)、速度快、擴(kuò)展靈活、它具有緊湊的、無(wú)槽位限制的模塊化結(jié)構(gòu)。他的主要組成部分有導(dǎo)軌(Rack)、電源模塊(PS)、CPU模塊、接口模塊(IM)、信號(hào)模塊(SM)和功能模塊(FM)??赏ㄟ^(guò)MPI網(wǎng)的接口(5611卡)直接與編程器PG,操作員面板OP和其它S7PLC相連。其工作過(guò)程為:CPU首先掃描輸入模塊狀態(tài),并更新輸入過(guò)程映像寄存器,然后執(zhí)行用戶程序,最后從輸出過(guò)程映像寄存器中將值輸出到輸出模塊,以此循環(huán)。
1.2 S7-300 PLC工作原理
循環(huán)掃描工作過(guò)程:與其它計(jì)算機(jī)系統(tǒng)一樣,PLC的CPU采用分時(shí)操作原理,每一時(shí)刻執(zhí)行一個(gè)操作,隨著時(shí)間的延伸一個(gè)動(dòng)作接一個(gè)動(dòng)作順序地進(jìn)行掃描。CPU從第一條指令開(kāi)始,順序逐條地執(zhí)行用戶程序,直到用戶程序轉(zhuǎn)來(lái),然后返回到第一條指令開(kāi)始新一輪掃描。掃描周期一般為1-100ms。
1.3 S7-300 PLC程序結(jié)構(gòu)
STEP 7 有三種編程方法可供選用,它們是線性編程、分部式編程和結(jié)構(gòu)化編程。線性編程將整個(gè)用戶程序?qū)懺谝粋€(gè)指令連續(xù)的塊中,處理器線性地或順序地掃描程序的每條指令。該方法適用于比較簡(jiǎn)單的控制任務(wù)。分部式編程將用戶程序分成相對(duì)獨(dú)立的指令塊,每個(gè)塊包含給定的部件組或作業(yè)組的控制邏輯。
2.1 模擬量信號(hào)的采樣
在工業(yè)控制現(xiàn)場(chǎng),被控變量往往分布在生產(chǎn)現(xiàn)場(chǎng)的各個(gè)地方,因而計(jì)算機(jī)的工作環(huán)境惡劣,遭受干擾頻繁。這些干擾將會(huì)影響控制系統(tǒng)的測(cè)控精度,因此必須將其濾除,以下以對(duì)工業(yè)現(xiàn)場(chǎng)信號(hào)采樣并進(jìn)行平滑處理的實(shí)例來(lái)具體說(shuō)明S7-300PLC的具體應(yīng)用。該實(shí)例從兩方面入手,先是采樣現(xiàn)場(chǎng)受干擾的信號(hào),然后通過(guò)在程序中設(shè)置對(duì)其進(jìn)行平滑處理。
一些S7-300 PLC的控制系統(tǒng)中,使用八通道模擬量模塊采集信號(hào),當(dāng)模塊數(shù)量較多時(shí),讀模擬輸入量就很繁瑣。但是我們可以通過(guò)軟件設(shè)計(jì),方便地把模擬量讀回并順序存入數(shù)據(jù)塊中。我們可以定義:FC1——采樣子程序。
表1 FC1的變量聲明表如下:
(1) FC1的變量聲明表如下:
(2) S7-300 PLC的語(yǔ)句表(STL)編寫(xiě)的采樣程序如下:
L #DB_No //傳送數(shù)據(jù)塊塊號(hào)
T LW 0 //保存數(shù)據(jù)塊塊號(hào)
OPN DB [LW 0] //打開(kāi)存儲(chǔ)數(shù)據(jù)塊
L #PIW_Addr //模入模塊通道起始地址
SLD 3 //左移三位形成地址指針
T LD 4 //保存地址指針
L #DBW_Addr //存儲(chǔ)在數(shù)據(jù)塊中的起始地址
SLD 3 //左移三位形成地址指針
T LD 8 //保存地址指針
L #DB_LEN //要讀入的通道數(shù)作為循環(huán)次數(shù)
Next: T LW 0 //保存通道數(shù)
L LD 4 //將地址指針?biāo)腿肜奂悠?/p>
LAR1 //將地址指針?biāo)腿階R1
L PIW [AR1, P#0.0] //地址指針加上偏移量
T LW 12
L LD 8
LAR1
L LW 12
T DBW [AR1, P#0.0]
L LD 4
+ L#16
T LD 4
L LD 8
+ L#16
T LD 8
L LW 0
LOOP Next
在調(diào)用這個(gè)程序時(shí)還要注意以下幾個(gè)問(wèn)題:(1)讀模擬量輸入模塊數(shù)據(jù)通道是否從數(shù)據(jù)字的第零位開(kāi)始;(2)過(guò)程量的最大測(cè)量范圍;(3)數(shù)字量的有效值范圍。
2.2 PLC對(duì)信號(hào)的平滑處理