opc server 2

16
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA Chương này mô tả khái quát về chuẩn OPC, mạng Ethernet và hệ thống SCADA. Hiện nay, phần lớn các xí nghiệp nhà máy đều ứng dụng hệ thống điều khiển và giám sát SCADA. Có nhiều phần mềm để thiết kế SCADA như WinCC, RSView, FactoryTalk, Intouch,… cũng như thiết bị phần cứng như S7-300 hay CompactLogix 1769- L32E. Để các phần mềm này liên kết được với các thiết bị điều khiển của các hãng khác nhau thì phải dùng chuẩn OPC. OPC cũng hỗ trợ các phần mềm khác như Exell, Visual Basic, Matlap trong việc điều khiển và giám sát thiết bị. Trong lĩnh vực tự động hóa OPC được xem như một chuẩn phổ biến và giao tiếp được với nhiều sản phẩm của các hãng khác nhau kể cả phần cứng và phần mềm. Chương này cũng trình bày những đặc điểm của mạng Ethernet và hệ thống SCADA. Chương 2 được trình bày như sau: mục 2.1 giới thiệu tổng quan về kiến trúc OPC, mục 2.2 trình bày về OPC Server, OPC Client được trình bày ở mục 2.3 và mục 2.4 trình bày về mạng Ethernet và mục 2.5 trình bày tổng quan về hệ thống SCADA. Trang -4-

Upload: ngocanhnguyen

Post on 02-May-2017

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

Giới thiệu về chuẩn giao tiếp OPC,

mạng Ethernet và hệ thống SCADA

Chương này mô tả khái quát về chuẩn OPC, mạng Ethernet và hệ thống SCADA. Hiện nay,

phần lớn các xí nghiệp nhà máy đều ứng dụng hệ thống điều khiển và giám sát SCADA. Có

nhiều phần mềm để thiết kế SCADA như WinCC, RSView, FactoryTalk, Intouch,…cũng như

thiết bị phần cứng như S7-300 hay CompactLogix 1769-L32E. Để các phần mềm này liên kết

được với các thiết bị điều khiển của các hãng khác nhau thì phải dùng chuẩn OPC. OPC cũng

hỗ trợ các phần mềm khác như Exell, Visual Basic, Matlap trong việc điều khiển và giám sát

thiết bị. Trong lĩnh vực tự động hóa OPC được xem như một chuẩn phổ biến và giao tiếp

được với nhiều sản phẩm của các hãng khác nhau kể cả phần cứng và phần mềm. Chương này

cũng trình bày những đặc điểm của mạng Ethernet và hệ thống SCADA. Chương 2 được trình

bày như sau: mục 2.1 giới thiệu tổng quan về kiến trúc OPC, mục 2.2 trình bày về OPC

Server, OPC Client được trình bày ở mục 2.3 và mục 2.4 trình bày về mạng Ethernet và mục

2.5 trình bày tổng quan về hệ thống SCADA.

1. Tổng quan về kiến trúc OPC

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 COM (DCOM) 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 điều khiển phân tán mà không phụ thuộc vào

mạng công nghiệp cụ thể.

OLE được dựa trên cơ sở COM (Component Object Model) từ Microsoft. COM là một mô

hình đối tượng thành phần, một mô hình cơ sở cho nhiều công nghệ phần mềm quan trọng của

hãng Microsoft. COM định nghĩa chuẩn nhị phân và đặc tả kết nối cho việc tương tác giữa

các thành phần của một phần mềm với một thành phần khác trên cùng một quá trình tính toán,

trên nhiều quá trình khác nhau hay trên các máy tính riêng biệt. Hãng Microsoft cũng hy vọng

một ngày không xa COM cũng được sử dụng phổ biến trên các nền phần cứng và hệ điều

hành khác nhau. Thành phần COM có trong cấu trúc của Client/Server. Server cung cấp

Trang -4-

Page 2: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

