S7-GRAPH的使用

本人對一個抓料機械手設備進行改造,使用的是

S7-GRAPH順序編程功能 在此針對於S7-GRAPH的使用做一個簡單的介紹,希望給大家有所學習和幫助。

基於S7-GRAPH的抓料機械手設備改造

· 第一部分:S7-GRAPH的簡介

· 第二部分:S7-GRAPH的相關概念及使用方法

· 第三部分:順控器規則

· 第四部分:抓料機械手程序的編寫及調試

第一部分:S7-GRAPH的簡介

S7-GRAPH具有以下特點:

(1. 適用於順序控制程序。

(2. 符合國際標準IEC61131-3。

(3. PLCopen基礎級認證。

(4. 適用於 SIMATIC S7-300(推薦用於CPU314以上的CPU),S7-400, C7 andWinAC。

S7-GRAPH 順序控制功能在編程上做了相應優化處理,它不僅僅具有PLC典型的元素(輸入/輸出、定時器、計數器),而且增加了以下概念:

多個順控器(最多8個)

步驟(每個順控器最多250個)

每個步驟的動作(每步做多100個)

轉換條件(每個順控器最多250個)

分支條件(每個順控器最多250個)

邏輯互鎖(最多32個條件)

監控條件(最多32個條件)

切換運行模式:手動、自動及點動模式

第二部分:S7-GRAPH的相關概念及使用方法

作為 STEP7 的選項包,S7-GRAPH軟件在安裝後,將被集成在STEP7中使用。S7-GRAPH 的編程界面為圖形界面,是針對順序控制系統進行編程的圖形編程語言,S7-GRAPH 中包含了順序器(S7-GRAPH 程序)的創建,每個'步'的內容,跳轉和轉移的規範。同時S7-GRAPH 還表示了順序的結構,以方便進行編程,調試和查找故障。

1. 順序控制程序的結構

用S7-GRAPH編寫的順序功能圖程序,以功能塊(FB)的形式被主程序OB1調用。S7-GRAPH FB 包含許多系統定義的參數,通過參數設置來對整個順序系統進行控制,從而實現系統的初始化和工作方式的轉換等功能。

一個順序控制項目至少需要3個塊

(1) 一個調用S7-GRAPH FB 的塊,它是以組織塊、功能、或功能塊。

(2) 一個用來描述順序控制系統各子任務和相互關係的S7-GRAPH FB ,它由一個或多個順序控制器和可選的永久性指令組成。

(3) 一個指定給S7-GRAPH FB 的背景數據塊,它包含了順序控制系統的參數。

一個S7-GRAPH FB 最多可以包含250步和250個轉換。

在調用S7-GRAPH FB時,順序控制器從第一步或從初始步開始啟動。

一個順序控制器最多包含了256個分支,249條並行序列的分支和125條選擇序列的分支,實際上這與CPU的型號有關,一般只能用20-40條分支,否則執行的時間將會變長。

可以在路徑結束時,在轉換之後添加一個跳步(jump)或一個支路的結束點(stop)。結束點將使正在執行的路徑變為不活動的路徑。

S7-GRAPH的使用

2. 用戶界面

(1)生成新S7-GRAPH 程序

首先,在STEP7 當中生成一個新項目,命名為: 機械手控制

S7-GRAPH 格式的 FB ,右鍵點擊Block 中文件夾, Insert new object-function 在block-created inlanguage 中選擇GRAPH。如圖:

S7-GRAPH的使用

S7-GRAPH格式的SOURCE 文件,右鍵點擊項目中的SOURCE 文件夾,Insert new object-function 選擇GRAPH source:

S7-GRAPH的使用

兩者可以相互轉化:S7-GRAPH 格式的FB 可以通過菜單 file-create file 生成S7-GRAPH 格式的 SOURCE 文件。S7-GRAPH 格式的 SOURCE 文件也可以通過菜單 file-compile 生成S7-GRAPH 格式的 FB。

雙擊新生成的GRAPH FB 後,可以打開用戶界面,如下圖:

S7-GRAPH的使用

1) 工具條

2) 工作區

3) 概覽窗口

4) 詳細窗口

