一、問題的提出
在生產(chǎn)過程中,經(jīng)常要對流水線上的產(chǎn)品進行分撿,圖 1 是用于分撿小球大球的機械裝置。工作順序是向系下,抓住球,向上,向右運行,向下,釋放,向上和向左運行至左上點(原點)抓球和釋放球的的時間均為 1 秒。
一、問題的提出
在生產(chǎn)過程中,經(jīng)常要對流水線上的產(chǎn)品進行分撿,圖 1 是用于分撿小球大球的機械裝置。工作順序是向系下,抓住球,向上,向右運行,向下,釋放,向上和向左運行至左上點(原點)抓球和釋放球的時間均為 1 秒。

圖 1 大、小球分類選擇傳送裝置示意圖
其動作順序如下。
左上為原點,機械臂下降(當碰鐵壓著的是大球時,限位開 SQ 2 斷開,而壓著的是小球時 SQ 2 接通,以此判斷是大球還是小球)。

左、右移分別由 Y4 、 Y3 控制,上升、下降分別由 Y2 、 Y0 控制,將球吸住由 Y1 控制。
二、輸入 / 輸出端口分配及硬件連接
由上圖可見,系統(tǒng)的輸入點分配是: X1 為左限位開關(guān), X2 為下限位開關(guān)(小球動作、大球不動作), X3 為上限位開關(guān), X4 為釋放小球的中間位置開關(guān), X5 是釋放大球的右限位開關(guān), X0 為系統(tǒng)的運行開關(guān)。系統(tǒng)的輸出點分配是: Y0 是機械臂下降, Y2 是機械臂上升, Y1 是吸球口, Y3 是機械臂右移, Y4 是機械臂左移, Y5 是機械臂停在原點的指示燈。硬件連接如圖 2 所示。

圖 2 分撿系統(tǒng)硬件連接圖
三、系統(tǒng)軟件設計
根據(jù)工藝要求,該控制流程可根據(jù) SQ2 的狀態(tài)(即對應大、小球)有兩個分支,此處應為分支點,且屬于選擇性分支。分支在機械臂下降之后根據(jù) SQ2 的通斷,分別將球吸住、上升、右行到 SQ4 或 SQ5 處下降,此處應為匯合點。然后再釋放、上升、左移到原點。其狀態(tài)轉(zhuǎn)移圖如圖 5-18 所示。

圖 3 大、小球分類選擇傳送狀態(tài)轉(zhuǎn)移圖
根據(jù)選擇性分支匯合的編程方法,編制大、小球分類程序如下。
|
LD |
M8002 |
STL |
S23 |
LD |
X5 |
|
SET |
S0 |
OUT |
Y2 |
SET |
S28 |
|
STL |
S0 |
LD |
X3 |
STL |
S28 |
|
OUT |
Y5 |
SET |
S24 |
OUT |
Y0 |
|
LD |
X0 |
STL |
S24 |
LD |
X2 |
|
AND |
X1 |
LDI |
X4 |
SET |
S29 |
|
AND |
X3 |
OUT |
Y3 |
STL |
S29 |
|
SET |
S21 |
STL |
S25 |
RST |
Y1 |
|
STL |
S21 |
SET |
Y1 |
OUT |
T2 |
|
OUT |
Y0 |
OUT |
T1 |
K10 | |
|
OUT |
T0 |
K10 |
LD |
T2 | |
|
K20 |
LD |
T1 |
SET |
S30 | |
|
LD |
T0 |
SET |
S26 |
STL |
S30 |
|
AND |
X2 |
STL |
S26 |
OUT |
Y2 |
|
SET |
S22 |
OUT |
Y2 |
LD |
X3 |
|
LD |
T0 |
LD |
X3 |
SET |
S31 |
|
ANI |
X2 |
SET |
S27 |
STL |
S31 |
|
SET |
S25 |
STL |
S27 |
LDI |
X1 |
|
STL |
S22 |
LDI |
X5 |
OUT |
X4 |
|
SET |
Y1 |
OUT |
Y3 |
LD |
X1 |
|
OUT |
T1 |
STL |
S24 |
OUT |
S20 |
|
LD |
X4 |
RET |
|||
|
LD |
T1 |
SET |
S28 |
END |
|
|
SET |
S23 |
STL |
S27 |
四、知識點的擴展— FX2系列可編程控制器分支、匯合狀態(tài)轉(zhuǎn)移圖的程序編制存在多種工作順序的狀態(tài)流程圖為分支、匯合流程圖。分支流程可分為選擇性分支和并行性分支兩種。下面介紹分支、匯合流程的編程。
(一)、選擇性分支與匯合及其編程
1、選擇性分支狀態(tài)轉(zhuǎn)移圖的特點
從多個流程順序中選擇執(zhí)行哪一個流程,稱為選擇性分支。圖 4就是一個選擇性分支的狀態(tài)轉(zhuǎn)移圖。

