張朝++徐正芳++曹國豪
摘 要本文采用結(jié)構(gòu)化思想的可編程控制器程序設(shè)計方法,以排氣分離控制系統(tǒng)為例詳細介紹了在PLC程序設(shè)計中如何構(gòu)造功能塊和塊的封裝及軟件設(shè)計。最后深入地分析了結(jié)構(gòu)化方法在PLC軟件設(shè)計中的優(yōu)越性。
【關(guān)鍵詞】PLC 結(jié)構(gòu)化
1 概述
隨著計算機技術(shù)的發(fā)展,面向?qū)ο蟮募夹g(shù)不斷發(fā)展成熟,在各個領(lǐng)域都得到了廣泛應(yīng)用。本文以某二氧化碳分離控制系統(tǒng)為例,克服結(jié)構(gòu)化方法帶來的弊端,從而提高系統(tǒng)的可靠性。二氧化碳分離控制系統(tǒng)是整個系統(tǒng)的核心和大腦,而控制軟件是控制功能實現(xiàn)的核心,本文主要介紹整個系統(tǒng)控制軟件的需求分析、功能塊抽象及實現(xiàn)和控制軟件實現(xiàn)的過程。
2 系統(tǒng)分析
根據(jù)系統(tǒng)執(zhí)行器狀態(tài)又可以將排氣分離控制系統(tǒng)主要分為:氣動閥控制,壓縮機速度控制、潤滑油泵泵的控制、冷凝水電磁閥控制、伺服驅(qū)動器通訊、變量采集、安全報警等七部分。按照面向?qū)ο蟪绦蛟O(shè)計的思想,將系統(tǒng)按照執(zhí)行器狀態(tài)進行分類,更方便系統(tǒng)的分析建模,所以本文為方便設(shè)計先按照主要設(shè)備進行分析建模,然后按照四個運行階段進行系統(tǒng)設(shè)計。
3 塊的創(chuàng)建
3.1 功能塊的建立
系統(tǒng)內(nèi)共有8支溫度傳感器,4個氣動截止閥,2個電磁閥,2個泵,1個壓縮機。溫度傳感器全部采用熱電阻進行溫度測量,所以可以將這8支溫度傳感器抽象為一個功能塊,為使此溫度傳感器功能塊具有通用性,設(shè)計該類具有溫度采集量化功能,溫度漂移修正功能,報警功能,傳感器開路、短路故障診斷等功能。除去壓縮機電機控制較為復雜外,其他設(shè)備均為通用執(zhí)行器,每個執(zhí)行器都需要有開啟、關(guān)閉條件,作為每個執(zhí)行器操作的輸入條件。在工程使用中,由于環(huán)境噪聲的影響對于設(shè)備的開啟和關(guān)閉很難進行人為判斷,為了更直觀的幫助使用者了解執(zhí)行器的當前狀態(tài),就需要設(shè)置執(zhí)行器的開啟狀態(tài)判斷傳感器,所以在設(shè)計通用執(zhí)行器類時增加了對執(zhí)行器狀態(tài)的判斷,作為執(zhí)行器的一個屬性,用于指示執(zhí)行器的當前狀態(tài),方便用戶使用,提高系統(tǒng)的可靠性。
3.2 封裝的實現(xiàn)
排氣分離控制系統(tǒng)選用的是西門子300系列PLC,由于西門子STEP7軟件提供數(shù)據(jù)與邏輯分離的FB、DB塊的編程方式,所以通過FB和DB模塊進行組合很容易實現(xiàn)數(shù)據(jù)的連接。FB用來編寫類的實現(xiàn),DB用來存儲對象的參數(shù)。當用FB來實現(xiàn)類的功能時,首先在其內(nèi)部定義輸入變量和輸出變量以及臨時變量,然后用DB來實現(xiàn)化對象。其中DB內(nèi)部的輸入、輸出變量的類型和名稱與FB中定義的變量名稱和類型一一對應(yīng),使用時只用設(shè)置其參數(shù)即可。程序執(zhí)行過程中的DB模塊會自動調(diào)入內(nèi)存并占有一定的內(nèi)存區(qū)域。當多個不同的對象DB模塊同時調(diào)用執(zhí)行相同的功能的FB時,其輸入輸出變量的執(zhí)行結(jié)果將占用不同的內(nèi)存區(qū)域。從而保證調(diào)用相同功能模塊的不同對象運行時不會產(chǎn)生干擾。
4 控制邏輯設(shè)計
4.1 主運行邏輯設(shè)計
按照系統(tǒng)運行狀態(tài),和機組啟動運行過程,可以將整個系統(tǒng)分為備車階段、啟動階段、運行階段和停機階段四個階段,控制軟件就按照這個邏輯進行軟件的開發(fā),系統(tǒng)啟動后,首先進行軟件的初始化,對系統(tǒng)內(nèi)所使用地址進行清零處理,以防止引入異常數(shù)據(jù)。初始化完成后系統(tǒng)開始進行輸入、輸出掃描刷新,同時將采集到的數(shù)據(jù)傳遞至各個進行數(shù)據(jù)的刷新,此過程如果有異常信號,按照已建立的各傳感器類的設(shè)計,將會有故障報警產(chǎn)生,提示相關(guān)安全信息。當系統(tǒng)啟動鍵按下后,控制邏輯開始啟動,自動進行備車處理,備車過程系統(tǒng)自動打開相關(guān)執(zhí)行器,當系統(tǒng)內(nèi)部判斷備車成功后,啟動排氣壓縮機電機,系統(tǒng)根據(jù)壓縮機電機的設(shè)定要求,調(diào)整轉(zhuǎn)速,直至使壓縮機進口壓力恒定在2.2Mpa,當系統(tǒng)停車鍵按下后,壓縮機自動停機,當壓縮機完全停轉(zhuǎn)后系統(tǒng)關(guān)閉冷凝水泵、潤滑油泵等相關(guān)設(shè)備。整個系統(tǒng)運行過程中始終進行報警安全判斷,任意一個二級報警觸發(fā),系統(tǒng)將自動轉(zhuǎn)入停車階段處理。系統(tǒng)活動圖如圖1。
4.2 報警處理設(shè)計
報警部分是整個系統(tǒng)的重要組成部分,為整個系統(tǒng)的安全可靠運行提供保障。按照需求分析本系統(tǒng)共有6個一級報警,7個二級報警。一級報警觸發(fā)時系統(tǒng)發(fā)出聲光報警,二級報警觸發(fā)時系統(tǒng)發(fā)出聲光報警并同時關(guān)閉壓縮機轉(zhuǎn)入停車階段。各個報警的限制值、級別、延時均在創(chuàng)建好的傳感器類內(nèi)進行了設(shè)定,本部分只需接收相應(yīng)的報警信號,對報警級別進行識別,同時按照不同的報警級別發(fā)出相對應(yīng)的執(zhí)行命令即可。
系統(tǒng)內(nèi)創(chuàng)建功能塊FB250和數(shù)據(jù)塊DB250,分別存放報警處理過程的邏輯指令和數(shù)據(jù),控制性執(zhí)行的的每個周期都對該模塊進行調(diào)用,確保任一報警都可以可靠的觸發(fā)。
5 結(jié)論
按照結(jié)構(gòu)化的思想將軟件設(shè)計完成后,裝載至硬件設(shè)備,整個排氣分離系統(tǒng)運行正常,性能優(yōu)越,本套軟件經(jīng)受了系統(tǒng)的耐久試驗及性能試驗的考核,證明了軟件的高可靠性。
采用結(jié)構(gòu)化的方法進行軟件編寫,便于對被控對象的理解及方便對控制思路的理解,可以大大減少設(shè)計者在對相同功能的設(shè)備的控制邏輯開發(fā)時間,比傳感器、電磁閥等,開發(fā)人員可以對具有相同功能的設(shè)備作為標準庫,使用時直接調(diào)用庫中的功能塊,從而使得編程風格、編程方法可以得到延續(xù)。
參考文獻
[1]尹宏業(yè).PLC可編程控制器教程[M].北京:航空工業(yè)出版社,1997:13-57.
[2]楊能長,張興毅.可編程控制器PC原理及應(yīng)用[M].重慶:重慶大學出版社,2006:28-79.
作者單位
上海齊耀動力技術(shù)有限公司 上海市 201203