加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200編程入門教程之定時器
        發布時間: 2024-03-25 20:01 更新時間: 2024-11-24 08:00
        觀看西門子S7-1200編程入門教程之定時器視頻

            S7-1200PLC定時器為IEC定時器,沒有固定的類似S7-200CN中的T0、T37一樣的編號,使用前需要在數據塊中聲明IEC_TIMER類型變量才可以使用。使用的數量收CPU的存儲器容量限制。


            定時器介紹


            S7-1200定時器包含四種定時器:

                1、TP:生成脈沖定時器。

                        IN由“0”變成“1”時,Q由“0”變為“1”。在ET未達到PT時間前,Q均                                保持“1”輸出狀態,不受IN的狀態變化影響。當ET=PT時,停止計                                時,Q由“1”轉換為“0”。


        圖1 TP生成脈沖定時器

                2、TON:接通延時定時器。

                        IN為“1”時,定時器啟動計時。當ET=PT時,Q輸出為“1”,ET停止計時并                    保持當前計時狀態。任意時刻IN為“0”時,ET計時時間清零,Q輸出恢                        復為“0”。


        圖2 接通延時定時器

                3、TOF:關斷延時定時器。

                            IN由“0”變為“1”時,Q輸出變為“1”,當IN由“1”變為“0”時,定時器計時                        啟動,當ET=PT時,Q輸出變為“0”,并定時器停止計時,保持當前計                            時值。任意時刻IN變為1時。Q輸出變為“0”,并定時器計時值清零。


        圖3 TOF關斷延時定時器

                4、TONR:時間累加器。

                        IN由“0”變為“1”時,定時器開始計時,當IN由“1”變為“0”時,定時器停                            止計時并保持當前計時值。當ET=PT時,Q輸出變為“1”。當R                                    由“0”變為“1”時,定時器計時值復位,Q輸出變為“0”。


        圖4 TONR時間累加器


                在S7-1200指令中,定時器分為功能框定時器和線圈型定時器。如圖5所示。

        這兩種定時器在使用上沒有區別。


        圖5 定時器指令

            定時器程序編寫

                

              前面我們有介紹到,S7-1200中的IEC定時器,需要先在數據塊中聲明IEC_TIMER類型的定時器變量,聲明方法如下:

                1、將DB塊聲明為1個IEC_TIMER定時器。過程如“圖6”所示。

                        1、添加新塊;

                        2、定義新DB塊名稱;
                        3、將類型修改為“IEC_TIMER”類型;

                        4、點擊“確定”即可;


        圖6 DB塊聲明為IEC_TIMER

                2、在全局DB塊內,聲明一個或多個IEC_TIMER類型變量。過程如“圖7”所示

                        1、添加一個全局DB數據塊,名稱可任意定義;

                        2、在全局DB內,添加一個變量,類型設置為“IEC_TIMER”;

                        通過此方法可以在一個DB塊內,添加多個IEC_TIMER變量,這樣會比第一                        種方法看起來更加簡潔直觀。

        圖片

        圖7 在全局DB塊內新建IEC_TIMER定時器

                聲明好IEC_TIMER變量后,我們可以回到Main主程序中,添加一個定時器來做個簡單測試。下面以TON接通延時定時器為例,做個簡單程序測試。

                1、從指令樹的基本指令中,將TON指令拖入到我們想要放的位置;

                2、如果我們已聲明過IEC_TIMER變量,則彈出的對話框我們可以直接點取消;

                3、在TON定時器指令上方,輸入我們所聲明的定時器變量;

                4、為定時器的IN和PT分配參數;Q和ET可以選擇不分配變量;

                     其中PT為Timer類型變量;格式為“T#”再加時間,如2秒,可以                                    寫入“T#2S”或者用“T#2000MS”

        圖片

        圖8 TON指令調用

                    這樣定時器的程序即完成。


        問題注意點:


                1、為什么TON定時器在IN為“1”時,定時器不計時?

                    1、S7-1200中IEC_TIMER定時器在使用時,如果在程序中未使用的該定時                    器的ET或Q,則該定時器不會刷新,則計時器當前值不更新。

                    2、定時器的聲明變量被重復使用。


        圖9 定時器計時不工作

                    2、定時器能否達到精準計時?

                            不能做到。

                            IEC_TIMER定時器的更新發生在定時器的ET或者Q被掃描到時。因此定                        時器的計時值會受到掃描周期影響,不能做到精準計時,如果需要精準                        技術,可采用循環中斷(OB30)來實現。

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415