Bài giảng Điều khiển lập trình 2

pdf 154 trang vanle 2600
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Điều khiển lập trình 2", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_dieu_khien_lap_trinh_2.pdf

Nội dung text: Bài giảng Điều khiển lập trình 2

  1. TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM KHOA ĐIỆN TỬ BÀI GIẢNG: ĐIỀU KHIỂN LẬP TRÌNH 2 BIÊN SOẠN: GV ThS Nguyễn Tấn Đời GV ThS Tạ Văn Phương TP HỒ CHÍ MINH, THÁNG 01 NĂM 2008
  2. Truong DH SPKT TP. HCM MỤC LỤC CHƯƠNG I: PLC S7-300 1.1 Giới thiệu về PLC S7-300. 1 1.2 Các Module của PLC S7-300 1 1.3 Các Module hoạt động. 4 1.4 Các kiểu dữ liệu. 5 1.5 Cấu trúc bộ nhớ. 5 1.6 Chu kỳ quét của PLC S7-300 7 1.7 Trao đổi dữ liệu giữa CPU và Module mở rộng. 8 1.8 Cấu trúc chương trình của PLC S7-300 9 1.9 Các khối OB đặc biệt 10 CHƯƠNG II: TẬP LỆNH CỦA S7-300 12 1.1 Cấu trúc lệnh và trạng thái kết quả 12 1.2 Nhóm lệnh logic 14 1.3 Nhóm lệnh đặc biệt 20 Ban quyen © Truong DH Su pham Ky thuat TP. HCM 1.4 Nhóm lệnh so sánh 23 1.5 Nhóm lệnh toán học 28 1.6 Lệnh chuyển đổi số BCD sang số nguyên 29 1.7 Lệnh về Timer 30 1.8 Lệnh về Counter. 40 CHƯƠNG III: MẠNG PROFIBUS- DP 47 3.1 Tổng quan 47 3.1.2 Kiến trúc giao thức và kỹ thuật truyền 48 3.1.3 Truy cập BUS 49 3.1.4 Dịch vụ truyền dữ lịêu 49 3.1.5 Cấu trúc bức điện 50 3.2 Profibus – DP 51 3.2.1 Cấu hình hệ thống và thiết bị 52 3.2.2 Đặc tính vận hành của hệ thống 53 3.2.3 Trao đổi dữ liệu giữa Master và Slaver 53 3.2.4 Đồng bộ hoá dữ liệu vào /ra 54 Thu vien DH SPKT TP. HCM -
  3. Truong DH SPKT TP. HCM 3.2.5 Tham số hoá và chuẩn đoán hệ thống 55 3.2.6 Giao tiếp trực tiếp giữa các Slave 55 3.2.7 Chế độ đẳng thời 56 3.3 Giới thiệu Module EM-277 57 3.3.1 Giới thiệu 57 3.3.2 Các thông số của EM-277 57 3.3.3 Cấu trúc vùng nhớ của Master và Slave 58 3.4 Kết nối mạng với module EM-277 61 3.4.1 Thiết lập địa chỉ mạng cho khối EM-277 61 3.4.2 Truyền dữ liệu giữa trạm chủ và khối EM-277 61 3.4.3 Tệp cơ sở dữ liệu của thiết bị ( các tệp GSD) 64 3.4.5 Ứng dụng mạng Profibus –DP điều khiển thiết bị 64 CHƯƠNG IV : MẠNG ASI 75 4.1 Giới thiệu về mạng ASI 75 4.1.1 Khái niệm 75 4.1.2 Giao tiếp ASI 77 4.1.3 Hoạt động của mạngBan ASI quyen © Truong DH Su pham Ky thuat TP. HCM 82 4.1.4 Ứng dụng mạng ASI 84 4.2 Các AS-I MASTER 86 4.2.1 Giới thiệu 86 4.2.2 AS-I Master PLC S7-200 86 4.2.3 AS-I Master cho PLC S7-300 89 4.2.4 AS-I Gateway 91 4.3 Các thành phần mạng ASI 92 4.3.1 Cáp AS-I 92 4.3.2 Các Module AS-I 93 4.3.3 Lắp đặt Module AS-I 97 4.3.4 AS-I Repeater/Extender 97 4.3.5 Bộ định địa chỉ 99 4.4 Chế độ AS-I MASTER 100 4.4.1 Nguyên tắc Master/Slaver trong AS-I 100 4.4.2 Chuyển đổi dữ liệu 102 4.5 Hệ thống AS-I 108 4.5.1 Thiết lập hệ thống AS-I 108 Thu vien DH SPKT TP. HCM -
  4. Truong DH SPKT TP. HCM 4.5.2 Hệ thống truyền dữ liệu AS-I 109 4.5.3 Cấu trúc bức điện 110 4.6 AS-I MASTER MODULE CP 243-2 113 4.6.1 Giới thiệu module CP 243-2 113 4.6.2 Đặc tính kỹ thuật của Module CP 243-2 115 CHƯƠNG V: PHẦN MỀM WINCC 129 5.1 Giới thiệu chung về WinCC 129 5.1.1 Khái niệm 129 5.1.2 Đặc điểm 129 5.1.3 Ưu điểm của Version WinCC 6.0 131 5.2 Các độ Poject trong WINCC 131 5.2.1 Single-user Project 131 5.2.2 Multi-user Project 132 5.2.3 Client Project 132 5.3 Sử dụng WINCC 133 5.3.1 Thiết lập Driver kết nối giữa WinCC và PLC 133 5.3.2 Định nghĩa các TagBan quyen © Truong DH Su pham Ky thuat TP. HCM 134 5.3.3 Tạo giao diện người dùng 134 5.3.4 Tạo ảnh động và hiệu ứng cho đối tượng 136 5.3.5 Biểu diễn giá trị của quá trình Logging Editor 136 5.3.6 Thiết lập cảnh báo và thông báo lỗi 137 5.3.7 Tạo Function và Action 138 5.3.8 Thiết lập Report 138 5.3.9 Chạy chương trình WinCC 139 5.4 Điều khiển và giám sát qua mạng PROFIBUS 140 5.4.1 Yêu cầu 140 5.4.2 Kết nối phần cứng 141 5.4.3 Khai báo phần cứng trên SIMATIC MANAGER 141 5.4.4 Thiết lập giao diện trên WinCC và thiết lập giao tiếp với S&-300 146 Thu vien DH SPKT TP. HCM -
  5. Truong DH SPKT TP. HCM TÀI LIỆU THAM KHẢO [1] Nguyễn Doãn Phước, tự động hóa với Simatic S7-300, NXB KHKT, 2006 [2] Hoàng Minh Sơn, Mạng truyền thông công nghiệp , NXB KHKT, 2001. [3] Trần Thu Hà, Tự động hoá trong công nghiệp với WinCC, NXB Hồng Đức, 2007. [4] TT Việt Đức - ĐH Sư phạm Kỹ thuật Tp.HCM, SIMATIC S7-300 Điều khiển hệ thống. [5] TT Việt_Đức - Trường ĐH Sư phạm Kỹ thuật Tp.HCM, Tài liệu huấn luyện PROFIBUS - DP&FMS. [6] Siemens, AS-Interface – Introdution and Basic information, 2000. [7] Siemens, S7-300 Programmable Controller Hardware and installation. [8] Internet. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Thu vien DH SPKT TP. HCM -
  6. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 CHƯƠNG 1: PLC S7-300 1.1 GIỚI THIỆU VỀ PLC S7-300: PLC S7-300 là thiết bị điều khiển lo gic khả trìnhc ỡ trung bình do hãng S iemens sản xuất với kích thước nhỏ, gọn. Chúng có kết cấu theo kiểu các Module được sắp xếp trên các thanh rack. Trên mỗi rack cho phép đặt được nhiều nhất 8 Module mở rộng (không kể CPU, Module nguồi nuôi). Một CPU S7-300 có thể làm việc trực tiếp với nhiều nhất 4 rack. S7-300 được thiết kế dựa trên tính chất của PLC S7-200 (đã được trình bày trong môn học ĐKLT 1) và bổ sung những tính năng mới, đặc biệt trong điều khiển liên kết cả hệ thống nhiều PLC, gọi là mạng PLC – sẽ được trình bày trong các chương sau. 1.2 CÁC MODULE CỦA PLC S7-300: Nhằm mục đích tăng tính mềm dẻo trong các ứng dụng thực tế, các đối tượng điều khiển của một trạm S7-300 được chế tạo theo Module. Các Module gồm có: Module CPU, nguồn, ngõ vào/ra số, tương tự, mạng, Số lượng Module nhiều hay ít tùy vào yêu cầu thực tế, song tối thiểu bao giờ cũng có một Module chính là CPU, các Module còn lại nhận truyền tín hiệu với đối tượng điều khiển, các Module chức năng chuyên dụng như PID, điều khiển động cơ, chúng được Ban quyen © Truong DH Su pham Ky thuat TP. HCM gọi chung là Module mở rộng. Cấu hình của một trạm PLC S7-300 như sau: CPU Hình 1.1: Các khối trên một thanh rack của trạm PLC S7-300. TRANG - 1 Thu vien DH SPKT TP. HCM -
  7. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 - Module CPU: chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ định thời gian, bộ đếm, cổng truyền thông (RS485) và có thể có vài cổng vào/ra số onboard. PLC S7-300 có nhiều loại CPU khác nhau, chúng được đặt tên theo bộ vi xử lý có trong CPU như CPU312, CPU314, CPU315, CPU316, CPU318 Những Module cùng có chung bộ vi xử lý nhưng khác nhau về cổng vào/ra onboard, khác nhau về các khối hàm đặc biệt có sẵn trong thư viện của hệ điều hành được phân biệt với nhau trong tên gọi bằng cách thêm cụm từ IFM (Intergrated Function Module). Ví dụ Module CPU314 IFM. Ngoài ra còn có các loại Module CPU với hai cổng truyền thông, trong đó cổng truyền thông thứ hai có chức năng chính là phục vụ việc nối mạng phân tán có kèm theo những phần mềm tiện dụng được cài đặt sẵn trong hệ điều hành. Các loại CPU này được phân biệt với các CPU khác bằng tên gọi thêm cụm từ DP (Distributted Port) trong tên gọi. Ví dụ Module CPU 314C-2DP Hình vẽ sau minh họa một số CPU của PLC S7-300: Ban quyen © Truong DH Su pham Ky thuat TP. HCM CPU 312 IFM CPU 314C-2PIP CPU 314 CPU 314C-2DP Hình 1.2: Các Module tích hợp CPU của PLC S7-300. - Module mở rộng: chia làm 5 loại o PS ( Power Supply): Module nguồn nuôi. Có 3 loại 2A, 5A và 10A. o SM (Signal Module): Module mở rộng cổng tín hiệu vào/ra, bao gồm: o DI (Digital Input): Module mở rộng các cổng vào số. Số các cổng vào số mở rộng có thể là 8, 16, hoặc 32 tuỳ thuộc vào từng loại Module. o DO (Digital Output): Module mở rộng các cổng ra số. Số các cổng ra số mở rộng có thể là 8, 16 hoặc 32 tuỳ thuộc vào từng loại Module. o DI/DO (Digital input/Digital output): Module mở rộng các cổng vào/ra số. Số các cổng vào/ra số có thể là 8 vào/8 ra hoặc 16 vào/16 ra tùy thuộc từng loại Module. o AI (Analog input): Module mở rộng cổng vào tương tự. Chúng là bộ chuyển đổi tương tự số 12 bits (AD). Số các cổng vào tương tự có thể là 2, 4, 8 tùy từng loại Module. TRANG - 2 Thu vien DH SPKT TP. HCM -
  8. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 o AO (Analog output): Module mở rộng các cổng ra tương tự. Chúng là những bộ chuyển đổi số tương tự (DA). Số các cổng ra tương tự có thể là 2, 4 hoặc 8 tùy thuộc từng loại. o AI/AO (Analog input/Analog output): Module mở rộng vào/ra tương tự. Số cổng vào/ra tương tự có thể là 4 vào/2 ra hoặc 4 vào/4 ra tùy từng loại Module. o IM (Interface Module): Module ghép nối. Đây là loại Module chuyên dụng có chức năng nối các nhóm Module mở rộng lại với nhau thành một khối và được quản lý chung bởi một CPU. Một CPU có thể làm việc trực tiếp nhiều nhất 4 rack, mỗi rack tối đa 8 Module mở rộng và các rack được nối với nhau bằng Module IM. o FM (Function Module): Module có chức năng điều khiển riêng, ví dụ như Module điều khiển động động cơ bước, Module điều khiển động cơ servo, Module PID, điều khiển đếm tốc độ cao o CP (Communication Module): Module phục vụ truyền thông trong mạng giữa các bộ PLC với nhau hoặc giữa PLC với máy tính. Hình sau minh họa một số Module mở rộng của PLC S7-300: Ban quyen © Truong DH Su pham Ky thuat TP. HCM a) Module nguồn (PS) b) Module vào số (DI) c) Module ra analog (AO) d) Module ra số (DO) e) Module chức năng (FM) f) Module truyền thông Hình 1.3: Module mở rộng của PLC S7-300 TRANG - 3 Thu vien DH SPKT TP. HCM -
  9. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 1.3 CÁC MODE HOẠT ĐỘNG: - PLC S7-300 có 4 mode hoạt động, gồm: o RUN_P: Xử lý chương trình, có thể đọc và ghi được từ PG. o RUN: Xử lý chương trình, không thể đọc từ PG. o STOP: Dừng, chương trình không được xử lý. o MRES: Chức năng reset hệ thống (Module Reset Các mode này được chọn dựa vào công tắc chọn ở mặt trước CPU như hình 1.4 Trong đó: 1. Đèn báo trạng thái 2. Card nhớ 3. Nút chọn kiểu làm việc 4. Đầu nối 24V 5. Cổng giao tiếp MPI 6. Ngăn để pin Ban quyen © Truong DH Su phamHình Ky thuat 1.4: TP.Mặt HCM trước CPU S7-300 - Ngoài ra, CPU còn có các đèn chỉ báo giúp người sử dụng chẩn đoán được trạng thái hiện tại của PLC. o SF: báo lỗi trong nhóm, trong CPU hay trong các Module. o BATF: lỗi pin, hết pin hoặc không có pin. o DC5V: báo có nguồn 5V. o FRCE: báo ít nhất có một ngỏ vào/ra đang bị cưỡng bức hoạt động. o RUN: nhấp nháy khi CPU khởi động và sáng khi CPU làm việc. o STOP: sáng khi PLC dừng, chớp chậm khi có yêu cấu reset bộ nhớ, chớp nhanh khi đang reset bộ nhớ. - Các thành phần khác trên CPU: o Card nhớ: dùng để lưu chương trình mà không cần pin trong trường hợp mất điện. o Ngăn để pin: nằm dưới nắp, chứa pin cung cấp năng lượng cho RAM khi mất điện. o Đầu nối MPI: đầu nồi dành cho thiết bị lập trình hay các thiết bị cần giao tiếp qua cổng MPI. o Đầu nối điện 24V: cung cấp nguồn cho CPU. TRANG - 4 Thu vien DH SPKT TP. HCM -
  10. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 1.4 CÁC KIỂU DỮ LIỆU: Tương tự như PLC S7-200, các kiểu dữ liệu sử dụng trong chương trình của PLC S7-300 gồm có: - BOOL: có dung lượng 1 bit, giá trị là 0 hoặc 1, sử dụng cho biến có 2 giá trị - BYTE: dung lượng 8 bit, thường dùng biểu diễn số nguyên dương từ 0 đến 255, mã BCD của số thập phân 2 chữ số, mã ASCII của ký tự, - WORD: dung lượng 2 byte, biểu diễn số nguyên dương từ 0 đến 65535. - INT: dung lượng 2 byte, biểu diễn số nguyên từ -32768 đến 32767. - DINT: dung lượng 4 byte, biểu diễn số nguyên từ -2147483648 đến 2147483647. - REAL: dung lượng 4 byte, biểu diễn số thực có dấu phẩy. Ngoài ra còn có các kiểu dữ liệu khác: - S5T (S5TIME): biểu diễn khoảng thời gian, tính theo giờ/phút/giây/mgiây - TOD: biểu diễn khoảng thời gian tính theo giờ/phút/giây - DATE: biểu diễn thời gian theo năm/tháng/ngày - CHAR: biểu diễn ký tự (tối đa 4 ký tự). 1.5 CẤU TRÚC BỘ NHỚ: Bộ nhớ PLC được minhBan họa quyen trong © Truong hình 1.5, DH Sugồm: pham vùng Ky nhớthuat chứa TP. HCMthanh ghi, vùng nhớ System, vùng nhớ Work, và vùng nhớ Load. Hình 1.5: Phân chia vùng nhớ S7-300 TRANG - 5 Thu vien DH SPKT TP. HCM -
  11. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 - Load memory: Là vùng nhớ chứa chương trình ứng dụng do người sử dụng viết và được chứa trong các OB, FC, FB hoặc trong các khối chương trình trong thư viện hệ thống được sử dụng (SFB, SFC) và các khối dữ liệu DB. Vùng nhớ này tạo ra từ một phần RAM của CPU và EEPROM. Khi thực hiện lệnh xóa bộ nhớ (MRES) thì toàn bộ các khối chương trình trong RAM bị xóa hết. Tương tự, khi chương trình được Download từ máy tính vào CPU, chúng sẽ được ghi lên phần RAM của vùng nhớ này. Vùng nhớ chương trình được chia làm 3 miền: o OB (Organization Block): miền chứa chương trình tổ chức. o FC (Function): miền chứa chương trình con được tổ chức thành hàm, có biến hình thức để trao đổi dữ liệu với chương trình đã gọi. o FB (Function Block): Miền chứa chương trình con được tổ chức thành hàm, có khả năng trao đổi dữ liệu với bất kỳ khối chương trình nào. Các dữ liệu được xây dựng trên một khối riêng gọi là DB. - Work memory: Là vùng nhớ chứa các khối dữ liệu DB đang mở, khối chương trình (OB, FB, FC, SFC, SFB) đang được CPU thực hiện. Tại một thời điểm nhất định vùng nhớ này chỉ chứa một khối chương trình. Sau khi thực hiện khối chương trình này xong thì nó sẽ bị CPU xóa khỏi work memory và nạp vào khối chương trình kế tiếp đến lượt thực hiện. Vùng nhớ này chiaBan thành quyen 2 ©miền: Truong DH Su pham Ky thuat TP. HCM o DB (Data Block): Miền chứa các dữ liệu tổ chức thành khối, kích thước và số lượng do người sử dụng quy định. Chương trình có thể truy cập miền này theo bit (DBX), byte (DBB), Word (DBW), Double word (DBD). o L (Local data block): Miền dữ liệu cục bộ được các khối chương trình OB, FC, FB sử dụng cho các biến tạm thời và trao đổi các biến hình thức với các khối đã gọi nó. Nội dung dữ liệu trong khối này sẽ bị xoá khi kết thúc chương trình tương ứng trong OB, FC, FB. Miền này có thể truy cập theo bit (L), byte (LB), word (LW) hoặc duoble word (LD). Tùy theo các khối chương trình khác nhau mà bảng khai báo chứa các biến khác nhau nhằm phục vụ cho yêu cầu của khối đó. - System memory: Chứa các tham số của hệ điều hành và chương trình ứng dụng, chia làm 7 miền. o Miền I: (Process image input): miền bộ đệm các cổng vào số. Trước khi thực hiện chương trình, PLC đọc tất cả dữ liệu đầu vào và cất vào miền nhớ này. PLC không đọc trực tiếp cổng vào mà đọc từ bộ đệm I. o Miền Q: (Process image output): miền bộ đệm các cổng ra số. Khi kết thúc chương trình, PLC chuyển giá trị logic từ bộ đệm Q đến các cổng ra số. Thông thường chương trình không gán trực tiếp giá trị tới cổng ra mà chỉ chuyển chúng vào bộ đệm Q. TRANG - 6 Thu vien DH SPKT TP. HCM -
  12. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 o Miền M: miền nhớ các bit cờ. Chương trình ứng dụng sử dụng vùng nhớ này để lưu các tham số cần thiết và có thể truy nhập theo bit, byte, word, double word. o Miền T: miền nhớ phục vụ bộ thời gian. Bao gồm việc lưu trữ giá trị thời gian thời gian định trước, thời gian tức thời và giá trị logic đầu ra của timer. o Miền C: miền phục vụ bộ đếm. Bao gồm việc lưu trữ giá trị đặt trước, giá trị tức thời và giá trị logic đầu ra. o Miền PI: miền địa chỉ cổng vào các Module tương tự. Các giá trị tương tự tại các cổng vào sẽ được chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền PI theo bit (PI), theo byte (PIB), theo từ (PIW), hoặc theo từ kép (PID). o Miền PQ: miền địa chỉ cổng ra các Module tương tự. Giá trị theo những địa chỉ này sẽ được Module tương tự chuyển tới các cổng ra tương tự. Chương trình ứng dụng có thể truy cập miền nhớ PQ theo bit (PQ), theo byte (PQB), theo từ (PQW) hoặc theo từ kép. Trong các vùng nhớ trình bày trên không có vùng nhớ làm bộ đệm cho cổng vào/ra tương tự, như vậy mỗi lệnh truy nhập Module tương tự (đọc hoặc gửi giá trị) đều có tác dụng trực tiếp tới cổng vật lý. 1.6 CHU KỲ QUÉT CỦA PLC S7-300: Tương tự PLC S7-200,Ban PLC quyen S7-300 © Truong thực DH hiện Su pham chương Ky thuattrình TP.theo HCM chu trình lặp. Mỗi vòng lặp được gọi là vòng quét. - Vòng quét được bắt đầu bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi. - Bước tiếp theo là giai đoạn chuyển dữ liệu từ các cổng vào số tới bộ đệm ảo I. - Sau đó là giai đoạn thực hiện chương trình. Chương trình được thực hiện từ lệnh đầu tiên đến lệnh kết thúc của khối OB1. Kết quả được lưu trong bộ đệm Q. - Sau cùng là giai đoạn chuyển các nội dung của bộ đệm ảo Q tới các cổng ra số. Hình 1.6: Vòng quét chương trình TRANG - 7 Thu vien DH SPKT TP. HCM -
  13. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 Bộ đệm I và Q không liên quan tới các cổng vào/ra tương tự nên các lệnh truy nhập cổng tương tự được thực hiện trực tiếp với cổng vật lý mà không thông qua bộ đệm. Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời gian vòng quét. Thời gian vòng quét không cố định, tức là không phải vòng quét nào cũng được thực hiện trong một khoảng thời gian như nhau. Có vòng quét thực hiện lâu, có vòng quét thực hiện nhanh tùy thuộc vào số lệnh trong chương trình được thực hiện, tùy thuộc vào khối lượng dữ liệu được truyền thông trong vòng quét. Việc đọc dữ liệu từ đối tượng để xử lý, tính toán và gửi tín hiệu tới đối tượng cần một khoảng thời gian trễ đúng bằng thời gian vòng quét. Thời gian vòng quét quyết định tính thời gian thực của chương trình điều khiển. Việc đọc dữ liệu từ đối tượng để xử lý, tính toán và gửi tín hiệu tới đối tượng cần một khoảng thời gian trễ đúng bằng thời gian vòng quét. Thời gian vòng quét quyết định tính thời gian thực của chương trình điều khiển. Nếu sử dụng các khối OB đặc biệt có chế độ ngắt như OB40, OB80, OB35 thì chương trình của khối đó được thực hiện khi xuất hiện tín hiệu báo ngắt cùng loại. Thời gian vòng quét càng lớn khi có nhiều tín hiệu ngắt xuất hiện trong vòng quét. 1.7 TRAO ĐỔI DỮ LIỆU GIỮA CPU VÀ MODULE MỞ RỘNG: Sự trao đổi dữ liệu giữa CPU với các Module mở rộng trong một trạm PLC thông qua bus nội bộ. Ban quyen © Truong DH Su pham Ky thuat TP. HCM - Ngay đầu vòng quét các dữ liệu tại cổng vào của Module số (DI) được CPU chuyển đến bộ đệm vào I. Đến cuối vòng quét, nội dung bộ đệm số ngõ ra được CPU chuyển tới cổng ra của các Module số (DO). Việc thay đổi nội dung hai bộ đệm này được thực hiện bởi chương trình ứng dụng. Trong chương trình ứng dụng có nhiều lệnh đọc ngõ vào số thì cho dù giá trị thực có của cổng này đã bị thay đổi trong quá trình thực hiện vòng quét, chương trình sẽ vẫn luôn đọc được cùng một giá trị từ I và đó là giá trị của cổng vào có tại thời điểm đầu vòng quét. Nếu chương trình có nhiều lần thay đổi giá trị cổng ra số thì do nó chỉ thay đổi nội dung bit nhớ tương ứng trong Q nên chỉ có giá trị ở lần thay đổi cuối cùng được đưa tới cổng ra vật lý của Module DO. - Khác với việc đọc/ghi cổng số, việc truy nhập cổng vào/ra tương tự lại được CPU thực hiện trực tiếp trên Module tương tự (AI/AO). Như vậy lệnh đọc giá trị từ địa chỉ thuộc vùng PI sẽ thu được giá trị đúng bằng giá trị thực có ở cổng tại thời điểm thực hiện lệnh, khi thực hiện lệnh gửi một giá trị tới địa chỉ vùng PQ, giá trị đó được gửi trực tiếp đến cổng ra tương tự của Module. TRANG - 8 Thu vien DH SPKT TP. HCM -
  14. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 Hình 1.7: Trao đổi dữ liệu giữa CPU và Module mở rộng 1.8 CẤU TRÚC CHƯƠNG TRÌNH PLC S7-300: Chương trình do người dùng viết cho S7-300 được lưu trong vùng nhớ chương trình, có 2 dạng với cấu trúc khác nhau: - Lập trình tuyếnBan tính: quyen © Truong DH Su pham Ky thuat TP. HCM Toàn bộ chương trình điều khiển lưu trong 1 khối trong bộ nhớ. Dạng chương trình phù hợp với bài toán nhỏ, đơn giản. Khối được chọn ở đây là khối OB1. Đây là khối chứa các lệnh được thực hiện thường xuyên trong chu kỳ quét của PLC. Lệnh 1 Vòng quét Lệnh 2 OB1 Lệnh n Hình 1.8: Lập trình tuyến tính - Lập trình có cấu trúc: Chương trình được chia thành từng phần nhỏ với các yêu cầu riêng biệt, mỗi phần có thể lưu trong một vùng nhớ khác nhau. Dạng này phù hợp với bài toán phức tạp, có nhiều yêu cầu khác nhau. TRANG - 9 Thu vien DH SPKT TP. HCM -
  15. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 PLC S7-300 có 4 loại khối cơ bản: o Khối OB (Organization Block): là khối tổ chức và quản lý chương trình điều khiển. Có nhiều loại OB với các chức năng khác nhau, chúng được phân biệt dựa vào số nguyên gán thêm phía sau. OB1, OB35, OB40 OB1 là khối luôn được CPU quét và thực hiện lặp lại các lệnh theo thứ tự từ trên xuống dưới. o Khối FC (Program Block): là khối chương trình với các chức năng riêng, giống như 1 chương trình con. Một chương trình có thể có nhiều khối FC, chúng được phân biệt dựa theo số nguyên gán thêm phía sau, FC1, FC2, o Khối FB (Function Block): là 1 khối FC đặc biệt có khả năng trao đổi lượng dữ liệu lớn với các khối chương trình khác. Một chương trình có thể có nhiều khối FB, chúng được phân biệt dựa theo số nguyên gán thêm phía sau, FB1, FB2, o Khối DB (Data Block): là khối chứa các dữ liệu cần thiết để thực hiện chương trình. Các tham số của khối này do người sử dụng tự đặt. Một chương trình có thể có nhiều khối DB, chúng được phân biệt dựa theo số nguyên gán thêm phía sau, DB1, DB2, Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển khối. Ban quyen © Truong DH Su pham Ky thuat TP. HCM 1.9 CÁC KHỐI OB ĐẶC BIỆT: Nếu OB1 là khối được thực hiện liên tục trong từng vòng quét thì các khối OB khác chỉ được thực hiện khi có tín hiệu báo ngắt tương ứng. Chương trình viết cho các khối này chính là các chương trình xử lý tín hiệu ngắt, bao gồm: - OB10 (Time of date interrupt): chương trình trong khối OB10 sẽ được thực khi giá trị của đồng hồ thời gian thực nằm trong một khoảng thời gian đã quy định. OB10 có thể gọi một lần hay nhiều lần cách đều nhau từng phút, từng giờ, từng ngày - OB20 (Time delay interrupt): chương trình trong khối OB20 sẽ được thực hiện sau một koảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ thống SFC32 để đặt thời gian trễ. - OB35 (Cyclic interrupt): chương trình trong OB35 sẽ được thực hiện cách đều nhau một khoảng thời gian nhất định. Mặc định thời gian này là 100ms, song ta có thể thay đổi nó trong bảng tham số của CPU nhờ phần mềm STEP7. - OB40 (Hardware interrupt): OB40 sẽ được thực hiện khi có tín hiệu ngắt từ ngoại vi đưa vào CPU thông qua cổng vào ra số onboard đặc biệt, hoặc thông qua Module SM, CP, FM. - OB80 (Cycle time fault): được thực hiện khi thời gian vòng quét vượt quá thời gian cực đại đã quy định (mặc định là 150ms) hoặc có tín hiệu ngắt gọi OB nào đó mà OB này chưa kết thúc ở lần gọi trước. TRANG - 10 Thu vien DH SPKT TP. HCM -
  16. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 1 - OB81 (Power supply fault): khi có lỗi về nguồn nuôi thì CPU sẽ gọi OB81. - OB82 (Diagnostic interrupt): được gọi khi có phát hiện có sự cố từ các Module vào/ra mở rộng. Các Module mở rộng này phải có khả năng tự kiểm tra. - OB85 (Not load fault): được gọi khi chương trình có sử dụng chế độ ngắt nhưng - chương trình ngắt lại không có trong OB tương ứng. - OB87 (Communication Fault): được gọi khi CPU thấy có lỗi truyền thông. - OB100 (Start up information): được thực hiện một lần khi CPU chuyển trạng thái từ STOP sang RUN. - OB121 (Synchronous error): được thực hiện khi CPU thấy lỗi logic trong chương trình như sai kiểu dữ liệu hoặc lỗi truy cập các khối DB, FC, FB không có trong CPU. - OB122 (Synchronous error): được thực hiện khi CPU phát hiện có, lỗi truy nhập Module trong chương trình, ví dụ chương trình có lệnh truy nhập Module vào/ra nhưng lại không tìm thấy Module này. Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 11 Thu vien DH SPKT TP. HCM -
  17. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 CHƯƠNG 2 : TẬP LỆNH CỦA PLC S7-300 1.1 CẤU TRÚC LỆNH VÀ TRẠNG THÁI KẾT QUẢ: Trong tài liệu ĐKLT 1 đã trình bày về các phương pháp lập trình cho PLC, gồm có ngôn ngữ lập trình dạng STL, LAD và FBD. Phần này sẽ trình bày chủ yếu về cấu trúc và kết quả của lệnh dạng STL. Một lệnh STL của PLC S7-300 gồm có: “Tên lệnh” + “Toán hạng”. Ví dụ: A I0.0 là lệnh nạp giá trị ngõ vào có địa chỉ I0.0 Trong đó: A là “Tên lệnh” I0.0 là “Toán hạng” Lưu ý: toán hạng có thể là dữ liệu hoặc là địa chỉ của một vùng nhớ nào đó. - Toán hạng là dữ liệu: o Dữ liệu logic o Số nhị phân o Số thập lục phân o Số nguyên kiểu INT (2 byte) o Số nguyên kiểu DINT (4 byte) Ban quyen © Truong DH Su pham Ky thuat TP. HCM o Số thực kiểu REAL o Dữ liệu về thời gian o Dữ liệu của bộ đếm, định thời o Dữ liệu kiểu ký tự - Toán hạng là địa chỉ nhớ: Địa chỉ trong bộ nhớ PLC S7-300 gồm 2 phần: phần chữ và phần số. Ví dụ: địa chỉ ngõ vào I0.5 Trong đó: o Phần chữ: chỉ vị trí và kích thước của vùng nhớ. o Phần số: chỉ địa chỉ của vùng nhớ trong miền đã được xác định. - Thanh ghi trạng thái: Khi thực hiện lệnh, CPU sẽ ghi lại trạng thái của phép tính trung gian cũng như ghi lại kết quả vào 1 thanh ghi đặc biệt 16 bit, gọi là thanh ghi trạng thái. Tuy nhiên chỉ có 9 bit thấp của thanh ghi này được sử dụng, có cấu trúc như sau: 8 7 6 5 4 3 2 1 0 BR CC1 CC0 OV OS OR STA RLO FC TRANG - 12 Thu vien DH SPKT TP. HCM -
  18. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Trong đó: o FC (Fisrt Check): khi thực hiện các lệnh logic liên tiếp nhau gồm các phép tính ^ (VÀ), V (HOẶC), ĐẢO thì bit FC=1. Khi kết thúc các lệnh thì FC=0. Ví dụ: A I0.0 // FC=1 AN I1.0 //FC=1 = Q0.0 //FC=0 o RLO (Result of Logic Operation): thể hiện kết quả tức thời của phép tính logic vừa thực hiện. Ví dụ: A I0.0 Nếu trước khi thực hiện bit FC=0 thì có tác dụng chuyển nội dung ngõ vào I0.0 vào bit trạng thái RLO. Còn khi bit FC=1 thì có tác dụng thực hiện phép tính VÀ (RLO ^ I0.0), kết quả được ghi trở lại vào RLO. o STA (Status Bit): bit trạng thái, luôn có giá trị logic của tiếp điểm được chỉ trong lệnh. Ví dụ: cả hai lệnh sau đều gán cho bit STA giá trị của ngõ vào I0.3. Ban quyen © Truong DH Su pham Ky thuat TP. HCM A I0.3 AN I0.3 o OR: ghi lại giá trị của phép tính VÀ cuối cùng được thực hiện để thực hiện phép tính HOẶC (V) sau đó. o OS (Overflow Store bit): ghi giá trị bit bị tràn. o OV (Overflow bit): bit báo kết quả phép tính bị tràn. o CCO và CC1 (Condition Code): hai bit báo trạng thái của kết quả phép tính với số nguyên, số thực, dịch chuyển hoặc phép tính logic trong ACCU. o BR (Binary Result bit): bit trạng thái cho phép liên kết giữa hai ngôn ngữ STL và LAD. Cho phép người lập trình viết một khối chương trình FB hoặc FC bằng STL, nhưng có thể gọi và sử dụng chúng trong chương trình khác viết bằng LAD. Để có mối liên kết này, cần phải kết thúc trong chương trình trong FB, FC bằng lệnh ghi giá trị vào BR: 1 nếu chương trình không có lỗi, 0 nếu chương trình có lỗi. Chú ý: Một chương trình viết bằng STL có thể gồm nhiều network. Mỗi network chứa một đoạn chương trình phục vụ một việc cụ thể. Ở đầu mỗi network , thanh ghi trạng thái TRANG - 13 Thu vien DH SPKT TP. HCM -
  19. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 nhận giá trị 0, chỉ sau khi thực hiện lệnh đầu tiên của network các bit trạng thái mới thay đổi theo phép tính. 1.2 NHÓM LỆNH LOGIC: - Lệnh gán: o STL: Cú pháp = Toán hạng là địa chỉ bit I, Q, M, L, D, T, C. Lệnh gán giá trị logic của RLO tới ô nhớ có địa chỉ được chỉ thị trong toán hạng. Lệnh tác động vào thanh ghi trạng thái như sau: Ký hiệu: (-) Chỉ nội dung bit không bị thay đổi theo lệnh. (x) Chỉ nội dung bit bị thay đổi theo lệnh. o LAD: Ban quyen © Truong DH Su pham Ky thuat TP. HCM = Khi giá trị logic của bit tại bằng 1 thì RLO có giá trị 1. Khi giá trị logic của bit tại bằng 0 thì RLO có giá trị bằng 0. - Lệnh gán có điều kiện giá trị 1: o STL: Cú pháp S Toán hạng là địa chỉ bit I, Q, L, M, D. Nếu RLO=1 lệnh sẽ ghi giá trị 1 váo ô nhớ có địa chỉ trong toán hạng. Lệnh tác động vào thanh ghi trạng thái như sau: TRANG - 14 Thu vien DH SPKT TP. HCM -
  20. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 o LAD: Nếu RLO = 1 thì địa chỉ cụ thể được đặt ở mức 1 và duy trì ở trạng thái này cho đến khi nó bị xóa về 0 bằng lệnh reset. - Lệnh gán có điều kiện giá trị 0: o STL: Cú pháp R Toán hạng là địa chỉ bit I, Q, M, L, D. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Nếu RLO=0, lệnh sẽ ghi giá trị 0 vào ô nhớ có địa chỉ trong toán hạng. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: Nếu RLO = 1 thì địa chỉ cụ thể được đặt ở mức 0 và duy trì ở trạng thái này cho đến khi nó đặt lên 1 bằng lệnh set. - Lệnh AND: o STL: TRANG - 15 Thu vien DH SPKT TP. HCM -
  21. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Cú pháp A Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C. Nếu FC = 0 lệnh sẽ gán giá trị logic của toán hạng vào RLO. Ngược lại khi FC = 1 lệnh sẽ thực hiện phép tính AND RLO với toán hạng và ghi lại kết quả vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Khi giá trị logic hai địa chỉ bằng 1 thì RLO có giá trị 1. Nếu có ít nhất 1 trong 2 ngõ vào xuống mức 0 thì RLO có giá trị bằng 0. - Lệnh AND NOT: o STL: Cú pháp AN Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C. Nếu FC = 0 lệnh sẽ gán giá trị logic nghịch đảo của toán hạng vào RLO. Ngược lại khi FC =1 nó sẽ thực hiện phép tính AND RLO với giá trị nghịch đảo của toán hạng và ghi lại kết quả vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: TRANG - 16 Thu vien DH SPKT TP. HCM -
  22. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 o LAD: Với: - Lệnh OR: o STL: Cú pháp O Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C. Nếu FC = 0 lệnh sẽ gán giá trị logic của toán hạng vào RLO. Nếu FC = 1 nó thực hiện phép tính OR RLO với toán hạng và ghi lại kết quả vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: Ban quyen © Truong DH Su pham Ky thuat TP. HCM o LAD: RLO có giá trị 1 khi có ít nhất một trong hai tín hiệu tại hai địa chỉ ở mức 1. RLO có giá trị 0 khi cả hai tín hiệu ngõ vào đều xuống mức 0. TRANG - 17 Thu vien DH SPKT TP. HCM -
  23. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Lệnh OR NOT: o STL: Cú pháp ON Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ bit I, Q, M, L, D, T, C. Nếu FC=0 lệnh sẽ gán giá trị logic nghịch đảo của toán hạng vào RLO. Nếu FC=1 nó thực hiện phép tính OR RLO với giá trị nghịch đảo của toán hạng và ghi lại kết quả vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: Với: Ban quyen © Truong DH Su pham Ky thuat TP. HCM - Lệnh AND biểu thức: o STL: Cú pháp A( ) Lệnh không có toán hạng. Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO. Nếu FC = 1 nó sẽ thực hiện phép tính AND giữa RLO với giá trị logic của biểu thức trong dấu ngoặc sau nó và ghi lại kết quả vào RLO . Lệnh tác động vào thanh ghi trạng thái như sau: TRANG - 18 Thu vien DH SPKT TP. HCM -
  24. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ví dụ: Thực hiện Q4.0 = (I0.2 v I0.3) ^ (I0.4 v I0.5). A( O I0.2 O I0.3 ) A( O I0.4 O I0.5 ) = Q4.0 o LAD: Ban quyen © Truong DH Su pham Ky thuat TP. HCM - Lệnh OR biểu thức: o STL: Cú pháp O( ) Lệnh không có toán hạng. Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO. Nếu FC = 1 nó sẽ thực hiện phép tính OR giữa RLO với giá trị của biểu thức trong dấu ngoặc sau nó và ghi lại kết quả vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: TRANG - 19 Thu vien DH SPKT TP. HCM -
  25. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ví dụ: Thực hiện Q4.0 = I0.2 v (I0.4 v I0.5) A I0.2 O( AN I0.4 A I0.5 ) = Q4.0 o LAD: 1.3 NHÓM LỆNH TIẾP ĐIỂM ĐẶC BIỆT: - Lệnh ghi giá trị logic 1 vào RLO: o STL: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Cú pháp SET Lệnh không có toán hạng và có tác dụng ghi 1 vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: lệnh không thực hiện. - Lệnh ghi giá trị logic 0 vào RLO: o STL: Cú pháp CLR Lệnh không có toán hạng và có tác dụng ghi 1 vào RLO. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: lệnh không thực hiện. TRANG - 20 Thu vien DH SPKT TP. HCM -
  26. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Lệnh đảo giá trị RLO: o STL: Cú pháp NOT Lệnh không có toán hạng và có tác dụng đảo giá trị RLO. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: - Lệnh phát hiện xung cạnh lên: o STL: Cú pháp FP Ban quyen © Truong DH Su pham Ky thuat TP. HCM Toán hạng là địa chỉ I, Q, M, L, D và được sử dụng như một biến cờ để ghi lại giá trị của RLO tại vị trí này trong chương trình. RLO sẽ có giá trị trong vòng quét khi có sườn lên trong RLO. Lệnh tác động váo thanh ghi trạng thái như sau: o LAD: TRANG - 21 Thu vien DH SPKT TP. HCM -
  27. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Khi RLO thay đổi từ 0 lên 1 kết quả của lệnh kiểm tra FB ở trạng thái 1 trong một vòng quét. Để hệ thống phát hiện được sự thay đổi cạnh lên thì RLO phải được lưu trữ trong 1 bit nhớ FB hoặc bit dữ liệu . Nếu giá trị RLO trước đó lưu trữ trong có giá trị 0 và RLO ở vòng quét hiện tại có giá trị 1 thì kết quả RLO của lệnh có giá trị 1 trong vòng quét. - Lệnh phát hiện xung cạnh xuống: o STL: Cú pháp FN Toán hạng là địa chỉ I, Q, M, L, D và được sử dụng như 1 biến cờ để ghi lại giá trị của RLO tại vị trí này trong chương trình. RLO sẽ có giá trị trong vòng quét khi có sườn xuống trong RLO. Lệnh tác động vào thanh ghi trạng thái như sau: o LAD: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Khi RLO thay đổi từ 1 xuống 0 kết quả của lệnh kiểm tra FB ở trạng thái trong 1 vòng quét. Để hệ thống phát hiện được sự thay đổi cạnh lên thì RLO phải được lưu trữ trong một bit nhớ FB hoặc bit dữ liệu . Nếu giá trị RLO trước đó lưu trữ trong có giá trị 0 và RLO ở vòng quét hiện tại có giá trị 1 thì kết quả RLO của lệnh có giá trị 1 trong vòng quét. TRANG - 22 Thu vien DH SPKT TP. HCM -
  28. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 1.4 NHÓM LỆNH SO SÁNH: - So sánh số nguyên 16 bit: Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 23 Thu vien DH SPKT TP. HCM -
  29. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - So sánh số nguyên 32 bit: Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 24 Thu vien DH SPKT TP. HCM -
  30. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - So sánh số thực: Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 25 Thu vien DH SPKT TP. HCM -
  31. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 1.5 NHÓM LỆNH TOÁN HỌC: - Thực hiện với số nguyên 16 bit: Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 26 Thu vien DH SPKT TP. HCM -
  32. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Thực hiện với số nguyên 32 bit: Ban quyen © Truong DH Su pham Ky thuat TP. HCM - Thực hiện với số thực: TRANG - 27 Thu vien DH SPKT TP. HCM -
  33. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 28 Thu vien DH SPKT TP. HCM -
  34. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 1.6 LỆNH CHUYỂN ĐỔI BCD – SỐ NGUYÊN: Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 29 Thu vien DH SPKT TP. HCM -
  35. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 1.7 LỆNH VỀ TIMER: 1.7.1 Giới thiệu Timer: Bộ thời gian Timer là bộ tạo thời gian trễ T mong muốn giữa tín hiệu logic ngõ vào và tín hiệu logic ngõ ra. S7 300 có 5 loại timer khác nhau. Tất cả 5 loại Timer này cùng bắt đầu tạo thời gian trễ tín hiệu kể từ thời điểm kích của tín hiệu đầu vào, tức là khi tín hiệu đầu vào chuyển trạng thái, được gọi là thời điểm timer được kích. Thời gian trễ T mong muốn được khai báo với timer bằng một word 16 bit bao gồm 2 thành phần: - Độ phân giải: timer của S7 300 có 4 chế độ phân giải: 10ms, 100ms, 1s và 10s. - Một số nguyên BCD trong khoảng 0 ÷ 999 được gọi là PV (reset value _ giá trị đặt trước). Thời gian trễ T mong muốn tính như sau: T = Độ phân giải *PV Ban quyen © Truong DH Su pham Ky thuat TP. HCM Bit 14, 15 không sử dụng. Bit 13, 12 dùng để đặt độ phân giải. Bit 0 đến bit 11 là giá trị PV dưới dạng BCD (0< PV < 999). Ngay tại thời điểm kích timer, giá trị PV được chuyển vào thanh ghi 16 bit của T_word (gọi là thanh ghi CV, viết tắt current value, giá trị tức thời). Timer sẽ ghi nhớ khoảng thời gian trôi qua kể từ khi được kích bằng cách giảm dần một cách tương ứng nội dung thanh ghi CV. Nếu nội dung thanh ghi trở về bằng 0 thì timer đã đạt được thời gian trễ mong muốn T và điều này sẽ được báo ra ngoài bằng cách đổi trạng thái tín hiệu ngõ ra. TRANG - 30 Thu vien DH SPKT TP. HCM -
  36. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 CPU 314 có 128 timer được đánh số từ 0 đến 127. Một timer được đặt tên là Tx, trong đó x là số hiệu của timer (0 ≤ x ≤ 127). Ký hiệu Tx cũng đồng thời là địa chỉ hình thức của thanh ghi CV (T- word) và của đầu ra T-bit của timer đó. Tuy chúng có cùng địa chỉ hình thức, song T-word và T-bit vẫn được phân biệt với nhau nhờ kiểu lệnh sử dụng với toán hạng Tx .Khi dùng lệnh làm việc với từ, Tx được hiểu là địa chỉ của Tword, ngược lại khi sử dụng lệnh làm việc với tiếp điểm Tx sẽ được hiểu là địa chỉ của T-bit. Một timer đang trong chế độ làm việc (sau khi được kích) có thể được đưa về chế độ chờ khởi động ban đầu, tức là chờ sườn lên của tín hiệu đầu vào. Công việc này gọi là reset timer. Tín hiệu reset timer được gọi là tín hiệu xoá và khi tín hiệu xoá có giá trị bằng 1 timer sẽ không làm việc. Tại thời điểm xuất hiện sườn lên của tín hiệu xoá, T_word và T-bit được xoá về 0, tức là thanh ghi CV được đặt về 0 và tín hiệu đầu ra có trạng thái 0. 1.7.2 Khai báo sử dụng Timer: Khai báo sử dụng timer gồm có 5 bước: o Khai báo tín hiệu enable nếu muốn sử dụng tín hiệu chủ động kích. o Khai báo tín hiệu đầu vào. o Khai báo tín hiệu trễ mong muốn. o Khai báo loại timer được sử dụng. Ban quyen © Truong DH Su pham Ky thuat TP. HCM o Khai báo tín hiệu xoá timer nếu muốn. - Khai báo tín hiệu enable: Cú pháp A FR Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu sẽ được sử dụng làm tín hiệu chủ động kích cho timer có tên trong toán hạng thứ hai. - Khai báo tín hiệu đầu vào: Cú pháp A “Địa chỉ bit” trong toán hạng xác định tín hiệu đầu vào cho timer. Ví dụ: A I2.0 FR T1 A I2.1 TRANG - 31 Thu vien DH SPKT TP. HCM -
  37. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Khai báo thời gian trễ mong muốn: Cú pháp L “Hằng số “ trong toán hạng xác định thời gian trễ T đặt trước cho timer. Hằng số này có hai dạng: o Dạng dữ liệu thời gian trực tiếp: S5T#h_m_s_ms L S5T#00h05m20s00ms có thời gian trễ là 5 phút 20 giây. o Dạng khai báo theo độ phân giải: L W#16#2127 có thời gian trễ là 127 giây. - Khai báo loại timer: S7-300 có 5 loại timer được khai báo theo các lệnh: o SD: Timer đóng mạch chậm Cú pháp SD Thời gian giữ trễ được bắt đầu tính từ khi có sườn lên của tín hiệu đầu vào (hoặc khi có sườn lên của tín hiệu enable đồng thời tín hiệu vào bằng 1), tức là ở ngay thời điểm đó giá trị PV (giá trị đặt trước) được chuyển vào thanh ghi T-word (CV giá trị tức thời). BanTrong quyen khoảng © Truong thời DH gian Su trễpham T-bit Ky cóthuat giá TP. trị HCM0. Khi hết thời gian trễ, T-bit có giá trị bằng 1. Như vậy T-bit có giá trị 1 khi T-word = 0 hay CV = 0. Khoảng thời gian trễ chính là khoảng thời gian giữa thời điểm xuất hiện sườn lên của tín hiệu đầu vào và sườn lên của T-bit. Khi tín hiệu vào bằng 0, T-bit và T-word cùng nhận giá trị 0. o SS: Timer đóng mạch chậm có nhớ Cú pháp : SS Thời gian giữ trễ được bắt đầu tính từ khi có sườn lên của tín hiệu đầu vào (hoặc khi có sườn lên của tín hiệu enable đồng thời tín hiệu vào bằng 1), tức là ở ngay thời điểm đó giá trị PV (giá trị đặt trước) được chuyển vào thanh ghi T-word (CV giá trị tức thời). Trong khoảng thời gian trễ T-bit có giá trị 0. Khi hết thời gian trễ, tức là khi T-word = 0, T-bit có giá trị bằng 1. Khoảng thời gian trễ chính là khoảng thời gian giữa thời điểm xuất hiện sườn lên của tín hiệu đầu vào và sườn lên của T-bit. Với bộ timer trễ theo sườn lên có nhớ, thời gian trễ vẫn được tính cho dù lúc đó tín hiệu đầu vào đã về 0. TRANG - 32 Thu vien DH SPKT TP. HCM -
  38. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 o SP: Timer Xung Cú pháp SP Thời gian giữ trễ được bắt đầu tính từ khi có sườn lên của tín hiệu đầu vào (hoặc khi có sườn lên của tín hiệu enable đồng thời tín hiệu vào bằng 1), tức là ở ngay thời điểm đó giá trị PV (giá trị đặt trước) được chuyển vào thanh ghi T-word (CV giá trị tức thời). Trong khoảng thời gian trễ ,tức là khi T-word có giá trị ≠ 0, T-bit có giá trị bằng 1. Ngoài thời gian trễ T-bit có giá trị bằng 0. Nếu chưa hết thời gian trễ mà tín hiệu đầu vào về 0 thì giá trị T-bit và t-word cũng về 0. o SE: Timer giữ độ rộng xung Cú pháp SE Thời gian giữ trễ được bắt đầu tính từ khi có sườn lên của tín hiệu đầu vào (hoặc khi có sườn lên của tín hiệu enable đồng thời tín hiệu vào bằng 1), tức là ở ngay thời điểm đó giá trị PV (giá trị đặt trước) được chuyển vào thanh ghi T-word (CV giá trị tức thời). Trong khoảng thời gian trễ, tức là khi T-word có giá trị ≠ 0, T-bit có giá trị bằng 1. Ngoài thời gian trễ T-bit có giá trị bằng 0. Nếu chưa hết thờiBan gian quyen trễ mà © Truong tín hiệu DH đầu Su phamvào về Ky 0 thuatthì thời TP. gian HCM trễ vẫn được tính tiếp tục, tức là T-bit và T-word không về 0 theo tín hiệu đầu vào. o SF: Timer mở mạch chậm Cú pháp SF Thời gian giữ trễ được bắt đầu tính từ khi có sườn lên của tín hiệu đầu vào (hoặc khi có sườn lên của tín hiệu enable đồng thời tín hiệu vào bằng 1), tức là ở ngay thời điểm đó giá trị PV (giá trị đặt trước) được chuyển vào thanh ghi T-word (CV giá trị tức thời). Trong khoảng thời gian trễ, tức là khi T-word có giá trị ≠ 0, T-bit có giá trị bằng 1. Ngoài thời gian trễ T-bit có giá trị bằng 0. - Khai báo tín hiệu xóa (reset) Cú pháp A R Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu sẽ được sử dụng làm tín hiệu chủ động xóa cho timer có tên trong toán hạng thứ hai. Khi tín hiệu xóa bằng 1, T-word (thanh ghi CV) và T-bit cùng đồng thời được đưa về 0. Nếu tín hiệu xóa bằng 0, timer sẽ chờ được kích lại. TRANG - 33 Thu vien DH SPKT TP. HCM -
  39. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 1.7.3 Khai báo Timer trong LAD và FBD: - Timer đóng mạch chậm (SD): Bảng khai báo thông số Timer đóng chậm: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Giản đồ thời gian Timer đóng chậm: Khởi động: Timer khởi động khi RLO tại ngõ vào S thay đổi từ 0 lên 1. Timer bắt đầu chạy với giá trị thời gian rõ ràng đặt tại ngõ vào TV miễn là trạng thái ngõ vào S =1. Xoá: Khi RLO reset ngõ vào “R” là 1, thì giá trị thời gian hiện hành và độ phân giải bị xoá và ngõ ra Q ở trạng thái Reset. TRANG - 34 Thu vien DH SPKT TP. HCM -
  40. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ngõ ra digital: Giá trị thời gian hiện hành có thể đọc như một số nhị phân tại ngõ ra BI và BCD. Giá trị thời gian hiện hành là giá trị ban đầu của TV trừ đi giá trị thời gian đã hoạt động của timer, tính từ khi timer được khởi động. Ngõ ra Binary: Tín hiệu tại ngõ ra “Q” là “1”, sau khi timer đã chạy hết, không có lỗi và ngõ vào “S” có tín hiệu ở trạng thái “1”. Khi timer đang hoạt động, nếu tín hiệu ở ngõ vào “S” thay đổi từ “1” xuống “0”, thì timer ngưng hoạt động. Trong trường hợp này ngõ ra Q có trạng thái tín hiệu 0. - Timer đóng mạch chậm có nhớ (SS): Với các thông số, kiểu dữ liệu và toán hạng khai báo giống như dang LAD và FBD của timer đóng mạch chậm (SD). Ban quyen © Truong DH Su pham Ky thuat TP. HCM Giản đồ thời gian Timer đóng chậm có nhớ: Khởi động: Timer khởi động khi RLO ở ngõ vào S thay đổ từ 0 đến 1. Timer bắt đầu hoạt động với giá trị thời gian xác định rõ ràng tại ngã vào TV và tiếp tục hoạt động thậm chí nếu tín hiệu ngõ vào S thay đổi thành 0 trong suốt thời gian đó. Nếu tín hiệu tại ngõ vào S thay đổi từ 0 đến 1 trong khi timer đang hoạt động, thì timer sẽ khởi động mới lại. Reset: Khi RLO tại ngõ vào R là 1 thì giá trị thời gian hiện hành và độ phân giải bị xoá và ngõ ra Q ở trạng thái Reset. TRANG - 35 Thu vien DH SPKT TP. HCM -
  41. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ngõ ra nhị phân: Trạng thái tín hiệu ngõ ra Q là 1 sau khi timer đã hoạt động không bị lỗi, thì không cần chú ý đến trạng thái tín hiệu ngõ vào S là 1 hay 0. - Timer mở mạch chậm (OFF Delay, SF): Giản đồ thời gian của Timer mở chậm: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Khởi động: Timer khởi động khi RLO ở ngõ vào “S” thay đổi từ “1” đến “0”. Sau khi timer đã hoạt động xong, thì ngõ ra Q sẽ chuyển đổi về “0”. Nếu trạng thái tín hiệu ngõ vào “S” thay đổi từ 0 đến 1 trong khi timer đang hoạt động, thì timer sẽ dừng và thời gian kế tiếp trạng thái tín hiệu của S thay đổi từ 1 thành 0 nó sẽ bắt đầu lại từ đầu. Reset : Khi RLO ngõ vào R là 1 thì giá trị thời gian hiện hành và độ phân giải bị xoá và ngõ ra Q bị reset. Nếu cả hai ngõ vào (S và R ) có cùng trạng thái tín hiệu 1, thì ngõ ra Q không được set cho đến khi ngõ reset trở về 0. Ngõ ra nhị phân: Ngõ ra Q được kích hoạt khi RLO tại ngõ vào S thay đổi từ 0 dến 1. Nếu ngõ vào S không được kích hoạt thì ngõ ra Q vẫn có trạng thái tín hiệu 1 cho đến khi thời gian lập trình được hoàn thành. TRANG - 36 Thu vien DH SPKT TP. HCM -
  42. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Timer Xung (Pulse, SP): Giản đồ thời gian của Timer xung: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Khởi động: Timer khởi động khi RLO tại ngõ vào S thay đổi từ 0 đến 1. Ngõ ra Q cũng đặt thành 1. Reset: Ngõ ra Q bị reset khi: Timer đã hoạt động xong, hoặc Tín hiệu start chuyển đổi từ 1 đến 0, hoặc Ngõ vào reset R có trạng thái tín hiệu 1. - Timer giữ độ rộng xung (SE): TRANG - 37 Thu vien DH SPKT TP. HCM -
  43. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Giản đồ thời gian Timer giữ độ rộng xung: Khởi động : Timer hoạt động khi RLO tại ngõ vào S thay đổi từ 0 đến 1. Ngõ ra Q cũng được set thành 1. Trạng thái tín hiệu ngõ ra Q cũng vẫn là 1, mặc dù tín hiệu ngõ vào S thay đổi thành 0. Nếu tín hiệu ngõ vào start lại thay đổi từ 0 đến 1 trong khi timer đang hoạt động, thì timer sẽ khởi động lại. Reset: Ngõ ra Q bị reset khi: Timer đã hoạt động xong, hoặc Ngõ vào reset R có trạng thái tín hiệu 1. 1.7.4 Sử dụng Timer theoBan quyen lệnh bit:© Truong DH Su pham Ky thuat TP. HCM Tất cả những chức năng timer cũng có thể đựơc khởi động với những lệnh bit đơn giản. Sự giống nhau và khác nhau giữa phương pháp và những chức năng timer được đưa ra như sau: - Giống nhau: o Điều kiện khởi động ngõ vào S. o Đặt trước giá trị thời gian. o Điều kiện reset ngõ vào R . o Đáp ứng tín hiệu tại ngõ ra Q. - Khác nhau (trong LAD và FBD) Không có khả năng kiểm tra giá trị hiện hành, không có ngõ ra BI và BCD. TRANG - 38 Thu vien DH SPKT TP. HCM -
  44. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ví dụ: - Dạng LAD: - Dạng FBD: Ban quyen © Truong DH Su pham Ky thuat TP. HCM TRANG - 39 Thu vien DH SPKT TP. HCM -
  45. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Dạng STL: Network 1: A I0.0 L S5T#5S SD T4 Netwok 2: A T4 = Q8.0 Network 3: A I0.1 R T4 Timer T4 sẽ được kích nếu I0.0 lên mức 1. Sau 5s, T4 đóng làm Q8.0 lên mức 1. Timer được reset nếu I0.1 lên mức 1. 1.8 LỆNH VỀ COUNTER: 1.8.1 Giới thiệu Counter: Counter là bộ đếm thựcBan hiện quyen chức © Truong năng đếmDH Su sườn pham xung Ky thuatcủa các TP. tínHCM hiệu đầu vào. S7- 300 có tối đa 256 counter (tuỳ loại CPU), ký hiệu Cx, trong đó x là số nguyên trong khoảng từ 0 đến 255. Những bộ đếm của S7-300 đều có thể đồng thời đếm tiến theo sườn lên của một tín hiệu vào thứ nhất, được ký hiệu là CU (count up) và đếm tiến theo sườn lên của tín hiệu vào thứ hai, ký hiệu CD (count down). Thông thường bộ đếm chỉ các sườn lên của tín hiệu CU và CD, song cũng có thể được mở rộng để đếm cả mức tín hiệu của chúng bằng cách sử dụng thêm tín hiệu enable. Nếu có tín hiệu enable, bộ đếm sẽ đếm tiến khi xuất hiện sườn lên của tín hiệu enable đống thời tại thời điểm CU có mức tín hiệu 1. Tương tự bộ đếm sẽ đếm lùi khi có sườn lên của tín hiệu enable và tại thời điểm CD có mức tín hiệu 1. Số sườn xung đếm được ghi vào thanh ghi 2 byte của bộ đếm, gọi là thanh ghi C word. Nội dung của C-Word được gọi là giá trị đếm tức thời của bộ đếm và ký hiệu bằng CV (current value). Bộ đếm báo trạng thái của C-Word ra ngoài thông qua chân C-bit của nó. Nếu CV ≠ 0, C-Bit có giá trị 1. Ngược lại khi CV = 0 C-bit nhận giá trị 0. CV luôn là 1 giá trị không âm. Bộ đếm sẽ không đếm lùi khi CV = 0. Khác với timer, giá trị đặt trước PV của bộ đếm chỉ được chuyển vào C-Word tại thời điểm xuất hiện sườn lên của tín hiệu đặt (set S). Bộ đếm có thể được xoá chủ động bằng tín hiệu xóa (reset). Khi bộ đếm được xóa, cả C-Word và C-bit đều nhận giá trị 0. TRANG - 40 Thu vien DH SPKT TP. HCM -
  46. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 1.8.2 Khai báo sử dụng Counter: Sử dụng Counter cần khai báo các thông số sau: o Khai báo tín hiệu enable nếu muốn sử dụng tín hiệu chủ động kích đếm. o Khai báo tín hiệu đầu vào CU được đếm lên. o Khai báo tín hiệu đầu vào CD được đếm xuông. o Khai báo tín hiệu đặt set và giá trị đặt trước PV. o Khai báo tín hiệu xóa reset. - Khai báo tín hiệu enable: Cú pháp A FR Toán hạng thứ nhất “Địa chỉ bit" xác định tín hiệu sẽ được sử dụng làm tín hiệu kích đếm cho bộ đếm có tên trong toán hạng thứ hai. Tên của bộ đếm có dạng Cx, với 0≤ x≤ 255. - Khai báo tín hiệu đầu vào CU: Cú pháp A CU quyen © Truong DH Su pham Ky thuat TP. HCM Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu mà sườn lên của nó được bộ đếm với tên cho trong toán hạng thứ hai đếm tiến. Mỗi khi xuất hiện một sườn lên của tín hiệu, bộ đếm sẽ tăng nội dung thanh ghi Cword (CV) lên 1 đơn vị. - Khai báo tín hiệu đầu vào CD: Cú pháp A CD Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu mà sườn lên của nó được bộ đếm với tên cho trong toán hạng thứ hai đếm lùi. Mỗi khi xuất hiện mốt sườn lên của tín hiệu, bộ đếm sẽ giảm nội dung thanh ghi Cword (CV) xuống 1 đơn vị. - Khai báo tín hiệu đặt SET: Cú pháp A L C# S TRANG - 41 Thu vien DH SPKT TP. HCM -
  47. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu mỗi khi xuất hiện sườn. Hằng số cho trong lệnh thứ hai dưới dạng BCD sẽ được chuyển vào thanh ghi C_word của bộ đếm có tên trong toán hạng thứ 3. - Khai báo tín hiệu đặt RESET: Cú pháp A R Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu mỗi khi xuất hiện sườn lên. Thanh ghi C-word của bộ đếm có tên trong toán hạng thứ hai sẽ được xóa về 0. 1.8.3 Khai báo counter trong LAD và FBD: - Counter đếm lên: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Bảng khai báo các thông số của Counter: Đếm lên: Khi RLO tại ngõ vào CU thay đổi từ 0 đến 1 giá trị đếm hiện hành tăng lên 1. ( tối đa = 999). Set bộ đếm: Khi RLO tại ngõ vào S thay đổi từ 0 lên 1 bộ đếm được đặt với giá trị tại ngõ vào PV. TRANG - 42 Thu vien DH SPKT TP. HCM -
  48. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Reset bộ đếm: Khi RLO =1 counter được đặt về 0. Khi điều kiện reset được thoả mãn thì counter không thể đặt và không thể đếm. PV: Giá trị đặt trước từ (0 999) được xác định tại ngõ vào PV ở dạng BCD, PV là hằng số đếm (C# ) qua giao tiếp dữ liệu dạng mã BCD. CV/CV-BCD: Giá trị counter có thể là một số nhị phân hoặc số BCD được nạp vào ô tích luỹ và từ đó chuyển tới các địa chỉ khác. Q: Tình trạng tín hiệu của counter có thể kiểm tra tại ngõ ra Q. Giá trị đếm bằng 0 suy ra Q = 0. Giá trị đếm khác 0 suy ra Q = 1. - Counter đếm xuống: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Đếm xuống: Khi RLO tại ngõ vào CD thay đổi từ 0 lên 1 giá trị đếm hiện hành giảm xuống 1 ( tối thiểu bằng 0). Set bộ đếm: Khi RLO tại ngõ vào S thay đổi từ 0 lên 1 bộ đếm được đặt với giá trị tại ngõ vào CV. Reset bộ đếm: Khi RLO =1 counter được đặt về 0. Khi điều kiện reset được thoả mãn thì counter không thể đặt và không thể đếm. PV: Giá trị đặt trước từ (0 999) được xác định tại ngõ vào PV ở dạng BCD. CV/CV-BCD: Giá trị counter có thể là một số nhị phân hoặc số BCD được nạp vào ô tích luỹ và từ đó chuyển tới các địa chỉ khác. Q: Tình trạng tín hiệu của counter có thể kiểm tra tại ngõ ra Q Giá trị đếm bằng 0 suy ra Q = 0. Giá trị đếm khác 0 suy ra Q = 1 TRANG - 43 Thu vien DH SPKT TP. HCM -
  49. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Counter đếm lên/xuống: Giá trị đếm: Mỗi một bộ đếm chiếm một word 16 bit trong vùng nhớ dữ liệu hệ thống, dùng lưu trữ giá trị đếm cho counter từ (0 999) trong mã nhị phân. Đếm lên: Khi RLO tại ngõ vào CU thay đổi từ 0 đến 1 giá trị đếm hiện hành tăng lên 1, max = 999. Đếm xuống: Khi RLO tại ngõ vào CD thay đổi từ 0 lên 1 giá trị đếm hiện hành giảm xuống 1, min=0. Set bộ đếm: Khi RLO tại ngõ vào S thay đổi từ 0 lên 1 bộ đếm được đặt với giá trị tại ngõ vào CV.Ban quyen © Truong DH Su pham Ky thuat TP. HCM Reset bộ đếm: Khi RLO =1 counter được đặt về 0. Khi điều kiện reset được thoả mãn thì counter không thể đặt và không thể đếm. PV: Giá trị đặt trước từ (0 999) được xác định tại ngõ vào PV ở dạng BCD. Giá trị đặt vào PV là hằng số đếm (C# ) qua giao tiếp dữ liệu dạng mã BCD. CV/CV-BCD: Giá trị counter có thể là một số nhị phân hoặc số BCD được nạp vào ô tích luỹ và từ đó chuyển tới các địa chỉ khác. Ngõ ra Q : Tình trạng tín hiệu của counter có thể kiểm tra tại ngõ ra Q. Giá trị đếm bằng 0 suy ra Q = 0. Giá trị đếm khác 0 suy ra Q = 1. Các loại bộ đếm: o S_CU Bộ đếm lên ( chỉ đếm lên). o S_CD Bộ đếm xuống (chỉ đếm xuống). o S_CUD Bộ đếm lên /đếm xuống. TRANG - 44 Thu vien DH SPKT TP. HCM -
  50. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 - Giản đồ thời gian của Counter: 1.8.4 Sử dụng Counter theo lệnh bit: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Tất cả những chức năng của counter cũng có thể thực hiện với những câu lệnh bit đơn giản. Sự giống nhau và khác nhau giữa phương pháp này và những chức năng counter được đưa ra trong các phần trên như sau: - Giống nhau: o Điều kiện set ở ngõ vào SC. o Giá trị đặt trước của bộ đếm. o RLO thay đổi ngõ vào CU. o RLO thay đổi ngõ vào CD. - Khác nhau: o Không có khả năng kiểm tra giá trị đếm hiện hành. o Ngõ ra nhị phân Q không thể hiện được bằng biểu đồ. TRANG - 45 Thu vien DH SPKT TP. HCM -
  51. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 2 Ví dụ sau minh họa chương trình điều khiển counter theo bit. - Dạng LAD: - Dạng FBD: Ban quyen © Truong DH Su pham Ky thuat TP. HCM - Dạng STL: TRANG - 46 Thu vien DH SPKT TP. HCM -
  52. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 CHƯƠNG 3: MẠNG PROFIBUS - DP 3.1 TỔNG QUAN: 3.1.1 Công nghệ Profibus: PROFIBUS là một bus trường chuẩn mở rộng, không phụ thuộc vào nhà sản xuất dùng cho các ứng dụng trong tự động hoá và xử lí. Sự độc lập và tính mở rộng được đảm bảo theo tiêu chuẩn quốc tế EN 50170 và EN 50254. PROFIBUS cho phép truyền thông giữa các thiết bị của các nhà sản xuất khác nhau không đòi hỏi giao tiếp đặc biệt. PROFIBUS không những sử dụng cho các ứng dụng nhanh theo chu kỳ mà còn cho các nhiệm vụ truyền thông đặc biệt khác. PROFIBUS định nghĩa 3 loại giao thức là PROFIBUS-FMS, PROFIBUS-DP, PROFIBUS-PA - PROFIBUS-FMS là giao thức nguyên bản của PROFIBUS, được dùng chủ yếu cho việc giao tiếp giữa các máy tính điều khiển và điều khiển giám sát. - PROFIBUS- DP được xây dựng tối ưu cho việc kết nối các thiết bị vào ra phân tán và các thiết bị trường với các máy tính điều khiển. - PROFIBUS –PA là kiểu đặc biệt được sử dụng ghép nối trực tiếp các thiết bị trường trong các lĩnh vực tự động hóa các quá trình có môi trường dễ cháy nổ, đặc biệt trong công nghiệp chế biến. Thực chất PROFIBUS- PA chính là sự mở rộng PROFIBUSBan –DP quyen xuống © Truong cấp trường DH Su cho pham lĩnh Ky vực thuat công TP. nghiệpHCM chế biến. 5.1.2 Kiến trúc giao thức PROFIBUS chỉ thực hiện các lớp 1, 2, 7 theo mô hình qui chiếu OSI. Tuy nhiên PROFIBUS DP và PA bỏ qua cả lớp 7 nhằm tối ưu hóa việc trao đổi dữ liệu quá trình giữa cấp điều khiển và cấp chấp hành. Một số chức năng còn thiếu được bổ sung qua lớp giao diện sử dụng nằm trên lớp 7. Bên cạnh các hàm dịch vụ DP cơ sở và mở rộng được qui định tại lớp giao diện sử dụng, hiệp hội PI còn đưa ra một số qui định chuyên biệt về đặc tính và chức năng đặc thù của thiết bị cho một số ứng dụng tiêu biểu. Các đặc tả này nhằm mục đích tạo khả năng tương tác và thay thế lẫn nhau của thiết bị từ nhiều nhà sản xuất. Cả 3 giao thhức FMS, DP, PA điều có chung lớp liên kết dữ liệu. Hình vẽ sau minh họa kiến trúc giao thức của Profibus. TRANG - 47 Thu vien DH SPKT TP. HCM -
  53. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 PROFIBUS-FMS PROFIBUS- DP PROFIBUS-PA Giao diện sử dụng FMS Profiles DP- Profiles PA- Profiles Các chức năng DP mở rộng Các chức năng DP cơ sở Lớp 7 Field Message Specìication Không thể hiện (FMS) Lớp 3-6 Không thể hiện Lớp 2 Fieldbus Data Link ( FDL) Lớp 1 RS- 485/RS-485IS/ Cáp quang MBP(IEC 1158-2) Hình 3.1: Kiến trúc giao thức của Profibus - Lớp ứng dụng của FMS bao gồm hai lớp con là FMS (Fieldbus Message Specification) và LLI (Lower layer Interface). Lớp FMS đảm nhận việc xử lí giao thức sử dụng và cung cấp các nhiệm vụ truyền thông, trong khi LLI có vai trò trung gian choBan FMS quyen kết © Truongnối với DH lớp Su 2 pham mà không Ky thuat phụ TP. thuộc HCM vào các thiết bị riêng biệt. Lớp LLI còn có các nhiệm vụ bình thường thuộc các lớp 3, 6, ví dụ tạo và ngắt nối, kiểm soát lưu thông. - Lớp vật lí của PROFIBUS qui định về kỹ thuật truyền dẫn tín hiệu, môi trường truyền dẫn, cấu trúc mạng và các giao diện cơ học. - Lớp liên kết dữ liệu ở PROFIBUS được gọi là FDL( Field Data Link), có chức năng kiểm soát truy nhập Bus, cung cấp các dịch vụ cơ bản( cấp thấp) cho việc trao đổi dữ liệu một cách tin cậy, không phụ thuộc vào phương pháp truyền dẫn ở lớp vật lí. 3.1.2 Kỹ thuật truyền: - Truyền dẫn với RS-485. - Truyền dẫn với RS-485IS. - Truyền dẫn với cáp quang. - Truyền dẫn với MBP. 3.1.3 Truy nhập Bus: PROFIBUS phân biệt hai loại thiết bị chính là trạm chủ(master) và trạm tớ(Slave). Các trạm chủ có khả năng kiểm soát truyền thông trên bus. Một trạm chủ có thể gửi thông tin khi nó giữ quyền truy nhập bus. Các trạm tớ chỉ được truy nhập bus khi có yêu cầu TRANG - 48 Thu vien DH SPKT TP. HCM -
  54. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 của trạm chủ. Một trạm tớ phải thực hiện ít dịch vụ hơn, tức xử lí giao thức đơn giản hơn so với các trạm chủ. Hai phương pháp truy nhập bus có thể áp dụng độc lập hay kết hợp là Token-passing và Master/Slave. Nếu áp dụng độc lập, Token- passing thích hợp với các mạng FMS dùng ghép nối các thiết bị điều khiển và máy tính giám sát đẳng quyền, trong khi Master/Slave thích hợp với việc trao đổi dữ liệu giữa một thiết bị điều khiển với các thiết bị trường cấp dưới sử dụng mạng DP hoặc PA. Khi sử dụng kết hợp (Hình 5.2) nhiều trạm chủ có thể tham gia giữ Token. Một trạm chủ giữ Token sẽ đóng vai trò là chủ để kiểm soát giao tiếp với các trạm tớ nó quản lí, hoặc có thể tự do giao tiếp các trạm chủ khác trong mạng. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.2: Cấu hình Multi- Master trong Profibus Cấu hình truy nhập bus kết hợp giữa Token-passing và Master/slave còn được gọi là nhiều chủ ( Multi- Master). 3.1.4 Dịch vụ truyền dữ liệu: Các dịch vụ truyền dữ liệu thuộc lớp 2 trong mô hình OSI hay còn gọi là lớp FDL (Fieldbus Data Link) chung cho cả FMS, DP, PA. PROFIBUS chuẩn hóa bốn dịch vụ trao đổi dữ liệu, trong đó ba thuộc phạm trù dịch vụ không tuần hoàn và một thuộc phạm trù tuần hoàn. SDN( Send Data with No Acknowledge): Gửi dữ liệu không xác nhận. SDA( Send Data with Acknowledge): Gửi dữ liệu với xác nhận. SRD( Send and Request Data with Reply): Gửi và yêu cầu dữ liệu. CSRD( Cyclic Send and Request Data with Reply): Gửi và yêu cầu dữ liệu tuần hoàn. TRANG - 49 Thu vien DH SPKT TP. HCM -
  55. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Hình thức thực hiện các dịch vụ này được minh họa trên hình 3.3. Các dịch vụ không tuần hoàn thường được sử dụng để truyền các dữ liệu có tính chất bất thường, ví dụ các thông báo sự kiện, trạng thái vá đặt chế độ làm việc, vì vậy còn được gọi là các dịch vụ thông báo. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.3: Các dịch vụ truyền dữ liệu Profibus 3.1.5 Cấu trúc bức điện: Một bức điện (telegram) trong giao thức thuộc lớp 2 của PROFIBUS gọi là khung (frame). Ba loại khung có khoảng cách Hamming là 4 và một loại khung đặc biệt đánh dấu một Token được qui định như sau: Khung với chiều dài thông tin cố định, không mang dữ liệu: SD1 DA SA FC FCS ED Khung với chiều dài thông tin cố định, mang 8 byte dữ liệu: SD3 DA SA FC DU FCS ED Khung với chiều dài thông tin khác nhau, với 1-246 byte dữ liệu: SD2 LE LEr SD2 DA SA FC DU FCS ED Token: SD4 DA SA TRANG - 50 Thu vien DH SPKT TP. HCM -
  56. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Các ô DA, SA, FC và DU (nếu có) được coi là phần mang thông tin. Trừ ô DU, mỗi ô còn lại trong một bức điện điều có chiều dài 8 bit( tức một kí tự) với các ý nghĩa cụ thể như sau. Kí hiệu Tên đầy đủ Ý nghĩa SD1 Start Delimiter Byte khởi đầu , phân biệt giữa các loại SD4 khung: SD1= 10H, SD2=68H, SD3= A2H, SD4=DCH LE Length Chiều dài thông tin( 4-249 byte) LEr Length repeated Chiều dài thông tin nhắc lại vì í do an toàn DA Destination Adress Địa chỉ đích( trạm nhận), từ 0-127 SA Source Adress Địa chỉ nguồn( trạm gửi), từ 0-126 DU Data Unit Khối dữ liệu sử dụng FC Frame Control Byte điều khiển khung FCS Frame Check Byte kiểm soát lỗi, HD=4 Sequence ED End Delimiter Byte kết thúc, ED=16H Ban quyen © Truong DH Su pham Ky thuat TP. HCM Byte điều khiển khung ( FC) dùng để phân biệt các kiểu bức điện, ví dụ bức điện gửi hay yêu cầu dữ liệu ( Send or/and Request) cũng như xác nhận hay đáp ứng ( Acknowledgement/ Response). Bên cạnh đó, byte FC còn chứa thông tin về việc thực hiện hàm truyền, kiểm soát lưu thông để tránh việc mất mát hoặc gửi đúp dữ liệu cũng như thông tin kiểm trạm, trạng thái FDL. Trong trường hợp gửi dữ liệu với xác nhận ( SDA) , bên nhận có thể dùng một kí tự duy nhất SC=E5H để xác nhận. Kí tự duy nhất SC này cũng được sử dụng để trả lời yêu cầu dữ liệu( SRD) trong trường hợp bên được yêu cầu không có dữ liệu đáp ứng. 3.2 PROFIBUS – DP: PROFIBUS-DP được phát triển nhằm đáp ứng các yêu cầu cao về tính năng thời gian trong trao đổi dữ liệu dưới cấp trường, ví dụ giữa thiết bị điều khiển khả trình hoăc máy tính cá nhân công nghiệp với các thiết bị trường phân tán như I/O, các thiết bị đo, truyền động và van. Việc trao đổi dữ liệu ở đây chủ yếu thực hiện tuần hoàn theo cơ chế chủ/ tớ. Các dịch vụ truyền thông cần thiết được định nghĩa qua các chức năng DP cơ sở theo chuẩn EN 50 170. Bên cạnh đó, DP còn hổ trợ các dịch vụ truyền thông không tuần hoàn, phục vụ tham số hóa, vận hành và chuẩn đoán các thiết bị trường thông minh. Đối chiếu với mô hình OSI, PROFIBUS- DP chỉ thực hiện các lớp 1 và 2 vì lí do hiệu xuất xử lí giao thức và tính năng thời gian. Tuy nhiên DP định nghĩa phía trên lớp 7 TRANG - 51 Thu vien DH SPKT TP. HCM -
  57. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 một lớp ánh xạ liên kết với lớp 2 gọi là DDLM (Diret Data Link Mapper) cũng như một lớp giao diện sử dụng (User Interface Layer) chứa các hàm DP cơ sở và các hàm DP mở rộng. Trong khi các hàm DP cơ sở chủ yếu phục vụ trao đổi dữ liệu tuần hoàn, thời gian thực, các hàm DP mở rộng cung cấp các dịch vụ trao đổi dữ liệu không tuần hoàn như tham số thiết bị, chế độ vận hành và thông tin chuẩn đoán. 3.2.1 Cấu hình hệ thống và kiểu thiết bị: PROFIBUS-DP cho phép sử dụng cấu hình một trạm chủ (Mono-Master) hoặc nhiều trạm chủ (Multi-Master). Cấu hình hệ thống định nghĩa số trạm, gán các địa chỉ trạm cho các địa chỉ vào/ra, tính nhất quán dữ liệu vào/ra, khuôn dạng các thông báo chẩn đoán và các tham số bus sử dụng. Trong cấu hình nhiều chủ, tất cả các trạm chủ đều có thể đọc dữ liệu đầu vào/ra của các trạm tớ. Tuy nhiên, duy nhất một trạm chủ được quyền ghi dữ liệu đầu ra. Tuỳ theo phạm vi chức năng, kiểu dịch vụ thực hiện, người ta phân biệt các kiểu thiết bị DP như sau: - Trạm chủ DP cấp 1 (DP-Master Class 1, DPM1): Các thiết bị thuộc kiểu này trao đổi dữ liệu với các trạm tớ theo một chu trình được quy định. Thông thường, đó là các bộ điều khiển trung tâm, ví dụ PLC hoặc PC, hoặc các Module thuộc bộ điều khiển trung tâm. - Trạm chủ DP cấp 2 (DP-Master Class 2, DPM2): Các máy lập trình, công cụ cấu hình và vận hành,Ban chẩn quyen đoán © Truong hệ thống DH Subus. pham Bên Ky cạnh thuat các TP. dịch HCM vụ của cấp 1, các thiết bị này còn cung cấp các hàm đặc biệt phục vụ đặt cấu hình hệ thống, chẩn đoán trạng thái, truyền nạp chương trình, v.v - Trạm tớ DP (DP-Slave): Các thiết bị tớ không có vai trò kiểm soát truy nhập bus, vì vậy chỉ cần thực hiện một phần nhỏ các dịch vụ so với một trạm chủ. Thông thường, đó là các thiết bị vào/ra hoặc các thiết bị trường (Truyền động, HMI, van, cảm biến) hoặc các bộ điều khiển phân tán. Một bộ điều khiển PLC (với các vào/ra tập trung) cũng có thể đóng vai trò là một trạm tớ thông minh. Trong thực tế, một thiết bị có thể thuộc một kiểu riêng biệt nói trên, hoặc phối hợp chức năng của hai kiểu. Ví dụ, một thiết bị có thể phối hợp chức năng của DPM1 với DPM2, hoặc trạm tớ với DPM1. Việc đặt cấu hình hệ thống được thực hiện bằng các công cụ (phần mềm). Thông thường, một công cụ cấu hình cho phép người sử dụng bổ sung và tham số hoá nhiều loại thiết bị của cùng một nhà sản xuất một cách tương đối đơn giản, bởi các thông tin tính năng cần thiết của các thíêt bị này đã được đưa vào cơ sở dữ liệu của công cụ cấu hình. Còn với thiết bị của các hãng khác, công cụ cấu hình đòi hỏi tập tin mô tả đi kèm, gọi là tập tin GSD (Gerate-stammdaten). TRANG - 52 Thu vien DH SPKT TP. HCM -
  58. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 3.2.2 Đặc tính vận hành hệ thống: Chuẩn DP mô tả chi tiết đặc tính vận hành hệ thống để đảm bảo tính tương thích và khả năng thay thế lẫn nhau của các thiết bị. Trước hết, đặc tính vận hành của hệ thống được xác định qua các trạng thái hoạt động của các thiết bị chủ: - STOP: Không truyền dữ liệu sử dụng trạm chủ và trạm tớ, chỉ có thể chẩn đoán và tham số hoá. - CLEAR: Trạm chủ đọc thông tin đầu vào từ các trạm tớ và giữ các đầu ra ở giá trị an toàn. - OPERATE: Trạm chủ ở chế độ trao đổi dữ liệu đầu vào và đầu ra tuần hoàn với các trạm tớ . Trạm chủ cũng thường xuyên gửi thông tin trạng thái của nó tới các trạm tớ sử dụng lệnh gửi đồng loạt vào các khoảng thời gian đặt trước. Các hàm DP cơ sở cho phép đặt trạng thái làm việc cho hệ thống. Phản ứng của hệ thống đối với một lỗi xảy ra trong quá trình truyền dữ liệu của trạm chủ (ví dụ khi một trạm tớ có sự cố) được xác định bằng tham số cấu hình “auto-clear”. Nếu tham số này được chọn đặt, trạm chủ sẽ đặt đầu ra cho tất cả các trạm tớ của nó về trạng thái an toàn trong trường hợp một trạm tớ có sự cố, sau đó trạm chủ sẽ tự chuyển về trạng thái CLEAR. Nếu tham số này không được đặt, trạm chủ sẽ vẫn tiếp tục giữ ở trạng thái OPERATE. 3.2.3 Trao đổi dữ liệuBan giữaquyen Master © Truong và DH Slave: Su pham Ky thuat TP. HCM Trao đổi dữ liệu giữa trạm chủ và các trạm tớ gán cho nó được thực hiện tự động theo một trình tự quy định sẵn. Khi đặt cấu hình hệ thống bus, người sử dụng định nghĩa các trạm tớ cho một thiết bị DPM1, quy định các trạm tớ tham gia và các trạm tớ không tham gia trao đổi dữ liệu tuần hoàn. Trước khi thực hiện trao đổi dữ liệu tuần hoàn, trạm chủ chuyển thông tin cấu hình và các tham số đã được đặt xuống các trạm tớ. Mỗi trạm tớ sẽ kiểm tra các thông tin về kiểu thiết bị, khuôn dạng và chiều dài dữ liệu, số lượng các đầu vào/ra. Chỉ khi thông tin cấu hình đúng với cấu hình thực của thiết bị và các tham số hợp lệ thì bắt đầu thực hiện trao đổi dữ liệu tuần hoàn với trạm chủ. Trong mỗi chu kỳ, trạm chủ đọc các thông tin đầu vào lần lượt từ các trạm tớ lên bộ nhớ đệm cũng như đưa các thông tin đầu ra từ bộ nhớ đệm xuống lần lượt các trạm tớ theo một trình tự quy định sẵn trong danh sách (polling list). Mỗi trạm tớ cho phép truyền tối đa 246 Byte dữ liệu đầu vào và 246 Byte dữ liệu đầu ra. Với mỗi trạm tớ, trạm chủ gửi một khung yêu cầu và chờ đợi một khung đáp ứng (bức điện trả lời hoặc xác nhận). Thời gian trạm chủ cần để xử lý một lượt danh sách hỏi tuần tự chính là chu kỳ bus. Đương nhiên, chu kỳ bus phải nhỏ hơn chu kỳ vòng quét của chương trình điểu khiển. Thực tế, thời gian cần thiết để truyền 512 bit dữ liệu đầu vào và 512 bit dữ liệu đầu ra với 32 trạm và với tốc độ truyền 12Mbit/s nhỏ hơn 2ms. TRANG - 53 Thu vien DH SPKT TP. HCM -
  59. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 yêu cầu Dữ liệu đầu ra Dữ liệu đầu ra Slave 1 đáp ứng Slave 1 Dữ liệu đầu vào Dữ liệu đầu vào Dữ liệu đầu ra Slave 2 Dữ liệu đầu vào yêu cầu Dữ liệu đầu ra Dữ liệu đầu ra Slave n đáp ứng Slave n Dữ liệu đầu vào Dữ liệu đầu vào DP-Master Danh sách hỏitự tuần Hình 3.4: Nguyên tắc trao đổi dữ liệu tuần hoàn Master/Slave Ban quyen © Truong DH Su pham Ky thuat TP. HCM Mô hình DP-Slave hỗ trợ cấu trúc kiểu Module của các thành viên. Mỗi Module được xếp một số thứ tự khe cắm bắt đầu từ 1, riêng Module có số thứ tự khe cắm 0 phục vụ việc truy nhập toàn bộ dữ liệu của thiết bị. Toàn bộ dữ liệu vào/ra của các Module được chuyển chung trong một khối dữ liệu sử dụng của trạm tớ. Giao tiếp dữ liệu được giám sát bởi cả hai bên trạm chủ và trạm tớ. Bên trạm tớ sử dụng cảnh giới (watchdog) để giám sát việc giao tiếp với trạm chủ và sẽ đặt đầu ra về một giá trị an toàn, nếu nội trong một khoảng thời gian quy định không có dữ liệu từ trạm chủ đưa xuống. 3.2.4 Đồng bộ hoá dữ liệu vào/ra: Trong các giải pháp điều khiển sử dụng bus trường, một trong những vấn đề cần phải giải quyết là việc đồng bộ hoá các đầu vào và đầu ra. Một thiết bị chủ có thể đồng bộ hoá việc đọc các đầu vào cũng như đặt các đầu ra qua các bức điện gửi đồng loạt. Một trạm chủ có thể gửi đồng loạt (broadcast, multicast) lệnh điều khiển để đặt chế độ đồng bộ cho một nhóm trạm tớ như sau: - Lệnh SYNC: Đưa một nhóm trạm tớ về chế độ đồng bộ hoá đầu ra. Ở chế độ này, đầu ra của tất cả các trạm tớ trong nhóm được giữ nguyên ở trạng thái hiện tại cho tới khi nhận được lệnh SYNC tiếp theo. Trong thời gian đó, dữ liệu đầu ra được lưu trong vùng nhớ đệm và chỉ được đưa ra sau khi (đồng loạt) nhận được lệnh SYNC tiếp theo. Lệnh UNSYNC sẽ đưa các trạm tớ về chế độ bình thường (đưa đầu ra tức thì). TRANG - 54 Thu vien DH SPKT TP. HCM -
  60. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 - Lệnh FREEZE: Đưa một nhóm các trạm tớ về chế độ đồng bộ hoá đầu vào. Ở chế độ này, tất cả các trạm tớ trong nhóm được chỉ định không được phép cập nhật vùng nhớ đệm dữ liệu đầu vào, cho tới khi (đồng loạt) nhận được lệnh FREEZE tiếp theo. Trong thời gian đó trạm chủ vẫn có thể đọc giá trị đầu vào (không thay đổi) từ vùng nhớ đệm của các trạm tớ. Lệnh UNFREEZE sẽ đưa các trạm tớ về chế độ bình thường (đọc đầu vào tức thì). 3.2.5 Tham số hoá và chẩn đoán hệ thống: Trong trường hợp có thông tin chẩn đoán, ví dụ báo cáo trạng thái vượt ngưỡng hay các báo động khác, một DP-Slave có thể thông báo cho trạm chủ của nó qua bức điện trả lời. Nhận được thông báo, trạm chủ sẽ có trách nhiệm hỏi trạm tớ liên quan về các chi tiết thông tin chẩn đoán. Để thực hiện truyền nạp các bộ tham số hoặc đọc các tập dữ liệu tương đối lớn, PROFIBUS-DP cung cấp các dịch vụ không tuần hoàn là DDLM_Read và DDLM_Write. Trong mỗi chu kỳ bus, trạm chủ chỉ cho phép thực hiện được một dịch vụ. Tốc độ trao đổi dữ liệu tuần hoàn vì thế không bị ảnh hưởng đáng kể. Dữ liệu không tuần hoàn được định địa chỉ qua số thứ tự của khe cắm và chỉ số của tập dữ liệu thuộc khe cắm đó. Mỗi khe cắm cho phép truy nhập tối đa là 256 tập dữ liệu. Các hàm chẩn đoán của DP cho phép định vị lỗi một cách nhanh chóng. Các thông tin chẩn đoán được truyền qua bus và thu nhập tại trạm chủ. Các thông báo này được phân chia thành ba cấp: Ban quyen © Truong DH Su pham Ky thuat TP. HCM - Chẩn đoán trạm: các thông báo liên quan tới trạng thái hoạt động chung của cả trạm, ví dụ tình trạng quá nhiệt hoặc sụt áp. - Chẩn đoán Module: các thông báo này chỉ thị lỗi nằm ở một khoảng vào/ra nào đó của một Module. - Chẩn đoán kênh: trường hợp này, nguyên nhân của lỗi nằm ở một bit vào/ra (một kênh vào/ra) riêng biệt. Ngoài ra, phiên bản DP-V1 còn mở rộng thêm hai loại thông báo chẩn đoán là: - Thông báo cảnh báo/báo động liên quan tới các biến quá trình, trạng thái cập nhật dữ liệu và các sự kiện tháo/lắp Module thiết bị. - Thông báo trạng thái phục vụ mục đích bảo trì phòng ngừa, đánh giá thống kê số liệu . 3.2.6 Giao tiếp trực tiếp giữa các Slave (DXP) Trao đổi dữ liệu giữa các trạm tớ là một yêu cầu thiết thực đối với cấu trúc điều khiển phân tán thực sự sử dụng các thiết bị trường thông minh. Như ta đã biết, cơ chế giao tiếp chủ-tớ thuần túy làm giảm hiệu suất trao đổi dữ liệu cho trường hợp này. Chính vì thế, phiên bản DP-V2 đã bổ sung một cơ chế trao đổi dữ liệu trực tiếp theo kiểu ngang hàng giữa các trạm tớ. TRANG - 55 Thu vien DH SPKT TP. HCM -
  61. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 DP Master Cấp 1 DP Slave DP Slave DP Slave (chào hàng) (đặt hàng) (đặt hàng) Hình 3.5: Giao tiếp trực tiếp giữa các trạm tớ Theo như hình trên ta có thể thấy một trạm tớ (ví dụ là một cảm biến) có thể đóng vai trò là “nhà xuất bản” hay “nhà cung cấp” dữ liệu. Khối dữ liệu sẽ được gửi đồng loạt tới tất cả các trạm tớ (ví dụ một van điều khiển, một biến tần) đã đăng ký với vai trò “người đặt hàng” mà không cần đi qua trạm chủ. Với cơ chế này, không những hiệu suất sử dụng đường truyền được nâng cao, mà tính năng đáp ứng của hệ thống còn được cải thiện rõ rệt. Điều này đặc biệt quan trọng đối với các ứng dụng đòi hỏi đáp ứng cao về thời gian thực, hoặc đối với các ứng dụng sử dụng kỹ thuật truyền dẫn tốc độ thấp. Ban quyen © Truong DH Su pham Ky thuat TP. HCM 3.2.7 Chế độ đẳng thời: Đối với một số ứng dụng như điều khiển truyền đồng điện, điều khiển chuyển động, cơ chế giao tiếp theo kiểu hỏi tuần tự hoặc giao tiếp trực tiếp tớ-tớ chưa thể đáp ứng được đòi hỏi cao về tính năng thời gian thực. Vì vậy, phiên bản DP-V2 bổ sung chế độ đẳng thời, cho phép thực hiện giao cơ chế chủ/tớ kết hợp với TDMA. Nhờ một thông báo điều khiển toàn cục gửi đồng loạt, toàn bộ các trạm trong mạng được đồng bộ hóa thời gian với độ chính xác tới µs. Việc giao tiếp được thực hiện theo một lịch trình đặt trước, không phụ thuộc vào tải tức thời trên bus. Cơ chế này cho phép phối hợp hoạt động một cách chặt chẽ và nhịp nhàng giữa các trạm trên bus. Một ví dụ ứng dụng tiêu biểu là bài toán điều khiển chuyển động, trong đó trạm chủ đóng vai trò bộ điều khiển vị trí và một số trạm tớ là các biến tần với chức năng điều khiển tốc độ động cơ. TRANG - 56 Thu vien DH SPKT TP. HCM -
  62. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 3.3 GIỚI THIỆU VỀ MODULE CP-EM 277: 3.3.1 Giới thiệu. CPU S7-200 có thể kết nối vào một mạng PROFIBUS DP nhờ vào sử dụng Module mở rộng EM 277. Khối EM 277 cho phép S7-200 trờ thành một trạm tớ trên mạng. Một trạm chủ có thể ghi và đọc dữ liệu từ các khối S7-200 trong mạng thông qua khối mở rộng EM 277. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.6: Mặt trước Module EM 277 3.3.2 Các thông số của EM 277. - Thông số vật lý: o Kích thước : 71 mm x 80 mm x 62 mm o Trọng lượng : 175 g o Công suất : 2.5 W - Thông số truyền dữ liệu: o Số lượng cổng : 1 o Giao diện điện tử : RS-485 o Tốc độ PROFIBUS-DP/MPI : 9.6 ,19.2, 45.45, 93.75, 187.5, 500 Kbaud; 1, 1.5, 3, 5, 12 M baud. o Giao thức : PROFIBUS-DP Slave và MPI Slave o Chiều dài cáp : phụ thuộc tốc độ TRANG - 57 Thu vien DH SPKT TP. HCM -
  63. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Gần đến 93.75 K baud : 1200 m 187.5 K baud : 1000 m 500 K baud : 400 m 1 đến 1.5 M baud : 200 m 3 đến 12 M baud : 100 m o Khả năng mạng: Địa chỉ trạm: 0-99 (thiết lập bằng nút xoay) Số luợng trạm tối đa một phân đoạn : 32 Số lượng trạm tối đa một mạng: 126, lên đến 99 trạm EM 277 3.3.3 Cấu trúc vùng nhớ của Master và Slave: Mục đích của kết nối PROFIBUS DP là trao đỗi dữ liệu. Một trạm chủ ghi dữ liệu ngõ ra đến một trạm tớ. Trạm tớ phản hồi lại bằng dữ liệu ngõ vào gửi tới trạm chủ. Trạm chủ chuyển dữ liệu từ một vùng ngõ ra I/O đến vùng đệm ngõ ra của trạm tớ (hộp thư nhận). Trạm chủ đọc dữ liệu từ vùng đệm ngõ vào của trạm tớ (hộp thư đi) và lưu trữ trong một vùng ngõ vào I/O. Vùng đệm ngõ vào và ngõ ra được đặt trong vùng nhớ biến của CPU gọi là vùng nhớ V. Trong kỹ thuật PROFIBUS-DP thì dữ liệu trao đổi được mô tả luôn tuân theo một quy Ban quyen © Truong DH Su pham Ky thuat TP. HCM tắc hướng về trạm chủ. - Dữ liệu chuyển từ trạm chủ đến trạm tớ luôn gọi là dữ liệu ngõ ra. - Dữ liệu chuyển từ trạm tớ đến trạm chủ luôn gọi là dữ liệu ngõ vào. - Dữ liệu chuyển đến từ trạm chủ luôn được coi là dữ liệu ngõ ra mặc dù đối với trạm tớ, nó là ngõ vào. Tương tự như vậy, dữ liệu gửi về trạm chủ luôn coi là dữ liệu ngõ vào mặc dù đối với trạm tớ nó là ngõ ra. Trạm chủ xác định địa chỉ bắt đầu của bộ đệm ngõ ra (hộp thư nhận). Trạm chủ gửi offset của vùng nhớ V của vùng đệm ngõ ra đến trạm tớ như là một phần trong khai báo các thông số của trạm tớ. Nếu offset này có giá trị là 0, trạm tớ sẽ đặt bộ vùng đệm ngõ ra tại địa chỉ VB0. Nếu offset có giá trị 5000, nó sẽ đặt tại địa chỉ VB5000. Đồng thời với việc gửi đi địa chỉ bắt đầu, trạm chủ cũng xác định kích thước của vùng đệm ngõ ra (hộp thư nhận). Người điều khiển cấu hình trạm chủ để viết một số byte dữ liệu gửi tới trạm tớ. Trạm chủ gửi thông tin này đi như là một phần trong định cấu hình của trạm tớ. Trạm tớ sử dụng thông tin này để xác định kích thước của vùng đệm ngõ ra. Nếu trạm chủ quy định trạm tớ có 16 byte ngõ ra, trạm tớ sẽ xác định của vùng đệm ngõ ra là 16 byte. Ví dụ, vùng đệm ngõ ra bắt đầu từ địa chỉ VB5000, dữ liệu ngõ ra từ trạm chủ sẽ được ghi vào vùng nhớ từ VB5000 đến VB5015. Vùng đệm ngõ vào (hộp thư nhận hay dữ liệu phản hồi về trạm chủ) lập tức theo sau vùng đệm ngõ ra. Người điều khiển cũng cấu hình trạm chủ về khối lượng dữ liệu phản hồi về từ trạm tớ. Giá trị này được ghi vào trạm tớ như là một phần cấu hình của nó. Trạm tớ sử dụng thông tin này để ấn định kích thước của vùng đệm ngõ vào. Tiếp TRANG - 58 Thu vien DH SPKT TP. HCM -
  64. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 theo ví dụ trên, nếu như trạm chủ đặt vùng đệm ngõ ra tại địa chỉ VB5000 và ấn định kích thước là 16 byte thì vùng đệm ngõ vào bắt đầu từ địa chỉ VB5016 ngay sau vùng đệm ngõ ra. Nếu như kích thước của vùng đệm ngõ vào là 16 bytes thì nó sẽ được đặt trong vùng nhớ từ VB5016 đến VB5031. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.7: Ví dụ về vùng nhớ V của CPU và vùng nhớ I/O của trạm chủ Sau khi kết nối giữa trạm chủ và trạm tớ được thiết lập, vị trí của vùng đệm ngỏ ra và kích thước của vùng đệm có thể được đọc từ vùng nhớ đặt biệt (SM) của CPU. Bảng dưới đây ghi lại vị trí vùng nhớ mô tả về khối EM 277 đầu tiên được kết nối. Nếu nó là khối Module thứ hai thì địa chỉ SM dời đi 50 (SMB250 đến SMB279). SMB200 đến 215 Nội dung là 16 kí tự ASCII tên Module SMB216 đến 219 Nội dung là phiên bản phần mềm của khối EM 277. Hai ký tự đầu cho biết số trước dấu chấm và hai ký tự sau cho biết số sau dấu chấm. Ví dụ: SMB216-219 có nội dung là “0102” thì phiên bản phần mềm là 1.02 SMW220 Nội dung là lưu trạng thái báo lỗi của khối EM 277. Chỉ có hai giá trị được xác định. Giá trị “0” nếu không có lỗi và nếu là giá trị “1” nghĩa là không cung cấp nguồn 24 VDC cho khối. SMB222 Đây là địa chỉ của EM 277 được đọc từ các công tắc TRANG - 59 Thu vien DH SPKT TP. HCM -
  65. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 SMB224 Nội dung là trạng thái kết nối PROFIBUS DP. Người điều khiển có thể giám sát vị trí này để chương trình biết là kết nối ở trạng thái hoạt động tốt hay không. Nếu như có lỗi xảy ra, chương trình có thể xử lý dựa trên lỗi của kết nối DP. Sau đây là các giá trị trạng thái được xác định: 0: không có truyền đạt thông tin DP nào xảy ra từ khi EM 277 cấp nguồn hoạt động 1 : trạm chủ DP đang truyền thông tin đến EM 277 nhưng có vấn đề trong việc cấu hình hay khai báo thông số gử từ trạm chủ. 2: khối EM 277 và trạm chủ đang trao đổi dữ liệu (hoạt động bình thường ). 3: khối EM277 và trạm chủ trước đó có trao đổi dữ liệu nhưng giờ thì không. SMB225 Nội dung là địa chỉ trên mạng của trạm chủ cấu hình cho khối EM 277. Trạm chủ này có thể ghi ngõ ra và đọc ngõ vào từ trạm tớ. SMW226 Nội dung là địa chỉ vùng nhớ V của vùng đệm ngõ ra. Giá trị này được lưu vào trạm tớ trong một thông điệp khai báo thông sốBan trong quyen suốt © Truong giai đoạn DH Suđầu pham của Kyviệc thuat kết nối.TP. HCM SMB228 Nội dung là kích thước của vùng đệm ngõ ra. Giá trị này được lưu vào trạm tớ trong một thông điệp cấu hình trong suốt giai đoạn đầu của việc kết nối. SMB229 Nội dung là kích thước của vùng đệm ngõ vào. Giá trị này được lưu vào trạm tớ trong một thông điệp cấu hình trong suốt giai đoạn đầu của việc kết nối. Lưu ý rằng vùng nhờ từ 226 đến 229 cho biết dữ liệu lưu vào EM 277 từ tram chủ. Vì vậy nếu có lập trình ở những vùng nhớ này cũng không thể thay đồi được kích thước và địa chỉ của vùng đệm. Khối EM 277 lưu những vị trí này vào CPU khi mà có một sự thay đổi trạng thái của việc kết nối hay khi trạm chủ gửi giá trị mới tới EM 277. TRANG - 60 Thu vien DH SPKT TP. HCM -
  66. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 3.4 KẾT NỐI MẠNG QUA MODULE EM 277: Để kết nối mạng Profibus giữa S7-300 và S7-200 thông qua EM 277 ta thực hiện theo các bước như sau: 3.4.1 Thiết lập địa chỉ mạng DP cho khối EM 277. - Ngắt nguồn cấp cho CPU và khối EM 277 - Thiết lập nút xoay trên mặt trước của khối EM 277 để được địa chỉ mong muốn. Có 2 nút chọn X10 và X1, X10 để thiết lập hàng chục và X1 để thiết lập hàng đơn vị. - Cấp nguồn lại cho CPU và khối EM 277 3.4.2 Truyền dữ liệu giữa trạm chủ và khối EM 277: Thực hiện theo 3 bước: - Khai báo thông số. - Thiết lập cấu hình. - Trao đổi dữ liệu Hai bước đầu tiên thông thường tiến hành khi hệ thống khởi động và trạm tớ được đưa vào. Bước trao đổi dữ liệu chính là chế độ hoạt động bình thường của hệ thống. Sự khai báo thông số và thông tin về cấu hình được gửi tới các trạm tớ từ các tùy chọn mà ta thực hiện khi thiếtBan lập quyen hệ thống© Truong và DH từ Sucác pham tệp cơKy sởthuat dữ TP.liệu HCM của thiết bị của các trạm tớ (các tệp GSD). Các tệp GSD là các tệp văn bản mô tả các thuộc tính của các thiết bị tớ. Các tùy chọn của hệ thống và các thuộc tính của trạm tớ được nạp vào trạm chủ sau này sẽ được sử dụng để thiết lập các thông điệp khai báo thông số và cấu hình gửi đến các trạm tớ. - Khai báo thông số. Khi trạm chủ chuyển sang trạng thái Operate từ trạng thái Stop, nó phải dò hết tất cả các thiết bị tớ có mặt trên mạng bằng cách chuyển các khai báo thông số và cấu hình đến các trạm tớ. Trước tiên trạm chủ gửi đi một yêu cầu chuẩn đoán đến thiết bị tớ. Trạm chủ sẽ nhận được phản hồi thông báo trạng thái của trạm tớ,. số ID của trạm tớ và đã có trạm chủ nào điều khiển trạm tớ đó chưa.Số ID của trạm tớ là một số đặt biệt được ấn định bởi Tổ chức những người sử dụng mạng PROFIBUS (PROFIBUS User Organization) đến tất cả các thiết bị chủ tớ. Số ID 4 chữ số của trạm tớ cho phép trạm chủ kiểm tra xem thiết bị trên mạng có đúng là thiết bị đã được ta xác định trong suốt quá trình cấu hình trạm chủ. Nếu số ID không khớp với cấu hình của ta đã định hay trạm tớ đã được điều khiển bởi một trạm chủ khác, trạm chủ sẽ dừng lại quá trình cấu hình trạm tớ và thông báo lỗi. Nếu như trạm tớ hiện hữu, trạm chủ gửi một thông điệp khai báo thông số đến trạm tớ. Thông điệp này bao gồm một số mục cố định cấu hình trạm tớ cho khớp với các thông số của mạng và các thông số cấu hình các chức năng xác định và các khối bên trong trạm tớ (không bắt buột). TRANG - 61 Thu vien DH SPKT TP. HCM -
  67. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Khối EM 277 chỉ chấp nhận một thông số duy nhất khi tham gia vào mạng. Đó chính là offset của vùng nhớ V cho vùng đệm ngõ ra. Nếu như giá trị này được khai báo, khối EM 277 sử dụng offset này truy suất đến vùng đệm ngõ vào và ngõ ra của CPU S7 200. Nếu như không được khai báo, khối EM 277 sẽ mặc nhiên ấn định vùng nhớ V bắt đầu từ địa chỉ VB0 trong CPU S7 200. - Thiết lập cấu hình. Sau thông điệp khai báo thông số, trạm chủ sẽ gửi đến trạm tớ một thông điệp thiết lập cấu hình. Thông điệp này chứa đựng cấu hình I/O mà trạm chủ ấn định cho trạm tớ. Phần lớn các thiết bị PROFIBUS có cấu hình cố định, và đối với các thiết bị này, việc truyền thông điệp cấu hình này là sự kiểm tra xem thiết bị tớ hợp thức có trên mạng hay không. Nếu như việc thiết lập cấu hình được chấp nhận, trạm tớ sẽ bị khóa vào địa chỉ của trạm chủ đó cho đến khi trạm chủ “nhả” nó ra hay trạm tớ bị ngắt điện. Chỉ có chính trạm chủ thực hiện việc cấu hình môt trạm tớ mới có thể chuyển sang chế độ trao đổi dữ liệu với trạm tớ đó. Trong trường hợp khối EM 277, việc thiết lập cấu hình cho khối EM 277 biết rằng bao nhiêu byte ngõ ra và ngõ vào trạm chủ yêu cầu nó và CPU S7 200 hỗ trợ. Khối EM 277 có thể hỗ trợ một số cấu hình chuẩn và nhiều cấu hình tùy chọn khác nếu như trạm chủ cho phép chuyển sang chế độ cấu hình không chuẩn. Sau khi nhận thông điệp thiết lập cấu hình, khối EM 277 sẽ kiểm ra xem cấu hình có thể được chấp nhận hay không và kiểm tra xem vùng đệm ngõ ra và ngõ vào có vừa bộ nhớ của CPU S7 200 không. Nếu không có vấn đề gì thông điệp thiết lập cấu hình và khai báo thông số, khối EM 277 gán vào địa chỉ của trạm chủ mà Ban quyen © Truong DH Su pham Ky thuat TP. HCM đã gửi thông điệp đó. Tùy chọn I/O mà ta xác định cũng đồng thời là tùy chọn tòan vẹn dữ liệu. Tùy chọn toàn vẹn dữ liệu cho cả trạm chủ và trạm tớ biết rằng có bao nhiêu dữ liệu được truyền giữa mạng và bộ nhớ mà không có sự ngắt quãng. PROFIBUS hổ trợ 3 loại toàn vẹn dữ liệu: byte, word và buffer. o Toàn vẹn byte đảm bảo rằng những byte được truyền sẽ được truyền toàn bộ. Toàn vẹn byte nên được sử dụng nếu tất cả các byte dữ liệu độc lập. o Toàn vẹn word bảo đảm việc truyền các word không bị ngắt bởi các quy trình khác. Toàn vẹn word nên được sử dụng khi mà dữ liệu chứa giá trị 2 byte. Toàn vẹn word buộc trạm chủ và trạm tớ chuyên 2 byte mỗi word giữa bộ nhớ và mạng như là một đơn vị mà không thể bị ngắt hay hiệu chỉnh bởi bất cừ quy trình nào khác trong CPU S7 200. o Toàn vẹn buffer bảo đảm toàn bộ vùng đệm dữ liệu được truyền như là một đơn vị duy nhất, không thể bị ngắt bởi quy trình khác. Toàn vẹn buffer buộc trạm chủ và trạm tớ chuyển toàn vùng đệm của dữ liệu (tất cả ngõ ra và ngõ vào) giữa bộ nhớ và mạng mà không bị ngắt quãng. Toàn vẹn buffer nên sử dụng khi truyền giá trị double word hay một nhóm các giá trị dữ liệu được xem như một đơn vị duy nhất. TRANG - 62 Thu vien DH SPKT TP. HCM -
  68. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Ví dụ: Khối EM 277 hỗ trợ cấu hình I/O của: o 8 bytes out/ 8 bytes in o 4 words out/ 4 word in o 8-byte buffer I/O Tất cả các cấu hình trên đều truyền 8 bytes đến khối EM 277 và 8 bytes ngược lại trạm chủ nhưng mà loại toàn vẹn khác nhau trong từng cách cấu hình. o Cấu hình 8-byte out/in cho phép ta ngắt quy trình truyền giữa khối EM 277 và vùng nhớ V cùa CPU S7 200 mọi lúc. o Cấu hình 4-word out/in cho phép ta chỉ được chen ngang vào giữa hai word trong suốt quá trình truyền đảm bảo cho các byte cấu tạo nên word không bị phân cách. o Cấu hình 8-byte buffer I/O khiến cho CPU S7 200 vô hiệu hóa ngắt của người sử dụng trong suốt quá trình truyền. Những tùy chọn toàn vẹn buffer trong khối EM 277 thì được giới hạn để mà thời gian ngắt của người sử dụng đã được vô hiệu hóa không làm ảnh hưởng hệ thống. Sau khi nhận một thông điệp khao báo thông số hay thiết lập cấu hình, khối EM 277 ghi offset của vùng nhớ V và kích thước vùng đệm ngõ vào và ngõ ra đến vùng nhớ đặt biệt của CPU S7 200 ngay cả khi các giá trị không hợp lý đối với CPU S7 200.Ban Đèn quyen DP ERROR © Truong trênDH Subề pham mặt khốiKy thuat EM TP.277 HCM sẽ sáng đỏ nếu xuất hiện lỗi trong khai báo thông số hoặc thiết lập cấu hình. Nếu như khối EM 277 không chuyển sang chế độ trao đổi với trạm chủ, ta có thể xem vị trí của các vùng nhớ SM để xác định lỗi ở đâu. - Trao đổi dữ liệu. Sau khi gửi thông điệp khai báo thông số và thiết lập cấu hình đến trạm tớ, trạm chủ gửi tiếp một yêu cầu chẩn đoán khác tới trạm tớ để xác định rằng trạm tớ đã chấp nhận các thông điệp khai báo thông số và thiết lập cấu hình hay chưa. Nếu như trạm tớ xác định rằng đã có lỗi trong các thông điệp khai báo thông số và thiết lập cấu hình, trạm chủ sẽ gửi lại các thông điệp này. Nếu không có lỗi trong các phản hồi chẩn đoán, trạm chủ sẽ bước sang chế độ hoạt động-trao đổi dữ liệu. Chế độ trao đổi dữ liệu là chế độ hoạt động bình thườn trong mạng DP. Ở chế đô này, trạm chủ sẽ ghi ngõ ra đến trạm tớ và trạm tớ truyền lại ngõ vào. Nếu như trạm tớ không có ngõ ra nào cả, trạm chủ sẽ gửi một thông điệp không có dữ liệu ngõ ra và trạm tớ sẽ phản hồi với những ngõ vào của nó. Nếu như trạm tớ có ngõ ra nhưng không có ngõ vào, trạm tớ sẽ phản hồi cho thông điệp ngõ ra với một thông điệp rỗng. Đèn DX MODE trên bề mặt khối EM 277 màu xanh khi khối EM 277 đang ở trang thái trao đổi dữ liệu với trạm chủ và sẽ không sáng nếu không ở trong trạng thái trao đồi dữ liệu với trạm chủ. Đèn DP ERROR sẽ đỏ nếu như khối EM 277 vừa mới ở trạng thái trao đổi dữ liệu và hiện đang không trong trạng thái đó nửa. TRANG - 63 Thu vien DH SPKT TP. HCM -
  69. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Trạm tớ thiết lập một vùng nhớ bit chẩn đoán để phản hồi nếu nó phát hiện ra lỗi. Vùng nhớ này buộc trạm chủ gửi một yêu cầu chuẩn đoán đến trạm tớ trước khi truyền tiếp dữ liệu cho trạm tớ. Điều này cho phép trạm chủ phản hồi các lỗi của trạm tớ một cách nhanh chóng. 3.4.3 Tệp cơ sở dữ liệu của thiết bị (các tệp GSD): Các thiết bị PROFIBUS có các đặc điểm hoạt động khác nhau, các thông số về chức năng của thiết bị có thể về số lượng tín hiệu I/O hay các thông số bus như tốc độ baud. Các thông số này là riêng biệt cho từng loại thiết bị và thường được văn bản hóa trong tài liệu người dùng. Để đạt được thiết lập cấu hình Plug and Play của mạng PROFIBUS một cách đơn giản, các đặc điểm chức năng của thiết bị được ấn định trong một data sheet điện tử gọi là tệp cơ sở dữ liệu của thiết bị hay tệp GSD. Tệp GSD cung cấp chi tiết các đặt điểm của các loại thiết bị trong một định dạng được xác định một cách chính xác. Định dạng của tập GSD cho phép việc cấu hình hệ thống được đọc ra từ tệp của bất kì tất cả các thiết bị trong mạng PROFIBUS và tự động sử dụng thông tin này để cấu hình hệ thống. Trong suốt quá trình cấu hình, phần cấu hình hệ thống tự động thực hiện kiểm tra việc sai sót ở ngõ vào và sự toàn vẹn của dữ liệu chuyển vào toàn bộ hệ thống. 3.4.4 Ứng dụng mạng Profibus-DP điều khiển thiết bị: Trong phần này sẽ trìnhBan quyen bày một © Truong ứng dụngDH Su đểpham truyền Ky thuat nhận TP. dữ HCM liệu giữa trạm chủ (Master) S7-300 và các trạm tớ (Slaver) qua mạng Profibus – DP. Các ứng dụng cụ thể sẽ được thực hiện tương tự. Trong ứng dụng này dùng 1 PLC S7-300 làm Master và 3 PLC S7-200 để làm Slaver. Sự truyền nhận dữ liệu được thực hiện giữa S7-300 và S7-200 thông qua Module CP EM 277. Trình tự để thiết kế ứng dụng này được trình bày như sau. - Thiết lập cấu hình phần cứng của S7-300 trong chương trình Step7: o Khởi động chương trình Simatic manager o Sau đó vào màn hình làm việc của chương trình TRANG - 64 Thu vien DH SPKT TP. HCM -
  70. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 BanHình quyen 3.8: ©Màn Truong hình DH làm Su pham việc củaKy thuat Step TP. 7 HCM o Bấm chọn thẻ New Projec/library sẽ xuất hiện hộp thoại NEW Hình 3.9: Màn hình hộp thoại New TRANG - 65 Thu vien DH SPKT TP. HCM -
  71. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 o Đặt tên cho Project trong Name, rồi chọn OK. o Mở đầu Project, ta thiết lập 1 trạm S7-300 như hình vẽ: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.10: Màn hình thiết lập trạm S7-300 Ta có thể đặt lại tên cho trạm. o Khi nhấn chọn trạm sẽ xuất hiện biểu tượng Hardware. Hình 3.11: Chọn biểu tượng Hardware o Nhấp đúp vào đó để thiết lập cấu hình của trạm cho giống với cấu hình thực tế. Nếu không thấy catalog các linh kiện thì chọn thẻ View/catalog TRANG - 66 Thu vien DH SPKT TP. HCM -
  72. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Hình 3.12: Chọn thẻ Catalog o Nếu chưa có khối EM277 trong catalog thì ta cần cài đặt theo hình vẽ: Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.13: Màn hình cài đặt EM277 Sau đó chọn đường dẫn đến file GSD của khối EM277 o Để thiết lập phần cứng, đầu tiên ta vào catalog lấy giá đỡ (rail) Hình 3.14: Chọn biểu giá đỡ (rail) TRANG - 67 Thu vien DH SPKT TP. HCM -
  73. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 o Sau đó sắp xếp các khối theo đúng thứ tự như cấu hình thực. Đầu tiên là nguồn, Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.15: Đặt nguồn vào rail Tiếp theo là CPU Khi ta kéo chọn CPU 315-2DP vào rail, sẽ xuất hiện hộp thoại Hình 3.16: Màn hình sau khi đặt CPU TRANG - 68 Thu vien DH SPKT TP. HCM -
  74. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Bấm chọn New để thiết lập mạng, sau đó ta chọn OK Hình 3.17: Cài đặt mạng Profibus o Tiếp theo chọn khối EM277 kết nối vào mạng Ban quyen © Truong DH Su pham Ky thuat TP. HCM Chọn theo đường dẫn như trong hình,kéo khối EM277 ra thả vào subnet Khi đó xuất hiện hộp thoại sau: Hình 3.18: Cài đặt module EM 277 TRANG - 69 Thu vien DH SPKT TP. HCM -
  75. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 o Phải chọn địa chỉ cho khối này. Chú ý rằng chọn đúng địa chỉ trên Module thì CPU mới nhận được. Nhấp vào khối EM277 sẽ xuất hiện hộp thoại “properties – DP Slave”. Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.19: Hộp thoại properties – DP Slave Vào Parameter Assignment để chọn địa chỉ. Chọn vào Parameter Assignment để chọn địa chỉ I/O offset trong vùng V-memory TRANG - 70 Thu vien DH SPKT TP. HCM -
  76. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Hình 3.20: Chọn địa chỉ EM 277 Có thể chọn giá trị này cho nhiều Module giống nhau.Ở đây chọn bằng 2000. o Kế tiếp ta chọn kích thước vùng đệm Ban quyen © Truong DH Su pham Ky thuat TP. HCM Hình 3.21: Chọn vùng đệm Kéo chọn (vd:16 byte buffer I/O) như trong hình trên. Địa chỉ vào/ra xuất hiện là địa chỉ mặc định.Ta có thể thay đổi giá trị này để sử dụng. Chú ý rằng địa chỉ vào/ra trong mỗi khối EM277 không được trùng nhau. Tương tự ta có thể đặt 3 trạm EM277. o Chọn các Module vào ra số/tương tự theo đúng cấu hình thực, như hình sau: TRANG - 71 Thu vien DH SPKT TP. HCM -
  77. Truong DH SPKT TP. HCM ĐIỀU KHIỂN LẬP TRÌNH 2 CHƯƠNG 3 Hình 3.22: Chọn module vào/ra Chú ý rằng tại slot số 3 bỏ trống. Đó là vị trí dành cho khối mở rộng IM. Tiếp theo ta chọnBan nút quyen save ©and Truong compiler DH Su để pham biên Ky dịch. thuat Sau TP. đó HCM nhấn download để tải cấu hình phần cứng vào CPU. Nếu download không được hoặc đèn báo lỗi phần cứng trên CPU sáng lên cần kiểm tra lại việc thiết lập phần cứng. Sau khi đã download được thành công các đèn báo trạng thái trên CPU sẽ sáng lên như hình vẽ Hình 3.23: Hình dạng EM 277 ở trạng thái trao đổi dữ liệu TRANG - 72 Thu vien DH SPKT TP. HCM -