ĐỀ TÀI: TÌM HIỂU VÀ THIẾT KẾ OPC UA VỚI C#

19 1 0
Tài liệu đã được kiểm tra trùng lặp
ĐỀ TÀI: TÌM HIỂU VÀ THIẾT KẾ OPC UA VỚI C#

Đ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

BÁO CÁO BÀI TẬP LỚN ĐO LƯỜNG VÀ ĐIỀU KHIỂN BẰNG MÁY TÍNH ĐỀ TÀI: TÌM HIỂU VÀ THIẾT KẾ OPC UA VỚI C# BAO GỒM CODE VÀ PHẦN MỀM

Trang 1

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

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỀU KHIỂN VÀ TỰ ĐỘNG

-o0o -BÁO CÁO BÀI TẬP LỚN

ĐO LƯỜNG VÀ ĐIỀU KHIỂN BẰNG MÁY TÍNHĐỀ TÀI: TÌM HIỂU VÀ THIẾT KẾ OPC UA VỚI C#

TP HỒ CHÍ MINH, THÁNG 6 NĂM 2023

Trang 2

MỤC LỤC

I TÌM HIỂU VỀ OPC UA 2

1 Giới thiệu về OPC 3

2 Giới thiệu về OPC UA 3

II THIẾT KẾ VÀ MÔ PHỎNG OPC UA VỚI C# 2

1 Mô phỏng Server bằng “OPC UA Server Simulator” 2

2 Mô phỏng Client bằng “OPC UA Client” 4

3 Thiết kế giao tiếp OPC UA bằng C# sử dụng thư viện Opc.UaFx.Client 5

III TÀI LIỆU THAM KHẢO 9

Trang 3

I TÌM HIỂU VỀ OPC UA

1 Giới thiệu về OPC

OPC (OLE for Process Control) là một tiêu chuẩn truyền thông công nghiệp đượcsử dụng để truyền tải dữ liệu và thông tin giữa các thiết bị và hệ thống từ các nhà sản xuấtkhác nhau Nó đóng vai trò quan trọng trong nghiên cứu vì cho phép giao tiếp và truyềntải dữ liệu giữa các thành phần trong một hệ thống tự động hóa công nghiệp một cách tiệnlợi và hiệu quả OPC sử dụng mô hình khung COM/DCOM (Component ObjectModel/Distributed Component Object Model) của Microsoft để tạo ra một giao diệnchung cho việc truyền tải dữ liệu Điều này giúp đơn giản hóa việc giao tiếp giữa cácthiết bị, hệ thống và ứng dụng khác nhau bằng cách cung cấp một tập hợp các quy tắc vàquy định chuẩn.

Trang 4

OPC được phát triển để đảm bảo tính tương thích, độ tin cậy và khả năng mở rộng.Nó cung cấp một loạt các giao thức truyền tải dữ liệu đa dạng để phục vụ các mục đíchcụ thể trong tự động hóa công nghiệp.

phép truy cập dữ liệu thời gian thực từ các thiết bị và hệ thống Giao thức nàycho phép lấy dữ liệu từ các biến, thông số và trạng thái hiện tại của các thiết bị.

sử, cho phép thu thập và truy xuất thông tin về các dữ liệu đã được lưu trữ trongquá khứ Điều này rất hữu ích để phân tích xu hướng, thống kê và xem xét lạicác sự kiện quan trọng đã xảy ra trong quá trình vận hành.

và sự kiện trong hệ thống Nó cho phép đọc, ghi và xử lý các cảnh báo và sự kiệnxảy ra trong quá trình hoạt động, giúp người dùng theo dõi và phản ứng nhanhchóng đối với các tình huống bất thường.

- Ngoài ra, OPC còn cung cấp nhiều giao thức khác như OPC DX (DataeXchange) để truyền dữ liệu qua mạng, OPC XML-DA (XML Data Access) sửdụng định dạng XML để truy cập dữ liệu, và nhiều giao thức khác nhằm đáp ứngcác yêu cầu và nhu cầu đặc thù của các ứng dụng trong tự động hóa công nghiệp.Với việc cung cấp các giao thức truyền tải dữ liệu đa dạng, OPC đóng vai trò quantrọng trong việc kết nối và truy cập dữ liệu từ các thiết bị và hệ thống trong tự động hóacông nghiệp.

