HOANLK
  • Login
  • Register
Cart / 0₫

Chưa có sản phẩm trong giỏ hàng.

No Result
View All Result
  • Trang chủ
  • Tự Động Hóa
    • SIEMENS
    • PANASONIC
    • SERVO
    • EPLAN
    • MITSUBISHI
  • Công Nghệ
    • .NET
    • PYTHON
    • IOT
  • Thư Viện
  • Dự án
    • Dự án 2019-2023
  • Cửa Hàng
  • Liên Hệ
  • Tiếng Việt
    • Tiếng Việt
    • English
    • Русский
HOANLK
No Result
View All Result
2

Kết nối OPC DA C# và KepwareV6

by hoanlk
06/05/2024
in C-Sharp

I. Giới thiệu về OPC DA

OPC DA là gì?

OPC DA (OLE for Process Control – Data Access) là một chuẩn giao tiếp trong lĩnh vực tự động hóa và điều khiển quy trình. OPC DA được sử dụng để truyền dữ liệu từ các thiết bị và hệ thống tự động hóa sang các ứng dụng máy tính như HMI (Human-Machine Interface), SCADA (Supervisory Control and Data Acquisition) và các hệ thống quản lý dữ liệu.

Đặc điểm OPC DA

  1. Tính tương thích: OPC DA cho phép giao tiếp giữa các thiết bị và ứng dụng từ các nhà sản xuất khác nhau mà không cần phải lo lắng về sự không tương thích.
  2. Độ tin cậy cao: OPC DA được thiết kế để đảm bảo tính ổn định và độ tin cậy cao trong việc truyền dữ liệu từ thiết bị đến ứng dụng.
  3. Khả năng mở rộng: Nó cho phép mở rộng hệ thống bằng cách thêm vào các thiết bị mới mà không cần phải thay đổi cấu trúc giao tiếp.
  4. Tốc độ truyền dữ liệu: OPC DA có khả năng truyền dữ liệu với tốc độ nhanh, phù hợp với các ứng dụng yêu cầu thời gian thực.

II.Hướng dẫn cấu hình và mã nguồn

Register OPC trên máy tính

  1. Copy file thư viện OPCDAAuto.dll vào ổ C//window//System32 và C//window//SysWoW64(Link thư viện dưới cuối bài viết)
  2. Câu lệnh 1: %windir%\System32\regsvr32.exe %windir%\System32\OPCDAAuto.dll Đối với win 32bit
  3. Câu lệnh 2: %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\OPCDAAuto.dll Đối với win 64bit

Cấu hình trên Kepware OPC V6

Tại bài này. Mình dùng Kepware OPC V6 để kết nối. Bởi vì Kepware đã quá nổi tiếng với anh em dân kỹ thuật với những phát triển của họ và cũng như cách kết nối dễ dàng, nhanh chóng, thuận tiện, hỗ trợ nhiều driver của các hãng khác nhau, quản lý thiết bị rõ ràng , thân thiện,mạch lạc,nhanh chóng.

Đây là ví dụ mình đã cấu hình sẵn trên Kepware OPC.

OPC DA C#

Mã nguồn OPC DA C# trên Visual Studio

Mã nguồn:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OPCAutomation;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        OPCServer oServer;
        OPCGroup oGroup;
        Array handles = new Array[2];

        public int temp1;
        public int temp2;

        public Form1()
        {
            InitializeComponent();
            SET_opc();
        }

        public void SET_opc()
        {
            //add server - reference the kepserver that should already be setup
            oServer = new OPCServer();
            oServer.Connect("Kepware.KEPServerEX.V6", null);
            oServer.OPCGroups.DefaultGroupIsActive = true;
            oServer.OPCGroups.DefaultGroupDeadband = 0f; //the percentage change required before a change is reported, used to filter noise
            oServer.OPCGroups.DefaultGroupUpdateRate = 10; //the rate is ms before item is updated

            //set up group - this is an arbitrary container to place OPC items
            oGroup = oServer.OPCGroups.Add("g1");
            oGroup.IsSubscribed = false; //dont need to be subscribed to data change events
            oGroup.OPCItems.DefaultIsActive = false; //the item does not need to be active, it will only be refreshed with the latest value after we synch read

            //add group items - items can capture the values of registers from the device, the item is setup within the kepserver
            int[] h = new int[3];

            //index starts at 1
            h[1] = oGroup.OPCItems.AddItem("Channel1.Device1.PV", 1).ServerHandle; //the handle is a server generated value that we use to reference the item for further operations
            h[2] = oGroup.OPCItems.AddItem("Channel1.Device1.SV", 2).ServerHandle;
            handles = (Array)h;
        }

        public void Sync_read() //reads device
        {
            System.Array values; //opc server will store the values in this array
            System.Array errors; //opc server will store any errors in this array
            object qualities = new object(); //opc server will store the quality of the item 
            object timestamps = new object(); //store the timestamp of the read

            //read directly from device
            oGroup.SyncRead((short)OPCAutomation.OPCDataSource.OPCDevice, 2, ref handles, out values, out errors, out qualities, out timestamps);

            temp1 = (int)values.GetValue(1);
            temp2 = (int)values.GetValue(2);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Sync_read();
            textBox1.Text = temp1.ToString();
            textBox2.Text = temp2.ToString();
        }
    }
}

