西門子PLC時間中斷組織塊的功能是什么
發(fā)布于2022-11-22 11:12
67
2
標簽:西門子PLC
S7-400 CPU可以使用的時間中斷 OB(OB10~OB17)的個數(shù)與CPU的型號有關(guān)。絕大多數(shù)S7-300 CPU只能使用OB10。
可以設(shè)置在某一特定的日期時間產(chǎn)生一次時間中斷,也可以設(shè)置從設(shè)定的日期時間開始,周期性地重復(fù)產(chǎn)生中斷,例如每分鐘、每小時、每天、每周、每月、每年產(chǎn)生一次時間中斷??梢杂脤S玫腟FC28~SFC30設(shè)置、取消和激活時間中斷。
為了啟動時間中斷,用戶首先必須設(shè)置時間中斷的參數(shù),然后再激活它。可以用組態(tài)或編程的方法來啟動時間中斷。
1. 基于硬件組態(tài)的時間中斷
要求在到達設(shè)置的日期和時間時,用Q4.0自動起動某臺設(shè)備。用新建項目向?qū)梢粋€名為“OB10_1”的項目(見隨書光盤中的同名例程),CPU模塊的型號為CPU315-2DP。
打開硬件組態(tài)工具HW Config(見圖4-43),雙擊機架中的CPU,打開CPU的屬性對話框。在“時刻中斷”選項卡中,設(shè)置執(zhí)行起動設(shè)備的日期和時間,執(zhí)行的方式為“一次”。用復(fù)選框激活中斷,按“確定”按鈕結(jié)束設(shè)置。單擊工具欄上的壁按鈕,保存和編譯組態(tài)信息。
在SIMATIC管理器中生成OB10,下面是用語句表編寫的OB10的程序,設(shè)置的時間到時,將需要起動的設(shè)備對應(yīng)的輸出點置位:

打開PLCSIM,生成QB4的視圖對象。下載所有的塊和系統(tǒng)數(shù)據(jù)后,將仿真PLC切換到RUN-P模式。時間中斷在PLC暖啟動或熱啟動時被激活,在PLC啟動過程結(jié)束之后才能執(zhí)行。達到設(shè)置的日期和時間時,可以看到Q4.0變?yōu)?狀態(tài)。

做實驗時應(yīng)設(shè)置比當前的日期時間稍晚一點的日期和時間,以免等待的時間太長。
2. 用 SFC 控制時間中斷
除了在硬件組態(tài)工具中設(shè)置和激活時間中斷之外,也可以在用戶程序中調(diào)用SFC來設(shè)置和激活時間中斷。用新建項目向?qū)梢粋€名為“OB10_2”的項目(見隨書光盤中的同名例程)。在OB1中調(diào)用SFC31“QRY_TINT”來查詢時間中斷的狀態(tài)(見圖4-44),讀取的狀態(tài)字用MW8保存。
IEC功能FC3“D_TOD_TD”用于合并日期和時間值,它在程序編輯器左邊窗口的文件夾“\庫\ Standard Library \ IEC Function Blocks”中。首先生成 OB1 的臨時局部變量(TEMP)“DTI”,其數(shù)據(jù)類型為Date_And_Time,“D_TOD_TD”的執(zhí)行結(jié)果用DT1保存。
在I0.0的上升沿,調(diào)用SFC28“SET_TINT”和SFC30“ACT_TINT”分別來設(shè)置和激活時間中斷 OB10。在 I0.1的上升沿,調(diào)用SFC 29“CAN_TINT”來禁止時間中斷。
各SFC的參數(shù)中的RET_VAL是執(zhí)行時可能出現(xiàn)的錯誤代碼,為0時無錯誤。OB_NR 是組織塊編號,SFC28“SET_TINT”用來設(shè)置時間中斷,它的參數(shù)SDT是開始產(chǎn)生中斷的日期和時間。PERIOD用來設(shè)置執(zhí)行的方式,W#16#0201表示每分鐘產(chǎn)生一次時間中斷。
