Beispiel #1
0
        private static void LoadTestHandler()
        {
            string[] tags = new string[_tags.Count];
            _tags.Keys.CopyTo(tags, 0);

            OPCServiceClient.OPCServiceClient client = new OPCServiceClient.OPCServiceClient(_server, _port);
            if (client.Connect())
            {
                while (true)
                {
                    Random rand = new Random();
                    int    n    = rand.Next(0, tags.Length);
                    string tag  = tags[n];

                    if (DateTime.Now.Second % 2 == 0)
                    {
                        string value = client.GetValue(tag);
                        Console.WriteLine("read " + tag + "=" + value);
                    }
                    else
                    {
                        string value = (DateTime.Now.Millisecond).ToString();
                        client.SetValue(tag, value);
                        Console.WriteLine("write " + tag + "=" + value);
                    }

                    Thread.Sleep(_gap);
                }
            }
            else
            {
                Console.WriteLine("无法连接服务器");
            }
        }
        public bool Connect()
        {
            _client = new OPCServiceClient(this.Server, this.Port);
            _client.BadBlockDetected += _client_BadBlockDetected;
            bool ret = _client.Connect();

            if (!ret)
            {
                this.State      = ServiceState.Error;
                picStatus.Image = imageList1.Images["red.png"];
            }
            else
            {
                this.State      = ServiceState.OK;
                picStatus.Image = imageList1.Images["green.png"];
            }
            return(ret);
        }
Beispiel #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (btnConnect.Text == "连接")
            {
                btnConnect.Enabled = false;
                if (client == null)
                {
                    client = new OPCServiceClient.OPCServiceClient(txtServer.Text, int.Parse(txtPort.Text));
                }

                client.Server            = txtServer.Text;
                client.Port              = int.Parse(txtPort.Text);
                client.BadBlockDetected += Client_BadBlockDetected;


                if (!client.Connect())
                {
                    MessageBox.Show("连接到服务器失败!");
                    btnConnect.Enabled = true;
                    return;
                }

                btnConnect.Text       = "断开";
                txtServer.Enabled     = false;
                txtPort.Enabled       = false;
                btnAddItem.Enabled    = true;
                btnRemoveitem.Enabled = true;
                timer1.Start();
            }
            else if (btnConnect.Text == "断开")
            {
                client.Disconnect();
                btnConnect.Text       = "连接";
                txtServer.Enabled     = true;
                txtPort.Enabled       = true;
                btnAddItem.Enabled    = false;
                btnRemoveitem.Enabled = false;
                timer1.Stop();
            }
            btnConnect.Enabled = true;
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            OPCServiceClient.OPCServiceClient client = new OPCServiceClient.OPCServiceClient("127.0.0.1", 9100);

            client.BadBlockDetected += Client_BadBlockDetected;
            if (client.Connect())
            {
                client.SetValue("tag1", "1");
                string tagValue1 = client.GetValue("tag1");

                Dictionary <string, string> dic = new Dictionary <string, string>();
                dic.Add("tag2", "20");
                dic.Add("tag3", "0");
                client.SetValues(dic);

                dic = client.GetValues(new List <string>()
                {
                    "tag2", "tag3"
                });
                client.Disconnect();
            }
        }