《西門子S7-300400PLC技術與應用》課件 第6章 S7-300400的順序編程_第1頁
《西門子S7-300400PLC技術與應用》課件 第6章 S7-300400的順序編程_第2頁
《西門子S7-300400PLC技術與應用》課件 第6章 S7-300400的順序編程_第3頁
《西門子S7-300400PLC技術與應用》課件 第6章 S7-300400的順序編程_第4頁
《西門子S7-300400PLC技術與應用》課件 第6章 S7-300400的順序編程_第5頁
已閱讀5頁,還剩122頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

26六月2025第6

章S7-300/400的順序編程

6.2順序功能圖的構成6.1順序控制的編程6.3順序功能圖的基本結構6.4順序功能圖的梯形圖編程方法6.5順序功能圖的Graph編程方法26六月20256.1順序控制的編程

用傳統的經驗設計法設計梯形圖時,沒有一套固定的方法和步驟可以遵循,對于不同的控制系統,沒有一種通用的容易掌握的設計方法。在設計復雜系統的梯形圖時,用大量的中間單元來完成記憶、聯鎖和互鎖等功能,由于需要考慮的因素很多,它們往往又交織在一起,分析起來非常困難,一般不可能把所有的問題都考慮得很周到。

程序設計出來后,需要模擬調試或在現場調試,發現問題后再針對問題對程序進行修改。即使是非常有經驗的工程師,也很難做到設計出的程序試車能一次成功。

修改某一局部電路時,很可能會引發出別的問題,往往花了很長的時間還得不到一個滿意的結果。

26六月2025

對于復雜順序控制系統僅靠基本指令系統編程會感到很不方便,其梯形圖復雜且不直觀。

PLC引入順序控制這個概念。所謂順序控制,就是按照生產工藝預先規定的順序,在各個輸入信號的作用下,根據內部狀態和時間的順序,在生產過程中各個執行機構自動地有秩序地進行操作。

順序功能圖(SequentialFunctionChar,SFC)是描述控制系統的控制過程、功能和特性的一種圖形,也是設計PLC的順序控制程序的有力工具。順序功能圖是IEC61131-3標準中的編程語言。

有的PLC為用戶提供了順序功能圖語言,例如S7-300/400的S7-Graph語言,在編程軟件中生成順序功能圖后便完成了編程工作,從而提高工作效率。26六月2025

但是有些PLC(包括S7-200和S7-1200)并沒有配備順序功能圖語言。沒有配備順序功能圖語言的PLC也可以用順序功能圖來描述系統的功能,并根據它來設計梯形圖程序——順序控制設計法。

順序控制設計法是一種先進的設計方法,它很容易被初學者接受,對于有經驗的工程師,也會提高設計的效率,程序的調試、修改和閱讀也很方便。26六月20256.2順序功能圖的構成順序功能圖主要由步、有向連線、轉換條件和動作等組成。

下面以機械手為例來了解這些概念。圖6.1機械手順序控制示意圖機械手臂控制系統26六月2025左邊為傳送帶,由電機M驅動,在傳送帶的右端(E點)設有工件傳感器B5,A缸可使機械手左右移動,并設置有左限位開關B1和右限位開關B2;B缸可使機械手上下移動,并設置有下限位開關B3和上限位開關B4;C缸為氣動抓手,通電時抓手動作將工件抓緊,斷電時抓手松開。26六月2025原點位置:A缸縮回到最右端、B缸縮回到最上端、C缸松開狀態。動作過程:當人工將工件放置在D點時,B5動作→機械手下降→下降到位,工件抓取,然后延時2s→機械手上升→上升到位,左移→左移到位,機械手下降→下降到位,放開工件,延時2s→機械手臂上升→上限到位,機械手臂右移返回到原點待命。

26六月2025表6.1機械手實例的輸入輸出分配表元件作用端口號元件作用端口號SB0啟動I1.1YV0機械手上升Q0.2B4上限位檢測I0.2YV1機械手下降Q0.0B3下限位檢測I0.1YV2機械手左移Q0.3B1左限位檢測I0.3YV3機械手右移Q0.4B2右限位檢測I0.4YV4機械手夾緊Q0.1B5有料檢測I0.5

機械手實例的I/O分配表如表6.1所示。26六月2025圖6.2機械手順序功能圖順序功能圖如圖6.2所示。26六月2025

6.2.1

順序控制設計法最基本的思想是將系統的一個工作周期劃分為若干個順序相連的階段,這些階段稱為步(Step)。

然后用編程元件(例如圖6.2中的S1)來代表各步。步是根據輸出量的ON/OFF狀態的變化來劃分的,在任何一步之內,各輸出量的狀態不變,但是相鄰兩步輸出量總的狀態是不同的,步的這種劃分方法使代表各步的編程元件的狀態與各輸出量的狀態之間有著極為簡單的邏輯關系。

順序控制設計法用轉換條件控制代表各步的編程元件,讓它們的狀態按一定的順序變化,然后用代表各步的編程元件去控制PLC的各輸出位。26六月2025

圖6.2的機械手的順序功能圖中。設機械手在初始位置時停在右上位,限位開關I0.2和I0.4都是為1狀態,Q0.0~Q0.4是控制機械手的動作。

根據Q0.0~Q0.4的ON/OFF狀態的變化,一個工作周期可以分為下降、夾緊、上升、左移、下降、松開、上升和右移共8步,另外還應設置等待起動的初始步,圖中分別用S1~S9來代表這9步。圖中用矩形方框表示步,可以用方框中的數字表示各步的編號,也可以用代表各步的存儲器位的地址作為步的代號,例如M0.0等。這樣在根據順序功能圖設計梯形圖時較為方便。26六月2025步主要分為初始步、活動步和非活動步。初始步

初始狀態一般是系統等待啟動命令的相對靜止的狀態。系統在開始進行自動控制之前,首先應進人規定的初始狀態。與系統的初始狀態相對應的步稱為“初始步”。

初始步用雙線方框來表示,每一個順序功能圖至少應該有一個初始步。活動步

