MỤC LỤC
1 NHẬP MÔN 5
1.1 Phạm vi đề cập 5
1.2 Nội dung chương trình 5
1.3 Yêu cầu kiến thức cơ sở 5
1.4 Tổng quan các giải pháp điều khiển 6
1.4.1 Đặc trưng các lĩnh vực ứng dụng điều khiển 6
1.4.2 Các hệ thống điều khiển công nghiệp 6
2 CẤU TRÚC CÁC HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT 8
2.1 Cấu trúc và các thành phần cơ bản 8
2.2 Mô hình phân cấp 9
2.2.1 Cấp chấp hành 10
2.2.2 Cấp điều khiển 10
2.2.3 Cấp điều khiển giám sát 10
2.3 Cấu trúc điều khiển 11
2.3.1 Điều khiển tập trung 11
2.3.2 Điều khiển tập trung với vào/ra phân tán 12
2.3.3 Điều khiển phân tán 12
2.3.4 Điều khiển phân tán với vào/ra phân tán 13
3 CÁC THÀNH PHẦN CỦA MỘT HỆ ĐIỀU KHIỂN PHÂN TÁN 15
3.1 Cấu hình cơ bản 15
3.1.1 Trạm điều khiển cục bộ 15
3.1.2 Bus trường và các trạm vào/ra từ xa 17
3.1.3 Trạm vận hành 18
3.1.4 Trạm kỹ thuật và các công cụ phát triển 19
3.1.5 Bus hệ thống 20
3.2 Phân loại các hệ DCS 21
3.2.1 Các hệ DCS truyền thống 21
3.2.2 Các hệ DCS trên nền PLC 22
3.2.3 Các hệ DCS trên nền PC 25
3.3 Các vấn đề kỹ thuật 26
4 XỬ LÝ THỜI GIAN THỰC VÀ XỬ LÝ PHÂN TÁN 27
4.1 Một số khái niệm cơ bản 27
4.1.1 Hệ thống thời gian thực 27
4.1.2 Xử lý thời gian thực 27
4.1.3 Hệ điều hành thời gian thực 28
4.1.4 Xử lý phân tán 29
4.2 Các kiến trúc xử lý phân tán 30
4.3 Cơ chế giao tiếp 31
4.4 Đồng bộ hóa trong xử lý phân tán 32
4.4.1 Đồng bộ hóa các tín hiệu vào/ra 32
4.4.2 Đồng bộ hóa thời gian 32
5 CÔNG NGHỆ ĐỐI TƯỢNG TRONG ĐIỀU KHIỂN PHÂN TÁN 33
5.1 Lập trình hướng đối tượng 33
5.2 Phân tích và thiết kế hướng đối tượng 33
5.2.1 Ngôn ngữ mô hình hóa thống nhất UML 34
5.2.2 Mẫu thiết kế 35
5.2.3 Phần mềm khung 35
5.3 Phần mềm thành phần 36
5.4 Đối tượng phân tán 37
6 KIẾN TRÚC ĐỐI TƯỢNG PHÂN TÁN 38
6.1 Yêu cầu chung 38
6.2 Các mẫu thiết kế 38
6.3 Giới thiệu chuẩn CORBA 39
6.4 Giới thiệu chuẩn COM/DCOM 40
6.4.1 Giao diện 41
6.4.2 Đối tượng COM 41
6.4.3 Giao tiếp giữa client và object 44
6.4.4 Ngôn ngữ mô tả giao diện 46
6.4.5 Mô hình đối tượng thành phần phân tán DCOM 46
7 CÁC MÔ HÌNH ỨNG DỤNG ĐIỀU KHIỂN PHÂN TÁN 48
7.1 IEC-61131 48
7.1.1 Mô hình phần mềm 48
7.1.2 Mô hình giao tiếp 49
7.2 IEC-61499 51
7.2.1 Mô hình hệ thống 51
7.2.2 Mô hình thiết bị 52
7.2.3 Mô hình tài nguyên 52
7.2.4 Mô hình ứng dụng 53
7.2.5 Mô hình khối chức năng 54
7.2.6 Mô hình phân tán 56
7.2.7 Mô hình quản lý 56
7.2.8 Mô hình trạng thái hoạt động 56
8 MỘT SỐ CHUẨN GIAO TIẾP CÔNG NGHIỆP 58
8.1 MMS 58
8.2 IEC-61131-5 60
8.2.1 Mô hình giao tiếp mạng 60
8.2.2 Dịch vụ giao tiếp 61
8.2.3 Các khối chức năng giao tiếp 62
8.3 OPC 63
8.3.1 Tổng quan về kiến trúc OPC 63
8.3.2 OPC Custom Interfaces 65
8.3.3 OPC Automation Interface 66
8.4 Ngôn ngữ đánh dấu khả mở XML 67
8.4.1 Giới thiệu chung 67
8.4.2 Ứng dụng XML trong phần mềm khung iPC 68
9 MÔ TẢ HỆ THỐNG ĐIỀU KHIỂN PHÂN TÁN 70
9.1 Các phương pháp mô tả đồ họa 70
9.2 Lưu đồ P&ID 71
9.2.1 Chuẩn ISA S5.1 71
9.2.2 Chuẩn ISA S5.3 75
9.3 Mô hình hóa hướng đối tượng 77
10 LẬP TRÌNH ĐIỀU KHIỂN PHÂN TÁN 78
10.1 Lập trình theo chuẩn IEC 61131-3 78
10.1.1 Kiểu dữ liệu 79
10.1.2 Tổ chức chương trình 81
10.1.3 Ngôn ngữ FBD 83
10.1.4 Ngôn ngữ ST 84
10.1.5 Ngôn ngữ SFC 85
10.2 Lập trình với ngôn ngữ bậc cao 85
11 CHỨC NĂNG ĐIỀU KHIỂN GIÁM SÁT 87
11.1 Giới thiệu chung về các hệ điều khiển giám sát 87
11.1.1 Các thành phần chức năng cơ bản 88
11.1.2 Công cụ phần mềm SCADA/HMI 89
11.2 Xây dựng cấu trúc hệ thống 91
11.3 Thiết kế giao diện người-máy 92
11.3.1 Yêu cầu chung 92
11.3.2 Các phương pháp giao tiếp người-máy 92
11.3.3 Thiết kế cấu trúc màn hình 92
11.3.4 Các nguyên tắc thiết kế 93
12 TÍNH SẴN SÀNG VÀ ĐỘ TIN CẬY CỦA CÁC HỆ ĐKPT 94
12.1 Đặt vấn đề 94
12.2 Cơ chế dự phòng 94
12.3 Cơ chế an toàn 95
12.4 Cơ chế khởi động lại sau sự cố 95
12.5 Bảo mật 95
12.6 Bảo trì 95
13 ĐÁNH GIÁ VÀ LỰA CHỌN GIẢI PHÁP ĐIỀU KHIỂN PHÂN TÁN 97
13.1 Đánh giá và lựa chọn các sản phẩm DCS tích hợp trọn vẹn 97
13.1.1 Phạm vi chức năng 97
13.1.2 Cấu trúc hệ thống và các thiết bị thành phần 97
13.1.3 Tính năng mở 97
© 2005, Hoàng Minh Sơn
4
13.1.4 Phát triển hệ thống 97
13.1.5 Độ tin cậy và tính sẵn sàng 98
13.1.6 Giá thành, chi phí 98
13.2 So sánh giải pháp DCS tích hợp trọn vẹn với các giải pháp khác 98
14 GIỚI THIỆU MỘT SỐ HỆ ĐIỀU KHIỂN PHÂN TÁN TIÊU BIỂU 100
14.1 PCS7 của Siemens 100
14.2 PlantScape của Honeywell 100
14.3 DeltaV của Fisher Rosermount 100
14.4 Centum CS1000/CS3000 của Yokogawa 100
14.5 AdvantOCS của ABB 100
15 MỘT SỐ HƯỚNG NGHIÊN CỨU VÀ ỨNG DỤNG 101
15.1 Trí tuệ nhân tạo phân tán 101
15.2 Điều khiển và giám sát các hệ thống giao thông 102
15.2.1 Đặt vấn đề 102
15.2.2 Mô hình hệ thống điều khiển đèn tín hiệu giao thông bằng công
nghệ Agent 102
15.3 Điều khiển và giám sát các hệ thống sản xuất và cung cấp điện 104
TÀI LIỆU THAM KHẢO 105
106 trang |
Chia sẻ: banmai | Lượt xem: 2350 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Hệ thống điều khển phân tán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
òng kín (loop), trong đó phần số có thể mang thông tin về khu vực
sản xuất hoặc số thứ tự bản lưu đồ. Ví dụ nhãn FIC-1103 biểu diễn chức
năng điều khiển (C) và hiển thị (I) lưu tốc (F), có thể cho vòng điều khiển số 03
trong lưu đồ số 11.
© 2005, Hoàng Minh Sơn
73
Bảng 9.3 liệt kê ý nghĩa của các chữ cái phân biệt chức năng. Phần biểu
diễn chức năng bắt đầu bằng một chữ cái ký hiệu biến đo được hoặc một biến
khởi tạo, sau đến các chữ cái ký hiệu chức năng chỉ thị hoặc chức năng bị
động. Tiếp nữa là các chữ cái thể hiện chức năng đầu ra theo một thứ tự tùy
ý, trừ trường hợp chữ C (control) phải đứng trước V (valve). Các chữ cái phụ
nếu có thể sử dụng ngay đằng sau một chữ cái chính để thay đổi ý nghĩa chức
năng, ví dụ PD biểu diễn chênh lệch (D) áp suất (P).
Lưu ý rằng, các ký hiệu sử dụng tuân theo chức năng chứ không theo
nguyên tắc kết cấu hay nguyên tắc làm việc của thiết bị. Ví dụ, một thiết bị đo
lưu lượng theo nguyên tắc chênh lệch áp suất được ký hiệu là FT chứ không
phải PDT. Chữ cái đầu tiên ký hiệu biến được đo (đầu ra của quá trình) hoặc
biến khởi tạo chứ không phải biến điều khiển (đầu ra điều khiển). Ví dụ, một
van điều chỉnh lưu lượng được điều khiển bởi một bộ điều khiển áp suất được
ký hiệu là PV chứ không phải FV.
© 2005, Hoàng Minh Sơn
74
Bảng 9.3: Các chữ cái ký hiệu nhãn thiết bị
Chữ cái đầu Các chữ cái đứng sau
Biến đo được hoặc biến khởi tạo Thay đổi
Chức năng hiển thị hoặc
bị động Chức năng đầu ra Thay đổi
A Phân tích (Analysis) Báo động (Alarm)
B Đốt nóng (Burner, combustion) Tùy sử dụng Tùy sử dụng Tùy sử dụng
C Tùy sử dụng Điều khiển (Control)
D Tùy sử dụng Chênh lệch (Differential)
E Điện áp Phần tử sensor
F Lưu tốc (Flow rate) Tỉ lệ (Fraction)
G Tùy sử dụng Kính (Glass), thiết bị nhìn
H Bằng tay (Hand) Cao (High)
I Dòng điện Hiển thị (Indication)
J Công suất Quét
K Thời gian, lịch trình Tần suất thay đổi Trạm điều khiển
L Mức (Level) Ánh sáng (Light) Thấp (Low)
M Tùy sử dụng Nhất thời (Momentary) Trung bình (Middle)
N Tùy sử dụng Tùy sử dụng Tùy sử dụng Tùy sử dụng
O Tùy sử dụng Hạn chế (Orifice)
P Áp suất (Pressure) Điểm thử (Point)
Q Số lượng(Quantity) Tích phân, tổng số
R Bức xạ, phóng xạ (Radiation) Ghi chép (Record)
S Tốc độ, tần số (Speed) An toàn (Safety) Chuyển mạch (Switch)
T Nhiệt độ (Temperature) Truyền, phát (Transmit)
U Nhiều biến Đa chức năng Đa chức năng Đa chức năng
V Độ rung (Vibration), phân tích cơ học
Van (Valve), giảm
chấn
W Trọng lượng (Weight), lực Giếng (Well), phun
X Không xếp loại Trục X Không xếp loại Không xếp loại Không xếp loại
Y Sự kiện, trạng thái hoặc sự có mặt Trục Y
Rơle, tính toán, biến
đổi
Z Vị trí, kích thước Trục Z Truyền động, chấp hành
© 2005, Hoàng Minh Sơn
75
Ví dụ minh họa
Hình 9.1 minh họa một ví dụ mạch vòng điều khiển áp suất. Lưu đồ chi tiết
bên trái là cơ sở cho thiết kế hệ thống và phát triển phần mềm, trong khi lưu
đồ đơn giản hóa bên phải có thể xuất hiện trên các lưu đồ công nghệ.
Mạch vòng điều khiển áp suất được điều khiển bởi trạm điều khiển DCS.
Giá trị đặt được đưa từ một máy tính thông qua đường truyền dữ liệu. Mạch
vòng điều khiển có số nhãn 211, ký hiệu vòng điều khiển số 11 trên lưu đồ số
2. Thiết bị đo áp suất PT-211 được nối với ống dẫn qua một van khóa và phạm
vi làm việc 0-300 PSIG. Tín hiệu ra là dòng điện 4-20mA, được ký hiệu đầu
vào AI-17 trong hệ DCS. Bộ điều khiển PIC-211 được thực hiện thuật toán PI
trên trạm số 2 (C-2). Đầu ra của bộ điều khiển được ký hiệu AO-21 được đưa
vào một bộ chuyển đổi dòng-áp suất (PY-211) gắn trên van điều chỉnh PCV-
211. Van điều chỉnh là loại tuyến tính, đóng an toàn, được trang bị bộ định vị
(P). Cả bộ định vị và bộ biến đổi được cấp khí nén.
Hình 9.1: Lưu ₫ồ chi tiết một vòng ₫iều khiển áp suất (bên trái) và
lưu ₫ồ ₫ơn giản hóa (bên phải)
9.2.2 Chuẩn ISA S5.3
Chuẩn mở rộng ISA S5.1 cho các chức năng trong một hệ điều khiển phân
tán. Thực ra, S5.1 vẫn giữ nguyên tập hợp các biểu tượng, nhưng mở rộng và
chi tiết hóa ý nghĩa của một số biểu tượng.
Các biểu tượng cho hiển thị/₫iều khiển chia sẻ
Thông thường người vận hành có thể can thiệp:
1) Hiển thị chia sẻ
2) Hiển thị chia sẻ và điều khiển chia sẻ
3) Truy nhập chỉ qua đường truyền thông
4) Giao diện vận hành trên đường truyền thông
Thiết bị lắp tại vị trí mở rộng:
PCV
211
LIN. FC
PIC
211
AI-17
S.P.
AO-21
P
AS
0-300#
PAH
dP/dt
C-#2
(PI)
PIC
211
PT
211
PY
211
AS
Chi tiết Đơn giản
© 2005, Hoàng Minh Sơn
76
1) Lắp trên panel tại vị trí mở rộng, thông thường có giao diện sử
dụng tương tự, không lắp tại trạm vận hành trung tâm
2) Có thể là một bộ điều khiển dự phòng hoặc một trạm thao
tác bằng tay
3) Truy nhập có thể chỉ qua đường truyền thông
4) Giao diện vận hành qua đường truyền thông.
Thông thường người vận hành không thể can thiệp:
1) Bộ điều khiển chia sẻ câm (không có giao diện)
2) Hiển thị chia sẻ lắp tại hiện trường
3) Tính toán, điều hòa tín hiệu trong bộ điều khiển chia sẻ
4) Có thể được nối mạng truyền thông
5) Thông thường vận hành không cần giao diện
6) Có thể thay đổi khi cấu hình
Các biểu tượng máy tính
Các biểu tượng dưới đây được sử dụng để chỉ các “máy tính” và chức năng
máy tính tách biệt với các thành phần cơ bản tích hợp trong hệ DCS. Các máy
tính này có thể được nối mạng với các thành phần còn lại, hoặc đứng độc lập.
Thông thường người vận hành có thể can thiệp:
1) Màn hình chỉ thị
2) Máy tính điều khiển
3) Máy tính ghi chép
Bình thường người vận hành không thể can thiệp:
1) Giao diện vào/ra
2) Tính toán, điều hòa tín hiệu trong máy tính
3) Có thể sử dụng như một bộ điều khiển câm hoặc một
module phần mềm tính toán.
Các biểu tượng ₫iều khiển trình tự và logic
Biểu tượng cho ₫iều khiển logic hoặc ₫iều khiển trình tự phức tạp không ₫ịnh
nghĩa:
Bộ ₫iều khiển logic trong hệ ĐKPT với chức năng ₫iều khiển logic hoặc ₫iều
khiển trình tự:
1) Bộ điều khiển logic khả trình, hoặc điều khiển logic số tích
hợp trong các thiết bị điều khiển phân tán
2) Bình thường người vận hành không can thiệp được.
Ý nghĩa như trên, nhưng người vận hành có thể can thiệp:
© 2005, Hoàng Minh Sơn
77
Tính toán và ₫iều hòa tín hiệu
Ngoài các biểu tượng đã định nghĩa trong S5.1, chuẩn S5.3 còn bổ sung
biểu tượng riêng cho tính toán và điều hòa tín hiệu:
9.3 Mô hình hóa hướng đối tượng
Sử dụng ngôn ngữ UML để mô hình hóa hệ thống:
• Từ biểu đồ lớp, biểu đồ triển khai có thể xây dựng cấu hình hệ thống
• Từ biểu đồ trạng thái có thể chuyển sang SFC
• Từ biểu đồ tương tác có thể chuyển sang FBD (CFC)
(Chi tiết về sử dụng UML xem [2])
© 2005, Hoàng Minh Sơn
78
10 LẬP TRÌNH ĐIỀU KHIỂN PHÂN TÁN
10.1 Lập trình theo chuẩn IEC 61131-3
IEC 61131-3 là chuẩn quốc tế duy nhất về ngôn ngữ lập trình cho các thiết
bị điều khiển, được chấp nhận rộng rãi trong công nghiệp. Các tiến bộ so với
các phương pháp lập trình PLC cổ điển là:
• Các ngôn ngữ lập trình thống nhất
• Một mô hình Task và Resource thích hợp cho nhiều hệ thống khác nhau
• 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.
Năm ngôn ngữ được chuẩn hóa là liệt kê lệnh( IL, Instruction List), sơ đồ tiếp
điểm (LD, Ladder Diagram), sơ đồ khối chức năng (FBD, Function Block
Diagram), văn bản có cấu trúc (ST, Structured Text) và biểu ₫ồ hoạt ₫ộng tuần
tự (SFC, Sequential Function Chart). Thực ra, trọng tâm của IEC 61131-3 lúc
đầu hướng tới các bộ điều khiển khả trình (PLC) đơn lẻ, song một số ngôn ngữ
chuẩn hóa ở đây cũng phản ánh các ngôn ngữ lập trình tiêu biểu được dùng
trong các hệ điều khiển phân tán. Những ngôn ngữ đó là FBD, ST và SFC,
mặc dù trong thực tế chúng có những biến thể khác nhau và được gọi với
những cái tên khác nhau. Hai ngôn ngữ còn lại là IL và LD thường chỉ được
sử dụng cho lập trình các PLC đơn lẻ, nên không được đề cập ở đây.
Hình 10-1: Minh họa một số ngôn ngữ lập trình PLC
Mỗi ngôn ngữ lập trình như FBD, ST và SFC thích hợp cho việc thể hiện các
khía cạnh khác nhau trong một chương trình điều khiển. Cụ thể là, FBD thích
hợp cho bài toán điều khiển quá trình và điều khiển logic trên cơ sở các khối
chức năng có sẵn, ST thích hợp cho việc thực hiện các khối chức năng, SFC
phù hợp cho bài toán điều khiển trình tự và cho biểu diễn trình tự hoạt động
trong một chương trình ở mức cao hơn FBD.
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
© 2005, Hoàng Minh Sơn
79
10.1.1 Kiểu dữ liệu
Các kiểu dữ liệu cơ sở
Các kiểu dữ liệu cơ sở chuẩn hóa trong IEC 61131-3 được liệt kê trong
bảng 10.1, kèm theo qui định về chiều dài ô nhớ và giá trị khởi tạo mặc định.
Phạm vi biểu diễn của các số có thể suy ra từ chiều dài ô nhớ. Cách biểu diễn
các số thực tuân theo chuẩn IEC 559.
Bảng 10-1: Các kiểu dữ liệu cơ sở trong IEC 61131-3
STT Từ khóa Kiểu dữ liệu Chiều dài
(bit)
Giá trị khởi tạo
mặc định
1 BOOL Kiểu Bool 1 0/FALSE
2 SINT Kiểu nguyên ngắn 8 0
3 INT Kiểu nguyên 16 0
4 DINT Kiểu nguyên đúp 32 0
5 LINT Kiểu nguyên dài 64 0
6 USINT Kiểu nguyên dương ngắn 8 0
7 UINT Kiểu nguyên dương 16 0
8 UDINT Kiểu nguyên dương đúp 32 0
9 ULINT Kiểu nguyên dương dài 64 0
10 REAL Số thực 32 0.0
11 LREAL Số thực dài 64 0.0
12 TIME Khoảng thời gian -- T#0S
13 DATE Ngày tháng -- D#0001-01-01
14 TIME_OF_DAY
TOD
Thời gian trong ngày -- TOD#00:00:00
15 DATE_AND_TIME
DT
Ngày tháng và thời gian -- DT#0001-01-01-
00:00:00
16 STRING Chuỗi ký tự 8bit 8 x N ''
17 BYTE Chuỗi 8 bit 8 0
18 WORD Chuỗi 16 bit 16 0
19 DWORD Chuỗi 32 bit 32 0
20 LWORD Chuỗi 64 bit 64 0
21 WSTRING Chuỗi ký tự 16bit 16 x N ""
Các kiểu dữ liệu tổng quát
Bên cạnh các kiểu dữ liệu cơ sở, chuẩn còn đưa ra khái niệm “kiểu dữ liệu
tổng quát”. Thực chất đây là các từ khóa đại diện cho một nhóm kiểu có thể
sử dụng trong một số hàm và khối chức năng tổng quát. Việc sử dụng các từ
khóa này nhằm đơn giản hóa việc mô tả các hàm và khối chức năng có thể áp
dụng cho nhiều kiểu dữ liệu khác nhau. Ngoài ra, các kiểu dữ liệu tổng quát
© 2005, Hoàng Minh Sơn
80
không có ý nghĩa nào khác trong một chương trình, do đó người sử dụng
không thể khai báo một biến thuộc kiểu tổng quát. Qui định về các kiểu dữ
liệu tổng quát được minh họa trong bảng 10-2.
Bảng 10-2: Các kiểu dữ liệu tổng quát trong IEC 61131-3
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
Các kiểu dữ liệu dẫn xuất
Các kiểu dẫn xuất được tóm tắt trong bảng 10.3, gồm có:
• Các kiểu dẫn xuất trực tiếp
• Các kiểu liệt kê
• Các kiểu dãy con
• Các kiểu mảng
• Các kiểu cấu trúc
Bảng 10-3: Các kiểu dữ liệu dẫn xuất trong IEC 61131-3
STT Mô tả/ví dụ
1 Dẫn xuất trực tiếp từ kiểu cơ sở, ví dụ
TYPE RU_REAL : REAL ; END_TYPE
2 Các kiểu liệt kê, ví dụ:
TYPE ANALOG_SIGNAL_TYPE: (SINGLE_ENDED, DIFFERENTIAL);
END_TYPE
3 Các kiểu dãy con, ví dụ:
TYPE ANALOG_DATA: INT (-4095..4095); END_TYPE
4 Các kiểu mảng, ví dụ:
TYPE ANALOG_16_INPUT_DATA: ARRAY [1..16] OF ANALOG_DATA;
END_TYPE
© 2005, Hoàng Minh Sơn
81
STT Mô tả/ví dụ
5 Các kiểu cấu trúc, ví dụ:
TYPE
ANALOG_CHANNEL_CONFIGURATION:
STRUCT
RANGE : ANALOG_SIGNAL_RANGE ;
MIN_SCALE : ANALOG_DATA ;
MAX_SCALE : ANALOG_DATA ;
END_STRUCT ;
ANALOG_16_INPUT_CONFIGURATION :
STRUCT
SIGNAL_TYPE : ANALOG_SIGNAL_TYPE ;
FILTER_PARAMETER : SINT (0..99) ;
CHANNEL: ARRAY [1..16] OF ANALOG_CHANNEL_CONFIGURATION;
END_STRUCT ;
END_TYPE
10.1.2 Tổ chức chương trình
Chương trình (PROGRAM), khối chức năng (FUNCTION_BLOCK) và hàm
(FUNCTION) là các đơn vị tổ chức chương trình (Program Organization Unit),
POU).
FUNCTION
Giống như trong PASCAL, một hàm có một hoặc nhiều đầu vào và chính
xác một đầu ra. Một hàm không có trạng thái, có nghĩa là gọi hàm với các giá
trị đầu vào như nhau sẽ cho kết quả như nhau.
Ví dụ về hàm là các hàm toán học SIN, COS, ADD,... hoặc các hàm logic
AND, OR,... Một hàm được biểu diễn đồ họa như trên Hình 10-2.
Hình 10-2: Khai báo và sử dụng một hàm
Mã khai báo/định nghĩa và gọi hàm dưới dạng ST được minh họa dưới đây:
(* Khai báo và định nghĩa hàm *)
FUNCTION fct1 : REAL
VAR_INPUT
a, b: REAL;
c : REAL:= 1.0;
END_VAR
fct1 := a*b/c;
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
© 2005, Hoàng Minh Sơn
82
END_FUNCTION
(* Gọi hàm *)
...
y := fct1(a:= x, b:= 2.0);
...
Cần lưu ý:
• Khai báo VAR_INPUT .. END_VAR cho các biến đầu vào
• Khai báo VAR .. EBD_VAR cho các biến cục bộ
• Kết quả trả về được gán cho tên hàm
• Các hàm cũng có thể được nạp chồng để có thể áp dụng với nhiều kiểu
dữ liệu khác nhau (Hình 10-3).
Hình 10-3: Khai báo hàm nạp chồng và hàm thông thường
FUNCTION_BLOCK
Hàm và khối chức năng là các khối tổ chức chương trình có giá trị sử dụng
lại. Một khối chức năng giống như một đối tượng, có trạng thái và có thể có
nhiều đầu ra, ví dụ các bộ điều khiển động, các khâu Flip-Flop, Timer,
Counter. Nếu so sánh với một đối tượng thì một khối chức năng chỉ có một
hàm thành viên duy nhất, vì thế cách gọi một khối chức năng tương tự như
cách gọi một hàm. Mỗi khối chức năng có một trạng thái riêng nên ta phải
phân biệt giữa kiểu khối chức năng (giống như lớp) và thể nghiệm khối chức
năng (giống như ₫ối tượng). Tùy theo ngữ cảnh mà khái niệm khối chức năng
có thể hiểu theo một trong hai nghĩa trên. Việc gọi một khối chức năng cũng
được thông qua tên của biến thể nghiệm, chứ không thông qua tên kiểu khối
chức năng, như minh họa trên Hình 10-4.
Hình 10-4: Khai báo và sử dụng một khối chức năng
ADD
ANY_NUM
ANY_NUM
ANY_NUM
ANY_NUM
HÀM NẠP CHỒNG
ADD_REAL
REAK
REAL
REAL
REAL
HÀM THÔNG THƯỜNG
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
X
0.25
Các tham số thực tại
SỬ DỤNG KHỐI CHỨC NĂNG
fb1
Data Type
FB_NAME
P1 O1
P2 O2
P3
Y
Tên biến thể nghiệm
© 2005, Hoàng Minh Sơn
83
Dưới đây là ví dụ mã một khối chức năng, viết bằng ST.
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
Cần lưu ý:
• Khai báo biến đầu vào với VAR_INPUT .. END_VAR
• Khai báo biến đầu ra với VAR_OUTPUT .. END_VAR
• Khai báo biến vào/ra với VAR_IN_OUT .. END_VAR
• Khai báo các biến nội bộ (trạng thái) với VAR .. END_VAR
PROGRAM
Một chương trình có thể coi như một mạng các hàm và khối chức năng nối
với nhau. Khác với hàm và khối chức năng, một chương trình có thể sử dụng
các biến toàn cục, các biến vào/ra quá trình hoặc các biến định địa chỉ trực
tiếp. Một biến có thể thuộc các kiểu dữ liệu cơ bản hoặc dẫn xuất đã nêu,
nhưng cũng có thể là một khối chức năng. Như vậy, các khối chức năng có giá
trị sử dụng lại, trong khi chương trình thì không. Một chương trình hoặc một
khối chức năng có thể được thực hiện tuần hoàn, theo sự kiện hay liên tục
nhờ các tác vụ (TASK) tương ứng. Nhiều chương trình và khối chức năng có
thể chia sẻ cùng một tác vụ.
10.1.3 Ngôn ngữ FBD
FBD là một trong năm ngôn ngữ được định nghĩa trong IEC 61131-3. Ý
tưởng của ngôn ngữ này là xây dựng chương trình từ các khối chức năng
(function block) kết nối với nhau bằng tín hiệu. Mỗi khối chức năng thực hiện
một nhiệm vụ xử lý nào đó. Chương trình xây dựng bằng ngôn ngữ FBD có
hình thức rất giống sơ đồ khối của hệ thống điều khiển. Thực chất, FBD là sự
kết hợp của sơ đồ logic cố điển (binary logic diagram) và biểu đồ hoạt động liên
tục (continuos function chart, CFC). Mỗi khối trong FBD có thể là một khối
logic như AND, OR,... nhưng cũng có thể là một khối có các đầu vào/ra tương
tự như ADD, PID, AI, AO,...
FBD thường được sử dụng để thực hiện một phần tương đối độc lập của
chương trình điều khiển trên cơ sở các khối chức năng có sẵn, ví dụ lập trình
các mạch vòng điều khiển quá trình hoặc các mạch logic điều khiển khóa liên
động.
© 2005, Hoàng Minh Sơn
84
10.1.4 Ngôn ngữ ST
ST (Structured Text) là một ngôn ngữ bậc cao mới được xây dựng trên cơ sở
cú pháp PASCAL, nhờ vậy rất thuận tiện cho việc thể hiện các thuật toán
phức tạp trong điều khiển quá trình.
Bảng 10-4: Lệnh trong ST
No. Kiểu lệnh Ví dụ
1 Gán A := B; CV := CV+1; C := SIN(X);
2
Sử dụng hàm CMD_TMR(IN:=%IX5, PT:=T#300ms) ;
A := CMD_TMR.Q ;
3 Quay về RETURN RETURN ;
4
Điều kiện rẽ nhánh if
D := B*B - 4*A*C ;
IF D < 0.0 THEN NROOTS := 0 ;
ELSIF D = 0.0 THEN
NROOTS := 1 ;
X1 := - B/(2.0*A) ;
ELSE
NROOTS := 2 ;
X1 := (- B + SQRT(D))/(2.0*A) ;
X2 := (- B - SQRT(D))/(2.0*A) ;
END_IF ;
5 Phân nhánh CASE TW := BCD_TO_INT(THUMBWHEEL);
TW_ERROR := 0;
CASE TW OF
1,5: DISPLAY := OVEN_TEMP;
2: DISPLAY := MOTOR_SPEED;
3: DISPLAY := GROSS - TARE;
4,6..10: DISPLAY := STATUS(TW - 4);
ELSE DISPLAY := 0 ;
TW_ERROR := 1;
END_CASE;
QW100 := INT_TO_BCD(DISPLAY);
6 Vòng lặp FOR J := 101 ;
FOR I := 1 TO 100 BY 2 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
EXIT ;
END_IF ;
END_FOR ;
7 Vòng lặp WHILE (3.3.2.4) J := 1;
WHILE J 'KEY' DO
J := J+2 ;
END_WHILE ;
8 Vòng lặp REPEAT (3.3.2.4) J := -1 ;
REPEAT
J := J+2 ;
UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
9 Kết thúc EXIT (3.3.2.4)a EXIT ;
10 Lệnh rỗng ;
© 2005, Hoàng Minh Sơn
85
10.1.5 Ngôn ngữ SFC
SFC mô tả tiến trình hoạt động tuần tự của một chương trình điều khiển.
SFC được xây dựng trên cơ sở mạng Petri và chuẩn IEC 848 Grafcet, với các
thay đổi cần thiết để có thể thực hiện chức năng điều khiển thay vì chỉ là một
chuẩn tài liệu mô tả.
SFC bao gồm các bước (Step) và các chuyển tiếp (Transition). Mỗi bước đại
diện cho một trạng thái cụ thể của hệ thống được điều khiển. Một chuyển tiếp
được gán một điều kiện logic, khi trở thành “đúng” sẽ kết thúc bước và kích
hoạt bước sau. Một bước được liên kết với một khối hành động (Action Block)
để thực hiện các thao tác điều khiển. Các khối hành động trong SFC đều có
thể được lập trình bởi một ngôn ngữ IEC bất kỳ, kể cả chính SFC, trong khi
các điều kiện chuyển tiếp có thể được lập trình bằng bốn ngôn ngữ IL, LD,
FBD hoặc ST. SFC cũng cho phép mô tả các quá trình phân nhánh cạnh
tranh hoặc các quá trình phân nhánh song song.
SFC cho phép sử dụng các bước lớn (macro step), trong đó mỗi bước lớn lại
có thể được biểu diễn bằng một SFC khác. Nhờ vậy ta có thể mô hình hóa ứng
dụng, lập trình ứng dụng ở nhiều mức trừu tượng, tạo điều kiện thuận lợi cho
giải quyết các bài toán phức tạp.
Hình 10-5: Một ví dụ SFC ₫ơn giản
10.2 Lập trình với ngôn ngữ bậc cao
Bên cạnh sử dụng các ngôn ngữ lập trình chuyên dụng, việc lập trình với
ngôn ngữ bậc cao phục vụ các mục đích sau đây:
• Mở rộng thư viện khối chức năng
• Thể hiện một số chức năng mở rộng
• Lập trình cho hệ DCS trên nền PC
Ngôn ngữ thường được sử dụng nhất là C/C++. Với các công cụ mạnh trong
tay, việc lập trình các thuật toán điều khiển trở nên dễ dàng. Bên cạnh các
luật điều khiển logic hoặc các bộ điều khiển phản hồi PID, thì khả năng thực
Step 1 N FILL
Step 3
Step 2 S Empty
Transition 1
Transition 2
© 2005, Hoàng Minh Sơn
86
hiện các thuật toán điều khiển cao cấp cũng hoàn toàn không bị giới hạn
bởi ngôn ngữ lập trình. Các luật điều khiển này có thể được sử dụng lại nhiều
lần, vì vậy có thể xây dựng thành một thư viện lớp. Bên cạnh các yếu tố như
tham số bộ điều khiển và chu kỳ lấy mẫu, cần lưu ý giải quyết hợp lý các vấn
đề thực tế như giới hạn đầu vào, chuyển đổi chế độ điều khiển bằng tay/tự
động, hiệu ứng reset windup (ở bộ điều khiển PID).
Để đưa các mã viết bằng C/C++ bổ sung vào thư viện khối chức năng trong
một hệ DCS, người lập trình cần tuân thủ theo một qui định nhất định. Thông
thường, việc này không dễ dàng và đòi hỏi tính năng mở của hệ thống.
© 2005, Hoàng Minh Sơn
87
11 CHỨC NĂNG ĐIỀU KHIỂN GIÁM SÁT
11.1 Giới thiệu chung về các hệ điều khiển giám sát
Điều khiển giám sát và thu thập dữ liệu (SCADA) là một phần không thể
thiếu được trong một hệ thống tự động hóa hiện đại. Từ những năm gần đây,
tiến bộ trong các lĩnh vực truyền thông công nghiệp và công nghệ phần mềm
đã thực sự đem lại nhiều khả năng mới, giải pháp mới.
Giống như nhiều từ viết tắt có tính chất truyền thống khác, khái niệm
SCADA (Supervisory Control And Data Acquisition) cũng được hiểu với những ý
nghĩa hơi khác nhau, tuỳ theo lĩnh vực ứng dụng và theo thời gian. Có thể,
khi nói tới SCADA người ta chỉ liên tưởng tới một hệ thống mạng và thiết bị có
nhiệm vụ thuần túy là thu thập dữ liệu từ các trạm ở xa và truyền tải về một
khu trung tâm để xử lý. Các hệ thống ứng dụng trong công nghiệp khai thác
dầu khí và phân phối năng lượng là những ví dụ tiêu biểu. Theo cách hiểu
này, vấn đề truyền thông được đặt lên hàng đầu. Trong nhiều trường hợp, các
khái niệm SCADA và "None-SCADA" lại được dùng để phân biệt các giải pháp
điều khiển giám sát dùng công cụ phần mềm chuyên dụng (ví dụ FIX,
InTouch, WinCC, Lookout, ...) hay phần mềm phổ thông (Access, Excel, Visual
Basic, Delphi, JBuilder, ...). ở đây, công nghệ phần mềm là vấn đề được quan
tâm chủ yếu.
Nói một cách khái quát, một hệ SCADA không có gì khác là một hệ thống
điều khiển giám sát, tức là một hệ thống hỗ trợ con người trong việc quan sát
và điều khiển từ xa, ở cấp cao hơn hệ điều khiển tự động thông thường.
Đương nhiên, để có thể quan sát và điều khiển từ xa cần phải có hệ thống
truy nhập (không chỉ thu thập!) và truyền tải dữ liệu, cũng như cần phải có
giao diện người-máy (Human-Machine Interface, HMI). Tùy theo trọng tâm của
nhiệm vụ mà người ta có thể có những cách nhìn khác nhau.
Như ta thấy, HMI là một thành phần trong một hệ SCADA, tuy nhiên không
phải chỉ ở cấp điều khiển giám sát, mà ngay ở các cấp thấp hơn người ta cũng
cần giao diện người-máy phục vụ việc quan sát và thao tác vận hành cục bộ.
Vì lý do giá thành, đặc tính kỹ thuật cũng như phạm vi chức năng, ở các cấp
gần với quá trình kỹ thuật này các OP chuyên dụng chiếm vai trò quan trọng
hơn.
Sự tiến bộ trong công nghệ phần mềm và kỹ thuật máy tính PC, đặc biệt là
sự chiếm lĩnh thị trường của hệ điều hành Windows NT cùng với các công
nghệ của Microsoft đã thúc đẩy sự phát triển của các công cụ tạo dựng phần
mềm SCADA theo một hướng mới, sử dụng PC và Windows NT làm nền phát
triển và cài đặt. Từ phạm vi chức năng thuần tuý là thu thập dữ liệu cho việc
quan sát, theo dõi quá trình, một hệ SCADA ngày nay có thể đảm nhiệm vai
trò điều khiển cao cấp, điều khiển phối hợp. Phương pháp điều khiển theo mẻ,
điều khiển theo công thức (batch control, recipe control) là những ví dụ tiêu
© 2005, Hoàng Minh Sơn
88
biểu. Hơn nữa, khả năng tích hợp hệ điều khiển giám sát với các ứng dụng
khác như các phần mềm quản lý, tối ưu hóa hệ thống,... của toàn công ty
cũng trở nên dễ dàng hơn.
Trong giải pháp điều khiển phân tán, hệ thống truyền thông ở các cấp dưới
(bus trường, bus chấp hành-cảm biến) đã có sẵn. Nếu như mạng máy tính
của một công ty cũng đã được trang bị (chủ yếu dùng Ethernet), thì cơ sở hạ
tầng cho việc truyền thông không còn là vấn đề lớn phải giải quyết. Chính vì
vậy, trọng tâm của việc xây dựng các giải pháp SCADA trong thời điểm hiện
nay là vấn đề lựa chọn công cụ phần mềm thiết kế giao diện và tích hợp hệ
thống.
Trong một hệ điều khiển phân tán, chức năng SCADA là một thành phần
không thể thiếu được. Như vậy có thể nói, một hệ DCS bao giờ cũng có chức
năng SCADA, trong khi một hệ SCADA theo đúng nghĩa của nó không thể là
một hệ DCS.
11.1.1 Các thành phần chức năng cơ bản
Xét một cách tổng quát, một hệ SCADA bao gồm các thành phần chức năng
liệt kê dưới đây.
Phần cứng
• Thiết bị thu thập dữ liệu: PLC, RTU, PC, I/O, các đầu đo thông minh
• Hệ thống truyền thông: Mạng truyền thông, các bộ dồn kênh/phân kênh,
Modem, các bộ thu phát.
• Trạm quản lý dữ liệu: Máy chủ (PC, Workstation), các bộ tập trung dữ
liệu (Data concentrator, PLC, PC)
• Trạm vận hành (Operator Station)
Hình 11-1: Các thành phần phần mềm trong một hệ SCADA
Phần mềm:
• Giao diện vào/ra (phần mềm giao diện quá trình), dưới dạng các I/O-
Drivers, I/O-Servers (DDE,OPC,...).
• Giao diện người-máy
© 2005, Hoàng Minh Sơn
89
• Cơ sở dữ liệu quá trình
• Hệ thống cảnh báo, báo động
• Lập báo cáo tự động
• Điều khiển cao cấp: Điều khiển mẻ, điều khiển trình tự, điều khiển công
thức, điều khiển chuyên gia...
Các thành phần nói trên đã được tích hợp trong một hệ điều khiển phân
tán. Vì vậy, việc xây dựng các chức năng SCADA ở đây đơn giản hơn nhiều so
với trong các hệ khác.
11.1.2 Công cụ phần mềm SCADA/HMI
Phân loại theo phạm vi sử dụng:
• Công cụ lập trình phổ thông
• Công cụ tích hợp trong một hệ DCS
• Công cụ độc lập, có thể sử dụng cho nhiều hệ thống khác nhau: WinCC
(Siemens), InTouch (Wonderware), iFIX (Intellution), Genesis (Iconics),
LookOut (NI)
Phân loại theo kiến trúc phần mềm:
• Kiến trúc truyền thống
• Kiến trúc hướng đối tượng
• Kiến trúc Web
Kiến trúc hướng ₫ối tượng
Hiện nay, có lẽ không một phần mềm SCADA nào tự nhận là tiên tiến mà
không đưa từ khóa hướng ₫ối tượng vào danh sách các đặc tính ưu việt để
quảng cáo. Mặc dù trong đại đa số các trường hợp, cách sử dụng thuật ngữ
như vậy mang tính chất lạm dụng, nhưng qua đó ta cũng thấy ít hay nhiều
tầm quan trọng của công nghệ đối tượng. Thực chất, các thư viện thành phần
sẵn có trong những sản phẩm thuộc thế hệ mới thường được xây dựng trên cơ
sở một mô hình đối tượng, đặc biệt phải nói tới mô hình COM của Microsoft.
Việc sử dụng một mô hình đối tượng thành phần chuẩn công nghiệp như
COM mang lại nhiều ưu thế như:
• Nâng cao hiệu suất công việc thiết kế, xây dựng giao diện người-máy
bằng cách sử dụng ActiveX-Controls
GIAO
DIỆN
NGƯỜI
HỆ
THỐNG
CẢNH
LẬP BÁO
CÁO TỰ
ĐỘNG
ĐIỀU KHIỂN
CAO CẤP
I/O-
DRIVE I/
I/O-
DRIVE
I/O-
SERVER
CƠ SỞ DỮ
LIỆU QUÁ
© 2005, Hoàng Minh Sơn
90
• Nâng cao khả năng tương tác và khả năng mở rộng, hay nói cách khác
là tính năng mở của hệ thống
• Thuận lợi trong việc sử dụng một chuẩn giao diện quá trình như OPC để
kết nối với các thiết bị cung cấp dữ liệu.
Quả thật, hầu hết (nếu không nói là tất cả) các phần mềm SCADA tiên tiến
nhất hiện nay đều hỗ trợ COM, cụ thể là đều có ba đặc điểm nêu trên. Nếu
trước đây để tạo được một màn hình giao diện đồ họa, một kỹ sư có kinh
nghiệm cần trung bình một vài ngày, thì nay thời gian có thể giảm xuống tới
một vài giờ. Sử dụng một công cụ thích hợp, ta có thể hoàn toàn tập trung vào
công việc chính mà không cần kiến thức chuyên sâu về lập trình. Công nghệ
đối tượng thành phần và các phương pháp không lập trình đã mở ra khả năng
này.
Kiến trúc Web
Chỉ trong vòng mấy năm gần đây, Web đã phát triển thành một trong
những công nghệ tin học quan trọng bậc nhất. Không chỉ là một phương tiện
truyền bá và truy nhập thông tin đại chúng như trong thời gian đầu mới hình
thành, bản thân Web hiện đã trở thành một môi trường đa năng cho các ứng
dụng phân tán.
Một ứng dụng Web cấu thành bởi sự tương tác giữa Web server, Web
browser, trang HTML (Hypertext Markup Language) với các ứng dụng và phụ
kiện khác. Những ứng dụng đó cũng hay được gọi là các ứng dụng nhiều lớp
(multi-tier applications).
Sử dụng Web làm nền cho các ứng dụng SCADA không chỉ mang lại hiệu
quả về thời gian cài đặt phần mềm, mà trước tiên là mở ra khả năng mới cho
việc tích hợp hệ thống tự động hóa trong một hệ thống thông tin thống nhất
của công ty. Điều khiển giám sát không còn là chức năng độc quyền của các
chuyên viên kỹ thuật. Một giám đốc điều hành sản xuất, hay một tổng giám
đốc công ty đều có thể quan sát và tham gia điều hành quá trình sản xuất từ
phòng làm việc riêng, chỉ qua màn hình, bàn phím và chuột. Tương tự, các
báo cáo về tình hình sản xuất cũng như các chỉ thị không nhất thiết phải đi
theo con đường giấy tờ hay truyền miệng, mà trực tiếp diễn ra "on-line".
Đưa SCADA lên Web cũng tạo điều kiện thuận lợi cho các dịch vụ bảo trì hệ
thống từ xa. Các nhà cung cấp giải pháp tự động hóa không cần phải đến trực
tiếp cơ sở sản xuất, mà có thể theo dõi toàn bộ diễn biến quá trình kỹ thuật
qua một trình duyệt như Internet Explorer hay Netscape Navigator, trên cơ sở
đó có thể chẩn đoán, xác định lỗi và đưa ra phương hướng giải quyết thích
hợp.
Có thể nói, một trong những yếu tố mang lại thành công cho công nghệ
Web là mô hình đơn giản, không phụ thuộc vào nền triển khai và sử dụng.
Hầu hết các loại máy tính, hầu hết các hệ điều hành thông dụng đều cho
© 2005, Hoàng Minh Sơn
91
phép cài đặt Web server và Web browser. Tuy nhiên, mô hình Web nguyên
sơ thể hiện rõ những yếu điểm sau:
• Giao thức HTTP có tính năng kém, không thích hợp cho các ứng dụng
mang tính tương tác và thời gian thực.
• Sự nghèo nàn của HTML.
• Cấu trúc xử lý nhiều lớp mặc dù linh hoạt nhưng hiệu suất kém.
• Độ an toàn và độ tin cậy của Web còn rất thấp.
Để khắc phục những yếu điểm trên, người ta đã đưa ra nhiều giải pháp
khác nhau. Trong phạm vi hẹp của báo cáo tác giả không thể đưa ra đầy đủ,
cũng như không thể đi sâu vào chi tiết từng giải pháp, nhất là khi các tiến bộ
công nghệ Web hiện nay được cập nhật không ngừng. Nhìn một cách tổng
quát, ta có thể tóm tắt lại những kỹ thuật chính được áp dụng hiện nay như
sau:
• Dùng ActiveX-Controls hoặc JavaApplets kết hợp với các biên ngữ
(scripting language) như VBScript, JavaScript,... hoặc dùng Dynamic-
HTML để nâng cao tính tương tác và khả năng lập trình cho trang Web.
• Sử dụng giao thức riêng biệt kết hợp với ActiveX-Controls hoặc
JavaApplets và bỏ qua HTTP nhằm tăng hiệu suất của ứng dụng. Kỹ
thuật này thường được các nhà sản xuất ActiveX-Controls hoặc
JavaApplets áp dụng trong các sản phẩm của mình.
• Dùng plug-ins trong Web server và Web browser để mở rộng, cải tiến
chức năng cho các ứng dụng. Kỹ thuật này được dùng chẳng hạn trong
các sản phẩm của công ty Netscape Communications.
• Hầu hết các Web server và Web browser đều dành sẵn các giao diện lập
trình (APIs) để tạo điều kiện cho người dùng mở rộng, cải tiến chức năng
cho các ứng dụng.
• Dùng sản phẩm Web server và Web browser riêng để tối ưu tính năng
vận hành của ứng dụng. Kỹ thuật này được dùng chẳng hạn trong Scout
- một bộ chương trình quan sát tiến trình dựa Web của công ty
Wonderware.
11.2 Xây dựng cấu trúc hệ thống
Đặt vấn ₫ề
• Yêu cầu thực tế của ứng dụng: qui mô hệ thống, giá thành
• Hiệu năng của hệ thống: Khả năng cập nhật dữ liệu, cập nhật màn hình,
hiệu suất sử dụng đường truyền
• Độ tin cậy của hệ thống
• Khả năng hỗ trợ bởi các công cụ phần mềm
Cấu trúc một người sử dụng (single-user)
• Ghép nối điểm-điểm
• Ghép nối nhiều điểm: vai trò của mạng truyền thông
© 2005, Hoàng Minh Sơn
92
Cấu trúc nhiều người sử dụng (multi-user)
• Một màn hình/một trạm
• Nhiều màn hình/một trạm
• Kiến trúc Client/Server: Cấu trúc mạng phẳng và cấu trúc mạng phân
cấp
Cấu trúc hệ thống qui mô lớn:
• Số lượng lớn các thiết bị thu thập dữ liệu: Vai trò của các bộ tập trung
dữ liệu
• Hệ thống diện rộng: Vai trò các bộ dồn kênh/phân kên, các bộ thu/phát,
modem, mạng viễn thông, Internet.
11.3 Thiết kế giao diện người-máy
Giao diện người-máy là hệ thống phần mềm hỗ trợ con người theo dõi quá
trình các diễn biến của kỹ thuật, trạng thái và các thông số làm việc của các
thiết bị trong hệ thống, qua đó có thể thực hiện các thao tác vận hành và can
thiệp từ xa tới hệ thống điều khiển phía dưới. Ngày nay, các phần mềm giao
diện người-máy chủ yếu được xây dựng trên nền máy tính cá nhân, dựa trên
các kỹ thuật đồ họa hiện đại. Giao diện người-máy là một trong các thành
phần chính của một hệ thống điều khiển giám sát.
11.3.1 Yêu cầu chung
• Đơn giản, dễ sử dụng (easy-to-use)
• Bền vững, khó gây lỗi (robustness)
• Tính thông tin cao (informativeness)
• Nhất quán (consistency)
• Đẹp, nhã nhặn (good-looking, elegant)
11.3.2 Các phương pháp giao tiếp người-máy
• Đưa lệnh trực tiếp
• Lựa chọn lệnh từ menu
• Giao tiếp qua hộp thoại
11.3.3 Thiết kế cấu trúc màn hình
Yêu cầu cấu trúc các màn hình
• Gần với các máy móc, thiết bị, công nghệ thực
• Khoa học, kết hợp hợp lý phương pháp sử dụng chuyển cấp hoặc lựa
chọn nhanh
•
Phân cấp màn hình
• Tổng quan hệ thống (system overview), hệ thống con (subsystem
overview)
• Tổng quan nhóm (group overview)
• Hiển thị nhóm (group display)
© 2005, Hoàng Minh Sơn
93
• Hiển thị chi tiết (details display)
• Hình ảnh hệ thống, hình ảnh phạm vi/công đoạn/máy móc dưới dạng
lưu đồ công nghệ (process diagram) hoặc hình ảnh dây chuyền sản xuất
• Đồ thị (trends): Đồ thị thời gian thực, đồ thị quá khứ
• Cửa sổ báo động (alarm windows)
11.3.4 Các nguyên tắc thiết kế
Màu sắc
• Chỉ dùng màu sắc khi thật cần thiết
• Nền: màu tối, ví dụ xám sẫm hoặc xanh lam đậm
• Máy móc, thiết bị: Sử dụng hình phẳng, màu và độ sáng khác ít so với
nền, cố gắng tránh 3D, tránh các mẫu hoa văn
• Hình tĩnh (đường ống, máy móc): tránh các màu tươi, chói
• Tín hiệu trạng thái, hình động: Chọn các màu tươi, chói
Chữ viết
• Hạn chế số font chữ, kiểu chữ, chênh lệch độ lớn
• Chân phương, tránh các hiệu ứng đặc biệt (3D, lượn sóng, đường viền,...)
Các hình ảnh ₫ộng
• Hỗ trợ phân biệt trạng thái, ví dụ nhấp nháy
• Nhất quán trong tất cả các màn hình
• Các số nên chỉnh căn phải, các biến liên quan trực tiếp để gần nhau và
cùng cách biểu diễn
• Biểu diễn các đơn vị vật lý với giá trị số và đơn vị, không dùng %
© 2005, Hoàng Minh Sơn
94
12 TÍNH SẴN SÀNG VÀ ĐỘ TIN CẬY CỦA CÁC HỆ
ĐKPT
12.1 Đặt vấn đề
Tính sẵn sàng và độ tin cậy của hệ thống phụ thuộc vào:
• Độ tin cậy của từng thiết bị
• Cấu trúc hệ thống
• Tính năng hệ thống truyền thông
• Cơ chế dự phòng
• Cơ chế an toàn
• Cơ chế khởi động lại sau sự cố nguồn
• Cơ chế bảo mật
• Khả năng bảo trì
• ...
12.2 Cơ chế dự phòng
Yêu cầu:
• Các thành phần quan trọng cần được dự phòng hoàn toàn để trường hợp
lỗi một thành phần đơn (phần cứng & phần mềm) không làm mất đi tính
năng do nó cung cấp
• Lỗi mỗi module hoặc card được phép không gây ra tê liệt hơn một trạm
vận hành hoặc một vòng điều khiển.
Phân biệt
• Dự phòng lạnh
• Dự phòng nóng: Dự phòng cạnh tranh và dự phòng dự trữ
Các biện pháp dự phòng nóng
• Dự phòng CPU: Mỗi trạm điều khiển cần có CPU dự phòng cạnh tranh,
thực hiện song song và đồng bộ với CPU chính và so sánh kết quả
• Dự phòng trạm điều khiển: Dự phòng dự trữ 1:1, chuyển mạch kịp thời,
trơn tru
• Dự phòng dự trữ hệ thống mạng: Dự phòng cáp truyền, dự phòng
module truyền thông và các thiết bị mạng khác, chuyển mạch kịp thời,
trơn tru, thời gian chuyển mạch < 1ms
• Dự phòng vào/ra
• Dự phòng trạm vận hành 1:n
• Dự phòng trạm server 1:1
Dự phòng lạnh:
• Cho phép thay thế trực tuyến các module vào/ra và các card khác
• Cho phép thay thế các trạm điều khiển trong một thời gian nhanh nhất
© 2005, Hoàng Minh Sơn
95
12.3 Cơ chế an toàn
• Có cơ chế dừng an toàn, dừng khẩn cấp (mạch cứng hoặc qua bus an
toàn) khi hệ thống có các cơ cấu chuyển động
• Tín hiệu ra tương tự hỗ trợ chế độ an toàn khi mất liên lạc với trạm điều
khiển hoặc khi phát hiện trạm điều khiển có lỗi (giữ giá trị cuối hoặc đưa
về giá trị mặc định)
12.4 Cơ chế khởi động lại sau sự cố
• Các trạm điều khiển cần có khả năng tự phát hiện lỗi mất nguồn, thực
hiện xử lý và đặt các tín hiệu ra về trạng thái an toàn, sau khi có nguồn
trở lại phải có khả năng hồi phục trạng thái cũ
• Các trạm vận hành phải có khả năng tự hồi phục trạng thái làm việc
trước khi xảy ra sự cố
• Tất cả các nút mạng phải có khả năng tự khởi động một cách độc lập với
các nút khác
12.5 Bảo mật
• Đặt chế độ bảo mật theo trạm hoặc theo người sử dụng để hạn chế, kiểm
soát quyền truy nhập dữ liệu và điều khiển
• Đặt chế độ bảo mật dựa trên từng tag riêng rẽ hoặc từng cửa sổ riêng rẽ
• Người vận hành cần sử dụng mã ID và mật khẩu
• Cho phép thực hiện bảo mật theo nhóm
12.6 Bảo trì
• Chế độ bảo trì: Hệ thống cần cho phép người vận hành đưa trực tiếp giá
trị biến quá trình trong trường hợp thiết bị trường hỏng, cần sửa chữa
hoặc đang được hiệu chỉnh
• Chỉ thị lỗi: mỗi module, mỗi card hoặc bộ nguồn cần được trang bị đèn
LED hoặc đèn khác để chỉ thị trạng thái vận hành
• Chẩn đoán: Hệ thống phải hỗ trợ chẩn đoán trực tuyến với các yêu cầu
tối thiểu như:
- CPU của trạm điều khiển cần có biện pháp phát hiện và sửa lỗi trong bộ
nhớ
- Mạng truyền thông thời gian thực cần sử dụng biện pháp bảo toàn dữ
liệu để phát hiện lỗi
- Thông báo lỗi và các thông tin chẩn đoán với người vận hành về cấp
nguồn, quạt thông gió/làm mát, các card DCS, máy in, ROM của trạm
điều khiển, lỗi thực hiện thuật toán điều khiển, lỗi nạp chương trình
lên/xuống,...
• System back-up: Toàn bộ hệ thống phần mềm cần được lưu trữ backup
trên các phương tiện phổ thông, tất cả các phần mềm phát triển, chương
© 2005, Hoàng Minh Sơn
96
trình ứng dụng và các gói phần mềm chuẩn cũng như tuỳ chọn phải
được cung cấp cùng đĩa cứng hoặc đĩa CD.
• Các công cụ đặc biệt do nhà sản xuất cung cấp, phục vụ chẩn đoán và
thay thế thiết bị
•
© 2005, Hoàng Minh Sơn
97
13 ĐÁNH GIÁ VÀ LỰA CHỌN GIẢI PHÁP ĐIỀU
KHIỂN PHÂN TÁN
13.1 Đánh giá và lựa chọn các sản phẩm DCS tích hợp trọn
vẹn
13.1.1 Phạm vi chức năng
Chức năng ₫iều khiển cơ sở
• Phương pháp điều khiển vòng kín (PID, MPC, Fuzzy) với các yêu cầu công
nghiệp như chuyển chế độ Manual/Automatic trơn tru, Anti-Reset-
Windup.
• Điều khiển logic, khóa liên động
Chức năng ₫iều khiển cao cấp
• Điều khiển mẻ, điều khiển công thức
• Điều khiển thích nghi, bền vững, tối ưu
• Điều khiển chuyên gia
Chức năng ₫iều khiển giám sát
• Chất lượng giao diện đồ họa
• Khả năng lập báo cáo tự động
• Cơ chế quản lý và xử lý sự kiện, sự cố
• Hỗ trợ ActiveX-Control và OPC
• Hỗ trợ giao diện cơ sở dữ liệu ODBC
• Chức năng Web
13.1.2 Cấu trúc hệ thống và các thiết bị thành phần
• Cấu trúc vào/ra phân tán hay vào/ra tập trung
• Cấu trúc cấp điều khiển
• Cấu trúc cấp điều khiển giám sát
• Các chủng loại thiết bị hỗ trợ
• Các hệ thống mạng truyền thông được hỗ trợ (đặc biệt bus trường liên
quan tới các chủng loại thiết bị trường có thể hỗ trợ).
13.1.3 Tính năng mở
• Khả năng tự mở rộng hệ thống
• Lựa chọn các thiết bị của các nhà cung cấp khác
• Hỗ trợ các chuẩn công nghiệp (COM, OPC, ActiveX-Control, MMS, IEC,...)
13.1.4 Phát triển hệ thống
Cấu hình hệ thống
• Đơn giản, hướng đối tượng
• Khả năng phát triển hệ thống một cách xuyên suốt
© 2005, Hoàng Minh Sơn
98
• Cấu hình và tham số hóa các thiết bị và mạng truyền thông dễ dàng
qua phần mềm từ trạm kỹ thuật
Lập trình ₫iều khiển
• Đơn giản, hướng đối tượng
• Các ngôn ngữ lập trình chuyên dụng (FBD, SFC, ST,...)
• Các ngôn ngữ lập trình bậc cao (C/C++, BASIC)
• Lập trình giao tiếp ngầm hay hiện
• Khả năng tự mở rộng thư viện chức năng (thông qua một ngôn ngữ lập
trình bậc cao)
13.1.5 Độ tin cậy và tính sẵn sàng
• Cơ chế dự phòng
• Khả năng bảo mật
• ...
13.1.6 Giá thành, chi phí
Chi phí ban ₫ầu
• Chi phí thiêt kế hệ thống
• Chi phí phần cứng
• Chi phí phần mềm công cụ
• Chi phí phát triển phần mềm ứng dụng
• Chi phí triển khai, đưa vào vận hành
• Chi phí đào tạo, chuyển giao công nghệ
• ...
Chi phí vận hành
• Chi phí bảo trì, bảo dưỡng thiết bị và phần mềm
• Chi phí thiết bị thay thế
• Chi phí dịch vụ hỗ trợ kỹ thuật
• Chi phí dừng hệ thống khi xảy ra sự cố
• ...
13.2 So sánh giải pháp DCS tích hợp trọn vẹn với các giải
pháp khác
So sánh trên cơ sở các tiêu chí:
• Phạm vi chức năng
• Độ tin cậy và tính sẵn sàng
• Tính năng mở
• Phát triển hệ thống
• Giá thành, chi phí
So sánh với giải pháp PLC+SCADA/HMI
Tham khảo [11]
© 2005, Hoàng Minh Sơn
99
So sánh với giải pháp PC + SCADA/HMI
Tham khảo [10]
© 2005, Hoàng Minh Sơn
100
14 GIỚI THIỆU MỘT SỐ HỆ ĐIỀU KHIỂN PHÂN
TÁN TIÊU BIỂU
14.1 PCS7 của Siemens
14.2 PlantScape của Honeywell
14.3 DeltaV của Fisher Rosermount
14.4 Centum CS1000/CS3000 của Yokogawa
14.5 AdvantOCS của ABB
Tham khảo các tài liệu đi kèm đĩa CD.
© 2005, Hoàng Minh Sơn
101
15 MỘT SỐ HƯỚNG NGHIÊN CỨU VÀ ỨNG DỤNG
15.1 Trí tuệ nhân tạo phân tán
Đối với các hệ thống mang đặc thù tính phân tán, việc ứng dụng trí tuệ
nhân tạo phân tán là một trong những hướng nghiên cứu mới, hứa hẹn nhiều
kết quả khả quan. Gần đây, agent (tác tử) và multi-agent (đa tác tử) được coi
là các công nghệ trọng tâm của trí tuệ nhân tạo phân tán, thu hút được sự
quan tâm của đông đảo giới nghiên cứu trong lĩnh vực công nghệ thông tin.
Agent là một thực thể phần mềm thông minh, có khả năng tự hoạt động với
nhiệm vụ xác định để đạt được các mục tiêu đã đề ra. Đáng lưu ý là trong
thực tế không có định nghĩa nào cho khái niệm agent được chấp nhận một
cách thống nhất. Hầu như người ta chỉ có thể nhất trí rằng tự hoạt ₫ộng
(autonomy) là trọng tâm trong khái niệm agent. Có thể nói, chính vì đứng trên
các quan điểm ứng dụng khác nhau nên mỗi nhà nghiên cứu tìm cách đưa ra
một định nghĩa thích hợp nhất với lĩnh vực ứng dụng cụ thể. Do đó, việc phân
loại agent trước định nghĩa có lẽ hợp lý hơn quá trình ngược lại.
Trong thực tế cũng có nhiều quan điểm phân loại agent khác nhau. Ví dụ,
một số tác giả phân biệt agent thông minh, agent di động với agent thông
thường. Trên Hình 15-1 là mô hình phân loại theo Nwana, được chấp nhận
tương đối rộng rãi.
Hình 15-1: Phân loại agent theo Nwana
Các agent có thể thiết kế theo mô hình single-agent hoặc multi-agent. Các
single-agent không nhận biết các agent khác để cùng tương tác, mà nó chỉ coi
các agent đó là một phần của môi trường xung quanh. Một hệ thống multi-
agent có thể phân chia một nhiệm vụ để nhiều agent cùng phối hợp giải quyết.
Điều này rất có ý nghĩa trong một hệ thống điều khiển phân tán.
Theo nhiều quan điểm, agent có những đặc điểm chính như sau:
• Thông minh và có khả năng hoạt động độc lập (Autonomy and
Intelligence): các agent tự kiểm soát và chịu trách nhiệm về những quyết
Hợp tác
Học
Tự hoạt
động
1
2
3
4 Agent thông minh
Agent hợp tác-học
Agent giao diện Agent hợp tác
© 2005, Hoàng Minh Sơn
102
định và hành vi của mình, tự hoạt động mà không cần đợi những tác
động từ ngoài vào.
• Có khả năng học (Learning): tồn tại trong một môi trường động, các agent
phải có khả năng học để có thể thích nghi và giải quyết những vấn đề
nảy sinh.
• Có khả năng giao tiếp (Communication): giao tiếp giữa các agent, và giữa
agent với con người.
• Có khả năng phối hợp hoạt động (Co-operation): với các agent khác và với
con người nhằm giải quyết những vấn đề phức tạp mà một agent không
thể thực hiện.
• Có khả năng di chuyển (Mobility): một agent có thể di chuyển qua hệ
thống, từ khu vực này đến khu vực khác nhằm thu thập dữ liệu.
Tuy nhiên, trong các đặc tính trên, chỉ đặc tính thứ nhất và thứ hai được
coi là cốt lõi, còn các đặc tính khác chỉ là tiêu biểu trong các ứng dụng thực
tế. Ví dụ, khả năng giao tiếp và phối hợp hoạt động là hai đặc tính trong một
hệ multi-agent. Hay khả năng di chuyển là một đặc tính tiêu biểu trong các
ứng dụng Internet, tuy không thực sự cần thiết trong nhiều hệ thống ứng
dụng khác.
15.2 Điều khiển và giám sát các hệ thống giao thông
15.2.1 Đặt vấn đề
Hệ thống giao thông nói chung và hệ thống điều khiển tín hiệu giao thông
đô thị nói riêng là những hệ phân tán tiêu biểu, việc áp dụng phương pháp
điều khiển cục bộ hay tập trung đều không thích hợp. Độ phức tạp của cấu
trúc phân tán ở đây không những thể hiện qua phân bố địa lý trên phạm vi
rộng, mà còn qua sự phân tán chức năng và tính bất định, dễ thay đổi của mô
hình. Dựa trên ý tưởng trí tuệ phân tán, người ta có thể xây dựng một mô
hình kiến trúc tổng thể cho điều khiển thông minh hệ thống đèn tín hiệu giao
thông.
15.2.2 Mô hình hệ thống điều khiển đèn tín hiệu giao thông bằng
công nghệ Agent
Hệ thống điều khiển đèn tín hiệu giao thông đô thị đưa ra ở đây có cấu trúc
phân tán hoàn toàn, được thực hiện dưới dạng một hệ multi-agent, trong đó
việc điều khiển tại mỗi nút giao thông do một agent đảm nhiệm. Thực chất,
mỗi agent ở đây là một bộ điều khiển thích nghi, có khả năng nhận biết tình
hình giao thông thực tế để đưa ra quyết định điều khiển một cách thông
minh. Ví dụ, một agent có thể dựa vào lượng giao thông thực tế tại các làn
đường mà đưa ra quyết định về thời gian mở đèn xanh, sử dụng lý thuyết logic
mờ .
© 2005, Hoàng Minh Sơn
103
Hình 15-2: Mô hình hệ thống ₫iều khiển tín hiệu giao thông
Mô hình hệ thống được minh họa đơn giản hóa trên Hình 15-2. Các đường
Đông-Tây được đánh số lẻ và các đường Bắc-Nam được đánh số chẵn. Các
agent điều khiển nút (Ax.y) thuộc một tuyến đường được nối mạng với nhau
thành một nhóm. Như vậy, một agent điều khiển nút thông thường thuộc hai
nhóm khác nhau ứng với hai tuyến đường. Trong điều kiện thông thường,
giữa các agent lân cận có sự giao tiếp và phối hợp hoạt động để đạt được mục
tiêu đề ra là tối ưu khả năng lưu thông trên một tuyến đường. Ví dụ, A3.4 có
thể hợp tác với A3.2, A3.6, A1.4 và A.5.4.
Trường hợp có sự cố trong giao tiếp xảy ra (ví dụ do sự cố mạng), mỗi agent
phải có khả năng chuyển từ chế độ hợp tác sang chế độ hoạt động hoàn toàn
độc lập. Khi đó, mỗi agent không có thông tin hỗ trợ từ các agent khác, mà
phải tự nhận biết tình huống để phán đoán và khai thác thông tin. Điều khiển
làn sóng xanh là một ví dụ tiêu biểu. Trong trường hợp bình thường, các agent
trên cùng một tuyến đường một chiều có thể trao đổi thông tin về thời điểm
mở đèn xanh để tạo ra khả năng lưu thông tốt nhất. Tuy nhiên, khi có sự cố
xảy ra về mặt giao tiếp, mỗi agent sẽ phải tự nhận biết mẫu lưu lượng giao
thông thông qua các thiết bị đo để ra quyết định phối hợp mở đèn xanh.
Có thể thấy rằng, việc tối ưu hóa toàn cục cho hệ thống bằng phương pháp
tĩnh cũng như phương pháp động nhưng tập trung là một bài toán không thể
giải được đối với một hệ phân tán có cấu trúc và tham số thay đổi. Ngược lại,
việc tối ưu hóa cục bộ cho từng nút giao thông không thể mang lại hiệu quả
cao nhất cho toàn hệ thống. Giống như trong một nền kinh tế thị trường, vấn
đề trọng tâm ở đây là khả năng tự học, tự thích nghi và hợp tác giữa các agent
điều khiển nút để có thể cùng nhau đạt được mục tiêu chung một cách tốt
nhất cho cả hệ thống.
Điều khiển thông minh mang đến khả năng linh hoạt rất lớn cho hệ thống
đèn tín hiệu và đem lại sự thuận tiện tối ưu cho hệ thống giao thông. Ứng
dụng trí tuệ phân tán và công nghệ agent, multi-agent vào trong các hệ thống
A1.0
A3.0
A5.1
A1.2
A3.2
A5.2
A1.4 A1.6 A1.8
A5.4 A5.6
A3.4 A3.6 A3.8
A5.8
0 2 4 6 8
1
3
5
© 2005, Hoàng Minh Sơn
104
điều khiển phân tán nói chung và các hệ thống giao thông nói riêng là một
hướng nghiên cứu có nhiều triển vọng.
15.3 Điều khiển và giám sát các hệ thống sản xuất và cung
cấp điện
Hệ thống sản xuất và cung cấp điện cũng là một ví dụ điển hình một hệ
thống phân tán qui mô lớn, do đó việc áp dụng các phương pháp điều khiển
phân tán sẽ mang lại hiệu quả tốt.
Một số vấn đề lớn được đặt ra:
• Điều khiển cục bộ từng nhà máy điện, từng khu vực và điều khiển phối
hợp trong một hệ thống điện lưới quốc gia
• Tối ưu hóa cục bộ và tối ưu hóa toàn cục (chất lượng và hiệu quả kinh
tế)
• Truyền thông đường dài
• Tính ngẫu nhiên, tính bất định, tính hỗn hợp của hệ thống.
Một số hướng giải pháp là:
• Sử dụng công nghệ tác tử và đa tác tử cho điều khiển cục bộ và phối hợp
hoạt động trong toàn hệ thống
• Công nghệ truyền thông qua đường dây tải điện
• Công nghệ Web cho chức năng điều khiển giám sát.
• ...
TÀI LIỆU THAM KHẢO
[1] Martin Fowler, Kendall Scott: UML Distilled: A Brief Guide to the Standard
Object Modeling Language (2nd Edition). Addison-Wesley, 1999.
[2] James Rumbaugh, Iva Jacobson, Grady Booch: The unified modeling
language reference manual. Addison Wesley 1999. (*)
[3] Erich Gamma et. al.: Design Patterns — Elements of Reuseable Object-
Oriented Software. Addision- Wesley, 1995.
[4] OMG: CORBA — Specification. www.omg.org (*)
[5] Microsoft Corp.: “DCOM- Technical Overview”. White Paper. MSDN-
Library. (*)
[6] Microsoft Corp.: “Dr. GUI on Components, COM, and ATL”. MSDN
Selected Online Column. (*)
[7] OPC Foundation: OPC — Data Access Custom Interfaces Specification 2.0.
www.opcfoundation.org. (*)
[8] OPC Foundation: OPC — Data Access Automation Interfaces Specification
2.0. www.opcfoundation.org (*)
[9] Đặng Anh Việt, Bùi Quang Việt: Xây dựng phần mềm khung cho giải pháp
₫iều khiển trên nền PC. Đồ án tốt nghiệp, BM Điều khiển Tự động, Đại
học Bách khoa Hà Nội, 5/2002.
[10] Tạp chí Tự ₫ộng hóa ngày nay.
[11] Chuẩn IEC-61131-3 và IEC-61499: www.holobloc.com (*)
[12] Trang Web về IEC-61131-3: www.plcopen.org
[13] Các tài liệu sản phẩm DCS của một số hãng (*)
(*): Có trong đĩa CD tài liệu kèm theo bài giảng.
Các file đính kèm theo tài liệu này:
- 660_he thong dieu khien phan tan.pdf