những định nghĩa dịch vụ tới một ứng dụng Client để đáp ứng những yêu cầu và những ứng

dụng của người sử dụng. Cách duy nhất để truy cập dữ liệu hoặc tác động lên một đối tượng

COM là thông qua giao diện của nó. Một giao diện thực chất là một nhóm các hàm có sẵn liên

quan với nhau. Có thể so sánh một giao diện với một lớp cơ sở trừu tượng chỉ gồm các hàm

thuần ảo trong ngôn ngữ C++. Giao diện định nghĩa cú pháp các hàm thành viên, gọi là các

phương thức (methods), kiểu trả về, số lượng và các kiểu tham số. Một giao diện không qui

định cụ thể các phương thức đó được thực hiện như thế nào. Thực chất việc thể hiện giao diện

là sử dụng con trỏ truy nhập vào một mảng các con trỏ khác và các con trỏ này trỏ tới các

hàm của giao diện. Thông thường, tên của giao diện được bắt đầu bằng chữ cái I, ví dụ như

IUnknown, IData... Định danh thật của giao diện thể hiện ở chỉ danh GUID của nó, còn tên

chỉ để thuận tiện cho việc lập trình và hệ thống COM sẽ sử dụng các chỉ danh này khi thao tác

trên giao diện.Các đối tượng COM đều có một giao diện cơ bản là IUnknown. Đây là giao

diện cơ sở cho tất cả các giao diện khác trong COM mà mọi đối tượng phải hỗ trợ. Tất cả các

giao thức khác ở OLE được bắt nguồn từ IUnknown. Giao thức IUnknown cung cấp cho

những Client những con trỏ tới giao thức khác, cho việc chuyển dữ liệu tới đối tượng và quản

lý trạng thái của một đối tượng. Hình 2.1 thể hiện các giao diện của đối tượng OLE.

Hình 1 . Các giao diện của đối tượng OLE

Từ Windows NT, DCOM (Distributed COM) mở rộng COM cho việc giao tiếp giữa các đối

tượng hay Internet. Với DCOM, các ứng dụng có thể phân tán trên nhiều vị trí đem lại sự

thuận lợi cho chính ứng dụng. Ngày nay khi người ta nói tới COM là cũng thường bao hàm

DCOM trong đó đối tượng phân tán, thuộc các chương trình chạy trên nhiều máy tính khác

nhau trên mạng LAN, WAN.

Cốt lõi của OPC là một chương trình phần mềm phục vụ gọi là OPC-Server, trong đó chứa

các mục dữ liệu (OPC-Item) được tổ chức thành các nhóm (OPC-Group). Thông thường, một

Trang -5-

Page 3: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

OPC-Server đại diện cho một thiết bị thu thập dữ liệu như PLC, I/O hoặc một cấu hình mạng

truyền thông. Các OPC-Items sẽ đại diện cho các biến quá trình, các tham số điều khiển,…

Cách thức tổ chức này cũng tương tự như trong các hệ thống cơ sở dữ liệu quan hệ quen thuộc

với các cấp là nguồn dữ liệu (data source), bảng dữ liệu (table).

Hình 2. Kiến trúc sơ lược của OPC

Như được minh họa trên hình 2.2, hai kiểu đối tượng thành phần quan trọng nhất trong kiến

trúc OPC là OPC-Server và OPC-Group. OPC-Server có nhiệm vụ quản lý toàn bộ việc sử

dụng và khai thác dữ liệu, các đối tượng OPC-Group có chức năng tổ chức các phần tử dữ

liệu (items) thành từng nhóm để tiện cho việc truy cập. Thông thường, mỗi item ứng với một

biến trong một quá trình kỹ thuật hay trong một thiết bị điều khiển.

Chuẩn OPC hiện nay quy định hai kiểu giao diện là Custom Interfaces (OPC Taskforce,

1998b) và Automation Interface (OPC Taskforce,1998c). Kiểu thứ nhất bao gồm một số giao

