Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
0,94 MB
Nội dung
Chương 3: Ngơn ngữ lập trình ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện CHƯƠNG 3: NGƠN NGỮ LẬP TRÌNH VÀ ỨNG DỤNG 3.1.Giới thiệu ngơn ngữ lập trình: Lập trình cho S7 200 PLC khác hãng Siemens dựa phương pháp bản: Phương pháp hình thang (Ladder logic _ LAD) Phương pháp khối hàm (Function Block Diagram _ FBD) Phương pháp liệt kê câu lệnh (Statement List _ STL) Chương giới thiệu thành phần ba phương pháp cách sử dụng chúng lập trình Nếu chương trình viết theo ngơn ngữ LAD (hoặc FBD) chưyển sang ngơn ngữ STL hay FBD (hoặc LAD) tương ứng Nhưng chương trình viết theo STL chuyển sang ngôn ngữ LAD hay FBD Bộ tập lênh STL trình bày giáo án có chức tiếp điểm, cuộn dây, hộp (trong LAD) hay IC số FBD Những lệnh phải phối hợp trạng thái tiếp điểm để định giá trị trạng thái đầu giá trị logic cho phép không cho phép thực chức (hay nhiều) cuộn dây hộp Trong lập trình lơgic thường hay sử dụng hai ngơn ngữ LAD STL gần gũi chuyên ngành điện Sau định nghĩa cần phải nắm bắt tay vào thiết kế chương trình: 3.1.1 Định nghĩa LAD: LAD ngơn ngữ lập trình đồ họa Nhữnh thành phần dùng LAD tương ứng với thành phần dùng bảng mạch rơle + Tiếp điểm có hai loại: Thường đóng Thường hở + Cuộn dây (coil): ( ) + Hộp (box): Mô tả hàm khác nhau, làm việc có tín hiệu đưa đến hộp Có nhóm hộp sau: hộp định thời, hộp đếm, hộp di chuyển liệu, hộp hàm toán học, hộp truyền thông mạng + Mạng LAD: Là mạch nối phần tử thành mạng hoàn thiện, phần tử cuộn dây hộp phải mắc chiều Nguồn điện có hai đường chính, đường bên trái thể dây nóng, đường bên phải dây trung tính (neutral) khơng thể giao diện lập trình Một mạch làm việc phần tử mắc chiều kín mạch 3.1.2 Định nghĩa STL: Là phương pháp thể chương trình dạng tập hợp câu lệnh Để tạo chương trình STL, người lập trình cần phải hiểu rõ phương thức sử dụng bit ngăn xếp (stack) logic S7 200 Ngăn xếp khối bit chồng lên từ S0÷S8, tất thuật toán liên quan đến ngăn xếp làm việc với bit bit thứ hai (S0 S1) ngăn xếp giá trị logic gởi nối thêm vào ngăn xếp Hai bit S0 S1 phối hợp với ngăn xếp kéo lên bit Ngăn xếp S7 200 (logic stack): Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 54 Chương 3: Ngôn ngữ lập trình ứng dụng S0 S1 S2 S3 S4 S5 S6 S7 S8 Bộ môn Tự Động Đo Lường – Khoa Điện Stack0 bit ngăn xếp Stack1 bit thứ hai ngăn xếp Stack2 bit thứ ba ngăn xếp Stack3 bit thứ tư ngăn xếp Stack4 bit thứ năm ngăn xếp Stack5 bit thứ sáu ngăn xếp Stack6 bit thứ bảy ngăn xếp Stack7 bit thứ tám ngăn xếp Stack8 bit thứ chín ngăn xếp 3.2.Vịng qt (thực chương trình) cấu trúc chương trình: PLC thực chương trình theo vịng lặp Mỗi vịng lặp gọi vòng quét (scan) Các giai đoạn vòng quét: Khi gặp lệnh vào/ra tức thời hệ thống dừng tất công việc khác, chương trình xử lý ngắt để thực chương trình trực tiếp với cổng vào/ra Nếu sử dụng chế độ ngắt, chương trình tương ứng với tín hiệu ngắt soạn thảo cài đặt phận chương trình Chương trình xử lý ngắt thực vòng quét xuất tín hiệu báo ngắt xảy thời điểm nàơ vòng quét Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 55 Chương 3: Ngơn ngữ lập trình ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện 3.3.Tập lệnh S7-200: Tập lệnh S7-200 chia làm nhóm: Các lệnh mà thực làm việc độc lập không phụ thuộc vào giá trị logic bit ngăn xếp (gọi nhóm lệnh không điều kiện) Các lệnh thực bit ngăn xếp có giá trị (gọi nhóm lệnh có điều kiện) Các nhãn lệnh đánh dấu vị trí tập lệnh (gọi nhóm lệnh điều khiển chương trình) ! Các ngôn ngữ sử dụng chữ I (Immediately) để ý nghĩa tức thời Cây lệnh Tập lệnh Bit Tập lệnh can thiệp vào thời gian hệ thống Tập lệnh truyền thông Tập lệnh so sánh Tập lệnh biến đổi Tập đếm Tập lệnh toán học Tập lệnh toán học Tập lệnh điều khiển ngắt Tập lệnh phép tính logic biến đổi Tập lệnh di chuyển liệu Tập lệnh điều khiển chương trình Tập lệnh thao tác với ghi (dịch/quay vòng ghi) Tập lệnh làm việc với chuỗi Tập lệnh làm việc với bảng liệu Tập định thời Tập lệnh gọi chương trình chương trình ngắt Hình 3.3: Mơ tả lệnh với SIMATIC S7-200 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 56 Chương 3: Ngôn ngữ lập trình ứng dụng Bộ mơn Tự Động Đo Lường – Khoa Điện 1 1 1 1 1 1 1 1 1 1 1 2 2 Hình 3.4: Mơ tả lệnh bit 2 Hình 3.5: Mơ tả lệnh can thiệp vào thời gian hệ thống 2 2 2 Hình 3.6: Mơ tả lệnh truyền thơng Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 57 Chương 3: Ngơn ngữ lập trình ứng dụng Bộ mơn Tự Động Đo Lường – Khoa Điện 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 58 Chương 3: Ngôn ngữ lập trình ứng dụng Bộ mơn Tự Động Đo Lường – Khoa Điện 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Hình 3.7: Mơ tả lệnh so sánh Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 59 Chương 3: Ngơn ngữ lập trình ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện 2 2 2 2 2 2 2 2 2 2 2 Hình 3.8: Mơ tả lệnh biến đổi 2 2 2 Hình 3.9: Mơ tả lệnh đếm 2 Hình 3.10: Mơ tả lệnh định thời 2 2 Hình 3.11: Mơ tả lệnh điều khiển ngắt Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 60 Chương 3: Ngơn ngữ lập trình ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện 2 2 2 2 2 Hình 3.12: Mơ tả lệnh học kiểu Floating-Point 2 2 2 2 2 2 2 Hình 3.13: Mơ tả lệnh toán học kiểu Integer 2 2 2 2 2 2 Hình 3.14: Mơ tả lệnh phép tính logic biến đổi Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 61 Chương 3: Ngôn ngữ lập trình ứng dụng Bộ mơn Tự Động Đo Lường – Khoa Điện 2 2 2 2 2 Hình 3.15: Mơ tả lệnh di chuyển liệu 3 3 3 3 3 3 Hình 3.16: Mơ tả lệnh điều khiển chương trình 2 2 2 2 2 2 Hình 3.17: Mơ tả lệnh điều khiển chương trình Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 62 Chương 3: Ngơn ngữ lập trình ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện 2 2 2 2 2 2 2 2 2 Hình 3.18: Mơ tả lệnh làm việc với chuỗi 2 2 2 2 Hình 3.19: Mơ tả lệnh làm việc với bảng liệu ! 1_Các lệnh không điều kiện 2_Các lệnh có điều kiện 3_Các lệnh điều khiển chương trình 3.4 Cú pháp cách ứng dụng SIMATIC struction S7-200: 3.4.1 Toán hạng giới hạn cho phép: Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 63 Chương 3: Ngơn ngữ lập trình ứng dụng Bộ mơn Tự Động Đo Lường – Khoa Điện Hình 3.21: Ví dụ minh hoạ lệnh =, S, R chương trình LAD STL SIMATIC Compare Byte Instructions: STL LDB= AB= OB= LAD IN1 ==B IN2 LDB AB OB IN1 B IN2 LDB< AB< OB< IN1 = AB>= OB>= IN1 >=B IN2 LDW= AW= OW= LDW AW OW IN1 ==I IN2 IN1 I IN2 LDW> AW> OW> LDW>= AW>= OW>= LDW< AW< OW< LDW=I IN2 IN1 ADW> ODW> LDDW>= ADW>= ODW>= LDDW< ADW< ODW< LDDW LDR>= AR>= OR>= LDR< IN1 ==D IN2 IN1 D IN2 IN1 >D IN2 IN1 >=D IN2 IN1 =R IN2 IN1 IN2 ∗AC, ∗LD ID, QD, MD, VD, Lệnh so sánh giá trị hai SMD, SD, LD, AC, DoubleWord IN1 IN2 Trạng thái tiếp điểm đóng Constant, ∗VD, lệnh so sánh IN1 >= IN2 ∗AC, ∗LD ID, QD, MD, VD, Lệnh so sánh giá trị hai SMD, SD, LD, AC, DoubleWord IN1 IN2 Trạng thái tiếp điểm đóng Constant, ∗VD, lệnh so sánh IN1 < IN2 ∗AC, ∗LD ID, QD, MD, VD, Lệnh so sánh giá trị hai SMD, SD, LD, AC, DoubleWord IN1 IN2 Trạng thái tiếp điểm đóng Constant, ∗VD, lệnh so sánh IN1 IN2 ∗AC, ∗LD Lệnh so sánh giá trị hai số ID, QD, MD, VD, thực IN1 IN2 SMD, SD, LD, AC, Trạng thái tiếp điểm đóng Constant, ∗VD, lệnh so sánh IN1 >= IN2 ∗AC, ∗LD Lệnh so sánh giá trị hai số ID, QD, MD, VD, thực IN1 IN2 SMD, SD, LD, AC, Lệnh so sánh giá trị hai DoubleWord IN1 IN2 Trạng thái tiếp điểm đóng lệnh so sánh IN1 = IN2 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh Double Word Double Word Double Word Double Word Double Word Double Word Real Real Real Real Real 69 Chương 3: Ngôn ngữ lập trình ứng dụng AR< OR< LDR