コード例 #1
0
 private void but_open_Click(object sender, EventArgs e)
 {
     try
     {
         client?.Close();
         client = new MitsubishiClient(txt_ip.Text?.Trim(), int.Parse(txt_port.Text.Trim()));
         var result = client.Open();
         if (!result.IsSucceed)
         {
             MessageBox.Show($"连接失败:{result.Err}");
         }
         else
         {
             but_read.Enabled     = true;
             but_write.Enabled    = true;
             but_open.Enabled     = false;
             but_close.Enabled    = true;
             but_sendData.Enabled = true;
             AppendText($"连接成功");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
コード例 #2
0
 private void but_open_Click(object sender, EventArgs e)
 {
     Task.Run(() =>
     {
         try
         {
             but_open.Text = "连接中...";
             client?.Close();
             client     = new MitsubishiClient(version, txt_ip.Text?.Trim(), int.Parse(txt_port.Text.Trim()));
             var result = client.Open();
             if (!result.IsSucceed)
             {
                 MessageBox.Show($"连接失败:{result.Err}");
             }
             else
             {
                 but_read.Enabled     = true;
                 but_write.Enabled    = true;
                 but_open.Enabled     = false;
                 but_close.Enabled    = true;
                 but_sendData.Enabled = true;
                 AppendText($"连接成功\t\t\t\t耗时:{result.TimeConsuming}ms");
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
         finally
         {
             but_open.Text = "连接";
         }
     });
 }
コード例 #3
0
        public void 批量读取(MitsubishiVersion version, int port)
        {
            client = new MitsubishiClient(version, ip, port);

            Dictionary <string, DataTypeEnum> readAddresses = new Dictionary <string, DataTypeEnum>();

            //readAddresses.Add("V2634.0", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.1", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.2", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.3", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.4", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.5", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.6", DataTypeEnum.Bool);
            //readAddresses.Add("V2634.7", DataTypeEnum.Bool);
            //readAddresses.Add("V2642", DataTypeEnum.Float);
            //readAddresses.Add("V2646", DataTypeEnum.Float);
            //readAddresses.Add("V2650", DataTypeEnum.Float);
            readAddresses.Add("D100", DataTypeEnum.Float);
            readAddresses.Add("D102", DataTypeEnum.Float);
            readAddresses.Add("D104", DataTypeEnum.Float);
            readAddresses.Add("D263", DataTypeEnum.Int16);
            readAddresses.Add("D265", DataTypeEnum.Int16);
            //readAddresses.Add("V2670", DataTypeEnum.Float);
            //readAddresses.Add("V2674", DataTypeEnum.Float);
            //readAddresses.Add("V1650", DataTypeEnum.Byte);
            //readAddresses.Add("V1651", DataTypeEnum.Byte);
            //readAddresses.Add("V1652", DataTypeEnum.Byte);

            var result = client.BatchRead(readAddresses, 10);
        }
コード例 #4
0
        public void 长连接主动开关(MitsubishiVersion version, int port)
        {
            client = new MitsubishiClient(version, ip, port);

            client.Open();

            ReadWrite();

            client?.Close();
        }
コード例 #5
0
        public void 批量读写(MitsubishiVersion version, int port)
        {
            client = new MitsubishiClient(version, ip, port);

            client.Open();

            Random rnd           = new Random((int)Stopwatch.GetTimestamp());
            short  short_number1 = (short)rnd.Next(short.MinValue, short.MaxValue);
            short  short_number2 = (short)rnd.Next(short.MinValue, short.MaxValue);
            short  short_number3 = (short)rnd.Next(short.MinValue, short.MaxValue);
            short  short_number4 = (short)rnd.Next(short.MinValue, short.MaxValue);
            short  short_number5 = (short)rnd.Next(short.MinValue, short.MaxValue);
            var    bool_value    = short_number1 % 2 == 1;

            client.Write("M100", !bool_value);
            client.Write("M101", !bool_value);
            client.Write("M102", bool_value);
            client.Write("M103", !bool_value);
            client.Write("M104", bool_value);

            var result = client.ReadBoolean("M100", 5);

            foreach (var item in result.Value)
            {
                if (item.Key == "M100" || item.Key == "M101" || item.Key == "M103")
                {
                    Assert.True(item.Value == !bool_value);
                }
                else
                {
                    Assert.True(item.Value == bool_value);
                }
            }

            client.Write("D100", short_number1);
            client.Write("D101", short_number2);
            client.Write("D102", short_number3);
            client.Write("D103", short_number4);
            client.Write("D104", short_number5);

            Assert.True(client.ReadInt16("D100").Value == short_number1);
            Assert.True(client.ReadInt16("D101").Value == short_number2);
            Assert.True(client.ReadInt16("D102").Value == short_number3);
            Assert.True(client.ReadInt16("D103").Value == short_number4);
            Assert.True(client.ReadInt16("D104").Value == short_number5);

            client?.Close();
        }
コード例 #6
0
        public void 短连接自动开关(MitsubishiVersion version, int port)
        {
            client = new MitsubishiClient(version, ip, port);

            ReadWrite();
        }