當系統正處于某一步所在的階段時,則該步處于活動狀態,被稱為“活動步”。步處于活動狀態時,執行相應的非存儲型動作。非活動步

處于不活動狀態的步稱為“非活動步”,此時,停止執行非存儲型動作。26六月2025

6.2.2

動作或命令可以將一個控制系統劃分為被控系統和施控系統。例如在機械手控制系統中,編程和PLC裝置是施控系統,而機械手是被控系統。對于被控系統,在某一步中要完成某些“動作”(action);對于施控系統,在某一步中向被控系統發出某些“命令”(command)。為了敘述方便,下面將命令或動作統稱為動作,并用矩形框中的文字或符號來表示動作,該矩形框與相應的步的方框用平短線相連。如果某一步有幾個動作,畫狀態轉移圖時候,可以上下排列,也可以左右排列,如圖6.3所示,步Sn對應的兩個動作就有(a)和(b)兩種畫法來表示,但是并不隱含這些動作之間的任何順序。圖6.3動作26六月2025

說明命令的語句應清楚地表明該命令是存儲型的還是非存儲型的。非存儲型動作“機械手左移”,是指該步為活動步時機械手左移,為不活動步時機械手不動作。非存儲型動作與它所在的步是“同生共死”的,例如圖6.2中S2對應的動作Q0.0就是非存儲型動作。某些動作在連續的若干步都應為1狀態(見圖6.2中的Q0.1),可以在順序功能圖中,用動作的修飾詞“S”將它在應為1狀態的第一步置位,用動作的修飾詞“R”將它在應為1狀態的最后一步的下一步復位為0狀態。這種動作是存儲型動作,在程序中用置位、復位指令來實現。26六月2025除了以上的基本結構之外,使用動作的修飾詞可以在一步中完成不同的動作。修飾詞允許在不增加邏輯的情況下控制動作。例如,可以使用修飾詞L來限制某一動作執行的時間。

不過在使用動作的修飾詞時比較容易出錯,初學者在使用動作的修飾詞時要特別小心。在順序功能圖語言S7-Graph中,將動作的修飾詞稱為動作中的命令,在后續章節將詳細地介紹它。26六月2025

6.2.3有向連線與轉換

1.有向連線

有向連線就是狀態間的連接線,它決定了狀態的轉換方向和轉換途徑。

在順序功能圖程序設計中,步的活動狀態一般的進展方向是從上到下或從左至右,在這兩個方向有向連線上的箭頭可以省略。如果不是上述的方向,應在有向連線上用箭頭注明進展方向。26六月20252.轉換步的活動狀態的進展是由轉換的實現來完成的,并與控制過程的發展相對應。轉換用有向連線上與有向連線垂直的短劃線來表示,轉換將相鄰兩步分隔開。

在順序功能圖中,步的活動狀態的進展是由轉換的實現來完成的。

轉換實現必須同時滿足兩個條件:1)該轉換所有的前級步都是活動步。2)相應的轉換條件得到滿足。

轉換實現時應完成以下兩個操作:1)使所有由有向連線與相應轉換符號相連的后續步都變為活動步。2)使所有由有向連線與相應轉換符號相連的前級步變為不活動步。

轉換實現的基本規則是根據順序功能圖設計梯形圖的基礎,它適用于順序功能圖中的各種基本結構。26六月20253.轉換條件

促使系統由當前步進入下一步的信號稱為轉換條件。

轉換條件可以是:外部的輸入信號,例如按鈕、指令開關、限位開關的接通或斷開等;也可以是PLC內部產生的信號,例如定時器、計數器常開觸點的接通等;還可以是若干個信號的與、或、非邏輯組合。26六月2025S7-Graph中的轉換條件用梯形圖或功能塊圖來表示,如圖6.4中的(a)和(b)所示,如果沒有使用S7-Graph語言,一般用布爾代數表達式來表示轉換條件,如圖6.4中的(c)所示。

圖6.4的(c)圖中,用布爾代數表示的轉換條件I0.1表示I0.1為1狀態時轉換實現,轉換條件表示M0.0的常開觸點閉合或I0.2的常閉觸點閉合時轉換實現,在梯形圖中則用兩個觸點的并聯來表示這樣的“或”邏輯關系。26六月2025有時候也用符號↑和↓加在觸點的前面分別表示該觸點出現上升沿或者下降沿的時候轉換實現。

例如:↓I2.3就表示一旦I2.3出現下降沿,則轉換實現。

一般情況下,轉換條件↑I2.3和I2.3是等效的。26六月20256.3順序功能圖的基本結構

在順序控制功能圖程序中,由于控制要求或設計思路的不同,步與步之間的連接形式也不同,從而形成了順序控制功能圖程序的3種不同的基本結構形式:單序列、選擇序列、并行序列。26六月20251.單序列

單序列由一系列相繼激活的步組成,每一步的后面僅有一個轉換,每一個轉換的后面只有一個步,如圖6.5的(a)所示。單序列沒有分支與合并。單序列結構的特點如下:1)步與步之間采用自上而下的串聯連接方式;2)狀態的轉換方向始終是自上而下且固定不變(起始狀態和結束狀態除外);3)除轉換瞬間,通常僅有一個步處于活動狀態。基于此,在單序列中可以使用“重復線圈”(如輸出線圈、內部輔助繼電器等)。26六月20252.選擇序列

流程中存在兩條或者兩條以上路徑,而只能選擇其中一條路徑來走,這種分支方式稱為選擇分支。如圖6.5中的(2)和(3)所示。選擇序列的開始稱為分支。轉換符號只能標在水平連線之下。26六月20252.選擇序列在分支處,同一時間轉移條件只能滿足一個,體現選擇性分支的唯一性。例如圖6.5的(b)中,如果步Sn-1是活動步,并且轉換條件d為1,則系統由步Sn-1轉換到步Sn。如果步Sn-1是活動步,并且d為0,則系統由步Sn-1轉換到步Sn+2。26六月2025

