Exemplo n.º 1
0
        private void btnWriteMultipleRegisters_Click(object sender, EventArgs e)
        {
            try
            {
                if (!modbusClient.Connected)
                {
                    modbusClient.IPAddress = txtIpAddressInput.Text;
                    modbusClient.Port      = int.Parse(txtPortInput.Text);
                    modbusClient.Connect();
                }

                int[] registersToSend = new int[lsbAnswerFromServer.Items.Count];

                for (int i = 0; i < lsbAnswerFromServer.Items.Count; i++)
                {
                    registersToSend[i] = int.Parse(lsbAnswerFromServer.Items[i].ToString());
                }


                modbusClient.WriteMultipleRegisters(int.Parse(txtStartingAddressInput.Text) - 1, registersToSend);
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Exception writing values to Server", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                modbusClient.Disconnect();
            }
        }
Exemplo n.º 2
0
 public static void sendDate()
 {
     int[] data = new int[7];
     data[0] = 1;
     data[1] = DateTime.Now.Year;
     data[2] = DateTime.Now.Month;
     data[3] = DateTime.Now.Day;
     data[4] = DateTime.Now.Hour;
     data[5] = DateTime.Now.Minute;
     data[6] = DateTime.Now.Second;
     try
     {
         PLC.WriteMultipleRegisters(84, data);
     }
     catch (EasyModbus.Exceptions.ModbusException e) {
         GVL.readexc = true;
         MessageBox.Show("Error Write Date : " + e.Message, "Info", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            int[]      registers  = EasyModbus.ModbusClient.ConvertStringToRegisters("hello");
            SerialPort serialport = new SerialPort("COM3");

            /*          serialport.PortName = "COM3";
             *        serialport.BaudRate = 9600;
             *        serialport.Parity = Parity.None;
             *        serialport.StopBits = StopBits.One;
             *        byte[] buffer = new byte[50];
             *        serialport.Open();
             *        byte[] bufferout = new byte[50];
             *        int numberOfBytesRead = 0;
             *        do
             *        {
             *            int quantity = serialport.Read(buffer, 0, 15);
             *            Buffer.BlockCopy(buffer, 0, bufferout, numberOfBytesRead, quantity);
             *            numberOfBytesRead = numberOfBytesRead + quantity;
             *        }
             *        while (numberOfBytesRead < 5);
             *        for (int i = 0; i < 15; i++)
             *        Console.WriteLine(bufferout[i].ToString());
             *        serialport.Write("ddddddddd");*/
            EasyModbus.ModbusClient modbusClient = new EasyModbus.ModbusClient("192.168.178.75", 502);
            modbusClient.Connect();
            //      Console.WriteLine("Execute FC5");
            //      modbusClient.WriteSingleCoil(0, true);
            //      Console.WriteLine("Execute FC6");
            //      modbusClient.WriteSingleRegister(0, 1234);
            //      Console.WriteLine("Execute FC15");
            //      modbusClient.WriteMultipleCoils(0, new bool[] { true, false, true, false, true, false, true });
            Console.WriteLine("Execute FC16");
            modbusClient.WriteMultipleRegisters(0, EasyModbus.ModbusClient.ConvertStringToRegisters("hallo2"));
            //     Console.WriteLine("Execute FC3");
            //     Console.WriteLine("Value of Holding Register 1000: " + modbusClient.ReadHoldingRegisters(1000, 1)[0]);

            Console.ReadKey();
        }
Exemplo n.º 4
0
        private void btnWriteMultipleRegisters_Click(object sender, EventArgs e)
        {
            try
            {
                if (!modbusClient.Connected)
                {
                    button3_Click(null, null);
                }

                int[] registersToSend = new int[lsbWriteToServer.Items.Count];

                for (int i = 0; i < lsbWriteToServer.Items.Count; i++)
                {
                    registersToSend[i] = int.Parse(lsbWriteToServer.Items[i].ToString());
                }


                modbusClient.WriteMultipleRegisters(int.Parse(txtStartingAddressOutput.Text) - 1, registersToSend);
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Exception writing values to Server", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }