public void GetValues(ConnectionProperties connectionProperties, int functionPropertyID) { modbusClient = connectionProperties.modbusClient; if (!modbusClient.Connected) { modbusClient.IPAddress = connectionProperties.ModbusTCPAddress; modbusClient.Port = connectionProperties.Port; modbusClient.Connect(); } switch (connectionProperties.FunctionPropertiesList[functionPropertyID].FunctionCode) { case FunctionCode.ReadCoils: connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadCoils(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity); break; case FunctionCode.ReadDiscreteInputs: connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadDiscreteInputs(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity); break; case FunctionCode.ReadHoldingRegisters: connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadHoldingRegisters(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity); break; case FunctionCode.ReadInputRegisters: connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadInputRegisters(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity); break; default: break; } if (valuesChanged != null) { valuesChanged(this); } }
public MainForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); modbusClient = new EasyModbusSecure.ModbusClient(); modbusClient.ReceiveDataChanged += new EasyModbusSecure.ModbusClient.ReceiveDataChangedHandler(UpdateReceiveData); modbusClient.SendDataChanged += new EasyModbusSecure.ModbusClient.SendDataChangedHandler(UpdateSendData); modbusClient.ConnectedChanged += new EasyModbusSecure.ModbusClient.ConnectedChangedHandler(UpdateConnectedChanged); // modbusClient.LogFileFilename = "logFiletxt.txt"; //modbusClient.Baudrate = 9600; //modbusClient.UnitIdentifier = 2; }
void UpdateTextBoxSend(object sender) { EasyModbusSecure.ModbusClient modbusClient = (EasyModbusSecure.ModbusClient)sender; if (textBox1.InvokeRequired) { UpdateSendDataCallback d = new UpdateSendDataCallback(UpdateTextBoxSend); this.Invoke(d, new object[] { modbusClient }); } else { textBox1.AppendText("To: " + modbusClient.IPAddress.ToString() + "Tx: "); string hex = BitConverter.ToString(modbusClient.sendData); hex = hex.Replace("-", " "); textBox1.AppendText(hex); textBox1.AppendText(System.Environment.NewLine); } }