simple modbus server device address question: if you can change it, is it nonvolatile; where stored?

I am purchasing two sensors which are modbus servers. I have not received the second one yet, but I expect they will both be factory set to device address 1 causing a conflict. I experimented with the first sensor by sending a command to reset the device address to 2 which was successful. I unplugged ALL power to the sensor and disconnected it and waited a couple minutes then plugged it back in to modbus and power. Thank heavens the device address was still 2. If this were not the case I would not easily be able to initialize the sensor by reprogramming the device address each time it was powered on when it is in the final circuit, because to reprogram the device address I need to send a command to the device 1 (which is in conflict). Thankfully it seems I do not have to reinitialize it since it is retaining the same device address while the power is off. I can hopefully leave it permanently at address 2 and install it in the main circuit. This leaves a couple of questions: where is it storing the device address and is it really nonvolatile or is it some fluke. Does this tiny device have some flash memory? Will it revert to the factory default setting unpredictably?

It is very awkward to reprogram this sensor when it is finally installed. Sensor is Taidacent SHT30 temperature/humidity probe.
amazon product page waiting to hear from the vendor.
Thank You
 
I think you've answered your own question here. How useful would a Modbus device be if, after you've configure its device address, it reverts to a default address some time later? There's no way you'd be able to have any other devices on that network and not have issues.

So yes, device addresses must be stored in nonvolatile memory. This also applies to other network settings as well like baud rate, parity, stop bits, etc.

As to what the device uses for nonvolatile memory to store these settings, that probably depends on the device. Since the device needs to use a CPU or microcontroller (MCU) in order to implement Modbus, the CPU/MCU probably has some flash storage on-board that can be used for this purpose. Although, sometimes, devices use external memories such as EEPROM, battery-backed RAM (NVRAM), etc. instead.
 
In days of old the number would be on dip or rotary switches and [ baud rate, parity, stop bits ] were whatever came with it !

Does this tiny device have some flash memory? Will it revert to the factory default setting unpredictably?
Yes and if it ever did you would return as faulty.
 
Thread starter Similar threads Forum Replies Date
B Modbus 6
C Modbus 5
N Modbus 5
K Modbus 1
R Modbus 2
Top