選擇序列的結束稱為合并。幾個選擇序列合并到一個公共序列時,用需要重新組合的序列相同數量的轉換符號和水平連線來表示,轉換符號只允許標在水平連線之上。如果步Sn+1是活動步,并且轉換條件f變為1,則系統由步Sn+1轉換到步Sn+4。如果步Sn+3是活動步,并且h變為1,則系統由步Sn+3轉換到步Sn+4。2.選擇序列26六月2025允許選擇序列的某一條分支上沒有步。但是必須有一個轉換。這種結構稱為“跳步”。

跳步是選擇序列的一種特殊情況,如圖6.5中的(3)號示例。2.選擇序列26六月20253.并行序列

流程中若有兩條或者兩條以上路徑且必須同時執行,這樣的分支方式稱為并行序列。并行序列的開始稱為分支。例如圖6.5中的示例(d),當步Sn-1是活動的,并且轉換條件m變為1,Sn和Sn+2這兩步同時激活為活動步,每個序列中活動步的進展將是獨立的;同時步Sn-1變為不活動步。為了強調轉換的同步實現,水平連線用雙線表示。在表示同步的水平雙線之上,只允許有一個轉換符號。26六月2025并行序列的結束稱為合并,當直接連在雙線上的所有前級步(步Sn+1和Sn+3)都處于活動狀態,并且轉換條件p變為1時,系統才會從步Sn+1和Sn+3轉換到步Sn+4的進展,即步Sn+1和Sn+3同時變為不活動步,而步Sn+4變為活動步。在表示同步的水平雙線之下,只允許有一個轉換符號。3.并行序列26六月20256.4

順序功能圖的梯形圖編程方法在STEP7環境下,順序功能圖既可以用S7GRAPH進行編程,也可以用梯形圖進行編程。梯形圖編程是一種通用的編程方法,適用于各種廠家各種型號的PLC,是PLC工程技術人員必須掌握的編程方法。順序功能圖的每一步用梯形圖編程時都需要用2個程序段來表示:第1個程序段實現從當前步到下一步的轉換。第2個程序段實現轉換以后的步的功能。

一般用一系列的位存儲器(如M0.0、M0.1…)分別表示順序功能圖的各步(S1、S2……),要實現步的轉換,就要用當前步及其轉換條件的邏輯輸出去置位下一步,同時復位當前步。26六月2025

6.4.1單流程的梯形圖編程1.單流程的梯形圖編程說明

圖6.6(a)所示的單流程序列對應的梯形圖編程程序如圖6.7(b)所示。步的輸出邏輯部分可根據設備工藝要求,采用一般的輸出指令(如輸出2、輸出4),或保持性的置位指令(如輸出1)及復位指令(如輸出3)。圖6.6單流程的梯形圖編程說明26六月20252.單流程的梯形圖編程舉例設動力滑臺在初始位置時停在左邊,限位開關I1.3為1狀態,Q0.0~Q0.2是控制動力滑臺運動的3個電磁閥。按下起動按鈕后,動力滑臺的一個工作周期由快進、工進、暫停和快退組成,返回初始位置后停止運動。圖6.7

液壓動力滑臺的進給運動示意圖

和輸入/輸出信號的時序圖26六月2025根據Q0.0~Q0.2的ON/OFF狀態的變化,一個工作周期可以分為快進、工進、暫停和快退這4步,另外還應設置等待起動的初始步,圖中分別用M1.0~M1.4來代表這5步。順序功能圖中用矩形方框表示步。可以用方框中的數字來作各步的編號,例如S0等;也可以用代表各步的存儲器位的地址作為步的代號,例如M1.0等,這樣在根據順序功能圖設計梯形圖時較為方便。26六月2025該順序功能圖對應的梯形圖程序分為兩個部分:一個是初始化程序OB100,用來進入第一個步序M1.0,如圖6.8所示,通過將MW0賦值為W#16#1,來置位M1.0;另一個則是主程序OB1,用來實現步序之間的轉換,如圖6.9所示。圖6.8工作臺實例的OB100程序26六月2025圖6.9工作臺實例的OB1程序注意:Network4的寫法。因為步序中M1.1和M1.2都是輸出Q0.0,如果分開編寫程序會造成Q0.0按照后一個驅動程序的結果來顯示,所以要將M1.1和M1.2并聯來驅動Q0.0。26六月2025

6.4.2

選擇分支流程的梯形圖編程1.選擇分支流程的梯形圖編程說明

以圖6.10所示的選擇流程為例,其對應的梯形圖編程程序如圖6.11所示。選擇分支流程用梯形圖編程時,用分支前的最后一步(Sn-1)及其轉換條件(條件a或者條件b)的邏輯輸出置位2個分支中其中一個分支的第一步(Sn或Sn+2),并對分支前的最后一步(Sn-1)復位;其中一個選擇分支的最后一步(Sn+1或Sn+2)及其轉換條件(條件c或條件e)的邏輯輸出置位匯合后的第一步(Sn+3),并對相應分支的最后一步(Sn+1或Sn+2)復位。26六月2025圖6.10選擇分支流程示例圖6.11選擇流程的梯形圖編程說明26六月2025圖6.11選擇流程的梯形圖編程說明圖6.10選擇分支流程示例26六月20252.選擇分支流程的梯形圖編程舉例圖6.12為小球分類傳送系統示意圖。左上為原點,動作順序為:下降→吸收→上升→右行→下降→釋放→上升→左行。當機械臂下降時,若電磁鐵吸住大球,下限位開關LS2斷開;若吸住小球,LS2接通。26六月2025圖6.13小球分類系統功能轉移圖26六月2025該順序功能圖對應的梯形圖程序分為兩個部分:一個是初始化程序OB100,用來進入第一個步序M1.0,如圖6.14所示,通過將MW0賦值為W#16#1,來置位M1.0;另一個則是主程序OB1,用來實現步序之間的轉換,如圖6.15所示。圖6.14工作臺實例的OB100程序26六月2025圖6.15小球分類系統實例的OB1程序圖26六月2025圖6.15

小球分類系統實例的OB1程序圖26六月2025

