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