thiết bị lập trình , chương 14

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:19

0
85
lượt xem
33
download

thiết bị lập trình , chương 14

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Các bộ định thời gian Timer vμ các bộ đếm counter Thanh ghi tổng ACCU1 và ACCU2 Một số lệnh phụ trợ Các bộ định thời gian (Timer) Các bộ đếm (Counter) Thanh ghi tổng ACCU1 vμ ACCU2 Đây là hai thanh ghi đặc biệt nằm trong CPU của S7-300, có kích th−ớc 32 bít. Chúng đ−ợc dùng làm bộ nhớ trung gian cho các phép tính liên quan đến byte, word và double word. Thanh ghi ACCU1 đ−ợc dùng chính trong các lệnh, ACCU2 đ−ợc dùng làm thanh ghi phụ hỗ trợ cho thanh ghi ACCU1....

Chủ đề:
Lưu

Nội dung Text: thiết bị lập trình , chương 14

  1. ThiÕt bÞ lËp tr×nh C¸c bé ®Þnh thêi gian Timer vμ c¸c bé ®Õm counter Thanh ghi tæng ACCU1 vµ ACCU2 Mét sè lÖnh phô trî C¸c bé ®Þnh thêi gian (Timer) C¸c bé ®Õm (Counter) Thanh ghi tæng ACCU1 vμ ACCU2 §©y lµ hai thanh ghi ®Æc biÖt n»m trong CPU cña S7-300, cã kÝch th−íc 32 bÝt. Chóng ®−îc dïng lµm bé nhí trung gian cho c¸c phÐp tÝnh liªn quan ®Õn byte, word vµ double word. Thanh ghi ACCU1 ®−îc dïng chÝnh trong c¸c lÖnh, ACCU2 ®−îc dïng lµm thanh ghi phô hç trî cho thanh ghi ACCU1. Byte cao Byte thÊp Byte cao Byte thÊp Tõ cao Tõ thÊp 1
  2. ThiÕt bÞ lËp tr×nh Mét sè lÖnh phô trî LÖnh n¹p d÷ liÖu: – Có ph¸p: I, Q – T¸c dông: LÖnh chuyÓn h»ng sè hoÆc néi dung cña « nhí cã ®Þa chØ ë vμo thanh ghi ACCU1, néi dung cò trong ACCU1 ®−îc chuyÓn vμo ACCU2 D÷ liÖu VÝ dô Gi¶i thÝch ±... L +5 Ghi 5 (sè nguyªn 16 bit) vµo ACCU1 B#(...,...) L B#(1,8) Ghi 1 vµo byte cao cña tõ thÊp, 8 vµo byte thÊp cña tõ thÊp ACCU1 L#... L L#5 Ghi 5 (sè nguyªn 32 bit) vµo ACCU1 16#... L B#16#2E H»ng sè c¬ sè Hex (16) L W#A2EB 2# L 2#11000011 H»ng sè c¬ sè Binary (2) ‘...’ L ‘AB’ H»ng sè d¹ng kÝ tù C#... L C#100 H»ng sè dïng cho bé ®Õm 2
  3. ThiÕt bÞ lËp tr×nh D÷ liÖu VÝ dô Gi¶i thÝch S5TIME#... L S5TIME#2S H»ng sè dïng cho bé timer P#... L P#M10.2 H»ng sè lµ ®Þa chØ « nhí (con trá) D#... L D#2000-6-20 H»ng sè vÒ n¨m/th¸ng/ngµy (16 bit) T#... L T#0H_1M_10S H»ng sè vÒ thêi gian giê/phót/gi©y (32 bÝt) LÖnh so s¸nh d÷ liÖu (sè nguyªn 16 bÝt): – Có ph¸p: – T¸c dông: LÖnh so s¸nh hai sè nguyªn n»m ë hai thanh ghi ACCU1 vμ ACCU2 LÖnh Gi¸ trÞ RLO Gi¸ trÞ RLO Gi¸ trÞ RLO ACCU2>ACCU1 ACCU2 = ACCU1 ACCU2I 1 0 0 =I 1 1 0
  4. ThiÕt bÞ lËp tr×nh LÖnh chuyÓn kiÓu d÷ liÖu : – Có ph¸p: BTI – T¸c dông: LÖnh chuyÓn mét sè BCD n»m trong ACCU1 thμnh sè nguyªn 16 bit, kÕt qu¶ l−u trë l¹i ACCU1 C¸c bé ®Þnh thêi gian timer C¸c bé timer cã t¸c dông t¹o ra kho¶ng thêi gian trÔ gi÷a tÝn hiÖu l«gÝc ®Çu vµo vµ tÝn hiÖu l«gÝc ®Çu ra. Quy luËt trÔ tuú thuéc vµo tõng lo¹i timer. C¸c Timer ®−îc ®¸nh ®Þa chØ tõ T0 ®Õn T255. C¸c bé timer cã thÓ sö dông ®Þa chØ tuú ý, tuy nhiªn khi mét ®Þa chØ ®· sö dông råi th× kh«ng thÓ khai b¸o sö dông cho timer kh¸c. Thêi gian trÔ t = ®é ph©n gi¶i x gi¸ trÞ ®Æt 4
  5. ThiÕt bÞ lËp tr×nh Gi¸ trÞ ®Æt: Cã thÓ ®−îc x¸c ®Þnh d−íi hai d¹ng, vµ ®−îc l−u vµo thanh ghi ACCU1. – D¹ng 1: W#16#txyz Trong ®ã: t lμ ®é ph©n gi¶i (m· thËp ph©n) xyz lμ gi¸ trÞ thêi gian (m· BCD) – D¹ng 2: S5T#aH_bM_cS_dMS Trong ®ã: H lμ giê, M lμ phót, S lμ gi©y, MS lμ miligi©y. a, b, c, d lμ c¸c tham sè thêi gian Chó ý ë d¹ng 2, ®é ph©n gi¶i ®−îc CPU chän tù ®éng §é ph©n gi¶i: Cã nhiÒu ®é ph©n gi¶i kh¸c nhau vµ ®−îc l−u vµo thanh ghi ACCU1 d−íi d¹ng m· nhÞ ph©n, n»m ë vÞ trÝ bÝt 12 vµ 13. §é ph©n gi¶i M· nhÞ ph©n M· thËp ph©n 10ms 00 0 100ms 01 1 1s 10 2 10s 11 3 §é ph©n gi¶i Giíi h¹n trÔ 10ms 10ms ®Õn 9s_990ms 100ms 100ms ®Õn 1m_39s_900ms 1s 1s ®Õn 16m_39s 10s 10s ®Õn 2h_46m_30s 5
  6. ThiÕt bÞ lËp tr×nh CÊu h×nh thanh ghi ACCU1 khi lµm viÖc víi Timer: Tõ bit 0 ®Õn bÝt 11 dïng ®Ó l−u gi¸ trÞ thêi gian d−íi d¹ng m· BCD, bÝt 12 vµ 13 dïng ®Ó l−u ®é ph©n gi¶i. §é ph©n Thêi gian trÔ (0 – 999) gi¶i Tõ bÝt 14 kh«ng dïng ®Õn C¸c b−íc khai b¸o sö dông Timer: – Khai b¸o tÝn hiÖu enable – Khai b¸o tÝn hiÖu ®Çu vμo – Khai b¸o gi¸ trÞ ®Æt – Khai b¸o lo¹i Timer ®−îc sö dông – Khai b¸o tÝn hiÖu xo¸ timer – §äc d÷ liÖu thanh ghi T-word Khai b¸o tÝn hiÖu enable (lÖnh FR) – Có ph¸p: A ( dïng lμm tÝn hiÖu enable) FR Timer (Timer tªn ®Þa chØ bé trÔ) Chó ý: TÝn hiÖu enable cã t¸c dông reset bé timer khi cã tÝn hiÖu ®Çu vμo duy tr× ë møc l«gÝc 1 6
  7. ThiÕt bÞ lËp tr×nh Khai b¸o tÝn hiÖu ®Çu vµo – Có ph¸p: A ( dïng lμm tÝn hiÖu ®Çu vμo) Chó ý: TÝn hiÖu ®Çu vμo b¾t buéc ph¶i cã dïng ®Ó kÝch ho¹t timer Khai b¸o gi¸ trÞ ®Æt – Có ph¸p: L ( dïng lμm gi¸ trÞ ®Æt) Chó ý: Cã thÓ ®−îc khai b¸o d−íi 2 d¹ng Khai b¸o lo¹i timer ®−îc sö dông LÖnh khai Lo¹i timer b¸o SD BËt trÔ kh«ng nhí (On-delay) SS BËt trÔ cã nhí (Retentive on-delay) SF T¾t trÔ (Off-delay) SP T¹o xung thêi gian (Pulse timer) SE T¹o xung kÐo dµi (Extended Pulse Timer) Khai b¸o tÝn hiÖu xo¸ timer A ( dïng lμm tÝn hiÖu reset) R Timer (Timer tªn ®Þa chØ bé trÔ cÇn xo¸) 7
  8. ThiÕt bÞ lËp tr×nh §äc d÷ liÖu thanh ghi T-Word – Do thanh ghi T-Word ®−îc l−u d−íi hai d¹ng, nªn ta cã hai lÖnh ®Ó truy xuÊt d÷ liÖu tøc thêi cña thanh ghi T- Word nh− sau: – LÖnh: L Timer – LÖnh: LC Timer 8
  9. ThiÕt bÞ lËp tr×nh VÝ dô 1: Sö dông timer SD (on-delay) A I2.0 (TÝn hiÖu enable) FR T1 A I2.1 (TÝn hiÖu ®Çu vμo) L W#16#2007 (N¹p gi¸ trÞ ®Æt) SD T1 (Sö dông timer 1) A I2.2 (TÝn hiÖu reset) R T1 A T1 (LÊy gi¸ trÞ T-bit) = Q4.0 (TÝn hiÖu ®Çu ra) 9
  10. ThiÕt bÞ lËp tr×nh VÝ dô 2: Sö dông timer SS (retentive-on-delay) A I2.0 (TÝn hiÖu enable) FR T1 A I2.1 (TÝn hiÖu ®Çu vμo) L W#16#2007 (N¹p gi¸ trÞ ®Æt) SS T1 (Sö dông timer 1) A I2.2 (TÝn hiÖu reset) R T1 A T1 (LÊy gi¸ trÞ T-bit) = Q4.0 (TÝn hiÖu ®Çu ra) 10
  11. ThiÕt bÞ lËp tr×nh VÝ dô 3: Sö dông timer SF (Off-delay) A I2.0 (TÝn hiÖu enable) FR T1 A I2.1 (TÝn hiÖu ®Çu vμo) L W#16#2007 (N¹p gi¸ trÞ ®Æt) SF T1 (Sö dông timer 1) A I2.2 (TÝn hiÖu reset) R T1 A T1 (LÊy gi¸ trÞ T-bit) = Q4.0 (TÝn hiÖu ®Çu ra) 11
  12. ThiÕt bÞ lËp tr×nh VÝ dô 4: Sö dông timer SP (Pulse-delay) A I2.0 (TÝn hiÖu enable) FR T1 A I2.1 (TÝn hiÖu ®Çu vμo) L W#16#2007 (N¹p gi¸ trÞ ®Æt) SP T1 (Sö dông timer 1) A I2.2 (TÝn hiÖu reset) R T1 A T1 (LÊy gi¸ trÞ T-bit) = Q4.0 (TÝn hiÖu ®Çu ra) 12
  13. ThiÕt bÞ lËp tr×nh VÝ dô 5: Sö dông timer SE (Extended-Pulse-delay) A I2.0 (TÝn hiÖu enable) FR T1 A I2.1 (TÝn hiÖu ®Çu vμo) L W#16#2007 (N¹p gi¸ trÞ ®Æt) SE T1 (Sö dông timer 1) A I2.2 (TÝn hiÖu reset) R T1 A T1 (LÊy gi¸ trÞ T-bit) = Q4.0 (TÝn hiÖu ®Çu ra) 13
  14. ThiÕt bÞ lËp tr×nh C¸c bé ®Õm counter C¸c bé ®Õm ®−îc dïng ®Ó ®Õm c¸c sù kiÖn theo s−ên lªn hoÆc s−ên xuèng. C¸c bé counter ®−îc ®¸nh ®Þa chØ tõ C0 ®Õn C255. C¸c bé counter cã thÓ sö dông ®Þa chØ tuú ý, tuy nhiªn khi mét ®Þa chØ ®· sö dông råi th× kh«ng thÓ khai b¸o sö dông cho c¸c counter kh¸c. C¸c b−íc khai b¸o sö dông Counter: – Khai b¸o tÝn hiÖu enable – Khai b¸o tÝn hiÖu ®Çu vμo ®Õm tiÕn (CU) – Khai b¸o tÝn hiÖu ®Çu vμo ®Õm lïi (CD) – Khai b¸o gi¸ trÞ ®Æt – ThiÕt lËp gi¸ trÞ ban ®Çu cho C-word – Khai b¸o tÝn hiÖu xo¸ Counter – §äc d÷ liÖu cña thanh ghi C-Word Khai b¸o tÝn hiÖu enable (lÖnh FR) – Có ph¸p: A ( dïng lμm tÝn hiÖu enable) FR Counter (Counter tªn ®Þa chØ bé ®Õm) – Chó ý: TÝn hiÖu enable cã t¸c dông kÝch ho¹t bé counter khi cã sù chuyÓn tr¹ng th¸i tõ 0 lªn 1 cña bÝt RLO 14
  15. ThiÕt bÞ lËp tr×nh Khai b¸o tÝn hiÖu ®Çu vµo ®Õm tiÕn (CU) – Có ph¸p: A (TÝn hiÖu ®Çu vμo ®Õm tiÕn) CU Counter (Counter tªn ®Þa chØ bé ®Õm) Chó ý: TÝn hiÖu cã t¸c dông t¨ng C-Word lªn 1, khi cã sù chuyÓn tr¹ng th¸i tõ 0 lªn 1 cña bÝt RLO. Khai b¸o tÝn hiÖu ®Çu vµo ®Õm lïi (CD) – Có ph¸p: A (TÝn hiÖu ®Çu vμo ®Õm tiÕn) CD Counter (Counter tªn ®Þa chØ bé ®Õm) Chó ý: TÝn hiÖu cã t¸c dông gi¶m C-Word 1 ®¬n vÞ, khi cã sù chuyÓn tr¹ng th¸i tõ 0 lªn 1 cña bÝt RLO Khai b¸o gi¸ trÞ ®Æt. – Có ph¸p: L C# (Gi¸ trÞ ®Æt ®−îc l−u ë ACCU1) Chó ý: D÷ liÖu ph¶i ë d¹ng m· BCD (tõ 0 ®Õn 999), Khai b¸o tÝn hiÖu xo¸ Counter. – Có ph¸p: A ( dïng lμm tÝn hiÖu reset) R Counter (Counter tªn ®Þa chØ bé ®Õm) ThiÕt lËp gi¸ trÞ ban ®Çu cho C-Word. – Có ph¸p: A (TÝn hiÖu ®Çu vμo cho phÐp thiÕt lËp) L C# (Gi¸ trÞ ban ®©u ®−îc l−u ë ACCU1) S Counter (Counter tªn ®Þa chØ bé ®Õm) Chó ý: D÷ liÖu ë d¹ng m· integer (tõ 0 ®Õn 999), gÆp lÖnh S gi¸ trÞ ®Æt sÏ ®−îc chuyÓn ngay vμo thanh ghi C-Word. 15
  16. ThiÕt bÞ lËp tr×nh §äc d÷ liÖu cña thanh ghi C-Word. – D÷ liÖu cña thanh ghi C-Word cã thÓ ®−îc l−u l¹i d−íi hai d¹ng m· binary hoÆc BCD – LÖnh: L Counter – LÖnh: LC Counter C3 16
  17. ThiÕt bÞ lËp tr×nh VÝ dô 1: Sö dông counter CU (®Õm lªn), khi nµo ®ñ sè l−îng s−ên lªn ë ®Çu vµo I0.1, th× ®Çu ra Q0.0 lªn møc l«gÝc 1. A I0.0 (TÝn hiÖu enable) FR C1 A I0.1 (TÝn hiÖu ®Çu vμo ®Õm) CU C1 L C#3 (Gi¸ trÞ ®Æt) BTI (ChuyÓn sè BCD thμnh sè Integer 16 bit) A I0.2 (TÝn hiÖu reset) R C1 L C1 (n¹p gi¸ trÞ C-word vμo ACCU1, ®Èy gi¸ trÞ ®Æt
  18. ThiÕt bÞ lËp tr×nh VÝ dô 2: Sö dông counter CD (®Õm xuèng), khi nµo gi¶m b»ng vµ nhá h¬n l−îng ®Æt, th× ®Çu ra Q0.0 lªn møc l«gÝc 1. – Network1 (ThiÕt lËp gi¸ trÞ C-Word) A I0.3 (TÝn hiÖu cho phÐp n¹p C-Word) L C#6 (Gi¸ trÞ cÇn n¹p) S C3 – Network2 (§Õm lïi gi¸ trÞ C-Word) A I0.1 (TÝn hiÖu ®Çu vμo ®Õm) CD C3 (Khai b¸o bé ®Õm xuèng) L C#3 (Gi¸ trÞ ®Æt) BTI (ChuyÓn gi¸ trÞ ®Æt tõ BCD thμnh integer) A I0.2 (TÝn hiÖu reset) R C3 L C3 (§äc gi¸ trÞ tøc thêi cña C-word) >=I (So s¸nh C-word víi gi¸ trÞ ®Æt) = Q0.0 I0.3 I0.2 I0.1 Gi¸ trÞ ®Æt C-word Q0.0 18
  19. ThiÕt bÞ lËp tr×nh ChuyÓn mét sè s¬ ®å sau sang lËp tr×nh b»ng S7-300 R1 Rtg R1 Rtg Rtg R2 Rtg R2 S¬ ®å 4 S¬ ®å 6 R1 Rtg R1 Rtg Rtg R2 Rtg R2 S¬ ®å 5 S¬ ®å 7 19
Đồng bộ tài khoản