Đề tài Thết kế hệ thống điều khiển đèn giao thông trên micro plc simatic s7- 200

Đồ ỏn tỡm hiểu về PLC S7 – 200 và chương trỡnh ứng dụng của nú vào điều khiển đèn giao thụng chỉ đề cập qua một số vấn đề như: nguyờn lý làm việc, tổ chức bộ nhớ,cỏc cỳ phỏp lệnh của S7 – 200, nhiệm vụ của đèn giao thụng mà khụng cú điều kiện để tỡm hiểu cụ thể.

Phần tỡm hiểu nguyờn tắc hoạt đông của đèn giao thụng và chương trỡnh điều khiển của nú núi chung đó trỡnh bầy được một số nội dung: về cấu tạo của đèn giao thụng, nguyờn tắc hoạt động, khai bỏo phần cứng, chươg trỡnh viết trờn Step7 Microwin32 Qua đó ta thấy được rằng để thiết kế một hệ thống đèn giao thụng là tương đối phức tạp nờn trong đồ ỏn này dự đó cố gắng nhưng vẫn chưa thật đầy đủ và cũn thiếu sút rất nhiều.Ngay như khi trỡnh bày về cấu tạo nguyờn tắc của đèn cũng mới chỉ dừng lại ở trỡnh bầy sơ lược chưa đi sõu về mạch lực, ghộp nối, cỏc thiết bị khỏc

Phần trỡnh bầy về phần mềm Micro PLC S7 – 200(cụng cụ chớnh để thực hiện bài toỏn) được phõn thành phần như: cấu hỡnh cứng, cấu trỳc bộ nhớ, mở rộng ngừ vào /ra, thực hiện chương trỡnh, ngụn ngữ lập trỡnh, microwin.Từ đó ta thấy PLC Simatic S7 – 200 cú phạm vi kiến thức và sự hiểu biết tương đối lớn,trong một khoảng thời gian ngắn ngủi khụng thể tỡm hiểu hết được.

Khi tỡm hiểu cũng khụng cú sự so sỏnh với cỏc cụng nghệ khỏc, ưu điểm và nhược điểm của cụng nghệ cũn chưa được chỉ rừ.Thực chất của quỏ trỡnh là giới thiệu qua qua về nú , biến nú trở thành bước đệm để tỡm hiểu về Micro PLC và ứng dụng của Micro PLC trong cuộc sống, đó là nội dung chớnh của đồ ỏn tốt nghiệp này.

 

