• 大小: 11.37MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-08-05
  • 语言: C#
  • 标签: OPCUA  c#  Wincc  

资源简介

相信我,这应该是最全最全的 C#通过opc ua 协议连接plc的项目和文档资料了!如果又不明白的可浏览我的博客,有相关的介绍和使用,欢迎交流讨论。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OPCAutomation;
namespace OPCtest4
{
    public partial class Form1 : Form
    {
        OPCServer KepServer;
        OPCGroups KepGroups;
        OPCGroup KepGroup;
        OPCItems KepItems;
        OPCItem KepItem;
        bool opc_connected = false;//连接状态
        int itmHandleClient = 0;//客户端的句柄,句柄即控件名称,如“张三”,用来识别是哪个具体的对象此处可理解为每个节点的编号
        int itmHandleServer = 0;//服务器的句柄
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender EventArgs e)
        {
            GetLocalServer();
        }

        /// 
        /// 获取本地的OPC服务器名称
        /// 

        public void GetLocalServer()
        {
            IPHostEntry host = Dns.GetHostEntry(“127.0.0.1“);
            var strHostName = host.HostName;
            try
            {
                KepServer = new OPCServer();
                object serverList = KepServer.GetOPCServers(strHostName);

                foreach (string turn in (Array)serverList)
                {
                    cmbServerName.Items.Add(turn);
                }

                cmbServerName.SelectedIndex = 0;
                btnConnServer.Enabled = true;
            }
            catch (Exception err)
            {
                MessageBox.Show(“枚举本地OPC服务器出错:“ + err.Message “提示信息“ MessageBoxButtons.OK MessageBoxIcon.Warning);
            }
        }


        /// 
        /// “连接“按钮点击事件
        /// 

        /// 
        /// 
        private void BtnConnServer_Click(object sender EventArgs e)
        {
            try
            {
                if (!ConnectRemoteServer(txtRemoteServerIP.Text cmbServerName.Text))
                {
                    return;
                }

                btnSetGroupPro.Enabled = true;

                opc_connected = true;

                GetServerInfo();

                RecurBrowse(KepServer.CreateBrowser());

                if (!CreateGroup())
                {
                    return;
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(“初始化出错:“ + err.Message “提示信息“ MessageBoxButtons.OK MessageBoxIcon.Warning);
            }
        }


        /// 
        /// 连接服务器
        /// 

        /// 服务器IP
        /// 服务器名称
        /// 
        public bool ConnectRemoteServer(string remoteServerIP string remoteServerName)
        {
            try
            {
                KepServer.Connect(remoteServ

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-02-28 15:14  OPC\
     文件      537499  2020-02-25 18:02  OPC\C#实现OPC访问.pdf
     目录           0  2020-02-28 15:12  OPC\OPC_UA\
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\bin\
     文件       90112  2009-07-03 14:39  OPC\OPC_UA\OPC_UA_CODE_v10\bin\Opc.Ua.Client.dll
     文件     2589184  2009-07-03 14:39  OPC\OPC_UA\OPC_UA_CODE_v10\bin\Opc.Ua.Core.dll
     文件       55296  2010-04-30 11:12  OPC\OPC_UA\OPC_UA_CODE_v10\bin\Siemens.OpcUA.Client.exe
     文件       22528  2010-04-30 11:12  OPC\OPC_UA\OPC_UA_CODE_v10\bin\Siemens.OpcUA.SimpleClient.exe
     文件       18944  2010-04-30 11:12  OPC\OPC_UA\OPC_UA_CODE_v10\bin\Siemens.OpcUA.dll
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\
     文件       40444  2010-04-30 11:03  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\ClientAPI.cs
     文件        3087  2010-02-16 09:40  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\ClientAPI.csproj
     文件        1727  2010-04-30 11:03  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\ClientDiscovery.cs
     文件        4351  2010-04-30 11:03  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\ClientSubscription.cs
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\Properties\
     文件         841  2010-04-30 10:56  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\Properties\AssemblyInfo.cs
     文件        8472  2009-12-14 10:49  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\Properties\Helpers.cs
     文件         120  2009-08-18 08:48  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\app.config
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\bin\
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\bin\Debug\
     文件       90112  2009-07-03 14:39  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\bin\Debug\Opc.Ua.Client.dll
     文件     2589184  2009-07-03 14:39  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\bin\Debug\Opc.Ua.Core.dll
     文件       20480  2020-02-27 16:43  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\bin\Debug\Siemens.OpcUA.dll
     文件       36352  2020-02-27 16:43  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\bin\Debug\Siemens.OpcUA.pdb
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\obj\
     目录           0  2020-02-28 15:12  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\obj\Debug\
     文件         809  2020-02-27 16:43  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\obj\Debug\ClientAPI.csproj.FileListAbsolute.txt
     文件       44420  2020-02-27 16:43  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\obj\Debug\ResolveAssemblyReference.cache
     文件       20480  2020-02-27 16:43  OPC\OPC_UA\OPC_UA_CODE_v10\src\ClientAPI\obj\Debug\Siemens.OpcUA.dll
............此处省略839个文件信息

评论

共有 条评论