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 });


            // 离散输入的数据读取同理
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        public bool Write(string address, dynamic value)
        {
            if (value is bool)
            {
                busAsciiClient.WriteCoil(address, value);
            }
            else
            {
                busAsciiClient.Write(address, value);
            }

            return(true);
        }