編寫步進(jìn)順序程序
下圖顯示了一個站,用于將玻璃容器從托盤上移走。傳送帶再將托盤傳送到站。
當(dāng)載有玻璃容器的托盤到達(dá)站時(shí),傳送帶將停止運(yùn)動,一個夾持器將從其基準(zhǔn)位置 (P0) 移動到托盤上方的位置 (P2)。
當(dāng)夾持器移動到托盤上方時(shí),夾鉗會打開,同時(shí)下降夾持器。
傳感器將檢測夾持器的實(shí)際位置和夾鉗的狀態(tài)。
在本示例中,夾持器的運(yùn)動順序由一個步進(jìn)順序程序進(jìn)行控制。
當(dāng)然,也可以編寫更多的步驟,拿走這些瓶子,并在另一條傳送帶上傳送。
實(shí)施
下表列出了 PLC 變量表中所用操作數(shù)的聲明:
名稱 | 數(shù)據(jù)類型 | 備注 |
---|---|---|
NUMBER | INT | 步進(jìn)編號 |
Tag_Error | BOOL | 當(dāng)步進(jìn)編號大于 3 或其中一個步驟未執(zhí)行時(shí),將置位該操作數(shù)。 |
下表列出了代碼塊的塊接口中所用操作數(shù)的聲明:
名稱 | 聲明 | 數(shù)據(jù)類型 | 備注 |
---|---|---|---|
POS_0 | Input | BOOL | 夾持器位于基準(zhǔn)位置 (P0) |
POS_1 | Input | BOOL | 夾持器位于位置 1 (P1) |
POS_2 | Input | BOOL | 夾持器位于位置 2 (P2) |
GRIPPER_OPEN | Input | BOOL | 夾鉗打開 |
OUT_POS_1 | Output | BOOL | 夾持器移動到位置 1 |
OUT_POS_2 | Output | BOOL | 夾持器移動到位置 2 |
OUT_GRIPPER | Output | BOOL | 打開夾鉗 |
OUT_POS_3 | Output | BOOL | 夾持器移動到位置 3 |
以下 STL 程序說明了如何實(shí)現(xiàn)此示例:
STL | 說明 |
---|---|
L "NUMBER" | //將步進(jìn)編號加載到累加器 1 中。 |
JL END | //跳轉(zhuǎn)列表開始 |
JU POSITION_0 | //累加器 1 的值為“0”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“POSITION_0”處。 |
JU POSITION_1 | //累加器 1 的值為“1”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“POSITION_1”處。 |
JU POSITION_2 | //累加器 1 的值為“2”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“POSITION_2”處。 |
JU POSITION_3 | //累加器 1 的值為“3”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“POSITION_3”處。 |
END: JU ERROR |
//跳轉(zhuǎn)列表結(jié)束 //步進(jìn)編號大于 3 時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“ERROR”處。 |
POSITION_0: A #POS_0 |
//跳轉(zhuǎn)標(biāo)簽“POSITION_0” //掃描檢查夾持器是否位于基準(zhǔn)位置 (P0)。 |
= #OUT_POS_1 | //如果是,則置位輸出“OUT_POS_1”并將夾持器移動至位置 1 (P1)。 |
JCN ERROR | //RLO 為“0”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“ERROR”處。 |
JC NEXT | //RLO 為“1”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“NEXT”處。 |
POSITION_1: A #POS_1 |
//跳轉(zhuǎn)標(biāo)簽“POSITION_1” //掃描檢查夾持器是否位于位置 1 (P1)。 |
= #OUT_POS_2 | //如果是,則置位輸出“OUT_POS_2”并將夾持器移動至位置 2 (P2)。 |
JCN ERROR | //RLO 為“0”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“ERROR”處。 |
JC NEXT | //RLO 為“1”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“NEXT”處。 |
POSITION_2: A #POS_2 |
//跳轉(zhuǎn)標(biāo)簽“POSITION_2” //掃描檢查夾持器是否位于位置 2 (P2)。 |
= #OUT_GRIPPER | //如果是,則復(fù)位輸出“OUT_GRIPPER”并打開夾鉗。 |
JCN ERROR | //RLO 為“0”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“ERROR”處。 |
JC NEXT | //RLO 為“1”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“NEXT”處。 |
POSITION_3: A #POS_2 |
//跳轉(zhuǎn)標(biāo)簽“POSITION_3” //掃描檢查夾持器是否位于位置 2 (P2)。 |
A #GRIPPER_OPEN | //掃描檢查夾鉗是否打開 |
= #OUT_POS_3 | //如果是,則置位輸出“OUT_POS_3”并將夾持器移動至位置 3 (P3) |
JCN ERROR | //RLO 為“0”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“ERROR”處。 |
JC NEXT | //RLO 為“1”時(shí),將跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽“NEXT”處。 |
NEXT: INC 1 |
//跳轉(zhuǎn)標(biāo)簽“NEXT” //將累加器 1 中的步進(jìn)編號加 1。 |
T "NUMBER" | //將步進(jìn)編號傳送到操作數(shù)“NUMBER”中。 |
L 3 |
//將當(dāng)前的步進(jìn)編號移送到累加器 2 中。 //將值 3 加載到累加器 1 中。 |
>I | //掃描檢查當(dāng)前的步進(jìn)編號是否大于 3。 |
JC RESET_NUMBER | //如果掃描結(jié)果為“1”,則跳轉(zhuǎn)至跳轉(zhuǎn)標(biāo)簽“RESET_NUMBER”處并繼續(xù)進(jìn)行程序處理 |
BEU | //塊結(jié)束 |
RESET_NUMBER: L 0 |
//跳轉(zhuǎn)標(biāo)簽“RESET_NUMBER” //將值“0”加載到累加器 1 中。 |
T "NUMBER" | //將值“0”分配給操作數(shù)“NUMBER”(步進(jìn)編號)。 |
BEU | //塊結(jié)束 |
ERROR: NOT | //跳轉(zhuǎn)標(biāo)簽“ERROR” |
= "Tag_Error" | //將 RLO 取反后分配給操作數(shù)“Tag_Error”。 |
BEU | //塊結(jié)束 |
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2553文章
51407瀏覽量
756625 -
plc
+關(guān)注
關(guān)注
5016文章
13388瀏覽量
465420 -
STL
+關(guān)注
關(guān)注
0文章
86瀏覽量
18385 -
步進(jìn)控制
+關(guān)注
關(guān)注
0文章
11瀏覽量
7492 -
累加器
+關(guān)注
關(guān)注
0文章
50瀏覽量
9492
原文標(biāo)題:西門子博途:STL 步進(jìn)順序程序的示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
三菱脈沖指令被停止后異常,無法正常啟動,注意STL和DPLSR脈沖指令的沖突 相關(guān)資料分享
步進(jìn)電機(jī)的五根線有什么順序嗎?
請問大佬有沒有arduino AccelStepper庫控制步進(jìn)電機(jī)的示例程序?求分享
STEP7 STL語句表編程使用手冊
![STEP7 <b class='flag-5'>STL</b>語句表編程使用手冊](https://file.elecfans.com/web2/M00/48/DC/pYYBAGKhtCmAdwRJAAARp68uPW0467.jpg)
PLC控制系統(tǒng)設(shè)計(jì)教程: 加熱爐送料系統(tǒng)——仿STL指令的編程方式梯形圖舉例
PLC梯形圖轉(zhuǎn)換成STL程序
![PLC梯形圖轉(zhuǎn)換成<b class='flag-5'>STL</b><b class='flag-5'>程序</b>](https://file.elecfans.com/web1/M00/E6/CD/pIYBAGBZkKmAX8JYAADXeohTewI197.png)
如何顯示STL程序的程序狀態(tài)呢?
![如何顯示<b class='flag-5'>STL</b><b class='flag-5'>程序</b>的<b class='flag-5'>程序</b>狀態(tài)呢?](https://file1.elecfans.com/web2/M00/94/67/wKgZomTlb7uANodoAABKhYvwuxM768.png)
如何在STL中的EN/ENO機(jī)制仿真示例呢?
C++中STL容器中的常見容器及基本操作
![C++中<b class='flag-5'>STL</b>容器中的常見容器及基本操作](https://file1.elecfans.com/web2/M00/AF/3C/wKgZomVNoXSAd942AAAMViKu_aM268.jpg)
STL內(nèi)容介紹
![<b class='flag-5'>STL</b>內(nèi)容介紹](https://file1.elecfans.com/web2/M00/AD/E7/wKgaomVRmM2AFSY7AAGXllIEB6k300.jpg)
評論