diện theo mô hình COM thuần túy, còn kiểu thứ hai dựa trên công nghệ mở rộng OLE-

Automation. Sự khác nhau giữa hai kiểu giao diện này không những nằm ở mô hình đối

tượng, ở các ngôn ngữ lập trình hỗ trợ mà cũng còn ở tính năng, hiệu suất sử dụng.

2. OPC Custom Interfaces

Giống như các đối tượng COM khác, hai loại đối tượng thành phần quan trọng nhất của OPC

là OPC-Server và OPC-Group cung cấp các dịch vụ qua các giao diện của chúng, được gọi là

OPC Custom Interfaces, như được minh họa trên hình 2.3

Trang -6-

Page 4: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

Hình 3. OPC Custom Interface

Để truy cập dữ liệu dùng OPC Custom Interfaces, ta cần thực hiện các bước sau:

Tạo một (bản sao) đối tượng OPC-Server.

Tìm và lưu trữ con trỏ (địa chỉ) của các giao diện cần dùng, trong đó có IOPCServer.

Sử dụng các giao diện thích hợp của OPC-Group để tổ chức và cấu hình cho các đối

tượng này, kể cả việc xây dựng mối liên hệ với các phần tử dữ liệu thực.

Sử dụng IOPCSyncIO và IOPCsyncIO2 của các đối tượng OPC-Group để đọc hoặc

viết dữ liệu theo cơ chế đồng bộ hoặc không đồng bộ (tùy ý hoặc định kỳ).

Giải phóng các giao diện không sử dụng nữa.

Xử lý các lỗi trong từng bước nêu trên.

Sử dụng OPC Custom Interfaces cho phép truy cập dữ liệu với hiệu suất cao nhất. Tuy nhiên,

có hai nhược điểm, một là đòi hỏi người sử dụng phải hiểu rõ về lập trình với COM/DCOM,

hai là sự cứng nhắc của mã chương trình, nếu ta dùng nó trực tiếp trong ứng dụng điều khiển.

Thay đổi một chi tiết nhỏ (tên máy tính điều khiển, số lượng biến vào/ra,…) cũng đòi hỏi phải

biên dịch lại toàn bộ chương trình ứng dụng. Để giảm nhẹ độ phức tạp cho người lập trình và

nâng cao tính năng sử dụng lại, cần phải tạo ra một lớp phần mềm dưới dạng một thư viện đối

tượng nằm trên OPC, OPC Automation Interface chính là một thư viện đối tượng như vậy.

2.1. OPC Automation Interface

Giống như các đối tượng OLE-Automation khác, việc sử dụng các đối tượng của OPC

Automation Interface được đơn giản hóa nhiều. Cụ thể, nhiều thủ tục phức tạp trong lập trình

Trang -7-

Page 5: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

với COM được loại bỏ. Người lập trình không cần hiểu biết sâu sắc về COM cũng như C++,

mà chỉ cần sử dụng thành thạo một công cụ tạo được ứng dụng RAD (Rapid Application

Development) như Visual Basic.

Mặt trái của vấn đề lại là, sự đơn giản hóa của phương pháp này phải trả giá bằng sự hạn chế

trong phạm vi chức năng, hiệu suất sử dụng và tốc độ trao đổi dữ liệu. Nhất là trong một giải

pháp tự động hóa phân tán, có sự tham gia của các mạng truyền thông công nghiệp, thì hai

điểm yếu nói sau trở nên rất đáng quan tâm. Lý do nằm chính trong mô hình giao tiếp của các

OLE-Automation và các công cụ hỗ trợ, đó là:

Dùng kiểu dữ liệu đa năng (VARIANT) một mặt sẽ lãng phí khi trao đổi dữ liệu nhỏ,

một mặt hạn chế kiểu dữ liệu sử dụng được.

Cơ chế tập trung hóa việc đón nhận và chuyển giao thông tin thì dùng giao diện