6.4.3并行分支流程的梯形圖編程

1.并行分支流程的梯形圖編程說明圖6.16所示的并行分支流程對應的梯形圖編程程序如圖6.17所示。并行分支流程用梯形圖編程時,用分支前的最后一步(Sn-1)及其轉換條件(條件a)的邏輯輸出同時置位各并行分支的第一步(Sn和Sn+2),并對分支前的最后一步(Sn-1)復位;用各并行分支的最后一步(Sn+1和Sn+2)及其轉換條件(條件c)的邏輯輸出置位并行分支匯合后的第一步(Sn+3),并對相應分支的最后一步(Sn+1和Sn+2)復位。26六月2025

圖6.16

選擇分支流程示例圖6.17

選擇分支流程的梯形圖編程說明26六月2025圖6.17

選擇分支流程的梯形圖編程說明圖6.16

選擇分支流程示例26六月20252.并行分支流程的梯形圖編程舉例

某專用鉆床用來加工圓形零件上均勻分布的6個孔(見圖6.18),上面是側視圖,下面是工件的俯視圖。在進入自動運行之前,兩個鉆頭應在最上面,上限位開關I0.3和I0.5為1狀態,系統處于初始步,減計數器C1的設定值3被送入計數器字。圖6.18

并行鉆孔實例示意圖26六月2025圖6.19

并行鉆孔系統功能轉移圖在圖6.19中用存儲器位M來代表各步,順序功能圖中包含了選擇序列和并行序列。操作人員放好工件,按下啟動按鈕I0.0,轉換條件I0.0、I0.3和I0.5同時滿足,由初始步轉換到步M1.1,Q0.0置位為1,工件被夾緊。夾緊后壓力繼電器I0.1為1狀態,由步M1.1轉換到步M1.2和M1.5,Q0.1和Q0.3使兩只鉆頭同時開始向下鉆孔。26六月2025大鉆頭鉆到由限位開關I0.2設定的深度時,進入步M1.3,Q0.2使大鉆頭上升,升到由限位開關I0.3設定的起始位置時停止上升,進入等待步M1.4。小鉆頭鉆到由限位開關I0.4設定的深度時,進入步M1.6,Q0.4使小鉆頭上升,升到由限位開關I0.5設定的起始位置時停止上升,進入等待步M1.7。在步M1.5,設定值為3的計數器C1的當前值減1。圖6.19

并行鉆孔系統功能轉移圖26六月2025圖6.19

并行鉆孔系統功能轉移圖減1后當前值為2(非0),C1的常開觸點閉合,轉換條件C1滿足兩個鉆頭都上升到位后,將轉換到步M2.0。Q0.5使工件旋轉120度,旋轉到位時I0.6變為1狀態,又返回步M1.2和M1.5,開始鉆第二對孔。3對孔都鉆完后,計數器的當前值變為0,其常閉觸點閉合,轉換條件/C1滿足,進入步M2.1,Q0.6使工件松開。松開到位時,限位開關I0.7為1狀態,系統返回初始步M1.0。26六月2025圖6.19

并行鉆孔系統功能轉移圖步M2.0上面的轉換條件如果改為I0.6,因為在工件開始旋轉之前限位開關I0.6就處于1狀態,轉換條件滿足,導致工件不能旋轉。轉換條件“↑I0.6”則不存在這個問題,工件旋轉120度后。I0.6由0狀態變為1狀態,轉換條件“↑I0.6"才滿足,轉換到步M1.2和步M1.5后,工件停止旋轉。26六月2025圖6.19

并行鉆孔系統功能轉移圖因為要求兩個鉆頭向下鉆孔和鉆頭提升的過程同時進行,采用并行序列來描述上述的過程。

由M1.2→M1.3→M1.4和M1.5→M1.6→M1.7組成的兩個單序列分別用來描述大鉆頭和小鉆頭的工作過程。26六月2025在步M1.1之后,有一個并行序列的分支。當M1.1為活動步,且轉換條件I0.1得到滿足(I0.1為1狀態),并行序列的兩個單序列中的第1步(步M1.2和M1.5)同時變為活動步。此后兩個單序列內部各步的活動狀態的轉換是相互獨立的,例如大孔或小孔鉆完時的轉換一般不是同步的。兩個單序列的最后一步(步M1.4和M1.7)應同時變為不活動步。但是兩個鉆頭一般不會同時上升到位,不可能同時結束運動,所以設置了等待步M1.4和M1.7,它們用來同時結束兩個并行序列。當兩個鉆頭均上升到位,限位開關I0.3和I0.5分別為1狀態,大、小鉆頭兩子系統分別進入兩個等待步,并行序列將會立即結束。26六月2025該順序功能圖對應的梯形圖程序分為兩個部分:一個是初始化程序OB100,用來進入第一個步序M1.0,和上例中的圖6.14一樣,通過將MW0賦值為W#6#1,來置位M1.0;另一個則是主程序OB1,用來實現步序之間的轉換,如圖6.20所示。26六月2025圖6.20

并行鉆孔系統實例的OB1程序圖26六月2025圖6.20

并行鉆孔系統實例的OB1程序圖26六月20256.5順序功能圖的Graph編程方法

S7Graph是STEP7標準編程功能的補充,是針對順序控制系統進行編程的圖形編程語言。

S7Graph中包含了順序器(S7Graph程序)的創建、每個“步”的內容、跳轉和轉移的規范。S7Graph表示了順序的結構,以方便進行編程、調試和查找故障。下面以完成圖6.7所示的液壓動力滑臺為例,介紹S7Graph的功能。6.5.1S7Graph的編程環境

26六月2025首先創建一個目錄并完善目錄的硬件組態,然后在塊的目錄里插入編寫語言為GRAPH的功能塊。方法是在空白處點擊右鍵,選擇“InsertNewObject(插入)”→“FunctionBlock(功能塊)”,如圖6.21所示。6.5.1S7Graph的編程環境

