在順序功能圖中除了前面使用過的單序列和循環序列外,還有并行序列、選擇序列、跳轉序列和混合序列,本期主要介紹并行序列和選擇序列。
并行序列
一、并行序列的形式
當滿足轉換條件后同時執行多個序列時,這些序列稱為并行序列。
為了強調轉換的同步實現,在并行序列開始和結束時其有向連線的水平部分用雙線表示。
上圖程序表示:
當轉換條件X1滿足時,并行序列開始,即S11、S13、S15同時變為活動步,每個序列中的活動步的進展是獨立的。
當轉換條件X4滿足,且S12、S14、S15都處于活動狀態時,并行序列結束(合并),即S16變為活動步。
二、指令運用
按照《紅綠燈》項目要求在GX works2中編寫對應的順序功能圖。
1)項目要求和變量表
根據項目要求和仿真動畫確定各個元件所對應的I/O地址。
2)編輯初始化程序
添加梯形圖塊并編輯初始化程序。
3)編輯主程序
添加SFC塊后,按項目要求編輯順序功能圖。
A)編輯啟動條件
在S0步添加轉換指令,并編輯對應的轉換條件。
B)添加并行分支
將光標移動到第3行,單擊工具欄中的“并列分支”圖標,設置并行分支的數量。
添加并行分支時只能將光標移動到沒有黑點的行,否則無法添加。
C)編輯東西方向紅綠燈程序
由于并行序列是獨立執行的,為了編程方便可以先編輯完成一條序列后再編輯另一條序列。
程序內容如下圖所示,具體編輯過程此處不演示。
D)編輯南北方向紅綠燈程序
南北方向的程序與東西方向程序類似,具體內容如下圖所示。
E)合并并行分支
由于并行序列開始或結束(合并)時不能帶有轉換條件,所以需要在含有轉換條件的步下添加一個空白步才能合并并行分支。
將光標移動到第17行,單擊工具欄中的“并列合并”圖標,設置并行分支的數量。
F)添加轉換條件
并行分支合并后需要添加轉換條件后才能繼續編程,否則程序無法編譯。
此處可以使用空白步S18、S19的常開觸點充當轉換條件,即當S18、S19為活動步時,其所對應的常開觸點閉合。
只有S18、S19都為活動步時,并行分支才能合并,并繼續向下執行。
轉換條件設置完成后讓程序跳轉到S0步。
4)程序調試
將程序下載到仿真器中,將X0狀態改為“ON”(模擬按鈕按下)然后立即改為“OFF”(模擬按鈕彈起)監視程序運行狀態。
發現程序只能執行一個周期,需要修改程序。
5)修改程序
由于執行完一個周期后跳轉到S0步時,啟動條件X0狀態已變為“OFF”程序不能繼續執行。
若將程序修改為執行完一個周期后跳轉到S10或S14步時,則程序只會執行東西方向或者南北方向的序列,不符合項目要求。
此時可以在并行分支開始前添加一個空白步S20,并讓程序執行完一個周期后跳轉到S20步即可實現項目要求。
添加空白步S20后同樣將S20的常開觸點作為轉換條件,否則程序無法編譯。
修改完成后再次將程序下載到仿真器中觀察程序運行狀態。
選擇序列
一、選擇序列的形式
一個活動步之后,有多個后續步可供選擇的結構形式稱為選擇序列。
各個分支開始的轉換條件只能標在水平連線之下。
在同一時刻只能選擇一個序列執行。
上圖程序表示:
當轉換條件X1滿足時,執行S11所在的序列,X4、X7同理,但每次只能有一個序列被執行。
當轉換條件X3滿足時,活動步由S12移動到S16,X6、X9同理。
二、指令運用
將并行序列中《紅綠燈》項目要求修改后,在GX works2中編寫對應的順序功能圖。
1)項目要求和變量表
根據項目要求和仿真動畫確定各個元件所對應的I/O地址。
2)編輯初始化程序
初始化程序與上一項目相同此處不演示。
3)編輯主程序
A)編輯啟動條件
在S0步添加轉換指令,并編輯對應的轉換條件。
B)添加空白步
由于選擇序列的轉換條件只能在水平連線之下,所以需要在啟動條件下添加一個空白步S20。
C)添加選擇分支
將光標移動到第5行,單擊工具欄中的“選擇分支”圖標,設置選擇分支的數量。
添加選擇分支時只能將光標移動到沒有黑點的行,否則無法添加。
D)添加選擇條件
分別在東西方向序列和南北方向序列上添加轉換條件X2、X3。
E)編輯紅綠燈程序
與上一項目程序相同此處不演示。
F)合并選擇分支
將光標移動到第18行,單擊工具欄中的“選擇合并”圖標,設置選擇分支的數量。
合并選擇分支結束后添加跳轉指令,讓程序跳轉到S20步。
4)程序調試
將程序下載到仿真器中觀察程序運行狀態是否符合項目要求。
-
仿真
+關注
關注
50文章
4129瀏覽量
134065 -
指令
+關注
關注
1文章
611瀏覽量
35842 -
序列
+關注
關注
0文章
70瀏覽量
19604 -
功能圖
+關注
關注
0文章
8瀏覽量
6768
發布評論請先 登錄
相關推薦
評論