Idspatch làm giảm thời gian phản ứng của một ứng dụng đối với một sự kiện một cách

đáng kể.

2.2 OPC Server

OPC Server thực thi các giao tiếp OPC, cung cấp dịch vụ đọc, xuất cho các Client theo các

chuẩn được quy định bởi OPC. Nó đóng vai trò như một server nhận tất cả các yêu cầu từ

client xử lý các yêu cầu đó và trả lại kết quả cho client.OPC Server chứa thông tin về trạng

thái của Server, phiên bản, OPC Group và cung cấp dịch vụ cho Client truy xuất đến OPC

Group.

OPC Server hỗ trợ hai phương pháp truy cập dữ liệu:

Polling: Client chủ động yêu cầu Server cung cấp dữ liệu mỗi khi cần

Publisher/Subcriber: Client chỉ yêu cầu một lần Server, sau đó tùy theo cách đặt (theo

chu kỳ, theo sự thay đổi của dữ liệu hoặc theo một sự kiện nào đó). Phương pháp này

còn được gọi là truy cập không đồng bộ.

OPC Server chứa các mục dữ liệu gọi là OPC-Item được tổ chức thành các nhóm OPC-

Group. Trong đó:

Trang -8-

Page 6: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

OPC Item: đại diện cho những kết nối tới những nguồn dữ liệu bên trong Server như

các biến quá trình, các tham số điều khiển,…Một OPC Client muốn truy cập đến OPC

Item thì phải thông qua OPC Group chứa OPC Item.

OPC Group: bao gồm thông tin và OPC Item. Cần quan tâm đến ba thuộc tính chính

của OPC Group là ActiveState, UpdateRate, PercentDeadBand. Một OPC Server

không những chỉ đọc và ghi những giá trị của biến mà còn giám sát và chỉ định chúng;

một OPC Client có thể cho phép hay vô hiệu hóa ActiveState ở mỗi OPC Group và

OPC Item. UpdateRate là dãy mà PC Server kiểm tra giá trị của OPC Item để giám sát

nó. PrecentDeadBand chỉ áp dụng tới một OPC Item kiểu tương tự. Theo dõi giá trị và

chỉ gửi tới Client nếu nó đã thay đổi nhiều hơn so với qui định phần trăm phạm vi (cực

đại và cực tiểu của giá trị).

2.3 OPC Client

Kiến trúc Client/Server trong OPC được trình bày trong hình 2.4.

Hình 4 . Kiến trúc Client/Server trong OPC

OPC Client tạo ra kết nối với các Server, quản lý hay bỏ đi những OPC Group. OPC Client có

thể chỉ định tới một hoặc nhiều OPC Item trong mỗi OPC Group mong muốn để truy cập dữ

liệu và đăng ký một danh mục Item. Những public group được coi như những nhóm Server cố

định hay được dùng để lưu trữ liên tục bởi một OPC Server. Khái niệm này cho phép chia sẻ

thông tin dữ liệu cấu hình ngang qua nhiều ứng dụng Client. Những public group có thể được

tạo ra chỉ cho một ứng dụng Client và những ứng dụng Client khác truy cập thông tin thông

qua kết nối với những public group.

Trang -9-

Page 7: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

Sự đồng bộ hóa là khả năng của một Client có thể đọc hay ghi nhiều giá trị và những thuộc

tính trong một giao dịch đơn thuần. Sự chuỗi hóa là khả năng của một Client điều khiển việc

ghi những giao diện được thực hiện.

2.4 Mạng Ethernet

2.4.1 Giới thiệu

Mạng Ethernet công nghiệp xuất phát từ mạng Ethernet được đề xuất bởi IEEE (Institute of

Electrical and Electronic Engineers) năm 1985 gọi là chuẩn IEEE 802.3.

Chuẩn này dùng cáp đồng trục trở kháng 50 Ohm, truyền tin với vận tốc 10 Mb/s theo kỹ

