Exemplo n.º 1
0
        public async Task 短连接自动开关()
        {
            short Number = 33;

            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 34;
            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 1;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 1);
            Number = 0;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 0);
        }
Exemplo n.º 2
0
        public async Task 短连接自动开关()
        {
            short Number = 33;

            client.Write(4, Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16(4, stationNumber) == Number);

            Number = 34;
            client.Write(4, Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16(4, stationNumber) == Number);

            Number = 1;
            client.Write(12, Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16(12, stationNumber) == 1);
            Number = 0;
            client.Write(12, Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16(12, stationNumber) == 0);
        }
Exemplo n.º 3
0
        private void button4_Click(object sender, EventArgs e)
        {
            byte.TryParse(txt_stationNumber.Text?.Trim(), out byte stationNumber);
            if (string.IsNullOrWhiteSpace(txt_address.Text))
            {
                MessageBox.Show("请输入地址");
                return;
            }
            if (string.IsNullOrWhiteSpace(txt_value.Text))
            {
                MessageBox.Show("请输入值");
                return;
            }
            var result = client.Write(ushort.Parse(txt_address.Text), short.Parse(txt_value.Text?.Trim()), stationNumber);

            if (result.IsSucceed)
            {
                txt_content.AppendText($"[{DateTime.Now.ToLongTimeString()}][写入 {txt_address.Text?.Trim()} 成功]:OK\r\n");
            }
            else
            {
                txt_content.AppendText($"[{DateTime.Now.ToLongTimeString()}][写入 {txt_address.Text?.Trim()} 失败]:{result.Err}\r\n");
            }
        }
Exemplo n.º 4
0
        private void button4_Click(object sender, EventArgs e)
        {
            byte.TryParse(txt_stationNumber.Text?.Trim(), out byte stationNumber);
            if (string.IsNullOrWhiteSpace(txt_address.Text))
            {
                MessageBox.Show("请输入地址");
                return;
            }
            if (string.IsNullOrWhiteSpace(txt_value.Text))
            {
                MessageBox.Show("请输入值");
                return;
            }
            try
            {
                dynamic result = null;
                if (rd_bit.Checked)
                {
                    if (!bool.TryParse(txt_value.Text?.Trim(), out bool coil))
                    {
                        if (txt_value.Text?.Trim() == "0")
                        {
                            coil = false;
                        }
                        else if (txt_value.Text?.Trim() == "1")
                        {
                            coil = true;
                        }
                        else
                        {
                            MessageBox.Show("请输入 True 或 False");
                            return;
                        }
                    }
                    result = client.Write(txt_address.Text, coil, stationNumber);
                }
                else if (rd_short.Checked)
                {
                    result = client.Write(txt_address.Text, short.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_ushort.Checked)
                {
                    result = client.Write(txt_address.Text, ushort.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_int.Checked)
                {
                    result = client.Write(txt_address.Text, int.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_uint.Checked)
                {
                    result = client.Write(txt_address.Text, uint.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_long.Checked)
                {
                    result = client.Write(txt_address.Text, long.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_ulong.Checked)
                {
                    result = client.Write(txt_address.Text, ulong.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_float.Checked)
                {
                    result = client.Write(txt_address.Text, float.Parse(txt_value.Text?.Trim()), stationNumber);
                }
                else if (rd_double.Checked)
                {
                    result = client.Write(txt_address.Text, double.Parse(txt_value.Text?.Trim()), stationNumber);
                }


                if (result.IsSucceed)
                {
                    txt_content.AppendText($"[{DateTime.Now.ToLongTimeString()}][写入 {txt_address.Text?.Trim()} 成功]:{txt_value.Text?.Trim()} OK\r\n");
                }
                else
                {
                    txt_content.AppendText($"[{DateTime.Now.ToLongTimeString()}][写入 {txt_address.Text?.Trim()} 失败]:{result.Err}\r\n");
                }
                if (checkBox1.Checked)
                {
                    txt_content.AppendText($"[请求报文-写]{result.Requst}\r\n");
                    txt_content.AppendText($"[响应报文-写]{result.Response}\r\n");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public async Task 短连接自动开关()
        {
            short Number = 33;

            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 34;
            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 1;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 1);

            Number = 0;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 0);

            int numberInt32 = -12;

            client.Write("4", numberInt32, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt32("4", stationNumber).Value == numberInt32);

            float numberFloat = 112;

            client.Write("4", numberFloat, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadFloat("4", stationNumber).Value == numberFloat);

            double numberDouble = 32;

            client.Write("4", numberDouble, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadDouble("4", stationNumber).Value == numberDouble);
        }