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); }
private void button3_Click(object sender, EventArgs e) { byte.TryParse(txt_stationNumber.Text?.Trim(), out byte stationNumber); if (string.IsNullOrWhiteSpace(txt_address.Text)) { MessageBox.Show("请输入地址"); return; } try { dynamic result = null; if (rd_bit.Checked) { result = client.ReadCoil(txt_address.Text, stationNumber); } else if (rd_short.Checked) { result = client.ReadInt16(txt_address.Text, stationNumber); } else if (rd_ushort.Checked) { result = client.ReadUInt16(txt_address.Text, stationNumber); } else if (rd_int.Checked) { result = client.ReadInt32(txt_address.Text, stationNumber); } else if (rd_uint.Checked) { result = client.ReadUInt32(txt_address.Text, stationNumber); } else if (rd_long.Checked) { result = client.ReadInt64(txt_address.Text, stationNumber); } else if (rd_ulong.Checked) { result = client.ReadUInt64(txt_address.Text, stationNumber); } else if (rd_float.Checked) { result = client.ReadFloat(txt_address.Text, stationNumber); } else if (rd_double.Checked) { result = client.ReadDouble(txt_address.Text, stationNumber); } if (result.IsSucceed) { txt_content.AppendText($"[{DateTime.Now.ToLongTimeString()}][读取 {txt_address.Text?.Trim()} 成功]:{result.Value}\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); } }