国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人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也是由單片機構成的。看看單片機的定時程序就明白了1 {9 V7 ]0 L. ]) J* g: Z9 J# ?
/****************************中斷子程序_定時***************************************/  [9 x4 V* ]  O4 @8 j
void Timer0() interrupt 1
# O2 `* q+ U1 D. E; v! k! ?; c0 l# N {. B3 `, |* r, ~, _! @# t$ ?" C
        static         Count1=0,Count2=0;          //靜態變量計數器1
7 T8 |9 ?  V' l0 i" u        Count1++;                      //每次中斷計數器加1* V0 `  @$ t" A6 [5 |* s, {& o
        Count2++;                      //每次中斷計數器加1
  ^5 e; m! r4 r" K( _$ t8 U        if(Count1>=12)                   //如果計數器1超過126 f7 n- A# G- v* E
        {
: M) h  ?# W1 ]: Z: n- ?7 T        time_led_sansuo=!time_led_sansuo;: P0 H- I( t) k3 m9 j
        Count1=0;3 M0 R5 n! A* T) G: Y7 O* _
        }( G5 d! K$ P( |$ y' _0 ]4 Y" {
        if(time_led_sansuo)" {  @* p* T0 u
        led_dis &= 0xbf;
6 C# q1 }6 F; o: x. l" C& x2 _        else
* n9 q  a9 x& A& k; @( a        led_dis |= 0x40;                3 @  v7 B& N3 Y+ h5 \- c
        if(Count2>=100)                   //如果計數器2超過100
- }9 w. i+ P) q; f8 _  ?        {       
2 k$ H- o+ p: W; {/ a+ N) F2 r    time_run--;
& _1 m; b+ c: x2 w2 D# z# k        if(time_run==0)7 ]+ K* \) \  v/ C- j4 h
         {
( |; y( Z* n3 Z( {4 ~! O: K         ET0=0;                                                          //關定時器0) {7 L5 ]( s/ Q- v; p: A& G/ j
         Time_on=2;
5 F) m' a( R' C8 D; o3 g         EX0=1;                                          //開外部0中斷;. m& `0 d3 z2 {' `: q2 g
         }4 r2 x3 X( a+ {7 \
        Count2=0;                      //計數器清零0 j) g  S8 U/ Y5 W' p- B* r
        }' ^" R7 ?" K9 h- O: g
+ J9 h; N; b" W5 g) h8 p
        TH0=0x28;                       //重置定時初值+ Z) h/ v2 A+ x
        TL0=0x4b;
& y" ^% L8 f0 e% A% q8 e3 Z }

點評

贊,這樣就清除了。謝謝啦!  發表于 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-28 08:05 , Processed in 0.085531 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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