26六月2025在插入功能塊的過程中,自動彈出咨詢設置功能塊屬性的對話框,在創建語言欄里選擇“GRAPH”,如果有必要同時可以填寫其他的一些附加信息,如圖6.22所示,然后點擊“確定”。圖6.22

功能塊設置對話框6.5.1S7Graph的編程環境

26六月2025在塊目錄里可以看到剛插入的功能塊(本例是FB1),雙擊FB1的圖標打開FB1的編程界面,如圖6.23所示,可以看到在FB1中,自動創建了第1“步”(S1)和第1個“轉移”(Trans1)。圖6.23S7GRAPH編程初始界面6.5.1S7Graph的編程環境

26六月2025S7Graph界面由菜單欄、通用快捷工具、順序器工具條、瀏覽窗口、程序界面及信息窗口組成。6.5.1S7Graph的編程環境

26六月2025瀏覽窗口里可以查看Graphics(圖形)、Sequencer(順序器)和Variables(變量)3種瀏覽界面:Graphics(圖形)瀏覽窗上面和底下是永久程序界面,中間是分層的Graph程序界面。Sequencer(順序器)瀏覽窗可以瀏覽程序的總體結構,同時可以瀏覽程序界面的局部內容。Variables(變量)瀏覽窗可以瀏覽到編程時可能用到的元素,在這里除系統變量外,可以定義、編輯及修改變量。6.5.1S7Graph的編程環境

26六月2025一個S7GraphFB最多可以編寫250個“步”和250個“轉換”。

當S7GraphFB激活時總是從最頂的“步”或從初始“步”開始執行。一個S7GraphFB可以編寫多個Sequencer(順序器)。

每個Sequencer(順序器)最多可以編寫256個分支、249個并行分支及125個選擇分支,具體容量與CPU型號有關。一個順序控制項目至少由S7GraphFB(可以是OB、FC、SFC、FB、SFB)、Sequencer(可以有多個順序器)和DB(數據塊,包括SDB)組成。6.5.1S7Graph的編程環境

26六月2025“步”和一個“轉移”,如圖6.24所示。圖6.24

插入步6.5.1S7Graph的編程環境

分析圖6.7所示的液壓滑臺動作,可以使用5個“步”來完成控制。在FB1里增加“步”,方法是使用鼠標點擊“Trans1”附近(虛線框大小的范圍),然后點擊“”符號,即可以在指定地方插入一個26六月2025S7Graph在進行插入操作中,允許兩種模式:Direct和Drag-and-Drop:選擇Direct(直接)模式:點擊“Insert”→“Direct”表示選擇直接模式。也可以點擊“Sequencer”工具條的“

”圖標讓其凸上來,表示選擇直接模式。

使用Direct(直接)模式:首先在界面選擇準備插入的位置,然后點擊圖6.25所示希望插入的目標圖標,即可以在指定位置插入期待的目標。如果是插入多個相同的目標,可以連續點擊目標的圖標,每點擊一次就插入一個。6.5.1S7Graph的編程環境

圖6.25Sequencer工具條26六月2025選擇Drag-and-Drop(拖放)模式:點擊“Insert”→“Drag-and-Drop”表示選擇拖放模式。也可以點擊“Sequencer”工具條的“

”圖標讓其凹下去,表示選擇拖放模式。

使用Drag-and-Drop(拖放)模式:首先點擊圖6.25所示希望插入的目標圖標,然后移動鼠標,在移動鼠標過程中鼠標的附加指示標識可能會出現兩種情況:禁止和允許。

當移動鼠標到希望插入目標的位置時,鼠標的附加指示標識變為“允許”,這時點擊鼠標左鍵,即可以在指定位置插入期待的目標,然后按鼠標右鍵或者點擊“

”讓其凹下去表示本次插入動作完成。如果顯示的標識是“禁止”,則表明該原件不能放置在鼠標當前的位置。

如果是插入多個相同的目標,在做按鼠標右鍵或者點擊“

”讓其凹下去這個動作前,在插入目標的地方處于“允許”狀態時,可以連續點擊鼠標左鍵,每點擊一次就插入一個。多個目標插入完成后按鼠標右鍵或者點擊“

”讓其凹下去,表示本次插入動作完成。6.5.1S7Graph的編程環境

S7Graph在進行插入操作中,允許兩種模式:Direct和Drag-and-Drop:26六月20256.5.2S7Graph的步與步的動作命令圖6.26步的組成

一個S7GRAPH順控器由多個步組成,其中的每一步都由步序(如s4),步名(如step4),轉換編號(如T4)、轉換名、轉換條件(M0.0)和步的動作等幾個部分組成,步的組成如圖6.26所示。

步的步序、轉換編號和步名由系統自動生成,一般不需要更改,如果需要,也可以由用戶用自己定義,但必須唯一;轉換條件可由LAD或FBD指令編輯;步的動作行由命令和操作數組成,左邊的方框用來寫入命令,右邊的方框為操作數地址。26六月2025在程序中插入“步”的動作框:首先選擇插入模式“直接”或“拖放”,然后點擊“Insert”→“Action”或“

”圖標,即可以插入“步”的動作框,如圖6.27所示。圖6.27

插入步的動作命令6.5.2S7Graph的步與步的動作命令26六月2025在動作框里編輯控制動作:每一個動作框包含指令和地址。

比如在動作框左邊寫上指令“N”,在右邊寫上地址“Q0.0”,表示當該“步”為活動步時Q0.0輸出“1”,當該“步”為不活動步時Q0.0輸出“0”,按照同樣方法把每一“步”的動作框編寫完整,如圖6.28所示。6.5.2S7Graph的步與步的動作命令圖6.28液壓滑臺中每一步的動作26六月2025

動作分為標準動作和與事件有關的動作,動作中可以有定時器、計數器和算術運算。1、常用的標準動作6.5.2S7Graph的步與步的動作命令表6.2標準動作中的命令26六月20252、動作的互鎖

可以對標準動作設置互鎖(在指令的后面加“C”),僅在步處于活動狀態和互鎖條件滿足時,有互鎖的動作才被執行。沒有互鎖的動作在步處于活動狀態時就會被執行。

