久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

機械社區

標題: PLC定時器和計數器 [打印本頁]

作者: thenblue    時間: 2016-4-7 22:49
標題: PLC定時器和計數器
最近在學習西門子300系列的PLC,參考的是一個大型控制系統的PLC程序,發現其中所有的定時功能都沒有使用定時器,而是用1Hz的脈沖和計數器實現,之前也看過用循環中斷和計數器實現定時功能,請問一下為什么要這么使用呢?這樣有什么好處嗎?
* ~% G: l( p( i  d9 V# k
: a5 v" A4 _( x9 {
2 _! C+ U! t. c( h補充內容 (2016-9-3 08:47):5 O3 F, D% |! t# ^) d  m
在實際使用中,發現使用系統脈沖和加減器可以記錄運行時間,這樣功能塊因為錯誤或者什么原因跳出仍然可以保留運行時間,在下次使用時可以繼續計時
作者: 菠蘿蜜258    時間: 2016-4-8 08:00
這跟控制什么樣的設備有關吧?
' A1 D0 y! N/ J, j計數說明這個過程完成了1次或n次,計時說明需要多少時間完成這個過程。
- S# u* V1 k$ a% i7 ?( {$ P1 D2 R) m. }( g6 K7 t8 J
不懂瞎說刷分
作者: 菠蘿蜜258    時間: 2016-4-8 08:01
這跟控制什么樣的設備有關吧?1 o1 T5 A7 ]9 q. M4 d3 t+ E
計數說明這個過程完成了1次或n次,計時說明需要多少時間完成這個過程。
$ G/ u& m1 i! R5 s% S- Z: R! b; f( K# Y: j2 H+ z' l2 ^! r; i

作者: 菠蘿蜜258    時間: 2016-4-8 08:08
這跟控制什么樣的設備有關吧?8 @3 ]* u  }8 Q# }0 k
計數說明這個過程完成了1次或n次,計時說明需要多少時間完成這個過程。
作者: 菠蘿蜜258    時間: 2016-4-8 08:12
這跟控制什么樣的設備有關吧?7 e1 b9 Z  z% E9 h/ D9 q9 ~
計數說明這個過程完成了1次或n次,計時說明需要多少時間完成這個過程。
作者: 菠蘿蜜258    時間: 2016-4-8 08:33
本帖最后由 菠蘿蜜258 于 2016-4-8 08:47 編輯 " j0 N% v) U, f4 k+ P
4 l; X7 a5 E/ `$ E
這跟控制什么樣的設備有關吧?' N1 Y4 R. ^  P. m) B! I! @
計數說明這個過程要完成1次或n次,計時說明需要多少時間完成這個過程。
; `( R6 |. {" i& s' P* R2 L( h3 ~0 [) m
抱歉!
! W0 U. U9 a4 b% _$ U不是故意貼這么多。純屬新人無知。, ?5 z' I; ^7 ^7 u, e3 v4 f, b0 s" S
自己還無權刪除。
作者: kingreader    時間: 2016-4-8 08:47
  看不到程序不好說,只能猜想在規定的時間里需要確認脈沖數。
作者: 否定了    時間: 2016-4-8 08:48
使用定時器往往受到諸多限制,而計數器就不一樣了。定時器:保持性延時接通,延時斷開,延時接通。條件與結果就限制了。
作者: 17567410    時間: 2016-4-12 15:35
這個跟寫程序的人的習慣有關吧
作者: 17567410    時間: 2016-4-12 16:15
17567410 發表于 2016-4-12 15:35
" b& q  `/ I! q4 a; r這個跟寫程序的人的習慣有關吧
) v1 u1 a' p8 E! c! v
覺得還是脈沖的比較隨意
6 j& N! |2 n/ n1 q% k; C) {0 {5 M
作者: however1241    時間: 2016-4-13 08:17
你的目的是 控制動作周期  而不是時間延時的  就會用計數器組合 而非  時間繼電器。
作者: zhangce900@163    時間: 2016-4-14 16:22
初學者  來看看
作者: 長橋臥波    時間: 2016-4-16 08:54
有的PLC的定時器是有限制的,最大值32767轉換過來45秒,再長的定時就需要用計數器。
作者: 長橋臥波    時間: 2016-4-16 09:24
其實所有的定時器都是用計數器做的,PLC也是由單片機構成的。看看單片機的定時程序就明白了
, Y- J, \: l7 r6 O0 J# d /****************************中斷子程序_定時***************************************/% u) I2 _( }8 F$ K, c- q; L
void Timer0() interrupt 1
" }3 }1 {2 u3 M7 `2 q" L {
3 d) m) x" z2 L% X7 {         static         Count1=0,Count2=0;          //靜態變量計數器1
5 z( U+ U& T9 a        Count1++;                      //每次中斷計數器加1+ k& K  c1 y' y/ V4 e2 ~& {9 ?4 b
        Count2++;                      //每次中斷計數器加1
* T9 q( m) Q# v2 _* R& h        if(Count1>=12)                   //如果計數器1超過123 k, D, t: N% B+ Z; e
        {
" T1 g" t7 R5 s1 [. O        time_led_sansuo=!time_led_sansuo;# b) M+ u  q0 ?$ H; m
        Count1=0;+ z: |; @  e1 z1 s# e1 n4 ]# `
        }; E5 H' A& P1 C% R$ U
        if(time_led_sansuo); b  z1 u, u1 V
        led_dis &= 0xbf;% l. J) v/ }& ?8 ?* ?) u
        else; K. S0 T; n& d# f3 V, r
        led_dis |= 0x40;                , b+ i+ s9 s, o) O/ L
        if(Count2>=100)                   //如果計數器2超過1000 S7 u/ ?2 Y$ |; K
        {       
+ p' _+ P4 i9 X) G6 R+ y) O: o& E    time_run--;
8 ~* B4 g' T! V9 F. {5 G        if(time_run==0)
& m2 S' F& H& u. w         {% U" y$ w) o' b
         ET0=0;                                                          //關定時器08 J3 ]; g  ^- \7 D
         Time_on=2;
: p, u9 F2 a3 r' w         EX0=1;                                          //開外部0中斷;
' H) o  N) g% @  l0 k/ [3 D- c         }+ r- f: Q& w$ {) w' s5 H5 j& \
        Count2=0;                      //計數器清零
9 I* j9 C' r; Y# [        }) b+ _- Q  A8 X; V, c" `  b

5 {, t% m, S$ {0 s& W% [! v        TH0=0x28;                       //重置定時初值
' |# d8 E! j* }) ?        TL0=0x4b;1 l& v# ^" k( u! Y: i2 e
}
作者: 伊巽    時間: 2016-4-22 11:41
我也覺得這個跟寫程序的人的習慣有關吧
作者: 人大太犬    時間: 2016-5-4 17:00
硬件程序的設計一是依靠片內資源,二就是設計者的編程習慣,在數字電路中'定時器的本質就是對時鐘信號進行計數到指定值然后>進入對應的中斷服務程序。所以沒有必要特意區分二者區別,在實際案例中可以主要是否有其他子功能使用定時器,為了避免沖突二而采用計數器作為定時元件?




歡迎光臨 機械社區 (http://www.ytsybjq.com/) Powered by Discuz! X3.5