5) 狀態條

(2)工具條

工具條可以分為4類功能:

標準功能:主要為文件功能,例如打開。複製,粘貼等功能。

視圖功能:調整顯示作用,如是否顯示符號名等。

順控器 :包含順控器元素,如分支,跳轉,步等。

LAD/FBD :可以為每步添加LAD/FBD指令。

(3)工作區

工作區是S7-GRAPH 中最重要的區域,典型的工作區域視圖如下圖:

S7-GRAPH的使用

互鎖條件(interlock):

Interlock是每部的一個編程條件,它將影響到每個單步的執行情況。

1) 如果互鎖條件(interlock)滿足,則互鎖條件組成的指令將被執行。(S7-GRAPH中有專門與interlock狀態相關的指令)

2) 如果互鎖條件(interlock)不滿足,則互鎖條件組合的指令不被執行,互鎖錯誤信號將為1 (時間event L1)

每個互鎖條件最多可以容納32個LAD/FBD元素,在工作區域中用'C'表示,如果每個互鎖條件為空,即沒有編程,系統則認為條件滿足。

監控條件(Supervision)

Supervision是每部的一個可編程條件,它將影響每個單獨步向下一步轉換的執行情況。

1) 如果監控條件(Supervision)滿足,則事件V1發生,順控器不在轉換到下一步,當前步保持激活,步的激活時間Si.U停止。

2) 如果監控條件(Supervision)不滿足,並且當前步向下一步的轉換條件滿足,順控器將轉換到下一步。

每個監控條件最多可以容納32個LAD/FBD元素,在工作區域用字母'V'來表示,如果監控條件為空,即沒有編程,系統則認為監控條件不滿足。

(4) 概覽窗口

概覽窗口的GRAPHIC 的視圖如下:

S7-GRAPH的使用

可以通過右鍵點擊圖中的區域,在提示Insert New Element Permanent Instruction 下,選擇Condition 或者Call。不論順控器的狀態如何,這些指令可以在每次掃描時被執行,可以在S7-GRAPH的FB中編寫任意多的指令。

注意:Permanent Instruction只支持兩種格式,即:

LAD/FBD格式的AND, OR,比較指令

Call 指令

如果希望Permanent Instruction使用其它LAD/FBD格式指令,請將這些指令編寫為FB,FC,然後用Call格式調用。如下圖:

S7-GRAPH的使用

概覽窗口的Sequence視圖:

對於每一個S7-GRAPH的FB程序,可以包括多個順控器(Sequence),如果對多個順控器進行查看,可以選擇概覽窗口的Sequence視圖,如下圖;

S7-GRAPH的使用

概覽窗口的Variable視圖:

在S7-GRAPH的FB程序中,可以通過概覽窗口的Variable視圖,查看並編輯如下資源,如圖:

S7-GRAPH的使用

(5) 詳細窗口

可以查看編輯信息,變量監控,交叉參考等。

(6) 狀態條

顯示在線,離線,CPU狀態等。

(7) S7-GRAPH格式的FB與Source文件

在生成STEP7項目後,可以通過兩種方式生成S7-GRAPH程序:

S7-GRAPH格式的FB,右鍵點擊項目中的Block文件夾,Insert New Object Function Block Created in language選擇GRAPH.

S7-GRAPH格式的Source文件,右鍵點擊項目中Source文件夾,Insert New Object 選擇GRAPH Source

兩者相互轉換:S7-GRAPH格式的FB可以通過菜單File Generate Source File生成S7-GRAPH格式的Source文件,S7-GRAPH格式的source文件也可以通過菜單file compile生成S7-GRAPH格式的FB。

