山東德州西門子PLC模塊代理商
安徽蕪湖西門子PLC模塊代理商
對于各組織塊中的程序,可以根據其復雜程度分別選用線性、分部或結構化等三種形式中的一種程序結構。由于組織塊OB1(主程序循環(huán))中的程序是應用程序中主要的也是復雜的部分,因此,對OB1中的程序設計合理的結構是十分重要的。下面分別說明三種典型結構的特點及選用原則。
1. 線性程序結構
用“線性"結構設計的程序連續(xù)放置在一個塊內(通常為OB1),塊中的程序按順序執(zhí)行。這一結構是初的PLC模擬的繼電器梯形邏輯的模型。線性程序具有簡單、直接的特點。編程時,不必考慮功能塊如何編程及如何調用,也不必考慮如何定義局部變量及如何使用背景數據塊。由于所有的指令在一個塊內,因此它適用于只需一個人編寫的、相對簡單的控制程序。
這是一種部分模塊化的程序結構,也稱為部分結構化。程序被分成各部分放在若干功能塊中,每個功能塊含有用于一種設備的一系列控制邏輯。放置在組織塊OB1中的指令決定控制程序的各功能塊的執(zhí)行。比如說,一個分部程序可能包含以下內容:
(1) 用于控制設備每一部分的FC;
(2) 用于控制設備每一工作狀態(tài)的FC;
(3) 用于控制操作員接口的FC;
(4) 用于進行PLC自診斷的FC。
在分部程序中,既無數據交換也沒有重復利用的程序代碼。各功能塊收集并使用自己的數據,功能塊不傳遞也不接收參數,功能塊的編程與調用比較簡單。由于每個功能區(qū)分為不同的塊,因而使得多個程序員能夠同時編程而不發(fā)生沖突。分部程序結構的編程效率比線性程序有所提高,程序測試也較方便,對程序員的要求也不太高。對不太復雜的控制程序可考慮采用這種程序結構。
3. 結構化程序結構
*結構化(模塊化)的程序結構是PLC程序設計和編程較有效的結構形式,它可用于復雜程度高、程序規(guī)模大的控制應用程序設計。結構化程序可以重復使用某些功能塊,只需要在使用功能塊時為其提供不同的環(huán)境變量(實參),就能完成對不同設備的控制。例如,在工業(yè)攪拌控制過程中有三臺泵,對它們的控制功能相似,可以編寫一個用于對泵進行控制的功能塊,編程時先定義泵控制所需的變量(形參),并使用這些變量構成一個稱為“泵控制"的一般功能塊。在調用該功能塊時,通過改變傳入功能塊中的參數(實參),可以分別對成分A、成分B和攪拌桶中的三臺泵進行控制。
結構化程序有高的編程和程序調試效率,應用程序代碼量也小。結構化程序也支持多個程序員協(xié)同編程。這種程序結構建立在對PLC系統(tǒng)功能的合理分析、分解及綜合的基礎之上,程序具體結構形式的確定與程序設計人員的水平及經驗關系很大,對程序員的要求也較前兩種高。
1. 將過程分割為任務和區(qū)域
一個自動化過程包括許多單個的任務,通過識別一個過程內的相關任務組,然后將這些組再分解為更小的任務,即使復雜的過程也能夠被定義。下面將這個工業(yè)攪拌過程構造為四個功能區(qū)域:配料A區(qū)域、配料B區(qū)域、混合罐區(qū)域和排料區(qū)域。
2. 說明各個功能區(qū)域
1) 配料A和配料B區(qū)域
(1) 每種配料的管道都配備有一個入口和一個進料閥以及進料泵。
(2) 進料管還有流量傳感器。
(3) 當罐的液面?zhèn)鞲衅髦甘竟逎M時,進料泵的接通必須被鎖定。
(4) 當排料閥打開時,進料泵的啟動必須被鎖定。
(5) 在啟動進料泵后1 s內必須打開入口閥和進料閥。
(6) 在進料泵停止后(來自流量傳感器的信號)閥門必須立即被關閉以防止配料從泵中泄露。
(7) 進料泵的啟動與一個時間監(jiān)控功能相結合,換句話說,在泵啟動后的7 s之內,流量傳感器會報告溢出。
(8) 當進料泵運行時,如果流量傳感器沒有流量信號,進料泵必須盡可能快地斷開。
(9) 必須對進料泵啟動的次數進行計數(維護間隔)。
2) 混合罐區(qū)域
(1) 當罐的液面?zhèn)鞲衅髦甘尽耙好娴陀诘拖?或排料閥打開時,攪拌電機的啟動必須被鎖定。
(2) 攪拌電機在達到額定速度時要發(fā)出一個響應信號。如果在電機啟動后10 s內還未接收到該信號,則電機必須被斷開。
(3) 必須對攪拌電機的啟動次數進行計數(維護間隔)。
(4) 在混合罐中必須安裝三個傳感器。① 罐裝滿:一個常閉觸點。當達到罐的高液面時,該觸點斷開。② 罐中液面高于低限:一個常開觸點。如果達到低限,該觸點關閉。③ 罐非空:一個常開觸點,如果罐不空,該觸點閉合。