詳細介紹
西門子上海觸摸屏代理商
凡在上海盟疆工業(yè)自動化設備有限公司采購西門子產(chǎn)品,均可質(zhì)保一年,假一罰十
花30秒詢價,你會知道什么叫優(yōu)勢;花60秒咨詢,你會知道什么叫服務;
合作一次,你會知道什么叫質(zhì)量!以質(zhì)量求生存,以信譽求發(fā)展。
我司將提供的質(zhì)量,服務作為自已重要的責任。
1. 提出問題
圖1
問題1:M10.2能否被置位?
圖2
問題2:S_CU計數(shù)有無問題,M6.2能否被置位?
先來了解一下都有哪幾個計時器,以及它們的特性如何
圖3
2. 計時器描述
從以圖3可以看出5個計時器的基本特性,可以簡單的從中挑選與控制工藝相符合的計時器使用,如果想了解計時器的詳細信息,可以選擇計時器,并按F1看幫助信息中的具體邏輯圖。
以計時器SD為例,參見圖4
圖4
我們從中可以知道,當觸發(fā)端S的信號為上升沿時,觸發(fā)計時器開始運行,時間結束后計時器輸出端為1,S信號為下降沿時,計時器輸出端為0
那么根據(jù)此情況,以圖1為例,咱們可以把剛才的梯形圖程序通過時序圖表示如下圖5
其中a,b之間是在掃描此段程序兩個周期之間的間隙。
圖5
3. 計時器與循環(huán)程序的關系
經(jīng)過分析,可以看出,M10.2(S)是可以被置位的,那為什么沒有看見其被置位呢?
大家注意,這里t的時間是8s,我們知道,一個程序的掃描周期很短,可能才十幾----幾十毫秒,在線時候可以監(jiān)控到Scan Cycle Time。如圖6
圖6
那這個時間不是遠遠超過了掃描周期么?
我們又知道,如果程序掃描周期大于大掃描周期監(jiān)控時間Scan Cycle Monitoring Time,那么將會觸發(fā)中斷,甚至造成CPU進入STOP狀態(tài)。
其實,計時器的執(zhí)行是異步于OB1循環(huán)掃描的,只要計時器運行后,在每一周期掃描到計時器的觸發(fā)端S信號如果為1,那么計時器就將在此周期繼續(xù)計時。因此,它對于大周期監(jiān)控時間并沒有太大的影響,只是調(diào)用語句時占用了少許us的時間。
怎么來驗證這個說法呢?就是說計時器的執(zhí)行并不同步于OB1程序掃描周期。
1,可以在程序中加入若干SFC47增大程序掃描周期(保證小于Scan Cycle Monitoring Time),通過監(jiān)控計時器的時間,可以看出,計時器的時間是跳躍式的變化的,也就是說,也就是說,當程序掃描完計時器,繼續(xù)往下進行時,計時器滿足觸發(fā)條件進行計時,此周期往后的計時是一直在進行的。
2,可以通過在中斷來證明
3,通過程序死循環(huán)監(jiān)視計時證明
4,通過多個計時器監(jiān)視時間來證明等等各種方法
那說明了是異步的有何作用呢?
說明了剛才咱們分析程序所作的時序圖有一定的問題,因為咱們的分析是按照程序一步步往下進行的,相當于是同步進行的。而實際在程序執(zhí)行時,掃描周期是比較短的,所以計時器是在其中的某一個周期里計時器計時結束時輸出被置位為1,那么因為這樣,所以對我們編寫程序就會有一定的要求。也就有了下面一個問題
4. 計時器動作的時刻
計時器的輸出端是什么時候被置位呢,什么時候起作用呢,比如?
是等到重新掃描到計時器塊,計時器執(zhí)行完畢才置位,還是不用重新掃描到計時器?程序中直接掃描的T40節(jié)點,它就已經(jīng)被置位了呢?
1,我們可以設置OB35的看門狗時間為2000ms, 如圖7
OB35里觸發(fā)計時器T40,的開點給線圈M6.0,如圖8
OB1里的開點給線圈M6.1,M6.0開點給線圈M6.2,如圖9
經(jīng)過試驗,觀察看到,當T40的Timer運行結束后M6.1立刻就被置位了,而M6.0和M6.2會等到再次掃描到OB35,才會被置位。
可得出結論,當計時器T40計時結束時,CPU掃描到時,它就已經(jīng)為1了,不需要等到掃描計時器S_ODT(SD)。
圖7
圖8
圖9
2,也可以在OB1里調(diào)用多個“wait”代碼讓OB1的掃描周期足夠大,如5s,先調(diào)用一個SD T2 1s,然后調(diào)用若干“wait”,大概持續(xù)2s,用T2開點觸發(fā)一個線圈如M10.0,再調(diào)用若干“wait”,大概1s,然后再調(diào)用一個SD T3,可以看出再T3還沒有開始計數(shù)時,M10.0已經(jīng)被置位了。
計時器在OB30—OB38里呢?
是一樣的。
可以在OB35里使用SD計時器,可以發(fā)現(xiàn),當程序調(diào)用OB35時,計時器開始運行,把OB35執(zhí)行時間和計時器時間設置大些,可以發(fā)現(xiàn),只要每次在掃描的計時器觸發(fā)端時,條件滿足,計時器就開始運行,直到下一次掃描OB35時再掃描到此條件為止。
可以把計時器時間設置足夠大,當計時未結束前把它的觸發(fā)端變?yōu)?,那么其計時停止,直到再次觸發(fā)。
可以得出計時器的運行只與每次掃描到它的觸發(fā)端有關。掃描完觸發(fā)端后,計時器的運行就與觸發(fā)端無關了,直到下一次再次掃描到此觸發(fā)端。
5. 分析程序
了解了以上的一些基本知識,咱們再來看看剛才圖1中的程序。
一個CPU的掃描周期是可以計算的,根據(jù)不同的配置和數(shù)據(jù)的讀取,可以計算出不同的周期,在PLC運行時,每個周期的大小也是不一樣的,可以大致計算出范圍,可以根據(jù)每條語句來計算程序的執(zhí)行時間,再加上相應的循環(huán)周期檢測點,周期中斷,訪問過程映像區(qū),通信負載等。這些時間的長短與CPU型號及使用方式有關。
使用PS307 5A,CPU315-2PN/DP (315-2EH13-0AB0 V 2.6.50)為例。以下所有時間都以此配置為標準。
我們把圖1的梯型圖換成語句表來分析指令執(zhí)行的過程。
圖10
一個CPU的掃描周期的計算可以根據(jù)以下幾個過程來進行
圖11