thuật CSMA/CD, thường được gọi là chuẩn 10BASE5 ( 10 có nghĩa 10 Mb/s, BASE là

Baseband tín hiệu truyền đi không điều chế, 5 ứng với khoảng cách truyền 500m). Sau này

dùng cáp đồng trục loại nhỏ RG58A/U chuẩn 10BASE2. Các máy tính nối với nhau theo cấu

hình tuyến qua các đoạn cáp có đầu nối BNC đực (đầu nối BNC, Bayonet Neill Concelman),

nối với đầu nối hình T cắm vào card mạng. Hai đầu tuyến có đầu nối Terminator là điện trở

50 Ohm để tránh phản xạ đầu cuối, khoảng cách tối đa đoạn cáp là 185m.

Các phát triển tiếp theo là Fast Ethernet (802.3 u) 100BASE-T (T: cáp dây đôi xoắn không

bọc giáp; còn gọi là UTP: unshiled twisted pair), các máy tính nối với nhau theo cấu hình sao

(hay cây) qua các hub (hay switch) với các đầu nối RJ45. Đầu nối này có 8 tiếp điểm, nối hai

cáp mạng với nhau theo kết nối thẳng hay chéo. Dùng kết nối thẳng khi nối máy tính với hub,

kết nối chéo được dùng khi nối hai máy tính trực tiếp hay nối hai hub lại với nhau. Chiều dài

cáp tối đa từ máy tính đến hub hay hub-hub là 100m, tối đa 3 hub được sử dụng. Hiện nay đã

phát triển Gigabit Ethernet (802.3z,802.3ab,802.3ae) với vận tốc truyền là 1GB và 10GB.

Hình 2.5 thể hiện đầu nối RJ45 cho mạng Ethernet và cách kết nối thẳng và chéo.

Trang -10-

Page 8: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

Hình 5 . Đầu nối RJ45 cho mạng Ethernet

Máy tính và PLC ghép với nhau trên mạng Ethernet qua card hay module Ethernet CP (CP:

Communication Processor) trao đổi lượng thông tin lớn.

2.4.2 Giới thiệu giao tiếp mạng

Để kết nối các máy tính và các thiết bị trên cùng một mạng lại với nhau cần một giao diện

mạng. Giao diện mạng cho phép truyền thông giữa cấu hình giao diện phần mềm và các thiết

bị mạng được kết nối thành hệ thống.

2.4.3 Xác định các lớp địa chỉ IP

Khoảng của địa chỉ IP có thể được chỉ định tới một máy tính, nó được định nghĩa như một lớp

địa chỉ IP. Có các lớp mạng khác nhau được tính theo kích thước của mạng. Các lớp mạng

cũng quyết định tổng số địa chỉ IP độc nhất mà nó được chỉ định trong một lớp mạng.

Có 5 lớp mạng:

Trang -11-

Page 9: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

Lớp A: bao gồm các địa chỉ IP trong khoảng 1.0.0.0 tới 127.255.255.255

Lớp B: bao gồm các địa chỉ IP trong khoảng 128.0.0.0 tới 191.255.255.255

Lớp C: bao gồm các địa chỉ IP trong khoảng 192.0.0.0 tới 223.255.255.255

Lớp D: bao gồm các địa chỉ IP trong khoảng 224.0.0.0 tới 239.255.255.255

Lớp E: bao gồm các địa chỉ IP trong khoảng 240.0.0.0 tới 255.255.255.255

2.4.4 Thiết lập và định cấu hình cho mạng LAN

Mạng LAN là hệ truyền thông tốc độ cao được thiết kế để kết nối các máy tính và các thiết bị

xử lý dữ liệu khác cùng hoạt động với nhau trong một khu vực địa lý nhỏ như ở một tầng của

tòa nhà, hoặc trong một tòa nhà, … một số mạng LAN có thể kết nối lại với nhau trong một

khu vực làm việc. Nhiều mạng LAN kết nối với nhau trở thành mạng WAN và nhiều mạng

