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