Bài giảng Các hệ PLC và DCS - Chương 5: Phần mềm điều khiển
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
Khái niệm về hệ thời gian thực
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
Tính năng thời gian thực = tính chính xác + tính kịp
thời
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 hãy click vào nút Download ở trên
Tóm tắt nội dung 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
HMS C hư ơ ng 5 1 Tháng Sáu 2015 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 HMS C hư ơ ng 5 2 Tháng Sáu 2015 Nội dung liên ngành Kỹ thuật điều khiển Khoa học máy tính Công nghệ truyền thông Hệ thời gian thực Mạng truyền thông công nghiệp Hệ phân tán Hệ điều khiển PLC & DCS HMS C hư ơ ng 5 3 Tháng Sáu 2015 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 HMS C hư ơ ng 5 4 Tháng Sáu 2015 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 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 Tính năng thời gian thực = tính chính xác + tính kịp thời HMS C hư ơ ng 5 5 Tháng Sáu 2015 Các dạng của “tính kịp thời” Thời gian Sự kiện Phản ứng ts tp T a) Chính xác tại ... (t = tp) Thời gian Sự kiện Phản ứng ts tp2 T b) Trong khoảng ... (tp2 t tp2 ) Thời gian Sự kiện Phản ứng ts tp T c) Chậm nhất là ... (t tp) tp1 Thời gian Sự kiện Phản ứng ts tp T d) Sớm nhất là ... (t tp) HMS C hư ơ ng 5 6 Tháng Sáu 2015 Đặ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 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. 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 C hư ơ ng 5 7 Tháng Sáu 2015 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, 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 khiển HMS C hư ơ ng 5 8 Tháng Sáu 2015 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ẻ – 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, ... 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 – Ứng dụng trong CN chế biến, CN chế tạo HMS C hư ơ ng 5 9 Tháng Sáu 2015 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) 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 và đánh giá (tính tiền định) HMS C hư ơ ng 5 10 Tháng Sáu 2015 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 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ức năng bên trong một bộ điều khiển (số) HMS C hư ơ ng 5 11 Tháng Sáu 2015 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 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 C hư ơ ng 5 12 Tháng Sáu 2015 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 đ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ó đ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. DORMANT READY RUNNINGWAITING HMS C hư ơ ng 5 13 Tháng Sáu 2015 Phân loại tác vụ (IEC 61131-3) Mã thực thi Tác vụ mặc định Ví dụ: - Điều khiển logic - Kiểm tra lỗi Chờ tới chu kỳ Mã thực thi Thời gian Tác vụ tuần hoàn Ví dụ: - Điều chỉnh vòng kín - Xử lý truyền thông Chờ sự kiện Mã thực thi Sự kiện Tác vụ sự kiện Ví dụ: - Điều khiển trình tự - Xử lý sự cố HMS C hư ơ ng 5 14 Tháng Sáu 2015 Quản lý tác vụ tuần hoàn void OldTask(void *pdata) { while(1){ // user codes // ... OSTimeDly(nTick); } } void NewTask(void *pdata) { while(1){ // user codes // ... OSWaitPeriod(); } } HMS C hư ơ ng 5 15 Tháng Sáu 2015 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 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). 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ý phân tán) HMS C hư ơ ng 5 16 Tháng Sáu 2015 Xử lý cạnh tranh Các vấn đề: – 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 vụ HMS C hư ơ ng 5 17 Tháng Sáu 2015 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. 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. – 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. – 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. HMS C hư ơ ng 5 18 Tháng Sáu 2015 Các vấn đề thời gian trong các hệ điều khiển phân tán Sensor I/O Controller I/O ActuatorSensor I/O Actuator I/O Bus trường Tsd Tin Tout Tad Tc Ts Tio Ta Tbus Không đồng bộ trong các chu kỳ hoạt động của các thiết bị Đặ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 HMS C hư ơ ng 5 19 Tháng Sáu 2015 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, 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 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 C hư ơ ng 5 20 Tháng Sáu 2015 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 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ụ 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 Các chức năng kiểm tra, chẩn đoán lỗi HMS C hư ơ ng 5 21 Tháng Sáu 2015 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 – 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: – 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 C hư ơ ng 5 22 Tháng Sáu 2015 GIAO DIỆN PHẦN CỨNG PHẦN CỨNG MÁY TÍNH QUẢN LÝ TASK QUẢN LÝ BỘ NHỚ QUẢN LÝ VÀO/RA XỬ LÝ GIAO TIẾP QUẢN LÝ SỰ KIỆN GIAO DIỆN LẬP TRÌNH ỨNG DỤNG CHƯƠNG TRÌNH ỨNG DỤNG CHƯƠNG TRÌNH ỨNG DỤNG CHƯƠNG TRÌNH ỨNG DỤNG Cấu trúc tiêu biểu của một hệ điều hành thời gian thực HMS C hư ơ ng 5 23 Tháng Sáu 2015 Ví dụ phát triển: MicroC/OS-II CHƯƠNG TRÌNH ỨNG DỤNG MÃ XỬ LÝ ĐỘC LẬP OS_CORE.C OS_FLAG.C OS_MBOX.C OS_MEM.C OS_TASK.C OS_TIME.C uCOS_II.C uCOS_II.H CẤU HÌNH µC/OS-II OS_CFG.H INCLUDE.H CHUYỂN MÃ µC/OS-II OS_CPU.H OS_CPU_A. ASM OS_CPU_C.C CPU TIMER PHẦN MỀM PHẦN CỨNG HMS C hư ơ ng 5 24 Tháng Sáu 2015 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 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) 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 động lại (warm-start) HMS C hư ơ ng 5 25 Tháng Sáu 2015 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 hành pSOS Symphonie (ABB): Melody, hệ điều hành pSOS DeltaV (Fisher-Rosermount): Visual Controller, hệ điều hành TSOS 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 4Control (Softing): SoftPLC, hệ điều hành VxWorks HMS C hư ơ ng 5 26 Tháng Sáu 2015 5.2 Lập trình công nghiệp theo chuẩn IEC 61131-3 Giới thiệu chung về IEC 61131 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 Ngôn ngữ lập trình HMS C hư ơ ng 5 27 Tháng Sáu 2015 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,...) 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) – 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ợ chuẩn IEC 61131-3 HMS C hư ơ ng 5 28 Tháng Sáu 2015 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 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 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) Từ 2000 -> IEC 61131-3 2nd Edition HMS C hư ơ ng 5 29 Tháng Sáu 2015 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 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ơ 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 Một mô hình giao tiếp thống nhất. HMS C hư ơ ng 5 30 Tháng Sáu 2015 Mô hình phần mềm CONFIGURATION RESOURCE TASK TASK PROGRAM PROGRAM FB FB RESO URCE TASK TASK PROGRAM PROGRAM FB FB GLOBAL and D IRECTLY REPRESENTED VARIABLES and INSTANCE-SPECIFIC IN ITIALIZATIONS ACCESS PATHS Execution control path Variable access paths FB Function block Variable or Com m unication function (See IEC 1131-5) HMS C hư ơ ng 5 31 Tháng Sáu 2015 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. – 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ụ Tác vụ (TASK) – Tác vụ tuần hoàn (Periodic Task) – Tác vụ ... task đơn (Event Task, Single Task) – Tác vụ rỗi (Idle Task) Biến toàn cục (Global Variables) Lối truy nhập (Access Path) HMS C hư ơ ng 5 32 Tháng Sáu 2015 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 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 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 C hư ơ ng 5 33 Tháng Sáu 2015 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) ; 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 ; END_TYPE Cấu trúc: TYPE ANALOG_CHANNEL_CONFIGURATION: STRUCT RANGE : ANALOG_SIGNAL_RANGE ; MIN_SCALE : ANALOG_DATA ; MAX_SCALE : ANALOG_DATA ; END_STRUCT; HMS C hư ơ ng 5 34 Tháng Sáu 2015 Các kiểu dữ liệu tổng quát ANY ANY_DERIVED ANY_ELEMENTARY ANY_MAGNITUDE ANY_NUM ANY_REAL LREAL REAL ANY_INT LINT, DINT, INT, SINT ULINT, UDINT, UINT, USINT TIME ANY_BIT LWORD, DWORD, WORD, BYTE, BOOL ANY_STRING STRING WSTRING ANY_DATE DATE_AND_TIME DATE, TIME_OF_DAY HMS C hư ơ ng 5 35 Tháng Sáu 2015 Khai báo biến Kiểu của biến: – Kiểu cơ bản, – Kiểu dẫn xuất, – Kiểu tổng quát – Khối chức năng, – Khối chương trình Từ khóa – 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 C hư ơ ng 5 36 Tháng Sáu 2015 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) – 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 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 – %Q* Đầu vào chưa định vị trí HMS C hư ơ ng 5 37 Tháng Sáu 2015 VAR RETAIN AT %IW6.2 : WORD; AT %MW6 : INT; END_VAR VAR_GLOBAL LIM_SW_S5 AT %IX27 : BOOL = TRUE; CONV_START AT %QX25 : BOOL; TEMPERATURE AT %IW28: INT; C2 AT %Q* : BYTE; END_VAR 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]; END_VAR Ví dụ khai báo biến HMS C hư ơ ng 5 38 Tháng Sáu 2015 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 – 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 – 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 – Không có giá trị sử dụng lại HMS C hư ơ ng 5 39 Tháng Sáu 2015 Khai báo và sử dụng hàm (* Khai báo hàm *) FUNCTION fct1 : REAL VAR_INPUT a, b: REAL; c : REAL:= 1.0; END_VAR fct1 := a*b/c; END_FUNCTION (* Gọi hàm *) ... y := fct1(a:= x, b:= 2.0); ... Name P1 P2 P3 Data Type Data Type Data Type Data Type Các tham số hình thức KHAI BÁO HÀM Name P1 P2 P3 X 0.25 Các tham số thực tại SỬ DỤNG HÀM HMS C hư ơ ng 5 40 Tháng Sáu 2015 Khai báo và sử dụng khối chức năng FUNCTION_BLOCK Example VAR_INPUT X : BOOL; Y : BOOL; END_VAR VAR_OUTPUT Z : BOOL; END_VAR VAR INTERNAL_STATE: BOOL; END_VAR (* statements of functionblock body *) END_FUNCTION_BLOCK X 0.25 Các tham số thực tại SỬ DỤNG KHỐI CHỨC NĂNG fb1 FB_NAME P1 O1 P2 O2 P3 Y Tên biến thể nghiệm FB_NAME P1 O1 P2 O2 P3 Data Type Data Type Data Type Data Type Các tham biến hình thức KHAI BÁO KHỐI CHỨC NĂMG Data Type HMS C hư ơ ng 5 41 Tháng Sáu 2015 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 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 Instruction List (IL) Structured Text (ST) Function Block Diagram (FBD) Ladder Diagram (LD) LD A ANDN B ST C C:= A AND NOT B A B C -| |--|/|----------------( ) AND A C B Sequential Function Charts HMS C hư ơ ng 5 42 Tháng Sáu 2015 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 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 FUNCTION ... END_FUNCTION FUNCTION_BLOCK...END_FUNCTION_BLOCK PROGRAM...END_PROGRAM STEP...END_STEP TRANSITION...END_TRANSITION ACTION...END_ACTION HMS C hư ơ ng 5 43 Tháng Sáu 2015 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 *) ST %QX2 (* FAN ON *) LD 2#00010001 ST %QB3 Lệnh phức hợp AND( LD %IX1 OR %IX2 ) AND( %IX1 hoặc 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 • Chuẩn không qui định về các cờ trạng thái accu HMS C hư ơ ng 5 44 Tháng Sáu 2015 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 – 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 – 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 – Điều khiển đơn giản hay điều khiển cao cấp HMS C hư ơ ng 5 45 Tháng Sáu 2015 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 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 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 C hư ơ ng 5 46 Tháng Sáu 2015 Ladder Diagram I1 I2 O1 I3 Tiếp điểm thường mở (NO) Tiếp điểm thường đong (NC) Tiếp điểm nhận biết sườn xung lên Tiếp điểm nhận biết sườn xung xuống Cuộn dây (đầu ra) Cuộn dây âm (đầu ra nghịch đảo) Cuộn dây đặt Cuộn dây xoá Cuộn dây cảm nhận sườn xung lên Cuộn dây cảm nhận sườn xung xuống P N S R P N CTU PV50 CV C1 CU Q I1 HMS C hư ơ ng 5 47 Tháng Sáu 2015 Function Block Diagram CTU PV CV CU Q R 50 C1 & I1 I2 I3 PID PV CV SP MAN TC001 AI TT001 SP001 M001 AO TY001 INOUT >> Safety LED HMS C hư ơ ng 5 48 Tháng Sáu 2015 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 – Có ít nhất một bước tích cực – Trạng thái hệ thống được xác định qua các bước tích cực Transition: Chuyển tiếp, được thực hiện khi điều kiện chuyển tiếp thỏa mãn – Lập trình bằng ST, FBD, LD hoặc IL 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 Active Final Initial T1 T2 T3 HMS C hư ơ ng 5 49 Tháng Sáu 2015 Các loại chuyển tiếp SFC S1 S2 S1 S2 S3 S2 S3 S4 S1 S2 S3 S2 S3 S4 a) Đơn giản b) Phân nhánh cạnh tranh (phân nhánh OR) c) Phân nhánh song song (phân nhánh AND) d) Chuyển tiếp lựa chọn Kết hợp kiểu OR e) Chuyển tiếp đồng bộ (Kết hợp kiểu AND) HMS C hư ơ ng 5 50 Tháng Sáu 2015 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: – 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 – 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 C hư ơ ng 5 51 Tháng Sáu 2015 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 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" 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ữ riêng HMS C hư ơ ng 5 52 Tháng Sáu 2015 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ụ – 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ị – 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 – Qui định riêng về cơ chế điều khiển thực hiện – Lập trình theo IEC 61131-3 HMS C hư ơ ng 5 53 Tháng Sáu 2015 IEC 61499: Function Blocks for Industrial Process Measurement and Control Systems khả năng phân tán linh hoạt khả năng lập trình linh hoạt linh hoạt khả năng phân tán khả năng cấu hình khả năng lập trình HT sản xuất linh hoạt Khối chức năng IEC 61499 PLC IEC 61131-3 Tập trung Khả năng lập trình Khả năng cấu hình DCS IEC 61804 Phân tán Khả năng cấu hình Chính đề Phản đề Tổng hợp HMS C hư ơ ng 5 54 Tháng Sáu 2015 Cấu hình phân tán trong các hệ bus trường (Physical View) Control Room PC H1 Fieldbus Segment # 1 H1 Fieldbus Segment # 2 CV-101 A/O IP 102 20 19 21 AT 107A LT 101 AT 107B TT 105 AT 106 Re-Burned Lime LT 108 Purchased Lime LT 112 Green Liquor Storage IP 104A IP 104B Heater Cooler LT 111 SC 111 SC 112 SC 108 DT 109 FT 110 SC 110 TT 104 FT 102 AT 103 24 25 23 22 H1 Fieldbus Segment # 3 HMS C hư ơ ng 5 55 Tháng Sáu 2015 Cấu hình phân tán trong các hệ bus trường (logical view) AI ISEL PID AI AI PID RATIO AI AO CV-102 A/O Conductivity PID AOAI LL FIC 102 AT 107B AT 107A AT 106 AT 103 IP 102 FT 102 SC 103 HS 107 AIC 107 AC 106 FRC 103 AY 103 AT107A AT107B HS107 AIC107 AIC106 FRC103 SC103 IP102FIC102FT102 AT106 AY103AT103 HMS C hư ơ ng 5 56 Tháng Sáu 2015 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 – 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: – 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ý – Tính khả chuyển của phần mềm HMS C hư ơ ng 5 57 Tháng Sáu 2015 Mô hình hệ thống (System model) Dòng sự kiện Dòng dữ liệu Mạng truyền thông công nghiệp Thiết bị 2 Thiết bị 3 Thiết bị 4Thiết bị 1 Ứng dụng A ƯD. C Ứng dụng B Quá trình kỹ thuật HMS C hư ơ ng 5 58 Tháng Sáu 2015 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 Tài nguyên x Quá trình kỹ thuật Tài nguyên zTài nguyên y Ứng dụng BỨng dụng C Ứng dụng A Ranh giới thiết bị Giao diện truyền thông Giao diện quá trình HMS C hư ơ ng 5 59 Tháng Sáu 2015 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ụ Ứng dụng cục bộ (hoặc một phần của ứng dụng phân tán)Ánh xạ truyền thông Các chức năng truyền thông Các chức năng giao diện quá trình Ánh xạ quá trình Dữ liệu Sự kiện Thuật toán Chức năng lập lịch FB giao diện dịch vụ FB giao diện dịch vụ HMS C hư ơ ng 5 60 Tháng Sáu 2015 Mô hình khối chức năng Dữ liệu raDữ liệu vào Sự kiện raSự kiện vào Điều khiển thực thi Dòng dữ liệu Dòng sự kiện Liên hệ sự kiện/dữ liệu Dòng sự kiện Dòng dữ liệu Chức năng lập lịch Thuật toán HMS C hư ơ ng 5 61 Tháng Sáu 2015 Khối chức năng tổng hợp Các biến raCác biến vào Các sự kiện vào Sác sự kiện ra Tên kiểu Điều khiển thực thi Tổng hợp chức năng Sử dụng lại Không phân tán được HMS C hư ơ ng 5 62 Tháng Sáu 2015 Các khối chức năng giao diện dịch vụ (application-initiated transactions) (resource-initiated transactions) BOOLQO ANYSTATUSPARAMSANY XXXXXX SD_mANY QIBOOL : : SD_1ANY EVENTCNFREQEVENT INITEVENT EVENTINITO :: ANYRD_n ANYRD_1 BOOL BOOL ANYANY ANY : ANY EVENTEVENT EVENT EVENT INDRSP INIT INITO : ANY ANY QO STATUSPARAMS YYYYYY SD_m : SD_1 : RD_n RD_1 QI REQ(+) SD_1,...,SD_m RD_1,...,RD_n CNF(+) INIT(-) STATUS resourceapplication PARAMS INIT(+) INITO(+) INITO(-) data transfer service termination service initiation STATUS STATUS IND(+) RD_1,...,RD_m SD_1,...,SD_n RSP(+) INIT(-) STATUS resource application PARAMS INIT(+) INITO(+) INITO(-) data transfer service termination service initiation STATUS STATUSt HMS C hư ơ ng 5 63 Tháng Sáu 2015 Mô hình quản lý thiết bị Device Management Kernel (in Device) Device Management Proxy (in Software Toolset) CREATE FB CREATE CON START FB STOP FB DELETE CON DELETE FB 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ý HMS C hư ơ ng 5 64 Tháng Sáu 2015 Viễn cảnh với IEC 61499 Project Repository Software Tools DeviceNet EDSs Fieldbus DDs IEC 61915 ISO 15745 ISO 10303 etc. Libraries: IEC 61499 IEC 61131-3 import XML PORTABILITY Standard management protocols ==> CONFIGURABILITY Standard data transfer protocols ==> INTEROPERABILITY Distributed intelligent devices & controllers
File đính kèm:
- bai_giang_cac_he_plc_va_dcs_chuong_5_phan_mem_dieu_khien.pdf