Luận án Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn iec 61131-3 ( trình tự số)

Điều khiển trình tựlà một mảng quan trọng và có vai trò không nhỏtrong điều khiển tự động. Có thểgặp rất nhiều ví dụvề điều khiển trình tựtrong công nghiệp, trong dân dụng cũng nhưtrong nhiều lĩnh vực khác. Các hệthống trạm trộn, lò phản ứng, một dây chuyền sản xuất xi măng hay một máy giặt là các ví dụkhá điển hình cho điều khiển trình tự. Đặc biệt trong công nghiệp, điều khiển trình tựthường giữvai trò chính điều khiển các công đoạn, các quá trình theo trình tựtrong một dây chuyền sản xuất. Kểtừsau sựxuất hiện của các PLC và các hệDCS đầu tiên, các ngôn ngữlập trình điều khiển nhưLAD, FBD, IL, đã trởnên phổbiến và được sửdụng rộng rãi trong thực tế. Đây là những ngôn ngữlập trình điều khiển mạnh, được hỗ trợrất hoàn chỉnh trong hầu hết các hệthống PLC và DCS hiện nay và đã được chuẩn hóa trong tiêu chuẩn IEC 61131-3. Tuy nhiên các ngôn ngữnày lại tỏra không phù hợp cho lập trình điều khiển trình tựbởi những lý do sau: o Khó hình dung, thiếu trực quan: các đoạn mã điều khiển trình tựviết bằng các ngôn ngữlập trình này thường thiếu trực quan, khó hình dung. Dường nhưkhông có một sựliên hệrõ ràng giữa các đoạn mã lệnh với các giai đoạn trong trình tự điều khiển. o Do khó hình dung và thiếu trực quan nên việc lập trình điều khiển trình tựsửdụng các ngôn ngữnày sẽgặp nhiều khó khăn, phức tạp. Ngoài ra, việc phân tích, tìm hiểu hệthống cũng trởnên không đơn giản. o Dễmắc lỗi, khó phát hiện và sửa lỗi: đây là hệquảtất yếu của những khó khăn trên. Việc kiểm tra, phát hiện nguyên nhân và sửa lỗi thường khó khăn và tốn kém nhiều thời gian, công sức. o Kém linh hoạt, khó mởrộng: khi cần thêm, bớt hay sửa đổi một công đoạn nào đó, dù đơn giản, người lập trình cũng có thểgặp nhiều khó khăn, phải sửa lại không ít mã chương trình và có thểlại mắc những lỗi nào đó. Nguyên nhân cơbản của các khó khăn trên là do bản chất của các ngôn ngữlập trình này không phù hợp đểmô tảcác hệthống hoạt động theo trình tự. Ngôn ngữlập trình SFC, một trong các ngôn ngữlập trình được qui định trong chuẩn IEC 61131-3, tỏra rất thích hợp cho điều khiển trình tự. Dựa trên cơsởmạng Petri và Grafcet, ngôn ngữSFC được xây dựng phục vụcho việc mô tảvà lập trình điều khiển các hệthống hoạt động theo trình tự. Grafcet là một công cụ Xây dựng gói phần mềm SFC cho điều khiển trình tựtheo chuẩn IEC 61131-3 2 mạnh, được xây dựng từnhững yêu cầu rất thực tếtrong quá trình sửdụng và lập trình các thiết bị điều khiển logic khảtrình (PLC): o Yêu cầu mô tảtrình tựcác trạng thái của một hệthống sựkiện rời rạc với một sốlượng rất lớn các trạng thái. o Hỗtrợkhảnăng hoạt động song song. o Chỉmô tảnhững thay đổi, những hành động thực sự được thực hiện khi có những thay đổi ở đầu vào và che đi tất cảnhững gì không thay đổi. Điều này làm giảm độphức tạp của hệthống và rất hữu ích khi cần tìm hiểu, phân tích hay mô tảnhững hệthống lớn, phức tạp. Ngôn ngữSFC là sựcụthểhóa của Grafcet, có tính đến các yếu tốkĩthuật và chức năng điều khiển, và đã được chuẩn hóa. Trong chuẩn IEC 61131-3, SFC không được gọi là một ngôn ngữlập trình mà là một phương pháp mô tảvà tổ chức các chương trình điều khiển. Tuy nhiên, trong thực tế, SFC vẫn thường được gọi và được coi nhưmột ngôn ngữlập trình điều khiển, cũng giống nhưcác ngôn ngữlập trình LAD, FBD, Đểquen thuộc và tránh gây khó khăn cho người đọc, tài liệu này sẽsửdụng cách gọi “ngôn ngữlập trình SFC”. Ngôn ngữSFC đã được sửdụng trong một sốhệthống PLC và DCS hiện nay nhưcác sản phẩm của Siemens, Emerson, Honeywell, Tuy nhiên, bên cạnh giá thành cao và những hạn chếdo vấn đềbản quyền, các sản phẩm phần mềm của các hãng này thường đòi hỏi phải đi kèm với các thiết bịphần cứng của chính hãng. Nói cách khác, đểlập trình cho các thiết bị điều khiển của hãng thì phải sửdụng các phần mềm của hãng, và ngược lại phần mềm của hãng cũng chỉdùng được hoặc chỉphát huy hiệu quảtốt nhất trên những phần cứng của hãng. Điều này gây những hạn chếnhất định khi ứng dụng và gây khó khăn cho công tác nghiên cứu, giảng dạy. Bên cạnh đó, một sốhệthống thực hiện ngôn ngữlập trình SFC không hoàn chỉnh và thiếu nhiều tính năng đã được qui định trong chuẩn. Trong những năm gần đây, việc nghiên cứu và thửnghiệm chếtạo các thiết bị điều khiển dựa trên nền vi xửlý đang được thúc đẩy khá mạnh mẽ ởViệt Nam. Tuy nhiên, có một thực tếlà các sản phẩm phần mềm của Việt Nam sửdụng cho các thiết bịnày lại rất hạn chếvà ít được chú ý phát triển. Hầu nhưchỉcó các phần mềm nhỏ, lẻ, đơn giản và chủyếu phục vụcho một mục đích sửdụng hẹp nào đó. Thực tếtrên đặt ra khá cấp bách nhu cầu vềcác phần mềm của Việt Nam phục vụcho lập trình điều khiển, có thểsửdụng trong nghiên cứu giảng dạy và trong Xây dựng gói phần mềm SFC cho điều khiển trình tựtheo chuẩn IEC 61131-3 3 công nghiệp. Đó cũng chính là mục đích và động lực để đồán tốt nghiệp này được thực hiện.

