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