兩者的區別:S7-GRAPH格式的FB保存時會自動檢查語法錯誤,如果有語法錯誤,則無法保存;S7-GRAPH格式的Source文件可以隨時保存,不檢查語法錯誤。FB保存後即為可執行代碼,可以下載調試;S7-GRAPH格式的Source文件只能用於記錄用戶程序,無法下載調試,因此,編程者如果不能保證一次編寫完成語法正確的程序,建議不使用source文件格式。

第三部分:順控器規則

S7-GRAPH格式的FB程序是這樣工作的:

每個S7-GRAPH格式的FB,都可以作為普通FB被其它程序調用。

每個S7-GRAPH格式的FB,都被分配一個背景數據塊,此數據塊用來存儲FB參數設置,當前狀態等等。

每個S7-GRAPH格式的FB,都包括三個主要部分:順控器之前的Permanent Instruction,一個或多個順控器,順控器之後的Permanent Instruction。

1. 順控器執行規則

請注意下面描述的英文關鍵詞,這些關鍵詞對於學習使用S7-GRAPH非常重要。

(1) 每個順控器都以如下情況開始:

一個初始步或者多個位於順控器任意位置的初始步。

只要某個步的動作(action)被執行,則認為此不被激活,如果多個步被同時執行,則認為多個步被同時激活。

(2) 一個激活的步在如下情況退出:

任意激活步的干擾(active disturbance)列如互鎖條件或監控條件的消

除或確認並且至後續步的轉換條件(transition)滿足。

(3) 滿足轉換條件的後續步的轉換條件滿足。

(4) 在順控器的結束位置如果有一個跳轉指令(jump),指向本順控器的任意

步,或者FB的其它順控器。此指令可以實現順控器的循環控制。

在S7-GRAPH程序中,控制任務被分成多個獨立的步,在這些步中將聲明一些動作,這些動作將在某些狀態下被控制器執行。

(5) 激活的步(active step)

激活的步是一個當前自身的動作正在被執行的步。

一個步在如下任意情況下,都可被激活:

當某步前面的轉換條件滿足。

當某步被定義為初始步,並且順控器被初始化。

當某步被其它基於事件的動作調用。

2. 順控器結構

由下圖示例中可以歸納三點:

S7-GRAPH的使用

(1) S7-GRAPH的FB可以是簡單的線性結構順控器。

(2) S7-GRAPH的FB可以是包括選擇結構及並行結構順控器。

(3) S7-GRAPH的FB可以包括多個順控器。

3. 順控器元素

在工具欄中有如下順控器元素,用戶應當熟練使用:

S7-GRAPH的使用

Step+Transition(步+轉換條件)

在新建的S7-GRAPH FB中,默認會有一個步及轉換條件,用戶可以在此基礎上增加新的步及轉換條件,步+轉換條件的形式總是組合出現的,他們會被系統自動分配一個編號,此編號可以被修改。

初始步:當一個S7-GRAPH FB被調用時,順控器中的初始步將被無條件執行,此步不一定是順控器中的第一步,順控器是由FB的參數INIT_SQ=1被初始化,由初始步開始執行。

S7-GRAPH的使用

Jump(跳轉指令)

S7-GRAPH的使用

Open Alternative Branch(打開選擇分支)

S7-GRAPH的使用

Close Alternative Branch(關閉選擇分支)

S7-GRAPH的使用

Open Simultaneous Branch(打開並行分支)

S7-GRAPH的使用

Close Simultaneous Branch(關閉並行分支)

S7-GRAPH的使用

Branch Stop(分支停止)

S7-GRAPH的使用

Insert Sequencer(插入順控器

S7-GRAPH的使用

第三部分:GRAPH 編程及參數設置

(1) 條件與動作的編程

1) 步的結構及屬性

雙擊順控器的結構視圖的某步後,在工作區可以對每步進行詳細的編程。

S7-GRAPH的使用

2) 步的動作

步的動作(action)在S7-GRAPH的FB中佔有重要位置。用戶大部分控制任務要由步的動作來完成,編程者應當熟悉掌握所有動作(action)指令。