doc60 trang | Chia sẻ: huong.duong | Lượt xem: 1212 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Thết kế hệ thống điều khiển đèn giao thông trên micro plc simatic s7- 200, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trị đặt trước của bộ đếm, hay Timer. Dữ liệu kiểu đối tượng bao gồm của thanh ghi của Timer, bộ đếm, bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và cỏc thanh ghi Accumulator (AC). Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vỡ cỏc dữ liệu kiểu đối tượng chỉ được ghi theo mục đớch cần sử dụng của đối tượng đú. Hỡnh 5. Vựng nhớ đối tượng được phõn chia như sau: CPU214 T0 T127 T0 T127 15 0 bit Timer (đọc/ghi) C0 C127 C0 C27 Bộ đếm (đọc/ghi) AW0 AW30 Bộ đệm cổng vào tương tự (chỉ đọc) AQW0 AQW30 Bộ đệm cổng ra tương tự (chỉ ghi) AC0 (khụng cú khả năng làm con trỏ) AC1 AC2 AC3 Thanh ghi Accumulator 31 23 8 0 (đọc/ghi) HSC0 HSC1 (chỉ cú trong CPU 214) HSC2 (chỉ cú trong CPU 214) Bộ đếm tốc độ cao (đọc/ghi) 2.1.3 Mở rộng ngừ vào/ra: Cú thể mở rộng ngừ vào/ra của PLC bằng cỏch ghộp nối thờm vào nú cỏc modul mở rộng về phớa bờn phải của CPU (CPU 214 nhiều nhất 7 modul), làm thành một múc xớch, bao gồm cỏc modul cú cựng kiểu. Cỏc modul mở rộng số hay rời rạc đều chiếm chỗ trong bộ đệm, tương ứng với số đầu vào/ra của cỏc modul. Sau đõy là một vớ dụ về cỏch đặt địa chỉ cho cỏc modul mở rộng trờn CPU 214: CPU214 MODUL 0 (4vào/4ra) MODUL 1 (8 vào) MODUL 2 (3vào analog /1ra analog) MODUL 3 (8 ra) MODUL 4 (3vào analog /1ra analog) I0.0 Q0.0 I0.1 Q0.1 I0.2 Q0.2 I0.3 Q0.3 I0.4 Q0.4 I0.5 Q0.5 I0.6 Q0.6 I0.7 Q0.7 I1.1 Q1.0 I1.2 Q1.1 I1.3 I1.4 I1.5 I2.0 I2.1 I2.2 I2.3 Q2.0 Q2.1 Q2.2 Q2.3 I3.0 I3.1 I3.2 I3.3 I3.4 I3.5 I3.6 I3.7 AIW0 AIW2 AIW4 AQW0 Q3.0 Q3.1 Q3.2 Q3.3 Q3.4 Q3.5 Q3.6 Q3.7 AIW8 AIW10 AIW12 AQW4 2.1.4 Thực hiện chương trỡnh: PLC thực hiện chương trỡnh theo chu trỡnh lặp. Mỗi vũng lặp được gọi là một vũng quột (scan). Mỗi vũng quột được bắt đầu bằng gian đoạn đọc dữ liệu từ cỏc cổng vào vựng đệm ảo, tiếp theo là gian đoạn thực hiện chương trỡnh. Trong từng vũng quột, chương trỡnh được thực hiện bằng lệnh đầu tiờn và kết thỳc bằng lệnh kết thỳc (MEND). Sau giai đoạn thực hiện chương trỡnh là gian đoạn truyền thụng nội bộ và kiểm tra lỗi. Vũng quột được kết thỳc bằng giai đoạn chuyển cỏc nội dung của bộ đệm ảo tới cỏc cổng ra. 3.Truyền thụng và tự kiểm tra lỗi. 4. Chuyển dữ liệu từ bộ đệm ảo ra ngoại vi 2. Thực hiện chương trỡnh. 1. Nhập dữ liệu từ ngoại vi vào bộ đệm ảo Hỡnh 6: Vũng quột (scan) trong S7- 200. Như vậy, tại thời điểm thực hiện lệnh vào/ra, thụng thường lệnh khụng làm việc mà chỉ thụng qua bộ đệm ảo của cổng trong vựng nhớ tham số. Việc truyền thụng giữa bộ đệm ảo với ngoại vi trong cỏc giai đoạn 1 và 4 do CPU quản lý. Khi gặp lệnh vào/ra ngay lập tức thỡ hệ thống sẽ cho dừng mọi cụng việc khỏc, ngay cả chương trỡnh xử lý ngắt, để thực hiện lệnh này một cỏch trực tiếp với cổng vào/ra. Nếu sử dụng cỏc chế độ xử lý ngắt, chương trỡnh con tương ứng với từng tớn hiệu ngắt được soạn thảo và cài đặt như một bộ phận của chương trỡnh. Chương trỡnh xử lý ngắt chỉ được thực hiện trong vũng quột khi xuất hiện tớn hiệu bỏo ngắt và cú thể xảy ra ở bất cứ điểm nào trong vũng quột. Cấu trỳc chương trỡnh của S7 – 200 Cú thể lập trỡnh cho S7 – 200 bằng cỏch sử dụng một trong những phần mềm sau đõy: -STEP 7 – Micro/DOS -STEP 7 – Micro/WIN Những phần mềm này đều cú thể cài đặt được trờn cỏc mỏy lập trỡnh họ PG7xx và cỏc mỏy tớnh cỏ nhõn (PC). Cỏc chương trỡnh cho S7 – 200 phải cú cấu trỳc bao gồm chương trỡnh chớnh (main program) và sau đú đến cỏc chương trỡnh con và cỏc chương trỡnh xử lý ngắt được chỉ ra sau đõy: -Chương trỡnh chớnh được kết thỳc bằng lệnh kết thỳc chương trỡnh (MEND) -Chương trỡnh con là một bộ phận của chương trỡnh. Cỏc chương trỡnh con phải được viết sau lệnh kết thỳc chương trỡnh chớnh, đú là lệnh MEND. -Cỏc chương trỡnh xử lý ngắt là một bộ phận của chương trỡnh. Nếu cần sử dụng chương trỡnh xử lý ngắt phải viết sau lệnh kết thỳc chương trỡnh chớnh MEND. Cỏc chương trỡnh con được nhúm lại thành một nhúm ngay sau chương trỡnh chớnh. Sau đú đến cỏc chương trỡnh xử lý ngắt. Bằng cỏch viết như vậy, cấu trỳc chương trỡnh được rừ ràng và thuận tiện hơn trong việc đọc chương trỡnh sau này. Cú thể tự do trộn lẫn cỏc chương trỡnh con và chương trỡnh xử lý ngắt đằng sau chương trỡnh chớnh. Main Program : : MEND Thực hiện trong một vũng quột SBR 0 Chương trỡnh con thứ nhất : : RET Thực hiện khi được chương trỡnh chớnh gọi SBR n Chưong trỡnh con thứ n+1 : : RET INT 0 Chương trỡnh xữ lý ngắt thứ : nhất : RET Thực hiện khi cú tớn hiệu bảo ngắt INT n Chương trỡnh xử lý ngắt thứ : n+1 : RET Hỡnh 7: Cỏu trỳc chương trỡnh S7 – 200 Hỡnh 8: Hỡnh ảnh thực tế của PLC S7 – 200 Hỡnh 9: hỡnh ảnh thực tế của một modul analog 2.1.5 Ngụn ngữ lập trỡnh S7 – 200 2.1.5.1 Phương phỏp lập trỡnh S7 – 200 biểu diễn một mạch logic cứng bằng một dóy cỏc lệnh lập trỡnh. Chương trỡnh bao gồm một dóy cỏc lệnh. S7 – 200 thực hiện chương trỡnh bắt đầu từ lệnh lập trỡnh đầu tiờn và kết thỳc ở lệnh cuối trong một vũng. Một vũng như vậy được gọi là vũng quột. Một vũng (scan cycle) quột được bắt đầu bằng việc đọc trạng thỏi của đầu vào, và sau đú thực hiện chương trỡnh. Scan cycle kết thỳc bằng việc thay đổi trạng thỏi đầu ra. Trước khi bắt đầu một vũng quột tiếp theo S7 – 200 thực thi cỏc nhiệm vụ bờn trong và nhiệm vụ truyền thụng. Chu trỡnh thực hiện chương trỡnh là chu trỡnh lặp. Giai đoạn nhập dữ liệu từ ngoại vi Giai đoạn chuyển dữ liệu ra ngoại vi Giai đoạn thực hiện chương trỡnh Giai đoạn truyền thụng nội bộ và tự kiểm tra lỗi Hỡnh 10: Thưc hiện chương trỡnh theo vũng quột trong S7 – 200. Cỏch lập trỡnh cho S7 – 200 núi riờng và cho cỏc PLC của Siemens núi chung dựa trờn hai phương phỏp lập trỡnh cơ bản: Phương phỏp hỡnh thang (Ladder Logic viết tắt là LAD) và phương phỏp liệt kờ lệnh (Statement List viết tắt là STL). Nếu chương trỡnh được viết theo kiểu LAD, thiết bị lập trỡnh sẽ tự tạo ra một chương trỡnh theo kiểu STL tương ứng. Nhưng ngược lại khụng phải mọi chương trỡnh được viết theo kiểu STL cũng cú thể chuyển được sang LAD. Định nghĩa về LAD: LAD là một ngụn ngữ lập trỡnh bằng đồ họa. Những thành phần cơ bản dừng trong LAD tương ứng với cỏc thành phần của bảng điều khiển bằng rơle. Trong chương trỡnh LAD cỏc phần tử cơ bản dựng để biểu diễn lệnh logic như sau: -Tiếp điểm: là biểu tượng (symbol) mụ tả cỏc tiếp điểm của rơle. Cỏc tiếp điểm đú cú thể là thường mở ┤├ hoặc thường đúng ┤/├. - Cuộn dõy (coil): là biểu tượng ─( )─ mụ tả cỏc rơle được mắc theo chiều dũng điện cung cấp cho rơle. -Hộp (box): là biểu tượng mụ tả cỏc hàm khỏc nhau nú làm việc khi cú dũng điện chạy đến hộp. Những dạng hàm thường được biểu diễn bằng hộp là cỏc bộ định thời gian (Timer), bộ đếm (Counter) và cỏc hàm toỏn học. Cuộn dõy và cỏc hộp phải được mắc đỳng chiều dũng điện. -Mạng LAD: là đường nối cỏc phần tử thành một mạch hoàn thiện, đi từ đường nguồn bờn trỏi sang đường nguồn bờn phải. Đường nguồn bờn trỏi là dõy núng, đường nguồn bờn phải là dõy trung hũa hay là đường trở về nguồn cung cấp (đường nguồn bờn phải thường khụng được thể hiện khi dựng chương trỡnh tiện dụng STEP7-Micro/DOS hoặc STEP7-Micro/WIN). Dũng điện chạy từ bờn trỏi qua cỏc tiếp điểm đến cỏc cuộn dõy hoặc cỏc hộp trở về bờn phải nguồn. Định nghĩa về STL: phương phỏp liệt kờ lệnh (STL) là phương phỏp thể hiện chương trỡnh dưới dạng tập hợp cỏc cõu lệnh. Mỗi cõu lệnh trong chương trỡnh, kể cả những lệnh hỡnh thức, biểu diễn một chức năng của PLC. Định nghĩa về ngăn xếp logic (logic stack): S0 Stack 0 – bit đầu tiờn hay bit trờn cựng của ngăn xếp S1 Stack 1 – Bit thứ hai của ngăn xếp S2 Stack 2 – Bit thứ ba của ngăn xếp S3 Stack 3 – Bit thứ tư của ngăn xếp S4 Stack 4 – Bit thứ năm của ngăn xếp S5 Stack 5 – Bit thứ sỏu của ngăn xếp S6 Stack 6 – Bit thứ bảy của ngăn xếp S7 Stack 7 – Bit thứ tỏm của ngăn xếp S8 Stack 8 – Bit thứ chớn của ngăn xếp Để tạo ra một chương trỡnh dạng STL, người lập trỡnh cần phải hiểu rừ phương thức sử dụng 9 bit của ngăn xếp logic của S7 – 200. Ngăn xếp logic là một khối gồm 9 bit chồng lờn nhau. Tất cả cỏc thuật toỏn liờn quan đến ngăn xếp đều chỉ làm việc với bit đầu tiờn hoặc với bit đầu tiờn và bit thứ hai của ngăn xếp. Giỏ trị logic mới đều cú thể được gửi (hoặc được nối thờm) vào ngăn xếp. Khi phối hợp hai bit đầu tiờn của ngăn xếp, thỡ ngăn xếp sẽ được kộo lờn một bit. Vớ dụ về Ladder Logic và Statement List: LAD STL I0.0 Q1.0 ──┤├───( ) LD I0.0 = Q1.0 2.1.5.2 Cỳ phỏp lệnh của S7 – 200 Hệ lệnh của S7 – 200: được chia làm ba nhúm: -Cỏc lệnh mà khi thực hiện thỡ làm việc độc lập khụng phụ thuộc vào giỏ trị logic của ngăn xếp. -Cỏc lệnh chỉ thực hiện khi bit đầu tiờn của ngăn xếp cú giỏ trị logic bằng 1. -Cỏc nhón lệnh đỏnh dấu trong vị trớ tập lệnh. Cỏc toỏn hạng giới hạn cho phộp của CPU 214: Phương phỏp truy nhập Giới hạn cho phộp của toỏn hạng của CPU 214 Truy nhập theo bit (địa chỉ byte, chỉ số bit) V (0.0 đến 4095.7) I (0.0 đến 7.7) Q (0.0 đến 7.7) M (0.0 đến 31.7) SM (0.0 đến 85.7) T (0 đến 7.7) C (0.0 đến 7.7) Truy nhập theo byte VB (0 đến 4095) IB (0 đến 7) MB (0 đến 31) SMB (0 đến 85) AC (0 đến 3) Hằng số Truy nhập theo từ đơn (word) (địa chỉ byte cao) VW (0 đến 4094) T (0 đến 127) C (0 đến 127) IW (0 đến 6) QW (0 đến 6) MW (0 đến 30) SMW (0 đến 84) AC (0 đến 3) AIW (0 đến 30) AQW (0 đến 30) Hằng số Thuy nhập theo từ kộp (địa chỉ byte cao) VD (0 đến 4092) ID (0 đến 4) QD (0 đến 4) MD (0 đến 28) SMD (0 đến 82) AC (0 đến 3) HC (0 đến 2) Hằng số Một số lệnh cơ bản: Lệnh vào/ra: LOAD (LD): Lệnh LD nạp giỏ trị logic của một tiếp điểm vào trong bit đầu tiờn của ngăn xếp, cỏc giỏ trị cũn lại trong ngăn xếp bị đẩy lựi xuống một bit. LOAD NOT (LDN): Lệnh LD nạp giỏ trị logic của một tiếp điểm vào trong bit đầu tiờn của ngăn xếp, cỏc giỏ trị cũn lại trong ngăn xếp bị đẩy lựi xuống một bit. Trước LDN Sau Trước LD Sau c0 c1 c2 c3 c4 c5 c6 c7 c8 m c0 c1 c2 c3 c4 c5 c6 c7 c0 c1 c2 c3 c4 c5 c6 c7 c8 m c0 c1 c2 c3 c4 c5 c6 c7 Bị đẩy ra khỏi Bị đẩy ra khỏi ngăn xếp ngăn xếp Cỏc dạng khỏc nhau của lệnh LD, LDN cho LAD như sau: LAD Mụ tả Toỏn hạng n ┤├ Tiếp điểm thường mở sẽ đúng nếu n=1 n: I, Q, M, SM, (bit) T, C n ┤\├ Tiếp điểm thường đúng sẽ mở khi n=1 n ┤I├ Tiếp điểm thường mở sẽ đúng tức thời khi n=1 n:1 n ┤\I├ Tiếp điểm thường đúng sẽ mở tức thời khi n=1 Cỏc dạng khỏc nhau của lệnh LD, LDN cho STL như sau: LAD Mụ tả Toỏn hạng LD n Lệnh nạp giỏ trị logic của điểm n vào bit đầu tiờn trong ngăn xếp. n: I, Q, M, SM, (bit) T, C LDN n Lệnh nạp giỏ trị logic nghịch đảo của điểm n vào bit đầu tiờn trong ngăn xếp. LDI n Lệnh nạp tức thời giỏ trị logic của điểm n vào bit đầu tiờn trong ngăn xếp. n:1 LDNI n Lệnh nạp tức thời giỏ trị logic nghịch đảo của điểm n vào bit đầu tiờn trong ngăn xếp. OUTPUT (=): lệnh sao chộp nội dung của bit đầu tiờn trong ngăn xếp vào bit được chỉ định trong lệnh. Nội dung ngăn xếp khụng bị thay đổi. Mụ tả lệnh OUTPUT bằng LAD như sau: LAD Mụ tả Toỏn hạng n ─( ) Cuộn dõy đầu ra ở trạng thỏi kớch thớch khi cú dũng điều khiển đi qua n:I,Q,M,SM,T,C (bit) n ─( I ) Cuộn dõy đầu ra được kớch thớch tức thời khi cú dũng điều khiển đi qua n:Q (bit) Cỏc lệnh ghi/xúa giỏ trị cho tiếp điểm: SET (S) RESET (R): Lệnh dựng để đúng và ngắt cỏc điểm giỏn đoạn đó được thiết kế. Trong LAD, logic điều khiển dũng điện đúng hay ngắt cỏc cuộn dõy đầu ra. Khi dũng điều khiển đến cỏc cuộn dõy thỡ cỏc cuụn dõy đúng hoặc mở cỏc tiếp điểm. Trong STL, lệnh truyền trạng thỏi bit đầu tiờn của ngăn xếp đến cỏc điểm thiết kế. Nếu bit này cú giỏ trị bằng 1, cỏc lệnh S hoặc R sẽ đúng ngắt tiếp điểm hoặc một dóy cỏc tiếp điểm (giới hạn từ 1 đến 255). Nội dung của ngăn xếp khụng bị thay đổi bởi cỏc lệnh này. Mụ tả lệnh S (Set) và R (Reset) bằng LAD: LAD Mụ tả Toỏn hạng S bit n ──( S ) Đúng một mảng gồm n cỏc tiếp điểm kể từ địa chỉ S-bit S-bit: I, Q, M,SM,T, C,V (bit) n (byte): IB, QB, MB, SMB, VB,AC, hằng số, *VD, *AC S bit n ──( R ) Ngắt một mảng gồm n cỏc tiếp điểm kể từ S-bit. Nếu S-bit lại chỉ vào Timer hoặc Counter thỡ lệnh sẽ xoỏ bit đầu ra của Timer/Counter đú. S bit n ──( SI ) Đúng tức thời một mảng gồm n cỏc tiếp điểm kể từ địa chỉ S-bit S-bit: Q (bit) n(byte):IB,QB, MB, SMB, VB,AC, hằng số, *VD, *AC S bit n ──( RI ) Ngắt tức thời một mảng gồm n cỏc tiếp điểm kể từ địa chỉ S-bit Mụ tả lệnh S (Set) và R (Reset) bằng STL: STL Mụ tả Toỏn hạng S S-bit n Ghi giỏ trị logic vào một mảng gồm n bit kể từ địa chỉ S-bit S-bit: I, Q, M,SM,T, C,V (bit) R S-bit n Xúa một mảng gồm n bit kể từ địa chỉ S-bit. Nếu S-bit lại chỉ vào Timer hoặc Counter thỡ lệnh sẽ xoỏ bit đầu ra của Timer/Counter đú. SI S-bit n Ghi tức thời giỏ trị logic vào một mảng gồm n bit kể từ địa chỉ S-bit S-bit: Q (bit) n (byte):IB,QB,MB, SMB, VB,AC, hằng số, *VD, *AC RI S-bit n Xúa tức thời một mảng gồm n bit kể từ địa chỉ S-bit. Cỏc lệnh logic đại số Boolean: Cỏc lệnh tiếp điểm đại số Boolean cho phộp tạo lập cỏc mạch logic (khụng cú nhớ). Trong LAD cỏc lệnh này được biểu diễn thụng qua cấu trỳc mạch, mắc nối tiếp hay song song cỏc tiếp điểm thường đúng hay cỏc tiếp điểm thường mở. Trong STL cú thể sử dụng lệnh A (And) và O (Or) cho cỏc hàm hở hoặc cỏc lệnh AN (And Not), ON (Or Not) cho cỏc hàm kớn. Giỏ trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh. Lệnh Mụ tả Toỏn hạng ALD Lệnh tổ hợp giỏ trị của bit đầu tiờn và thứ hai của ngăn xếp bằng phộp tớnh logic AND. Kết quả ghi lại vào bit đầu tiờn. Giỏ trị cũn lại của ngăn xếp được kộo lờn một bit. Khụng cú OLD Lệnh tổ hợp giỏ trị của bit đầu tiờn và thứ hai của ngăn xếp bằng phộp tớnh logic OR. Kết quả ghi lại vào bit đầu tiờn. Giỏ trị cũn lại của ngăn xếp được kộo lờn một bit. Khụng cú LPS Lệnh Logic Push (LPS) sao chụp giỏ trị của bit đầu tiờn vào bit thứ hai trong ngăn xếp. Giỏ trị cũn lại bị đẩy xuống một bit. Bit cuối cựng bị đẩy ra khỏi ngăn xếp. Khụng cú LRD Lệnh sao chộp giỏ trị của bit thứ hai vào bit đầu tiờn trong ngăn xếp.Cỏc giỏ trị cũn lại của ngăn xếp giữ nguyờn vị trớ Khụng cú LPP Lệnh kộo ngăn xếp lờn một bit. Giỏ trị của bit sau được chuyển cho bit trước. Khụng cú Ngoài những lệnh làm việc trực tiếp với tiếp điểm, S7 – 200 cũn cú 5 lệnh đặc biệt biểu diễn cho cỏc phộp tớnh của đại số Boolean cho cỏc bit trong ngăn xếp, được gọi là lệnh stack logic. Đú là cỏc lệnh ALD (And Load), OLD (Or Load), LPS (Logic Push), LRD (Logic Read) và LPP (Logic Pop). Lệnh stack logic được dựng để tổ hợp, sao chụp hoặc xoỏ cỏc mệnh đề logic. LAD khụng cú bộ đếm dành cho Stack logic. STL sử dụng cỏc lệnh stack logic để thực hiện phương trỡnh tổng thể cú nhiều biểu thức con. AND (A) Lệnh A và O phối hợp giỏ trị logic của một tiếp điểm n với OR (O) giỏ trị bit đầu tiờn của ngăn xếp. Kết quả phộp tớnh được đặt lại vào bit đầu tiờn trong ngăn xếp. Giỏ trị của cỏc bit cũn lại trong ngăn xếp khụng bị thay đổi. Luật tinh toỏn của cỏc phộp tớnh logic And và Or : x y x ^ y(And) xÚy (Or) 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 Tỏc động của cỏc phộp tớnh A (And) và O (Or) O Trước Sau A Trước Sau c0 c1 c2 c3 c4 c5 c6 c7 c8 m c1 c2 c3 c4 c5 c6 c7 c8 c0 c1 c2 c3 c4 c5 c6 c7 c8 m c1 c2 c3 c4 c5 c6 c7 c8 m=c0Ún m = c0 ^ n m = c0 Ú m AND LOAD (ALD) OR LOAD (OR) : Lệnh ALD và OLD thực hiện phộp tớnh logic And và Or giữa hai bit đầu tiờn của ngăn xếp. Kết quả của logic này sẽ được ghi lại vào bit đầu trong ngăn xếp. Nội dung cũn lại của ngăn xếp được kộo lờn một bit. Tỏc động của lệnh ALD và OLD VÀO ngăn xếp như sau: OLD Trước Sau ALD Trước Sau m = c0 Ú c1 m = c0 ^ c1 c0 c1 c2 c3 c4 c5 c6 c7 c8 m c2 c3 c4 c5 c6 c7 c8 c0 c1 c2 c3 c4 c5 c6 c7 c8 m c2 c3 c4 c5 c6 c7 c8 LOGIC PUSH (LPS) LOGIC READ (LRD) LOGIC POP (LPP): Lệnh LPS, LRD và LPP là những lệnh thay đổi nội dung bit đầu tiờn của ngăn xếp. Lệnh LPS sao chộp nội dung bit đầu tiờn vào bit thứ hai trong ngăn xếp, nội dung ngăn xếp sau đú bị đẩy xuống một bit. Lệnh LRD lấy giỏ trị bit thứ hai ghi vào bit đầu tiờn của ngăn xếp, nội dung ngăn xếp sau đú được kộo lờn một bit. Lệnh LPP kộo ngăn xếp lờn một bit. Cỏc lệnh tiếp điểm đặc biệt ┤ NOT ├ ┤ P ├ ┤ N ├ Cú thể dựng cỏc lệnh tiếp điểm đặc biệt để phỏt hiện sự chuyển tiếp trạng thỏi của xung (sườn xung) và đảo lại trạng thỏi của dũng cung cấp (giỏ trị đỉnh của ngăn xếp). LAD sử dụng cỏc tiếp điểm đặc biệt này để tỏc động vào dũng cung cấp. Cỏc tiếp điểm đặc biệt khụng cú toỏn hạng riờng của chớnh chỳng vỡ thế phải đặt chỳng phớa trước cuộn dõy hoặc hộp đầu ra. Tiếp điểm chuyển tiếp dương/õm (cỏc lệnh sườn trước và sườn sau) cú nhu cầu về bộ nhớ bởi vậy đối với CPU 214 cú thể sử dụng nhiều nhất là 256 lệnh. Cỏc lệnh so sỏnh Khi lập trỡnh, nếu cỏc quyết định về điều khiển được thực hiện dựa trờn kết quả của việc so sỏnh thỡ cú thể sử dụng lệnh so sỏnh theo byte, Word hay Dword của S7 – 200. AD sử dụng lệnh so sỏnh để so sỏnh cỏc giỏ trị của byte, word hay Dword (giỏ trị thực hoặc nguyờn). Những lệnh so sỏnh thường là: so sỏnh nhỏ hơn hoặc bằng (=). Khi so sỏnh giỏ trị của byte thớ khụng cần phải để ý đến dấu của toỏn hạng, ngược lại khi so sỏnh cỏc từ hay từ kộp với nhau thỡ phải để ý đến dấu của toỏn hạng là bit cao nhất trong từ hoặc từ kộp. Vớ dụ 7FFF > 8000 và 7FFFFFFF > 80000000. LAD Mụ tả Toỏn hạng n1 n2 ─┤==B├─ n1 n2 ─┤==I├─ n1 n2 ─┤==D├─ n1 n2 ─┤==R├─ Tiếp điểm đúng khi n1=n2 B = byte I = Integer = Word D = Double Integer R = Real n1, n2(byte): VB, IB, QB, MB, SMB, AC, Const, *VD, *AC n1 n2 ─┤>=B├─ n1 n2 ─┤>=I├─ n1 n2 ─┤>=D├─ n1 n2 ─┤>=R├─ Tiếp điểm đúng khi n1≥ n2 B = byte I = Integer = Word D = Double Integer R = Real n1, n2(word): VW, T, C, QW, MW, SMW, AC, AIW, hằng số, *VD, *AC n1 n2 ─┤<=B├─ n1 n2 ─┤<=I├─ n1 n2 ─┤<=D├─ n1 n2 ─┤<=R├─ Tiếp điểm đúng khi n1≤ n2 B = byte I = Integer = Word D = Double Integer R = Real n1, n2(Dword): VD, ID, QD, MD, SMD, AC, HC, hằng số, *VD, *AC Trong STL những lệnh so sỏnh thực hiện phộp so sỏnh byte, từ hay từ kộp. Căn cứ vào kiểu so sỏnh (=), kết quả của phộp so sỏnh cú giỏ trị bằng 0 (nếu đỳng) hoặc bằng 1 (nếu sai) nờn nú cú thể sử dụng kết hợp cựng cỏc lệnh LD, A, O. Để tạo ra được cỏc phộp so sỏnh mà S7 – 200 khụng cú lệnh so sỏnh tương ứng như: so sỏnh khụng bằng nhau (), so sỏnh nhỏ hơn (), cú thể tạo ra được nhờ kết hợp lệnh NOT với cỏc lệnh đó cú (==, >=, <=) Lệnh nhảy và lệnh gọi chương trỡnh con Cỏc lệnh của chương trỡnh, nếu khụng cú những lệnh điều khiển riờng, sẽ được thực hiện theo thứ tự từ trờn xuống dưới trong một vũng quột. Lệnh điều khiển chương trỡnh cho phộp thay đổi thứ tự thực hiện lệnh. Chỳng cho phộp chuyển thứ tự thực hiện, đỏng lẽ ra là lệnh tiếp theo, tới một lệnh bất cứ nào khỏc của chương trỡnh, trong đú nơi điều khiển chuyển đến được đỏnh dấu trước bằng một nhón chỉ đớch. Thuộc nhúm lệnh điều khiển chương trỡnh gồm: lệnh nhảy, lệnh gùọi chương trỡnh con. Nhón chỉ đớch, hay gọi đơn giản là nhón, phải được đỏnh dấu trước khi thực hiện nhảy hay lệnh gọi chương trỡnh con. Việc đặt nhón cho lệnh nhảy phải nằm trong chương trỡnh. Nhón của chương trỡnh con, hoặc của chương trỡnh xử lý ngắt được khai bỏo ở đầu chương trỡnh. Khụng thể dựng lệnh nhảy JMP để chuyển điều khiển từ chương trỡnh chớnh vào một vào một nhón bất kỳ trong chương trỡnh con hoặc trong chương trỡnh xử lý ngắt. Tương tự như vậy cũng khụng thể từ một chương trỡnh con hay chương trỡnh xử lý ngắt nhảy vào bất cứ một nhón nào nằm ngoài cỏc chương trỡnh đú. Lệnh gọi chương trỡnh con là lệnh chuyển điều khiển đến chương trỡnh con. Khi chương trỡnh con thực hiện cỏc phộp tớnh của mỡnh thỡ việc điều khiển lại được chuyển trở về lệnh tiếp theo trong chương trỡnh chớnh ngay sau lệnh gọi chương trỡnh con. Từ một chương trỡnh con cú thể gọi được một chương trỡnh con khỏc trong nú, cú thể gọi như vậy nhiều nhất là 8 lần trong S7 – 200. Đệ qui (trong một chương trỡnh con cú lệnh gọi đến chớnh nú) về nguyờn tắc khụng bị cấm song phải chỳ ý đến giới hạn trờn. Nếu lệnh nhảy hay lệnh gọi chương trỡnh con được thực hiện thỡ đỉnh ngăn xếp luụn cú giỏ trị logic bằng 1. Bởi vậy trong chương trỡnh con cỏc lệnh cú điều khiển được thực hiện như cỏc lệnh khụng điều kiện. Sau cỏc lệnh LBL (đặt nhón) và SBR, lệnh LD trong STL sẽ bị vụ hiệu húa. Khi một chương trỡnh con được gọi, toàn bộ nội dung của ngăn xếp sẽ được cất đi, đỉnh của ngăn xếp nhận một giỏ trị mới là 1, cỏc bit khỏc cũn lại của ngăn xếp nhận giỏ trị logic 0 và chương trỡnh được chuyển tiếp đến chương trỡnh con đó được gọi. Khi thực hiện xong chương trỡnh con và trước khi điều khiển được chuyển trở lại chương trỡnh đó gọi nú, nội dung ngăn xếp đó được cất giữ trước đú sẽ được chuyển trở lại ngăn xếp. Nội dung của thanh ghi AC khụng được cất giữ khi gọi chương trỡnh con, nhưng khi một chương trỡnh xử lý ngắt được gọi, nội dung của thanh ghi AC sẽ được cất giữ trước khi thực hiện chương trỡnh xử lý ngắt và nạp lại khi chương trỡnh xử lý ngắt đó được thực hiện xong. Bởi vậy chương trỡnh xử lý ngắt cú thể tự do sử dụng bốn thanh ghi AC của S7 – 200. JMP, CALL LBL, SBR : Lệnh nhảy JMP và lệnh gọi chương trỡnh con SBR cho phộp chuyển điều khiển từ vị trớ này đến một vị trớ khỏc trong chương trỡnh. Cỳ phỏp lệnh nhảy và lệnh gọi chương trỡnh con trong LAD và STL đều cú toỏn hạng là nhón chỉ đớch (nơi nhảy đến, nơi chứa chương trỡnh con) LAD STL Mụ tả Toỏn hạng n ─( JMP) JMP Kn Lệnh nhảy thực hiện việc chuyển điều khiển đến nhón n trong một chương trỡnh. n: CPU 212: 0ữ63 CPU 214: 0ữ255 LBL: n JMP Kn Lệnh khai bỏo nhón n trong một chương trỡnh. n ─( CALL) CALL Kn Lệnh gọi chương trỡnh con, thực hiện phộp chuyển điều khiển đến chương trỡnh con cú nhón n. n: CPU 212: 0ữ15 CPU 214: 0ữ255 SBR:n SBR Kn Lệnh gỏn nhón cho một chương trỡnh con. ─( CRET) CRET Lệnh trở về chương trỡnh đó gọi chương trỡnh con cú điều kiện (bit đầu của ngăn xếp cú giỏ trị logic bằng 1) Khụng cú ─( RET) RET Lệnh trở về chương trỡnh đó gọi chương trỡnh con khụng điều kiện. Cỏc lệnh can thiệp vào thời gian vũng quột MEND, END, STOP, NOP, WDR Cỏc lệnh này được dựng để kết thỳc chương trỡnh đang thực hiện, và kộo dài một khoảng thời gian của một vũng quột. Trong LAD và STL chương trỡnh phải được kết thỳc bằng lệnh kết thỳc khụng điều kiện MEND. Cú thể sử dụng lệnh kết thỳc cú điều kiện END trước lệnh kết thỳc khụng điều kiện. Lệnh STOP kết thỳc chương trỡnh, nú chuyển điều khiển chương trỡnh đến chế độ STOP. Nếu như gặp lệnh STOP trong chương trỡnh chớnh, hoặc trong chương trỡnh con thỡ chương trỡnh đang được thực hiện sẽ kết thỳc ngay lập tức. Lệnh rỗng NOP khụng cú tỏc dụng gỡ trong việc thực hiện chương trỡnh. Cần lưu ý lệnh NOP phải được đặt bờn trong chương trỡnh chớnh, chương trỡnh con hoặc trong chương trỡnh xử lý ngắt. Lệnh WDR sẽ khởi động lại đồng hồ quan sỏt (watchdog timer), và chương trỡnh tiếp tục được thực hiện trong vũng quột ở chế độ quan sỏt nờn cẩn thận khi sử dụng lệnh WDR. Việc chuyển cụng tắc cứng của S7 – 200 vào vị trớ STOP hoặc thực hiện lệnh STOP trong chương trỡnh sẽ là nguyờn nhõn đặt điều khiển vào chế độ dừng trong khoảng thời gian 1,4s Cỏc lệnh điều khiển Timer Timer là bộ tạo thời gian giữa tớn hiệu ra nờn trong điều khiển vẫn thường được gọi là khõu trễ. Nếu ký hiệu tớn hiệu (logic) vào là x(t) và thời gian trễ tạo ra bằng Timer là t thỡ tớn hiệu đầu ra của Timer đú sẽ là x(t – t) S7 – 200 cú 64 bộ Timer (với CPU 212) hoặc 128 Timer (với CPU 214) được chia làm hai loại khỏc nhau là: -Timer tạo thời gian trễ khụng cú nhớ (On-Delay Timer), ký hiệu là TON. -Timer tạo thời gian trễ cú nhớ (Retentive On-Delay Timer), ký hiệu là TONR. Hai kiểu Timer của S7 – 200 (TON và TONR) phõn biệt với nhau ở phản ứng của nú đối với trạng thỏi đầu vào. Cả hai Timer kiểu TON và TONR cựng 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, tức là khi tớn hiệu đầu vào chuyển trạng thỏi logic từ 0 lờn 1, được gọi là thời gian Timer được kớch, và khụng tớnh khoảng thời gian khi đầu vào cú giỏ trị logic 0 vào thời gian trễ tớn hiệu đặt trước. Khi đầu vào cú giỏ trị logic bằng 0, TON tự động reset cũn TONR thỡ khụng tự động reset. Timer TON được dựng để tạo thời gian trễ trong một khoảng thời gian (miền liờn thụng), cũn với TONR thời gian trễ sẽ được tạo ra trong nhiều khoảng thời gian khỏc nhau. Timer TON và TONR bao gồm 3 loại với ba độ phõn giải khỏc nhau, độ phõn giải 1ms, 10ms và 100ms. Thời gian trễ t được tạo ra chớnh là tớch của độ phõn giải của bộ Timer được chọn và giỏ trị đặt trước cho Timer. Vớ dụ Timer cú độ phõn giải 10ms và giỏ trị đặt trước là 50 thỡ thời gian trễ sẽ là t = 500ms. Timer của S7 – 200 cú những tớnh chất cơ bản sau: -Cỏc bộ Timer được điều khiển bởi một cổng vào và giỏ trị đếm tức thời. Giỏ trị đếm tức thời của Timer được nhớ trong thanh ghi 2 byte (gọi là T-word) của Timer, xỏc định khoảng thời gian trễ kể từ khi Timer được kớch. Giỏ trị đặt trước của cỏc bộ T

Các file đính kèm theo tài liệu này:

  • docDA0378.DOC
Tài liệu liên quan