public void SetDataPointRealValueByFunNun16Test() { ModbusRTUServer modbusRTUServer = new ModbusRTUServer(); modbusRTUServer.InitializeFromConfigFile(modbusConfigFile, serialPortConfigFile); List <DataPoint> dataPoints = new List <DataPoint>(); modbusRTUServer.SerialPort.OnCurrentRequestDataChanged += new EventHandler <RequstDataEventArgs>(SerialPort_OnRequestDataChanged); modbusRTUServer.SerialPort.OnCurrentReceiveDataChanged += new EventHandler <ReceiveDataEventArgs>(SerialPort_OnReceiveDataChanged); dataAnalyzeMode = modbusRTUServer.DataAnalyzeMode; allDataPoints = modbusRTUServer.AllDataPoints; dataPoints.Add(new DataPoint() { DeviceAddress = 1, StartRegisterAddress = 83, DataPointType = DataPointType.WriteAndReadByFunNum03, DataPointDataType = DataPointDataType.F32, RealTimeValue = -1, ValueToSet = 101.7 }); List <List <byte> > writeRegisterCommandBytes = ModbusRTU.CreateWriteRegisterCommands(DataAnalyzeMode.DataHighToLow, dataPoints); if (modbusRTUServer.SerialPort.TryOpenSerialPort()) { foreach (var writeBytes in writeRegisterCommandBytes) { modbusRTUServer.SerialPort.WriteSerialPort(writeBytes.ToArray()); } } }
public void GetDataPointRealValueTest() { ModbusRTUServer modbusRTUServer = new ModbusRTUServer(); modbusRTUServer.InitializeFromConfigFile(modbusConfigFile, serialPortConfigFile); modbusRTUServer.SerialPort.OnCurrentRequestDataChanged += new EventHandler <RequstDataEventArgs>(SerialPort_OnRequestDataChanged); modbusRTUServer.SerialPort.OnCurrentReceiveDataChanged += new EventHandler <ReceiveDataEventArgs>(SerialPort_OnReceiveDataChanged); dataAnalyzeMode = modbusRTUServer.DataAnalyzeMode; allDataPoints = modbusRTUServer.AllDataPoints; if (modbusRTUServer.SerialPort.TryOpenSerialPort()) { foreach (var readRegisterCommand in modbusRTUServer.AllReadRegisterCommands) { modbusRTUServer.SerialPort.WriteSerialPort(readRegisterCommand.ReadCommand.ToArray()); } } }