• Hotline: 0989.000.420
  • Giới thiệu
  • Vai trò pn
  • Facbook hội pn
  • Sitemap
SỬA CHỮA ĐỘNG CƠ ĐIỆN YÊN BÁI

Vĩnh Kiên- Yên Bình- Yên Bái 0989 000 420- 038 540 7810

  • Trang chủ
  • Giới thiệu
    • Giới thiệu chung
    • Chức năng nhiệm vụ
    • Cơ cấu tổ chức
    • Các phòng chức năng nghiệp vụ
      • Văn phòng Ban QLDA Đầu tư xây dựng
      • Phòng Tài chính - Kế toán
      • Phòng Kế hoạch tổng hợp
      • Phòng Kỹ thuật - Thẩm định
      • Phòng Điều hành - Dự án
  • Thiết bị điện
  • Hệ thống DCS
    • Thiết kế tủ điện
    • Lập trình PLC
    • Giao diện DCS
    • Chuyển đối số
    • Modbus
    • Hệ thống rơ le bảo vệ
    • Lưới điện
  • Truyền thông công nghiệp
  • Config IEC104 , 61850
    • RS485
    • IEC104
    • IEC61850
    • Vòng quay may mắn
  • Máy điện
  • Góp ý
  • Liên hệ
Học Học Nữa - Học Mãi
Liên hệ quảng cáo
  • Trang chủ
  • OPC

OpcGatewayStarter

Bởi Operator vào 22 thg 9, 2026
Chia sẻ
  • Sao chép liên kết
  • Chia sẻ với Facebook
  • Chia sẻ với X
  • Chia sẻ với Pinterest
  • Chia sẻ với Linkedin
  • Gửi bài qua Email

gửi email cho tác giả




     Để project OpcGatewayStarter của bạn hoạt động giống hệt Kepware khi giao tiếp với phần mềm SCADA C# (sql_Connect), hệ thống của bạn cần đóng vai trò là một OPC DA Automation Server (COM Server).

    Khi đó, phần mềm SCADA C# chỉ cần gọi lệnh quen thuộc:

    C#
    OPCServer server = new OPCServer();
    server.Connect("OpcGateway.Server.1", ""); // Thay vì "Kepware.KEPServerEX.V6"
    

    Dưới đây là kiến trúc và code triển khai chi tiết từng bước bằng C#:

    1. Kiến trúc tổng quan

    [Modbus PLC / Slave] 
           │ (Modbus TCP)
           ▼
    [OpcGatewayStarter (C#)]
       ├── Modbus Driver  ──► Đọc dữ liệu từ PLC
       ├── TagDatabase    ──► Lưu trữ giá trị Tag
       └── OPC DA Engine  ──► Đăng ký ProgID "OpcGateway.Server.1" vào Windows Registry
                                    │
                                    │ (COM Interop / OPCAutomation)
                                    ▼
                       [SCADA C# (sql_Connect)]
    

    2. Các bước lập trình trong C#

    Bước 1: Tạo Interface COM cho OPC DA Server (IOpcDaServer.cs)

    Trong project OpcGateway.Server, tạo file IOpcDaServer.cs để định nghĩa các phương thức COM mà SCADA C# có thể gọi:

    C#
    using System;
    using System.Runtime.InteropServices;
    
    namespace OpcGateway.Server
    {
        [Guid("8A4C62D2-3B4F-4C92-9C1D-8F2E1A908411")] // GUID cố định cho Interface
        [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
        [ComVisible(true)]
        public interface IOpcDaServerEvents
        {
            // Khai báo sự kiện thông báo khi Tag thay đổi giá trị (DataChange)
            [DispId(1)]
            void OnDataChange(string tagName, object value, short quality, DateTime timestamp);
        }
    
        [Guid("1D3E5F7A-9B2C-4D8E-A1B2-C3D4E5F67890")] // GUID cố định cho Server Class
        [ComVisible(true)]
        public interface IOpcDaServer
        {
            [DispId(1)]
            void Connect(string serverName);
    
            [DispId(2)]
            object ReadTag(string tagName);
    
            [DispId(3)]
            bool WriteTag(string tagName, object value);
        }
    }
    

    Bước 2: Lập trình Class COM Server (OpcDaComServer.cs)

    Tạo file OpcDaComServer.cs làm nhiệm vụ lấy dữ liệu từ TagDatabase để trả về cho Client C#:

    C#
    using System;
    using System.Runtime.InteropServices;
    using OpcGateway.Core; // Thư viện TagDatabase của bạn
    
    namespace OpcGateway.Server
    {
        [Guid("1D3E5F7A-9B2C-4D8E-A1B2-C3D4E5F67890")]
        [ProgId("OpcGateway.Server.1")] // Ten ProgID hien thi trong Windows / SCADA
        [ClassInterface(ClassInterfaceType.None)]
        [ComSourceInterfaces(typeof(IOpcDaServerEvents))]
        [ComVisible(true)]
        public class OpcDaComServer : IOpcDaServer
        {
            private static TagDatabase _tagDatabase;
    
            // Hàm gán TagDatabase từ Main Program
            public static void Initialize(TagDatabase tagDatabase)
            {
                _tagDatabase = tagDatabase;
            }
    
            public void Connect(string serverName)
            {
                Console.WriteLine($"[OPC DA COM] Client connected to ProgID: OpcGateway.Server.1");
            }
    
            public object ReadTag(string tagName)
            {
                if (_tagDatabase != null && _tagDatabase.TryGetTag(tagName, out var tagValue))
                {
                    return tagValue.Value;
                }
                return null;
            }
    
            public bool WriteTag(string tagName, object value)
            {
                if (_tagDatabase != null)
                {
                    // Gọi driver ghi dữ liệu xuống PLC
                    return _tagDatabase.WriteTagValue(tagName, value);
                }
                return false;
            }
        }
    }
    

    Bước 3: Đăng ký COM Server vào Windows Registry trong Program.cs

    Mở file Program.cs của project OpcGateway.Server và đăng ký ProgID khi ứng dụng khởi chạy:

    C#
    using System;
    using System.Runtime.InteropServices;
    using OpcGateway.Core;
    
    namespace OpcGateway.Server
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("=== OPC Gateway Starter (Dual OPC UA & OPC DA) ===");
    
                // 1. Khởi tạo TagDatabase & Modbus Driver
                var tagDatabase = new TagDatabase();
                
                // Đăng ký danh sách Tag
                tagDatabase.AddTag(new TagDefinition("Line1.Temperature", "Modbus1", "holding:0", TagDataType.Int16, true));
                tagDatabase.AddTag(new TagDefinition("Line1.Speed", "Modbus1", "holding:1", TagDataType.Int16, true));
    
                // 2. Kích hoạt COM Server cho OPC DA (Giống Kepware)
                OpcDaComServer.Initialize(tagDatabase);
    
                try
                {
                    // Đăng ký Class COM vào Windows Registry (Yêu cầu quyền Administrator ở lần đầu)
                    RegistrationServices regServices = new RegistrationServices();
                    regServices.RegisterTypeForComClients(typeof(OpcDaComServer), RegistrationFlags.SetCodeBase);
                    Console.WriteLine("[Thanh Cong] Da dang ky ProgID: 'OpcGateway.Server.1' vao Windows Registry.");
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"[Loi Registry] Can chay app voi quyen Administrator: {ex.Message}");
                }
    
                // 3. Khởi chạy vòng lặp Poll Tag từ Modbus Slave
                // ... (Code poll Modbus hiện tại của bạn) ...
    
                Console.WriteLine("\nGateway dang chay. Nhan Enter de dung...");
                Console.ReadLine();
            }
        }
    }
    

    3. Cách sử dụng trên ứng dụng SCADA C# (sql_Connect)

    Bây giờ, trong project SCADA C# (sql_Connect), thay vì kết nối tới Kepware, bạn gọi trực tiếp Gateway C# của mình:

    C#
    // Đọc danh sách Tag từ file tags.txt như file class_KEPServerEX.cs của bạn
    List<string> tagList = class_KEPServerEX.LoadTagList();
    
    // Kết nối tới OpcGatewayStarter qua COM Interop
    Type opcType = Type.GetTypeFromProgID("OpcGateway.Server.1");
    dynamic opcServer = Activator.CreateInstance(opcType);
    
    opcServer.Connect("OpcGateway.Server.1");
    
    // Đọc giá trị Tag từ Gateway C#
    object tempValue = opcServer.ReadTag("Line1.Temperature");
    Console.WriteLine($"Gia tri Temperature tu Gateway: {tempValue}");
    
    Lưu ý quan trọng khi biên dịch
    1. Trong thuộc tính Project của OpcGateway.Server $\rightarrow$ chọn mục Build $\rightarrow$ tích chọn Register for COM interop.

    2. Phải chạy Visual Studio hoặc file .exe dưới quyền Run as Administrator ở lần đầu tiên để C# có quyền ghi ProgID OpcGateway.Server.1 vào Windows Registry.

    Nội dung chính
      0 Nhận xét
      Tags: OPC

      Cùng chuyên mục

      Liên hệ quảng cáo

      Tin mới

        Liên hệ (Contact)

        Tên

        Email *

        Thông báo *

        Tìm kiếm (SEARCH)

        Main Tags

        • ADROID
        • Affiliate + Dropshipping
        • AGC
        • AI
        • analog
        • Apk adroid
        • âm nhạc
        • Âm thanh
        • Âm Thanh Xe Hơi
        • bản đồ địa chính
        • Bản tin xã Vĩnh Kiên
        • Bảo dưỡng xe MG
        • bảo hiểm
        • Bảo vệ môi Trường
        • beckhoff
        • bể phốt
        • Bệnh
        • biến áp xung
        • Biến áp xuyến
        • Biến tần
        • Biến tần KDE300A
        • biến tần Schneider
        • Biến tần Simens
        • biến tần yaskawa
        • blogspot
        • bộ hòa
        • bồn cầu
        • C#
        • C53 realme
        • các nhà phân phối
        • cad electrical 2019
        • cải tạo
        • cài win
        • camera
        • Chào mừng 8/3
        • Chat gpt
        • Chăm sóc sắc đẹp
        • chế tạo biến tần
        • Chi Bộ
        • Chi Đoàn
        • chỉ huy trưởng
        • chìa
        • Chìa khóa thành công
        • chung tay
        • chuyển đổi số
        • chuyên gia
        • CODE WIN CC
        • CODESYS
        • com ảo
        • Công Đoàn
        • công tác hội
        • Cơ điện tử
        • cp1243-7
        • Crack tia
        • dao diện tia
        • Dạy con ngoan giỏi
        • Dạy con thông minh
        • Dây điện từ
        • DCS
        • Dịch vụ
        • driver
        • Dso138
        • Dự án
        • Đảng - Đoàn thể
        • Đánh bóng ô tô
        • Đào tạo nghề
        • Đào tạo vận hành
        • đẩu tư Bất động sản
        • đầu tư tài chính
        • Điện
        • Điện trở
        • Điện tử công suất
        • điện tường
        • điều khiển nhiệt độ
        • điều tốc
        • Đồ điện sửa chữa
        • Động cơ điện 1 pha
        • Động cơ điện 3 pha
        • Động cơ mua bán
        • động cơ vạn năng
        • đục tường
        • encoder
        • encore
        • Enigma Protector
        • Excel
        • Facebook
        • factory io
        • fasstAPI
        • faststone capture
        • fuxa
        • game đế chế
        • Gia Đình
        • Góc học tập và làm theo lời Bác
        • GOV
        • grafana
        • graphana
        • hàn nhiệt
        • hàn ống
        • Hantek 2c42
        • HIK
        • HMI
        • hmi delta
        • hmi simnes
        • HMI Wedcon
        • Học chức danh
        • học tiếng anh
        • Hội thi
        • IEC
        • IEC 104
        • iec61850
        • IGBT
        • INVT
        • karaoke
        • Kaspersky Internet Security
        • KEP OPC
        • kepopc
        • key win cc oa
        • Khí cụ điện
        • khởi động mềm
        • khởi nghiệp
        • Kích
        • Kích cá
        • km
        • làm đẹp
        • Làm kinh tế giỏi
        • Lập công ty
        • lập trình zen
        • Lịch làm việc
        • Lịch sự
        • liệt não
        • Link kiện điện tử
        • logo simens
        • Lỗi phạt ô tô
        • mạch âm thanh
        • Mạch băm xung
        • Mạch nguồn xung
        • mạch nồi cơm
        • mạng
        • Máy biến áp
        • máy cắt
        • máy giặt
        • máy hàn
        • máy hàn chip
        • máy hàn tig wp 300
        • Máy lọc dầu
        • Máy phát điện
        • Máy phát điện xăng
        • máy tính
        • MG zs
        • Microstation SE
        • mobus
        • MODBUS
        • Module phát âm thanh MP3 DY-SV5W
        • mqtt
        • mua ô tô
        • mường hum
        • My Music
        • nart port
        • nậm ban2
        • next.js
        • nhẫn nhịn
        • node js
        • Note js
        • Nông thôn mới
        • odoo
        • OPC
        • opc. matrikon
        • OpenVPN
        • ổn áp
        • pdf
        • phân loại rác
        • Phật dạy
        • phong trào
        • Pid
        • PLC
        • plc abb
        • plc delta
        • Plc emerson
        • plc GE
        • plc LS
        • Plc Mitsubishi
        • PLC Mitsubishi FX1N
        • plc s7 200
        • plc s71200
        • PLC Schneider
        • plc sim avanced
        • plc simens
        • python
        • quản trị tài chính
        • Rapid SCADA
        • Raspberry Pi
        • remote destrop
        • Rơ le bảo vệ
        • Rơ le CMC và studio PSL
        • S7 1200
        • S7 200
        • S7300
        • Sách
        • sách tổ tự động
        • sát hạch lái xe
        • SCR
        • secvo
        • SERVO
        • Sheet nhạc
        • Sim mới
        • sơ đồ bếp từ
        • sơn ô tô
        • SQL server
        • SSR
        • Step ĐC
        • Sửa chữa dc
        • sức khỏe
        • Sưu tầm
        • Tai biến
        • tài khoản Simens
        • Tài liệu kỹ thuật
        • Tailscale
        • Tâm lý
        • Teamviewer
        • tenten
        • thái độ
        • thay bo mạch
        • thay đổi góc nhìn
        • Thể thao
        • thi an toàn
        • Thi đua - Khen thưởng
        • thị trường điện
        • thingboard
        • thingsboard
        • Thông tin đấu thầu
        • Thông tin xử phạt
        • Thời sự
        • thời tiết
        • Thủ thuật máy tính
        • thủy điện
        • thyristor
        • TIA V13 SP2 pro
        • TIA V14
        • tia v15
        • Tia v16
        • Tia V17
        • tia V21
        • Tin tức - Sự kiện
        • tivi
        • touchpad-blocker
        • trạm phát thanh
        • TRIANGLE IEC
        • Trồng cây mừng Đảng mừng xuân 2024
        • tủ điện
        • Tủ lạnh
        • uctra_iso
        • Văn bản - Tài liệu
        • VBS
        • Video
        • Video động. Cơ điện
        • Video quấn động cơ điện
        • vmware
        • Vòng bi
        • vpn
        • Web
        • websever S7 1200
        • wifi
        • wincc
        • WinCC Unified
        • Wondershare Filmora
        • woodwoard
        • word
        • WPF
        • wwin cc
        • xây dựng
        • xây nhà tầng 2
        • xe 2025
        • xe ô tô
        • xem tuổi xây nhà
        • Xiaozhi
        • youtube
        • zenon
        • zoho mail

        Thời tiết hiện tại

        Chat hỗ trợ
        Chat ngay

        Lịch làm việc

          Thông báo

          • Nông thôn mới
          • Phong trào
          • Công tác hội
          • Chăm sóc sắc đẹp
          • Chuyển đổi số

          Đọc nhiều

          • EPLAN Electric P8 - Hướng dẫn cài đặt - Full Crack (Electric P8, Pro Panel)
            EPLAN Electric P8 - Hướng dẫn cài đặt - Full Crack (Electric P8, Pro Panel)
            04 thg 1, 2021

              EPLAN Electric P8  cung cấp khả năng không giới hạn để thiết kế, phác thảo, phát triển tài liệu dự án và quản lý các dự án tự động hóa. Xâ...

          • HƯỚNG DẪN TẢI VÀ CÀI ĐẶT PHẦN MỀM LẬP TRÌNH PLC MITSUBISHI GX WORK 3
            HƯỚNG DẪN TẢI VÀ CÀI ĐẶT PHẦN MỀM LẬP TRÌNH PLC MITSUBISHI GX WORK 3
            12 thg 1, 2021

              Phần mềm nâng cấp lên từ phần mềm GX Work 2, Lập trình đượcc cho FX5U, có thêm công cụ check lỗi debug, bảo mật cao hơn, hỗ trợ cấu hình t...

          • các phần mềm com ảo
            các phần mềm com ảo
            14 thg 10, 2025

             Rất hay 👍 bạn đang quan tâm đến các phần mềm mô phỏng cổng COM (Virtual Serial Port) — dùng để giả lập kết nối RS232/RS485, test truyền n...

          • Bắt đầu chương trình bên ngoài với GUI từ WinCC Unified PC Runtime
            Bắt đầu chương trình bên ngoài với GUI từ WinCC Unified PC Runtime
            05 thg 9, 2024

              Làm thế nào để khởi động một chương trình bên ngoài bằng GUI từ WinCC Unified PC Runtime? 1. Yêu cầu 2. Thủ tục     2.1 Kích hoạt "Mở...

          • Tìm hiểu cơ bản về nguồn xung .
            Tìm hiểu cơ bản về nguồn xung .
            18 thg 9, 2022

              Tìm hiểu cơ bản về nguồn xung . Với nền công nghiệp phát triển 4.0 như bây giờ thì các bạn sẽ không ngạc nhiên gì khi những thiết bị điện ...

          • PLC S7 200_Bài 9: Bộ định thời (Time)
            PLC S7 200_Bài 9: Bộ định thời (Time) 1
            21 thg 5, 2021

              POSTED ON  THÁNG BA 25, 2019  BY  DAMIN 9.    Bộ định thời (Time)    9.1    Giới thiệu Bộ định thời được sử dụng trong các yêu cầu điều kh...

          Có thể bạn quan tâm

            Ban biên tập

            Thế Hương

            ........

            ...........

            Thống kê

            Số người truy cập: Tổng lượt truy cập:
            Liên hệ quảng cáo
            Trang chủ
            Hotline: 0989.000.420
            Liên hệ
            RSS
            Lên đầu trang

            Cơ điện Huế Hương - Yên Bình -Yên Bái

            Địa chỉ: Xã Vĩnh Kiên - Yên Bình - Yên Bái
            Email: vuhuong.tbc@gmail.com
            Liên hệ: 0989000420

            Template blogspot bán hàng và bất động sản