国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
樓主: thenblue

PLC定時器和計數器

[復制鏈接]
11#
發表于 2016-4-13 08:17:07 | 只看該作者
你的目的是 控制動作周期  而不是時間延時的  就會用計數器組合 而非  時間繼電器。

點評

好像就是作者的編程習慣,他的目的并不是控制動作周期,比如延時30分鐘關機等。  發表于 2016-4-14 17:40
12#
發表于 2016-4-14 16:22:46 | 只看該作者
初學者  來看看
13#
發表于 2016-4-16 08:54:46 | 只看該作者
有的PLC的定時器是有限制的,最大值32767轉換過來45秒,再長的定時就需要用計數器。
14#
發表于 2016-4-16 09:24:31 | 只看該作者
其實所有的定時器都是用計數器做的,PLC也是由單片機構成的??纯磫纹瑱C的定時程序就明白了
" {! D+ J' E3 a7 Y/ y; K) I$ ~ /****************************中斷子程序_定時***************************************/
4 j$ N' g6 l( @) e1 j9 }void Timer0() interrupt 12 a5 }- ^1 A3 K, r' z
{
: O9 V( V* E) Y4 o$ M3 q         static         Count1=0,Count2=0;          //靜態變量計數器1
! b9 R; j( C# Q: M) ~        Count1++;                      //每次中斷計數器加1
0 t  y! X" H8 c/ o0 G0 I! r        Count2++;                      //每次中斷計數器加1- F' M- p# o% L9 r8 Z2 l
        if(Count1>=12)                   //如果計數器1超過12
; w  V9 h7 k5 f( r0 `        {
4 c- K+ f( O9 W  G        time_led_sansuo=!time_led_sansuo;, X0 _0 A+ j* l1 M5 U2 \9 y
        Count1=0;' z! [3 J, p) ]& r7 l4 [
        }
2 E, s1 g, R! e        if(time_led_sansuo)7 k# w( |2 @1 ]5 N' n
        led_dis &= 0xbf;
6 L" H8 ~% Z6 }, X( ]  l        else( K4 }/ a4 ?8 H+ o* V; U
        led_dis |= 0x40;               
2 h& }2 x) p9 E9 L% E2 N4 J9 m7 F2 V        if(Count2>=100)                   //如果計數器2超過100  a9 z# T& m, {' n( \
        {       
. i4 m) t3 M: C: r, }1 ~/ Y    time_run--;
% v5 H$ }% U& J        if(time_run==0)8 h0 p& G; i4 X7 G8 a: j: C5 X1 O& Z
         {: A* I" v5 ]0 P. A( I
         ET0=0;                                                          //關定時器0/ A- v7 Z; I! N7 @' @, ]! A9 Y
         Time_on=2;2 i5 e7 b+ i/ C, K
         EX0=1;                                          //開外部0中斷;& y! ?2 i2 a7 J# ?8 d
         }; P+ [% @5 ^* K
        Count2=0;                      //計數器清零% z, l; p. X2 e1 E( Y. C: ^
        }
" M# `. t$ ^4 q7 n9 R% V  V4 Z0 P8 p9 ]1 ]
        TH0=0x28;                       //重置定時初值; @. D1 ~% a3 S; K3 ?
        TL0=0x4b;7 x) Z6 D1 _, N
}

點評

贊,這樣就清除了。謝謝啦!  發表于 2016-4-16 12:12
15#
發表于 2016-4-22 11:41:03 | 只看該作者
我也覺得這個跟寫程序的人的習慣有關吧
16#
發表于 2016-5-4 17:00:46 | 只看該作者
硬件程序的設計一是依靠片內資源,二就是設計者的編程習慣,在數字電路中'定時器的本質就是對時鐘信號進行計數到指定值然后>進入對應的中斷服務程序。所以沒有必要特意區分二者區別,在實際案例中可以主要是否有其他子功能使用定時器,為了避免沖突二而采用計數器作為定時元件?
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-9-4 09:25 , Processed in 0.060256 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表