Tiêu chuẩn OPC đóng góp quan trọng trong nghiên cứu bởi khả năng tích hợp linhhoạt và tiêu chuẩn hóa giao tiếp giữa các thiết bị và hệ thống từ các nhà sản xuất khácnhau Điều này giúp nghiên cứu viên tiếp cận và sử dụng dữ liệu từ nhiều nguồn khácnhau một cách dễ dàng và hiệu quả Việc áp dụng tiêu chuẩn OPC trong nghiên cứu giúptăng cường tính tương thích, tính nhất quán và khả năng mở rộng của các hệ thống tựđộng hóa công nghiệp, đồng thời tạo ra cơ sở cho phát triển và ứng dụng các giải phápmới trong lĩnh vực này.OPC được sử dụng trong nhiều lĩnh vực tự động hóa công nghiệp,

Trang 5

bao gồm hệ thống điều khiển quy trình, hệ thống giám sát, hệ thống thu thập dữ liệu vàquản lý tài nguyên Nó cho phép tích hợp linh hoạt giữa các thiết bị và hệ thống từ cácnhà sản xuất khác nhau, không bị ràng buộc bởi các công nghệ hoặc giao thức cụ thể.

2 Giới thiệu về OPC UA

OPC Unified Architecture (UA) là một tiêu chuẩn công nghệ truyền thông đượcOPC Foundation phát hành lần đầu vào năm 2006 nhằm cải tiến trên phiên bản trước đócủa nó, OPC Classic OPC UA bao gồm tất cả các chức năng được tìm thấy trong OPCClassic Điều này được thực hiện bằng cách kết hợp các thông số kỹ thuật khác nhau củaOPC Classic thành một điểm nhập duy nhất vào hệ thống cung cấp DA và A&E hiện tại,kết hợp với lịch sử của cả hai.

Hơn nữa, OPC UA dựa trên một kiến trúc dịch vụ hướng đến doanh nghiệp trênnhiều nền tảng (SOA) được tối ưu hóa, mở rộng về tính bảo mật và chức năng được tìmthấy trong OPC Classic thay vì công nghệ COM/DCOM của Microsoft OPC UA hỗ trợhai giao thức: một giao thức nhị phân sử dụng tài nguyên tối thiểu, cho phép dễ dàng kíchhoạt qua tường lửa, và một giao thức dịch vụ web (SOAP) sử dụng các cổngHTTP/HTTPS tiêu chuẩn Bởi vì lợi ích của giao thức mới này, ngày càng nhiều ứngdụng công nghiệp đã áp dụng giao thức UA cả trong không gian tự động hóa công nghiệptruyền thống dựa trên OPC và các lĩnh vực mới như năng lượng.

OPC Classic yêu cầu hệ điều hành Microsoft Windows để triển khai chức năng máychủ COM/DCOM Bằng cách sử dụng kiến trúc SOA và dịch vụ web, OPC UA là một hệthống độc lập nền tảng, loại bỏ sự phụ thuộc trước đây vào hệ điều hành Windows Bằngcách sử dụng giao thức SOAP/XML thông qua HTTP, OPC UA có thể triển khai trênnhiều hệ thống nhúng khác nhau, bất kể hệ điều hành đó là một hệ điều hành đa năng nhưWindows hay một hệ điều hành thời gian thực xác định.

Trang 6

OPC UA loại bỏ nhu cầu sử dụng các thành phần dựa trên Windows và có thể truyềnthông trực tiếp với các máy chủ OPC UA nhúng trên PLC.

