1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích, thiết kế và xây dựng hệ thống phân bố, mở, thu thập dữ liệu và điều khiển

99 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 99
Dung lượng 9,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu đề tài Như tên đề tài: ‘Phân tích, thiết kế và xây dựng hệ thống mở thu thập dữ liệu và điều khiển phân bố’ luận văn sẽ phân tích ưu điểm, khuyết điểm của các hệ thống SCADA hi

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

VÕ DIỆP QUỐC TUẤN

PHÂN TÍCH, THIẾT KẾ VÀ

XÂY DỰNG HỆ THỐNG PHÂN BỐ, MỞ, THU THẬP DỮ LIỆU VÀ ĐIỀU KHIỂN

Chuyên ngành : TỰ ĐỘNG HÓA Mã ngành : 02.05.01

LUẬN VĂN THẠC SỸ

TP Hồ Chí Minh,

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : TS TRƯƠNG ĐÌNH CHÂU

Cán bộ chấm nhận xét 1 : PGS TS NGUYỄN THỊ PHƯƠNG HÀ

Cán bộ chấm nhận xét 2 : TS HOÀNG MINH TRÍ

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ

TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Tp HCM, ngày 10 tháng 11 năm 2006

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: VÕ DIỆP QUỐC TUẤN Phái : Nam

Ngày, tháng, năm sinh: 30/10/1979 Nơi sinh: Khánh Hòa Chuyên ngành: Tự động hóa MSHV: 01504388

I- TÊN ĐỀ TÀI:

PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG PHÂN BỐ, MỞ, THU THẬP DỮ LIỆU VÀ ĐIỀU KHIỂN

II- NHIỆM VỤ VÀ NỘI DUNG:

- Phân tích ưu khuyết điểm của các thành phần trong hệ thống điều khiển và giám sát_DCS trên thị trường tự động hóa công nghệ

- Xây dựng hệ thống mở mang tích chất thừa kế công nghệ

