MỤC LỤC
1XUẤT XỨ CỦA ĐỒ ÁN TỐT NGHIỆP 1
2CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU . 4
2.1Cơ sở lý thuyết . 4
2.2Phương pháp nghiên cứu 6
2.2.1Phương pháp phân tích, thiết kế và lập trình hướng đối tượng . 6
2.2.2Sử dụng mẫu thiết kế 7
2.2.3Tìm hiểu các sản phẩm tương tự đã có 8
3NỘI DUNG NGHIÊN CỨU VÀ KẾT QUẢ ĐẠT ĐƯỢC . 9
3.1Chương trình chạy (Runtime Engine – RTE) . 10
3.2Công cụ phát triển trực quan (Visual Engineering Tools) . 12
3.2.1Cơ chế lưu trữ và trao đổi dữ liệu 12
3.2.2Trao đổi thông tin giữa các thành phần trong gói phần mềm . 14
3.2.3Giao diện đồ họa chuẩn, dễ sử dụng, tính thông tin cao 14
3.2.4Soạn thảo biểu đồ SFC 16
3.2.5Hỗ trợ các biểu thức logic điều kiện . 17
3.2.6Cơ chế kiểm tra lỗi và thông báo lỗi có tính tương tác cao . 18
3.2.7Dị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.3Các module phần mềm mô phỏng đối tượng điều khiển trình tự 20
3.3.1Mô phỏng đối tượng lò phản ứng hóa học 21
3.3.2Mô phỏng đối tượng máy giặt . 23
4KHẢ NĂNG ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN . 25
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ụ
27 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2489 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trê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 của từng sản phẩm. Rút kinh nghiệm từ
những điều này, sản phẩm tạo ra sẽ có thể có được nhiều ưu điểm và hạn
chế được các nhược điểm.
Trước khi thực hiện đồ án này, các sản phẩm sau đã được tìm hiểu: Centum
CS-3000 của Yokogawa, DeltaV của Emerson Process Management.
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 9
3 NỘI DUNG NGHIÊN CỨU VÀ KẾT QUẢ ĐẠT ĐƯỢC
Quá trình thực hiện đồ án này bao gồm các giai đoạn sau:
o Nghiên cứu, tìm hiểu kĩ nội dung của chuẩn IEC 61131-3.
o Tìm hiểu một số sản phẩm tương tự đã có mặt trên thị trường.
o Phân tích và thiết kế cấu trúc tổng quát và chi tiết của gói phần mềm.
Phương pháp phân tích và thiết kế hướng đối tượng được sử dụng trong
giai đoạn này với sự trợ giúp của ngôn ngữ mô hình hóa thống nhất UML.
o Lập trình và xây dựng gói phần mềm theo thiết kế đã có. Ngôn ngữ lập
trình hướng đối tượng C++ được sử dụng chủ yếu.
Sản phẩm của đồ án là một gói phần mềm bao gồm ba thành phần chính:
o Chương trình chạy (Runtime engine, RTE).
o Công cụ phát triển trực quan (Visual Engineering Tools, VET).
o Các module phần mềm mô phỏng đối tượng điều khiển trình tự.
Mối quan hệ giữa các thành phần trong gói phần mềm được thể hiện trong sơ đồ
dưới đây.
Công cụ phát triển trực quan
(Visual Engineering Tools)
Mô phỏng và quan sát
(Simulator and Supervisor)
Chương trình
điều khiển
Trạng thái
hoạt động
Tín hiệu vào
Trạng thái hoạt
động, tín hiệu ra
Chương trình chạy (Runtime Engine)
Phụ thuộc nền tảng
Chương trình điều khiển
Không phụ thuộc nền tảng
Hình dưới đây biểu diễn vị trí và vai trò của các thành phần phần mềm nói trên
khi được cài đặt trong một hệ thống điều khiển phân tán điển hình. Trong sơ đồ
này, chương trình chạy được cài đặt trên các bộ điều khiển dựa trên nền vi xử
lý (ví dụ như PC/104, …), sử dụng hệ điều hành thời gian thực. Cài đặt trên
trạm kĩ thuật (Engineering Station) là phần mềm công cụ phát triển trực quan
và các module phần mềm mô phỏng, sử dụng hệ điều hành Windows
NT/2000/XP. Các phần mềm này có thể giao tiếp, trao đổi dữ liệu với nhau
thông qua mạng (ví dụ như mạng Ethernet).
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 10
Engineering Station
Visual Engineering Tools
(+ Simulator)
Windows NT. 2000, XP
Simulator
Windows NT. 2000, XP
Runtime Engine
RTOS
Controller (PC/104) Controller (iPC)
Runtime Engine
RTOS
Controller (μC-based)
Runtime Engine
RTOS
I/O I/O I/O
Process
Configuration Data
Phần dưới đây sẽ trình bày tóm tắt về từng thành phần trong gói phần mềm –
sản phẩm của đồ án.
3.1 Chương trình chạy (Runtime Engine – RTE)
Chương trình chạy là phần mềm chạy trên các bộ điều khiển như các máy tính
cá nhân công nghiệp (iPC), các bộ điều khiển dựa trên nền vi xử lý, … Nhiệm vụ
chính của chương trình chạy là thực thi chương trình điều khiển do người sử
dụng tạo ra và nạp xuống và thực hiện giao tiếp với các thiết bị vào/ra.
Một yêu cầu quan trọng đặt ra đối với gói phần mềm nói chung và với chương
trình chạy nói riêng là việc lập trình điều khiển không cần trình biên dịch và
chương trình điều khiển tạo ra phải có tính khả chuyển cao, nghĩa là không phụ
thuộc vào nền tảng (phần cứng và hệ điều hành) cụ thể. Nói cách khác, chương
trình điều khiển sau khi tạo ra có thể thực hiện trên các bộ điều khiển khác
nhau, sử dụng các hệ điều hành khác nhau mà không cần phải thay đổi gì. Để
thực hiện được yêu cầu này, chương trình điều khiển nạp xuống được xây dựng
dưới dạng cấu hình và được mô tả bằng một ngôn ngữ trung gian do tác giả tự
xây dựng, với một cấu trúc định dạng (format) riêng, không phụ thuộc vào một
nền tảng thực thi cụ thể nào.
Được lập trình sử dụng ngôn ngữ lập trình ANSI C++ và hạn chế tối đa việc sử
dụng các thư viện lập trình ngoài, chương trình chạy có tính khả chuyển khá
cao và có thể dễ dàng được biên dịch và thực thi trên các nền tảng khác nhau.
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 11
Cấu trúc của chương trình chạy được mô tả trong hình dưới.
Phần cốt lõi (core)
Các kiểu đối tượng, vào/ra, các dịch vụ hệ thống, xử lý lỗi,…
Không gian thực thi
Đối
tượng
Đối
tượng
Đối
tượng
Trình nạp cấu hình
Stream
Cấu hình
Tạo đối tượng
Tạo liên kết
Phần cốt lõi là thành phần nền tảng của toàn bộ chương trình chạy, thực hiện
các chức năng cơ bản và quan trọng nhất như các dịch vụ hệ thống (dịch vụ thời
gian, xử lý cạnh tranh, xử lý lỗi, …), giao diện vào/ra, hệ thống các kiểu đối
tượng, … Trình nạp cấu hình thực hiện chức năng đọc các mô tả trong cấu
hình, tiến hành phân tích, kiểm tra và tạo ra các đối tượng cụ thể cũng như thiết
lập quan hệ giữa các đối tượng đó. Không gian thực thi bao gồm toàn bộ các đối
tượng, cũng như quan hệ giữa chúng, được tạo ra trong quá trình nạp cấu hình.
Chính các đối tượng và quan hệ trong không gian thực thi sẽ tạo thành chương
trình điều khiển thực sự có khả năng thực thi. Toàn bộ quá trình thực thi được
thực hiện bằng các lời gọi hàm (trực tiếp hay thông qua con trỏ) với sự hỗ trợ và
điều hành của phần cốt lõi, nhờ đó vẫn đảm bảo được tốc độ thực thi tốt mặc
dù không lập trình với mã máy trực tiếp.
Chương trình chạy đã thực hiện có những đặc điểm chính sau.
1. Tính năng thời gian và độ ổn định tốt.
2. Hỗ trợ chuẩn IEC 61131-3:
• Hỗ trợ các kiểu dữ liệu thông dụng bao gồm kiểu logic (BOOL), kiểu số
nguyên (INTEGER) và kiểu số thực (REAL). Hỗ trợ các kiểu dữ liệu
tổng quát – một tính năng nâng cao cho phép sử dụng dễ dàng cùng
một đoạn mã lệnh chương trình với các kiểu dữ liệu khác nhau.
• Thực hiện hai kiểu tác vụ là tác vụ tuần hoàn (periodic task) và tác vụ
theo sự kiện (event task).
• Thực hiện khá hoàn chỉnh ngôn ngữ SFC.
• Sẵn sàng hỗ trợ thực hiện các ngôn ngữ lập trình khác (FBD, ST, …).
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 12
3. Mô tả chương trình điều khiển theo kiểu cấu hình, sử dụng một ngôn ngữ
trung gian với cấu trúc định dạng riêng. Chương trình điều khiển không
phụ thuộc nền tảng thực thi.
4. Cơ chế hỗ trợ nhiều loại hệ thống vào/ra khác nhau: vào/ra tập trung,
vào/ra phân tán.
5. Hỗ trợ giám sát, kiểm tra quá trình thực thi chương trình điều khiển một
cách chi tiết. Tính năng này rất hữu ích cho quá trình thử nghiệm và sửa
lỗi chương trình điều khiển.
6. Tính khả chuyển tốt, dễ dàng thực hiện trên các nền tảng phần cứng và
hệ điều hành khác nhau. Hiện tại, một phiên bản chương trình chạy dạng
COM Server cho Win32 đã được xây dựng, sử dụng công nghệ (D)COM
cho phép hoạt động phối hợp trên mạng. Giao tiếp COM đơn giản, dễ sử
dụng, đặc biệt là với Visual Basic.
7. Linh hoạt, dễ phát triển và mở rộng.
3.2 Công cụ phát triển trực quan (Visual Engineering Tools)
Công cụ phát triển trực quan (VET) là thành phần phần mềm quan trọng, lớn
nhất và phức tạp nhất trong gói phần mềm. Đây là một công cụ lập trình trực
quan, cho phép người sử dụng lập trình theo kiểu đặt cấu hình rất dễ dàng, đơn
giản và tiện lợi. Thao tác chủ yếu trong quá trình lập trình điều khiển sử dụng
VET là các thao tác kéo - thả, đặt thông số, mô tả cấu hình,… Sau khi lập trình
xong, phần mềm cho phép xây dựng (build) tạo ra chương trình điều khiển và
có thể tải trực tiếp xuống chương trình chạy để thực thi. Bên cạnh chức năng hỗ
trợ lập trình điều khiển, phần mềm cũng cho phép quan sát, theo dõi quá trình
thực thi chương trình điều khiển với giao diện đồ họa trực quan, giúp dễ dàng
kiểm tra, phát hiện và sửa lỗi.
3.2.1 Cơ chế lưu trữ và trao đổi dữ liệu
Cũng giống như các phần mềm tương tự
khác, phần mềm VET sử dụng khái niệm
dự án (project). Bên trong dự án là dữ liệu
về cấu hình hệ thống, các module chương
trình điều khiển cùng nhiều dữ liệu liên
quan khác. Hình bên trình bày sơ lược về
cấu trúc dạng cây của một dự án. Cấu trúc
cây này cũng được sử dụng trong giao diện
đồ họa của phần mềm giúp người sử dụng
dễ dàng truy cập và thao tác với các phần
khác nhau của dự án.
Project (dự án)
Global Variables (các biến toàn cục)
Memory Variables (các biến bộ nhớ)
IO Variables (các biến vào ra)
Control Modules (các module điều khiển)
SFC Modules (các module SFC)
Local Variables (các biến cục bộ)
Steps (các bước)
Transitions (các chuyển tiếp)
Tasks (các tác vụ)
Periodic Tasks (các tác vụ theo chu kỳ)
Event Tasks (các tác vụ theo sự kiện)
IO Modules (các module vào ra)
Slaves (các slave)
Slots (các slot)
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 13
Cơ chế lưu trữ dữ liệu trong phần mềm này dựa trên một số tiêu chí sau:
o Khả năng trao đổi thông tin cao. Trong một hệ thống có thể có nhiều
phần mềm khác nhau cùng được sử dụng và phối hợp hoạt động. Việc
trao đổi thông tin giữa các phần mềm này vì thế rất cần thiết. Nếu các
phần mềm này không có khả năng hiểu lẫn nhau, không thể trao đổi
thông tin trực tiếp với nhau mà phải thông qua quá trình chuyển đổi phức
tạp hay thậm chí không thể trao đổi thông tin thì hoạt động của hệ thống
sẽ phức tạp và kém hiệu quả. Đặc biệt người sử dụng sẽ gặp rất nhiều
khó khăn trong quá trình vận hành hệ thống. Việc tuân theo các chuẩn
quốc tế về lưu trữ và trao đổi dữ liệu là điều kiện quan trọng để đảm bảo
yêu cầu về khả năng trao đổi thông tin cao. Hiện nay, xu thế chung của
các phần mềm là sử dụng một cấu trúc lưu trữ dữ liệu thống nhất là XML
để lưu trữ và trao đổi thông tin. Một số chuẩn như IEC 61499 còn qui
định phải sử dụng XML.
o Cấu trúc lưu trữ phải không quá phức tạp nhưng chặt chẽ, hiệu quả.
o Tính linh hoạt, khả năng phát triển và mở rộng cao. Đây là một yêu cầu
cần thiết để đảm bảo sự mở rộng và phát triển lâu dài của phần mềm,
nhất là trong giai đoạn ban đầu.
Với những tiêu chí đề ra ở trên thì ngôn ngữ XML tỏ ra thích hợp nhất. XML
(Extensible Markup Language) là một tập con và là một phiên bản đơn giản
hóa của ngôn ngữ SGML (Standard Generelized Markup Language) – một
chuẩn quốc tế về một loại siêu ngôn ngữ có khả năng tạo ra các loại siêu ngôn
ngữ đánh dấu khác. XML là một ngôn ngữ đánh dấu cho các tài liệu chứa đựng
thông tin đã được cấu trúc hóa. Điểm đặc biệt là XML có tính linh hoạt, khả
năng tùy biến và mở rộng cao nhờ cho phép người dùng tự định nghĩa các thẻ
cho riêng mình với ý nghĩa xác định. XML là một phương pháp lưu trữ thông tin
hiệu quả và ngày càng được sử dụng phổ biến nhờ những ưu điểm chính sau:
o Cho phép người dùng tự tạo những bộ thẻ của riêng họ.
o Sự phân tích XML được thực hiện rất chặt chẽ và chính xác.
o XML được xây dựng trên nền tảng Unicode, do đó có khả năng tạo ra
những tài liệu chuẩn hóa quốc tế.
o Khuôn dạng XML dựa trên cơ sở văn bản, do vậy rất dễ đọc,dễ hiểu.
o XML được hỗ trợ trên nhiều môi trường khác nhau, tạo điều kiện thuận
lợi cho sự trao đổi dữ liệu và có thể thay thế cho khuôn dạng nhị phân.
Ngôn ngữ XML được lựa chọn sử dụng chính thức cho phần mềm VET. Tuy
nhiên, sự phát triển trong tương lai của gói phần mềm có thể yêu cầu phải sử
dụng một hệ cơ sở dữ liệu (CSDL) hoàn chỉnh thay vì một định dạng lưu trữ dữ
liệu đơn thuần như XML. Việc lựa chọn sử dụng XML trong thời điểm hiện tại sẽ
tạo điều kiện thuận lợi cho sự phát triển về sau này bởi hầu hết các hệ CSDL
hiện nay đều hỗ trợ định dạng XML như một chuẩn quốc tế về trao đổi dữ liệu.
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 14
3.2.2 Trao đổi thông tin giữa các thành phần trong gói phần mềm
Các thành phần trong gói phần mềm không phải là những phần mềm tách biệt
mà nằm trong một hệ thống chặt chẽ và thống nhất. Mỗi phần mềm đều có sự
liên quan ở mức độ nhất định đến các phần mềm khác. Mặc dù từng phần mềm
có thể hoạt động riêng mà không cần đến các phần mềm khác trong gói nhưng
sự hoạt động phối hợp giữa chúng sẽ đem lại hiệu quả lớn hơn nhiều. Nhờ sự
phối hợp này, từ phần mềm công cụ phát triển trực quan, người sử dụng có thể
khởi động chương trình chạy (trên cùng một máy tính hoặc trên một máy tính
khác), nạp và thực thi chương trình điều khiển, theo dõi chi tiết quá trình hoạt
động của chương trình điều khiển từ giao diện đồ họa của VET, đồng thời có thể
mô phỏng các đối tượng điều khiển trên máy tính. Quá trình chuyển từ giai
đoạn mô phỏng sang giai đoạn chạy thực tế khá đơn giản.
Để đảm bảo cho sự hoạt động phối hợp trên có hiệu quả, cần phải có một cơ
chế trao đổi thông tin thống nhất giữa các phần mềm, hay nói cách khác các
phần mềm phải “hiểu” nhau. Việc trao đổi thông tin giữa các thành phần trong
gói phần mềm, trong đó chủ yếu là giữa phần mềm công cụ phát triển trực
quan với các phần mềm khác, được thực hiện nhờ công nghệ DCOM. DCOM là
sự mở rộng của COM – một mô hình đối tượng thành phần và là nền tảng cho
nhiều công nghệ phần mềm quan trọng của hãng Microsoft. Ưu điểm của công
nghệ này là tính trong suốt phân tán, nghĩa là sự giao tiếp không phụ thuộc vào
vị trí của các đối tượng giao tiếp (trên cùng một máy tính hay trên các máy tính
khác nhau có nối mạng), không phụ thuộc vào mạng truyền thông và giao thức
truyền thông cụ thể, không phụ thuộc vào hệ điều hành cũng như ngôn ngữ lập
trình sử dụng.
Qua thử nghiệm thực tế, cơ chế giao tiếp này đã hoạt động tốt và tỏ ra có hiệu
quả, đáp ứng được các yêu cầu đề ra.
3.2.3 Giao diện đồ họa chuẩn, dễ sử dụng, tính thông tin cao
Phần mềm VET được xây dựng trên nền hệ điều hành Windows, có thể chạy
trên tất cả các phiên bản của hệ điều hành này nhưng sẽ đạt hiệu quả tốt nhất
trên các phiên bản Windows NT/2000/XP. Đây cũng là các phiên bản hệ điều
hành được sử dụng phổ biến trong thực tế.
Giao diện đồ họa của phần mềm sử dụng các phần tử đồ họa chuẩn (trình đơn
chính, trình đơn cảm ngữ cảnh, thanh công cụ, cửa sổ công cụ,…), được thiết kế
cẩn thận và hợp lý, mang nhiều nét quen thuộc với các phần mềm phổ biến như
Windows Explorer, Microsoft Visio, Microsoft Visual Basic,… Vì vậy, việc sử
dụng phần mềm này khá đơn giản và tiện lợi. Hình dưới đây là một màn hình
giao diện chính điển hình của phần mềm VET.
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 15
Cấu trúc
cây dự án
Cấu
trúc
cây
dự
án
Thay
đổi
thuộc
tính
Cửa sổ các thông báo
Cửa sổ
chính để
duyệt và
soạn thảo
Trình đơn và các thanh công cụ
Màn hình giao diện chính của VET gồm 5 phần:
o Phía trên cùng là hệ thống trình đơn và các thanh công cụ. Đây là nơi
cho phép truy cập đến toàn bộ các tính năng của phần mềm. Các thanh
công cụ cho phép truy cập nhanh đến các chức năng chính.
o Phần phía trên bên trái là khung hiển thị cấu trúc cây (tree view) của
dự án. Phần này liệt kê đầy đủ các thành phần trong một dự án, từ các
module điều khiển, các tác vụ, các module vào/ra đến từng biến thành
viên. Khung hiển thị này cho phép người lập trình có cái nhìn tổng quát về
toàn bộ hệ thống, đồng thời có thể truy cập và thao tác nhanh chóng với
từng thành phần trong hệ thống.
o Phần phía dưới bên trái là cửa sổ soạn thảo
thuộc tính. Đây là nơi người sử dụng soạn
thảo các thuộc tính của các đối tượng –
phần tử trong dự án. Mỗi một phần tử trong
dự án, dù rất đơn giản, đều có các thuộc
tính (như tên, kiểu dữ liệu, giá trị, chú
thích,…). Khi người sử dụng chọn một phần
tử của dự án từ bất kì một vị trí nào trong
phần mềm thì cửa sổ này sẽ hiển thị danh
sách và nội dung các thuộc tính của phần tử
đó. Thao tác soạn thảo được thực hiện trực
tiếp trên cửa sổ này với các phần tử đồ họa
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 16
như hộp soạn thảo văn bản, danh sách kéo xuống,… Tính năng này giống
với nhiều phần mềm quen thuộc khác, đặc biệt là phần mềm Visual
Basic, giúp người sử dụng thuận tiện nhất trong thao tác.
o Phần bên phải là khung cửa sổ chính được sử dụng để:
+ Hiển thị danh sách các đối tượng trong một phần của hệ thống. Nội
dung được hiển thị chi tiết bao gồm cả tên, các thuộc tính và chú thích
của từng đối tượng. Người lập trình có thể soạn thảo trực tiếp các
thuộc tính của đối tượng ngay trên cửa sổ này.
+ Soạn thảo mã chương trình điều khiển, ví dụ: soạn thảo sơ đồ SFC.
o Phần dưới cùng là cửa sổ các thông báo: đây là nơi hiển thị các thông
báo của chương trình đối với người sử dụng, bao gồm các cảnh báo, các
thông báo lỗi và một số loại thông báo khác. Đặc biệt, người sử dụng có
thể nhanh chóng truy cập đến vị trí xảy ra lỗi chỉ với một thao tác kích
đúp chuột vào dòng thông báo lỗi.
Ngoại trừ khung cửa sổ chính luôn luôn hiện hữu, các khung khác đều có thể
được di chuyển, thay đổi kích thước cũng như cho ẩn / hiện.
Phần mềm VET sử dụng bộ mã Unicode khi thực thi trên các hệ điều hành có
hỗ trợ bộ mã này, do đó cho phép người dùng sử dụng các ngôn ngữ không phải
tiếng Anh trong dự án, ví dụ như tiếng Việt (xem các hình trên).
Một đặc điểm quan trọng của phần mềm VET là tính thông tin cao. Gần như tại
bất kì một vị trí nào, người sử dụng đều có thể nhanh chóng truy cập đến các vị
trí khác trong dự án, đặc biệt là các vị trí có liên quan đến vị trí hiện thời, cũng
như dễ dàng có được các thông tin về một phần tử trong dự án. Các trình đơn
cảm ngữ cảnh được sử dụng triệt để giúp truy cập nhanh đến các chức năng
quan trọng của phần mềm.
3.2.4 Soạn thảo biểu đồ SFC
Ngôn ngữ lập trình SFC đã được hỗ trợ tương đối hoàn thiện trong gói phần
mềm, tuân theo các qui định trong chuẩn IEC 61131-3. Phần mềm VET cho
phép người sử dụng tạo và soạn thảo các module điều khiển theo biểu đồ SFC
với giao diện đồ họa trực quan, dễ sử dụng. Mọi thao tác soạn thảo biểu đồ SFC
đều được thực hiện trong khung cửa sổ chính. Tất cả các phần tử trong biểu
đồ SFC (các bước và các chuyển tiếp) đều được coi là các phần tử trong dự án
và có thể được truy cập giống như các loại phần tử khác. Mỗi phần tử này đều
có các thuộc tính. Việc soạn thảo các thuộc tính như điều kiện chuyển tiếp hay
danh sách các hành động của bước được thực hiện trực tiếp ngay trên cửa sổ
soạn thảo thuộc tính. Khi chọn một phần tử SFC (trong cấu trúc cây của dự
án, trong cửa sổ thông báo lỗi, …) thì sơ đồ SFC tương ứng chứa phần tử đó sẽ
được mở ra để soạn thảo.
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 17
Các tính năng chính trong soạn thảo biểu đồ SFC của phần mềm VET là:
o Thao tác cơ bản là thao tác kéo – thả, giống như đa số các phần mềm vẽ
biểu đồ, sơ đồ khác (ví dụ như Microsoft Visio).
o Lựa chọn một hay nhiều phần tử SFC bằng cách chọn từng phần tử đồ
họa hay chọn theo vùng.
o Di chuyển một hay nhiều phần tử SFC bằng thao tác kéo chuột.
o Nối dây giữa các phần tử bằng thao tác bấm – kéo – thả chuột. Tự động
kiểm tra tính đúng đắn của các kết nối. Tự động bố trí các dây nối hợp lý.
o Phóng to, thu nhỏ biểu đồ. Tự động dịch chuyển biểu đồ trong các thao
tác kéo – thả.
o Căn chỉnh theo lưới (grid).
o Cung cấp thông tin chi tiết về một phần tử SFC bằng cửa sổ tooltip khi
dừng chuột trên phần tử này (xem hình dưới).
o Sao chép (copy) nội dung biểu đồ SFC dưới dạng hình ảnh vector vào
clipboard hệ thống hoặc lưu lại dưới dạng tệp tin hình ảnh.
Hình dưới là một màn hình soạn thảo biểu đồ SFC điển hình.
Danh sách
các phần tử
SFC trong
cây dự án
Cửa sổ tooltip hiển thị
thông tin tức thời
Màn hình chính
soạn thảo SFC
3.2.5 Hỗ trợ các biểu thức logic điều kiện
Các điều kiện chuyển tiếp trong biểu đồ SFC thông thường chỉ đơn giản là
những biến logic đơn. Tuy nhiên có những trường hợp cần dùng đến các biểu
thức logic phức tạp hơn với sự phối hợp của các phép toán logic, các phép toán
so sánh, các biến và hằng. Phần mềm VET hỗ trợ tốt cho yêu cầu này bằ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 18
cho phép sử dụng các biểu thức logic phức tạp trong điều kiện chuyển tiếp. Các
thành phần được chấp nhận trong biểu thức logic bao gồm:
+ Các biến logic.
+ Các hằng logic (TRUE và FALSE).
OT).
=, <=).
dạng mũ và không mũ).
Phần m m đúng đắn của các biểu thức logic. Nếu
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
i sử
cụ lập trình trực quan là
theo yêu cầu
phần mềm
+ Các phép toán logic (AND, OR và N
+ Các phép toán so sánh số học (>,
+ Các biến số nguyên và thực.
+ Các hằng số nguyên và thực (
+ Dấu mở và đóng ngoặc ưu tiên.
ề cũng hỗ trợ việc kiểm tra tính
có lỗi xảy ra trong biểu thức logic, phần mềm sẽ thông báo trong cửa sổ các
thông báo và cho phép người dùng truy cập nhanh đến vị trí có lỗi để sửa.
Đối với các công cụ phát triển trực quan, các thông báo (message) đến ngườ
dụng có vai trò rất quan trọng. Vì là một công cụ lập trình nên các thông báo ở
đây không thể đơn thuần chỉ là một vài dòng chữ miêu tả về lỗi mà phải cho
phép người dùng có thể truy cập nhanh đến vị trí có lỗi. Ví dụ khi một biểu thức
có lỗi, bên cạnh các thông tin mô tả lỗi, phần mềm phải cho phép người sử
dụng có thể nhấn đúp chuột vào dòng thông báo để chuyển ngay tới biểu thức có
lỗi đó. Phần mềm VET đã thực hiện được cơ chế này.
Một trong những yêu cầu quan trọng đối với các công
khả năng hạn chế lỗi ngay từ trong quá trình soạn thảo thay vì dồn hết việc
kiểm tra lỗi vào giai đoạn cuối. Phần mềm VET thực hiện việc kiểm tra các lỗi
thông thường ngay trong quá trình soạn thảo, đặc biệt là các lỗi về kiểu dữ liệu.
Điều này giúp hạn chế tối đa khả năng mắc lỗi của người sử dụng.
Phần mềm VET có thể tiến hành kiểm tra (một cách tự động hoặc
của người dùng) tính chính xác và đúng đắn của toàn bộ dự án. Hầu hết các loại
lỗi đều được kiểm tra, trong đó chủ yếu là các loại lỗi liên quan đến kiểu dữ
liệu, sự phù hợp về kiểu và các lỗi cú pháp. Các lỗi phát hiện được sẽ được hiển
thị trong cửa sổ các thông báo dưới dạng dòng thông báo bao gồm giải thích
vắn tắt về lỗi và địa chỉ xảy ra lỗi. Để truy cập nhanh đến vị trí xảy ra lỗi, người
sử dụng chỉ cần nhấn đúp chuột vào dòng thông báo lỗi tương ứng.
Hình dưới đây diễn tả sự hoạt động của cơ chế thông báo lỗi trong
VET. Khi nhấn đúp chuột vào dòng thông báo lỗi (trong cửa sổ các thông báo)
thì phần mềm sẽ tự động lựa chọn và cho phép soạn thảo biến vào/ra Start là vị
trí có lỗi (trong cửa sổ soạn thảo thuộc tính).
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 19
Các thuộc
tính của
phần tử
nơi có lỗi
xảy ra
Thông báo lỗi. Nhấn đúp
chuột vào đây để truy cập
đến vị trí có lỗi
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
Sau khi xây dựng xong dự án, người dùng có thể dịch (build) dự án thành mã
trung gian. Quá trình dịch chỉ thành công khi việc kiểm tra toàn bộ dự án không
phát hiện ra lỗi. Sau đó, người sử dụng có thể nạp mã trung gian của dự án đã
dịch xuống chương trình chạy. Chương trình chạy có thể ở trên cùng một máy
tính với phần mềm VET hoặc trên một máy tính khác có nối mạng.
Phần mềm công cụ phát triển trực quan cho phép người dùng điều khiển quá
trình thực thi của chương trình điều khiển trên chương trình chạy ngay từ giao
diện đồ họa. Các chức năng cho phép là chạy (RUN) và dừng (STOP).
Một tính năng đặc biệt quan trọng trong phần mềm VET là khả năng quan sát
quá trình thực thi chương trình điều khiển trên chương trình chạy đến từng chi
tiết nhỏ ngay trong giao diện đồ họa của phần mềm. Trên cửa sổ biểu đồ SFC, ở
chế độ chạy giám sát, các biểu tượng đồ họa của các bước sẽ chuyển màu phù
hợp theo trạng thái tích cực hay không tích cực của các bước tương ứng trong
chương trình điều khiển trên chương trình chạy. Tính năng này rất hữu ích cho
quá trình phát triển, thử nghiệm hệ thống cũng như việc kiểm tra, phát hiện và
sửa lỗi.
Hình dưới đây là màn hình giao diện của phần mềm ở chế độ chạy giám sát với
một biểu đồ SFC thể hiện trạng thái của các bước trong biểu đồ. Những bước
được tô màu đậm là các bước đang ở trạng thái tích cự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 20
3.3 Các module phần mềm mô phỏng đối tượng điều khiển
trình tự
Các phần mềm được xây dựng trong đồ án này trước hết nhằm mục đích phục
vụ cho công tác nghiên cứu và đào tạo. Trong điều kiện thiết bị thí nghiệm còn
nghèo nàn, các chương trình mô phỏng đem lại một lợi ích to lớn khi cho phép
tiếp xúc, thử nghiệm với các hệ thống giống như trong thực tế. Các chương trình
mô phỏng đem lại một cái nhìn trực quan về hệ thống, không chỉ trên các số
liệu mà còn bằng các hình ảnh đồ họa.
Bên cạnh đó, các chương trình mô phỏng đối tượng điều khiển còn giúp các kĩ
sư điều khiển có điều kiện thử nghiệm hệ thống trên các thiết bị “ảo” trước khi
đưa vào sử dụng trong thực tế, vừa tiết kiệm được thời gian, công sức, chi phí,
vừa hạn chế được những rủi ro.
Với những ý nghĩa và lợi ích như vậy, các module phần mềm mô phỏng, trước
hết là mô phỏng các đối tượng điều khiển trình tự, đã được xây dựng trong gói
phần mềm như một thành phần quan trọng không thể thiếu.
Hai module phần mềm mô phỏng đã được xây dựng cho hai đối tượng là lò
phản ứng và máy giặt. Đây là hai đối tượng khá điển hình trong công nghiệp và
trong dân dụng mà ở đó tính trình tự thể hiện rất rõ. Hai module phần mềm mô
phỏng này đã xây dựng những cơ chế cần thiết đảm bảo khả năng giao tiếp với
chương trình chạy. Nhờ sử dụng công nghệ DCOM, các module phần mềm mô
phỏng có thể hoạt động mà không cần phải ở trên cùng máy tính với các phần
mềm công cụ phát triển trực quan và chương trình chạy.
Bước đang
tích cự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 21
Các đặc điểm chính của các module phần mềm mô phỏng đối tượng điều khiển
đã xây dựng trong gói phần mềm này là:
o Mô phỏng đúng cơ chế hoạt động của các đối tượng thực, đảm bảo sự
chính xác của quá trình mô phỏng.
o Giao diện đồ họa trực quan, đẹp.
o Có thể hoạt động phối hợp với các phần mềm khác trong cùng gói phần
mềm, thực thi trên cùng một máy tính hay trên các máy tính khác nhau
có nối mạng.
3.3.1 Mô phỏng đối tượng lò phản ứng hóa học
Đối tượng lò phản ứng hóa học là một ví dụ điển hình về bài toán điều khiển
trình tự trong công nghiệp. Lò phản ứng được sử dụng để thực hiện các phản
ứng hoá học trong công nghiệp với yêu cầu đảm bảo điều kiện nhiệt độ phản
ứng và xúc tác nhất định, với khối lượng lớn.
Hình dưới là hình ảnh giao diện của phần mềm mô phỏng đối tượng lò phản
ứng hóa học khi đang hoạt động.
Về cơ bản, hệ thống lò phản ứng bao gồm các khối: cung cấp khí trơ làm sạch
lò; cung cấp nước làm mát; cung cấp chất liệu phản ứng chính; cung cấp chất
xúc tác; động cơ kéo quạt khuấy; nhận và xử lí sản phẩm sau phản ứng.
Lò phản ứng thực hiện theo từng mẻ. Quá trình thực hiện một mẻ phản ứng qua
các bước cơ bản sau:
o Kiểm tra trạng thái trong lò, đảm bảo trước khi thực hiện một mẻ phản
ứng, trong lò không lẫn các hợp chất cũ.
o Làm sạch lò bằng hỗn hợp khí trơ và một số chất khí khác.
o Hệ thống cấp nước làm mát hoạt độ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 22
o Sau một khoảng thời gian đủ để đảm bảo hệ thống làm mát hoạt động ổn
định, cấp chất liệu phản ứng chính và chất xúc tác vào trong lò. Chất xúc
tác được đưa vào với một lưu lượng xác định trước. Chất liệu phản ứng
chính có thể thay đổi lưu lượng trong quá trình cấp liệu.
o Khi lượng hỗn hợp trong lò đã đủ, đảm bảo có thể thực hiện một mẻ theo
yêu cầu công nghệ, hệ thống cánh quạt khuấy hoạt động để tăng tốc độ
phản ứng trong khoảng thời gian nhất định.
o Cuối cùng sản phẩm được lấy ra khỏi lò. Kết thúc một mẻ phản ứng.
Từ trình tự hoạt động trên có thể dễ dàng xây dựng biểu đồ SFC điều khiển lò
phản ứng như hình bên phải dưới đây. Hình bên trái là sơ đồ khối thể hiện quá
trình công nghệ. Có thể thấy một sự tương đồng nhất định giữa hai sơ đồ này.
Hình dưới là hình ảnh khi phần mềm mô phỏng đối tượng lò phản ứng và phần
mềm VET hoạt động đồng thời trên cùng một máy tính. Hai phần mềm này cũng
có thể hoạt động trên hai máy tính khác nhau được nối mạng.
Khoi_Tao
Nap_khi_tro_vao_lo
Step2
Kiem_tra_vat_chat_du_trong_lo
Kiem_tra_Mode_hoat_dong
Khoi_dong_he_thong_lam_mat_01
Nap_lieu_va_xuc_tac
Tang_toc_phan_ung_01
Lay_san_pham_phan_ung_01
Dieu_khien_ket_thuc_qua_trinh
Khong_co_VC_duCo_VC_du
Het_VC_du
Auto_Mode
An_Start
Het_tg_nap_khi_tro
Da_san_sang
Dat_muc_cho_phep
Du_tg_PU
Het_SP_trong_lo
T1
Stop1
Stop2
Stop3
Stop0
Stop4
Kiểm tra trạng thái lò
Nạp khí trơ vào lò
Xả lượng dư
còn dư
sạch
Cấp nước làm mát
hết thời gian nạp
đủ thời gian làm mát
Nạp chất liệu hóa học
Khuấy
đầy chất liệu
Lấy sản phẩm ra
đủ thời gian khuấy
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 23
3.3.2 Mô phỏng đối tượng máy giặt
Cũng giống như đối tượng lò phản ứng hóa học, đối tượng máy giặt là một ví dụ
điển hình cho bài toán điều khiển trình tự nhưng trong lĩnh vực dân dụng.
Phương thức hoạt động của một máy giặt thông dụng không quá phức tạp
nhưng tính trình tự của nó rất chặt chẽ với các công đoạn chính là: giặt – giũ –
vắt. Thời gian thực hiện mỗi công đoạn có thể thay đổi tùy theo từng chế độ hoạt
động của máy giặt.
Hình dưới là hình ảnh giao diện đồ họa của module phần mềm mô phỏng đối
tượng máy giặt khi đang hoạt độ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 24
Cách thức sử dụng và hoạt động của đối tượng mô phỏng này giống như các máy
giặt trong thực tế. Từ yêu cầu công nghệ của máy giặt, biểu đồ SFC để điều
khiển máy giặt như hình sau.
Khoi_tao_ban_dau
Lua_chon_che_do
Dieu_khien_ket_thuc
S1
Do_nuoc_11
Ngam_quay_co_dao_chieu_1
S5
Xa_nuoc_11
Do_nuoc_12
Quay_co_dao_chieu_11
Xa_nuoc_12
Do_nuoc_13
Quay_co_dao_chieu_12
Xa_nuoc_13
S13
Quay_khong_dao_chieu_toc_do_cao_1
Do_nuoc_21
Ngam_quay_co_dao_chieu_2
Xa_nuoc_21
Do_nuoc_22
Quay_co_dao_chieu_21
Xa_nuoc_22
Do_nuoc_23
Quay_co_dao_chieu_22
Xa_nuoc_23
Quay_khong_dao_chieu_toc_do_cao_2
Do_nuoc_31
Ngam_quay_co_dao_chieu_3
Xa_nuoc_31
Do_nuoc_32
Quay_co_dao_chieu_31
Xa_nuoc_32
Do_nuoc_33
Quay_co_dao_chieu_32
Xa_nuoc_33
Quay_khong_dao_chieu_toc_do_cao_3
An_nut_Start
Che_do_Custom
T3
Co_WashMode Khong_WashMode
Du_nuoc_11
Du_thoi_gian_11
Co_RinseMode Khong_RinseMode
Het_nuoc_11
Du_nuoc_12
Du_thoi_gian_12
Het_nuoc_12
Du_nuoc_13
Du_thoi_gian_13
Het_nuoc_13
Co_SpinMode Khong_SpinMode
Du_thoi_gian_14
Che_do_Eco
Du_nuoc_21
Du_thoi_gian_21
Het_nuoc_21
Du_nuoc_22
Du_thoi_gian_22
Het_nuoc_22
Du_nuoc_23
Du_thoi_gian_23
Het_nuoc_23
Du_thoi_gian_24
Che_do_Wool
Du_nuoc_31
Du_thoi_gian_31
Het_nuoc_31
Du_nuoc_32
Du_thoi_gian_32
Het_nuoc_32
Du_nuoc_33
Du_thoi_gian_33
Het_nuoc_33
Du_thoi_gian_34
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 25
4 KHẢ NĂNG ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN
Tuy chưa đạt được đến mức độ hoàn thiện như các sản phẩm phần mềm
thương mại tương tự nhưng gói phần mềm – sản phẩm của đồ án này – đã có
thể ứng dụng được trong một số trường hợp nhất định.
Trước hết, gói phần mềm có thể được ứng dụng hiệu quả trong giảng dạy các
môn học như Điều khiển quá trình và Hệ thống điều khiển phân tán. Đến thời
điểm hiện tại, sinh viên học tập các môn học này hầu như vẫn chưa được thí
nghiệm và tìm hiểu các hệ thống, các sản phẩm thực tế. Điều này dẫn đến việc
hiểu biết của sinh viên về điều khiển quá trình và điều khiển phân tán còn hạn
chế và mơ hồ. Việc sử dụng gói phần mềm này trong giảng dạy có thể giúp sinh
viên có điều kiện hiểu sâu hơn và thực hành các kiến thức đã học trên lớp.
Bên cạnh đó, nếu được phát triển hoàn thiện hơn và hỗ trợ các thiết bị thực tế,
gói phần mềm có thể ứng dụng được trong các hệ thống điều khiển thực ở một
mức độ nhất định. Tuy nhiên, độ tin cậy và chất lượng của sản phẩm còn cần
phải được kiểm nghiệm nhiều trong thực tế.
Hướng phát triển trong tương lai của các phần mềm này sẽ bao gồm:
o Tiếp tục phát triển theo hướng hỗ trợ đầy đủ chuẩn IEC 61131-3, đặc biệt
là các ngôn ngữ lập trình FBD và ST.
o Hoàn thiện chương trình chạy và thực thi trên các bộ điều khiển thực tế.
o Hoàn thiện công cụ phát triển trực quan (VET).
o Tích hợp hơn nữa các phần mềm trong gói, sử dụng CSDL chung.
o Hỗ trợ các thiết bị vào/ra thực và phổ biến để có thể đưa các sản phẩm
phần mềm ứng dụng trong thực tế.
o Hỗ trợ chuẩn OPC (OLE for Process Control).
o Xây dựng thêm các chương trình mô phỏng.
Các file đính kèm theo tài liệu này:
- 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.pdf