西門子PLC:200smart
第十三章
| 項(xiàng)目 | Value | Value |
|---|---|---|
| 主程序 | MAIN | 一個(gè)項(xiàng)目只能有一個(gè),循環(huán)掃描 |
| 子程序 | SBR_0 | 項(xiàng)目中最多有128個(gè),只有在調(diào)用時(shí) 才執(zhí)行(子程序可以嵌套其他子程序,最多八層) |
| 中斷程序 | INT_0 | 中斷程序也可以像子程序一樣寫程序,最多128個(gè),不會(huì)被調(diào)用,只能被中斷事件觸發(fā) |
子程序的優(yōu)點(diǎn):
①優(yōu)化主程序(方便調(diào)試);
②縮短PLC的掃描周期;
③可以項(xiàng)目移植,多次調(diào)用;
| 子程序 | 是否帶參 | 是否有條件調(diào)用 |
|---|---|---|
| 子程序分類 | 不帶參子程序 | 有條件調(diào)用 |
| 子程序分類 | 帶參子程序 | 無條件調(diào)用 |
例:手自動(dòng)轉(zhuǎn)換,手動(dòng)自動(dòng)轉(zhuǎn)換開關(guān)I0.7;(0手動(dòng),1自動(dòng))
手動(dòng)模式:按I0.0電動(dòng);
自動(dòng)模式:按I0.0自鎖,按I0.1停止;
主程序:
手動(dòng)子程序:
自動(dòng)子程序:
總結(jié):
調(diào)用條件斷開時(shí),且沒有掃描到最新的狀態(tài),子程序中的Q、M、T、C都會(huì)保持調(diào)用條件消失之前的狀態(tài)(若想停下來,要在子程序中使用下降沿復(fù)位)
2、帶參子程序
有管腳或引腳的子程序
創(chuàng)建帶參子程序的步驟:
- ①創(chuàng)建子程序;
- ②創(chuàng)建變量表(子程序中);
- ③寫子程序;
- ④主程序調(diào)用子程序;
局部變量:子程序的專屬變量;
- 全局變量:
VB、VW、VD等,不能重復(fù)地址;- 局部變量:子程序?qū)S茫總(gè)子程序有56個(gè)字節(jié)(表示為
LB、LW、LD等)
例:創(chuàng)建子程序
創(chuàng)建一個(gè)求長方體體積的子程序
①創(chuàng)建子程序;
②創(chuàng)建子程序的變量表:
- 變量表位于:
視圖——組件——變量表中 - 變量表中的變量類型:
IN:輸入;OUT:輸出;IN_OUT:中間變量(若將底面積設(shè)置成中間變量,在子程序和主程序的引腳都能看得到)TEMP:臨時(shí)變量(若將底面積設(shè)置成臨時(shí)變量,在主程序中使用時(shí),管腳處就看不到底面積了)
- 也可以有多個(gè)輸出,如質(zhì)量、體積等;
- 要想在子程序中使用到底面積,又不想在主程序中出現(xiàn),可以將底面積的變量類型設(shè)置成臨時(shí)變量
TEMP
寫完子程序后,可以在:項(xiàng)目——指令——調(diào)用子程序例程中找到并使用
3、將子程序設(shè)置成庫文件
①將子程序設(shè)置成庫文件,有助于以后的程序中可以使用,也可以發(fā)送給別人使用具體步驟如下:
項(xiàng)目——指令——庫(右鍵)——?jiǎng)?chuàng)建庫(可以給子程序設(shè)置一個(gè)合適的名稱)——下一頁——添加、下一頁——(不設(shè)置密碼)下一頁——(設(shè)置子程序版本號(hào))下一頁——?jiǎng)?chuàng)建
②創(chuàng)建完成后,庫文件對應(yīng)的磁盤中就多了一個(gè)子程序,如何找到這個(gè)剛剛保存的庫文件呢?
- 項(xiàng)目——指令——庫(右鍵)——打開庫文件
- 然后就能跳轉(zhuǎn)到對應(yīng)的路徑,要是刪除掉這里的庫文件,那么對應(yīng)的庫指令就消失了,不能做到其他程序也是用(廣而用之)
③如何使用創(chuàng)建的庫指令:
使用后在項(xiàng)目——程序塊,雙擊就能看到庫文件對應(yīng)的子程序了
例:不帶參子程序:往返運(yùn)動(dòng),可手動(dòng),可自動(dòng)。
具體要求:在手動(dòng)模式下,可以右行,可以左行。
在自動(dòng)模式下,按下啟動(dòng),開始右行,碰到右限位,自動(dòng)左行,碰到左限位,又開始右行,如此循環(huán)。
手自動(dòng)轉(zhuǎn)換使用的是Q0.7


返回頂部
刷新頁面
下到頁底