Link tải thư viện OPCDAutomation.dll

Link Video: Audio

OLM PROFIBUS

Share this…
  • Facebook
  • Twitter
  • Linkedin
  • Whatsapp
  • Pinterest
Tags: .NETCSHARP
hoanlk

hoanlk

Related Posts

PLC INOVANCE C# VISUAL STUDIO 2017
C-Sharp

PLC INOVANCE C# VISUAL STUDIO 2017

27/08/2024

https://youtu.be/xQFevQH5IBE?si=-s-LYoj5K2RZm8oE Giới Thiệu Xin chào mọi người! Việc giám sát và lưu trữ dữ liệu là nhu cầu cần thiết...

Siemens: Hướng dẫn kết nối thư viện .NET với PLC S7 Siemens trên Visual Studio
Siemens

Siemens: Hướng dẫn kết nối thư viện .NET với PLC S7 Siemens trên Visual Studio

15/08/2023

Kết nối .NET với PLC S7-1200 của Siemens là một quá trình quan trọng để điều khiển và giám sát...

EPLAN Electric P8 API: Mẹo tạo nhanh bản vẽ thiết kế
EPLAN

EPLAN Electric P8 API: Mẹo tạo nhanh bản vẽ thiết kế

02/09/2023

Phần mềm EPLAN Electric P8 là gì? Phần mềm EPLAN Electric P8  là sản phẩm chính của công ty EPLAN...

Wincc V7 : Hướng dẫn xuất báo cáo ra Excel
Siemens

Wincc V7 : Hướng dẫn xuất báo cáo ra Excel

04/09/2023

Việc tạo và duy trì các bản ghi dữ liệu cho máy là một phần rất quan trọng để giữ...

Giao tiếp giữa Dòng PLC Mitsubishi FX C# PC
C-Sharp

Giao tiếp giữa Dòng PLC Mitsubishi FX C# PC

16/08/2023

Giới thiệu Giao tiếp giữa PC và PLC dòng Mitsubishi FX được mô tả trong bài viết này được thực...

Cơ bản MQTT Broker với C#
C-Sharp

Cơ bản MQTT Broker với C#

12/08/2023

Bây giờ tôi sẽ chỉ cho bạn cách phát triển MQTT broker đơn giản, có thể chấp nhận tất cả...

Next Post
Tổng hợp lỗi WINCC V7

Tổng hợp lỗi WINCC V7

TIP EPLAN: Cách để (how to) ngắt dây trong Eplan Electric P8

TIP EPLAN: Cách để (how to) ngắt dây trong Eplan Electric P8

Đọc Analog bằng Board PLC MITSUBISHI FX3U

Đọc Analog bằng Board PLC MITSUBISHI FX3U

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

  • Trang Chủ
  • Cửa Hàng
  • Chính sách đổi trả hàng
  • Liên Hệ
  • Tài khoản

© 2023 HOANLK - Premium theme by HOANLK.

No Result
View All Result
  • Trang chủ
  • Tự Động Hóa
    • SIEMENS
    • PANASONIC
    • SERVO
    • EPLAN
    • MITSUBISHI
  • Công Nghệ
    • .NET
    • PYTHON
    • IOT
  • Thư Viện
  • Dự án
    • Dự án 2019-2023
  • Cửa Hàng
  • Liên Hệ
  • Tiếng Việt
    • Tiếng Việt
    • English
    • Русский

© 2023 HOANLK - Premium theme by HOANLK.

Welcome Back!

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Fill the forms below to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In