III- NGÀY GIAO NHIỆM VỤ (Ngày bắt đầu thực hiện LV ghi trong Quyết định giao

Trang 4

LỜI CẢM ƠN

Luận văn được hòan thành tốt đẹp ngoài sự cố gắng của bản thân, tôi xin chân thành cám ơn sự giúp đỡ của các thầy, các cô trong bộ môn Điều khiển Tự động đã trực tiếp giảng dạy, truyền đạt cho em những kiến thức quí báu trong suốt thời gian học tập tại trường

Tôi xin chân thành cảm ơn TS Trương Đình Châu, người đã gợi ý và tận tình hướng dẫn tôi trong suốt quá trình thực hiện luận văn này

Xin chân thành cám ơn những ý kiến đóng góp sự động viên của bạn bè đã giúp tôi hoàn thiện cuốn luận văn này

TP HCM,ngày 10 tháng 11 năm 2006

Trang 5

MỤC LỤC

Chương I TỔNG QUAN ĐỀ TÀI LUẬN VĂN 1

Đặt vấn đề 2

Mục tiêu đề tài 2

Hướng thực hiện đề tài luận văn 2

Chương II PHÂN TÍCH HỆ THỐNG THU THẬP DỮ LIỆU VÀ ĐIỀU KHIỂN PHÂN BỐ/GIÁM SÁT 4

Hệ thống điều khiển giám sát và thu thập dữ liệu-SCADA 5

1 Giới thiệu 5

2 Mô hình phân lớp chuẩn của hệ thống điều khiển giám sát 6

3 Cấu trúc 8

4 Chức năng 10

5 Network 10

6 Ngôn ngữ lập trình 11

7 Cơ sở dữ liệu 11

8 Đồ họa 12

9 Cảnh báo và sự kiện (Alarm and Event) 12

10 Phương pháp kết nối với các thiết bị I/O và thiết bị ứng dụng 12

11 Cơ cấu mở (Openness) 12

Hệ thống điều khiển phân tán-DCS 14

1 Khái niệm hệ thống điều khiển phân tán DCS 14

2 Mô hình phân lớp của hệ thống điều khiển DCS 15

3 Các mô hình mạng trong hệ thống điều khiển phân tán 18

Hệ phân tán và công nghệ hướng đối tượng phân tán 19

1 Hệ phân tán và ứng dụng phân tán 19

2 Đối tượng phân tán 21

Chương III OPC (OLE FOR PROCESS CONTROL) 24

Giới thiệu OPC 25

1 Sơ đồ của một OPC 27

2 Tương tác giữa OPC Client và OPC Server 27

Đặc tả OPC DA 29

1 Các giao diện cần phải có của OPC DA: 29

2 Cách thức trao đổi thông tin giữa OPC DA Server và OPC DA

Trang 6

Đặc tả OPC Alarms & Events (OPC AE) 33

1 Giới thiệu về OPC Alarms & Events 33

2 Giao diện của OPC AE 35

3 Sự liên lạc giữa OPC AE Server và OPC AE Client 37

Đặc tả Historical Data Access (OPC HDA) 38

Chương IV COM/DCOM VÀ THỜI GIAN THỰC 40

Thời gian thực 41

1 Hệ thống thời gian thực 41

2 Xử lý thời gian thực 42

3 Mỗi hệ thống điều khiển là một hệ thời gian thực 45

Công nghệ hướng đối tượng 46

1 Công nghệ hướng đối tượng là gì? 46

2 Tự động hóa và công nghệ hướng đối tượng 50

Công nghệ hướng đối tượng COM/DCOM 51

1 Giao diện 51

2 Sự tạo thành đối tượng 53

3 Giá trị trả về của những phương pháp 54

4 Thông số nhận dạng 54

5 Đăng ký DCOM vào Registry 55

6 Sử dụng luồng 55

7 Thiết lập một kết nối callback 56

8 Proxy và Stub 57

Hệ thống thời gian thực sử dụng COM/DCOM 58

Chương V THIẾT KẾ HỆ THỐNG MỞ THU THẬP DỮ LIỆU VÀ ĐIỀU KHIỂN PHÂN BỐ 60

Hệ thống mở 61

Hệ thống điều khiển phân tán 62

Thiết kế hệ thống “mở” thu thập dữ liệu và điều khiển phân bố 63

1 OPC Data Access Server 65

2 OPC Historical Data Access Server 68

3 OPC Alarm & Event Server 71

4 OPC Data Access Client 72

5 OPC Historical Data Access Client 74

6 OPC Alarm & Event Client 77

Chương VI THI CÔNG & KẾT QUẢ 79

Trang 7

Thi công hệ thống 80

1 Server 80

2 User Client 83

3 HMI / SCADA Software 84

Kết luận 88

Hướng phát triển đề tài 88

Tài liệu tham khảo 89

Trang 8

LỜI NÓI ĐẦU

Trong những năm gần đây theo sự tiến bộ của khoa học kỹ thuật, công cuộc công nghiệp hóa hiện đại hóa đất nước đang diễn ra khá tốt đẹp Trước tình hình đó đã có khá nhiều yêu cầu cấp bách và cũng là những thách thức được đặt ra cho giới trí thức

Luận Văn này được hoàn thành trong một khoảng thời gian ngắn và một khối lượng công việc tương đối lớn bao gồm việc nghiên cứu, thiết kế phần cứng, lập trình phần mềm, tập luận văn này còn bộc lộ những thiếu sót và hạn chế Để cho đề tài được hoàn thiện hơn nữa, sinh viên thực hiện đề tài này rất mong nhận được sự góp ý của thầy cô và các bạn

Tp Hồ Chí Minh, ngày 10 tháng 11 năm 2006

Học viên thực hiện

Võ Diệp Quốc Tuấn

Trang 9

Chương 1

TỔNG QUAN ĐỀ TÀI LUẬN VĂN

Trang 10

Đặt vấn đề

Khẳng định vai trò quan trọng của công nghệ tự động trong chiến lược công nghiệp hoá và hiện đại hoá nền kinh tế nước ta là một việc hết sức có ý nghĩa, tạo

ra khả năng phát triển kinh tế với tốc độ cao, vững chắc và lâu dài

Ở các nước có nền công nghiệp tiên tiến việc tự động hoá các ngành kinh tế, kỹ thuật trong đó có cơ khí chế tạo đã thực hiện từ nhiều thập kỷ trước đây Sự phát triển của khoa học kỹ thuật ngày càng nhanh góp phần nâng cao năng suất lao động

Hệ thống SCADA từ những bước phát triển đầu tiên: hệ thống truyền tin và báo hiệu, hệ thống điều khiển tập trung, DCS, và ngày nay đã phát triển đến mức hệ thống điều khiển mang tính chất đa cấp, đa thành phần từ phần cứng cho đến phần mềm Có rất nhiều hệ thống SCADA của các hãng nổi tiếng trên thế giới xây dựng hệ thống của mình không mang tính chất mở Nguyên nhân bởi vì là do tính cạnh tranh trên thị trường tự động hóa công nghiệp, thêm vào đó là do thiếu một cấu trúc chuẩn và trên cơ sở đó xây dựng lên hệ thống mở

Những hệ thống SCADA không mang tính chất mở nói trên gây nhiều vấn đề trong việc thiết kế, triển khai, sử dụng và đặc biệt là vấn đề tích hợp các thành phần tự do và kết quả không mang lại hiệu quả kinh tế cho người sử dụng

Vì vậy, cần phải thiết kế và xây dựng một hệ thống thu thập dữ liệu và điều khiển mang tính chất mở để tạo điều kiện tối ưu cho người sử dụng và đặc biệt là mở ra cho những thành phần ở bên ngoài có thể kết nối, tận dụng và thừa kế những hiệu quả của hệ thống này

Mục tiêu đề tài

Như tên đề tài: ‘Phân tích, thiết kế và xây dựng hệ thống mở thu thập dữ liệu và điều khiển phân bố’ luận văn sẽ phân tích ưu điểm, khuyết điểm của các hệ thống SCADA hiện tại và trên cơ sở đó thiết kế hệ thống thu thập dữ liệu và điều khiển phân bố dựa trên phương pháp truyền thông hiện đại để đáp ứng các yêu cầu mở, real-time – OPC (OLE for Process Control)

Hướng thực hiện đề tài luận văn

Luận văn nghiên cứu các công nghệ truyền thông, hệ thống điều khiển giám sát và điều khiển phân tán như sau:

- OPC Data Access – truy cập dữ liệu thời gian thực

- OPC Alarm and Event – truy cập dữ liệu báo động và sự kiện

Trang 11

- OPC Historical Data Access – truy cập các dữ liệu lược sử

Sau đó sẽ thiết kế ra hệ thống thu thập dữ liệu và điều khiển với cấu trúc gồm nhiều trạm server, client là tổ hợp của những thành phần nói trên và những phần mềm HMI sẵn có

Trang 13

Hệ thống điều khiển giám sát và thu thập dữ liệu-SCADA

1 Giới thiệu

SCADA (Supervisory Control And Data Acquisition) giống như tên gọi không phải là một hệ thống điều khiển hoàn chỉnh mà ở đẳng cấp cao hơn nữa là giám sát Hệ thống SCADA là một hệ thống giám sát và thu thập dữ liệu, là một hệ phần mềm đứng trên các thiết bị phần cứng (I/O, PLC…)

Có hai định nghĩa điển hình về SCADA như sau:

- SCADA là công nghệ cho phép người sử dụng có thể thu thập dữ liệu từ một hay nhiều thiết bị ở xa một cách dễ dàng và/hoặc gởi những lệnh điều khiển giới hạn tới những thiết bị này

- Là một hệ thống làm việc với những tín hiệu thông qua những kênh truyền thông cũng như cung cấp những lệnh điều khiển tới những thiết bị RTU (Remote terminal unit, đơn vị đầu cuối ở xa)

Một số hệ thống SCADA tiêu biểu: WinCC của Siemens, Lockout của NI, iFIX, InTouch của Wonderware… và các hệ SCADA của các hãng được thiết kế riêng cho phù hợp với ứng dụng và phần cứng riêng biệt của hãng

Các hệ thống SCADA:

Ci Technologies United States DATA Co

Rockwell Software Inc

National Instruments Intellution

Siemens

USA Taiwan USA Russia France Australia USA USA USA USA Germany

Các hệ thống SCADA này chưa thiết kế mở theo đúng nghĩa của nó

Trang 14

2 Mô hình phân lớp chuẩn của hệ thống điều khiển giám sát

Qu¶n lý c«ng ty

§iỊu khiĨn

gi¸m s¸t

§iỊu hµnh s¶n xuÊt

Việc phân cấp chức năng sẽ tiện lợi cho việc thiết kế hệ thống và lựa chọn thiết

bị Tùy thuộc vào mức độ tự động hóa và cấu trúc hệ thống cụ thể mà ta có mô hình phân cấp chức năng

Trang 15

Cấp chấp hành: Các chức năng chính của cấp chấp hành là đo lường, dẫn

động và chuyển đổi tín hiệu trong trường hợp cần thiết Thực tế, đa số các thiết bị cảm biến hay chấp hành cũng có phần điều khiển riêng cho việc thực hiện đo lường/truyền động được chính xác và nhanh nhạy Các thiết bị thông minh (có bộ vi xử lý riêng) cũng có thể đảm nhận việc xử lý và chuẩn bị thông tin trước khi đưa lên cấp trên điều khiển

Cấp điều khiển: Nhiệm vụ chính của cấp điều khiển là nhận thông tin từ

các bộ cảm biến, xử lý các thông tin đó theo một thuật toán nhất định và truyền đạt lại kết quả xuống cho bộ chấp hành Máy tính đảm nhận việc theo dõi các công cụ đo lường, tự thực hiện các thao tác như ấn nút mở/đóng van, điều chỉnh cần gạt Đặc tính nổi bật của cấp điều khiển là xử lý thông tin Cấp điều khiển và cấp chấp hành hay được gọi chung là cấp trường (Field level) bởi vì các bộ điều khiển, cảm biến và chấp hành được cài đặt trực tiếp tại hiện trường gần kề với hệ thống kỹ thuật

Cấp điều khiển giám sát: có chức năng giám sát và vận hành một quá trình

kỹ thuật, có nhiệm vụ hỗ trợ người sử dụng trong việc cài đặt ứng dụng, thao tác theo dõi, giám sát vận hành và xử lý những tình huống bất thường Ngoài

ra trong một số trường hợp, cấp này còn thực hiện các bài toán điều khiển cao cấp như điều khiển phối hợp, điều khiển trình tự và điều khiển theo công thức Việc thực hiện các chức năng ở cấp điều khiển và giám sát thường không đòi hỏi phương tiện, thiết bị phần cứng đặc biệt ngoài máy tính thông thường

Cấp quản lý công ty và điều hành sản xuất: Đây là cấp cao nhất trong hệ

thống, có nhiệm vụ thu thập số liệu về thời gian, chương trình, hao phí của quá trình sản xuất, cũng như đưa ra quyết định về quy trình sản xuất đó Cấp này thường do các cán bộ cao cấp trong công ty quản lý, thường sử dụng các phần mềm về cơ sở dữ liệu như Excel, Access, SQL,

Gần đây, do nhu cầu tự động hóa tổng thể kể cả cấp điều hành sản xuất và quản lý công ty, việc tích hợp hệ thống và loại bỏ các cấp trung gian không cần thiết trong mô hình chức năng trở nên cần thiết Cũng vì thế, ranh giới giữa cấp điều hành sản xuất nhiều khi không rõ ràng, hình thành xu hướng hội nhập hai cấp này thành một cấp duy nhất gọi là cấp điều hành

Chức năng, nhiệm vụ của từng cấp

Một hệ thống sản xuất công nghiệp thường được tổ chức phân nhiệm thành nhiều cấp quản lý Mỗi cấp có nhiệm vụ đo lường, thu thập và điều khiển riêng lên những đối tượng trong hệ thống Các đối tượng máy móc thường lắp đặt trong địa phương của cấp quản lý phân xưởng xí nghiệp cấp dưới đồng thời cũng có một đặc điểm nữa là một đối tượng tuy thuộc giám sát điều khiển của cấp trên về mặt sản xuất nhưng cũng thuộc sự giám sát và điều khiển vật lý cụ thể về mặt vận hành chuẩn

Trang 16

đoán và bảo dưỡng của các cấp khác thấp hơn Những điều này là cơ sở chỉ đạo cho việc tổ chức các cấp SCADA quản lý hệ thống sản xuất ngày nay Bao gồm những nguyên tắc chính sau:

Thông thường về tổ chức kết cấu của mỗi cấp quản lý được trợ giúp tự động hóa bằng một hệ SCADA của cấp ấy Cấp SCADA phân xưởng ở cấp dưới thấp sẽ thực hiện việc thu thập số liệu trên máy móc phân xưởng có sự phân loại rõ máy móc thiết bị nào được quản lý về sản xuất bởi cấp SCADA nào Các số liệu phân loại này sẽ được các SCADA truyền tin báo cáo từ cấp dưới lên cấp trên theo nhịp gọi của các SCADA cấp cao hơn một cấp cho đến cấp cần thu thập dữ liệu, in ấn, hiển thị, sử dụng cho điều khiển sản xuất ở các cấp

Mỗi cấp sẽ thực hiện bài toán phân tích, tính toán được giao và đưa ra các lệnh thao tác thay đổi tăng hay giảm chỉ tiêu đóng cắt các đối tượng của mình, qua hệ truyền tin gửi lệnh đó đến cấp SCADA có liên quan để thực hiện Để giải quyết những bài toán điều khiển phân tích riêng này của mình thì SCADA mỗi cấp thường được trang bị thêm những phần cứng máy tính, phần mềm phân tích chuyên dụng Những thiết bị này lấy số liệu hiện hành từ SCADA cung cấp để giải bài toán đó và xuất kết quả cho người vận hành và cho hệ SCADA

Chức năng của mỗi cấp SCADA cung cấp những dịch vụ sau:

• Thu thập từ xa (qua đường truyền số liệu) các số liệu về sản xuất và tổ chức việc lưu giữ trong nhiều loại cơ sở dữ liệu (số liệu lịch sử về sản xuất, sự kiện thao tác, báo động, )

• Dùng các dữ liệu trên để cung cấp các dịch vụ về điều khiển, giám sát hệ sản xuất

• Hiển thị báo cáo tổng kết về quá trình sản xuất (trang màn hình, trang đồ thị, trang sự kiện, trang báo động, trang báo cáo sản xuất )

• Điều khiển từ xa quá trình sản xuất (đóng cắt các máy móc thiết bị, tăng giảm nấc phân áp, )

• Thực hiện các dịch vụ về truyền số liệu trong hệ và ra ngoài, gửi trả lời các bản tin yêu cầu của cấp trên về số liệu, thao tác hệ,

3 Cấu trúc

Hệ thống SCADA hiện đại phụ thuộc nhiều vào các chuẩn giao thức và truyền dữ liệu số Với các yêu cầu về tính chính xác của dữ liệu, thời gian thực, hiệu suất cao… và hơn nữa là vấn đề an toàn lao động Có thể nói về cấu trúc của hệ thống SCADA gồm 2 phần quan hệ mật thiết với nhau

Trang 17

Cấu trúc phần cứng: là hệ thống mạng, lớp chủ (server layer) và lớp tớ

(client layer) dùng để liên lạc giữa phần mềm và các thiết bị, giữa máy server và máy client Hình sau trình bày một cấu trúc đơn giản của hệ thống SCADA

Một hệ thống SCADA hiện đại về cơ bản có 5 cấp như sau:

- Thiết bị hiện trường và dụng cụ điều khiển (PLC, I/O)

- RTU: cung cấp giao diện để kết nối với thiết bị trường và cảm biến tại khu vực ở xa

- Hệ thống truyền thông: có thể là dây điện, cáp quang, radio hoặc có thể là truyền thông vệ tinh Những giao thức, cách suy đoán phát hiện lỗi được sử dụng để tăng hiệu suất và tối ưu dữ liệu

- Trạm chủ: nhận dữ liệu từ các RTU và cung cấp dữ liệu cho việc hiển thị và điều khiển các trạm ở xa

- Hệ thống máy tính xử lý, lưu trữ dữ liệu

Cấu trúc phần mềm: làm nhiệm vụ thu thập dữ liệu, giám sát và ra quyết

định với khả năng thời gian thực (real time) và multi-tasking Ví dụ như: quét vòng các thiết bị, kiểm tra cảnh báo, tính toán…

Central Monitoring Station

Comunication Network

Instrumentation

Remote Station

Đối tượng điều khiển

RTU MTU

Giám sát

viên

Trang 18

4 Chức năng

Có thể nói hệ thống SCADA có 3 chức năng chính như sau:

• Thu thập dữ liệu: là chức năng quét và thu thập dữ liệu theo thời gian thực về hệ thống để giám sát Các RTU được đấu dây đến các thiết bị chỉ định sẽ được quét ở một tốc độ chỉ định của hệ thống SCADA Các RTU gởi dữ liệu của chúng nhận được về các MTU, các MTU thực hiện các chuyển đổi cần thiết và kiểm tra dữ liệu trước khi gởi về các máy tính chủ

• Giám sát điều khiển: là chức năng của SCADA cho phép người sử dụng và các ứng dụng gởi các lệnh đến RTU Lệnh điều khiển tạo nên sự thay đổi trạng thái của thiết bị

• Kiểm soát hệ thống: là khả năng cho phép người sử dụng thay đổi cách thức SCADA hiện thị và sử lý dữ liệu

• Và một số chức năng khác được trình bày sau đây, như là: Sự kiện và cảnh báo, đồ thị quá khứ, đồ họa…

5 Network

Mô hình kết nối mạng trong hệ thống SCADA

Để kết nối giữa máy chủ và máy tớ dùng giao thức TCP/IP như là: mạng Lan, mạng Internet

Trang 19

Kết nối với thiết bị có thể dùng nhiều cách: TCP/IP, fieldbus, RS232-485…

Yêu cầu truyền thông trong một hệ thống SCADA phải đạt được một số yêu cầu như sau:

• Đảm bảo thời gian truyền thông: khi truyền trên mạng diện rộng đặc biệt ở những khoảng cách địa lý lớn thì tốc độ truyền dữ liệu phải lớn, phải sử dụng phương tiện truyền tốc độ lớn như cáp quang, vệ tinh, vi ba để đảm bảo một ứng dụng thời gian thực

• Đảm bảo tính tin cậy: Việc truyền dữ liệu giữa hai thiết bị tin cậy là dữ liệu đó chỉ có người truyền và người gửi hiểu được Ta sử dụng kỹ thuật mã hoá để thực hiện điều này

• Đảm bảo tính toàn vẹn dữ liệu: Dữ liệu truyền đi trên mạng diện rộng là dữ liệu được mở đối với mọi người do đó dữ liệu truyền từ nguồn đến đích phải toàn vẹn không sai lệch, điều này tránh cho các thiết bị của hệ thống chạy sai so với yêu cầu

• Đảm bảo tính xác thực: Tính xác thực ở đây là bên nhận xác thực được rằng dữ liệu mà mình nhận được là của người mà mình muốn nhận, không phải dữ liệu của kẻ khác giả danh để gửi Đây cũmg là vấn đề bảo mật cho hệ thống

• Đảm bảo tính sẵn sàng: Việc truyền thông trên mạng diện rộng thường phải đối mặt với các cuộc tấn công không mong muốn làm cho hệ thống của chúng ta bị tê liệt, các thiết bị trong môi trường truyền thông phải có khả năng chống lại khả năng này ví dụ như tấn công DoS (tấn công từ chối dịch vụ)

Do vậy, môi trường truyền thông trong hệ thống SCADA là hết sức phức tạp, không những bao gồm các môi trường truyền thông truyền thống mà còn tích hợp môi trường truyền thông mạng diện rộng (ví dụ mạng internet)

6 Ngôn ngữ lập trình

Các hệ thống SCADA đều tích hợp hệ lập trình vào để người sử dụng có thể lập trình hệ thống (ví dụ: thiết lập cảnh báo, các hàm tính toán…) Đó có thể là VBA, VBScript, hoặc C/C++…

7 Cơ sở dữ liệu

Có rất nhiều dạng cơ sở dữ liệu được dùng trong các hệ thống SCADA nhưng có thể nói có một số đặc tính chung là phải đáp ứng được yêu cầu về thời gian thực, khả năng kết nối với các phần mềm ứng dụng khác, cho phép sử dụng các câu lệnh SQL để truy cập, thu thập dữ liệu và là cơ sở dữ liệu dạng ODBC

Đó là Citadel của Lockout, SQL Server thì được sử dụng rộng rãi trong rất nhiều

Trang 20

8 Đồ họa

Khả năng đồ họa có thể nói là một khả năng quan trọng của hệ thống SCADA, từ những đối tượng đồ họa thiết kế sẵn hoặc được thêm vào hệ thống SCADA cho phép thiết lập một hệ thống quá trình ảo giống như hệ thống quá trình thật để theo dõi, giám sát, ra lệnh… và còn có thể được dùng để đào tạo

9 Cảnh báo và sự kiện (Alarm and Event)

Với chức năng này người giám sát có thể theo dõi những sự kiện quan trọng như sự cố, lỗi, các thời điểm được định nghĩa trước… và có thể ra quyết định kịp thời Thông thường các chi tiết trong Alarm và Event là: ngày giờ, quá trình, đối tượng, mức độ, ghi chú…

10 Phương pháp kết nối với các thiết bị I/O và thiết bị ứng dụng

Được sử dụng hiện nay để kết nối giữa hệ thống SCADA với phần cứng là sử dụng driver được viết riêng cho từng thiết bị đó Đó chính là thư viện các đối tượng được cung cấp nhiều hay ít do khả năng của hệ thống và tài chính

Với sự cung cấp cho SCADA có tính năng như một OPC Client để có thể truy cập vào thiết bị đang phát triển một cách mở và chuẩn Có thể thiếu một vài thiết bị/bộ điều khiển chưa có OPC nhưng sẽ được cải thiện do sự phát triển nhanh chóng của chuẩn này trong những năm gần đây

Những sản phẩm cũng được cung cấp để kết nối với ứng dụng

- Một giao diện kết nối với cơ sở dữ liệu trong việc lưu trữ nhưng không cho phép cấu hình cơ sở dữ liệu

- Tính năng truy xuất dạng ASCII tới cớ sở dữ liệu

- Một thư viện API hỗ trợ C, C++ và Visual Basic (VB) để truy cập dữ liệu bên trong cơ sở dữ liệu thời gian thực (RTDB), lưu trữ API thường không cho phép truy cập vào những đặc tính bên trong của sản phẩm ví dụ như: báo động, báo cáo, đồ thị…

Nhứng máy tính cung cấp những sản phẩm chuẩn được hỗ trợ bởi Microsoft như là DDE (Dynamic data exchange), DLL (Dynamic link library), OLE (Object Linking Embedding) cho phép kết nối trực quan dữ liệu động qua Exel hay là thêm tính năng đồ họa

11 Cơ cấu mở (Openness)

Trong nhiều hệ thống SCADA hiện đại, công nghệ hướng đối tượng đã và đang được xây dựng với nhiều đặc tính ưu việt, trong đó phải kể đến mô hình COM của Microsoft

Trang 21

Nâng cao hiệu suất công việc thiết kế, giao diện đồ họa nhờ sử dụng ActiveX Nâng cao khả năng mở rộng, tương tác với phần cứng, sử dụng chuẩn liên kết OPC OPC chính là phương tiện truyền thông giữa các modul client và server và nó có thể nối những modul của hãng thứ 3 có hỗ trợ OPC vào hệ thống SCADA

Trong khi những ứng dụng công nghiệp ngày càng tăng kích thước, những phiên bản SCADA mới bây giờ được thiết kế để điều khiển thiết bị và toàn bộ hệ thống như là tập hợp những đối tượng (lớp) mà có thể tồn tại những tính năng và thuộc tính đặc biệt Ngoài ra, chúng còn hỗ trợ sự phát triển hệ thống nhiều modul từ đó có thể có nhiều đội cùng phát triển một hệ thống

Có không nhiều những hệ thống SCADA đã xây dựng hệ thống của mình dựa trên công nghệ OPC

Thiết kế một hệ thống mở thì phải có đầy đủ các tính chất như đã nêu trên để vừa có lợi ích về kinh tế và cả trong việc thiết kế, bảo trì, nâng cấp hệ thống

Trang 22

Hệ thống điều khiển phân tán-DCS

1 Khái niệm hệ thống điều khiển phân tán DCS

Hệ thống điều khiển phân tán được hiểu như là hệ thống dựa trên các phần cứng và phần mềm điều khiển và thu thập dữ liệu trên cơ sở một đường truyền thông tin tốc độ cao, các module được phân tán và tổ chức theo một cấu trúc nhất định với một chức năng nhiệm vụ riêng Các thiết bị giao tiếp trên đường truyền tốc độ cao này cho phép ghép nối dễ dàng với các thiết bị ngoại vi khác như PLC, các máy tính điều khiển giám sát

Giống như tên gọi về hệ thống điều khiển phân tán - Distributed Control System,

các chức năng điều khiển được phân bố khắp hệ thống để thay cho việc xử lý tập trung trên một máy tính đơn lẻ Một hệ thống DCS tiêu biểu có các trạm điều khiển hoạt động độc lập và điều khiển từng bộ phận chuyên dụng của nhà máy Hơn nữa, trong hệ thống có một vài trạm điều hành để giám sát các dữ liệu trong các trạm điều khiển, cung cấp các giao diện đồ họa và cho phép người vận hành thực hiện các thay đổi một cách dễ dàng Đây là một mô tả mở rộng về một hệ thống DCS nhưng mô tả này cũng phù hợp với một hệ thống gồm các PLC và các PC với các phần mềm giám sát vận hành Điều này dẫn ta tới một định nghĩa quan trọng thứ hai của hệ thống DCS Một hệ thống DCS là một hệ thống tích hợp đầy đủ với một hệ cơ sở dữ liệu toàn cục Không giống như các hệ thống dựa trên PLC, ta không thể sử dụng các bộ điều khiển khác nhau và các trạm điều hành từ những nhà cung cấp khác nhau rồi kết hợp chúng lại với nhau Một hệ thống DCS là một hệ thống hoàn chỉnh, trong đó việc truyền thông, trao đổi dữ liệu giữa các bộ phận của hệ sẽ không được thể hiện đối với người dùng Ngoài ra, nếu một điểm (hoặc khối chức năng) được tạo ra trong một bộ điều khiển thì sau đó, toàn bộ hệ thống sẽ nhận biết nó Tức là không cần phải tạo một cơ sở dữ liệu riêng trong trạm điều hành để phù hợp với dữ liệu trong các bộ điều khiển vì thông tin đã được tự động tạo ra trong toàn bộ hệ thống

Trang 23

Hệ thống điều khiển phân tán trước kia thường phát triển trong môi trường xử lý hóa chất, trong khi đó các hệ thống dựa trên PLC phát triển trong lĩnh vực điện - điện tử Trong khi các PLC phát triển từ logic relay thì các hệ thống DCS phát triển từ các bộ điều chỉnh tương tự Khả năng xử lý dữ liệu tương tự và chạy các trình tự phức tạp là thế mạnh cơ bản của hệ thống DCS, trong khi xử lý logic loại relay - tương tự như một PLC thì tốc độ xử lý chậm hơn PLC rất nhiều Trong khi một PLC có thể xử lý logic relay trong vài mili giây, tốc độ quét của một trạm điều khiển của hệ DCS thường từ 200 ¸ 500 ms Tốc độ quét này đủ nhanh đối với hầu hết các điều khiển tương tự và trên thực tế bộ xử lý đó có thể xử lý một lượng đáng kể dữ liệu tương tự trong khi quét

Một đặc điểm nổi bật của hệ thống DCS là việc sử dụng tagnames Trong các hệ thống PLC- based, thường dùng các địa chỉ hệ thống đối với dữ liệu tham chiếu Một tagname là tên do người thiết kế hệ thống định nghĩa cho một đối tượng, áp dụng cho tất cả các khối chức năng và các điểm I/O trong các bộ điều khiển Do đó, một điểm có thể được truy cập từ bất cứ đâu trong hệ thống thông qua tagname của nó Bảng dưới đây cho biết sẽ giới thiệu một số hệ thống DCS tiêu biểu

Fisher and Porter System 6

2 Mô hình phân lớp của hệ thống điều khiển DCS

Cấu trúc đặc trưng của hệ thống DCS gồm có 4 lớp:

• Lớp I/O

• Điều khiển - Các bộ điều khiển (ví dụ như FCS - trạm điều khiển trường)

• Điều hành - Các trạm điều hành (ví dụ nhu HIS - trạm giao diện người máy)

Trang 24

• Thông tin quản lý - Cơ sở dữ liệu và các trạm quản lý (ví dụ như Exaquantum và PRM - Chương trình quản lý tài nguyên nhà máy)

Lớp I/O

Các bộ vào ra của hệ thống được xử lý ở lớp I/O bằng một trong ba cách sau:

- I/O bằng mạch điện tử: Các I/O dạng tương tự (như các bộ đo áp suất, van điều chỉnh v.v ) và dạng số (các relay và các bộ chuyển mạch) có thể được thực hiện bằng các panel mạch điện tử trực tiếp từ hiện trường Panel giao diện I/O có một loạt các card giao diện để đưa vào xử lý các dạng tín hiệu vào/ra

- I/O fieldbus: Có nhiều dạng fieldbus khác nhau được sử dụng trong hệ thống như Foundation Fieldbus, Profibus và Hart Những loại này cho phép các sensor và các cơ cấu chấp hành có thể được kết nối với giao diện I/O thông qua một mạng số đơn để trao đổi các thông số quá trình và các thông số trạng thái thiết bị

- Giao tiếp với PLC: các PLC có thể được nối với hệ thống DCS bằng vài dạng card giao diện truyền thống, thường là trong panel giao diện I/O, hoặc đơn giản bằng cách nối trực tiếp đến mạng điều khiển thông qua module truyền thông với PLC

Lớp điều khiển

Đây là nơi tập trung tất cả các chức năng điều khiển Các bộ điều khiển trao đổi thông tin với lớp I/O: đọc dữ liệu vào, xử lý các chức năng điều khiển và gửi

PLC

Cảm biến và chấp hành

Operator Panel

Work station

Dòng, thế, cặp nhiệt độ …

RTU

Trang 25

các tín hiệu ra Các trạm điều khiển được hoạt động độc lập với nhau nên nếu xảy ra sự cố ở một trạm sẽ không ảnh hưởng đến hoạt động của các trạm khác Đồng thời, một trạm điều khiển có thể trao đổi dữ liệu dễ dàng với một trạm khác khi sử dụng phương pháp truyền thông ngang hàng “peer to peer” trong mạng điều khiển

Lớp điều hành

Các trạm điều hành cung cấp một giao diện đồ họa đối với các chức năng và các dữ liệu trong các bộ điều khiển và trong quá trình xử lý thông qua các đồ thị, các báo cáo

Lớp thông tin quản lý

Tất cả các thông tin mức độ cao, không cần với việc điều khiển thời gian thực nhưng là cần thiết đối với việc quản lý quá trình lâu dài, được xử lý trong lớp quản lý Lớp này gồm ba lớp nhỏ:

• Gateway - để đọc dữ liệu từ các trạm điều khiển

• Cơ sở dữ liệu - để giữ và lưu lại dữ liệu từ phân tích trước

• Quản lý - để xử lý thông tin trong cơ sở dữ liệu

- Gateway: trước kia, mỗi nhà cung cấp có giao thức truyền thông độc quyền để cho phép máy chủ truy cập dữ liệu từ các trạm điều khiển Hiện nay, Microsoft cùng với một số các nhà cung cấp chính đã phát triển một tiêu chuẩn liên lạc gọi là OPC OPC là OLE cho điều khiển quá trình và cho phép máy chủ nào cũng có thể kết nối tới một DCS bất kỳ OPC có thể đặt trong trạm điều hành hoặc trong một máy tính độc lập

- Lớp cơ sở dữ liệu: dữ liệu được đọc từ hệ thống DCS phải được lưu trữ và có một số bộ cơ sở dữ liệu - database package, được thiết kế cho mục đích này Chúng gồm Exaquantum (một sản phần của Yokogawa) và PI (một sản phẩm độc lập) Những package này đọc dữ liệu thông qua cổng OPC và lưu dữ liệu dưới dạng format cơ sở dữ liệu chuẩn Exaquantum dùng Server SQL của Microsoft tương thích với hầu hết các package quản lý Những package này cùng cung cấp các chức năng khác như lưu trữ dữ liệu trên đĩa, nén dữ liệu, báo cáo cơ bản và các chức năng hiện thị

- Lớp Quản lý: có một loạt các package khác nhau sẵn có, cung cấp các thông tin khác nhau cho người dùng Nó gồm báo cáo chi tiết, điều khiển khối và công thức, quản lý nguồn máy, quản lý cảnh báo, tối ưu hóa máy v.v Chúng truy cập dữ liệu từ cơ sở dữ liệu lưu nhưng có thể ghi trực tiếp tới các trạm điều khiển thông qua OPC

-

Trang 26

3 Các mô hình mạng trong hệ thống điều khiển phân tán

Kết hợp với các lớp như trên là các mạng máy tính để liên kết các lớp với nhau Mạng trao đổi rộng rãi với các lớp như sau:

• Mạng I/O - Bus I/O từ xa, Fieldbus, Truyền thông PLC

• Mạng điều khiển - nối các bộ điều khiển và các trạm điều hành

• Mạng diện rộng của nhà máy- nơi chứa hầu hết các thông tin quản lý

Các mạng I/O

Có thể có vài loại mạng I/O, điều đó phụ thuộc vào loại I/O có giao diện với:

- Bus Remote I/O - Một số trạm điều khiển có các card giao diện I/O được tích hợp trong trạm điều khiển (ví dụ như Hệ thống Fischer và Porter 6) Tuy nhiên, những trạm khác (như Yokogawa CS1000/3000) có I/O từ xa, tức là các card giao diện I/O tách biệt khỏi trạm điều khiển và liên lạc với nó qua một bus remote I/O tốc độ cao

- Mạng Fieldbus - Một card fielbus thường đặt trong một khe trên panel I/O và mỗi loại mạng fieldbus thường sử dụng một loại card fieldbus riêng biệt

- Mạng PLC - Như với fieldbus, card truyền thông thường đặt ở một khe I/O trên panel I/O, sử dụng cổng giao diện nối tiếp, và một số có khả năng hỗ trợ chuẩn Ethernet và phần mềm driver được nạp vào card cho phép liên lạc với một loại PLC đặc biệt Chẳng hạn như giao thức truyền thông của Modbus, ABB hay Siemens có thể được nạp vào card để liên lạc với bất kỳ loại PLC nào trong số đó hoặc các PLC tương thích Giao thức Modbus là một chuẩn công nghiệp, nhiều loại PLC và các thiết bị khác (thiết bị phân tích, cân v.v ) có thể liên lạc dựa trên giao thức này

Mạng điều khiển

Các trạm điều khiển và các trạm điều hành được liên lạc với nhau thông qua một đường truyền dữ liệu tốc độ cao gọi là mạng điều khiển Đây luôn là mạng độc quyền của mỗi hãng và thường sử dụng phương pháp truy nhập chuyển thẻ bài Token pasing Một mạng điều khiển được ưu tiên để những thông tin nhất định luôn được trao đổi theo mức độ sau: Các mesage cảnh báo, Thông tin quá trình và các lệnh điều hành, Truyền file hay nhập một chương trình vào một trạm điều khiển

Mạng diện rộng của nhà máy

Tất cả các thông tin quản lý đều có sẵn trên mạng thông tin quản lý hoặc mạng diện rộng được trao đổi trên một mạng Ethernet

Trang 27

PLC và DCS ra đời không cách xa nhau nhiều Nếu PLC chuyên sâu về điều khiển Logic rời rạc (discrete) thì DCS lại thiên về điều khiển quá trình (Process control) Tuy nhiên, ứng dụng của DCS thường dành cho các nhà máy xí nghiệp lớn, cho nên nếu dùng điều khiển tập trung sẽ rất tốn kém, cả về đầu tư ban đầu lẫn giá thành bảo trì-vận hành Vì vậy, các hệ DCS đã ứng dụng phương thức điều khiển phân tán thay vì điều khiển tập trung như PLC

Ngay từ khi ra đời, DCS đã có đầy đủ các chức năng điều khiển Logic như các PLC vì DCS ra đời sau vì vậy DCS đã kịp kế thừa các chức năng này Trong quá trình phát triển của PLC, đã có rất nhiều xu hướng làm xoá dần ranh giới của PLC và DCS Thực tế, với các hệ thống PLC lớn như 9070 của GE Fanuc hay S7-400 của Siemens đều có các hình bóng của DCS như điều khiển phân tán qua mạng, điều khiển PID, dự phòng nóng và giá thành của các hệ PLC này cũng tiệm cận giá của các hệ DCS Như vậy, các đặc điểm chính của 1 hệ thống DCS là:

• Điều khiển quá trình-PID, Cascade PID, Ratio control, Feedforward

• Điều khiển phân tán qua mạng FieldBUS-Profibus, Device Net, FF

• Dự phòng nóng (Redundancy) và có khả năng Hot plug

• Nạp chương trình khi hệ thống đang "chạy"

• Và nhiều đặc điểm khác

Do vậy, DCS là một trong các thiết bị sử dụng phương pháp điều khiển phân tán, nhưng không phải là duy nhất Ngược lại, DCS không chỉ điều khiển phân tán mà còn rất nhiều chức năng như trên

Hệ phân tán và công nghệ hướng đối tượng phân tán

1 Hệ phân tán và ứng dụng phân tán

Ngày nay, phần lớn các hệ thống thông tin xung quanh chúng ta đều dựa trên kiến trúc phân tán Các ứng dụng Internet như Email, Web, Chat là những ví dụ tiêu biểu Sự phát triển mạnh mẽ của công nghệ truyền thông và công nghệ phần mềm đã mở ra các kiến trúc ứng dụng phân tán với các ưu điểm vượt trội Những tiến bộ công nghệ mới trong các hệ thống điều khiển và giám sát cũng không nằm ngoài xu hướng đó

Trước hết ta cần làm rõ thế nào là một “hệ thống phân tán” cũng như thế nào là một “ứng dụng phân tán” Một hệ thống phân tán là một hệ thống gồm các thành phần xử lý phân tán, giao tiếp với nhau qua một cơ sở hạ tầng truyền thông chung Một hệ thống phân tán có thể mang ý nghĩa của một hệ phần cứng, một hệ phần mềm hoặc kết hợp cả hai Mạng điện thoại, Internet, WWW (World Wide Web) hoặc một hệ DCS (Distributed Control System) đều là các hệ thống phân tán Còn

Trang 28

ứng dụng phân tán được hiểu là một ứng dụng phần mềm trên một hệ phân tán Chúng ta chỉ có một Internet cũng như chỉ có một WWW, song có rất nhiều ứng dụng Internet cũng như vô vàn ứng dụng Web Một hệ DCS khi được đưa vào sử dụng ta có các ứng dụng điều khiển và giám sát (phân tán) Như vậy, khi ta nói tới ứng dụng phân tán luôn tức là ta nói về các ứng dụng phần mềm có kiến trúc phân tán

Vậy một ứng dụng phân tán có khác gì với các ứng dụng khác? Liệu có phải cứ sử dụng mạng truyền thông thì các ứng dụng phần mềm trong hệ thống đó được gọi là “phân tán”? Có hai loại ứng dụng phần mềm mà ta không gọi là phân tán Loại thứ nhất - được gọi là ứng dụng đơn độc (stand-alone application) – hoàn toàn dựa trên các chương trình chạy trên một máy tính Không quan trọng là máy tính có được nối mạng hay không, các ứng dụng không có nhu cầu sử dụng tài nguyên của mạng và cũng không có khả năng trao đổi dữ liệu với một chương trình chạy trên một máy tính khác Ví dụ, trong một ứng dụng soạn thảo văn bản, ta có thể sử dụng các chương trình khác nhau như Word, Excel và Visio, song các chương trình đều chạy trên một máy tính Dù sau khi xong một bản thảo, ta có thể trao đổi văn bản qua mạng cục bộ, nhưng trong khi soạn thảo thì chương trình Word chạy trên một máy tính không có khả năng nhập trực tuyến một bảng trong chương trình Excel chạy trên một máy khác

Loại ứng dụng thứ hai được gọi là ứng dụng nối mạng (networked application) Một ứng dụng nối mạng không khác nhiều so với một ứng dụng đơn độc, chỉ có điều nó có khả năng và có nhu cầu trao đổi dữ liệu với các ứng dụng khác trong mạng Ví dụ, một ứng dụng SCADA sử dụng một chương trình phần mềm HMI đa năng ghép nối với chương trình chạy trên một hoặc nhiều thiết bị khả trình (PLC) là một ứng dụng nối mạng Ở đây có thể thấy rõ sự khác nhau cơ bản giữa một ứng dụng nối mạng và một ứng dụng phân tán Trong một ứng dụng nối mạng, các chương trình không được thiết kế trên cơ sở một kiến trúc phân tán và một kiến trúc giao tiếp chung, mà được phát triển hoàn toàn độc lập, đơn lẻ với các mục đích khác nhau Thông thường, mỗi chương trình độc lập, đơn lẻ này có một thế mạnh riêng, một phạm vi chức năng riêng, việc “nối mạng” chúng với nhau mang lại lợi thế sử dụng chung tài nguyên và các chức năng thực hiện Trái lại, các chương trình của một ứng dụng phân tán được thiết kế ngay từ đầu trên một kiến trúc chung, với các chức năng được phân chia rõ ràng để cùng thực hiện một mục đích chung

Các chương trình của một ứng dụng phân tán có khả năng giao tiếp một cách tự nhiên để chia sẻ và phối hợp trong công việc, không cần một phần mềm giao diện bổ sung nào khác Vì thế, việc xây một ứng dụng phân tán đơn giản hơn nhiều so với một ứng dụng nối mạng Ta cứ so sánh cách xây dựng các ứng dụng điều khiển và giám sát quá trình trên nền một hệ DCS với giải pháp sử dụng các PLC đơn lẻ kết hợp một phần mềm SCADA/HMI sẽ thấy ngay sự khác nhau cơ bản giữa một

Trang 29

ứng dụng phân tán với một ứng dụng nối mạng Cơ chế giao tiếp giữa các chương

trình trong một ứng dụng phân tán là giao tiếp ngầm (implicit communication), được

tích hợp sẵn chứ người xây dựng ứng dụng không cần phải lập trình, không cần biết tới giao thức mạng cụ thể phía dưới Trong một hệ DCS, thậm chí ta không bao giờ biết giao thức sử dụng cho bus hệ thống là loại gì Ngược lại, cơ chế giao tiếp trong

một ứng dụng nối mạng là giao tiếp hiện (explicit communication), có nghĩa là các

quan hệ giao tiếp phải do người xây dựng ứng dụng cấu hình hoặc lập trình Khi phải ghép nối một phần mềm SCADA như iFIX của Intellution với PLC S7-300 của Siemens, ta không thể không biết cụ thể về mạng và giao thức truyền thông phía dưới

Một đối tượng cổ điển chỉ có ý nghĩa trong một chương trình, không có khả năng sử dụng từ một chương trình khác (trên cùng một máy hoặc trên một máy khác) Trái lại, một đối tượng phân tán cho phép ta tạo ra từ xa, gọi các phép toán của nó từ xa tương tự như một đối tượng cùng trong một chương trình

2 Đối tượng phân tán

Đối tượng phân tán (distributed object) cũng là một hướng phát triển tự nhiên từ phương pháp luận hướng đối tượng, bên cạnh phần mềm thành phần Trong khi phần mềm thành phần quan tâm tới việc đóng gói các đối tượng để có thể sử dụng lại một cách thuận tiện, thì đối tượng phân tán tập trung vào vấn đề kiến trúc các đối tượng có khả năng giao tiếp một cách trong suốt trên các nền và hệ thống mạng khác nhau (giao tiếp ngầm) Cũng giống như phần mềm thành phần, một đối tượng phân tán có thể thực hiện ở một ngôn ngữ bất kỳ, nhưng nó phải có các giao diện theo một chuẩn nào đó để có thể hợp tác với nhau liên quá trình và xuyên mạng một cách đơn giản như hai đối tượng trong một chương trình

Nói như vậy, một đối tượng phân tán cũng được sử dụng khi đã biên dịch, đóng gói hoàn chỉnh dưới dạng một server Có thể nêu ra một số ví dụ về đối tượng phân tán ở đây như Web-Server, OPC-Server, XML-Services Tuy nhiên, việc sử dụng chúng có thể vẫn đòi hỏi phải lập trình phía client, có thể là một đối tượng phân tán hoặc một chương trình ứng dụng thông thường, ví dụ một trình duyệt Web, một chương trình giao diện người-máy Ngày nay, đối tượng phân tán và phần mềm thành phần đã gặp nhau ở nhiều điểm, ví dụ trong công nghệ COM/DCOM/ActiveX

Nói tóm lại, một đối tượng phân tán là một đối tượng phần mềm trong một hệ thống phân tán, có thể được sử dụng bởi các chương trình ứng dụng hoặc các đối tượng khác thuộc cùng một quá trình tính toán, thuộc một quá trình tính toán khác hoặc thuộc một trạm khác trong mạng theo một phương thức thống nhất thông qua giao tiếp ngầm (không để ý tới giao thức truyền thông cụ thể, trong suốt với hệ

Trang 30

điều hành, kiến trúc phần cứng và hệ thống mạng) Một đối tượng phân tán có các thuộc tính có thể truy cập được từ xa, có các phép toán có thể gọi được từ xa

Mỗi đối tượng phân tán - bất kể dạng thực hiện, nền triển khai và vị trí cài đặt - đều có căn cước phân biệt và có thể được sử dụng như các đối tượng trong một chương trình Lợi thế quyết định ở đây là việc tạo dựng một ứng dụng phân tán được thực hiện ở mức trừu tượng cao hơn so với kiểu lập trình mạng cổ điển, nhờ vậy trên nguyên tắc không khác biệt so với tạo dựng một ứng dụng đơn độc Để đạt được điều đó, ta cần sự hỗ trợ hữu hiệu của một phần mềm khung (framework) Hiện nay có hai mô hình chuẩn cho những công trình khung đó là COM/DCOM (Component Object Model/Distributed Component Object Model, gọi chung là COM) và CORBA (Common Object Request Broker Architecture) CORBA cho phép sử dụng một cách rộng rãi và linh hoạt hơn, trong khi COM hiện nay hầu như chỉ sử dụng được trên các hệ Microsoft Windows (95, 98, NT, 2000, XP)

Trên H 1 minh họa cơ chế giao tiếp giữa hai đối tượng COM nằm trên các máy tính khác nhau COM sẽ thiết lập một đối tượng đại diện (proxy) bên phía client và một đối tượng gốc (stub) bên phía server Proxy và stub sẽ kết nối với nhau qua kênh giao tiếp với giao thức DCOM Khi đó, client sẽ thực hiện lời gọi dịch vụ trong không gian địa chỉ của nó tức là giao tiếp trực tiếp với proxy Proxy sẽ thu thập các thông số, gửi chúng đến stub qua kênh giao tiếp Stub thực hiện lời gọi đến đối tượng dịch vụ, đóng gói kết quả và đưa về cho proxy Toàn bộ cơ chế truyền dữ liệu trung gian do COM Engine đảm nhiệm, các đối tượng không cần biết giao thức mạng truyền thông cụ thể phía dưới

Hình 1: Mô hình giao tiếp COM/DCOM

Công nghệ đối tượng phân tán cũng đi rất sâu vào lĩnh vực tự động hóa hơn là chúng ta cảm thấy, lý do đơn giản là vì bao giờ chúng cũng đứng đằng sau Các chuẩn OPC, IEC 61499, ProfiNet là một vài ví dụ cũng đã được giới thiệu trong số báo tháng 5/2004 (Xung quanh xu hướng tự động hóa phân tán)

OPC (OLE for Process Control) là một chuẩn giao diện được hiệp hội OPC Foundation xây dựng và phát triển Dựa trên mô hình đối tượng thành phần phân tán (D)COM của hãng Microsoft, OPC định nghĩa thêm một số giao diện cho khai thác dữ liệu từ các quá trình kỹ thuật, tạo cơ sở cho việc xây dựng các ứng dụng

Trang 31

điều khiển phân tán mà không bị phụ thuộc vào mạng công nghiệp cụ thể Trong thời điểm hiện nay, OPC cũng như COM tuy mới được thực hiện trên nền Windows, song đã có nhiều cố gắng để phổ biến sang các hệ điều hành thông dụng khác Có thể nói, mỗi công cụ phần mềm điều khiển giám sát hiện nay đều hỗ trợ chuẩn OPC

Cấu trúc điều khiển hiện đại được trình bày như hình sau:

Trang 32

Chöông 3

OPC (OLE FOR PROCESS CONTROL)

Trang 33

Giới thiệu OPC

OPC (OLE for Process Control) được định nghĩa như là giao diện liên kết dữ liệu giữa thiết bị, PLC…với chương trình ứng dụng

OPC đã mở ra một chuẩn kết nối công nghiệp dựa vào kỹ thuật OLE (ActiveX), COM (Component Object Model) và DCOM (Distributed Component Object Model) của Microsoft

Cấu trúc của một hệ thống giám sát, thu thập dữ liệu và điều khiển phân bố sử dụng OPC như hình sau

Là một chuẩn liên kết mở để đưa ra một phương pháp kết nối phù hợp giữa dữ liệu trường với thiết bị phần cứng Phương pháp này giữ nguyên và không cần biết tình trạng của loại và nguồn dữ liệu Do đó người sử dụng có thể tự do lựa chọn phần mềm và phần cứng tùy theo yêu cầu của mình mà không cần quan tâm tới vấn đề driver của thiết bị

OPC gồm 2 phần: OPC Server và OPC Client Một OPC client là một đích dữ liệu-một ứng dụng sử dụng dữ liệu như là phần mềm SCADA Một OPC Server là một nguồn dữ liệu-một chương trình thiết bị đặc biệt dùng để tập hợp dữ liệu từ các thiết bị phần cứng, thiết bị hiện trường, PLC, DCS… và làm cho dữ liệu đó có thể dùng được với một OPC Client Một OPC Client tương tác với một OPC Server thông qua một giao diện (interface) OPC được định nghĩa rõ ràng, vì thế bất cứ một

Trang 34

OPC Client nào cũng có thể liên kết với bất kỳ OPC Server nào bất chấp loại thiết

bị của Server được thiết kế để thu thập dữ liệu

OPC là một kỹ thuật cao cấp được ví như là một cầu nối giữa phần mềm và phần cứng điều khiển quá trình một cách phù hợp Là một phương pháp “plug and play” của quá trình kết nối, thu thập dữ liệu từ thiết bị hiện trường, không quan tâm đến loại và nguồn của dữ liệu

Một hệ thống OPC có thể thu thập dữ liệu, hiển thị lên đồ thị, lưu trữ vào cơ sở dữ liệu tập trung ODBC, phân tích và báo cáo dữ liệu…

Kỹ thuật OPC tạo ra các OPC Server với các giao diện OPC (Interface) mà cho phép tất cả các ứng dụng Client đều có thể truy cập dữ liệu từ OPC Server một cách dễ dàng Sử dụng COM, một ứng dụng có thể sử dụng các đặc tính của bất kỳ đối tượng nào trong một ứng dụng khác COM là phần chính của DCOM(Distributed COM) và các đối tượng ActiveX Control

Giống như tất cả các công cụ COM khác, cấu trúc của OPC là một hệ gồm 2 bộ phận Server và Client và thực hiện việc truyền thông dữ liệu thông qua hai đối tượng OPC Server và OPC Client Trong đó OPC Server là bộ phận cung cấp một giao diện cho các đối tượng OPC và quản lý chúng Còn OPC Client có thể là một ứng dụng được viết bằng ngôn ngữ C/C++, hoặc một phần mềm SCADA, mà cần thu thập dữ liệu từ một nguồn dữ liệu và độc lập với driver của nguồn dữ liệu đó Có nhiều đặc tả OPC (Specification OPC) khác nhau như OPC Data Access(OPC DA), OPC Historical Data Access (OPC HDA), OPC Alarm handling and process Event (OPC A&E), OPC Security

Có khoảng 370 công ty cung cấp OPC trên thế giới Iconics (USA), Wonderware (USA), Adastra (Russia), Siemens (Germany), Rockwell Software (USA), Intellution (USA), Ci Technologies (Australia), Schneider Electric (France), Indusoft Russia (Russia), Fastwel (Russia), ABB Automation (USA), Fieldbus Foundation (USA), Toshiba (Japan), Hitachi (Japan), National Instruments (USA),

Trang 35

1 Sơ đồ của một OPC

Bên trái là thiết bị phần cứng, có thể là PLC, DCS, cảm biến nhiệt độ… hoặc là bất cứ một thiết bị công nghiệp nào

Trung tâm của hình chính là OPC Server

Bên phải là OPC Client, là phần mềm muốn làm việc với thiết bị phần cứng ở bên trái

OPC Server đưa ra một giao diện COM chuẩn để bất cứ một OPC Client nào cũng có thể giao tiếp với OPC Server qua giao diện để kết nối server và làm việc với thiết bị phần cứng mà không cần lập trình driver cho thiết bị phần cứng này

2 Tương tác giữa OPC Client và OPC Server

Một OPC Client 2 chiều có thể đọc và ghi dữ liệu đến bất kỳ OPC Server 2 chiều khác

Với sơ đồ trên ta thấy OPC Server

thực hiện như là một cầu nối chung cho các ứng dụng Client Các Client này có thể là một hệ thống SCADA, một ứng dụng viết bằng ngôn ngữ C++, hoặc là một ứng dụng trên môi trường Matlab,

Trang 36

• Đầu tiên, OPC Client tạo một instance tới OPC server

• Sử dụng giao diện IOPCServer để tạo group bên trong server

• Thêm item vào group dùng giao diện IPOCItemMgt

• Để đọc và viết một item từ thiết bị, nguồn dữ liệu thì client dùng giao diện IOPCSyncIO

Trang 37

OPC Server

OPC Group OPC Group OPC Item

OPC Group OPC Group OPC Item OPC Group OPC Group OPC Item

Đặc tả OPC DA

Dùng để truyền dữ liệu real-time từ PLC, DCS tới các máy hiển thị (client)

OPC Data Access Server là tập hợp các đối tượng: Server, Group, và Item Mối quan hệ giữa chúng được trình bày theo mô hình sau:

Có nhiều giao diện COM khác nhau mà OPC server phải được hỗ trợ để phù hợp với từng loại OPC Server Một số giao diện OPC Server cơ bản như sau:

- IOPCBrowse: giao diện này là những

phương pháp cho phép sắp xếp trạng thái địa chỉ

của OPC (OPC address space) thành hình cây,

bao gồm những thư mục chính và những thư mục

con để dễ dàng cho OPC client truy cập

- IOPCItem: giao diện này được sử dụng

để OPC Item làm công việc đọc và viết (read

Trang 38

OPC Group là

tập hợp các OPC

Item Mỗi client đều

có thể tạo một group

ở trong OPC server

dựa vào những trạng

thái địa chỉ của OPC

đã được công bố tới

tất cả OPC Client dựa

vào giao diện sau:

Trang 39

Group 1 Group 2

OPC Server

Các nguồn dữ liệu trong OPC Server

• Đọc từ kho lưu trữ bên trong Server (Cache)

• Đọc trực tiếp từ thiết bị

• Ghi trực tiếp lên thiết bị

Các chế độ trao đổi dữ liệu trong OPC Server

• Chế độ đọc, ghi đồng bộ: Ở chế độ này Client gởi yêu cầu (Read/Write) lên một Item nào đó đến OPC Server và chờ cho đến khi OPC Server gởi dữ liệu về

• Chế độ đọc, ghi bất đồng bộ: Ở chế độ này Client gởi yêu cầu (Read/Write) đến OPC Server thông qua đối tượng OPC Group, và khi OPC Server nhận được yêu cầu này Client có thể thực hiện các công việc khác mà không phải chờ dữ liệu trả về Khi dữ liệu đã sẵn sàng để được gởi đi, OPC Server sẽ phát động một sự kiện dữ liệu thay đổi lên OPC Group và truyền dữ liệu đó đến cho Client Thường chế độ bất đồng bộ được sử dụng để đọc dữ liệu từ thiết bị

Trang 40

• Chế độ Subscription: cập nhật dữ liệu từ OPC Server khi có sự thay đổi dữ liệu của Item được chọn trước xảy ra trên OPC Server (Cho việc đọc) Chế độ này cũng giống như chế độ bất đồng bộ, nhưng dùng để liên tục cập nhật giá trị của các Item (đã được chọn trước qua thuộc tính Subscription) mà thay đổi giá trị Ở chế độ này Client cũng gởi yêu cầu đến OPC Server qua đối tượng OPC Group, và thông báo cho OPC Server biết các Item đã được chọn để giám sát giá trị, khi đó mỗi khi giá trị của các Item này thay đổi, OPC Server sẽ lập tức gởi giá trị mới của nó về cho Client thông qua đối tượng OPC Group với một sự kiện dữ liệu thay đổi

• Chế độ Refresh: cập nhật giá trị hiện tại của tất cả các Item (Cho việc đọc) Đây là chế độ bất đồng bộ dùng để cập nhật giá trị tức thời của tất cả các Item mà Client yêu cầu

Ngày đăng: 10/02/2021, 22:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w