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