圖 5 選擇性分支狀移圖
a、該狀態(tài)轉(zhuǎn)移圖有三個流程圖,見圖5(a)、(b)、(c)所示。
b、S20為分支狀態(tài)
根據(jù)不同的條件( X0,X10,X20), 選擇執(zhí)行其中的一個流程。
X0為ON時執(zhí)行圖5(a),X10為ON時執(zhí)行圖5(b),X20為ON時執(zhí)行圖5(c)。X0,X10,X20不能同時為ON。
c、S50為匯合狀態(tài),可由S22、S32、S42任一狀態(tài)驅(qū)動。

圖 5 圖4分支流程分解圖
2、選擇性分支、匯合的編程
編程原則是先集中處理分支狀態(tài),然后再集中處理匯合狀態(tài)。
1 分支狀態(tài)的編程
編程方法是先進行分支狀態(tài)的驅(qū)動處理,再依順序進行轉(zhuǎn)移處理。
圖 4的分支狀態(tài)S20 見圖 6 
圖 6 圖 4 中 S20 的分支狀態(tài)
按分支狀態(tài)的編程方法,首先對S20進行驅(qū)動處理(OUT Y0),然后按S21、S31、S41的順序進行轉(zhuǎn)移處理。程序如下
STL S20 LD X10
OUT Y0 驅(qū)動處理 SET S31 轉(zhuǎn)移到第二分支狀態(tài)
LD X0 LD X20
SET S20 轉(zhuǎn)移到第一分支狀態(tài) SET S41 轉(zhuǎn)移到第三分支狀態(tài)
2、匯合狀態(tài)的編程
編程方法是先進行匯合前狀態(tài)的驅(qū)動處理,再依順序進行向匯合狀態(tài)的轉(zhuǎn)移處理。
圖 5-13的匯合狀態(tài)及匯合前狀態(tài),如圖圖7所示。

圖 7 匯合狀態(tài) S50
按照匯合狀態(tài)的編程方法,依次將 S21、S31、S32、S41、S42的輸出進行處理,然后 按順序進行從 S22(第一分支)、S32(第二分支)、S42(第三分支)向S50的轉(zhuǎn)移。
匯合程序如下。
STL S21 第一分支匯合前的驅(qū)動處理 STL S22 匯合前的驅(qū)動處理
OUT Y1 LD X2
LD X1 SET S50 由第一分支轉(zhuǎn)移到匯合點
SET S22 STL S32
STL S22 LD X12
OUT Y2 SET S50 由第二分支轉(zhuǎn)移到匯合點
STL S31 第二分支匯合前的驅(qū)動處理 STL S42
OUT Y11 LD X22
LD X11 SET S50 由第三分支轉(zhuǎn)移到匯合點
SET S32
STL S32
OUT Y12
STL S41 第三分支匯合前的驅(qū)動處理
OUT Y21
LD X21
SET S42
STL S42
OUT Y22










