- SF = Li nhúm, c hỗ ương trỡnh sai hay l it khi chun đoỏn ẩ BATF = L i Pin, Pin h t hay khụng cú pinỗế
b/ Lp trỡnh cú cu trỳc ấ: Chương trỡnh được chia thành nh ng ph n nhữ ỏ và m i ph n th c thi nh ng nhi m v chuyờn bi t riờng c a nú, t ng ph n này ỗầựữệụệủừầ
2.2.4 .B thi gian (Timer) ờ
1) Nguyờn t c làm vi cắ ệ
B th i gian (timer) là b t o th i gian tr τ mong mu n gi a tớn hi uộ ờ ộ ạ ờ ễ ố ữ ệ logic đ u vào u(t) và tớn hi u logic đ u ra y(t). S7-300 cú 5 lo i timer khỏ nhau,ầ ệ ầ ạ t t c cỏc timer này đ u b t đ u t o th i gian tr tớn hi u k t th i đi m cúấ ả ề ắ ầ ạ ờ ễ ệ ể ừ ờ ể sườn lờn tớn hi u đ u vào (u(t) chuy n t 0 lờn 1) g i là th i đi m kớch. ở ệ ầ ể ừ ọ ờ ể
Th i gian tr mong mu n đờ ễ ố ược khai bỏo v i timer b ng giỏ tr 16 bit baoớ ằ ị g m hai thành ph n:ồ ầ
- M t s nguyờn (BCD) trong kho ng 0-999 độ ố ả ược g i là giỏ trọ ị đ t trặ ước PV (Preset Value)
Th i gian tr đờ ễ ược tớnh: τ = đ phõn gi i x PVộ ả
Hỡnh 2.11. C u hỡnh giỏ tr th i gian tr đ t trấ ị ờ ễ ặ ước khi khai bỏo timer
Ngay t i th i đi m kớch, giỏ tr PV đạ ờ ể ị ược chuy n vào thanh ghi 16 bit cể ả timer T_word (g i là thanh ghi CV – Current Value). Timer s ghi nh kho ngọ ẽ ớ ả th i gian trụi qua b ng cỏch gi m d n m t cỏch tờ ằ ả ầ ộ ương ng n i dung thanh ghiứ ộ CV. N u n i dung thanh ghi CV tr v b ng 0 thỡ timer đó đ t đế ộ ở ề ằ ặ ược giỏ tr th iị ờ gian tr mong mu n τ và đễ ố ược khai bỏo ra ngoài b ng cỏch thay đ i tr ng thỏi tớnằ ổ ạ hi u đ u ra. Vi c thụng bỏo này ph thu c vào lo i timer đệ ầ ệ ụ ộ ạ ượ ử ục s d ng.
Bờn c nh sạ ườn lờn c a tớn hi u đ u vào u(t), timer cũn cú th đủ ệ ầ ể ược kớch b ng sằ ườn lờn c a tớn hi u kớch ch đ ng Enable n u t i th i đi m cú sủ ệ ủ ộ ế ạ ờ ể ườn lờn c a tớn hi u Enable, tớn hi u đ u vào u(t) cú giỏ tr logic 1.ủ ệ ệ ầ ị
Hỡnh 2.12. Nguyờn lý làm vi c c a timer ệ ủ
T ng lo i timer đừ ạ ược đỏnh s t 0 đ n 255 (tuỳ thu c vào lo i CPU). M tố ừ ế ộ ạ ộ timer được đ t tờn là Tx, trong đú x là s hi u c a timer (0 ặ ố ệ ủ < x < 255). Ký hi uệ
timer đang trong ch đ làm vi c cú th đ a l i v tr ng thỏi ban đ u b ng tớnế ộ ệ ể ư ạ ề ạ ầ ằ hi u reset. T i th i đi m cú tớn hi u reset thỡ T_word và T_bit c a nú đ ng th iệ ạ ờ ể ệ ủ ồ ờ được xoỏ v 0.ề
2) Khai bỏo s d ngử ụ
Vi c khai bỏo m t timer g m cỏc bệ ộ ồ ước sau:
- Khai bỏo tớn hi u enable n u mu n ch đ ng kớchệ ế ố ủ ộ
• A <đ a ch bit>ị ỉ
• FR <tờn timer>
- Khai bỏo tớn hi u đ u vào u(t) ệ ầ
• A <đ a ch bit>ị ỉ
- Khai bỏo th i gian tr mong m ngờ ễ ố
• L <h ng s >ằ ố
- Khai bỏo lo i timer s dung (SD, SS, SP, SE, SF) ạ ử
• SD <tờn timer> tr theo sễ ườn lờn khụng nhớ
• SS <tờn timer> Tr theo sễ ườn lờn cú nhớ
• SP <tờn timer> T o xung khụng nhạ ớ
• SE <tờn timer> T o xung cú nhạ ớ
• SF <tờn timer> Tr theo sễ ườn xu ng cú nhố ớ - Khai bỏo tớn hi u xoỏ timer n u mu n ch đ ng reset. ệ ể ố ủ ộ
• A <đ a ch bit>ị ỉ
• R <tờn timer>
Trong cỏc bước trờn thỡ cỏc bước 2, 3, 4 là b t bu c ph i cú. ắ ộ ả
Vớ d : khai bỏo timer tr theo sụ ễ ườn lờn khụng nh , tớn hi u ch đ ng kớchớ ệ ủ ộ là I0.0, tớn hi u đ u vào là I0.1, th i gian tr là 127s, timer cú đ phõn gi i là 1s,ệ ầ ờ ễ ộ ả tớn hi u reset là I0.3ệ
A I0.1 // tớn hi u đ u vàoệ ầ
L W#16#2127 // đ phõn gi i timer là 1s, th i gian tr là 127sộ ả ờ ễ SD T1 // timer T1 là timer tr theo sễ ườn lờn khụng nhớ A I0.3 // tớn hi u ch đ ng resetệ ủ ộ
R T1 // dựng cho timer T1 3) Timer tr theo sễ ườn lờn khụng nh (SD)ớ
N u I0.0=1 Timer b t đ u ch y khi đ th i gian thỡ ng ng khi đú ngừ Q0.0ế ắ ầ ạ ủ ờ ư s lờn 1 n u I0.0 v n cũn gi tr ng thỏi 1, khi cú tớn hi u I0.1 thỡ t t c ph iẽ ế ẫ ữ ạ ệ ấ ả ả được Reset v 0 Cỏc ụ nh MW100 và MW102 l u giỏ tr hi n th i c a Timerề ớ ư ị ệ ờ ủ theo d ng Integer và d ng BCDạ ạ
Hỡnh 2.13. Gi n đ th i gian c a timer tr theo sả ồ ờ ủ ễ ườn lờn khụng nhớ 4) Timer tr theo sễ ườn lờn cú nh (SS)ớ
Timer kớch cú nh ,khi cú xung c nh lờn I0.0 Timer b t đ u ch y ,ngừ raớ ạ ở ắ ầ ạ Q0.0=1 khi Timer ng ng và ch t t khi cú tớn hi u Reset (tớn hi u I0.1). Trong quỏư ỉ ắ ệ ệ
trỡnh Timer ch y n u cú s chuy n đ i tớn hi u t chõn I0.0 them 1 l n n a thỡạ ế ự ể ổ ệ ừ ầ ữ Timer s nh và ti p t c ch y khi h t th i gian l n trẽ ớ ế ụ ạ ế ờ ầ ước.
Hỡnh 2.14. Gi n đ th i gian c a timer tr theo sả ồ ờ ủ ễ ườn lờn cú nhớ 5) Timer t o xung khụng nh (SP)ạ ớ
Ch c năng c a Timer này là t o xung cú th i gian đứ ủ ạ ờ ược đ t s n. N uặ ẵ ế I0.0=1 Timer được kớch ch y, khi I0.0=0 ho c ch y đ th i gian đ t 2s thỡ Timerạ ặ ạ ủ ờ ặ d ng. Ho c cú tớn hi u I0.1 thỡ Timer cũng d ng. Timer ch ch y l i khi cú tớnừ ặ ệ ừ ỉ ạ ạ hi u m i t I0.0 (t c là I0.0 chuy n tr ng thỏi t 0 lờn 1). Q0.0=1 khi Timer đangệ ớ ừ ứ ể ạ ừ ch y. ạ
MW100 l u giỏ tr đ m c a Timer theo d ng Integerư ị ế ủ ạ MW102 l u giỏ tr c a Timer theo d ng BCDư ị ủ ạ
Hỡnh 2.15. Gi n đ th i gian c a timer t o xung khụng nhả ồ ờ ủ ạ ớ 6) Timer t o xung cú nh (SE)ạ ớ
Timer kớch cú nh , khi cú tớn hi u c nh lờn I0.0 Timer T5 ch y, n u đớ ệ ạ ở ạ ế ủ th i gian đ t Timer d ng. Trong quỏ trỡnh ch y n u cú tớn hi u m i t chõn I0.0ờ ặ ừ ạ ế ệ ớ ừ thỡ th i gian Timer l i đờ ạ ược tớnh l i t đ u. Trong quỏ trỡnh ch y n u cú tớn hi uạ ừ ầ ạ ế ệ I0.1 thỡ Timer d ng Q0.0 =1 khi Timer đang ch y. Cỏc ụ nh MW100 và MW102ừ ạ ớ l u giỏ tr hi n th i c a Timer theo d ng Integer và d ng BCDư ị ệ ờ ủ ạ ạ
Khi I0.0 ON , Q0.0 =1, khi I0.0 OFF Timer b t đ u ch y và Q0.0 ch t tắ ầ ạ ỉ ắ khi đ th i gian và I0.0 v n OFF. Khi cú tớn hi u Reset I0.1 thỡ t t c tớn hi uủ ờ ẫ ệ ấ ả ệ đ u OFFề
Hỡnh 2.17. Gi n đ th i gian c a timer tr theo xả ồ ờ ủ ễ ườn xu ngố