技术论坛

 【分享】自己编写的C#访问OPC库(自动化接口)

返回主题列表
作者 主题
HUO1921
侠圣

经验值:2314
发帖数:157
精华帖:6
楼主    2016-06-29 13:51:32
主题:【分享】自己编写的C#访问OPC库(自动化接口)

系统:Windows 7旗舰版

软件:Visual Studio2010

      SIMATIC_NET_8.2

测试图片:

测试代码:

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 System.Net;


namespace OPCHelper

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        OPCHelper oPCHelper;


        private void Form1_Load(object sender, EventArgs e)

        {

            IPHostEntry IPHost = Dns.Resolve(Environment.MachineName);

            string strIP;

            strIP = IPHost.AddressList[0].ToString();

            oPCHelper = new OPCHelper(strIP, "OPC.SimaticNET", 10, "S7:[S7 Connection_1]");

            if (oPCHelper.Connected)

            {

                oPCHelper.AddItems("Start","Stop", "Start2");

                oPCHelper.AddItems("Pump1", "Pump2");

                oPCHelper.AddItems("Num1", "Num2", "Num3", "Num4");

                oPCHelper.AddItems("DB1,INT266", "DB1,INT268", "DB1,INT270", "DB1,INT272");

            }

            else

                Application.Exit();

        }


        private void timer1_Tick(object sender, EventArgs e)

        {

            if (oPCHelper.Connected)

            {


                btn_Pump1.BackColor = oPCHelper["Pump1"].ToLower() == "true" ? Color.Green: Color.Gray;

                btn_Pump2.BackColor = oPCHelper["Pump2"].ToLower() == "true" ? Color.Green : Color.Gray;

                txt_RNum1.Text = oPCHelper["Num1"];

                txt_RNum2.Text = oPCHelper["Num2"];

                txt_RNum3.Text = oPCHelper["Num3"];

                txt_RNum4.Text = oPCHelper["Num4"];

                txt_RNum5.Text = oPCHelper["DB1,INT266"];

                txt_RNum6.Text = oPCHelper["DB1,INT268"];

                txt_RNum7.Text = oPCHelper["DB1,INT270"];

                txt_RNum8.Text = oPCHelper["DB1,INT272"];

            }

        }


        private void btn_Start_MouseDown(object sender, MouseEventArgs e)

        {

            oPCHelper["Start"] = Convert.ToString(1);

        }


        private void btn_Start_MouseUp(object sender, MouseEventArgs e)

        {

            oPCHelper["Start"]= Convert.ToString(0);

        }


        private void btn_Stop_MouseDown(object sender, MouseEventArgs e)

        {

            oPCHelper["Stop"] = Convert.ToString(1);

        }


        private void btn_Stop_MouseUp(object sender, MouseEventArgs e)

        {

            oPCHelper["Stop"] = Convert.ToString(0);

        }


        private void btn_Start2_Click(object sender, EventArgs e)

        {

            if (oPCHelper.Contains("Start2"))

            {

                if (!Convert.ToBoolean(oPCHelper["Start2"]))

                    oPCHelper["Start2"] = Convert.ToString(1);

                else

                    oPCHelper["Start2"] = Convert.ToString(0);

            }

        }


        private void btn_Write_Click(object sender, EventArgs e)

        {

            oPCHelper[txt_WName1.Text]=txt_WValue1.Text;

            oPCHelper[txt_WName2.Text] = txt_WValue2.Text;

            oPCHelper[txt_WName3.Text] = txt_WValue3.Text;

            oPCHelper[txt_WName4.Text] = txt_WValue4.Text;

        }


        private void Form1_FormClosing(object sender, FormClosingEventArgs e)

        {

            oPCHelper.Dispose();

        }


        private void btn_RemoveItems_Click(object sender, EventArgs e)

        {

            oPCHelper.RemoveItems(txt_ItemRemoved.Text);

        }


        private void btn_AddItems_Click(object sender, EventArgs e)

        {

            oPCHelper.AddItems(txt_ItemsAdded.Text);

        }

    }

}


hongxi-002@qq.com
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。