圖6.29中的步S4的左上角標有字母“C”,表示這些步設置了互鎖。6.5.2S7Graph的步與步的動作命令圖6.29互鎖、監控命令示例26六月20253、與事件有關的動作

動作可以與事件結合。

事件是指步、監控信號、互鎖信號的狀態變化、信息(message)的確認(acknowledgment)或注冊(registration)信號被置位。

控制動作的事件如圖6.30所示。指令只能在事件發生的那個循環周期執行。6.5.2S7Graph的步與步的動作命令圖6.30控制動作的事件26六月2025圖6.31與事件有關的命令6.5.2S7Graph的步與步的動作命令

除了動作D(延遲)和L(脈沖限制)外,其他命令都可以和事件進行邏輯組合。如圖6.31所示。表6.3控制動作的事件名稱事件意義S1步變為活動步S0步變為不活動步V1發生監控錯誤(有干擾)V0監控錯誤消失(無干擾)L1連鎖條件解除L0連鎖條件變為1A1信息被確認R1在輸入信號PEGEF/REGS的上升沿,記錄信號被置位26六月20254、ON指令與OFF指令

ON指令和OFF指令分別使指定的步變為活動步或不活動步。這兩條指令可以與互鎖條件組合,即可以使用指令ONC和OFFC。

如圖6.31中的步S2變為活動步后,各動作按下述方式執行:1)一旦S2變為活動步(出現事件S1)和互鎖條件滿足,指令“S1R

C"將Q2.0復位為0并保持0狀態不變;2)一旦監控錯誤發生(出現事件V1),除了動作中的指令“V1OFF”所在的步S2,其他的活動步變為不活動步。S_ALL為地址標識符。3)S2變為不活動步時(出現事件S0),將步S1變為活動步。6.5.2S7Graph的步與步的動作命令26六月20255、計數器指令

動作中還可以使用定時器指令、計數器指令和算術運算指令。定時器、計數器指令僅在事件發生時執行。這些指令可以與互鎖條件組合,它們與語句表中的指令功能相同。

計數器指令CS將初值裝入計數器,CS指令下面一行是要裝入的計數器的初值。事件發生時,CU、CD、CR指令使計數值分別加1,減1或將計數值復位為0。計數值為0時計數器位為0,計數值非0時計數器位為1。

圖6.34中的步S3變為活動步時,事件S1使計數器C4的值加1,C4可以用來計步S4變為活動步的次數。6.5.2S7Graph的步與步的動作命令圖6.32

與事件有關的計數器舉例26六月20256、定時器指令

TD指令用來實現定時器位有閉鎖功能的延遲,TL為沒有閉鎖功能的擴展的脈沖定時器指令。

一旦事件發生,定時器被起動。互鎖條件C僅僅在定時器被起動的那一時刻起作用。定時器被起動后將繼續定時,而與互鎖條件和步的活動性無關。正在定時的定時器可以被新發生的事件重新起動。在<time>指定的時間內,TD的定時器位為0,定時時間到時,定時器位變為1。重新起動后,在<time>指定的時間內,定時器位為0,定時時間到時,定時器位變為1。在<time>指定的時間內,TL的定時器位為1,此后變為0。重新起動后,又將輸出一個寬度為<time>的脈沖。

TR是復位定時器指令,事件發生時定時器被復位,定時器停止定時,定時器位與定時值被復位為0。6.5.2S7Graph的步與步的動作命令26六月2025

圖6.32中的步S3變為活動步后,T2開始定時,T2的定時器位為0狀態。5S后T2的定時器位變為1狀態。

6.5.2S7Graph的步與步的動作命令26六月20257、算術運算指令在動作中可以使用下列算術表達式指令,包含算術表達式的動作應使用N或NC指令1)直接賦值——A:=B。2)內置的函數——A:=函數(B),S7-Graph內置的函數有數據類型轉換、求補碼/求反碼、循環移位和浮點數運算等函數。

3)使用運算符號指定數學運算——A:=B<運算符號>C,例如“A:=B+C”。

算術表達式中必須使用英文中的符號。包含算術表達式的動作應使用“N”命令,動作可以由事件來決定,可以設置事件出現時執行一次,或步處于活動狀態時每一個循環周期都執行。這些動作也可以與連鎖結合。6.5.2S7Graph的步與步的動作命令26六月20256.5.3轉換條件

轉換條件可以是事件,例如某步變為不活動步;也可以是狀態,例如輸入點(I1.0)等。

條件可以在轉換(Transition)、互鎖(Interlock)、監控(Supervision)和永久性指令(Permenentinstructions)中出現。

轉換條件由梯形圖或功能塊圖中的元件根據布爾邏輯組合而成。邏輯運算的結果(RLO)可能影響某步個別的動作、整個步、到下一步的轉換或整個順序器。26六月20256.5.3轉換條件1、轉換條件轉換條件使順序器從一步轉換到下一步。編寫轉換條件程序的語言有LAD(梯形圖)和FBD(功能圖塊)兩種,點擊“View"→"LAD”或“FBD”可以在這兩種語言中互相切換,如圖6.33所示,本例選擇LAD梯形圖。圖6.33

選擇編輯轉移條件的語言26六月2025

轉移條件程序的指令一般可以是常開觸點、常閉觸點、比較指令、監視時間T或監視時間U,在順序器工具條中分別用“

”、“

”、“

”、“

”和“

”表示(選擇梯形圖編程語言時)。

插入轉移“指令”:首先選擇插入模式“直接”或“拖放”,然后點擊“

”、“

”、“

”、“

”或“

”圖標,即可以在指定地方插入轉移指令。然后在每個指令的地方寫上地址即可。

比如選擇“直接”模式,選中“步1”(S1)的轉移指令地方,由于該例的轉移條件是I1.0和I1.3的串聯,所以要點擊兩次“

”就可以把兩個常開觸點串聯指令放到“步1”(S1)的轉移指令里,然后寫上指令的地址“I1.0”和“I1.3”,如圖6.34所示。6.5.3轉換條件26六月20256.5.3轉換條件圖6.34編輯轉移條件26六月2025