WAN trở thành mạng INTERNET. Các mạng LAN trở nên thông dụng vì nó cho phép người

sử dụng dùng chung những tài nguyên quan trọng như máy in màu, ổ đĩa CD-ROM, các phần

mềm ứng dụng và những thông tin cần thiết khác. Trước khi phát triển công nghệ LAN, các

máy tính là độc lập với nhau, bị hạn chế bởi số lượng các chương trình tiện ích. Sau khi kết

nối mạng, hiệu quả của chúng tăng lên gấp bội.

Chính vì những ưu điểm đó mà nhóm làm đề tài đã chọn mạng LAN để giao tiếp giữa Server

và các Client để điều khiển và giám sát hệ thống. Sau đây là các thủ tục để thiết lập và cài đặt

cấu hình cho mạng LAN mà trong đồ án đã sử dụng:

Thiết lập mạng: ban đầu phải lắp card mạng vào máy tính, sau đó cài đặt Driver cho

card mạng và kết nối cáp mạng

Định cấu hình cho mạng: sau khi đã thiết lập kết nối phần cứng giữa thiết bị trung tâm

và các nút. Ta phải tiến hành thiết lập các nút trong LAN theo một chuẩn, chuẩn là

một giao thức nhằm để trao đổi thông tin giữa hai hệ thống máy tính, hay hai thiết bị

máy tính. Các máy tính sử dụng hệ điều hành của Microsoft thường sử dụng giao thức

TCP/IP. Việc đặt địa chỉ TCP/IP tĩnh là điều bắt buộc trong các mạng ngang hàng

Trang -12-

Page 10: Opc Server 2

Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA

dùng giao thức TCP/IP. Nhưng với mạng cục bộ chạy trên nền Window NT theo mô

hình Client/Server cũng nên đặt địa chỉ IP tĩnh để dễ dàng quản lý và phát hiện lỗi.

2.5 Hệ thống SCADA

SCADA (Supevisory Control And Data Acquisition) - hiểu một cách nôm na là hệ thống điều

khiển giám sát và thu thập số liệu. Việc giám sát, thu thập số liệu và điều khiển là rất cần thiết

đối với một hệ thống công nghiệp bất kỳ. Tuỳ theo mức độ quan trọng và yêu cầu những tính

năng điều khiển, các chức năng điều khiển và thu thập số liệu được phân phối và phân cấp

cho các thiết bị khác nhau. Hệ thống SCADA có thể được chia thành bốn cấp.

Ở cấp thấp nhất của hệ thống SCADA là cấp thiết bị, có chức năng chấp hành tín hiệu điều

khiển thời gian thực từ cấp trên và trả lại thông số vận hành thời gian thực cho cấp trên.

Cấp thứ hai của hệ thống SCADA là cấp điều khiển cục bộ, có chức năng thu thập dữ liệu

thời gian thực từ cấp thiết bị, tính toán và đưa ra tín hiệu điều khiển theo thuật toán cài đăt

trước, báo hiệu sự vượt quá ngưỡng cho phép của các thông số từ quá trình, kiểm soát lỗi của

thiết bị điều khiển.

Cấp thứ ba là của hệ thống SCADA là cấp điều khiển giám sát, có chức năng thu thập thông

tin từ cấp dưới, xử lý, lưu trữ và hiển thị, đưa ra tín hiệu điều khiển trên cơ sở phân tích thông

tin, thay đổi lại thông số, cấu hình của cấp điều khiển cục bộ, lưu trữ dữ liệu, đưa ra báo cáo,

chuẩn đoán về sự hư hỏng của các phần tử trong hệ thống.

Cấp thứ tư của hệ thống SCADA là cấp quản lý, có chức năng tối ưu hóa các chỉ số kinh tế về

sản xuất, quản lý tài nguyên công ty, lưu trữ thông tin, đưa ra kế hoạch sản xuất.

Trang -13-