private ModbusAscii modbus = new ModbusAscii( ); // 实例化 private void CoilExample( ) { // 读取线圈示例 bool coil100 = modbus.ReadCoil("100").Content; // 判断是否读取成功 OperateResult <bool> result_coil100 = modbus.ReadCoil("100"); if (result_coil100.IsSuccess) { // success bool value = result_coil100.Content; } else { // failed } // 假设读取站号10的线圈100的值 bool coil_station_ten_100 = modbus.ReadCoil("s=10;100").Content; // ============================================================================================= // 写入也是同理,线圈100写通 modbus.WriteCoil("100", true); // 站号10的线圈写通 modbus.WriteCoil("s=10;100", true); // 想要判断是否写入成功 if (modbus.WriteCoil("s=10;100", true).IsSuccess) { // success } else { // failed } // =========================================================================================== // 批量读写也是类似,批量的读取 bool[] coil10_19 = modbus.ReadCoil("100", 10).Content; // 写入也是同理 modbus.WriteCoil("100", new bool[] { true, false, true, false, false, false, true, false, false, false }); // 离散输入的数据读取同理 }
private void button24_Click(object sender, EventArgs e) { // bool写入 try { DemoUtils.WriteResultRender(busAsciiClient.WriteCoil(textBox8.Text, bool.Parse(textBox7.Text)), textBox8.Text); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public bool Write(string address, dynamic value) { if (value is bool) { busAsciiClient.WriteCoil(address, value); } else { busAsciiClient.Write(address, value); } return(true); }