使用同樣方法編寫其他步的轉移指令,如圖6.35所示。圖6.35

完成各步轉移條件的程序6.5.3轉換條件26六月2025

順序器中“步”的最后,一般是跳轉或結束指令,在順序器工具條中分別用“

”和“

”表示。

插入跳轉或結束“指令”:首先選擇插入模式“直接”或“拖放”,然后點擊“

”或“

”圖標,即可以在指定地方插入結束指令。如果是跳轉指令還需要寫上跳轉到那一“步”的地址代碼。比如選擇“直接”模式,選中“步5”(S5)的跳轉或結束指令地方,再點擊“

”就可以把跳轉指令放到“步5”(S5)的跳轉或結束指令里,然后寫上指令的地址“S1”,如圖6.38所示,意思是要求完成“步5”(S5)后跳轉到“步1”(S1),完成一個動作周期后開始下一個動作周期。6.5.3轉換條件26六月2025圖6.38完整的液壓滑臺程序6.5.3轉換條件26六月20252、互鎖條件

互鎖是可以編程的條件,用于步的聯鎖,能影響某個動作的執行,在單步顯示模式對互鎖編程。如果互鎖條件的邏輯滿足,受互鎖控制的動作被執行,例如在互鎖條件滿足時,執行動作中的指令“L0CALLFC10”,將調用功能FC10。其中的“L0”表示互鎖條件變為1(見表6.3)。如果互鎖條件的邏輯不滿足,不執行受互鎖控制的動作,發出互鎖條件解除信號(事件L1)。6.5.3轉換條件26六月20253、監控條件監控(Supervision)是可編程的條件,用于監視步,可能影響順序器從一步轉換到下一步的方式。在單步顯示模式對監控編程,在所有的顯示模式,用步的左下角外的字母V來表示該步已對監控編程(見圖6.29中的步S4)。如果監控條件的邏輯運算滿足,表示有干擾事件V1發生。順序器不會轉換到下一步,當前步保持為活動步。監控條件滿足時立即停止對步無故障的活動時間值Si.U的定時。如果監控條件的邏輯運算不滿足,表示沒有干擾,如果后續步的轉換條件滿足,順序器轉換到下一步。每一步都可以設置監控條件,但是只有活動步被監控。

發出和確認監控信號之前,必須在S7-Graph編輯器中先執行菜單命令“Options”(選項)→“BlockSettings”(塊設置),在“BlockSettings”對話框的“Compile/Save”(編譯/保存)選項卡(見圖6.37)中進行設置:6.5.3轉換條件26六月20256.5.3轉換條件圖6.37

設置塊的參數在“FBParameters”(FB參數)區選中:“Minimum”(最小)、“Standard”(標準)、“Maximum”(最大)或“User-Definable”(用戶定義),這樣S7-Graph可以用功能塊的輸出參數ERR_FLT發出監控錯誤信號。在“SequencerProperties”(順序器屬性)區選中“Acknowledgeerrors”(確認錯誤)。在運行時發生監控錯誤,必須用功能塊的輸入參數ACK_EF確認。必須確認的錯誤只影響有關的順序器序列,只有在錯誤被確認后,受影響的序列才能被重新處理。26六月20254、S7-Graph地址在條件中的應用可以在轉換、監控、互鎖、動作和水久性的指令中,以地址的方式使用關于步的系統信息,如表6.4所示。6.5.3轉換條件26六月20256.5.4S7-Graph的功能參數集執行菜單命令“Options”(選項)→“BlockSettings”(塊設置),在打開的對話框的“FBParameters”(FB參數),如圖6.37所示。在FBParameters區域有四個參數集選項分別為:“Minimum”(最小)“Standard”(標準)“Maximum”(最大)“User-Definable”(用戶定義)

不同的參數及對應的功能塊形式也不相同。26六月2025如圖6.38所示為不同參數集對應的功能塊形式,在不同情況下可以選擇不同參數集。6.5.4S7-Graph的功能參數集26六月2025本例中,用單選框選中“Standard”(標準參數集),單擊“OK”按鈕確認。單擊工具欄上“

”按鈕,保存和編譯FB1中的程序。如果程序有錯誤,下面的詳細窗口將給出錯誤提示和警告,改正錯誤后才能保存程序。

雙擊打開OB1,設置編程語言為梯形圖。將指令列表的“FB塊”文件夾中的FB1拖放到程序段1上。在FBI方框的上面輸入它的背景數據塊的DB1,按回車鍵后出現的對話框詢問“實例數據塊DB1不存在,是否要生成它。單擊“是”按鈕確認。FBI的形參INITSQ為1狀態時,順序器被初始化,僅初始步為活動步,如圖6.39所示。6.5.4S7-Graph的功能參數集26六月20256.5.4S7-Graph的功能參數集圖6.39OB1的程序26六月2025

最后打開PLCSIM(或實際的PLC),在管理界面里把站的所有信息下載到CPU中。在PLCSIM界面里打開IB1、QB0及MB0的垂直變量窗口,并點擊“Tools”→“Options”→“AttachSymbols”,按照保存的路徑打開該項目的符號表并雙擊符號表,符號信息即可以顯示在PLCSIM界面了,如圖6.40所示。6.5.4S7-Graph的功能參數集圖6.40調試程序對話框26六月2025單步調試:6.5.4S7-Graph的功能參數集按下按鈕I1.0和I1.3,順序控制器從初始步S1轉移到S2,Q0.0和Q0.1亮起來了,表示滑臺在快進;關閉按鈕I1.0和I1.3,按下按鈕I1.1,順序控制器從步S2轉移到S3,Q0.0繼續點亮,Q0.1熄滅,表示滑臺在工進;關閉按鈕I1.1,按下按鈕I1.2,順序控制器從步S3轉移到S4,Q0.0熄滅,表示滑臺暫停并開始計時;26六月2025單步調試:6.5.4S7-Graph的功能參數集計時5S時間到,順序控制器從步S4轉移到S5,Q0.2被點亮,表示滑臺在快退;關閉按鈕I1.2,按下按鈕I1.3,順序控制器從S5轉移到初始步S1,等待下一各動作周期的開始。

