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

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

19 5 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tìm Hiểu Và Thiết Kế Opc Ua Với C#
Trường học Đại Học Quốc Gia Tp. Hồ Chí Minh
Chuyên ngành Điện – Điện Tử
Thể loại Báo Cáo Bài Tập Lớn
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 19
Dung lượng 3,96 MB

Nội dung

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Í MINH

TRƯỜ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 được

sử 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ất khác nhau Nó đóng vai trò quan trọng trong nghiên cứu vì cho phép giao tiếp và truyền tả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ện lợi và hiệu quả OPC sử dụng mô hình khung COM/DCOM (Component Object Model/Distributed Component Object Model) của Microsoft để tạo ra một giao diện chung 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ác thiế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 đích

cụ 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ày cho 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ữ trong quá 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ại cá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ện xảy ra trong quá trình hoạt động, giúp người dùng theo dõi và phản ứng nhanh chó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 (Data eXchange) để 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 ứng cá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ò quan trọ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óa cô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 linh hoạ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ác nhau Đ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ác nhau 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úp tă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áp mớ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ác nhà 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 được OPC 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 OPC Classic Đ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ủa OPC 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ên nhiề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ìm thấ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ích hoạt qua tường lửa, và một giao thức dịch vụ web (SOAP) sử dụng các cổng HTTP/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 ứng dụng công nghiệp đã áp dụng giao thức UA cả trong không gian tự động hóa công nghiệp truyề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áy chủ 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ằng cách sử dụng giao thức SOAP/XML thông qua HTTP, OPC UA có thể triển khai trên nhiề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ền

thô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ông nghệ COM/DCOM là mở rộng các tính năng bảo mật Hệ thống OPC Classic phụ thuộc và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ức tạ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 đặt DCOM để 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át triể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ác

hệ 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ụng chứ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ấp cá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 đều

có 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áy chủ và máy khách, người dùng có thể chọn ba chế độ thông điệp: None, Sign, Sign and Encrypt 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àng và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ông qua 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, OPC

UA 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áy khách và máy chủ một cách dễ dàng Như đã đề cập trước đó, OPC UA cũng triển khai cá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ông tươ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, để truy cậ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 DCOM EXE 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 Classic

cầ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 Classic cầ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 ưu quá 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ấp quả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ủa OPC UA qua nhiều giao thức truyền thông cho phép các hệ thống SCADA giao tiếp hiệu quả 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 cho phé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 ra quyế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ằng cá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ích hợ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ền

thố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ều khiể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 an toà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ông minh

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ảng phầ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ác nhau, 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ức tạ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ác

tổ 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ột kiế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ầu kinh 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ải thiệ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 Classic

và 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 trong lĩ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 giao diệ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: https://integrationobjects.com/sioth-opc/sioth-opc-unified-architecture/opc-ua-server-simulator/

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ủ OPC UA

- "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ủa kiế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ện

và 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ỉ Application Instance để 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: https://integrationobjects.com/sioth-opc/sioth-opc-unified-architecture/opc-ua-client/

Trang 15

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

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using Opc.UaFx.Client;

namespace OPCUAWrite

{

public partial class Form1 : Form

{

int i;

public Form1 ()

{

InitializeComponent();

}

private void 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" ; }

catch

{

MessageBox.Show( "Invalid URL!?!?!?!" );

}

}

void btnStop_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 = 0;

DateTime sensorDateTime = DateTime.Now;

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

catch

{

MessageBox.Show( "Invalid URL!?!?!?!" );

}

}

Trang 17

private void label2_Click(object sender, EventArgs e)

{

}

private void lblStatusMessage_Paint( object sender, PaintEventArgs e) {

}

void button1_Click( object sender, EventArgs e)

{

string opcUrl;

opcUrl = Convert.ToString(txtopcUrl.Text);

var tagName = "ns=2;s=Tag7" ;

var client = new OpcClient(opcUrl);

double sensorValue;

if (i==1)

{

try

{

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

client.WriteNode(tagName, sensorValue);

}

catch

{

MessageBox.Show( "Invalid Input!?!?!?!" );

}

}

}

private void txtopcUrl_TextChanged( object sender, EventArgs e) {

}

private void button2_Click( object sender, EventArgs e)

{

string opcUrl;

opcUrl = Convert.ToString(txtopcUrl.Text);

var tagName = "ns=2;s=Tag7" ;

var client = new OpcClient(opcUrl);

if (i == 1)

{

client.Connect();

var y= client.ReadNode(tagName);

textBox1.Text = y.ToString();

}

}

private void txtTimeStamp_TextChanged( object sender, EventArgs e) {

}

private void label4_Click( object sender, EventArgs e)

{

}

private void textBox1_TextChanged( object sender, EventArgs e)

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

TỪ KHÓA LIÊN QUAN

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

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

TÀI LIỆU LIÊN QUAN

w