S7-GRAPH的使用

可以通過右鍵點擊步的動作圖標,添加新的動作。

動作執行順序:

S7-GRAPH的使用

3) 動作分類

動作可以分為以下幾類:

標準動作

與interlock有關或無關

基於事件的動作

與interlock有關或無關

與步的激活或非激活有關

4) 沒有動作的步

順控器中可以有沒有動作的步,順序執行到這些步後,此步激活,並直接轉換到後續的轉換條件判斷部分。

(2) S7-GRAPH特有地址

在S7-GRAPH FB中存在一些特有地址,用戶可以像使用普通PLC地址一樣來使用這些地址,具體含義如下表:

S7-GRAPH的使用

(3) S7-GRAPH FB參數設置

注意:由於S7-GRAPH FB是在其他程序中被調用的,所以其藉口參數的設置及編譯設置對程序的後續調試及執行有著重大的影響。

在S7-GRAPH編譯器菜單中選擇option block setting可以進行設置FB,如下圖:

S7-GRAPH的使用

1) S7-GRAPH FB參數設置

S7-GRAPH FB參數設置包含4中類型:

(I)Minimum,FB只包括SQ_INIT啟動參數,如果用戶的程序僅

僅會運行在自動模式,並且不需要在其他的控制及監控功能,可以選擇此模式。

(II)Standard,FB包括默認參數,如果用戶希望程序運行在各種模式,並提供反饋及確認消息功能,可以選擇此模式。

(III)Maximum,FB包含默認參數,擴展參數,提供更多的控制,監控參數。

(IV)User-defined包含默認參數,擴展參數,提供更多的控制,監控參數。

2) 接口描述設置

在編譯選項菜單中,Interface Description及Executability兩個選項

是密切關聯的,當選擇佔用內存最小(Mmemory Minimized)時,必須選擇FC73.

(I). Mmemory Minimized佔用內存最小,但診斷及調試的功能受限制。

(II).Structure arrays步的描述以數組的方式存儲在背景數據塊中,不允許以符號名方式訪問步。

(III).Individual structures步的描述以獨立的數據結構方式存儲在背景數據塊中,允許符號名方式訪問步及轉換條件。這種方式增加了背景數據塊的大小。

3) Executability選項

(I) Full code全代碼,所有運行S7-GRAPH FB程序需要的代碼將被

包括在FB自身當中,不需要額外的FC。

(II)Standard FC required 標準的FC,如果選擇此選項,則S7-GRAPH 使用標準FC來支持所有的S7-GRAPH FB,填入FC的標號即可。

4) 順控器屬性的設置

(I) Criteria analysis data in DB 當使用SIMATIC 標準程序

ProTool/ProAgent時,此選項用來分析數據存儲在背景數據塊中。

(II)Skip steps 激活步跳轉功能。

(III)Acknoeledge error如果在順控器執行時,發生了干擾,此時必須在輸入參數"ACK_EF"上確認,順控器才會繼續執行,此選項在把FB參數設置為Minimum時不可選。

(IV)Synchronization 同步允許將程序與過程同步。

(V)Permanent processing of all interlocks inmanual operation在手動模式下沒有選擇此項,無論實際情況如何,每步interlock都將滿足,並在將空的裝填顯示出來。

(VI)Lock operating mode selection鎖定操作模式。如果選擇此參數,則當程序運行時,無法通過編程設備改變順控器運行模式。

(VII)Safe activation mode 安全激活模式,此選項影響步的激活狀態,當某步被激活時,系統同時將所有其它不能激活的步去除激活。列如:在分支選擇程序中某步被激活時,另一個分支的所有步都將被去激活。

5) S7-GRAPH FB程序的背景數據塊

S7-GRAPH FB程序的背景數據塊保存著順控器執行的所有信息。因此,

S7-GRAPH FB程序的背景數據塊在調試及運行中有著重要的作用。應注意:

