● 啟動 OB 的功能
如果 CPU 的操作模式從 STOP 切換到 RUN 時,包括啟動模式處于 RUN 模式時 CPU 斷電再上電和執(zhí)行 STOP 到 RUN 命令切換時,啟動組織塊 OB 將被執(zhí)行一次。啟動組織塊執(zhí)行完畢后才開始執(zhí)行主“程序循環(huán)”O(jiān)B 。S7-1200 CPU 中支持多個啟動 OB ,按照編號順序(由小到大)依次執(zhí)行,OB100 是默認設(shè)置。其它啟動 OB 的編號必須大于、等于123。
● 啟動 OB 的執(zhí)行過程,V4.0版本以后的CPU請參見下圖1,V3.0版本及其以前的CPU請參見下圖2:
圖1. V4.0版本以后CPU啟動過程和運行過程圖例
圖2. V3.0版本及其以前CPU啟動過程和運行過程圖例
注意:早先版本和目前新版本的最大區(qū)別是對物理輸入的狀態(tài)復(fù)制到I存儲器(也就是過程映像)的執(zhí)行時間,早先版本是在執(zhí)行完啟動OB后進行,目前新版本是在在執(zhí)行啟動OB之前進行。也就是對于新版本來說如果上電前的I點已經(jīng)接通,則在啟動OB中是可以讀取到I點的狀態(tài)的,而不是必須讀I:P。
此外,在啟動OB執(zhí)行過程中是無法輸出的,即使編程輸出到Q:P也是一樣的,都會在啟動OB結(jié)束后輸出。并且如果在啟動OB中出現(xiàn)了Q:P,在CPU的診斷緩沖區(qū)中還會出現(xiàn)如圖3的報警。
圖3 輸出到Q:P的報警
● 與啟動 OB 相關(guān)的信息
啟動 OB 中包含啟動信息,可以用于判斷保持性數(shù)據(jù)和實時時鐘是否丟失,可以在啟動 OB 中編寫指令。啟動 OB 的接口變量及啟動信息參考下圖3、4。
圖3. 啟動 OB 的接口變量
圖4. 啟動 OB 的啟動信息
讀取啟動 OB 的啟動信息的使用示例:當發(fā)生保持性數(shù)據(jù)丟失,輸出 Q0.0 為1,當發(fā)生實時時鐘丟失,輸出 Q0.1 為1。
在啟動 OB 中編程如圖5:
● 啟動 OB 的使用示例:
例如:在啟動 OB100 中無條件為地址為 MW100 賦初值100;有條件(當 I0.0 = true 時)為 MW102 賦初值200。具體實現(xiàn)過程如下:
1、按如下步驟創(chuàng)建啟動組織塊 OB100 。如圖6。
圖6. 創(chuàng)建啟動組織塊 OB100
2、OB100 中編程如下圖。如圖7。
圖7. OB100 中編程
注意:前面解釋過,不同CPU版本對由物理輸入的狀態(tài)復(fù)制到I存儲器(也就是過程映像)的執(zhí)行時間不同,為了程序低版本和高版本的一致。因此,要在啟動模式下讀取物理輸入的當前狀態(tài),必須對輸入執(zhí)行立即讀取操作,例如 I0.0:P。
3、測試結(jié)果:程序下載后,在監(jiān)控表中查看 MW100、MW102 的數(shù)據(jù)。
① 當硬件輸入 I0.0 為0時,CPU 上電啟動或 STOP--->RUN 操作時首先執(zhí)行 OB100 ,即 MW100 被賦值100,MW102 未被賦值200。如圖8。
圖8. 測試結(jié)果1
② 當硬件輸入 I0.0 為1時,CPU 上電啟動或 STOP--->RUN 操作時首先執(zhí)行 OB100 ,即 MW100 被賦值100,MW102 被賦值200。如圖9。
圖9. 測試結(jié)果2
審核編輯 :李倩
-
存儲器
+關(guān)注
關(guān)注
38文章
7518瀏覽量
164080 -
cpu
+關(guān)注
關(guān)注
68文章
10889瀏覽量
212386 -
編程
+關(guān)注
關(guān)注
88文章
3633瀏覽量
93853
原文標題:啟動 OB 塊:OB100
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論