Một trong những lợi ích quan trọng nhất của việc loại bỏ sự phụ thuộc vào côngnghệ COM/DCOM là mở rộng các tính năng bảo mật Hệ thống OPC Classic phụ thuộcvào cấu hình phức tạp của DCOM để cung cấp bảo mật giữa các tiến trình Thường thì,các nhà cung cấp thiết bị thường bỏ qua bước kiểm tra này, dẫn đến việc cấu hình phứctạp cho người dùng Điều này thường dẫn đến việc bảo mật bị tắt hoàn toàn, gây ra các lỗhổng bảo mật lớn trong mạng Trong hệ thống OPC Classic, các nhà phát triển phải sửdụng danh sách điều khiển truy cập (Access Control lists) được lưu trữ trong các cài đặtDCOM để cấu hình các thiết lập bảo mật cho từng thành phần.

Ngược lại, OPC UA sử dụng các công nghệ web tiêu chuẩn làm nền tảng bảo mật,bao gồm cả khả năng xác thực và mã hóa để bảo vệ dữ liệu Điều này loại bỏ sự phụthuộc vào DCOM và cung cấp một hệ thống bảo mật đơn giản và dễ dàng cấu hình hơn.Các tính năng bảo mật được tích hợp sẵn trong giao thức OPC UA, giúp các nhà pháttriển và người dùng có thể dễ dàng triển khai các giải pháp bảo mật mạnh mẽ trong cáchệ thống tự động hóa công nghiệp.

Trang 7

OPC UA yêu cầu thực hiện bắt tay giữa các máy khách và máy chủ bằng cách sử dụngchứng chỉ chuẩn Web X.509 để xác thực trước khi họ có thể giao tiếp với nhau.

Các máy chủ và máy khách OPC UA phải phụ thuộc vào các chứng chỉ duy nhất đểgiao tiếp với nhau OPC UA hỗ trợ chuẩn Mật mã Khóa công khai PKCS12 để cung cấpcác tập tin chứa khóa công khai và khóa riêng tư X.509 Cả máy chủ và máy khách đềucó thể lựa chọn cặp khóa công khai và khóa riêng tư để sử dụng Để giao tiếp giữa máychủ và máy khách, người dùng có thể chọn ba chế độ thông điệp: None, Sign, Sign andEncrypt Ngoài ra, người dùng có thể kích hoạt một trong hai chính sách bảo mật:Basic256 và Basic128Rsa15 Những chính sách bảo mật này là cơ sở cho thuật toán đểký hoặc mã hóa dữ liệu giữa máy khách và máy chủ.

Nhờ vào mô hình bảo mật được tiêu chuẩn hóa, OPC UA cho phép tích hợp dễ dàngvào các mạng IT hiện có, giảm thiểu chi phí cấu hình OPC UA có thể giao tiếp thôngqua bất kỳ cổng HTTP hoặc UA TCP tiêu chuẩn nào Nhờ sự tiêu chuẩn hóa này, OPCUA có thể kết nối an toàn qua VPN và qua tường lửa để cho phép kết nối từ xa giữa máykhách và máy chủ một cách dễ dàng Như đã đề cập trước đó, OPC UA cũng triển khaicác giao thức mạng tiêu chuẩn, bao gồm xác thực với chứng chỉ và mã hóa dữ liệu.

Do sự thay đổi trong công nghệ truyền thông dữ liệu, giao thức OPC UA khôngtương thích ngược với mô hình truy cập dữ liệu (DA) của OPC Classic Các máy chủOPC DA cần một UA Wrapper để truy cập các ứng dụng khách UA Ngoài ra, để truycập các máy chủ UA, các ứng dụng khách OPC DA cần một UA Proxy là một DCOMEXE Server kết nối đến các máy chủ UA bằng cách tạo các Pseudo-server COM.

Trang 8

Để truy cập các máy chủ OPC UA, các ứng dụng khách dựa trên COM của OPC Classiccần một UA Proxy để giao tiếp với các máy chủ UA.

Để tương tác với các ứng dụng khách UA, các máy chủ dựa trên COM của OPC Classiccần một UA Wrapper để chuyển đổi giao thức từ OPC Classic sang OPC UA.

