private void btnWriteSingleRegister_Click(object sender, EventArgs e) { try { if (!modbusClient.Connected) { modbusClient.IPAddress = txtIpAddressInput.Text; modbusClient.Port = int.Parse(txtPortInput.Text); modbusClient.Connect(); } int registerToSend = 0; registerToSend = int.Parse(lsbAnswerFromServer.Items[0].ToString()); modbusClient.WriteSingleRegister(int.Parse(txtStartingAddressInput.Text) - 1, registerToSend); } catch (Exception exc) { MessageBox.Show(exc.Message, "Exception writing values to Server", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { modbusClient.Disconnect(); } }
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("COM3"); modbusClient.SerialPort = "COM3"; //EasyModbus.ModbusClient modbusClient = new EasyModbus.ModbusClient("127.0.0.1", 502); modbusClient.ConnectionTimeout = 5000; modbusClient.LogFileFilename = "test.txt"; modbusClient.UnitIdentifier = 0xF7; modbusClient.Connect(); while (true) { // 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")); //modbusClient.Disconnect(); //System.Threading.Thread.Sleep(100); //modbusClient.Connect(); //Console.WriteLine("Execute FC3"); //Console.WriteLine("Value of Holding Register 1000: " + modbusClient.ReadHoldingRegisters(1000, 1)[0]); Console.WriteLine("Read and Publish Input Registers"); modbusClient.WriteSingleRegister(60, 1234); int[] holdingRegister = modbusClient.ReadHoldingRegisters(60, 2); //Console.WriteLine(holdingRegister[0]); // System.Threading.Thread.Sleep(1000); } modbusClient.Disconnect(); Console.ReadKey(); }
public static void sendSingleRegister(int reg, int value) { try { PLC.WriteSingleRegister(reg, value); } catch (EasyModbus.Exceptions.ModbusException e) { GVL.readexc = true; MessageBox.Show("Error Write Command : " + e.Message, "Info", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (System.NullReferenceException e) { GVL.readexc = true; MessageBox.Show("Error Write Command : " + e.Message, "Info", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnWriteSingleRegister_Click(object sender, EventArgs e) { try { if (!modbusClient.Connected) { button3_Click(null, null); } int registerToSend = 0; registerToSend = int.Parse(lsbWriteToServer.Items[0].ToString()); modbusClient.WriteSingleRegister(int.Parse(txtStartingAddressOutput.Text) - 1, registerToSend); } catch (Exception exc) { MessageBox.Show(exc.Message, "Exception writing values to Server", MessageBoxButtons.OK, MessageBoxIcon.Error); } }