毛思佳

摘要:隨著工業控制技術的發展,工業PLC已被廣泛應用在自動化領域中。本文簡單描述了可編程控制器的編程方法,及程序結構,為電氣維護技術人員提供了寶貴的學習資料。
關鍵詞:可編程控制器;程序語言;程序結構
引言:
當前,隨著工業控制系統的復雜性不斷增加以及自動化程度的不斷提高,PLC編程方法變得越來越復雜。本文通過分析現代主流計算機編程方法,提出了一種PLC編程方法:將程序分為三個層次,將外部設備或可重用功能封裝在一個對象的塊中,并以簡化的方法實現動作流程。
一、可編程控制器的組成和各部分的功能
可編程控制器的基本組成:從語義上講,PLC也是計算機控制系統,但與工業過程相比,它與工業過程具有更強的連接接口,并且比普通計算機編程語言更直接適用于控制要求。因此,PLC和計算機的組成非常相似,具有中央處理器(CPU),內存,輸入/輸出(I/O)接口,電源,編程語言,詳見圖 1。
(一)PLC編程思路
現代工業生產控制系統通常涉及多個外部設備,并且設備的動作通常具有嚴格的時序要求。長期以來,在編程之前,先根據要求制作動作流程圖,然后根據動作流程圖編寫了程序的框架,然后將該流程圖添加到約束條件和報警信息中。過程數據和數據處理代碼可重復使用的很少,并且當代碼量很大時,很難維護數據和代碼。PLC編程方法的缺點是:PLC程序中的受控對象與實際情況之間的連接不清晰,內部邏輯和受控對象不清晰,程序后期維護困難;程序內部邏輯關系非常復雜,控制過程不正確,容易出錯。輸入和輸出缺乏完整性,程序員經常考慮隔離每個輸入或輸出點的邏輯和控制。
針對傳統PLC編程的不足,結合現代計算機主流編程思想,提出了一種新的PLC編程方法:將程序結構分為分層的思想,將外部設備或可復用功能與對象包裝在一起。以過程為中心來實現行動流程的思想。原理是:根據實際情況,將編程過程分為三個層次,分別是:時序層,外圍層和輸出層,其中輸出層是底層;外圍層是中間處理轉換層,時序層是最接近設備操作的用戶層。
輸出層在內部擴展PLC輸出點。無論編寫什么PLC程序,都必須控制PLC的輸出以達到設備操作的目的。為了增強程序的靈活性和可擴展性,可以將PLC的每個輸出點視為一個對象。在程序運行期間,輸出對象在不同的??工作階段具有不同的觸發條件。數字量輸出點的觸發條件轉換為內部繼電器,模擬量輸出的觸發條件轉換為內部繼電器和數據。
外層是設備的包裝和處理,是外部設備和外部設備功能包裝模塊的集合。復雜的PLC控制系統包含多個外部設備,其中一些不止一個。以PLC為對象,外部設備可以分為輸入設備,輸出設備和交互設備。輸入設備是系統的眼睛,并實時監視設備狀態。輸出設備是系統的動作執行設備,并且單個輸出設備可以具有一個或多個動作狀態。交互式設備是與PLC交換數據的設備,并且可以是主機設備或其他通信設備。使用面向對象的思想將整個設備或設備的運行狀態封裝為一個對象。可以大大減少程序的重復性,并有助于外圍設備的擴展和功能的增加。
二、可編程控制器的編程方法
(一)程序語言
當前的PLC編程語言主要包括梯形圖,語句列表,邏輯圖和高級語言。
梯形圖-此方法更適合剛剛接觸PLC程序編程的初學者,因為它更直觀,更易于理解,只要他們具有基本的電路知識,就可以簡單的進行編程。
語句列表-以助記符表示的PLC功能。當PLC執行程序時,它實際上根據語句列表的寫入順序逐一執行助記符指示的功能。該方法更直觀地反映了編寫程序的大小;當執行某些指令時,語句列表中寫入的掃描時間少于梯形圖中的掃描時間。但是對于初學者和功能復雜的人來說,這很困難。
邏輯關系形式的邏輯圖編程。它具有相對清晰的邏輯關系,但不容易理解。通常不使用此方法。
高級語言,例如C語言,基本語言或專門的高級語言。用高級語言編程的PLC通常是中級或高級PLC。
(二)程序框圖
在編程之前,它首先必須具有一些信息,這些信息是根據受控對象的要求和條件確定的,通常是:I/O點分布和含義表,參數定義和地址分配表,過程并對安全條件和規格對受控對象作出反應。框圖是編程的主要基礎。根據數據使用它來盡可能詳細地確定應用程序的基本結構。框圖包括兩種類型:程序結構框圖和功能控制框圖。程序結構的框圖是在內存中前后排列的PLC所有功能部分的縮影。在使用過程中,您可以根據結構圖了解整個程序中控制的所有功能的位置。
(三)程序結構
軟件設計任務的復雜性決定了用戶程序的結構。
1、線性編程:程序以線性或順序方式執行每個指令。基本上,該程序在主程序中完成。
2、部分編程:根據動作邏輯功能的不同,將程序設計分為獨立的子程序塊,每個子程序完成一個或多個簡單獨立的任務。然后,主程序根據該過程有條件地或無條件地調用該子程序。這些子程序在每個掃描周期中只能調用一次。
3、結構化程序設計:通用程序塊或子程序的獨立形成。通過為這些通用子程序塊分配不同的信息或條件,可以在每個掃描周期中重復調用這些通用程序塊。
(四)安全電路設計
工業化的控制程序,安全性和信息描述是必不可少的環節。工業設備動作流程具有一定的危險性,因此安全電路的設計應引起注意,安全電路應考慮并控制以下因素:
1、操作錯誤引起的危險或風險。
2、外部附件損壞引起的危險,包括外部PLC故障和硬件電路信號。
3、由操作流程中指定的流程造成的危險。
4、特殊性引起的危險,例如,傳動設備高溫容易造成設備損壞,發生電源故障或電源模塊故障時,大多數安全電路都設計有緊急停止電路,自鎖電路和互鎖電路,外部信號保護電路,順序控制電路等。同時,外部硬件電路也應構成保護電路:例如熱繼電器和緊急停止按鈕。
有多種方法可以將上述軟件集成到PLC中。除了保持自己的設計風格和必須遵守公司的指導要求之外,設計經驗也至關重要,因此只有不斷努力才能找到適合您的方法。一種有效的方法。但是一些基本步驟是公開的。
(1)分解受控對象的過程和要求,繪制程序的結構框圖,了解并掌握受控對象的控制要求和流程。
(2)確定每個單元的功能特性,繪制功能控制框圖。
(3)選擇適當的程序結構,并鏈接每個功能控制。
(4)認真考慮安全電路的設計,制定故障形式和控制方案。
(5)編寫每個獨立部分的程序,并確定每個模塊程序的接口數據。
(6)調試每個獨立的塊程序,并調試每個模塊的接口程序,調試安全回路程序。
(7)在線調試設備或過程。
三、結論
通過分析和實際驗證,發現本研究采用的編程方法邏輯清晰,層次清晰,操作穩定。這種編程方法可以為程序調試,和程序功能擴展提供重要的基礎。將這種編程方法應用于復雜的控制系統可以有效地提高編程效率。同時,編程技術也可以應用于簡單的系統,從而確保復雜控制系統的總體設計具有更清晰的分工并確保更穩定的性能。
參考文獻:
[1]徐卓峰.王學軍.面向過程程序設計語言與面向對象程序設計語言及其特征比較[J].中州大學學報,1997(1):64-67
[2]高云.計算機編程思想的發展研究[J].軟件導刊,2012,11(11):5-6
[3]張海藩.軟件工程導論[M].5版.北京:清華大學出版社,2008 (2):203-211
[4]常海.基于OOP的PLC編程方法探討[J].無線互聯科技,2014(2):75-75