OPC UA có thể được sử dụng cho hệ thống kiểm soát và thu thập dữ liệu giám sát(SCADA), loại bỏ sự sử dụng của các hệ thống trung gian dựa trên Windows để tối ưuquá trình truyền dữ liệu từ các cấp độ trường và điều khiển theo chiều dọc lên các cấpquản lý và doanh nghiệp Khả năng cung cấp truyền dữ liệu an toàn và đáng tin cậy củaOPC UA qua nhiều giao thức truyền thông cho phép các hệ thống SCADA giao tiếp hiệuquả với các hệ thống khác, chẳng hạn như hệ thống quản lý tài nguyên doanh nghiệp(ERP), hệ thống thực thi sản xuất (MES) và các hệ thống kinh doanh khác Điều này chophép các tổ chức tận dụng dữ liệu thời gian thực từ hệ thống SCADA của họ để đưa raquyết định thông minh, cải thiện hiệu quả hoạt động và tối ưu hóa quy trình của họ Bằngcách sử dụng OPC UA, các tổ chức có thể tạo ra một kiến trúc hệ thống mượt mà và tíchhợp hơn, giảm độ phức tạp và cải thiện hiệu suất tổng thể của hệ thống.

Trang 9

OPC UA cung cấp phương tiện truyền thông thông tin trong kiểm soát giám sát truyềnthống.

Tuy nhiên, OPC UA cũng phù hợp cho việc truyền thông M2M giữa nhiều bộ điềukhiển từ các nhà sản xuất khác nhau ở cấp độ điều khiển Điều này cho phép các thiết bịđiều khiển và cảm biến sử dụng một ngôn ngữ chung để truyền tải dữ liệu một cách antoàn và đáng tin cậy giữa các hệ thống và phụ hệ thống trong các ứng dụng máy thôngminh.

OPC UA cung cấp một giao thức truyền thông tiêu chuẩn độc lập với các nền tảngphần cứng và phần mềm cơ bản, cho phép tích hợp giữa các hệ thống và thiết bị khácnhau, bao gồm các thiết bị từ các nhà sản xuất khác nhau Điều này giúp giảm độ phứctạp và cải thiện khả năng tương thích trong các ứng dụng máy thông minh, cho phép cáctổ chức tận dụng tối đa tiềm năng của các máy của họ bằng cách thu thập và phân tích dữliệu thời gian thực từ nhiều nguồn khác nhau.

Bằng cách sử dụng OPC UA cho truyền thông M2M, các tổ chức có thể tạo ra mộtkiến trúc hệ thống linh hoạt và có khả năng mở rộng, cho phép thích nghi với các nhu cầukinh doanh thay đổi và các công nghệ mới nổi.

Trang 10

OPC UA kích hoạt giao tiếp M2M trong máy thông minh

OPC UA mở rộng các chức năng của mô hình OPC gốc, OPC Classic, bằng cách cảithiện tính bảo mật và chuyển sang một phiên bản độc lập nền tảng dựa trên các công nghệweb tiêu chuẩn Những cải tiến của OPC UA vượt qua nhiều thách thức với OPC Classicvà sẽ giúp thúc đẩy việc áp dụng tiêu chuẩn ngành công nghiệp mở này hơn nữa tronglĩnh vực Tự động hóa Công nghiệp cũng như các lĩnh vực ứng dụng khác cần một giaodiện truyền thông tiêu chuẩn, mở và an toàn.

Trang 11

II THIẾT KẾ VÀ MÔ PHỎNG OPC UA VỚI C#

1 Mô phỏng Server bằng “OPC UA Server Simulator”

Được phát triển bởi Integration Objects, công cụ máy chủ OPC UA miễn phí này hỗ trợ các mô hình truy cập dữ liệu và lịch sử của OPC UA:

- Cung cấp dữ liệu thời gian thực mô phỏng và dữ liệu lịch sử.

- Người dùng có thể cấu hình các thẻ của riêng mình và mô phỏng dữ liệu thông qua tệp CSV.

- Các client OPC UA có thể giám sát dữ liệu thời gian thực và khám phá dữ liệu lịch sử từ trình mô phỏng này.

