隨著工業(yè)控制技術(shù)的發(fā)展,PLC已經(jīng)作為工業(yè)控制的基礎(chǔ)廣泛地運用到工業(yè)自動化領(lǐng)域中。
可編程控制器的基本組成:
從語辭義上來講,PLC也是一種計算機控制系統(tǒng),只不過它比一般的計算機具有更強的與工業(yè)過程相連接口和更直接地適用于控制要求的編程語言。所以PLC與計算機的組成十分相似,具有中央處理器(CPU),存貯器,輸入/輸出(I/O)接口,電源,編程語言,詳見圖1。
2 PLC編程思想
現(xiàn)代工業(yè)生產(chǎn)的控制體系通常需要涉及很多外部的設(shè)備,對于設(shè)備的動作要求通常十分嚴格。在很長一段時間中,編程需要首先根據(jù)具體要求繪制流程圖,然后根據(jù)流程圖編寫程序的框架,再在這個流程框架中增加約束信息和報警信息,因此這一編程思想是面對過程的。數(shù)據(jù)與數(shù)據(jù)的處理過程是統(tǒng)一的,沒有多少可以重用的代碼,并且如果代碼的數(shù)量過大,會對維護工作產(chǎn)生很大壓力。面向過程的PLC編程方法,主要存在的缺陷在于:割裂被控對象在PLC程序和現(xiàn)實中的聯(lián)系,使得內(nèi)部邏輯和被控對象不太明確,從而使程序后期的維護工作變得困難;另外程序內(nèi)部的邏輯關(guān)系復雜,因此控制的流程不夠明確,容易造成錯誤;輸入和輸出都缺乏整體性,程序員通常對于各輸入點和輸出點作出孤立的考慮,無法實現(xiàn)兩者之間有效的邏輯關(guān)聯(lián)。
3 可編程控制器的編程方法
3.1 編程語言
目前的PLC編程語言主要有梯形圖、語句表、邏輯圖、高級語言等。
梯形圖———這種方法比較適合于初頻道接觸PLC的編程人員使用,因為它比較直觀,簡單易懂,只要具備基本的電路知識,易看懂易編程。
語句表———用助記符表示的PLC的一個功能。PLC在執(zhí)行程序時,實際上就是按照語句表編寫順序,逐個按照助記符表示的功能進行執(zhí)行。這種方法比較直觀地反映出編寫程序的大?。辉谀承┲噶顖?zhí)行過程中,用語句表編寫比用梯形圖編寫掃描時間較少。但對于初學者和復雜的功能有一定的難度。
邏輯圖———用邏輯關(guān)系表達出來的方式編程。它具有邏輯關(guān)系比較、清晰,但不易懂。一般情況下不采用此方法。
高級語言———如C語言,Basic語言或?qū)iT的高級語言。使用高級語言編程的PLC,一般是中高型PLC。
3.2 程序的結(jié)構(gòu)框圖
在編程序之前,必須首先具備一些資料,這些資料是根據(jù)被控對象的要求和條件確定的,一般有:I/O點分布和意義表,參數(shù)的定義和地址分配表,被控對象響應(yīng)的工藝及安全性條件說明書等。
程序框圖是編程的主要依據(jù),用此要盡可能地根據(jù)資料詳細化,以便確定應(yīng)用程序的基本結(jié)構(gòu)。程序框圖包括兩種:程序結(jié)構(gòu)框圖和功能控制框圖。
程序結(jié)構(gòu)框圖是一臺PLC的全部功能部分在內(nèi)存中前后排列的縮影,使用中可以根據(jù)結(jié)構(gòu)圖了解所有功能控制在整一個程序中的位置。
3.3 程序設(shè)計結(jié)構(gòu)方式
軟件設(shè)計任務(wù)的復雜程度決定用戶程序的結(jié)構(gòu)。
(1)線性編程:程序以線性的或順序的方式執(zhí)行每條指令。基本上是將程序放在一個主程序內(nèi)全部完成。
(2)分部式編程:程序設(shè)計按照動作邏輯功能的不同分成各自獨立的子程序塊,每個子程序完成一項或多項簡單的且獨立的任務(wù)。然后由主程序按照工藝有條件或無條件調(diào)用子程序。這些子程序在每一個掃描周期內(nèi)只能調(diào)用一次。
(3)結(jié)構(gòu)化編程:獨立編制具有通用性的程序塊或子程序,通過賦給這些通用子程序塊不同的信息或條件,在每個掃描周期內(nèi)可以反復調(diào)用這些通用程序塊。
對于壓鑄機程序設(shè)計,由于其有一定的復雜性,建議采用“分部式編程”方法。具有的優(yōu)點有:易設(shè)計、易維護、易擴展。
3.4 安全回路的設(shè)計
設(shè)計工業(yè)化控制程序,安全和信息描述是必要的一個環(huán)節(jié)。壓鑄機的動作流程具有一定的危險性,因此安全回路的設(shè)計是應(yīng)引起重視。安全指設(shè)備和操作人員。安全回路應(yīng)考慮以下因素,并進行控制:
(1)操作失誤引起的危險或冒險。
(2)外部配件的損壞引起的危險,外部配件包括PLC本身故障和硬件電路信號。
(3)動作工藝流程規(guī)定的混亂引起的危險。
(4)特殊性引發(fā)的危險,例如:冷室機的空壓射,易引發(fā)設(shè)備損壞時。停電或電源模塊故障時。
安全回路的設(shè)計時大部分采用緊急停止回路,自鎖回路,互鎖回路。外部信號保護回路,順控型回路等方式。同進外部硬件回路也要組成保護回路:如熱繼電器、急停按鈕等。
綜合上述設(shè)計PLC的軟件有許多方法,設(shè)計人員除保持自己的設(shè)計風格和必須遵循本公司的指導性要求外,設(shè)計的經(jīng)驗是至關(guān)重要的,所以只有不斷地努力,才能摸索出適合自己的一種有效方法。但一些基本的步驟是公共的。
(1)對被控對象的過程和要求進行分解,繪制出程序的結(jié)構(gòu)框圖,了解和掌握被控對象的控制要求和流程。
(2)確定各單元的功能特性,繪制出功能控制框圖。
(3)選擇合適的程序結(jié)構(gòu)方式,將各功能控制聯(lián)系起來。
(4)慎重考慮安全回路的設(shè)計,制定故障的形式及控制方案。
(5)編寫各獨立部分的程序,確定各模塊程序的接口資料。
(6)調(diào)試各獨立塊程序,調(diào)試各模塊的接口程序。調(diào)試安全回路程序。
(7)聯(lián)機在線調(diào)試設(shè)備或過程。
4 案例分析
以汽車微電機壓裝控制系統(tǒng)為例,對于PLC編程方法進行詳解。這一系統(tǒng)主要通過觸摸屏TPC、主控單元FPG以及位置控制單元FPG、模擬單元FP0、位移傳感器和伺服電機構(gòu)成。這一系統(tǒng)主要對伺服電機控制脈沖輸出,而脈沖輸出能夠直接封裝電機的運行狀態(tài),而剩下的輸出則不需要在程序中大量使用,能夠單獨調(diào)用。具體如圖2所示。
壓裝流程中,前三項依次為快速工進、預壓和慢速壓裝,這些過程是同向運動,主要目的在于提高工作效率,因此三個過程之間都不能出現(xiàn)任何停頓,采用“P點控制”就能滿足要求。慢速壓裝的運動方向和第四項的快速退回方向相反,并且這一過程需要停頓??焖偻嘶毓δ芙柚癊點控制”實現(xiàn)。具體如圖3所示。
FPWINGR編程軟件不能進行模塊封裝的操作,但這也不會對對象思維產(chǎn)生影響。“E點控制”的觸發(fā)條件是R20,而“E點控制”的目標脈沖頻率是雙字寄存器DT412,也是“E點控制”的目標位置。采用對象封裝,主要目的在于避免數(shù)據(jù)的隨意訪問,使數(shù)據(jù)得以繼承。在“E 點控制”中,電機的屬性啟動速度是500Hz,加速時間是100ms,正反方向的定義采用參數(shù)的方式固定。如果對這一對象進行調(diào)試,則默認繼承了這一屬性。只要對多個內(nèi)部繼電器觸發(fā)R20進行擴展,就能夠被多次調(diào)用繼承,也就是多態(tài)性。
時序?qū)拥幕A(chǔ)包括輸出層和外設(shè)層,時序?qū)訒鶕?jù)一定時間順序?qū)敵鰧优c外設(shè)層進行組合,同時輔助必要的數(shù)據(jù)處理,從而形成應(yīng)有的功能。壓裝的主流程為“P 點控制”和“E 點控制”模塊,再加上時間延時和計數(shù)處理與力峰值功能,最終形成初步的壓裝功能,再經(jīng)后期調(diào)試加上小范圍的改動,形成功能編寫能力。根據(jù)這一方法,能夠?qū)λ韪鞴δ苓M行編寫,在完成了整個程序之后,實現(xiàn)整體調(diào)試的功能。后期維護需要修改某部分功能時,可以快速定位到要修改的層,再找到相應(yīng)的模塊;增加功能時,可以迅速查到已有硬件的封裝模塊,直接在時序?qū)釉黾右蟮墓δ軙r序。
5 結(jié)束語
通過分析以及實際驗證發(fā)現(xiàn),本次研究所采用的編程方法編寫PLC程序,具有清晰的邏輯,并且具有層次分明和運行穩(wěn)定的優(yōu)勢。這一編程方法能夠為程序調(diào)試以及后期程序的維護以及程序功能的擴展提供重要基礎(chǔ)。將此編程方法應(yīng)用在復雜的控制系統(tǒng)當中,能夠有效提高編程效率,同時這一編程技術(shù)也能夠適用簡單系統(tǒng),保證了復雜控制系統(tǒng)的集體設(shè)計具有更明確的分工,并確保更穩(wěn)定的性能。
責任編輯:YYX
-
plc
+關(guān)注
關(guān)注
5016文章
13389瀏覽量
465574 -
可編程控制器
+關(guān)注
關(guān)注
6文章
538瀏覽量
38955
發(fā)布評論請先 登錄
相關(guān)推薦
評論