• 大小: 1.69MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: C#
  • 标签: c#  OPC  PLC  

资源简介

C#通过OPC连接PLC读写数据源码 C#通过OPC服务器连接PLC读写数据.doc OPC客户端演示.avi 软件界面截图.png OPC_Client 源码

资源截图

代码片段和文件信息

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

namespace OPC_Client
{
    public partial class Form1 : Form
    {
        OPCServer objServer;
        OPCGroups objGroups;
        OPCGroup objGroup;
        OPCItems objItems;
        Array strItemIDs;
        Array lClientHandles;
        Array lserverhandles;
        Array lErrors;
      //  int ltransID_Rd = 1;
       // int lCancelID_Rd;
       object RequestedDataTypes = null;
        object AccessPaths = null;
     //   Array lerrors_Rd;
        Array lErrors_Wt;
        int lTransID_Wt = 2;
        int lCancelID_Wt;
        public Form1()
        {
            InitializeComponent();
        }


        //连接opc server
        private void button1_Click(object sender EventArgs e)
        {
            //(1)创建opc server对象
            objServer = new OPCServer();
            //连接opc server
            objServer.Connect(“KEPware.KEPServerEx.V4“ null);
            //(2)建立一个opc组集合
            objGroups = objServer.OPCGroups;
            //(3)建立一个opc组
            objGroup = objGroups.Add(null); //Group组名字可有可无
            //(4)添加opc标签
            objGroup.IsActive = true; //设置该组为活动状态,连接PLC时,设置为非活动状态也一样
            objGroup.IsSubscribed = true; //设置异步通知
            objGroup.UpdateRate = 250;
            objServer.OPCGroups.DefaultGroupDeadband = 0;
            objGroup.DataChange += new DIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange);
           // objGroup.AsyncReadComplete += new DIOPCGroupEvent_AsyncReadCompleteEventHandler(AsyncReadComplete);
            objGroup.AsyncWriteComplete += new DIOPCGroupEvent_AsyncWriteCompleteEventHandler(AsyncWriteComplete);
            objItems = objGroup.OPCItems; //建立opc标签集合
            string[] tmpIDs = new string[7];
            int[] tmpCHandles = new int[7];
            for (int i = 1; i < 7; i++)
            {
                tmpCHandles[i] = i;
            }
            tmpIDs[1] = “西门子S7-300.PLC.系统启动开关“;
            tmpIDs[2] = “西门子S7-300.PLC.机械手启动开关“;
            tmpIDs[3] = “西门子S7-300.PLC.M1电动机“;
            tmpIDs[4] = “西门子S7-300.PLC.机械手“;
            tmpIDs[5] = “西门子S7-300.PLC.温度“;
            tmpIDs[6] = “西门子S7-300.PLC.湿度“;
            strItemIDs = (Array)tmpIDs;//必须转成Array型,否则不能调用AddItems方法
            lClientHandles = (Array)tmpCHandles;
            // 添加opc标签
            objItems.AddItems(6 ref strItemIDs ref lClientHandles out lserverhandles out lErrors RequestedDataTypes AccessPaths);
        }


        //结束并断开opc server
        private void button4_Click(object sender EventArgs e)
        {
            objServer.Disconnect();
            //关闭kepserver进程,这个跟OPC操作无关
            /*
            foreach ( Process oneProcess in Process.GetPr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1267200  2014-07-08 21:22  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\C#通过OPC服务器连接PLC读写数据.doc

     文件      18432  2014-05-28 21:33  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\bin\Debug\OPC_Client.exe

     文件      28160  2014-05-28 21:33  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\bin\Debug\OPC_Client.pdb

     文件      11600  2014-05-28 21:38  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\bin\Debug\OPC_Client.vshost.exe

     文件        490  2010-03-17 22:39  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\bin\Debug\OPC_Client.vshost.exe.manifest

     文件          1  2014-05-28 18:37  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\ClassDiagram1.cd

     文件       7052  2014-05-28 21:33  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Form1.cs

     文件      13202  2014-05-28 21:19  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Form1.Designer.cs

     文件       5817  2014-05-28 21:19  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Form1.resx

     文件       6570  2014-05-28 21:33  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        376  2014-05-28 21:19  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\GenerateResource.read.1.tlog

     文件        862  2014-05-28 21:19  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\GenerateResource.write.1.tlog

     文件      28672  2014-05-28 19:24  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\Interop.OPCAutomation.dll

     文件       1337  2014-05-28 21:38  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.csproj.FileListAbsolute.txt

     文件        723  2014-05-28 19:24  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.csproj.ResolveComReference.cache

     文件      18432  2014-05-28 21:33  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.exe

     文件        180  2014-05-28 21:19  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.Form1.resources

     文件      28160  2014-05-28 21:33  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.pdb

     文件        180  2014-05-28 19:27  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.Properties.Resources.resources

     文件       4099  2014-05-28 19:27  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\OPC_Client.csproj

     文件        491  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Program.cs

     文件       1360  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Properties\AssemblyInfo.cs

     文件       2870  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Properties\Resources.Designer.cs

     文件       5612  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Properties\Resources.resx

     文件       1095  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Properties\Settings.Designer.cs

     文件        249  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client\Properties\Settings.settings

     文件        872  2014-05-28 18:36  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client.sln

    ..A..H.     26112  2014-05-28 21:38  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC_Client\OPC_Client.suo

     文件     706486  2014-05-28 21:38  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\OPC客户端演示.avi

    ..A..H.       162  2019-11-12 21:50  0237 C#通过OPC连接PLC读写数据源码\C#通过OPC连接PLC读写数据\~$通过OPC服务器连接PLC读写数据.doc

............此处省略15个文件信息

评论

共有 条评论