Bài giảng Các hệ PLC và DCS - Chương 5: Phần mềm điều khiển

pdf 64 trang ngocly 1410
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Các hệ PLC và DCS - Chương 5: Phần mềm điều khiển", để 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_cac_he_plc_va_dcs_chuong_5_phan_mem_dieu_khien.pdf

Nội dung text: Bài giảng Các hệ PLC và DCS - Chương 5: Phần mềm điều khiển

  1. Chương 5: Phần mềm điều khiển 5.1 Vấn đề TGT trong các hệ thống điều khiển 5.2 Lập trình theo chuẩn IEC 61131-3 5.3 Phương pháp luận khối chức năng và chuẩn IEC 61499 Chương Chương 5  HMS Tháng Sáu 2015 1
  2. Nội dung liên ngành Hệ thời gian thực 5 Khoa học Kỹ thuật Hệ điều khiển điều khiển máy tính PLC & DCS Chương Chương Công nghệ truyền thông Hệ phân tán Mạng truyền thông công nghiệp  HMS Tháng Sáu 2015 2
  3. 5.1 Vấn đề thời gian thực trong các hệ thống điều khiển  Khái niệm thời gian thực, hệ thời gian thực và xử lý thời gian thực  Khái niệm tác vụ và vai trò của xử lý cạnh tranh trong các hệ thống điều khiển  Lập trình điều khiển thời gian thực  Hệ điều hành thời gian thực Chương Chương 5  HMS Tháng Sáu 2015 3
  4. 5.1.1 Khái niệm về hệ thời gian thực A real-time system is one in which the correctness of the system depends not only on the logical results, but also on the time at which the results are produced. Một hệ thời gian thực là một hệ thống mà sự hoạt động tin cậy của nó không chỉ phụ thuộc vào sự chính xác của kết quả, mà còn phụ thuộc vào thời điểm đưa ra kết quả để phản ứng với sự kiện bên ngoài. Hệ thống có lỗi khi thời gian yêu cầu không được thoả mãn. JOHN A. STANKOVIC ET AL.: Strategic Directions in Real-Time and Chương Chương 5 Embedded Systems. ACM Computing Surveys, Vol. 28, No. 4, December 1996 Thời gian thực không phải là thời gian tuyệt đối Tính năng thời gian thực không đồng nghĩa với tốc độ tính toán rất nhanh  HMS Tính năng thời gian thực = tính chính xác + tính kịp Tháng Sáu 2015 thời 4
  5. Các dạng của “tính kịp thời” Sự kiện Phản ứng Sự kiện Phản ứng T T 5 Thời gian t t Thời gian ts tp ts p1 p2 a) Chính xác tại (t = tp) b) Trong khoảng (tp2 t tp2 ) Chương Chương Sự kiện Phản ứng Sự kiện Phản ứng T T Thời gian Thời gian ts tp ts tp c) Chậm nhất là (t tp) d) Sớm nhất là (t tp)  HMS Tháng Sáu 2015 5
  6. Đặc điểm của một hệ thời gian thực  Tính phản ứng: Hệ thống phải phản ứng với các sự kiện xuất hiện vào các thời điểm không biết trước.  Tính nhanh nhạy: Hệ thống phải xử lý thông tin một 5 cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời.  Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự kiện diễn ra. Chương Chương  Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các phản ứng.  HMS Tháng Sáu 2015 6
  7. Liên quan tới HTđiều khiển? Mỗi hệ thống điều khiển là một hệ thời gian thực Chất lượng điều khiển không chỉ phụ thuộc vào thuật toán điều khiển, mà còn phụ thuộc vào khả năng phản ứng của hệ thống, thời điểm đọc tín hiệu đầu vào (tín hiệu đo), vào thời gian tính toán luật điều khiển và thời điểm đưa ra tín hiệu điều khiển Tính năng thời gian thực của một HTĐK phụ thuộc cả vào phần cứng và phần mềm và vào kiến trúc hệ thống . Phần cứng: Tốc độ tính toán của vi xử lý, tốc độ chuyển đổi DA/AD, Chương Chương 5 cơ chế vào/ra, chậm trễ trong các thiết bị . Phần mềm: Thuật toán điều khiển, phương pháp lập trình, tổ chức thực hiện chương trình Tính năng TGT của một HTĐK liên quan tới tính mạng con người Phần lớn các hệ thời gian thực là các hệ thống điều  HMS khiển Tháng Sáu 2015 7
  8. Hai dạng hệ thống điều khiển thời gian thực tiêu biểu 1. Hệ thống nhúng (Embedded Systems) – Các hệ thống điều khiển chuyên dụng, đặc chủng cho các thiết bị, máy móc đơn lẻ 5 – Máy tính điều khiển là một phần không tách rời của thiết bị được điều khiển – Dựa trên nền vi xử lý, nhân thời gian thực, hệ điều hành thời gian thực – Ví dụ ứng dụng: công nghiệp hàng không-vũ trụ, robot công nghiệp, phương tiện giao thông, Chương Chương 2. Hệ thống điều khiển công nghiệp (Industrial Control Systems) – Distributed Control Systems (DCS), Programmable Logic Controllers (PLC), Soft-PLCs – Các hệ thống điều khiển phân cấp, phân tán  HMS – Ứng dụng trong CN chế biến, CN chế tạo Tháng Sáu 2015 8
  9. Xử lý thời gian thực là gì? Xử lý thời gian thực là hình thức xử lý thông tin trong một hệ thống để đảm bảo tính năng thời gian thực của nó. Luôn liên quan với các sự kiện bên ngoài (tính phản ứng) Chương Chương 5 Yêu cầu cao về hiệu suất phần mềm (tính nhanh nhạy) Đòi hỏi xử lý đồng thời nhiều tác vụ (tính đồng thời) Đòi hỏi cơ sở lý thuyết chặt chẽ phục vụ phân tích  HMS và đánh giá (tính tiền định) Tháng Sáu 2015 9
  10. Tại sao phải nghiên cứu về xử lý thời gian thực?  Xử lý thời gian thực là nguyên lý làm việc cơ bản của mỗi bộ điều khiển, nhìn từ quan điểm tin học 5  Chất lượng điều khiển và độ tin cậy của hệ thống điều khiển không chỉ phụ thuộc vào thuật toán điều khiển, công nghệ phần cứng, mà còn phụ thuộc một cách tất yếu vào phương pháp xử lý thời gian thực  Chúng ta còn biết quá ít về cơ chế thực hiện các Chương Chương chức năng bên trong một bộ điều khiển (số)  HMS Tháng Sáu 2015 10
  11. 5.1.2 Khái niệm “tác vụ” (task) và xử lý cạnh tranh  Một quá trình tính toán cho một nhiệm vụ cụ thể, có thể được thực hiện đồng thời, ví dụ: – Các tác vụ xử lý giá trị vào/ra – Các tác vụ điều chỉnh – Các tác vụ điều khiển logic – Các tác vụ xử lý biến cố –  Một tác vụ là sự thi hành một chương trình hoặc một Chương Chương 5 phần chương trình – Một chương trình chạy nhiều lần => nhiều tác vụ – Một đoạn mã chương trình (ví dụ một hàm) được gọi tuần hoàn với các chu kỳ khác nhau => nhiều tác vụ khác nhau  Multitasking (đa nhiệm): khả năng thi hành đồng thời nhiều tác vụ  HMS Tháng Sáu 2015 11
  12. Các trạng thái của một tác vụ  Trạng thái nghỉ, chưa tồn tại (Dormant, Nonexistence): Task trong bộ nhớ nhưng hệ điều hành không quản lý.  Trạng thái sẵn sàng (Ready state): Khi nó có thể được điều hoạt nhưng hiện DORMANT READY đang có một Task khác có mức ưu tiên cao hơn đang được thực hiện.  Trạng thái chạy (Running state): Khi nó đang được điều khiển bởi CPU  Trạng thái đợi (Waiting state) : Khi nó Chương Chương 5 WAITING RUNNING đang chờ một sự kiện xảy ra để được sẵn sàng như một sự kiện vào/ra, khi tài nguyên chung có thể sử dụng hay là khi có các ngắt thời gian.  HMS Tháng Sáu 2015 12
  13. Phân loại tác vụ (IEC 61131-3) Chờ tới chu kỳ Chờ sự kiện 5 Thời gian Sự kiện Mã thực thi Mã thực thi Mã thực thi Chương Chương Tác vụ mặc định Tác vụ tuần hoàn Tác vụ sự kiện Ví dụ: Ví dụ: Ví dụ: - Điều khiển logic - Điều chỉnh vòng kín - Điều khiển trình tự - Kiểm tra lỗi - Xử lý truyền thông - Xử lý sự cố  HMS Tháng Sáu 2015 13
  14. Quản lý tác vụ tuần hoàn void OldTask(void *pdata) { while(1){ // user codes 5 // OSTimeDly(nTick); } } void NewTask(void *pdata) { Chương Chương while(1){ // user codes // OSWaitPeriod(); } }  HMS Tháng Sáu 2015 14
  15. Các hình thức xử lý đồng thời  Xử lý song song: Các tác vụ (task) được phân chia thực hiện song song trên nhiều bộ xử lý  Xử lý cạnh tranh: Nhiều tác vụ chia sẻ thời gian của 5 một bộ xử lý.  Xử lý phân tán: Mỗi (nhóm) tác vụ được thực hiện riêng trên một máy tính (trường hợp đặc biệt của xử lý song song). Chương Chương Xử lý cạnh tranh là hình thức quan trọng nhất trong các hệ thống điều khiển (có thể kết hợp với xử lý  HMS phân tán) Tháng Sáu 2015 15
  16. Xử lý cạnh tranh  Các vấn đề: 5 – Tổ chức, lập lịch phân chia tài nguyên cho các tác vụ – Giao tiếp giữa các tác vụ – Đồng bộ hóa giữa các tác Chương Chương vụ  HMS Tháng Sáu 2015 16
  17. Phương pháp lập lịch  Cơ chế lập lịch – Lập lệnh tĩnh: thứ tự thực hiện các tác vụ được xác định trước khi hệ thống đi vào hoạt động. – Lập lệnh động: thứ tự thực hiện các tác vụ được xác định trong khi hệ thống đang hoạt động. 5  Sách lược lập lịch – FIFO: đến trước sẽ được thực hiện trước. – Mức ưu tiên cố định/động: các tác vụ được đặt các mức ưu tiên cố định hoặc có thể thay đổi nếu cần. – Preemptive: chen hàng, chọn một tác vụ để thực hiện trước các tác vụ khác. Chương Chương – Non-preemptive: không chen hàng, các tác vụ được thực hiện bình thường dựa trên mức ưu tiên của chúng.  Thuật toán lập lịch – Rate monotonic: càng thường xuyên càng được ưu tiên. – Deadline monotonic: càng gấp càng được ưu tiên.  HMS – Least laxity: tỷ lệ thời gian tính toán/thời hạn cuối cùng (deadline) càng lớn càng được ưu tiên. Tháng Sáu 2015 17
  18. Các vấn đề thời gian trong các hệ điều khiển phân tán  Không đồng bộ trong cácController chu kỳ hoạt động của các thiết bị Tc 5  Đặc tính khác nhau của các hệ bus  Thời gian trễ bất định  Chù kỳ trích mẫu biến thiên Tbus Tin Bus trường Tout Chương Chương I/O I/O Tio I/O I/O T Tsd ad T Actuator Actuator Sensor Sensor Ts a  HMS Tháng Sáu 2015 18
  19. 5.1.3 Hệ điều hành thời gian thực  Hệ điều hành thời gian thực là một hệ điều hành hỗ trợ các chương trình ứng dụng xử lý thời gian thực  Hầu hết các bộ điều khiển công nghiệp (PLC, 5 DCS, ) đều hoạt động trên nền một hệ điều hành thời gian thực (RTOS, Real-time Operating System)  Bản thân hệ điều hành thời gian thực cũng là một hệ thời gian thực Chương Chương  Một hệ điều hành thời gian thực bao giờ cũng là một hệ đa nhiệm (multitasking), hỗ trợ xử lý cạnh trạnh hoặc/và xử lý song song.  HMS Tháng Sáu 2015 19
  20. Các nhiệm vụ chính của hệ điều hành thời gian thực trong một bộ điều khiển  Nạp chương trình, hỗ trợ thử nghiệm, gỡ rối chương trình 5  Quản lý dữ liệu vào/ra và quản lý truyền thông – Giúp các chương trình ứng dụng dễ dàng truy cập dữ liệu mà không cần quan tâm tới cơ chế phần cứng cụ thể  Quản lý tác vụ: – Lập lịch: Phân chia thời gian CPU cho thi hành các tác vụ Chương Chương khác nhau (trong xử lý cạnh tranh) – Hỗ trợ đồng bộ hóa quá trình: Giúp các tác vụ chia sẻ tài nguyên sử dụng chung (bộ nhớ, cổng vào/ra, ) – Hỗ trợ giao tiếp liên quá trình: Giúp các tác vụ thực hiện giao tiếp, trao đổi dữ liệu hoặc phối hợp hoạt động  HMS  Các chức năng kiểm tra, chẩn đoán lỗi Tháng Sáu 2015 20
  21. Hệ điều hành thời gian thực trong các hệ thống điều khiển  Yêu cầu đặc biệt – Mã rất nhỏ, gọn – Đơn giản, dễ sử dụng, dễ lập trình 5 – Thời gian phản ứng với một sự kiện (ví dụ khi xuất hiện ngắt truyền thông, ngắt vào/ra, ) đủ ngắn – Quản lý hiệu quả các tác vụ tuần hoàn, đảm bảo chính xác về chu kỳ thời gian, độ rung nhỏ (jitter) – Quản lý vào/ra hiệu quả, đơn giản  Hai dạng thực hiện: Chương Chương – Mã nguồn: Nhân thời gian thực, được dịch và liên kết cùng với CTĐK tạo thành một chương trình duy nhất -> giải pháp vi điều khiển. – Mã chạy cài đặt sẵn trên thiết bị: Hệ điều hành thời gian thực đầy đủ, cung cấp các dịch vụ độc lập với chương trình điều khiển -> giải pháp PLC và DCS.  HMS Tháng Sáu 2015 21
  22. Cấu trúc tiêu biểu của một hệ điều hành thời gian thực CHƯƠNG TRÌNH CHƯƠNG TRÌNH CHƯƠNG TRÌNH ỨNG DỤNG ỨNG DỤNG ỨNG DỤNG 5 GIAO DIỆN LẬP TRÌNH ỨNG DỤNG QUẢN LÝ QUẢN LÝ QUẢN LÝ XỬ LÝ QUẢN LÝ BỘ NHỚ TASK VÀO/RA GIAO TIẾP SỰ KIỆN Chương Chương GIAO DIỆN PHẦN CỨNG PHẦN CỨNG MÁY TÍNH  HMS Tháng Sáu 2015 22
  23. Ví dụ phát triển: MicroC/OS-II CHƯƠNG TRÌNH ỨNG DỤNG MÃ XỬ LÝ ĐỘC LẬP CẤU HÌNH µC/OS-II OS_CORE.C OS_FLAG.C OS_CFG.H 5 OS_MBOX.C INCLUDE.H OS_MEM.C OS_TASK.C OS_TIME.C uCOS_II.C uCOS_II.H Chương Chương CHUYỂN MÃ µC/OS-II OS_CPU.H OS_CPU_A. ASM PHẦN MỀM OS_CPU_C.C PHẦN CỨNG  HMS CPU TIMER Tháng Sáu 2015 23
  24. HĐHTGT trong các giải pháp PLC và DCS  Quản lý vào/ra, quản lý các ngoại vi  Quản lý, xử lý truyền thông 5  Nạp chương trình xuống (download) và lên (upload)  Chạy từng (phần) chương trình ứng dụng  Hỗ trợ chạy chế độ thử nghiệm, gỡ rối  Tạo và quản lý các tác vụ (sự kiện và tuần hoàn) Chương Chương  Quản lý bộ nhớ  Chẩn đoán lỗi  Giao diện người-máy đơn giản  Tự động hồi phục trạng thái làm việc sau khi khởi  HMS động lại (warm-start) Tháng Sáu 2015 24
  25. Ví dụ một số RTOS trong các hệ DCS/SoftPLC  AdvantOCS (ABB): Advant Controller, hệ điều hành riêng  Freelance 2000 (ABB): D-PS hoặc D-FC, hệ điều 5 hành pSOS  Symphonie (ABB): Melody, hệ điều hành pSOS  DeltaV (Fisher-Rosermount): Visual Controller, hệ điều hành TSOS  Chương Chương I/A Series (Foxboro): CP60, hệ điều hành VRTX  PlantScape (Honeywell): PlantScape Controller, hệ điều hành riêng  Centum CS1000/CS3000 (Yokogawa): PFCx-E, AFS10x/AFS20x, hệ điều hành ORKID  HMS  4Control (Softing): SoftPLC, hệ điều hành VxWorks Tháng Sáu 2015 25
  26. 5.2 Lập trình công nghiệp theo chuẩn IEC 61131-3  Giới thiệu chung về IEC 61131 5  Tiến trình chuẩn hóa IEC 61131  Mô hình phần mềm  Biến và kiểu dữ liệu  Tổ chức chương trình Chương Chương  Ngôn ngữ lập trình  HMS Tháng Sáu 2015 26
  27. IEC 61131 là gì?  Tập chuẩn phần mềm quan trọng nhất cho các thiết bị điều khiển công nghiệp có khả năng lập trình (PLC, DCS, Soft PLC, ) 5  Bao gồm nhiều phần: – Phần 1 (General Information) – Phần 2 (Equipment requirements) – Phần 3 (Programming languages) – Phần 4 (Guidelines for users) Chương Chương – Phần 5 (Communication) – Phần 7 (Fuzzy Control) –  Hầu hết các hệ PLC và DCS hiện đại đều hỗ trợ  HMS chuẩn IEC 61131-3 Tháng Sáu 2015 27
  28. Tiến trình chuẩn hóa IEC 61131  1977: IEC 848  1979: Bắt đầu soạn bản thảo IEC 1131 5  1982: Hoàn thành bản thảo đầu tiên (5 nhóm làm việc)  1983: DIN 19239 PLC-Programming  1992: Chuẩn hóa quốc tế IEC 1131-1 và 1131-2 Chương Chương  1993: Chuẩn hóa quốc tế IEC 1131-3  1995: Chuẩn hóa quốc tế IEC 1131-TR4  1994-1997: Đính chính IEC 1131-3 (Corrigendum)  1996-1999: Sửa đổi, bổ sung (Amendment)  HMS  Từ 2000 -> IEC 61131-3 2nd Edition Tháng Sáu 2015 28
  29. Các tiến bộ của IEC 61131-3  Các yếu tố cấu hình thống nhất (CONFIGURATION, TASK, RESOURCE), mô hình TASK và RESOURCE thích hợp cho nhiều hệ thống khác nhau 5  Mô hình phần mềm thống nhất, hiện đại, với các khối tổ chức chương trình hợp lý (PROGRAM, FUNCTION BLOCK, FUNCTION)  Các ngôn ngữ lập trình thống nhất, phát triển trên cơ Chương Chương sở chuẩn hóa các ngôn ngữ hiện có quen thuộc  Các kiểu dữ liệu đa dạng, khả mở  Một thư viện các hàm và khối chức năng chuẩn  Bước đầu có ý tưởng hướng đối tượng  HMS  Một mô hình giao tiếp thống nhất. Tháng Sáu 2015 29
  30. Mô hình phần mềm CONFIGURATION RESOURCE RESOURCE TASK TASK TASK TASK 5 PROGRAM PROGRAM PROGRAM PROGRAM FB FB FB FB GLOBAL and DIRECTLY REPRESENTED VARIABLES and INSTANCE-SPECIFIC INITIALIZATIONS Chương Chương ACCESS PATHS Communication function (See IEC 1131-5) Execution control path or Variable access paths FB  HMS Function block Tháng Sáu 2015 Variable 30
  31. Các yếu tố cấu hình  Cấu hình (CONFIGURATION): – Tương ứng cho cả hệ PLC, có thể gồm nhiều CPU ghép nối – Mỗi PLC tại một thời điểm bất kỳ chỉ có một cấu hình. 5 – Bao gồm một hay nhiều tài nguyên  Tài nguyên (RESOURCE) – Tương ứng cho một CPU với các vào/ra và HMI (đơn giản) tương ứng – Bao gồm một hoặc nhiều chương trình hoạt động dưới sự điều khiển của một hoặc nhiều tác vụ Chương Chương  Tác vụ (TASK) – Tác vụ tuần hoàn (Periodic Task) – Tác vụ sự kiện, task đơn (Event Task, Single Task) – Tác vụ rỗi (Idle Task)  Biến toàn cục (Global Variables)  HMS  Lối truy nhập (Access Path) Tháng Sáu 2015 31
  32. Các kiểu dữ liệu cơ bản  Kiểu Bool BOOL  Kiểu nguyên có dấu SINT, INT, DINT, LINT, INT  Kiểu nguyên dương USINT, UINT, UDINT, ULINT 5  Số thực REAL, LREAL  Khoảng thời gian TIME  Ngày tháng DATE  Thời gian trong ngày TIME_OF_DAY, TOD Chương Chương  Ngày tháng và thời gian DATE_AND_TIME, DT  Chuỗi ký tự STRING, WSTRING  Chuỗi bit BYTE, WORD, DWORD, LWORD  HMS Tháng Sáu 2015 32
  33. Các kiểu dữ liệu dẫn xuất  Dẫn xuất trực tiếp: TYPE RU_REAL : REAL ; END_TYPE  Liệt kê: TYPE ANALOG_SIGNAL_TYPE : (SINGLE_ENDED, DIFFERENTIAL) ; 5 END_TYPE  Dãy con: TYPE ANALOG_DATA : INT (-4095 4095) ; END_TYPE  Mảng: TYPE ANALOG_16_INPUT_DATA : ARRAY [1 16] OF ANALOG_DATA ; Chương Chương END_TYPE  Cấu trúc: TYPE ANALOG_CHANNEL_CONFIGURATION: STRUCT RANGE : ANALOG_SIGNAL_RANGE ; MIN_SCALE : ANALOG_DATA ; MAX_SCALE : ANALOG_DATA ;  HMS END_STRUCT; Tháng Sáu 2015 33
  34. Các kiểu dữ liệu tổng quát ANY ANY_DERIVED ANY_ELEMENTARY ANY_MAGNITUDE ANY_NUM 5 ANY_REAL LREAL REAL ANY_INT LINT, DINT, INT, SINT ULINT, UDINT, UINT, USINT TIME Chương Chương ANY_BIT LWORD, DWORD, WORD, BYTE, BOOL ANY_STRING STRING WSTRING ANY_DATE DATE_AND_TIME  HMS DATE, TIME_OF_DAY Tháng Sáu 2015 34
  35. Khai báo biến  Kiểu của biến: – Kiểu cơ bản, – Kiểu dẫn xuất, 5 – Kiểu tổng quát – Khối chức năng, – Khối chương trình  Từ khóa Chương Chương – Bắt đầu với VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR_EXTERNAL, VAR_GLOBAL, VAR_ACCESS, VAR_TEMP hoặc VAR_CONFIG – Có thể kèm theo thuộc tính RETAIN, NON_RETAIN, CONSTANT, AT – Kết thúc với END_VAR  HMS Tháng Sáu 2015 35
  36. Ký hiệu biến trực tiếp  Tiền tố – I Biến đầu vào (Input) – Q Biến đầu ra (Output) – M Biến nhớ (Memory) 5 – X hoặc không ghi 1 bit, mặc định là BOOL – B 8 bit, mặc định là BYTE – W 16 bit, mặc định là WORD – D 32 bit, mặc định là DWORD – L 64 bit, mặc định là LWORD Chương Chương  Ví dụ: – %QX75, %Q75 Bit ra vị trí 75 – %IW215 Từ vào vị trí 215 – %QB7 Byte vào vị trí 7 – %MD48 Từ đúp vào tại vị trí ô nhớ 48 – %IW2.5.7.1 Từ vào kênh 1, slot 7, rack 5, station 2  HMS – %Q* Đầu vào chưa định vị trí Tháng Sáu 2015 36
  37. Ví dụ khai báo biến VAR RETAIN AT %IW6.2 : WORD; AT %MW6 : INT; END_VAR 5 VAR_GLOBAL LIM_SW_S5 AT %IX27 : BOOL = TRUE; CONV_START AT %QX25 : BOOL; TEMPERATURE AT %IW28: INT; C2 AT %Q* : BYTE; END_VAR Chương Chương VAR INARY AT %IW6 : ARRAY [0 9] OF INT; END_VAR VAR CONDITION_RED : BOOL = 1; IBOUNCE : WORD = 16#FF00; MYDUB : DWORD; AWORD, BWORD, CWORD : INT = 8; MYSTR: STRING[10];  HMS END_VAR Tháng Sáu 2015 37
  38. Các khối tổ chức chương trình (POU)  Hàm (FUNCTION) – Tương tự hàm PASCAL, có thể nhiều vào, chính xác một ra 5 – Như một hệ tĩnh, không có trạng thái – Có giá trị sử dụng lại  Khối chức năng (FUNCTION BLOCK) – Tương tự lớp trong lập trình HĐT, có thể có nhiều đầu ra – Như một hệ động, có trạng thái Chương Chương – Phân biệt giữa kiểu và thể nghiệm theo ngữ cảnh – Có giá trị sử dụng lại  Chương trình (PROGRAM) – Về cơ bản giống như khối chức năng – Truy cập được các biến trực tiếp (biến vào/ra, biến nhớ trực tiếp) và các biến toàn cục  HMS – Không có giá trị sử dụng lại Tháng Sáu 2015 38
  39. Khai báo và sử dụng hàm KHAI BÁO HÀM (* Khai báo hàm *) Name FUNCTION fct1 : REAL Data Type P1 VAR_INPUT Data Type Data Type 5 P2 a, b: REAL; Data Type P3 c : REAL:= 1.0; END_VAR Các tham số hình thức fct1 := a*b/c; END_FUNCTION SỬ DỤNG HÀM Chương Chương (* Gọi hàm *) Name P1 X P2 y := fct1(a:= x, b:= 2.0); 0.25 P3 Các tham số thực tại  HMS Tháng Sáu 2015 39
  40. Khai báo và sử dụng khối chức năng KHAI BÁO KHỐI CHỨC NĂMG FUNCTION_BLOCK Example VAR_INPUT FB_NAME X : BOOL; Data Type P1 O1 Data Type Data Type Y : BOOL; 5 P2 O2 Data Type Data Type P3 END_VAR VAR_OUTPUT Các tham biến hình thức Z : BOOL; END_VAR SỬ DỤNG KHỐI CHỨC NĂNG VAR Chương Chương Tên biến thể nghiệm fb1 INTERNAL_STATE: BOOL; FB_NAME END_VAR P1 O1 (* statements of X P2 O2 Y functionblock body *) 0.25 P3 END_FUNCTION_BLOCK  HMS Các tham số thực tại Tháng Sáu 2015 40
  41. Các ngôn ngữ lập trình  Các ngôn ngữ lập trình văn bản (textual languages): – Instruction List (IL) : Một dạng hợp ngữ – Structured Text (ST): Giống PASCAL – Các thành phần SFC có thể sử dụng phối hợp 5  Các ngôn ngữ đồ họa (graphical languages): – Ladder Diagram (LD): Giống mạch rơ le – Funtion Block Diagram (FBD): Giống mạch nguyên lý – Sequential Funtion Charts (SFC): Xuất xứ từ mạng Petri/Grafcet Sequential Function Charts Chương Chương Instruction List (IL) Structured Text (ST) LD A ANDN B C:= A AND NOT B ST C Function Block Diagram (FBD) Ladder Diagram (LD) AND A B C  HMS A C -| | |/| ( ) B Tháng Sáu 2015 41
  42. Các ngôn ngữ văn bản: IL và ST  Các yếu tố chung: TYPE END_TYPE VAR END_VAR VAR_INPUT END_VAR 5 VAR_OUTPUT END_VAR VAR_IN_OUT END_VAR VAR_EXTERNAL END_VAR VAR_TEMP END_VAR VAR_ACCESS END_VAR VAR_GLOBAL END_VAR VAR_CONFIG END_VAR Chương Chương FUNCTION END_FUNCTION FUNCTION_BLOCK END_FUNCTION_BLOCK PROGRAM END_PROGRAM STEP END_STEP TRANSITION END_TRANSITION ACTION END_ACTION  HMS Tháng Sáu 2015 42
  43. Instruction List (IL) Cú pháp câu lệnh NHÃN TOÁN TỬ/HÀM TOÁN HẠNG CHÚ THÍCH START: LD %IX1 (* PUSH BUTTON *) ANDN %MX5 (* NOT INHIBITED *) 5 ST %QX2 (* FAN ON *) LD 2#00010001 ST %QB3 Lệnh phức hợp AND( AND( %IX1 Chương Chương LD %IX1 hoặc OR %IX2 OR %IX2 ) ) Accu đa năng: chứa "giá trị tức thời" • Thích hợp với các kiểu dữ liệu khác nhau • Mã thực hiện cụ thể do trình biên dịch tạo ra  HMS • Chuẩn không qui định về các cờ trạng thái accu Tháng Sáu 2015 43
  44. Structured Text (ST)  Ngôn ngữ hoàn toàn mới, dựa trên PASCAL/C  Ưu điểm: Đơn giản, mạnh – Lập trình ở mức cao 5 – Dễ mô tả nhiệm vụ điều khiển – Lập trình có cấu trúc – Các lệnh điều khiển chương trình (IF, WHILE, FOR, )  Nhược điểm: Mã chậm, lớn Chương Chương – Phụ thuộc nhiều vào chất lượng của trình biên dịch – Không phải hệ PLC/DCS nào cũng hỗ trợ  Lựa chọn hay không? – Qui mô ứng dụng – Tỉ lệ đầu tư phần cứng/phát triển phần mềm  HMS – Điều khiển đơn giản hay điều khiển cao cấp Tháng Sáu 2015 44
  45. Các ngôn ngữ đồ họa: LD, FBD và SFC  Các yếu tố chung: – Ký hiệu mô tả các khối và đường nét: – Hướng của các dòng trong mạng 5  Power flow  Signal flow  Activity flow – Đánh giá mạng (network evaulation) – Các yếu tố điều khiển thực thi  Các ký hiệu nhảy Chương Chương  Các ký hiệu kết thúc  Lựa chọn ngôn ngữ phù hợp: – LD cho mạch điều khiển logic – FBD cho điều khiển tương tự (ĐK quá trình) và điều khiển logic – SFC cho điều khiển trình tự, phối hợp sử dụng LD và FBD  HMS Tháng Sáu 2015 45
  46. Ladder Diagram I1 I2 O1 Tiếp điểm thường mở (NO) I3 Tiếp điểm thường đong (NC) P Tiếp điểm nhận biết sườn xung lên C1 I1 CTU N Tiếp điểm nhận biết sườn xung xuống CU Q 50 PV CV Cuộn dây (đầu ra) Cuộn dây âm (đầu ra nghịch đảo) Chương Chương 5 S Cuộn dây đặt R Cuộn dây xoá P Cuộn dây cảm nhận sườn xung lên N Cuộn dây cảm nhận sườn xung xuống  HMS Tháng Sáu 2015 46
  47. Function Block Diagram C1 & I1 CTU CU Q LED I2 50 PV CV >> Safety I3 R TC001 Chương Chương 5 PID TT001 TY001 AI SP001 SP AO OUT PV CV IN M001 MAN  HMS Tháng Sáu 2015 47
  48. Sequential Function Chart (SFC)  Step: Một bước thực hiện trong điều khiển trình tự – Có thể bao gồm nhiều hành động đi kèm Initial – Có ít nhất một bước tích cực T1 – Trạng thái hệ thống được xác định qua các bước tích cực Active  Transition: Chuyển tiếp, được thực hiện T2 khi điều kiện chuyển tiếp thỏa mãn Final – Lập trình bằng ST, FBD, LD hoặc IL T3 Chương Chương 5  Action: Hành động đi với một bước – Nằm trong một "Action Block" – Được kiểm soát thực thi qua các "Qualifier" – Lập trình bằng ST, FBD, LD hoặc IL  HMS Tháng Sáu 2015 48
  49. Các loại chuyển tiếp SFC S1 S1 S1 5 S2 S2 S3 S2 S3 a) Đơn giản b) Phân nhánh cạnh tranh c) Phân nhánh song song (phân nhánh OR) (phân nhánh AND) Chương Chương S2 S3 S2 S3 S4 S4 d) Chuyển tiếp lựa chọn e) Chuyển tiếp đồng bộ  HMS Kết hợp kiểu OR (Kết hợp kiểu AND) Tháng Sáu 2015 49
  50. 5.3 Khối chức năng và chuẩn IEC 61499  Phương pháp luận khối chức năng  Các mô hình khối chức năng: 5 – IEC 61131-3 – IEC 61158-2, Foundation Fieldbus, Profibus-PA – IEC 61499  Chuẩn IEC 61499: Điều khiển và tự động hóa phân tán Chương Chương – Các tư tưởng cơ bản – Các mô hình kiến trúc – Viễn cảnh tương lai  HMS Tháng Sáu 2015 50
  51. Phương pháp luận khối chức năng  Gần như bất cứ một chương trình nào cũng có thể viết dưới dạng một sơ đồ khối chức năng (FBD)  FBD đơn giản, trực quan, đủ linh hoạt 5  FBD là ngôn ngữ lập trình bậc cao, không phụ thuộc vào cơ chế thực hiện bên dưới  Hỗ trợ kiểu "lập trình" cũng như "không lập trình" hay "cấu hình"  Chương Chương Phù hợp với các ứng dụng tập trung cũng như phân tán  Khả năng sử dụng lại giống như các lớp đối tượng  Dễ mở rộng thông qua bổ sung các thư viện, mỗi khối chức năng có thể lập trình bằng một ngôn ngữ  HMS riêng Tháng Sáu 2015 51
  52. Các mô hình khối chức năng  IEC 61131-3: – Thực hiện trên các bộ điều khiển khả trình – Chỉ hỗ trợ các liên kết dữ liệu (kiểu tự do) – Điều khiển thực hiện khối chức năng do tác vụ 5 – Người sử dụng "lập trình"  IEC 61158-2 – Thực hiện trên các thiết bị tham gia bus trường (PLC, Controller, Transmitter, Valves, Positioner, ) – Chỉ hỗ trợ liên kết dữ liệu (kiểu tự do) – Cơ chế điều khiển thực hiện phụ thuộc vào thiết bị Chương Chương – Người sử dụng "cấu hình" – Được hỗ trợ trong Foundation Fieldbus và Profibus-PA  IEC 61499 – Thực hiện trên các thiết bị trong hệ thống đo lường và điều khiển công nghiệp (IPMCS) – Hỗ trợ liên kết dữ liệu và liên kết sự kiện  HMS – Qui định riêng về cơ chế điều khiển thực hiện Tháng Sáu 2015 – Lập trình theo IEC 61131-3 52
  53. IEC 61499: Function Blocks for Industrial Process Measurement and Control Systems Tập trung Khả năng lập trình Khả năng cấu hình 5 PLC IEC 61131-3 linh hoạt Chính đề khả năng phân tán Tổng hợp Khối chức năng HT sản xuất Chương Chương IEC 61499 linh hoạt linh hoạt khả năng phân tán khả năng cấu hình Phản đề khả năng lập trình khả năng lập trình DCS linh hoạt IEC 61804 Phân tán  HMS Khả năng cấu hình Tháng Sáu 2015 53
  54. Cấu hình phân tán trong các hệ bus trường (Physical View) H1 Fieldbus Segment # 3 LT LT Control Room 112 PC 111 H1 Fieldbus Re-Burned Purchased Green Segment # 2 Lime Lime Liquor Storage DT FT LT 109 110 101 19 SC 111 SC SC 110 23 24 112 20 IP 25 Chương Chương 5 104A IP IP FT 102 104B 102 21 Heater Cooler AT TT AT AT CV-101 106 107A 103 A/O 104 AT 107B H1 Fieldbus TT 22 105 SC LT 108 Segment # 1 108  HMS Tháng Sáu 2015 54
  55. Cấu hình phân tán trong các hệ bus trường (logical view) AI ISEL PID PID RATIO AO AT107B HS107 AIC107 AI AIC106 FRC103 SC103 AI AT106 5 AI LL AI PID AO AT107A AT103 AY103 FT102 FIC102 IP102 AC AIC 106 107 FRC 103 FIC Chương Chương AY 102 SC 103 103 HS FT IP 107 102 102 AT 103 AT AT AT CV-102 106 107A 107B A/O Conductivity  HMS Tháng Sáu 2015 55
  56. Các tư tưởng chính của IEC 61499  Xuất phát từ các yêu cầu: – Khả năng sử dụng lại và đóng gói phần mềm – Tính linhh hoạt, khả năng cấu hình động – Lập lịch thực thi 5 – Thiết kế trên cơ sở máy trạng thái – Tương tác giao tiếp/thực thi – Yêu cầu thời gian đáp ứng – Lựa chọn các thuật toán  Các tư tưởng chính: Chương Chương – Các ứng dụng phân tán – Đóng gói và sử dụng lại phần mềm hướng dối tượng – Giao diện dữ liệu và sự kiện – Máy trạng thái điều khiển theo sự kiện – Giao diện dịch vụ – Dịch vụ quản lý  HMS – Tính khả chuyển của phần mềm Tháng Sáu 2015 56
  57. Mô hình hệ thống (System model) Dòng sự kiện 5 Dòng dữ liệu Mạng truyền thông công nghiệp Chương Chương Thiết bị 1 Thiết bị 2 Thiết bị 3 Thiết bị 4 Ứng dụng A ƯD. C Ứng dụng B  HMS Quá trình kỹ thuật Tháng Sáu 2015 57
  58. Mô hình thiết bị (Device model)  Thiết bị chứa các tài nguyên (resources)  Thiết bị cung cấp các giao diện truyền thông và giao diện quá trình Liên kết truyền thông 5 Ranh giới thiết bị Giao diện truyền thông Tài nguyên x Tài nguyên y Tài nguyên z Ứng dụng A Chương Chương Ứng dụng C Ứng dụng B Giao diện quá trình  HMS Quá trình kỹ thuật Tháng Sáu 2015 58
  59. Mô hình tài nguyên (Resource model)  Tài nguyên lập lịch và thực thi các thuật toán FB  Tài nguyên ánh xạ các chức năng truyền thông và giao diện I/O tới các khối chức năng giao diện dịch vụ 5 Các chức năng truyền thông Ứng dụng cục bộ Ánh xạ truyền thông (hoặc một phần của ứng dụng phân tán) Sự kiện Dữ liệu FB FB Chương Chương giao diện Thuật giao diện dịch vụ toán dịch vụ Ánh xạ quá trình Các chức năng giao diện quá trình  HMS Chức năng lập lịch Tháng Sáu 2015 59
  60. Mô hình khối chức năng Sự kiện vào Sự kiện ra Dòng sự kiện Dòng sự kiện 5 Điều khiển thực thi Dòng dữ liệu Dòng dữ liệu Thuật toán Chương Chương Liên hệ sự kiện/dữ liệu Dữ liệu vào Dữ liệu ra Chức năng lập lịch  HMS Tháng Sáu 2015 60
  61. Khối chức năng tổng hợp  Tổng hợp chức năng  Sử dụng lại  Không phân tán được Các sự kiện vào Sác sự kiện ra 5 Điều khiển thực thi Tên kiểu Chương Chương  HMS Các biến vào Các biến ra Tháng Sáu 2015 61
  62. Các khối chức năng giao diện dịch vụ EVENT INIT INITO EVENT EVENT INIT INITO EVENT EVENT REQ CNF EVENT EVENT RSP IND EVENT XXXXXX YYYYYY BOOL QI QO BOOL BOOL QI QO BOOL ANY PARAMS STATUS ANY 5 ANY PARAMS STATUS ANY ANY SD_1 RD_1 ANY ANY SD_1 RD_1 ANY : : : : : : : : ANY SD_m RD_n ANY ANY SD_m RD_n ANY (application-initiated transactions) (resource-initiated transactions) application resource resource application INIT(+) Chương Chương INIT(+) PARAMS PARAMS service initiation service initiation INITO(+) INITO(+) STATUS STATUS REQ(+) IND(+) SD_1, ,SD_m RD_1, ,RD_m data transfer STATUS CNF(+) data transfer RSP(+) RD_1, ,RD_n SD_1, ,SD_n STATUS INIT(-) INIT(-) service termination service termination INITO(-) INITO(-)  HMS STATUS STATUS t Tháng Sáu 2015 62
  63. Mô hình quản lý thiết bị  Tách biệt nhiệm vụ – Công cụ phần mềm với Thiết bị thực thi – Dịch vụ truyền thống với Dịch vụ quản lý 5 CREATE FB CREATE CON START FB STOP FB DELETE CON Chương Chương DELETE FB Device Management Proxy Device Management Kernel (in Software Toolset) (in Device)  HMS Tháng Sáu 2015 63
  64. Viễn cảnh với IEC 61499 DeviceNet EDSs Project Fieldbus DDs IEC 61915 Repository ISO 15745 ISO 10303 import etc. 5 Software Tools XML Libraries: IEC 61499 PORTABILITY IEC 61131-3 Standard management protocols ==> CONFIGURABILITY Chương Chương Standard data transfer protocols ==> INTEROPERABILITY  HMS Distributed intelligent devices & controllers Tháng Sáu 2015 64