圖6.43為該程序調試過程中的截圖。26六月20256.4.5使用S7Graph的“ControlSequencer”工具調試在管理界面把項目信息下載到CPU中,然后打開塊目錄的FB1。在FB1界面里點擊菜單欄的“Debug”→“ControlSequencer”,自動彈出圖6.42所示的控制順序器界面。圖6.44調試過程中FB1監視截圖26六月2025

在控制順序器界面,有4種調試模式:自動、手動、單步和自動/切換到下一步。當CPU在RUN狀態時只能在自動調試模式;當在RUN-P狀態時,可以在自動、手動、單步3種模式之間互相切換。

1、自動(Automatic)模式

在自動模式,當轉換條件滿足時,由當前步轉換到下一步。

用PLCSIM模擬輸入信號,使系統進入非初始步。

點擊“Disable”(禁止)按鈕,使順序器所有的步變為不活動步,點擊“Initialize”(初始化)按鈕,便初始步變為活動步,其他步變為不活動步。這兩個按鈕可用于各種運行模式。

出現監控錯誤時,例如某步的執行時間超過監控時間,該步變為紅色。點擊“Acknowledge”(確認)按鈕,將確認被掛起的錯誤信息。如果轉換條件滿足,確認錯誤時將轉換到下一步。6.4.5使用S7Graph的“ControlSequencer”工具調試26六月20252、手動(Manual)模式

在手動模式,轉換條件滿足不會轉換到后續步,步的活動狀態的控制是用手動完成的。

選擇手動模式后,用“Disable”(禁止)按鈕關閉當前的活動步。

在“StepNumber”輸入框中輸入希望控制的步的編號,用“Activate”(激活)按鈕或“Deactivate”(去活)按鈕來使該步變為活動步或不活動步。

在單序列順序器中,同時只能有一步是活動步。需要把當前的活動步變為不活動步后,才能激活其他步。6.4.5使用S7Graph的“ControlSequencer”工具調試26六月20253、單步(Inching)模式

在單步模式,某一步之后的轉換條件滿足時,不會轉換到下一步,需要點擊“Continue”(繼續)按鈕,才能使順序器轉換到下一步。

使用此模式應滿足下述條件:S7-GraphFB應能使用FC72/FC73在自動模式下運行。“BlockSettings”(塊設置)對話框的“Compile/Save”(編譯與保存)選項卡中沒有選擇“Lockoperatingmodeselection”(閉鎖操作模式選擇)。6.4.5使用S7Graph的“ControlSequencer”工具調試26六月20254、Automaticorswitchtonext模式

在“自動或切換到下一步”模式,如果轉換條件滿足,將自動轉換到下一步。

即使轉換條件未滿足,用“Continue”(繼續)按鈕也能從當前步轉換到后續步。5、錯誤顯示

沒有互鎖(Interlock)錯誤或監控(Supervtsion)錯誤時,相應的小方框為綠色,反之為紅色。

點擊圖6.42中的“More>>”按鈕,可以顯示對話框中能設置的其他附加參數,按<F1>鍵打開在線幫助,可以得到詳細的信息。6.4.5使用S7Graph的“ControlSequencer”工具調試26六月20256.5.6使用S7Graph的選擇分支程序實例

下面以小球分揀系統來講解怎樣使用S7Graph進行選擇分支程序的編寫,特別是選擇分支與合并程序的編程方法。首先建立項目“小球分揀GR”并完善項目的硬件組態,如圖6.43所示,同時插入一個編程語言為“GRAPH”的功能塊(本例是FB1)和FB1的背景數據塊DB1。圖6.43小球分揀系統GR項目26六月2025打開FB1并在里面插入單序列的步,然后選中(點擊鼠標左鍵代表選中)需要插入選擇分支的地方(如圖中的S2),然后點擊“

”即可以插入一個選擇分支的“條件”,如圖6.44中的“T7”。圖6.44小球分揀系統插入選擇分支序列6.5.6使用S7Graph的選擇分支程序實例26六月2025點擊選擇分支需要合并的“條件”。本例中選中條件“T10”,點擊“

”,這時鼠標出現一個附加的光標,把附加的光標拖動到準備合并的地方(本例是T6下方),如圖6.45所示,然后點擊鼠標左鍵即可。圖6.45小球分揀系統選擇分支合并6.5.6使用S7Graph的選擇分支程序實例26六月2025

在各個“步”按照系統要求編寫動作程序和轉移條件程序,如圖6.46~6.49所示。圖6.46小球分揀系統GR程序(1)6.5.6使用S7Graph的選擇分支程序實例26六月2025圖6.47小球分揀系統GR程序(2)6.5.6使用S7Graph的選擇分支程序實例26六月2025圖6.48小球分揀系統GR程序(3)6.5.6使用S7Graph的選擇分支程序實例26六月2025圖6.49小球分揀系統GR程序(4)6.5.6使用S7Graph的選擇分支程序實例26六月2025一般在Graph中,畫復雜的順序功能圖時,為了突出重點,便于觀察,可以點擊顯示工具欄上的

按鈕,關閉動作和轉換條件,只顯示步和有向連線,那么該小球分揀系統的程序如圖6.50所示。圖6.50小球分揀系統GR程序(只顯示步)6.5.6使用S7Graph的選擇分支程序實例26六月2025編寫該例的符號圖6.51小球分揀系統符號6.5.6使用S7Graph的選擇分支程序實例26六月2025圖6.52小球分揀系統OB1中的程序6.5.6使用S7Graph的選擇分支程序實例在OBl里編寫調用FB1的程序26六月2025圖6.53小球分揀系統GR的PLCSIM6.5.6使用S7Graph的選擇分支程序實例在項目管理界面把整個項目信息下載到CPU中(本例是PLCSIM),如圖6.53所示。26六月2025

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論