愛伊米

西門子PLC你很熟悉?那麼這種語言你用過嗎?

熟悉西門子的人都知道,西門子的PLC支援的語言很多,除了最基本的LAD,FBD,STL之外,還有很多在國內不是很常見的語言,其中包括GRAPH,SCL,CFC,SFC等等;

這些語言雖然不是很常見,可以對於一些特定的場合卻可以起到很重要的作用。

今天我們講一講GRAPH的用法。

西門子系列PLC包括300、400、1500系列(除S7-1200外)均支援GRAPH指令,而S7-200系列雖然沒有GRAPH語言,但是卻擁有GRAPH的縮減版,那就是步進命令,有過實際程式設計經驗的朋友都知道,在一些特定的場合需要使用迴圈反覆的步進指令,這個指令可以自己編寫,也可以直接使用PLC內部的步進指令。

只是GRAPH語言比步進語言強大得多了,所以西門子自300PLC開始,專門做了一個外掛(升級包),該外掛的授權需要在STEP7軟體的基礎上額外購買。

博途軟體因為系統軟體的高度整合化,所以GRAPH也整合在了博途軟體裡,所以安裝過博途軟體的朋友可以直接在博途裡使用該語言編寫300/400/1500系列PLC的程式,下面用一個簡單的例子來說明GRAPH指令的應用。

假設,我們需要做一個順序控制的程式,程式分為4步,每步對應不同的生產工藝即不同的輸出,每步以不同的脈衝命令作為使能條件。

步驟如下:

1)電腦需要安裝帶模擬的博途軟體。

2)開啟軟體,建立新專案

3)新增一個新裝置,這裡選擇cpu317-2dp,儲存專案;

西門子PLC你很熟悉?那麼這種語言你用過嗎?

4)回到程式編輯區,點開“程式塊” 雙擊建立一個FB,選擇GRAPH語言,依次編寫程式,圖示:

西門子PLC你很熟悉?那麼這種語言你用過嗎?

西門子PLC你很熟悉?那麼這種語言你用過嗎?

5)在程式裡輸入指令如圖;

西門子PLC你很熟悉?那麼這種語言你用過嗎?

第一步,輸出命令置位Q0。0

第二步,執行條件為I0。2,輸出命令為置位Q0。1

第三步,執行條件為I0。3,輸出命令為復位Q0。0和Q0。1

第四步,執行條件為I0。4,輸出命令為結束該程式塊

6)編寫完程式後,回到OB1中呼叫FB1,系統會要求生成一個背景資料塊,我採用預設資料塊DB1,呼叫完程式後,我們填寫FB1管角,僅需要填寫第一個和第二個;第一個是中止功能塊FB1命令,第二個是執行FB1功能塊,也就是程式裡第一步的執行條件。

西門子PLC你很熟悉?那麼這種語言你用過嗎?

西門子PLC你很熟悉?那麼這種語言你用過嗎?

7)編譯,如果沒有問題就可以開啟模擬,並下載到PLC裡。

西門子PLC你很熟悉?那麼這種語言你用過嗎?

西門子PLC你很熟悉?那麼這種語言你用過嗎?

8)將PLC打到RUN模式,然後將測試的輸入輸出加到模擬裡。

西門子PLC你很熟悉?那麼這種語言你用過嗎?

9)然後測試,先後將I0。1,I0。2,I0。3,I0。4啟用,可以看到輸出也發生了變化。

西門子PLC你很熟悉?那麼這種語言你用過嗎?

其實GRAPH裡面除了文中所述的步進指令外,還有其他的功能,其功能完全可以實現各種複雜的功能,作者曾見到過一個德國工程師以GRAPH作為程式的主體來編寫程式,寫完的程式基本上沒有多少人能看懂。

文章來源:網路