pdf27 trang | Chia sẻ: ngtr9097 | Lượt xem: 2481 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn iec 61131-3 ( trình tự số), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BẢN THUYẾT MINH LUẬN ÁN TỐT NGHIỆP (Bao gồm cả những phát triển mới nhất so với luận án tốt nghiệp cũ) ĐỀ TÀI: XÂY DỰNG GÓI PHẦN MỀM SFC CHO ĐIỀU KHIỂN TRÌNH TỰ THEO CHUẨN IEC 61131-3 Tác giả : Nghiêm Xuân Trường Đơn vị : Bộ môn Điều khiển tự động, Khoa Điện, trường Đại học Bách Khoa Hà Nội Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 i MỤC LỤC 1 XUẤT XỨ CỦA ĐỒ ÁN TỐT NGHIỆP.......................................................... 1 2 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU............................... 4 2.1 Cơ sở lý thuyết ..................................................................................... 4 2.2 Phương pháp nghiên cứu...................................................................... 6 2.2.1 Phương pháp phân tích, thiết kế và lập trình hướng đối tượng....... 6 2.2.2 Sử dụng mẫu thiết kế .................................................................... 7 2.2.3 Tìm hiểu các sản phẩm tương tự đã có .......................................... 8 3 NỘI DUNG NGHIÊN CỨU VÀ KẾT QUẢ ĐẠT ĐƯỢC................................... 9 3.1 Chương trình chạy (Runtime Engine – RTE)....................................... 10 3.2 Công cụ phát triển trực quan (Visual Engineering Tools) ................... 12 3.2.1 Cơ chế lưu trữ và trao đổi dữ liệu................................................ 12 3.2.2 Trao đổi thông tin giữa các thành phần trong gói phần mềm....... 14 3.2.3 Giao diện đồ họa chuẩn, dễ sử dụng, tính thông tin cao .............. 14 3.2.4 Soạn thảo biểu đồ SFC................................................................ 16 3.2.5 Hỗ trợ các biểu thức logic điều kiện............................................. 17 3.2.6 Cơ chế kiểm tra lỗi và thông báo lỗi có tính tương tác cao ........... 18 3.2.7 Dịch, nạp xuống, thực thi và quan sát sự thực thi chương trình điều khiển trên chương trình chạy.................................................................... 19 3.3 Các module phần mềm mô phỏng đối tượng điều khiển trình tự........ 20 3.3.1 Mô phỏng đối tượng lò phản ứng hóa học .................................... 21 3.3.2 Mô phỏng đối tượng máy giặt....................................................... 23 4 KHẢ NĂNG ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN................................... 25 Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 1 1 XUẤT XỨ CỦA ĐỒ ÁN TỐT NGHIỆP Điều khiển trình tự là một mảng quan trọng và có vai trò không nhỏ trong điều khiển tự động. Có thể gặp rất nhiều ví dụ về điều khiển trình tự trong công nghiệp, trong dân dụng cũng như trong nhiều lĩnh vực khác. Các hệ thống trạm trộn, lò phản ứng, một dây chuyền sản xuất xi măng hay một máy giặt là các ví dụ khá điển hình cho điều khiển trình tự. Đặc biệt trong công nghiệp, điều khiển trình tự thường giữ vai trò chính điều khiển các công đoạn, các quá trình theo trình tự trong một dây chuyền sản xuất. Kể từ sau sự xuất hiện của các PLC và các hệ DCS đầu tiên, các ngôn ngữ lập trình điều khiển như LAD, FBD, IL,… đã trở nên phổ biến và được sử dụng rộng rãi trong thực tế. Đây là những ngôn ngữ lập trình điều khiển mạnh, được hỗ trợ rất hoàn chỉnh trong hầu hết các hệ thống PLC và DCS hiện nay và đã được chuẩn hóa trong tiêu chuẩn IEC 61131-3. Tuy nhiên các ngôn ngữ này lại tỏ ra không phù hợp cho lập trình điều khiển trình tự bởi những lý do sau: o Khó hình dung, thiếu trực quan: các đoạn mã điều khiển trình tự viết bằng các ngôn ngữ lập trình này thường thiếu trực quan, khó hình dung. Dường như không có một sự liên hệ rõ ràng giữa các đoạn mã lệnh với các giai đoạn trong trình tự điều khiển. o Do khó hình dung và thiếu trực quan nên việc lập trình điều khiển trình tự sử dụng các ngôn ngữ này sẽ gặp nhiều khó khăn, phức tạp. Ngoài ra, việc phân tích, tìm hiểu hệ thống cũng trở nên không đơn giản. o Dễ mắc lỗi, khó phát hiện và sửa lỗi: đây là hệ quả tất yếu của những khó khăn trên. Việc kiểm tra, phát hiện nguyên nhân và sửa lỗi thường khó khăn và tốn kém nhiều thời gian, công sức. o Kém linh hoạt, khó mở rộng: khi cần thêm, bớt hay sửa đổi một công đoạn nào đó, dù đơn giản, người lập trình cũng có thể gặp nhiều khó khăn, phải sửa lại không ít mã chương trình và có thể lại mắc những lỗi nào đó. Nguyên nhân cơ bản của các khó khăn trên là do bản chất của các ngôn ngữ lập trình này không phù hợp để mô tả các hệ thống hoạt động theo trình tự. Ngôn ngữ lập trình SFC, một trong các ngôn ngữ lập trình được qui định trong chuẩn IEC 61131-3, tỏ ra rất thích hợp cho điều khiển trình tự. Dựa trên cơ sở mạng Petri và Grafcet, ngôn ngữ SFC được xây dựng phục vụ cho việc mô tả và lập trình điều khiển các hệ thống hoạt động theo trình tự. Grafcet là một công cụ Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 2 mạnh, được xây dựng từ những yêu cầu rất thực tế trong quá trình sử dụng và lập trình các thiết bị điều khiển logic khả trình (PLC): o Yêu cầu mô tả trình tự các trạng thái của một hệ thống sự kiện rời rạc với một số lượng rất lớn các trạng thái. o Hỗ trợ khả năng hoạt động song song. o Chỉ mô tả những thay đổi, những hành động thực sự được thực hiện khi có những thay đổi ở đầu vào và che đi tất cả những gì không thay đổi. Điều này làm giảm độ phức tạp của hệ thống và rất hữu ích khi cần tìm hiểu, phân tích hay mô tả những hệ thống lớn, phức tạp. Ngôn ngữ SFC là sự cụ thể hóa của Grafcet, có tính đến các yếu tố kĩ thuật và chức năng điều khiển, và đã được chuẩn hóa. Trong chuẩn IEC 61131-3, SFC không được gọi là một ngôn ngữ lập trình mà là một phương pháp mô tả và tổ chức các chương trình điều khiển. Tuy nhiên, trong thực tế, SFC vẫn thường được gọi và được coi như một ngôn ngữ lập trình điều khiển, cũng giống như các ngôn ngữ lập trình LAD, FBD,… Để quen thuộc và tránh gây khó khăn cho người đọc, tài liệu này sẽ sử dụng cách gọi “ngôn ngữ lập trình SFC”. Ngôn ngữ SFC đã được sử dụng trong một số hệ thống PLC và DCS hiện nay như các sản phẩm của Siemens, Emerson, Honeywell,… Tuy nhiên, bên cạnh giá thành cao và những hạn chế do vấn đề bản quyền, các sản phẩm phần mềm của các hãng này thường đòi hỏi phải đi kèm với các thiết bị phần cứng của chính hãng. Nói cách khác, để lập trình cho các thiết bị điều khiển của hãng thì phải sử dụng các phần mềm của hãng, và ngược lại phần mềm của hãng cũng chỉ dùng được hoặc chỉ phát huy hiệu quả tốt nhất trên những phần cứng của hãng. Điều này gây những hạn chế nhất định khi ứng dụng và gây khó khăn cho công tác nghiên cứu, giảng dạy. Bên cạnh đó, một số hệ thống thực hiện ngôn ngữ lập trình SFC không hoàn chỉnh và thiếu nhiều tính năng đã được qui định trong chuẩn. Trong những năm gần đây, việc nghiên cứu và thử nghiệm chế tạo các thiết bị điều khiển dựa trên nền vi xử lý đang được thúc đẩy khá mạnh mẽ ở Việt Nam. Tuy nhiên, có một thực tế là các sản phẩm phần mềm của Việt Nam sử dụng cho các thiết bị này lại rất hạn chế và ít được chú ý phát triển. Hầu như chỉ có các phần mềm nhỏ, lẻ, đơn giản và chủ yếu phục vụ cho một mục đích sử dụng hẹp nào đó. Thực tế trên đặt ra khá cấp bách nhu cầu về các phần mềm của Việt Nam phục vụ cho lập trình điều khiển, có thể sử dụng trong nghiên cứu giảng dạy và trong Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 3 công nghiệp. Đó cũng chính là mục đích và động lực để đồ án tốt nghiệp này được thực hiện. Mục tiêu đặt ra đối với đồ án Mục tiêu bước đầu đặt ra là xây dựng một gói phần mềm bao gồm ba phần chính: o Chương trình chạy (Runtime Engine - RTE) thực thi các chương trình điều khiển trên các bộ điều khiển mà không cần biên dịch. Chương trình điều khiển được xây dựng dưới dạng cấu hình, sử dụng một ngôn ngữ trung gian với định dạng riêng, đảm bảo tính khả chuyển và không phụ thuộc nền tảng. Trước mắt, các bộ điều khiển được lựa chọn hỗ trợ là các máy tính cá nhân công nghiệp (ví dụ như PC/104), chạy trên nền hệ điều hành Windows NT. o Công cụ phát triển trực quan (Visual Engineering Tool - VET) cho phép lập trình điều khiển một cách trực quan bằng phương pháp kéo – thả và khai báo đặt cấu hình cũng như hỗ trợ theo dõi quá trình hoạt động của hệ thống điều khiển theo từng bước. Ngôn ngữ lập trình được hỗ trợ đầu tiên là SFC. Các ngôn ngữ lập trình khác sẽ dần được thực hiện trong thời gian tới. o Các module phần mềm mô phỏng đối tượng điều khiển trình tự là công cụ rất hữu ích phục vụ cho công tác học tập, giảng dạy, thí nghiệm. Hai đối tượng điều khiển trình tự được mô phỏng là lò phản ứng và máy giặt. Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 4 2 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU 2.1 Cơ sở lý thuyết Trong xu thế toàn cầu hóa và sự phát triển nhanh chóng và mạnh mẽ của khoa học công nghệ, các chuẩn quốc tế có vai trò ngày càng quan trọng. Việc tuân theo các chuẩn quốc tế sẽ giúp cho sản phẩm có tính linh hoạt và tương thích cao hơn, khả năng ứng dụng trong thực tế tốt hơn đồng thời có tính sẵn sàng cao đối với sự phát triển và thay đổi trong tương lai. Thực tế, việc hỗ trợ và tuân theo các chuẩn quốc tế đã trở thành một yêu cầu bắt buộc đối với các sản phẩm tự động hóa, vốn được sử dụng nhiều trong lĩnh vực công nghiệp cũng như nhiều lĩnh vực quan trọng khác. Không nằm ngoài qui luật đó, đồ án tốt nghiệp này được thực hiện trên cơ sở chuẩn IEC 61131-3 (từ nay gọi tắt là chuẩn). IEC 61131 là tiêu chuẩn về bộ điều khiển khả trình PLC và các thiết bị ngoại vi đi kèm, gồm 9 phần. Phần 3 của chuẩn này (gọi tắt là IEC 61131-3) định nghĩa các ngôn ngữ lập trình cho các thiết bị điều khiển khả trình, bao gồm: biểu đồ hình thang (Ladder Diagram, LD), biểu đồ khối chức năng (Function Block Diagram, FBD), liệt kê lệnh (Instruction List, IL), ngôn ngữ kiểu văn bản có cấu trúc (Structured Text, ST), và phương pháp lập trình đồ họa SFC (Sequential Function Chart) để biểu diễn các thuật toán điều khiển trình tự. Bên cạnh việc định nghĩa các ngôn ngữ lập trình, IEC 61131-3 còn đưa ra mô hình phần mềm, mô hình giao tiếp và mô hình lập trình cùng những thành phần quan trọng của chúng như chương trình (Program), khối chức năng (Function Block), hàm (Function), tác vụ (Task),… Một hệ thống sự kiện rời rạc (discrete-event system) là một hệ thống bao gồm một số hữu hạn các trạng thái (state) và sự chuyển tiếp (transition) từ một trạng thái này sang một trạng thái khác của hệ thống được quyết định bởi các sự kiện (event). Các sự kiện này không xác định trước về thời điểm xuất hiện. Một ví dụ đơn giản và điển hình của hệ thống sự kiện rời rạc là một chiếc đèn điện. Một đèn điện chỉ có hai trạng thái là bật và tắt. Việc chuyển đổi giữa hai trạng thái này được quyết định bởi sự kiện bật/tắt công tắc điện. Bài toán điều khiển trình tự là một trường hợp của hệ thống sự kiện rời rạc, trong đó có sự phối hợp của điều khiển logic và điều khiển quá trình. Trong bài toán điều khiển trình tự, điều được quan tâm hàng đầu là trình tự và sự thực hiện của các quá trình chứ không phải là việc điều khiển từng quá trình cụ thể. SFC là một phương pháp biểu diễn các thuật toán điều khiển trình tự, đặc biệt tiện dụng khi mô tả hoạt động của một hệ thống điều khiển quá trình phức tạp. SFC được xây dựng trên cơ sở mạng Petri và chuẩn IEC 848 Grafcet với một số thay đổi nhất định cho phù hợp với chức năng điều khiển. SFC tỏ ra phù hợp nhất cho lập trình điều khiển trình tự với các ưu điểm sau: Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 5 o Có sự tương ứng và giống với biểu đồ quá trình hoạt động của hệ thống. o Dễ dàng chuyển từ sơ đồ công nghệ hay mô tả quá trình hoạt động của hệ thống sang SFC. o Lập trình trực quan, đơn giản. o Thuận lợi cho phân tích, tìm hiểu hệ thống. o Hạn chế khả năng mắc lỗi. Dễ dàng tìm và phát hiện các lỗi nếu có. o Linh hoạt, dễ dàng thêm, bớt hay sửa đổi quá trình hoạt động. Các yếu tố cơ bản của SFC là bước (Step), chuyển tiếp (Transition) và hành động (Action). Bước: diễn tả một trạng thái mà tại đó, ứng xử của hệ thống được xác định trước bởi các hành động gắn với bước đó. Một bước có thể tích cực (active) hoặc không tích cực (inactive). Tại một thời điểm bất kì, trạng thái của hệ thống được xác định bởi tập hợp các bước tích cực và các giá trị biến nội tại và biến ra. Mỗi mạng SFC chỉ có chính xác duy nhất một bước bắt đầu (initial step), xác định trạng thái ban đầu của hệ thống. Một bước được thể hiện dạng đồ họa bằng một khối hình chữ nhật, có một đầu vào và một đầu ra. Bước bắt đầu được biểu diễn bằng một hình chữ nhật với đường bao là nét đôi (xem hình bên). Chuyển tiếp: thể hiện một điều kiện chuyển trạng thái của hệ thống, từ một hay nhiều bước phía trước xuống một hay nhiều bước phía sau. Mỗi chuyển tiếp được gắn với một điều kiện chuyển tiếp (transition condition) mà giá trị logic của nó sẽ điều khiển sự thực hiện của quá trình chuyển tiếp. Các bước phải được nối với nhau thông qua các chuyển tiếp. Có ba loại chuyển tiếp được qui định trong chuẩn là: chuyển tiếp đơn giản, chuyển tiếp phân nhánh cạnh tranh, chuyển tiếp phân nhánh song song. Hành động: là tập hợp các luật ứng xử của hệ thống được thực hiện khi bước mà nó gắn với được tích cực. Một hành động có thể đơn giản chỉ là một biến Bool (Bool Action), cũng có thể là một đoạn chương trình viết bằng một trong các ngôn ngữ lập trình đã định nghĩa trong chuẩn. Các hành động không gắn trực tiếp với các bước mà gián tiếp thông qua các khối hành động (Action Block). Một khối hành động chỉ gắn với một hành động duy nhất và một bước duy nhất. Mỗi khối hành động có một cờ (qualifier) xác định cách thức hoạt động của nó. Bảng dưới đây tóm tắt ý nghĩa của các cờ đã được qui định trong chuẩn. Step1 Step0 Bước thường Bước bắt đầu ChuyÓn tiÕp T1 Step1 D T#1s Q0.1 N Q0.0 C¸c khèi hμnh ®éng Hμnh ®éng Qualifier cña khèi hμnh ®éng Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 6 Cờ Ý nghĩa Cờ Ý nghĩa Trống Giống như N P Xung N Không lưu trữ SD Lưu trữ và trễ thời gian R Xoá DS Trễ thời gian và lưu trữ S Lưu trữ (đặt) SL Lưu trữ và giới hạn thời gian L Giới hạn về thời gian P1 Sườn lên D Trễ thời gian P0 Sườn xuống Luật chuyển tiếp: quá trình chuyển tiếp sẽ xảy ra khi tất cả các bước phía trước nó tích cực và điều kiện chuyển tiếp được thoả mãn. Quá trình chuyển tiếp diễn ra theo trình tự sau: o Tất cả các bước ở phía trước chuyển tiếp và nối trực tiếp với chuyển tiếp đồng thời mất tích cực. o Tất cả các bước ở phía sau chuyển tiếp và nối trực tiếp với chuyển tiếp đồng thời được tích cực. o Sau khi đã được tích cực đồng thời, các bước ở phía sau chuyển tiếp sẽ hoạt động độc lập với nhau. Xem ví dụ ở phần 3.3.1 để có hình dung cụ thể hơn về SFC. 2.2 Phương pháp nghiên cứu Phương pháp nghiên cứu đúng đắn, khoa học là điều kiện tiên quyết để có thể đạt được những kết quả tốt trong nghiên cứu khoa học. Các phương pháp nghiên cứu chính đã được sử dụng khi thực hiện đồ án này là: 2.2.1 Phương pháp phân tích, thiết kế và lập trình hướng đối tượng Đây là một phương pháp mạnh và rất hiệu quả trong thiết kế và xây dựng phần mềm. Phương pháp này nhìn hệ thống, nhìn sự việc, vấn đề theo quan điểm đối tượng, trong đó giữ vai trò cơ bản và trung tâm là đối tượng. Một hệ thống được coi như một tập hợp các đối tượng cũng như quan hệ giữa các đối tượng đó. Phương pháp này cho ta một cái nhìn đúng đắn hơn, chính xác hơn về thế giới thực, cho phép mô tả hệ thống đúng như nó tồn tại trong thực tế và không bị phụ thuộc vào cách mô tả, cách hoạt động của máy tính. Sử dụng phương pháp phân tích, thiết kế và lập trình hướng đối tượng giúp tăng tính linh hoạt, độ ổn định, khả năng mở rộng và sử dụng lại của phần mềm, đồng thời giảm chi phí và tăng hiệu quả công việc. Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 7 So với các phương pháp khác, đặc biệt là phương pháp thiết kế cấu trúc, phương pháp phân tích, thiết kế hướng đối tượng có những ưu điểm sau: o Đảm bảo sự tương ứng giữa mô hình phân tích và mô hình thiết kế: với phương pháp cổ điển, mặc dù cùng là của một hệ thống nhưng mô hình phân tích và mô hình thiết kế không có sự tương ứng cao, do đó việc chuyển đổi qua lại giữa hai mô hình gặp nhiều khó khăn. Kết quả là nếu hệ thống có những thay đổi thì việc thực hiện lại quá trình phân tích và thiết kế sẽ phức tạp và khó khăn. Với thiết kế hướng đối tượng, giữa hai mô hình gần như có sự tương đồng nên ít gặp phải những khó khăn trên. o Tăng tính trừu tượng của bài toán: mô hình hướng đối tượng duy trì mối liên hệ chặt chẽ giữa dữ liệu và các thao tác (operation) trên dữ liệu trong một thực thể thống nhất. Điều này phản ảnh đúng bản chất của thế giới thực, do đó phương pháp phân tích, thiết kế hướng đối tượng đạt được tính trừu tượng bài toán cao hơn. o Tăng được tính ổn định trước những thay đổi. o Tăng tính sử dụng lại. o Tăng tính linh hoạt và khả năng mở rộng dễ dàng. o Độ tin cậy và an toàn cao. o Hỗ trợ khả năng hoạt động song song: bản chất của các đối tượng là tồn tại và hoạt động độc lập, có tương tác với môi trường. Do đó, trừ khi có sự chỉ định đặc biệt, các đối tượng luôn hoạt động song song. Trong đồ án này, ngôn ngữ mô hình hóa thống nhất (UML – Unified Modelling Language) được sử dụng phục vụ cho việc phân tích, thiết kế và mô tả hệ thống phần mềm. 2.2.2 Sử dụng mẫu thiết kế Mẫu thiết kế là sự hình thức hóa của cách tiếp cận một vấn đề thường gặp trong một ngữ cảnh cụ thể. Mỗi mẫu thiết kế là một giải pháp cho một vấn đề thiết kế cụ thể trong một ngữ cảnh xác định. Giải pháp được đưa ra đã được chứng minh là đúng, được sử dụng nhiều lần đem lại kết quả tốt và do đó được trừu tượng hóa thành một mẫu. Mẫu thiết kế chính là kinh nghiệm thiết kế được đúc kết lại thành mẫu chuẩn mực. Sử dụng mẫu thiết kế, người thiết kế không phải thiết kế hệ thống từ đầu, không phải giải quyết lại những bài toán đã được giải quyết mà sử dụng các kinh nghiệm, tri thức và kết quả đã có từ trước. Điều này làm cho chất lượng thiết kế tốt hơn, tăng tính sử dụng của bản thiết kế và tạo điều kiện cho người thiết kế tập trung vào sáng tạo những cái mới. Việc thiết kế những phần mềm hướng đối tượng có khả năng sử dụng lại không đơn giản. Thiết kế cần tập trung vào vấn đề cụ thể nhưng cũng phải đủ tổng quát để phục vụ cho những yêu cầu và các vấn đề cần giải quyết trong tương lai. Trong quá trình thiết kế, những giải pháp tốt sẽ được người thiết kế sử dụng lại nhiều lần Xây dựng gói phần mềm SFC cho điều khiển trình tự theo chuẩn IEC 61131-3 8 và xây dựng thành các mẫu. Những mẫu này giúp tạo ra những thiết kế hướng đối tượng mềm dẻo, uyển chuyển và có khả năng sử dụng lại. Một số mẫu thiết kế đã được sử dụng có hiệu quả trong quá trình thiết kế và thực hiện các phần mềm trong đồ án này là: Interpreter, Abstract Factory, Chain of Responsibility,… 2.2.3 Tìm hiểu các sản phẩm tương tự đã có Trong thực tế đã có nhiều sản phẩm tương tự như các phần mềm thực hiện trong đồ án này tồn tại trên thị trường. Hầu hết các sản phẩm này là của các công ty, các hãng lớn và có uy tín như Siemens, Emerson, Honeywell, ABB,… Đây là những sản phẩm rất hoàn chỉnh, đã được sử dụng, kiểm nghiệm và công nhận trong thực tế. Việc tham khảo và tìm hiểu kĩ các sản phẩm này đem lại nhiều lợi ích cho quá trình thực hiện đồ án này như: o Tìm hiểu những đặc điểm chung của các sản phẩm này. Mặc dù có thể không được qui định thành chuẩn nhưng giữa các sản phẩm bao này giờ cũng tồn tại những điểm chung về giao diện, cách thức hoạt động, tính năng,… Việc tuân theo những điểm chung này sẽ giúp cho sản phẩm tạo ra quen thuộc với người sử dụng hơn và dễ được chấp nhận hơn. o Tìm hiểu những ưu, nhược điểm