第四節PLC軟件係統設計
一、PLC軟件係統設計方法概述
在硬件設計完成之後,就要具體的編製控製應用程序了。編製PLC控製程序方法很多,這裏主要介紹幾種典型的編程方法。
(一)圖解法編程
圖解法編程就是用畫圖進行PLC程序設計。常見的有梯形圖法、邏輯流程圖法、時序圖法和順序功能表圖法。
1.梯形圖(Ladder Diagram)法
梯形圖法是使用得最多的圖形編程語言,被稱為PLC的第一編程語言。梯形圖與電器控製係統的電路圖很相似,梯形圖常被稱為電路或程序,這種方法很容易就把原來的繼電器控製的線路轉換成PLC控製的梯形圖。這對於熟悉電氣控製的人來說,是最方便的一種編程方法。
2.邏輯流程(Logic Flow Chart)圖法
邏輯流程圖法是用邏輯圖表示PLC程序的執行過程,反映輸入與輸出的關係。邏輯流程圖是把係統的工藝流程,用邏輯框圖表示出來形成係統的邏輯流程圖。用這種方法編製的PLC控製程序邏輯思路清晰、輸入與輸出的因果關係及連鎖條件明確。邏輯流程圖會使整個程序脈絡清楚,便於分析程序查找故障點,便於調試和維修程序。有時針對一個複雜的控製程序,直接用語句表或用梯形圖覺得難以下手,則可以先畫出邏輯流程圖,之後再用語句表或梯形圖編製PLC應用程序。
3.時序圖設計法
若PLC各輸出信號的狀態變化有一定的時間順序規律,可由時序圖入手進行程序設計。時序圖法首先根據各輸入、輸出信號之間的時序關係,畫出輸入和輸出信號所對應的工作時序圖。找出區段間的分界點,弄清分界點處各輸出信號狀態的轉換關係和轉換條件,根據狀態轉換明細表和I/O分配表,畫出PLC控製程序梯形圖。
4.順序功能圖法
順序功能圖 ( Sequence Function Chart )或簡稱功能圖,簡稱SFC法。它是描述控製係統的控製過程、功能、特性的一種圖形;它並不涉及所描述的控製功能的具體技術,是一種通用的技術語言;它用一種通常表示某個或某些執行元件穩定狀態的“步”、有向線段、轉移條件來表達。這種設計方法對於那些具有明顯順序過程工藝的控製對象來說,編程特別方便。因此不少的PLC生產廠家在自己的PLC產品中,專門開發出了步進順控製令。提高了設計效率,有資料稱這種設計方法可減少2/3的設計時間,且用此法設計出的程序調試、修改、閱讀也很容易。
(二)邏輯設計法
邏輯設計法是以邏輯組合或邏輯時序的方法和形式來設計PLC程序,可分為組合邏輯設計法和時序邏輯設計法兩種。邏輯設計法的理論基礎是邏輯代數,它將控製對象的控製狀態用邏輯代數的三種基本運算“與”、“或”、“非”形式表達成邏輯關係圖後再變成邏輯函數表達式,根據邏輯函數與梯形圖的相關對應關係,由邏輯函數表達式轉化成PLC梯形圖。這種設計方法既有嚴密可循的規律性、明確可行的設計步驟,又具有簡便、直觀和十分規範的特點。
(三)經驗設計法
經驗設計法是依靠自己或別人的經驗進行設計。所謂經驗設計,是指在熟練掌握一些典型繼電器控製電路的基礎上,根據被控對象對控製係統的要求,直接利用各種典型控製環節和基本單元控製電路,對它進行修改和完善,得到符合控製要求的梯形圖,即將這些基本單元電路 “移植”成梯形圖完成PLC控製程序。
用該法設計用戶程序時可以大致按下麵幾步來進行:分析控製要求,選擇控製原則;設計主令元件和檢測元件,確定輸入/輸出信號;設計執行元件的控製程序;檢查、修改和完善程序。在設計執行元件的控製程序時,一般又可分為以下幾個步驟:按所給的要求將生產機械的運動分成各自獨立的簡單運動,分別設計這些簡單運動的基本控製程序;根據製約關係,選擇聯鎖觸點,設計聯鎖程序;根據運動狀態選擇控製原則,設計主令元件、監測元件及繼電器等;設置必要的保護措施。
經驗設計法可以用於邏輯關係簡單的梯形圖設計。
二、PLC軟件係統設計的步驟
PLC的程序設計是硬件知識和軟件知識的綜合體現,需要計算機知識、控製技術和現場經驗等諸多方麵的知識。程序設計的主要依據是控製係統要求書、電氣設備操作說明書和實際生產工藝要求。程序設計可分以下八個步驟,其中前三步隻是為程序設計做準備,但不可缺少。
1.了解係統概況,對係統任務分塊
這步的主要工作,就是通過係統設計方案了解控製係統的全部功能、控製規模、控製方式、輸入/輸出信號種類和數量、是否有特殊功能接口、與其它設備的關係、通訊內容與方式等,並做詳細記錄。分塊的目的是把一個複雜的工程,分解成多個比較簡單的任務。沒有對整個控製係統的全麵了解,就不能聯係各種控製設備之間的功能,綜觀全局。閉門造車和想當然都不是一個合格程序設計者的做法。
2.熟悉被控對象
熟悉控製對象就是按工藝說明書和控製要求書的要求,將控製對象和控製功能分類,確定檢測設備和控製設備的物理位置,了解每一個檢測信號和控製信號的形式、功能、規模,及其之間的關係和預見可能出現的問題,使程序設計有的放矢。在程序設計之前,掌握的東西越多,對問題思考得越深入,程序設計時就會越得心應手。
3.熟悉編程器、編程軟件和編程語言
編程器、編程軟件和編程語言是程序設計的主要硬件和軟件工具。編程器和編程軟件是編寫用戶程序的工具,工欲善其事,必先利其器,因此在編程前,首先要熟悉和所選可編程控製器相匹配的編程器或編程軟件。選擇合適的編程語言形式並熟悉其指令係統和參數分類,尤其要注意研究在編程時可能要用到的指令和功能,最好能上機操作,並編製一些試驗程序,在模擬台上進行試運行,以便更詳盡地了解指令的功能和用途。
4.定義輸入/輸出信號表
定義輸入/輸出信號表的主要依據就是硬件接線原理圖,根據具體情況,內容要盡可能地詳細,信號名稱要盡可能地簡明,中間標誌和存儲單元表也可以一並列出,待編程時再填寫內容。要在表中列出框架號、模塊序號、信號端子號,便於查找和校核。輸入/輸出地址要按輸入/輸出信號、由小到大的順序排列,沒有實際定義或備用點也要列入。有效狀態中要明確標明上升沿有效還是下降沿有效,高電平有效還是低電平有效,是脈衝信號還是電平信號,或其它方式。
5.流程圖設計
流程圖設計的主要工作是根據控製要求書的總體要求,確定應用程序的基本結構,按流程圖標準繪製出程序結構框圖;然後再根據工藝要求,繪製出各功能單元的詳細流程圖。流程圖是編程的主要依據,應盡可能地詳細。
6.編寫PLC應用程序
編寫PLC應用程序就是根據設計出的流程圖,逐字逐條地編寫控製程序,這是整個程序設計工作的核心部分。在編寫過程中,根據實際需要對中間標誌信號表和存儲單元表進行逐個定義。為了提高效率,相同或相似的程序段盡可能地使用複製功能。
程序編寫有兩種方法:第一種是直接用參數地址進行編寫,這樣對信號較多的係統不易記憶,但比較直觀;第二種方法是先用容易記憶的別名編程,編完後再用信號地址對程序進行編碼。另外,編寫程序過程中要及時對編出的程序進行注釋,以免忘記其間相互關係,要隨編隨注。注釋要包括程序的功能、邏輯關係說明、設計思想、信號的來源和去向,以便閱讀和調試。
7.程序模擬調試
程序模擬調試是整個程序設計工作中一項很重要的內容,它可以初步檢查程序的實際效果。程序模擬調試既可以采用實際PLC與上位計算機通信連接調試,也可以采用模擬調試軟件調試。程序的許多功能是在調試中修改和完善的,調試時先從各功能單元入手,設定輸入信號,觀察輸出信號的變化情況,必要時可以借用某些儀器儀表。各功能單元測試完成後,再連通全部程序,調試各部分的接口情況,直到滿意為止。程序調試一般在實驗室進行,也可以在現場進行。如果是在現場進行程序測試,那就要將可編程控製器係統與現場信號隔離,切斷輸入/輸出模塊的外部電源,以免引起不必要的損失。
8.編寫程序說明書
程序說明書是對程序的綜合性說明,是整個程序設計工作的總結。編寫程序說明書的目的是便於程序的使用者和現場調試人員使用,它是程序文件的組成部分。即使是編程人員本人去現場調試,程序說明書也是不可缺少的。程序說明書一般應包括程序設計的依據、程序的基本結構、各功能單元分析、其中使用的公式和原理、各參數的來源和運算過程、程序測試情況等。
第五節PLC軟件程序設計方法
一、邏輯設計法
在某些控製係統中,與PLC連接的輸入/輸出器件隻有通、斷兩種邏輯狀態,即具有“0”、“1”兩種取值特征的邏輯代數進行控製的係統,可以采用邏輯設計法編程。
這種設計方法既有嚴密可循的規律性和明確可行的設計步驟,又具有簡便、直觀和十分規範的特點。當被控係統的元器件的通斷狀態用一個邏輯函數與邏輯變量的基本運算式表達出來後,經過化簡,利用“與”、“或”、“非”的基本邏輯組合形式而設計出梯形圖的控製程序。這種方法設計思路清晰,所編寫的程序易於優化,是一種較為實用可靠的程序設計方法。
(一)邏輯設計法基本步驟
(1)首先明確控製任務和控製要求,通過分析工藝過程繪製工作循環和檢測元件分布圖,取得電氣執行元件功能表。
(2)詳細地繪製電控係統狀態轉換表(通常由輸出信號狀態表、輸入信號狀態表、狀態轉換主令表和中間記憶裝置狀態表四部分組成)。狀態轉換表可全麵、完整地展示電控係統各部分、各時刻的狀態和狀態之間的聯係及轉換,它是進行電控係統分析和設計的有效工具。
(3)根據狀態轉換表,將輸入與輸出信號之間建立起邏輯函數關係,列出邏輯真值表(用0、1表示)。
(4)由邏輯真值表列出中間記憶元件的邏輯函數表達式和執行元件的邏輯函數表達式。這兩個函數表達式,既是生產機械或生產過程內部邏輯關係和變化規律的表達形式,又是構成電控係統實現目標的具體程序。
(5)由邏輯函數式轉換為梯形圖程序。
(6)完善和補充程序,包括手動調整工作方式的設計、手動工作方式的選擇、自動工作循環、保護措施等,然後上機調試。
(二)邏輯設計法應用實例
【例7-1】通風機工作狀態顯示PLC監控。
某係統中有四台通風機,要設計一個監視係統,監視通風機的運轉。要求在以下幾種運行狀態下發出不同的顯示信號:三台及三台以上通風機在運行時,綠燈常亮;兩台通風機在運行時,綠燈以5 Hz的頻率閃爍;一台通風機在運行時,紅燈以5 Hz的頻率閃爍;如果四個通風機都不運行,則紅燈常亮。用一個開關來控製係統的工作;開關閉合時係統工作;開關斷開時係統不工作,信號燈熄滅。
1. I/O分配
為了討論問題方便,設四台通風機運行狀態信號分別為A、B、C、D,加上係統的啟停開關,這些反映風機運行狀態的信號是PLC的輸入信號;要用PLC的輸出信號來控製指示燈的亮、滅,紅燈F1與綠燈F2的亮滅即為係統的輸出。
2.進行邏輯分析,列出邏輯真值表,得出邏輯關係表達式
設燈常亮為“1”,滅為“0”;通風機開機為“1”,停機為“0”。
(1)紅燈(F1)常亮的程序設計由控製要求知,當四台風機都不開機時,紅燈常亮,得出其邏輯關係狀態(真值)表。
(2)綠燈(F2)常亮的程序設計由控製要求知,能引起綠燈常亮的情況有五種,列邏輯關係狀態(真值)表。
(3)綠燈(F2)閃爍的程序設計首先設閃爍為“1”,能引起綠燈閃爍的情況有六種,列出邏輯關係狀態(真值)表。
(4)紅燈(F1)閃爍的程序設計首先設閃爍為“1”,能引起紅燈閃爍的情況有四種,列出邏輯關係狀態(真值)表。
(5)根據I/O分配表,用PLC的I/O點編號替換梯形圖中的變量,畫出最終梯形圖程序。
邏輯設計法小結:
用邏輯代數設計梯形圖,首先要分析控製要求,用真值表來表達輸入和輸出的邏輯關係,然後用卡諾圖或邏輯代數的公式進行簡化,最後轉換成梯形圖。這種設計思路更加清晰,考慮問題更加全麵。
二、時序圖設計法
時序圖是指信號隨時間變化的梯形圖,以這種圖形為基礎進行PLC程序設計,稱時序圖法。這種方法適用於定時或計數的程序,PLC各輸出信號的狀態變化有一定的時間順序規律的控製,可由時序圖入手進行程序設計。
(一)時序圖設計法一般步驟
(1)根據各輸入、輸出信號之間的時序關係,畫出輸入、輸出信號的波形圖,建立起準確的時間對應關係。
(2)確立定時關係,設計定時邏輯程序。找出臨界點,即輸出信號應出現變化的點,並以這些點為界限,把時間段劃分為若幹時間區間;進而,依各時間區間形成條件,建立對應的邏輯程序。若形成條件有“相混”的情況,可用計數器或定時器區分。
(3)確定所需的定時器個數,分配定時器號,確定各定時器的設定值。
(4)明確各定時器開始定時和定時到兩個時刻與各輸出信號動作的對應關係。做出狀態轉換明細表。
(5)做出PLC的I/O分配表。
(6)根據時序圖、狀態轉換明細表和I/O分配表,建立PLC動作程序,畫出控製梯形圖。
(7)做模擬實驗,進一步修改、完善程序。確定時間區間,這可按輸出要求進行設計。
(二)時序圖設計法應用實例
【例7-2】十字路口交通信號燈PLC控製。
十字路口上的紅、黃、綠交通信號燈示意圖,綠燈亮放行、紅燈亮禁行。控製要求如下:
① 啟動該係統(開機)後,南北向綠燈和東西向綠燈不能同時亮,否則應立即關閉信號係統並報警。
② 放行時間為南北方向30s,東西方向20s。
③ 禁行預告:欲禁行方向的黃燈和欲放行方向的紅燈以5Hz的頻率閃爍5s,5s後另一個方向放行。
④ 重複上述規律,周而複始。
(1)分析控製要求,確定輸入和輸出信號原則:在滿足控製要求的前提下,應盡量少占用PLC的I/O點數。本例中,由控製開關輸入的信號是輸入信號,指示燈的亮、滅由PLC的輸出信號控製。由於同方向的同色燈在同一時間亮、滅,故可將同色燈並聯,用一個輸出信號控製,這樣隻占六個輸出點。
(2)根據控製規律,畫出各方向三色燈的工作時序圖
(3)由時序圖分析出各輸出信號之間的時序關係,紅燈和綠燈常亮的時間相同(30s/20s);黃燈和紅燈閃爍的時間相同(5s)。
(4)確定各信號燈的狀態轉換點交通信號燈的一個循環周期的時間分界點為t1、t2、t3、t4,還有一個開始時間分界點即t0點。在這幾個分界點處,信號燈的工作狀態將發生變化。
(5)確定定時器的個數及編號,畫出定時器功能明細表,一個循環周期的五個時間分界點t0、t1、t2、t3、t4代表四個時間段的變化,因此必然要設四個定時器來實現這種狀態轉換關係。我們可以采用TIM0000~TIM0003 這四個定時器控製信號燈的狀態轉換,它們分別對應t0~t1、t1~t2、t2~t3、t3~t4四個時間段。其中,TIM0000定時30s(為南北綠燈、東西紅燈亮定時);TIM0001定時35s;TIM0002定時55s;TIM0003定時60s。將這四個定時器與t0、t1、t2、t3、t4這五個時間分界點間的狀態關係列出定時器功能明細表,就更加清楚了它們之間的時序關係。
(6)根據定時器功能明細表和I/O分配表,畫出PLC的梯形圖
本例要求用一個控製開關進行控製,程序中0.00為開關輸入信號,這裏將全部程序放在指令IL/ILC 之間,用0.00作為指令IL的執行條件,用P_1s內部符號變量產生1s脈衝,即可實現控製時序圖的控製要求。當然,交通信號紅綠燈控製作為一個非常典型的應用案例,還有其它的編程方法實現其同樣的控製要求。
【例7-3】噴泉電路PLC控製設計。
控製要求:要求設計一個控製噴泉工作的電路。
啟動後,A組先噴水5s,後B、C同時噴水,5s後B停,再5s後C停,而A、B又噴水,再2s後,C也噴水,持續5s後全部停噴;再3s A又重複前麵過程。
首先,分配輸入、輸出接點。用0.02接啟動按鈕,0.03接停止按鈕;而A、B、C分別用1.01、1.02、1.03控製。它是定時控製程序,較適合用時序圖法設計。
(1)畫出各噴頭動作過程的波形圖
(2)確立定時關係,設計定時邏輯程序,它有七個臨界點,組成六個定時區;這六個時間區可用六個定時器(TIM0000~TIM0005)予以區別,這六個定時器的工作波形。這裏,0.02為啟動信號,它“ON”後可使20000“ON”並保持;20000“ON”則啟動TIM0000;經5s延時,其常開接點“ON”,繼而啟動TIM0001;TIM0001工作,又經5s延時,其常開接點“ON”,繼而啟動TIM0002;TIM0002工作,又經5s延時,其常開接點“ON”,繼而啟動TIM0003;以此類推,直到TIM0005工作,經3s延時,其常閉接點TIM0005 “OFF”。常閉接點“OFF”的效果:是若按下0.03(未使其停止工作),則它隻使TIM0000暫停工作,而TIM0000停止工作,則使TIM0001暫停工作……。
(3)畫出梯形圖程序
三、經驗設計法
利用各種典型控製環節和基本單元控製電路,依靠經驗直接用PLC設計電氣控製係統,來滿足生產機械和工藝過程的控製要求的設計方法稱為經驗設計法。所謂設計經驗,是指能熟練掌握典型繼電器控製電路的設計思路,並能將這種設計思路移植到PLC程序設計中。
使用該法設計用戶程序時可以大致按下麵幾步來進行:分析控製要求,選擇控製原則;設計主令元件和檢測元件,確定輸入/輸出信號;設計執行元件的控製程序;檢查、修改和完善程序。在設計執行元件的控製程序時,一般又可分為以下幾個步驟:按所給的要求將生產機械的運動分成各自獨立的簡單運動,分別設計這些簡單運動的基本控製程序;根據製約關係,選擇聯鎖觸點,設計聯鎖程序;根據運動狀態選擇控製原則,設計主令元件、監測元件及繼電器等;設置必要的保護措施。下麵通過例子來介紹經驗設計法。
(一)典型控製電路的PLC程序設計
典型控製電路包括:電動機的啟保停控製、正/反轉控製、點動控製、-△啟動控製、幾台電動機的聯鎖控製、異地控製、掉電保持等。
1.啟保停控製程序
常用的幾種啟保停PLC控製程序。需要注意的是,要區別在不同的場合,采用不同的啟保停控製程序。
2.具有電氣聯鎖的電動機正反轉控製程序
典型的電動機正反轉控製電路及程序,為確保運行可靠,采取了軟、硬件兩種互鎖措施。
按下正向啟動按鈕SB2,輸入繼電器常開觸點0.00閉合,輸出繼電器1.01被驅動,並自鎖,接觸器KM1得電,其常開觸點閉合,電動機正轉;與此同時,輸出繼電器的常閉觸點1.01斷開,以確保KM2不能得電,實行電氣互鎖。若按下反向啟動按鈕SB3,輸入繼電器常開觸點0.01閉合,輸出繼電器1.02被驅動,並自鎖,接觸器KM2得電,其常開觸點閉合,電動機反轉;與此同時,輸出繼電器的常閉觸點1.02斷開,以確保KM1不能得電,實行電氣互鎖。停機時按下停止按鈕SB1,常閉觸點0.02斷開,使輸出繼電器1.01或1.02失電,從而導致KM1或KM2失電,電動機停轉。
過載時熱繼電器常閉觸點FR斷開, 也能使KM1或KM2失電,電動機停轉。
3.電動機- △啟動控製程序
籠型電動機-△減壓啟動控製電路及程序
按下啟動按鈕SB2,0.00閉合,輸出繼電器1.00得電並自鎖,常開觸點1.00閉合,導致輸出繼電器1.01也得電,此時KM1、KM2得電,電動機形成星形啟動;與此同時,定時器T0000開始計時;2s時間到,常閉觸點T0000斷開,輸出繼電器1.01失電,常閉觸點1.01閉合,又因為常開觸點T0000閉合,常開觸點1.00閉合,所以輸出繼電器1.02得電並自鎖,此時KM1、KM3得電,電動機聯結成三角形投入穩定運行。在輸出繼電器1.01和1.02各自的回路中,相互串聯了1.02和1.01的常閉觸點,使接觸器KM2和KM3不能同時得電,達到電氣互鎖的目的。熱繼電器FR和停止按鈕SB1的功能同前所述。
4.電動機順序啟/停控製程序
啟動時,隻有電動機M1啟動(1.00“ON”),電動機M2才可能啟動(1.01“ON”);停止時,隻有M1先停,M2才可能停。這種控製又被稱作聯鎖控製。即運動B的實現是以運動A的實現為條件,隻有在A運動發生後,才允許B運動發生;A停止後B運動也被關斷停止;在A運動已經發生的條件下,B運動可以自行啟動和停止。
5.電動機既可長動、又可點動的控製程序
電動機長/點動控製的一種程序。 按一下SB2實現長動,按住SB1不放,電動機轉動;釋放SB1時電動機停轉,實現點動。按SB3停車。
6.電動機異地控製程序
在有些設備上,一台電機需要多地控製,如印刷機控製,有在前操作台上的控製按鈕和在後操作台上的控製按鈕。
輸入0.01為甲地的啟停開關,輸入0.02為乙地的啟停開關, 輸入0.03為丙地的啟停開關,各地電動機的啟動和停車都共用一個按鈕。輸出1.00為驅動電機接觸器。無論在何地操作,第一次按動按鈕是啟動電動機,第二次按動按鈕就是停車。
(二)經驗設計法實例
【例7-4】送料小車自動控製程序設計。
1.控製要求
送料小車在限位開關ST1處裝料,ST2、ST3處分別卸料,其中裝料時間15s,卸料時間10s。小車奇數次運行時,在ST3處卸料;偶數次運行時,ST3處不卸料,而在ST2處卸料。
2.程序設計思路
小車處於起始位置時,ST1閉合;係統啟動後,小車在起始位置裝料,15s後向右運動,到ST3位置時,ST3閉合,小車卸料,10s後小車卸料後再返回起始位置;再用15s的時間裝料,其後向右運動到ST2位置,此時ST2閉合,小車卸料後返回起始位置。以後重複上述過程,直至有複位信號輸入。由以上知:在ST2和ST3兩處要輪流卸料。小車在一個工作循環中有兩次右行都要碰到ST3,第一次碰到它時停下卸料,第二次碰到它時繼續前進,因此應設置一個具有記憶功能的內部繼電器元件,用來區分是第一次還是第二次碰到ST3。
小車的工作循環過程如下: 啟動→裝料→第一次向右運動→第一次返回→第二次裝料→第二次向右運動→第二次返回→……
3. I/O分配表與梯形圖程序
以眾所周知的電動機正反轉控製的梯形圖為基礎,設計出的小車控製梯形圖。程序的關鍵是:小車在第一次碰到ST3和碰到ST2時都應停止右行,所以將它們的常閉觸點與1.00的線圈串聯。其中ST3的觸點並聯了中間元件20.00的觸點,使ST3停止右行的作用受到20.00的約束,20.00的作用是記憶ST3是第幾次被碰到,它隻在小車第二次右行經過ST3時起作用。為了利用PLC已有的輸入信號,用啟保停電路來控製20.00,它的啟動條件和停止條件分別是小車碰到限位開關ST3和ST2,即1.00的常開觸點與控製電路中ST3常閉觸點短接,因此小車第二次經過ST3時不會停止右行。
4.程序分析
(1)小車位於ST1時,開始定時裝料,15s後定時器TIM0001接通,小車右行即1.00得電。當小車離開ST1時,定時器TIM0001複位,但1.00的自鎖功能使之仍得電,小車仍右行。
(2)小車行至ST3時,由於ST3的常閉觸點斷開,使1.00失電,小車停止右行。同時ST3的常開觸點接通卸料電磁閥,即1.03得電和相對應的定時器TIM0000計時,開始定時卸料。
(3)當小車行至ST3時,中間輔助繼電器20.00作為允許繼電器得電,與ST3的常閉觸點並聯的20.00的常開觸點接通,準備下一次小車通過ST3時維持小車右行即1.00得電。
(4)定時器TIM0000計時時間到,小車左行即1.01得電並自鎖,1.01的自鎖功能使得小車左行直至達到ST1位置。當小車離開ST3時,定時器TIM0000複位。
(5)當小車到達ST1時,TIM0001定時器重新定時,小車第二次裝料,之後小車右行,均與第一次相同。但是當小車第二次行至ST3時,雖然ST3的常閉觸點斷開,但是由於中間輔助繼電器20.00作用已經得電,使1.00繼續得電,所以此時小車繼續右行直至達到ST2位置。ST2的常閉觸點斷開,1.00失電,小車停止右行,再次改變為左行。同時由於ST2的常閉觸點斷開,中間輔助繼電器20.00斷電複位。
(6)左行過程中經過ST3位置時,由於1.01得電互鎖,所以中間輔助繼電器20.00也不會再得電。為下一次循環做準備。
(7)小車左行至ST1位置停止,又開始裝料,進入下一次循環。
(三)小結
經驗設計法對於一些比較簡單的程序設計是比較奏效的,可以收到快速、簡單的效果。但是,由於這種方法主要是依靠設計人員的經驗進行設計,所以對設計人員的要求也就比較高,特別是要求設計者有一定的實踐經驗,對工業控製係統和工業上常用的各種典型環節比較熟悉。經驗設計法沒有規律可遵循,具有很大的試探性和隨意性,往往需經多次反複修改和完善才能符合設計要求,所以設計的結果往往不很規範,因人而異。
經驗設計法一般適合於設計一些簡單的梯形圖程序或複雜係統的某一局部程序(如手動程序等)。如果用來設計複雜係統梯形圖,存在以下問題:
(1)考慮不周,設計麻煩,設計周期長。
(2)用經驗設計法設計複雜係統的梯形圖程序時,要用大量的中間元件來完成記憶、聯鎖、互鎖等功能,由於需要考慮的因素很多,它們往往又交織在一起,分析起來非常困難,並且很容易遺漏一些問題。修改某一局部程序時,很可能會對係統其它部分程序產生意想不到的影響,往往花了很長時間,還得不到一個滿意的結果。
(3)梯形圖的可讀性差,係統維護困難用經驗設計法設計的梯形圖是按設計者的經驗和習慣的思路進行設計。因此,即使是設計者的同行,要分析這種程序也非常困難,更不用說維修人員了,這給PLC係統的維護和改進帶來許多困難。
四、 順序功能圖法
前麵已經簡單介紹了順序功能圖 ( Sequence Function Chart,簡稱SFC)法的概念。也有的書上把它稱作功能圖或狀態流程圖法。這種設計方法尤其適用於順序控製係統的設計。所謂順序控製,就是在生產過程中,各執行機構按照生產工藝規定的順序,在各輸入信號的作用下,根據內部狀態和時間的順序,自動地有次序的操作。
在工業控製係統中,順序控製的應用最為廣泛,特別在機械行業中,幾乎都是利用順序控製來實現加工的自動循環。順序控製程序設計的方法很多,其中順序功能圖(SFC)設計法是當前順序控製程序設計中最常用的設計方法之一。
采用順序功能圖法進行順序控製設計方法簡單,規律性強,初學者容易掌握,利用順序控製法,也可以編寫比較複雜的程序。本節將對這種程序設計方法進行全麵講述。
(一)順序控製的幾個基本概念
1.工步及其劃分
生產機械的一個工作循環可以分成若幹個步驟順序進行,在每一步中,生產機械進行著特定的機械動作,在控製係統中,把這種進行特定機械動作的步驟稱為“工步”或“狀態”。每一個工步可用機械動作執行的順序編號來命名。
工步是根據被控對象工作狀態的變化來劃分的,而被控對象的狀態變化又是由PLC輸出狀態(ON、OFF)的變化引起的,因此,PLC輸出量狀態的變化可以作為工步劃分的依據。如某機械的動力頭在運行過程中有四種狀態:快進→工進→快退→停止。
有“快進”、“工進”、“快退”、“停止”四個狀態,即四個工步;該機械的動作由PLC的輸出點1.00、1.01、1.02控製。快進時,PLC輸出端的1.00、1.01兩點有輸出;工進時,PLC輸出端的1.00點有輸出;快退時,PLC輸出端的1.02點有輸出;而停止時,沒有輸出。
當係統正處於某一步所在的階段時,該步處於的狀態有效,稱該步為“活動步”。
2.狀態轉換條件的確定
步的活動狀態的進展是由轉換來實現的。係統從一個原來的狀態進入一個新的狀態,稱為狀態的轉換。使係統由當前步轉入下一步的信號稱為轉換條件。轉換條件可能是外部輸入信號,如按鈕、指令開關、限位開關的接通/斷開等;也可能是PLC內部產生的信號,如定時器、計數器觸點的接通/斷開等;轉換條件也可能是若幹個信號的與、或、非邏輯組合。
SFC法用轉換條件控製代表各步的編程元件,讓它們的狀態按一定的順序變化,然後用代表各步的編程元件去控製各輸出繼電器。
(二)功能圖組成
功能圖的一般形式,它主要由步、有向連線、轉換、轉換條件和動作(命令)組成。
1.步與動作
(1)步步是指控製係統中一個穩定的工作狀態。在功能圖中,步通常表示某個或某些執行元件的狀態,表示過程中的一個動作。在功能表圖中,用矩形框表示步,方框內是該步的編號。各步的編號為n-1、n、n+1、n+2。編程時一般用PLC內部繼電器地址來表示,為了便於識別,也可在上麵用中文注釋。
(2)初始步初始步對應於控製係統的初始狀態,是係統運行的起點。一個控製係統至少要有一個初始步。初始狀態一般是係統等待啟動命令的相對靜止的狀態。初始步用雙線方框表示,每一個功能表圖至少應該有一個初始步。
(3)動作將動作或命令簡稱為動作。一步可以對應一個動作;也可以對應多個動作。並用右邊一列矩形框中的文字或符號表示,該矩形框應與相應的步的符號相連,表示該狀態時對應的動作,框內填寫和該狀態相對應的PLC的輸出和注釋。
(4)動步當係統正處於某一步時,該步處於運行狀態,稱該步為“動步”,相應的動作被執行。控製係統當前沒有運行的步一般稱作“靜步”。
2.有向線段、轉換與轉換條件
(1)有向線段表示狀態進行的方向,若進展方向從上向下,可以不畫箭頭,用無向線段表示;若進行方向從下向上,則必須用箭頭標明連線的走向。隨著時間的推移和轉換條件的實現,將會發生步的活動狀態的順序進展,這種進展按有向連線規定的路線和方向進行。在畫功能圖時,將代表各步的方框按它們成為活動步的先後次序順序排列,並用有向連線將它們連接起來。
(2)轉換有向線段中間的短劃線表示兩個狀態間的轉換,轉換將相鄰兩步分隔開,邊上的字母為轉換條件。轉換條件可書寫元件名稱,如SB1、SQ1,或PLC的元件地址。