在修改順控程序後,下載時務必下載背景數據塊。

PLC斷電後,背景數據塊將保持,建議用戶在供電恢復後,執行順控器初始化操作。

在其他用戶程序中,不要隨意改寫S7-GRAPH FB程序背景數據塊內容,否則將引起順控器執行混亂,並對系統安全性構成威脅。

在其他用戶程序中,改寫S7-GRAPH FB程序用戶數據內容,可以改變順控器狀態。

在下載S7-GRAPH FB程序時,建議選中下圖所有選項:

S7-GRAPH的使用

在用戶其他程序中調用S7-GRAPH FB程序時,S7-GRAPH 提供給用戶的接口資源是有限的,用戶希望使用S7-GRAPH 的更多,更高級的功能,就需要對FB背景數據塊的結構有所瞭解。

S7-GRAPH 的背景數據塊結構

S7-GRAPH的使用

6) 程序調試

把程序下載後,可以進行調試工作,在菜單debug-Monitor中,可以監控順控程序執行的狀態,在菜單debug-Control Sequence中,可以控制順序執行的手動/自動模式,當前激活的步驟如下:

S7-GRAPH的使用

菜單Debug-synchronization可以同步順控器,模式為手動模式,可以選擇當前激活的步,如下圖:

S7-GRAPH的使用

重要提示,調試功能可以改變當前程序的手動/自動模式,當前激活

步的步驟(手動模式下程序限定條件無效,並可以直接選擇當前激活的步驟,例

如直接從第一步跳轉到最後一步)。這樣的操作有可能跳過系統原有的保護,可

能對人身和生產造成傷害及影響,所以工藝及S7-GRAPH不熟悉的情況下,請勿

用此功能。

7) 利用S7-PLCSIM仿真軟件調試S7-GRAPH程序

利用S7-PLCSIM 仿真軟件調試S7-GRAPH程序的步驟如下:

(I) 在STEP7中生成項目

(II) 點擊SIMATIC管理器工具條中的仿真按鈕,打開S7-PLCSIM窗口

(III) 選中SIMATIC管理器左邊窗口的塊對象,點擊工具條上的下載按鈕,將所有塊下載到仿真PLC。

(IV) 在S7-PLCSIM窗口創建IB1和QB1的視圖對象。

(V) 在S7-PLCSIM中模擬實際系統的操作。

點擊CPU視圖對象中有RUN或RUN-P的小框,將仿真PLC的CPU設置運行模式。在S7-GRAPH編輯器中點擊監控按鈕,對順控器的工作進

行監控。剛開始監控時只有初始步是綠色的,表示它為活動步,點擊方框內相應的I點,使轉換條件滿足,則可以進入下一步,從而達到仿真的目的。

· 第四部分:抓料機械手程序的編寫及調試

使用S7-300軟件用GRAPH語言編寫一個控制機械手抓件,放件的程序。

以下是自己在工作中所寫的程序:

1.控制要求:

原位 抓手下降 夾抓夾緊 抓手上升


向右旋轉


抓手上升夾抓鬆開抓手下降向左旋轉

2.符號表:

S7-GRAPH的使用

3.建立FB1塊,編寫程序。

自動程序:

S7-GRAPH的使用


S7-GRAPH的使用

S7-GRAPH的使用

建立FB2塊,編寫程序

自動回原點程序:

S7-GRAPH的使用


S7-GRAPH的使用

4. 在OB1中編寫調用程序。

調用自動程序塊FB1

S7-GRAPH的使用

調用回原點程序塊FB2

S7-GRAPH的使用

5. OB100中程序的編寫

在西門子軟件中,在CPU執行Warm Restart時執行,且執行一次。可用於數據的初始化。(相當三菱中的初始化指令M8002)

OB100組織塊用來編寫初始化程序。

S7-GRAPH的使用

另外在FC塊中別寫手動操作程序,在這不作介紹。


分享到:


相關文章: