Giới thiệu về bộ điều khiển khả lập trình PLC S7 - 200

Mở đầu Trong những năm gần đây, cùng với sự phát triển của khoa học kĩ thuật, việc ứng dụng những thành tựu công nghệ mới vào thực tiến sản xuất diễn ra mạnh mẽ và có những bước đột phá. Đối với công nghệ sản xuất xi măng, là lĩnh vực đòi hỏi mức độ chính xác và an toàn cao, giải pháp tự động hoá có thể coi là tất yếu trong việc giải quyết những yêu cầu công nghệ cũng như đảm bảo sự an toàn và vận hành liên tục của nhà máy. Hiện nay ngành sản xuất xi măng ở nước ta đang phát triển rất mạnh mẽ. Đây là một ngành sản xuất công nghiệp chịu sự chi phối rất lớn về công nghệ cũng nh* thiết bị của nước ngoài. Tuy nhiên, việc phân phối điện năng trong một số nhà máy chưa được tự động hoá. Việc điều phối điện năng và xử lí các phương án cấp điện bằng thiết bị điều khiển khả trình sẽ mở ra những tiềm năng lớn cho việc tối ưu hệ thống cung cấp điện. Nhà máy xi măng Bút Sơn là một trong số những nhà máy hiện đại nhất Việt nam. Toàn bộ nhà máy được nối mạng theo tiêu chuẩn mạng công nghiệp Ethernet, điều khiển bằng các PLC S5 của Siemen Đức. Việc cấp điện cho toàn bộ nhà máy hiện nay được điều khiển tại chỗ và liên động tự động. Đồ án này thực hiện nghiên cứu giải pháp điều khiển cấp điện tự động cho nhà máy từ trạm 110KV. Đồ án gồm có 5 chương: Chương 1: Mô tả công nghệ. Chương 2:Giới thiệu về trạm 110kv nhà máy xi măng Bút Sơn Chương 3:Tính chọn các trị số bảo vệ cho trạm 110kv Phân tích hệ thống điều khiển Xác định tín hiệu vào ra Chương 4: Giới thiệu về bộ điều khiểnkhả lập trình PLC S7-200 Chương 5: Thiết kế điều khiển trạm 110kv bằng PLC S7-200.

doc88 trang | Chia sẻ: banmai | Lượt xem: 2710 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giới thiệu về bộ điều khiển khả lập trình PLC S7 - 200, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ụng. chân 5: đất. chân 6: 5 VDC. chân 7: 24 VDC (120 mA tối đa). chân 8: truyền và nhận dữ liệu. chân 9: không sử dụng. 4.1.4 Các chế độ làm việc của PLC Công tắc chọn chế độ làm việc nằm phía trên, bên cạnh các cổng ra của S 7-200 có 3 vị trí cho phép chọn các chế độ làm việc khác nhau cho PLC: RUN: cho phép PLC thực hiện chương trình trong bộ nhớ . PLC S7-200 sẽ rời khỏi chế độ RUN và chuyển sang chế độ STOP nếu trong máy có sự cố , hoặc trong chương trình gặp lệnh STOP, thậm chí ngay cả khi công tắc ở chế độ RUN. Nếu quan sát trạng thái thực tại của PLC theo đèn báo. STOP : Cưỡng bức PLC dừng công việc thực hiện chương trình đang chạy và chuyền sang chế độ dừng PLC cho phép hiệu chỉnh lại chương trình hoặc nạp một chương trình mới. TERM: cho phép máy máy lập trình tự quyết định một chế độ làm việc cho PLC hoặc ở RUN hoặc ở STOP. 4.1.5 Chỉnh định tương tự Điều chỉnh tương tự ( một bộ trong CPU 212 và 2bộ trong CPU 214) cho phép điều chỉnh các biến cần phải thay đổi và sử dụng trong chương trình. Núm chỉnh analog đựơc lắp đặt dưới nắp đậy bên cạnh các cổng ra. Thiết bị chỉnh định có thể quay 2700. a. Pin và nguồn nuôi bộ nhớ Nguồn nuôi dùng để ghi chương trình hoặc nạp một chương trình mới. Nguồn pin có thể sử dụng để mở rộng thời gian lưu giữ cho các dữ liệu có trong bộ nhớ. Nguồn pin tự động được chuyển sang trạng thái tích cực nếu nh­ dung lượng bộ nhớ bị cạn kiệt và nó phải thay thế vào vị trí đó dể dữ liệu trong bộ nhớ không bị mất đi. b. Mở rộng cổng vào/ ra CPU 212 cho phép mở rộng nhiếu nhất 2modul và CPU 214 nhiều nhất 7 modul các modul mở rộng tương tự và số đều có trong S7-200. Có thể mở rộng cổng vào và 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, làm thành một móc xích. Địa chỉ của các vị trí của modul được xác định bằng kiểu vào /ra và vị trí của modul trong móc xích bao gồm các modul có cùng kiểu. Ví dụ như một modul cổng ra không thể gán địa chỉ của một modul cổng vào, cũng như một modul tương tự không thể có địa chỉ như một modul số và ngược lại. 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 modul. Sau đây là một số ví dụ về cách đặt địa chỉ cho các modul mở rộng trên CPU 214 : CPU 214 Modul 10 (4vào/ 4ra) Modul 11 (8 vào) Modul 12 (3vào analog /4 ra analog) Modul 13 (8ra) IO.O QO.O IO.1 QO.1 IO.2 QO.2 IO.3 QO.3 IO.4 QO.4 IO.5 QO.5 IO.6 QO.6 IO.7 QO.7 I1.O Q1.O I1.1 Q1.1 I1.2 I1.3 I1.4 I1.5 I2.O I2.1 I2.2 I2.3 Q2.O Q2.1 Q2.2 Q2.3 I3.O I3.1 I3.2 I3.3 I3.4 I3.5 I3.6 I3.7 AIWO AIWO2 AIWO4 AQWO Q3.O Q3.1 Q3.2 Q3.3 Q3.4 Q3.5 Q3.6 Q3.7 4.2 Cấu trúc chương trình của S7-200 Có thể lập trình cho PLC S7-200 bằng cách sử dụng những phần mềm sau đây: STEP7- MICR/ DOS. STEP7- MICR/ 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 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 của chương trình chính (MEND). Các chương trình 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 sử lý ngắt phải viết sau lệnh kết thúc của 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 ngay 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 convà chương trình xử lý ngắt đằng sau chương trình chính. SBRO ch­¬ng tr×nh con thø nhÊt .................. RET SBR n ch­ongtr×nh con thø n + 1 ............ RET INTO ch­¬ng tr×nh xö lý ng¾t thø nhÊt ................ RETI INTO n ch­¬ng tr×nh sö lý ng¾t thø n + 1 .................... RETI Thùc hiÖn trong mét vßng quÐt Th­c hiÖn khi ®­îc ch­¬ng tr×nh chÝnh gäi Thùc hiÖn khi cã tÝn hiÖu b¸o ng¾t Main progam ................ MEND 4.3 Ngôn ngữ lập trình của S7-200 4.3.1 Phương pháp lập trình S7-200biểu diễn một mạch lôgic 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 tập 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ếy thúc ở lệnh lập trình cuối trong một vóng. Một vòng nh­ vậy được gọi là một vòng quét (Scan). Một vòng quét (Scan sycle) đượ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 1 vòng quét tiếp theo S7-200 thực thi các nhiệm vụ bểntong 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. Cách lập trình cho S7-200 nói riêng và cho các PLC của SIMEN nói chung dựa trên hai phương pháp cơ bản: Phương pháp hình thang (Ladder logic viết tắt thành LAD) và phương pháp liệt kê lệnh (Statemet list viết tắt là STL). Nếu chương trình được viếy 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. 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 sang được dạng LAD. Giai đoạn truyền dữ Giai đoạn nhập dữ liệụ từ ngoạivi Liệu ngoại vi Giai đoạn truyền thông Giai đoạn thực hiện Nội bộ và tự kiểm tra hiện chương trình * Một số định nghĩa cơ bản: Định nghĩa về LAD: LAD là một ngôn ngữ lập trình đồ hoạ. Những thành phần cơ bản dùng trong LAD tương ứngvới các thành phần của bảng đièu khiển của rơle. Trong chương trình LAD các phần tưr cơ bản dùng để biểu diễn lệnh lôgic 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ả 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 nhau nó làm việc khicó 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ộ 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 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 hoà ( Neutal) hay là đường trở về nguồn cung cấp ( Đường nguồn ben phải thường không được thể hiện khidùng chương trình tiện dụng STEP7- MICRO/ WIN).Dòng điện chạy từ trí qua các tiếp điểm đóng đế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. 43.2 Bảng lệnh của S7-200 Hệ lệnh của S7-200 đực chia làm 4 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 được khi giá trị bít đầu tiên của ngăn xếp có giá trị lôgic bằng một. Các nhãn lệnh đánh dấu vị trí trong tập lệnh. Cả ba bảng lệnh này cùng mô tả sự thay đổi tương ứng của nội đung ngăn xếpkhi lệnh được thực hiện. Cả hai phương pháp LAD và STL sử dụng ký hiệu I để chỉ định việc thực hiện tức thời ( Immeditely), tức là giá trị được chỉ định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển toứi tiếp điểm được chỉ dảntong lệnh ngay khi lệnh được thực hiện chứ khong phải chờ tới giai đoạn trao đổi vớ ngoại vi của vòng quét. Điều dó khácvới lệnh không tức thời là giá trị được chỉ định trong lệnh chỉ được chuyển vào thanh ghi ảo khi thực hiện lệnh. ( Bảng lệnh của S7-200 được thực hiện vô điều kiện: Bảng 1) ( Bảng lệnh của S-7200 được thực hiện có điều kiện: Bảng 2) Bảng 1. Bảng lệnh của S7-200 đuợc thực hiện vô điều kiện Tên lệnh ỷ nghĩa = n Giá trị của bít đầu tiên trong ngăn xếp được sao chép sang điểm n chỉ dẫn trong lệnh = 1 n Giá trị của bít đầu tiên trong ngăn xếp được sao chép trực tiếp sang điểm n chỉ dẫn ngay khi lệnh được thực hiện A n Giá trị bít đầu tiên của ngăn xếp được thựchiện bằng phép tính AND với điểm n chỉ dẫn trong lệnh. Kết quả đựơc ghi lại vào bít đầu tiên của găn xếp AB< = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu giá trị byte n1 không lớn hơn giá trị của byte n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AB = 1n 2n Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu giá trị của hai byte n1và n2 thoả mãn n1 = n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AB > = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của 2 byte n1 và n2 thoả mẵn n1> n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AD< = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ kép ( 4byte) n1 và n2 thoả mãn n1< n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AD = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ kép n1 và n2 thoả mãn n1= n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AD> = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ kép n1 và n2 thoả mãn n1> n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AR = n1, n2(5) Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1= n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AR> = n1, n2(5) Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1> n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AR< = n1, n2(5) Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1< n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AI n Lệnh AND đượ thực hiện tức thời giữa giá trị của bít đầu tiên của ngăn xếp với điểm n được chỉ dẫn. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp ALD Thực hiện lệnh AND giữa giá trị của bít đầu tiên và của bít thứ hai trong ngăn xếp, sau đó ghi lại kết quả vào bít đầu tiên. Các giá trị còn lại trong ngăn xếp được kéo lên 1 bít AN n Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị nghịch đảo của điểm n trong chỉ dãn. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp ANI n Thực hiện tức thời lệnh AND giữa giá tri của bít đầu tiên trong ngăn xếp với giá trị nghịch đảo của điểm n chỉ dẫn trong lệnh. Kết quả được ghi lai vào bít đầu tiên của ngăn xếp AW< = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ n1 và n2 thoả mãn n1< n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AW = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai từ n1 và n2 thoả mãn n1= n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp AW> = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai từ n1 và n2 thoả mãn n1> n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp CTU C x x, PV Khởi động bộ đếm tiến theo sườn lên tín hiệu đầu vào. Bộ đếm được đặt lại trạng thái ban đầu ( reset) nếu đầu vào R của bộ đếm đựơc kích. CTUD C xx, PV Khởi động bộ đếm tiến theo sườn lên tín hiệu đầu vào thứ nhất và. đếm lùi theo sườn lên tín hiệu đầu vào thứ hai. Bộ đếm được reset lại nếu đầu vào R đựơc kích. ED Đặt giá trị logic 1 vào bít đầu của ngăn xếp. Khi xuất hiện sườn xuống của tín hiệu. ED Đặt giá trị logic 1 vào bít đầu của ngăn xếp. Khi xuất hiện sườn lên của tín hiệu. LD n Nạp giá trị logic của điểm n chỉ dẫn trong lệnh vào bít đầu tiên của ngăn xếp LDB< = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1< = n2. LDB = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1 = n2. LDB> = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1> = n2. LDD = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ kép n1 và n2 thoả mãn n1 = n2. LDD> = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ kép n1 và n2 thoả mãn n1 > = n2. LDI n Lệnh nạp tức thời giá trị logic của tiếp điểm n chỉ dẫn trong lệnh vào bít đầu tiên trong ngăn xếp LDN Lệnh nạp giá trị logic nghịch đảo của tiếp điểm n chỉ dẫn trong lệnh vào bít đầu tiên trong ngăn xếp LDNI n Lệnh nạp tức thời giá trị logic nghịch đảo của tiếp điểm n chỉ dẫn trong lệnh vào bít đầu tiên trong ngăn xếp LDR = n1,n2 (5) Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1 = n2. LDR>=n1,n2 (5) Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 số thực n1 và n2 thoả mãn n1 > = n2. LDR<=n1,n2 (5) Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 số thực n1 và n2 thoả mãn n1< = n2. LDW<= n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ n1 và n2 thoả mãn n1 < = n2. LDW = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ n1 và n2 thoả mãn n1 = n2. LDW> =n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ n1 và n2 thoả mãn n1 > = n2. LPP Kéo nội dung của ngăn xếp lên 1 bít. Giá trị mới của bít trên là giá trị cũ của bít dưới, độ sâu của ngăn xếp giảm đi 1 bít LPS Sao chép giá trị của bít đầu tiên trong ngăn xếp vào bít thứ hai. Nội dung còn lại của ngăn xếp bị đẩy xuống 1 bít LRD Sao chép giá trị của bít thứ hai vào bít đầu tiên trong ngănxếp. Cácgiá trị còn lại của ngăn xếp giữ nguyên vị trí MEND (1 ) ( 2 ) Kết thúc phần chương trình chính trong một vòng quét NOT Đảo giá trị logíc của bít đầu tiên của ngăn xếp O n Thực hiện toán tử OR giữa bít dầu tiên của ngăn xếp với điểm n chỉ dẫn trong lệnh. Kết quả được ghi lại vào bít đầu trong ngăn xếp OB < = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1< = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OB = N1, N2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1= n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OB > = n1,n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1> = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OD< = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1< = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OD = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1= n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OD> = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1> = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OI n Thực hiện tức thời toán tử OR giữa bit đầu tiên của ngăn xếp với điểm n chỉ dẫn trong lệnh. Kết quả được ghi lại vào bít đầu trong ngăn xếp OLD n Thực hiện toán tử OR giữa bit đầu và bít thứ hai trong ngăn xếp Kết quả được ghi lại vào bít đầu tiên. Các giá trị còn lại của ngăn xếp được chuyển lên một bít. ON n Thực hiện toán tử OR giữa giá trị logíc của bít đầu tiên trong ngăn xếp với giá trị lôgíc nghịch đảo của điểm n chỉ dẫn trong lệnh Kết quả được ghi lại vào bít đầu trong ngăn xếp ONI n Thực hiện tức thời toán tử OR giữa giá trị lôgíc của bit đầu tiên trong ngăn xếp với giá trị logíc nghịch đảo của điểm n chỉ dẫn trong lệnh. Kết quả được ghi lại vào bít đầu trong ngăn xếp OR = n1, n2 ( 5) Thực hiện toán tử OR giữa giá trị của bit đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 số thực n1 và n2 thoả mãn n1 = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OR> =n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 số thực n1 và n2 thoả mãn n1 > = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OR<=n1, n2 ( 5) Thực hiện toán tử OR giữa giá trị logíc của bit đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 số thực n1 và n2 thoả mãn n1< = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OW= n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 từ n1 và n2 thoả mãn n1 = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OW<=n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 từ n1 và n2 thoả mãn n1< = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp OW>=n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội 2 từ n1 và n2 thoả mãn n1> = n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp RET ( 3) (1) (4) Lệnh thóat khỏi chương trình con và trả điều khiển về chương trình đã gọi nó RETI (3) (2) (4) Lệnh thoá khỏi chương trình sử lý ngắt (Interrupt) và trả chương trình về chương trình chính Bảng 2. Bảng lệnh của S7-200 được thực hiện có điều kiện Tên lệnh Ý nghĩa +D IN1, IN2 Thực hiện phép cộng hai số nguyên kiểu từ kép IN1và IN2. Kết quả được ghi lại vào IN2 +I IN1, IN2 Thực hiện phép cộng hai số nguyên kiểu từ IN1 và IN2. Kết quả được ghi lại vào IN2 -D IN1, IN2 Thực hiện phép trừ hai số nguyên kiểu từ kép IN1và IN2. Kết quả được ghi lại vào IN2 -I IN1, IN2 Thực hiện phép trừ hai số nguyên kiểu từ IN1và IN2. Kết quả được ghi lại vào IN2 +R IN1, IN2 (5) Thực hiện phép cộng hai số thực (32bít) IN1 và IN2. Kết quả được ghi lại vào IN2 -R IN1, IN2 (5) Thực hiện phép cộng hai số thực (32bít) IN1 và IN2. Kết quả được ghi lại vào IN2 *R IN1, IN2 (5) Thực hiện phép hai số thực (32b Ýt) IN1và IN2. Kết quả được ghi lại vào IN2 /R IN1, IN2 (5) Thực hiện phép chia hai số thực (32bít) IN1và IN2. Kết quả được ghi lại vào IN2 AND DIN1,IN2 Thực hiện toán tử logíc AND giữa các giá trị kiểu từ kép IN1 và IN2. Kết quả được ghi lại vào IN2 ANDWIN1,IN2 Thực hiện toán tử logíc AND giữa các giá trị kiểu từ IN1 và IN2. Kết quả được ghi lại vào IN2 ATCH INT,EVENT Khai báo chương trình xử lý ngắt INTtheo kiểu EVENT ATT IN,OUT,LEN Biến đổi một xâu ký tự từ mã ASCII từ vị trí IN (kiểu byte) với độ dài LEN (kiểu byte) sang mã hexa (cơ số 16) và ghi vào mảng kể từ byte OUT ATT DATA, TABLE Nối một giá trị kiểu từ DATA (2 byte) vào bảng TABLE BCDI IN Biến đổi một xâu ký tự từ mã BCD có độ dài 2 byte sang kiểu nguyên. Kết quả được ghi lại vào IN BMB IN, OUT, N Sao chép một mảng gồm N byte kể từ vị trí đầu IN (byte) vào mảng có vị trí đầu là OUT (kiểu byte) BMW IN, OUT, N Sao chép một mảng từ ( 2 byte ) có độ dài N (1 byte) và vị trí đầu IN ( 2 byte) vào mảng có vị trí đầu là OUT (2 byte) CALL n (6) (1) Gọi chương trình con đựơc đánh nhãn n CRET (3) (!0 (4) Kết thóc một chương trình con và trả điều khiển về chương trình đã gọi nó CRETI (3) (2) (4) Kết thóc một chương trình sử lý ngắt và trả điều khiển về chương trình chính DECD IN Giảm giá trị của từ kép IN đi một đơn vị DECO IN, OUT Gải mã giá trị của 1 byte In, sau đó gan giá trị 1 vào bít của tù OUT (2 byte) có chỉ số là IN DECW IN Giảm giá trị của từ IN đi một đơn vị DISI (1) Vô hiệu hoá tất cả các ngắt (Interrupt) DIV IN1, IN2 Chia số nguyên 16 bít, được xác định là từ thấp của IN2 (kiểu từ kép), cho IN1 kiểu từ. Kết quả được ghi lại vào IN2 DTCH EVENT Vô hiệu hoá một ngắt kiểu EVENT DTR IN, OUT ( 5) Chuyển đổi một số nguyên 32 bít IN có dấu sang thành một số thực 32 bít OUT ENCO IN, OUT Chuyển đổi chỉ số của bít thấp nhất có giá trị lôgíc 1trong từ IN sang thành một số nguyên và ghi vào 4 bít cuối của byte OUT ENI (1) Đặt tất các ngắt vào chế độ tích cực FIFO TABLE DATA (5) Lấy giá trị đã được cho vào đầu tiên ra khỏi bảng và chuyển nó đến vùng dữ liệu DATA được chỉ dẫn trong lệnh FILL IN, OUT, N Đổi giá trị của từ IN vào một mảng nhớ gồm N từ (N có kiểu byte) bắt đầu từ vị trí OUT (kiểu từ) FND < SRC PATRN, INDX(5) Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị nhỏ hơn giá trị của PATRN (kiểu từ ) FND SRC PATNR, INDX Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị khác giá trị của PATRN (kiểu từ ) FND > SRC PATRN, INDX(5) Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị lớn hơn giá trị của PATRN (kiểu từ ) FND = SRC PATRN, INDX(5) Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị bằng giá trị của PATRN (kiểu từ ) FOR INDEX INITIAL, FINAL(1) (5) Thực hiện các lệnh nằm giữa FOR và NEXT theo kiểu xoay vòng với bộ đếm số vòng INDEX (kiểu từ ), bắt đầu vòng số NITIAL (kiẻu từ ) và kết thúc tại vòng số FINAL (từ ) HDEF , HSC MODE(1) Xác định kiểu thuật toán MODE cho bộ đếm tốc độ cao HSC (byte) HSC n Đưa bộ đếm tốc độ cao số nvào trạng thái tích cực HTA IN , OUT LEN Chuyển đổi một số hệ heax IN (kiếu byte ) thành dãy ký tự mã ASCII và ghi vào mảng byte bắt đầu bằng byte OUT với độ dài LEN (kiểu byte ) IBCD IN Chuyển đổi giá tri nguyên IN (kiếu từ ) thành giá trị BCD và ghi lại vào IN INCD IN Tăng giá trị của từ kép IN lên một đơn vị INCW IN Tăng giá trị của một từ IN lên một đơn vị INVD IN Lấy phần bù kiểu một (đảo giá trị logíc của các bít ) của mọt từ kép IN và ghi lại vào IN JMP xx Chuyển điều khiển vào ô nhớ chỉ định bằng nhãn xx trong chương trình khai báo bởi lệnh LBL LIPO TABLO, DATA(5) Lấy giá trị đã được cho vào bảng sau cùng ra khỏi bảng TABLE và chuyển nó đến vùng dữ liệu DATA (kiểu từ ) MOVB IN, OUT Sao gí tri của byte IN sang byte OUT MOVD IN, OUT Sao giá trị của từ kép IN sang từ kép OUT MOVR IN, OUT(5) Sao số thực IN sang OUT MOVW IN, OUT Sao giá trị của từ IN sang OUT MUL IN1, IN2 Nhân số nguyên 16 bít IN1 với hai byte thấp của số nguyên 32 bít IN2 sau đó ghi lại kết quả vào IN2 NETR TABLE, PORT(5) Khởi tạo sự truyền thông để đọc dữ liệu từ ngoại vi qua cæng PORT vào bảng TABLE NETW TABLE, PORT(5) Khởi tạo sự truyền thông để ghi dữ liệu của bảng TABLE ra ngoại vi qua cæng PORT ORD IN1, IN2 Thực hiện toán tử OR cho hai từ kép IN1 và IN2, sau đó ghi lại kết quả lại vào IN2 ORW IN1, IN2 Thực hiện toán tử OR cho hai từ IN1 và IN2, sau đó ghi lại kết quả lại vào IN2 PLS X(5) Đưa bộ phát xung nhanh đã được định nghĩa trong bộ nhớ đặc biệt vào trạng thái tích cực. Xung được ra cổng QO. X. R S_BIT, n Xoá một mảng gồm n bít kể từ địa chỉ S_BIT (kiểu bít) RI S_BIT, n Xoá tức thời một mảng gồm n bít kể từ địa chỉ S_BIT RLT IN, N Quay tròn từ kép IN sang trái N bít RLW IN, N Quay tròn từ IN sang trái N bít RRD IN, N Quay tròn từ kép IN sang phải N bít RRW IN, n Quay tròn từ IN sang phải N bít S S_BIT,n Đặt giá trị lôgic 1 vào một mảng n bít kể từ địa chỉ S_BIT SEG IN, OUT Chuyển đổi giá trị của 4 bít thấp trong byte IN sang thành mã tương ứng cho thanh ghi 7 nét và ghi vào OUT SHRB DATA, S_BIT, n Dịch thanh ghi gồm n bít có bít thấp nhất là S_BIT sang trái nếu n> 0 hoặc sang phải nếu n 0hoặc bít S_BIT- N nếu n< 0) SI S_BIT, n Đặt tức thời giá trị logic 1 vào mảng n bít kể từ bít S_BIT SLD IN, N Dịch từ kép IN sang trái một bít SLW IN, N Dịch từ IN sang phải 1 bít STOP Dõng “ mềm “ chương trình SWAP IN Đổi chỗ hai bít đầu tiên và cuối cùng của byte IN cho nhau TOIDR T(5) Đọc giờ và ngày tháng sau hiện thời từ đồng hồ và ghi vào bộ đệm 8 byte có byte đầu là T TON TXX , PT Khởi động bộ phát thời gian trễ TXX với thời gian trễ đặt trước là tích cuả PT (kiểu từ ) và độ phân giải của bộ thời gian TXX được chọn TONR TXX PT Khởi động bộ phát thời gian trễ có nhớ TXX với thời gian trễ đặt trước là tích cuả PT (kiểu từ ) và độ phân giải của bộ thời gian TXX được chọn TRUNC IN, OUT Chuyển đổi một số thực 32 bít IN thành một số nguyên 32 bít có dấu và ghi vào OUT. WDR Đặt chuẩn lại bộ phát xung kiểm tra (watchdog timer ) XMT TABLE, PORT Truyền nội dung của bảng TABLE đến cổng PORT XORD IN1, IN2 Thực hiện toán tử exclsive OR cho các bít của hai từ kép IN1 và IN2. Kết quả được ghi lại vào IN2 XORW IN1, IN2 Thực hiện toán tử exclsive OR cho các bít của hai từ IN1 và IN2. Kết quả được ghi lại vào I Bảng 3.: Các lệnh đặt nhãn (label) Tên lệnh ý nghĩa INT n(1) (2) (4) Khai báo nhãn n cho chương trình sử lý ngắt LBL xx Đặt nhãn xx trong chương trình, định hướng cho lệnh nhẩy JMP NEXT (1) (5) (7) Lệnh kết thúc vòng lặp FOR...NEXT NOP Lệnh rỗng (n o operation) XBR n (1) (2) (4) Khai báo nhãn n cho chương trình con ( (1) Những lệnh không thực hiện được trong chương trình sử lý ngắt. lệnh INT chỉ có thể được sử dụng là lệnh bắt đầu cuả chương trình xử lý ngắt (2) Những lệnh không thực hiện được trong một chương trình con. Lệnh SBR chỉ có thể là lệnh bắt đầu của chương trình con. (3) Nhũng lệnh có kèm chức năng ghi lại nội dung của stack trước đó. (4) Những lệnh không sử dụng đựơc trong chương trình chính. (5) Những lệnh chỉ cho CPU 214. (6) Ghi nhớ lại nội dung tức thời của stack. Đặt TOP lên một và gsn giá trị logíc O vào các bít còn lại của ngăn xếp (7) Đặt TOP lên 1. 4.3.3 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 bít đầu tiên của ngăn xếp, các giá trị cũ còn lại trong ngăn xếp bị đảy lùi xuống một bít Load Not (LDN): Lệnh LDN nạp giá trịlôgíc nghịc đảo của một tiếp điểm vào trong bít đầu tiên của ngăn xếp, các giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuống 1bít. Các dạng khác nhau của lệnh LD, LDN cho LAD nh­ sau: LAD ý nghĩa Toán hạng N Tiếp điểm sễ được đóng nếu n = 1 n : 1, Q, M, SM, T, C V ( bít) N Tiếp điểm thường mở sẽ được mở khi n = 1 N Tiếp điểm thường mở sẽ đóng tức thời khi n = 1 N Tiếp diểm thường đóng sẽ được mở khi n = 1 Các dạng khác nhau của lệnh LD, LDN cho STL nh­ sau : Lệnh ý nghĩa Toán hạng LD n Lệnh nạp giá trị logíc của điểm n vào bít đầu tiên trong ngăn xếp n : I, Q, M, SM, T, (bít ) C, V LDN n Lệnh nạp giá trị logíc nghịch đảo của điểm n vào bít đầu tiên trong ngăn xếp LDI n Lệnh nạp tức thời giá trị logíc của điểm n vào bít đầu tiên trong ngăn xếp n : I (bít ) LDNI n Lệnh nạp túc thời giá trị logíc nghịch đảo của điểm n vào bít đầu tiên trong ngăn xếp Lệnh OUTPUT (=) lệnh sao chép nội dung của bít đầu tiên trong ngăn xếp vào bít được chỉ định trong lênh. Nội dung của ngăn xếp không bị thay đổi Mô tả lệnh = bằng LAD nh­ sau: LAD ý nghĩa 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, V (bít) n ( ) Cuộn dây đầu ra được kích tức thời khi có dòng điều khiển đi qua n : Q (bít ) Mô tả lệnh = bằng STL như sau: STL ý nghĩa Toán hạng = n Lệnh = sao chép giá trị của đỉnh ngăn xếp tới tiếp điểm n được chỉ dẫn trong lệnh n : I, Q, M, SM, T, C, V. ( bít ) = I n Lệnh = I (Inmediate) sao chép tức thời giá trị của đỉnh stack tới tiếp điểm n được chỉ dẫn trong lệnh n : Q (bít) 4.3.4 Các lệnh ghi / xoá giá trị cho tiếp điểm. Lệnh SET (S) và RESET ( R ) Lệnh dùng để đóng và ngắt các điểmb gián đoạn đã đựơc thiết kế. Trong LAD, logic điều khiển dòng điện đóng hoặc ngắt các cuộn dây đầu ra. Khi dòng điều khiển đến các cuộ dây thì các cuộn day đóng hoặc mở các tiếp điểm ( hoặc một dãy các tiếp điểm) Trong STL, lệnh truyền trạng thái bít đầu của ngăn xếp đến các điểm thiết kế. Nếu bít này có giá trị bằng 1, các Lệnh S và 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 và R bằng LAD LAD ý nghĩa Toán hạng S BIT n ( S ) Đóng một mảng gồm n các tiếp điểm kể từ S_BIT S_BIT: E, Q, M, SM, T, C, T (bít) n : IB, QB, MB, SMB, VB (byte) 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 lai chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bít đầ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ừ S_BIT S_BIT: Q (bít) n : IB, QB, MB, SMB, VB (byte) AC, hằng số, *VD , *AC S BIT n (RI) Đóng 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ả các lệnh S (Set) và R (Reset) bằng STL nh­ sau: STL ý nghĩa Toán hạng S S_BIT n Ghi giá trị logic vào một mảng gồm n bít để từ địa chỉ S_BIT S_BIT: I,Q, M, SM, T,C,V (bít ) n: IB,QB,MB.SMB,VB (byte) AC, Hằng số * VD, *AC R S_BIT n Xoá một mảng gồm n bít kể từ địa chỉ S_BIT. Nếu S_BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bít đầ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 bít kể từ địa chỉ S_BIT. S_BIT: Q (bít) . n : IB, QB, MB, SMB, VB (byte) AC, Hằng số, * VD, *AC RI S_BIT n Xoá tức thời một mảng gồm n bít kể từ địa chỉ S_BIT 5.3.5 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á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 và các tiếp điểm thường mở . STL có thể sử dụng các lệnh A(And) và O (Or) cho các hàm hở hoặc các lệnh AN ( And và Not, ON I ) 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 Ý nghĩa Toán hạng O n A n Lệnh thực hiện toán tử ^ (A) và v (O) giữa giá trị logic của tiếp điểm n và giá trị bít đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bít đầu của ngăn xếp N: I, Q, M, SM (bít) T, C, V AN n ON n Lệnh thực hiện toán tử ^ (A) và v (O) giữa giá trị logic nghịch đảo của tiếp điểm n và giá trị bít đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bít đầu của ngăn xếp AI n OI n Lệnh thực hiện tức thời toán tử ^ (A) và v (O) giữa giá trị logic của tiếp điểm n và giá trị bít đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bít đầu của ngăn xếp n : I (bít) ANI n ONI n Lệnh thực hiện tức thời toán tử ^ (A) và v (O) giữa giá trị logic nghịch đảo của tiếp điểm n và giá trị bít đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bít đầu của ngăn xếp 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 các phép tính của đại số BooLean cho cácbít 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 (logíc.... ), 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 lệnh 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. Lệnh AND (A) và OR (O) Lệnh A và O phối hợp giá trị logic của một tiếp điểm n với gí trị bít đầu tiên của ngăn xếp. Kết quả phép tính được đặt lại vào bít đầu tiên trong ngăn xếp. Giảtị của các bít còn lại trong ngăn xếp không bị thay đổi. Lệnh AND LOAD (ALD) và lệnh OR LOAD (OLD). Lệnh ALD và lệnh OLD thực hiện phép tính logic And và Or giữa hai bít đầu tiên của ngăn xếp. Kết quả cho phép logíc này sẽ được ghi lại vào bít đầ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 bít. Lệnh LOGIC PUSH (LPS), Lệnh LOGIC READ(LRD) và lệnh LOGIC POP (LPP). Lệnh LPS, LRD và LPP là những lệnh thay đổi nội dung bít đầu tiên của ngăn xếp. Lệnh LPS sao chép nội dung của bít đầu tiên vào bit thứ hai trong ngăn xếp, nội dung ngăn xếp sau dó bị đảy xuống 1 bít. Lệnh LRD lấy giá trị của bít thứ hai ghi vào bít đầu tiên của ngăn xếp nội dung ngăn xếp sau đó được kéo lên 1 bít. Lệnh LPP kéo ngăn xếp lên 1 bít. Lệnh ANDW, ANDD,ORW,ORD, XORW, XORD. Lệnh thực hiện các thuật toán logíc And, Or, và Exclusive Or của đại số Boolean trên 2 byte (mảng nhiều bít hoặc tiép điểm). Ngoài các lệnh logic làm việc với tiếp điểm S7-200 cung cấp thêm những lệnh logic có khả năng thực hiện các thuật toan logic trên mọt mảng nhiều tiếp điểm ( hay nhiều bít). 4.3.6 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ứ lúc nào khác của chương trình, trong đó nơi điều khiển chuyển đến phải đượ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 lệnh 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 chương trình sư lý ngắt được khai báo ở đầu chương trình. Không thể dùng lệnh nhảy JMB để chuyển điều khiển từ chương trình chính 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 sử 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 trinh con. Khi chương trình con thực hiện song 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 nằm 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ảctong nó, có thể gọi như vậy nhiều nhất là 8 lần trong S7-200. để quy (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 xong phải dể ý đế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 1. Bởi vậy trong chương trình con các lệnh có điều kiệ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 hoá. 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 giá trị logic mới là 1, các bít khấc còn lại của ngăn xếp nhận giá trị logic 0 và điều khiển được chuyển đế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 chuỷể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 trinh con nhưng khi một chương trình xử lý ngắn đượ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 4 thanh ghi AC của S7-200 Lệnh JMP, CALL, LBL và 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 của lệnh nhảy và lệnh gọi chương trình con tronh 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 ). Lệnh nhảy, lệnh gọi chương trình con, lệnh khai báo nhãn và lệnh thoát khỏi chương trình con được biểu diễn trong LAD và trong STL như sau: LAD STL ý nghĩa Toán hạng n (JMB) JMB 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:CPU212:- 0:63 CPU214:- 0:255 LBL: LBL Kn Lệnh khai báo nhãn trong một chương trình n (CALL) CALL 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 là n n:CPU212: - 0:15 CPU214: - 0:255 *SBR: SBR Kn Lệnh gán nhãn 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 ( bít đầu của ngăn xếp có giá trị logic bằng 1) Không (RET) RET Lệnh trở về chương trình đã gọi chương trình con không điều kiện 4.3.7 Các lệnh can thiệp vào thời gian vòng quét. Lệnh MEND, END, STOP, NOP, và WDR. Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và koé dài khoảng thời gian của một vòng quét. Trong LAD và STL chương trình chính phải được kết thúc bằng lệnh kết thúc không điều kiện MED. Có thể sử dụng điều kiện 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ươngtrì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 trinh đang được thực hiện sẽ kết thúc ngay lập tức. Nếu nh­ gặp lệnh STOP trong chương trình sử lý ngắt thì chương trình sử lý ngắt kết thúc ngay apj tức và tất cả các tín hiệu ngắt đang chờ sử lý sau đó đều bị bỏ qua và không được thực hiện. Phần còn lại của chương trình cũng sẽ không được thực hiện. Việc thực hiện chuyển sang chế độ STOP được thực hiện ở cuối chu kỳ quét hiện thời, sau giai đoan giao tiếp với ngoại vi của vòng quét. Lệnh rỗng NOP không có tác dụng 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 sử lý ngắt. Lệnh WDR sẽ khởi lại đồng hồ quan sát và chương trình tiếp tục được thực hiện trong vòng quét ở chế độ được quan sát. Nên cẩn thận khi sử dụng lệnh WDR. Khi trong chương trình có nhũng lệnh lặp, hoặc thời gian trễ quá lớn thì những quá trình sau đây bị hạn chế: Truyền thông (lại trừ kiểu Freeport). Cập nhật vào ra (trừ trường hợp vào là tức thì) Cập nhật cưỡng bức. Cập nhật các bít kiểu SM (SMO và SM5 đến SM29 không cập nhật được). Chuẩn đoán thời gian chạy. Với các vòng quét lớn hơn 25ms thì các bộ Timer có độ phân giải 10ms và 100ms sẽ làm việc không chính xác. Nếu thời gian của vòng quét lớn hơn 300ms, hoặc gặp một ngắt có chương trình xử lý ngắt với thời gian chạy trương trình lâu hơn 300ms thì cần phải sử dụng lệnh WDR để khởi động lại đồng hồ quan sát. 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,4 giây. Sử dụng lệnh MEND, STOP, và WDR trong LAD nh­ sau: LAD ý nghĩa Toán hạng (END) Lệnh kết thúc chương trình chính hiện hành có điều kiện Không có (MEND) Lệnh kết thúc không điều kiện dùng để kết thúc một chương trình hiện hành (STOP) Lệnh STOP kết thúc chương trình hiện hành và chuyển sang chế độ STOP (WDR) Lệnh WDR khởi tạo lại đồng hồ quan sát n (NOP) Lệnh NOP không có hiệu lực trong chương trình hiện hành. Toán hạng n là một số năm trong khoảng 0:255 n : 0 đến 255 Sử dụng lệnh END, STOP và WDR trong STL nh­ sau: STL ý nghĩa Toán hạng END Lệnh kết thúc chương trình chính hiện hành nếu bít đầu trong ngăn xếp có giá trị 1 Không có MEND Lệnh kết thúc vô điều kiện chương trình chính hiện hành STOP Lệnh STOP kết thúc chương trình hiện hành và chuỷen sang chế độ STOP WDR Lệnh WDR khởi lại đồng hồ quan sát NOP Lệnh rỗng NOP không có hiệu lực trong chương trình hiện hành. Toán hạng n là một số nằm trong khoảng 0: 255 n : 0 đến 255 4.3.8 Các lệnh điều khiển Timer. Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra 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ễ được tạo bằng Timer là T thì tín hiệu đầu ra của Timer đó sẽ là x( t- T ). S7-200 có 64 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 - Dely 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 tín hiệu đầ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 điểm 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 được đặt trước. Khi đầu vào có giá trị logic bằng không, TON tự động Reset còn TONR thì không tự động Reset. TimerTON đượ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 đối với TONR thời gian trễ sẽ được tạo ra trong nhiều khoảng thời gian khác nhau. Timer TONvà 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. Yhời gian trễ đượ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. Ngoài ra tập lệnh của PLC S7-200 còn có các lệnh : Các lệnh điều khiển Counter, các lệnh số học, lệnh tăng, giảm một đơn vị và lệnh đảo giá trị thanh ghi thanh ghi, các lệnh dịch chuyển nội dung ô nhớ, các lệnh làm việc với mảng, các lệnh dịch chuyển thanh ghi, các lệnh làm việc với bảng, các lệnh tìm kiếm, các hàm biến đổi dữ liệu, xây dựng cấu trúc vòng lặp, đồng thơì gian thực, truyền thông trên mạng nhiều chủ, ngắt và sử lý ngắt, sử dụng ngắt truyền thông, sử dụng bộ đếm tốc độ cao, sử dụng hàm phát xung tốc độ cao. Trong phạm vi khuôn khổ của đồ án, không thể trình bày và mô tả chi tiết hết các lệnh mà chỉ nêu được các lệnh phục vụ trực tiếp cho đề tài và một số lệnh cơ bản. Các lệnh còn lại khi cần có thể tra cứu trong cuốn “ Tự động hoá với SIMATIC S7-200” của tác giả Phan Xuân Minh và Nguyễn Doãn Phước ( nhà xuất bản nông nghiệp Hà Nội) năm 1997. 5 Thiết kế điều khiển trạm 110kV bằng PLC S7-200. 5.1Bố trí các đầu vào /ra cho hệ điều khiển. S TT Tín hiệu Loại tín hiệu Địa chỉ 1 Auto Vào I02 2 Manual Vào I01 3 Rơle áp lộ 1 Vào I03 4 Rơle áp lộ 2 Vào I04 5 Rơle báo sự cố lộ 1 Vào I05 6 Rơle báo sự cố lộ 2 Vào I06 7 Chạm vá MBA 1 Vào I07 8 Chạm đất sơ cấp MBA 1 Vào I10 9 Chạm đất thứ cấp MBA 1 Vào I11 10 Lỗi rơle hơi MBA1 Vào I12 11 Lỗi Nhiệt độ dầu BA1 cao Vào I13 12 Chạm vá MBA 2 Vào I14 13 Chạm đất sơ cấp MBA 2 Vào I15 14 Chạm đất thứ cấp MBA 2 Vào I16 15 Lỗi rơle hơi MBA2 Vào I17 16 Lỗi Nhiệt độ dầu BA2 cao Vào I20 17 Lỗi so lệch dọc BA1 Vào I21 18 Lỗi so lệch ngang sơ cấp BA1 Vào I22 19 Lỗi so lệch ngang thứ cấp BA1 Vào I23 20 Lỗi so lệch dọc BA2 Vào I24 21 Lỗi so lệch ngang sơ cấp BA2 Vào I25 22 Lỗi so lệch ngang thứ cấp BA2 Vào I26 23 Dao cách li Q28-1 Vào I27 24 Tiếp địa Q 38-1 Vào I30 25 Dao cách li Q27 Vào I31 26 Tiếp địa Q 35-1 Vào I32 27 Dao cách li Q25-1 Vào I33 28 Tiếp địa Q 34-1 Vào I34 29 Máy cắt phân đoạn MC600 Vào I35 30 Dao cách li Q24-1 Vào I36 31 Dao cách li Q28-2 Vào I37 32 Tiếp địa Q 38-2 Vào I40 34 Tiếp địa Q 35-2 Vào I41 35 Dao cách li Q25-2 Vào I42 36 Tiếp địa Q 34-2 Vào I43 37 Trạng thái đã đóng / cắt xưởng nghiền thô Vào I50 38 Trạng thái đã đóng / cắt xưởng đập đá Vào I51 39 Báo Lỗi MBA1 Vào I54 40 Báo lỗi MBA2 Vào I55 41 Trạng thái Q50-1 Vào I52 42 Trạng thái Q50-2 Vào I53 43 Trạng thái máy cắt 631 Vào I46 44 Trạng thái máy cắt 632 Vào I47 45 Xưởng nghiền thô. Vào I50 46 Xưởng đập đá Vào I51 Các tín hiệu ra 1 Điều khiển auto Ra Q01 2 Điều khiển Manual Ra Q02 3 Báo lỗi MBA1 Ra Q03 4 Báo lỗi MBA2 Ra Q04 5 Báo sai lệch dọc MBA1 Ra Q05 6 Báo sai lệch ngang sơ cấp MBA1 Ra Q06 7 Báo sai lệch ngang thứ cấp MBA1 Ra Q07 8 Báo sai lệch dọc MBA2 Ra Q10 9 Báo sai lệch ngang sơ cấp MBA2 Ra Q11 10 Báo sai lệch ngang thứ cấp MBA2 Ra Q12 11 Điều khiển Q50-1 Ra Q13 12 Điều khiển Q50-2 Ra Q14 13 Điều khiển cả Q50-1 và Q50-2 Ra Q15 14 Điều khiển cấp điện xưởng đập đá Ra Q16 15 Điều khiển cấp điện xưởng nghiền thô Ra Q17 16 Điều khiển máy cắt 631 Ra Q20 17 Điều khiển máy cắt 632 Ra Q21 18 Điều khiển máy phát điện Ra Q22 19 Điều khiển đóng cắt phụ tải cho máy phát Ra Q23 20 Điều khiển máy cắt phân đoạn 600 Ra Q41 21 Báo có điện lưới Ra Q43 22 Báo Chạm vỏ MBA 1 Ra Q24 23 Báo Chạm đất sơ cấp MBA 1 Ra Q25 24 Báo Chạm đất thứ cấp MBA 1 Ra Q26 25 Báo Lỗi rơle hơi MBA1 Ra Q27 26 Báo Lỗi Nhiệt độ dầu BA1 cao Ra Q30 27 Báo Chạm vỏ MBA 2 Ra Q31 28 Báo Chạm đất sơ cấp MBA 2 Ra Q32 29 Báo Chạm đất thứ cấp MBA 2 Ra Q33 30 Báo Lỗi rơle hơi MBA2 Ra Q34 31 Báo Lỗi Nhiệt độ dầu BA2 cao Ra Q35 32 Báo sự cố 175 Ra Q36 33 Báo sự cố 176 Ra Q40 34 Báo trạng thái máy cắt 600 Ra Q41 35 Báo trạng thái máy cắt 631 Ra Q42 36 Báo trạng thái máy cắt 632 Ra Q44 37 Báo trạng thái máy cắt Q50-1 Ra Q54 38 Báo trạng thái máy cắt Q50-2 Ra Q55 39 Báo trạng thái máy phát Ra Q45 40 Báo trạng thái dao cách li Q27 Ra Q46 41 Báo chế độ Auto Ra Q47 42 Báo chế độ Manual Ra Q50 5.2 Chương trình viết cho S7 - 200 Chương trình PLC: Network1 //Kiểm tra điều kiện hoạt động LD Man //Kiểm tra chế độ tay Ên Man R Q01 // ngắt chế độ điều khiển tự động Auto. S Q02 // Đóng tiếp điểm phục vụ tay Ên. LD Auto //Kiểm tra chế độ tự động. S Q01 //Phục vô tù động R Q02 //Bỏ chế độ tay Ên. Network2 //Kiểm tra điện hai lé LD I03 //Rơ le áp lộ 1 cho phép O I04 //Rơ le áp lộ 2 cho phép NOT //Không mất điện,cấp điện bình thừơng. CALL 1 //Nếu hai lộ không có điện, nhảy đến máy phát Network3 //Kiểm tra sự cố trên hai lé 175 và 176 LD I05 //Rơ le báo sự cố 175. CALL 2 //Phương án hai LD I06 //Rơ le báo sự cố 176 CALL 3 //Phương án ba. LDN I05 //K86-1 không tác động AN I06 //K86-2 không tác động CALL 4 //Nếu không có sự cố, phương án một. Network4 //Kiểm tra lỗi MBA1 LD I07 //Lỗi chạm vỏ MBA1 O I10 //Lỗi chạm đất sơ cấp MBA1 O I11 // Lỗi chạm đất thứ cấp MBA1 O I12 //Lỗi rơ le hơi MBA1 O I13 //Nhiệt độ dầu MBA1 = Q03 //Báo lỗi sự cố MBA1 CALL 5 //Chương trình dùng MBA2 Network5 //Kiểm tra lỗi MBA2 LD I14 //Lỗi chạm vỏ MBA2 O I15 //Lỗi chạm đất sơ cấp MBA2 O I16 // Lỗi chạm đất thứ cấp MBA2 O I17 //Lỗi rơ le hơi MBA2 O I20 //Nhiệt độ dầu MBA2 = Q04 //Báo lỗi sự cố MBA2 CALL 6 //Chương trình dùng MBA1 Network6 //Kiểm tra lỗi so lệch LD I21 //Lỗi so lệch dọc MBA1 = Q05 //Báo sự cố . LD I22 //So lệch ngang sơ cấpMBA1 = Q06 //Báo so lệch ngang sơ cấpMBA1 LD I23 //Lỗi So lệch ngang thứ cấpMBA1 = Q07 // Báo lỗi So lệch ngang thứ cấpMBA1 LD I24 //Lỗi so lệch dọc MBA2 = Q10 //Báo sự cố so lệch dọc MBA2. LD I25 //So lệch ngang sơ cấpMBA2 = Q11 //Báo so lệch ngang sơ cấpMBA2 LD I26 //Lỗi So lệch ngang thứ cấpMBA2 = Q12 // Báo lỗi So lệch ngang thứ cấpMBA2 Network7 // Hiển thị các trạng thái LD I02 = Q47 //Báo chế độh Auto LD I01 = Q5.0 //báo chế độ Man LD I05 = Q36 //báo sự cố 175 LD I06 = Q40 //báo sự cố 176 LD I54 = Q51 //báo lỗi MBA1 LD I55 //Báo lỗi MBA2 = Q52 LD I35 = Q41 //Máy cắt phân đoạn 600 LD I46 = Q42 //Báo trạng thái MC631 LD I47 // Báo trạng thái MC631 = Q44 LD I52 = Q54 // Báo trạng thái MC Q50-1 LD I53 // Báo trạng thái MC Q50-2 = Q55 LD I07 = Q24 //Chạm vá MBA1 LD I10 = Q25 //Chạm đất sơ cấp MBA1 LD I11 = Q26 //Chạm đất thứ cấp MBA1 LD I12 = Q27 //Lỗi rơ le hơi MBA1 LD I13 //Nhiệt độ dầu MBA 1 cao quá = Q20 LD I14 = Q31 //Chạm vá MBA2 LD I15 = Q32 //Chạm đất sơ cấp MBA2 LD I16 = Q33 //Chạm đất thứ cấp MBA2 LD I17 = Q34 //Lỗi rơ le hơi MBA2 LD I20 //Nhiệt độ dầu MBA2 cao quá = Q35 Network8 //Kết thúc vòng lặp MEND Network9 //Chương trình con phương án 1 SBR 4 //Lé 1 LD I27 //Dao cách li Q28 đóng,giá trị=1 AN I30 //Dao tiếp địa Q38 mở AN I31 //Dao cách li Q27 mở AN I32 //Dao tiếp địa Q35 mở A I33 //Dao cách li Q25 đóng AN I34 //Dao tiếp địa Q34 mở AN I35 //Máy cắt phân đoạn MC600 mở. A I36 //Dao cách li Q24 đóng AN I05 //Rơ lê lộ 1 K86-1báo an toàn không tác động = Q12 //Cho phép sẵn sàng đóng Máy cắt Q50 lé1 //Lé hai LD I37 //Dao cách li Q28 đóng,giá trị=1 AN I40 //Dao tiếp địa Q38 mở AN I31 //Dao cách li Q27 mở AN I41 //Dao tiếp địa Q35 mở A I42 //Dao cách li Q25 đóng AN I43 //Dao tiếp địa Q34 mở AN I44 //Máy cắt phân đoạn MC600 mở. A I45 //Dao cách li Q24 đóng AN I06 //Rơ le lé 2 K86-2báo an toàn không tác động = Q12 //Cho phép sẵn sàng đóng Máy cắt Q50 lé2 Network10 //Xử lí đóng căt máy cắt LD Q12 A Q13 //cả hai lộ sẵn sàng = Q14 //Đóng máy cắt cả hai lé RET Network11 // Phương án 175 cấp cho hai MBA SRB 2 //Phương án hai LD I27 //Dao cách li Q28-1 đóng AN I37 //Q28-2 mở AN I30 //Q38-1 AN I40 //Q38-2 A I31 //Q27 AN I32 //Q35-1 AN I41 //Q35-2 A I33 //Q25-1 A I42 //Q25-2 AN I34 //Q34-1 AN I43 //Q34-2 A I36 //Q24-1 A I44 //Q24-2 AN I35 //MC600 AN I05 //K86-1 AN I06 //K86-2 = Q14 //Đóng máy cắt Q50 cho 2 máy BA RET Network12 //176 cấp cho hai lé SRB 3 //Phương án hai LD I37 //Dao cách li Q28-2 đóng AN I27 //Q28-1 mở AN I30 //Q38-1 AN I40 //Q38-2 A I31 //Q27 AN I32 //Q35-1 AN I41 //Q35-2 A I33 //Q25-1 A I42 //Q25-2 AN I34 //Q34-1 AN I43 //Q34-2 A I36 //Q24-1 A I44 //Q24-2 AN I35 //MC600 AN I05 //K86-1 AN I06 //K86-2 = Q14 //Đóng máy cắt Q50 cho 2 máy BA RET Network13 //Máy biến áp 1 (MBA2 háng) SRB 6 //Dùng MBA1 R Q16 //Cắt xưởng đập đá R Q17 //Cắt xưởng nghiền thô LD I27 //Q28-1 A I37 //Q28-2 AN I30 //Q38-1 AN I31 //Q27 AN I52 //Q50-2 AN I32 //Q35-1 A I33 //Q25-1 AN I34 //Q34-1 A I36 //Q24-1 A I35 //MC600 AN I05 //K86-1 AN I51 //Đập đá AN I50 //Nghiền thô = Q12 //Đóng máy cắt Q50-1 RET Network14 //Máy biến áp 2(MBA1 háng) SRB 5 //Dùng MBA1 R Q16 //Cắt xưởng đập đá R Q17 //Cắt xưởng nghiền thô LD I27 //Q28-1 A I37 //Q28-2 AN I40 //Q38-2 AN I31 //Q27 AN I52 //Q50-1 AN I32 //Q35-2 A I42 //Q25-2 AN I43 //Q34-2 A I44 //Q24-2 A I35 //MC600 AN I06 //K86-2 AN I51 //Đập đá AN I50 //Nghiền thô = Q13 //Đóng máy cắt Q50-2 RET Network15 //Dùng máy phát (mất điện cả hai lé) SRB 1 //phương án MBA R Q13 //cắt Q50-1 R Q14 //Cắt Q50-2 R Q20 //cắt MC631 R Q21 //cắt MC632 S Q22 //Khởi động máy phát S Q23 //Đóng các điểm cần cấp điện //kiểm tra các điều kiện có điện LN I03 //rơ le áp lộ 1 báo có điện O I04 //rơ le áp lộ 2 báo có điện = Q43 //Báo đã có điện lưới R Q22 //Cắt máy phát S Q20 //MC631 S Q21 //MC632 RET

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

  • docPlc xmbutson 87.doc