趙銀玲,李治國(.西安職業技術學院機電工程系,西安,7003;.中航工業西安飛行自動控制研究所,陜西西安,70065)
西門子PLC在數字信號處理當中的應用探究
趙銀玲1,李治國2
(1.西安職業技術學院機電工程系,西安,710032;2.中航工業西安飛行自動控制研究所,陜西西安,710065)
文章介紹了西門子S7-300PLC的硬件組成,研究了其在DCS控制系統中的應用,從實際應用來看,控制的效果是令人滿意的。
工業控制系統;DCS;PLC
可編程序控制器PLC是一種進行數字運算的電子系統,是專為在工業環境下的應用而設計的工業控制器。具有數學運算、數據傳送、數據轉換、排序、查表、位操作等功能,可以完成數據的采集分析及處理。因其具有編程簡單、使用方便,功能完善且對環境適應性強等特點,數據處理一般用于大型控制系統,如無人控制的柔性制造系統;同時也被廣泛應用于鋼鐵、石油、化工、電力、造紙、環保以及文化娛樂等各行各業。
1.1 S7-300 PLC系統結構
S7-300PLC功能強、速度快、擴展靈活、它具有緊湊的、無槽位限制的模塊化結構。他的主要組成部分有導軌(Rack)、電源模塊(PS)、CPU模塊、接口模塊(IM)、信號模塊(SM)和功能模塊(FM)。可通過MPI網的接口(5611卡)直接與編程器PG,操作員面板OP和其它S7PLC相連。其工作過程為:CPU首先掃描輸入模塊狀態,并更新輸入過程映像寄存器,然后執行用戶程序,最后從輸出過程映像寄存器中將值輸出到輸出模塊,以此循環。
1.2 S7-300 PLC工作原理
循環掃描工作過程:與其它計算機系統一樣,PLC的CPU采用分時操作原理,每一時刻執行一個操作,隨著時間的延伸一個動作接一個動作順序地進行掃描。CPU從第一條指令開始,順序逐條地執行用戶程序,直到用戶程序轉來,然后返回到第一條指令開始新一輪掃描。掃描周期一般為1-100ms。
1.3 S7-300 PLC程序結構
STEP 7 有三種編程方法可供選用,它們是線性編程、分部式編程和結構化編程。線性編程將整個用戶程序寫在一個指令連續的塊中,處理器線性地或順序地掃描程序的每條指令。該方法適用于比較簡單的控制任務。分部式編程將用戶程序分成相對獨立的指令塊,每個塊包含給定的部件組或作業組的控制邏輯。
2.1 模擬量信號的采樣
在工業控制現場,被控變量往往分布在生產現場的各個地方,因而計算機的工作環境惡劣,遭受干擾頻繁。這些干擾將會影響控制系統的測控精度,因此必須將其濾除,以下以對工業現場信號采樣并進行平滑處理的實例來具體說明S7-300PLC的具體應用。該實例從兩方面入手,先是采樣現場受干擾的信號,然后通過在程序中設置對其進行平滑處理。
一些S7-300 PLC的控制系統中,使用八通道模擬量模塊采集信號,當模塊數量較多時,讀模擬輸入量就很繁瑣。但是我們可以通過軟件設計,方便地把模擬量讀回并順序存入數據塊中。我們可以定義:FC1——采樣子程序。
表1 FC1的變量聲明表如下:

(1) FC1的變量聲明表如下:

(2) S7-300 PLC的語句表(STL)編寫的采樣程序如下:
L #DB_No //傳送數據塊塊號
T LW 0 //保存數據塊塊號
OPN DB [LW 0] //打開存儲數據塊
L #PIW_Addr //模入模塊通道起始地址
SLD 3 //左移三位形成地址指針
T LD 4 //保存地址指針
L #DBW_Addr //存儲在數據塊中的起始地址
SLD 3 //左移三位形成地址指針
T LD 8 //保存地址指針
L #DB_LEN //要讀入的通道數作為循環次數
Next: T LW 0 //保存通道數
L LD 4 //將地址指針送入累加器
LAR1 //將地址指針送入AR1
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
在調用這個程序時還要注意以下幾個問題:(1)讀模擬量輸入模塊數據通道是否從數據字的第零位開始;(2)過程量的最大測量范圍;(3)數字量的有效值范圍。
2.2 PLC對信號的平滑處理