- Link download phần mềm: architecture/opc-ua-server-simulator/

https://integrationobjects.com/sioth-opc/sioth-opc-unified-C#OPC Server

OPC Client

Trang 12

Giao diện phần mềm:

Trình mô phỏng máy chủ OPC UA sử dụng 2 tệp mô phỏng CSV:

- "AddressSpace.csv" được sử dụng để xây dựng không gian địa chỉ của máy chủ OPCUA.

- "ValueSpace.csv" được sử dụng để mô phỏng giá trị dữ liệu của các mục OPC UA.

Trang 13

2 Mô phỏng Client bằng “OPC UA Client”

OPC UA Client là một công cụ Client miễn phí hỗ trợ các mô hình thông tin chính củakiến trúc OPC UA Các mô hình này bao gồm Truy cập Dữ liệu, Cảnh báo & Điều kiệnvà Truy cập Dữ liệu Lịch sử Thực tế, nó cung cấp khả năng:

- Giám sát dữ liệu thời gian thực và cảnh báo & điều kiện.

- Hơn nữa, trình duyệt OPC UA này cho phép bạn tạo Chứng chỉ ApplicationInstance để cung cấp bảo mật cấp ứng dụng và kết nối an toàn với các máy chủOPC UA.

- Link download phần mềm: unified-architecture/opc-ua-client/

Trang 15

https://integrationobjects.com/sioth-opc/sioth-opc-Giao diện phần mềm:

3 Thiết kế giao tiếp OPC UA bằng C# sử dụng thư viện Opc.UaFx.Client

Tải thư viện Opc.UaFx.Client bằng NuGet Package Manager:

Trang 16

publicpartialclassForm1 : Form {

int i;

publicForm1() {

InitializeComponent();

}

privatevoid Form1_Load(object sender, EventArgs e) {

}

void btnStart_Click(object sender, EventArgs e) {

try

{

string opcUrl;

opcUrl = Convert.ToString(txtopcUrl.Text); var tagName = "ns=2;s=Tag7";

var client = new OpcClient(opcUrl); i = 1;

DateTime sensorDateTime = DateTime.Now;

txtTimeStamp.Text = sensorDateTime.ToString("yyyy-MM-dd HH:mm:ss"); lblStatusMessage.Text = "Logging Started and Connected to OPC Server"; }

var client = new OpcClient(opcUrl); i = 0;

DateTime sensorDateTime = DateTime.Now;

txtTimeStamp.Text = sensorDateTime.ToString("yyyy-MM-dd HH:mm:ss"); lblStatusMessage.Text = "Logging Stopped and Disconnected from OPC Server"; }

Trang 17

private void label2_Click(object sender, EventArgs e)

{ }

privatevoid lblStatusMessage_Paint(object sender, PaintEventArgs e) {

var client = new OpcClient(opcUrl); double sensorValue;

if(i==1) { try

{

sensorValue = Convert.ToDouble(txtSensorValue.Text); client.Connect();

client.WriteNode(tagName, sensorValue); }

privatevoid txtopcUrl_TextChanged(object sender, EventArgs e) {

var client = new OpcClient(opcUrl); if (i == 1)

{

client.Connect();

var y= client.ReadNode(tagName); textBox1.Text = y.ToString(); }

Trang 18

Giao diện:

Tổng quan phần mềm: Phần mềm kết nối với Node: ns=2;s=Tag7 để đọc, ghi dữ liệudạng Double

Trang 19

III TÀI LIỆU THAM KHẢO

[1] Hans-Petter Halvorsen, OPC UA with Visual Studio and C#, truy cập từ:

[2] NATIONAL INSTRUMENTS CORP (7/11/2022), Why OPC UA Matters, truy cập

từ: opc-ua-matters.html

https://www.youtube.com/watch?v=KCW23eq4auw&list=PLdb-TcK6Aqj2OVrI5hRWSCZkCZParNnq7&index=10

Ngày đăng: 11/05/2024, 20:51

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan