• 大小: 7.91KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-04-29
  • 语言: C#
  • 标签: Server  PLC  连接  代码  

资源简介

【实例简介】该实例介绍一个简单的通过kepserver通过OPC 连接PLC的代码

【文件目录】

KepServer-OPC-connect-to-PLC-master

├── C# Code
├── OPC_PLC_Code1.cs
└── OPC_PLC_Code2.cs

0 directories, 3 files


资源截图

代码片段和文件信息

///摘要
///程式使用C#.NET 2005 编写
///引用类库OPCDAAuto.dll
///OPCServer采用KEPWare
///在windows xp sp2、sp3、windows 2003上测试通过
///完成于:2008年12月31日
///测试于:2009年01月05日
///
///作者:潇洒草
///Email:zhkai868@163.com
///QQ:44649029
/// 
///如分发,请保留此摘要。
///鄙视那些拿代码当宝贝的人,鄙视那些你不拿源码换就不稀罕你的人,鄙视那些自私的人。
///别人看到你的代码,你能死啊?对你有多大威胁啊?强烈鄙视~~~
///如果你是这样的人,赶紧关了。。偶不欢迎。。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Collections;
using OPCAutomation;
namespace OPC测试通过
{
    public partial class MainFrom : Form
    {
        public MainFrom()
        {
            InitializeComponent();
        }
        #region 私有变量
        /// 
        /// OPCServer object
        /// 

        OPCServer KepServer;
        /// 
        /// OPCGroups object
        /// 

        OPCGroups KepGroups;
        /// 
        /// OPCGroup object
        /// 

        OPCGroup KepGroup;
        /// 
        /// OPCItems object
        /// 

        OPCItems KepItems;
        /// 
        /// OPCItem object
        /// 

        OPCItem KepItem;
        /// 
        /// 主机IP
        /// 

        string strHostIP = ““;
        /// 
        /// 主机名称
        /// 

        string strHostName = ““;
        /// 
        /// 连接状态
        /// 

        bool opc_connected = false;
        /// 
        /// 客户端句柄
        /// 

        int itmHandleClient = 0;
        /// 
        /// 服务端句柄
        /// 

        int itmHandleServer = 0;
        #endregion
        #region 方法
        /// 
        /// 枚举本地OPC服务器
        /// 

        private void GetLocalServer()
        {
            //获取本地计算机IP计算机名称
            IPHostEntry IPHost = Dns.Resolve(Environment.MachineName);
            if (IPHost.AddressList.Length > 0)
            {
                strHostIP = IPHost.AddressList[0].ToString();
            }
            else
            {
                return;
            }
            //通过IP来获取计算机名称,可用在局域网内
            IPHostEntry ipHostEntry = Dns.GetHostByAddress(strHostIP);
            strHostName=ipHostEntry.HostName.ToString();
            //获取本地计算机上的OPCServerName
            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.OKMessageBoxIcon.Warning);
            }
        }
        /// 

        /// 创建组
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-08 03:47  KepServer-OPC-connect-to-PLC-master\
     文件         154  2017-12-08 03:47  KepServer-OPC-connect-to-PLC-master\C# Code
     文件       12880  2017-12-08 03:47  KepServer-OPC-connect-to-PLC-master\OPC_PLC_Code1.cs
     文件       15035  2017-12-08 03:47  KepServer-OPC-connect-to-PLC-master\OPC_PLC_Code2.cs

评论

共有 条评论