目錄
1 概述
2 編寫測試程序
3 測試結果
4 總結正文
新建名為TestTimer的FB塊,并在Main中調用,并產生其背景數據塊InstTimerTest。
打開TestTimer塊,在Static區域建立如下靜態變量,注意sSetPT的初值為T#30s。
在代碼編輯區域,編寫如下代碼。
//調用定時器,P1IF #sIsCall THEN #instTimer.TON(IN := #sIsEnable, PT := #sSetPT);END_IF;
//訪問定時器的Q,P2IF #sIsReadQ THEN IF #instTimer.Q THEN RESET_TIMER(#instTimer); END_IF;END_IF;
//訪問定時器的ET,P3IF #sIsReadET THEN IF #instTimer.ET >= t#20s THEN RESET_TIMER(#instTimer); END_IF;END_IF;
3 測試結果
下載程序至仿真PLC并打開InstTimerTest背景數據塊,進行在線監測。以下PLC初始運行的狀態我們定義為初始狀態,以下場景都從初始狀態開始。
(1)場景1初始狀態時,先將sIsReadQ和sIsReadET至少一個置1,再將sIsCall、sIsEnable分別置1,即調用并啟動定時器,程序則按照編寫邏輯運行。若僅sIsReadQ置1,則定時器計時30s輸出Q,P2中程序復位定時器,定時器重新計時。
若僅sIsReadET置1,則定時器計時20s,P3中程序復位定時器,定時器重新計時。
若sIsReadQ和sIsReadET都置1,則定時器計時20s被P3程序復位后重新計時。
此場景下,定時器正常工作,可以看到ET值一直在刷新變化,按照程序邏輯正常執行。
(2)場景2
初始狀態時,sIsReadQ和sIsReadET都不置1,將sIsCall、sIsEnable分別置1,即調用并啟動定時器,此時ET值沒有刷新變化,一直保持為0。
大約等待10s后,將sIsReadQ和sIsReadET至少一個置1,可以看到ET立即刷新為10s左右的計時值。
若等待到30s以后再將sIsReadQ和sIsReadET至少一個置1,那么計時器將重新計時,因為程序中的Q和ET立即刷新,Q輸出且ET大于30s,計時器被P2(3)程序復位了。場景2結論:即使未訪問Q或ET,只要TON被調用并激活,其內部參數也計時了,只不過外部并沒有刷新而已,也就是說P2(3)程序不會執行。一旦Q或ET其中一個被訪問,那么Q和ET會立即被刷新為實際值。(3)場景3初始狀態時,先將sIsReadQ和sIsReadET至少一個置1,再將sIsCall、sIsEnable分別置1,即調用并啟動定時器。在ET為5s左右時,復位sIsReadQ和sIsReadET,發現ET不再刷新,停留在為復位sIsReadQ和sIsReadET時的值。
等待大約10s以后,再將sIsReadQ和sIsReadET至少一個置1,發現ET值為15s左右。
場景3驗證了場景2得出的結論。(4)場景4初始狀態時,先將sIsReadQ和sIsReadET至少一個置1,再將sIsCall、sIsEnable分別置1,即調用并啟動定時器。在ET為5s左右時,sIsEnable保持為1,將sIsCall復位,發現ET仍然刷新,到達指定時間時,P2(3)會復位定時器。即使將sIsCall再次置1,也不影響定時器的計時,即ET繼續從當前值計時,不會從0開始。
若在sIsCall被復位期間,sIsEnable也被復位,仍不影響定時器的計時,因為在TON指令未被調用時,IN的狀態不會再隨連接變量的變化而變化,下圖IN仍然為sIsCall復位前的狀態TRUE。只要在sIsCall再次被置1前將sIsEnable置1都不不影響定時器的計時。
場景4結論:當TON指令的IN檢測到由1變0時,定時器會復位;當IN檢測到由0變1時,定時器開始計時。另外要注意,TON指令未被調用時,IN的狀態不會隨連接變量的變化而變化,IN的狀態會保持在取消調用前的那一刻的狀態,直達TON被重新調用,IN才會更新。
- SIMATIC S7-1500 PLC數據類型之系統數據類型介紹 2024-12-05
- SIMATIC S7-1500 PLC 控制系統的硬件組成之負載電源與系統電源介紹 2024-12-05
- 西門子S7-1200 PLC與KTP700觸摸屏創建配方設置實例 2024-12-05
- 西門子S7-1200PLC的HSC高速計數器應用實例 2024-12-05
- 西門子 TIA Portal WinCC 通過 VB 腳本寫數據到 Excel 文件的方法 2024-12-05
- 西門子S7-1200PLC 帶參數編程和不帶參數編程 2024-12-05
- 西門子200smart PLC編程案例-流水燈程序 2024-12-05
- 西門子1200CPU與G120C變頻器組態通訊、控制變頻器啟停及調速 2024-12-05
- 西門子Graph編程指南之一引腳功能 2024-12-05
- 關于西門子PLC中ProDiag 功能中變量監控的【詳細文本域】參數使用介紹 2024-12-05
- 西門子S7-1200安全型PLC案例應用分享 2024-12-05
- 匯川MD500-面板參數調試手冊(PROFINET通訊) 2024-12-05
- 西門子PLC中ProDiag 功能的介紹和使用教程 2024-12-05
- 博途高效編程技巧--HMI面板實例介紹和使用 2024-12-05
- 西門子S120伺服控制方式 2024-12-05
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684