How to find unknown Slave id on MODBUS Serial Communication

Hi,
I hope everyone is doing well. I am facing some issues while interfacing some RS485 based sensors.
Starting from the equipment background, the 4 sensors were connected in a daisy chain configuration, over RS485, to raspberry pi via RS485 to USB converter. The 4 sensors were installed and commissioned by the installer. The relevant details are attached in image. Due to some hardware issues, raspberry pi was removed and i am hence trying to connect them directly to Sungrow logger 1000A through available COM port. Before connecting it directly to logger i am trying to confirm whether the sensor is individually active or not.
  1. Wind Speed Sensor RK-100-02 (RIKA Electronics): After making connections on hardware side, i tried connecting it to my system via RS485 to USB converter. As per the vendor documentation, i have assigned slave address as 24 and made settings accordingly. But the modpoll is giving timeout error. I have tried everything from changing baud rate, stop bit, parity, data bits, register type but unable to get any data. Secondly please share whether there is any way to locate an unknown slave address when device connected via RS485.
  2. SP522 Pyranometer by Apogee Instruments: This sensor is behaving odd. For like 10 seconds it is working fine and sharing data. But after some it starts giving time out error on modpoll software. The behavior is random. I have checked the supply and connections but there is no issue. I am unable to identify why it stops giving data on random pattern and resolve automatically itself for only a short duration.
  3. RK330-01C Air temperature Sensor: I was able to connect with device without any modpoll software errors. But the data it is giving is totally constant and it should vary as it is analog data. Which i believe is a sensor issue.
  4. RK220-01 Module Temperature Sensor: I was able to connect with the device successfully without any errors from MODPOLL software. The temperature it is showing is too low. Which i believe is sensor calibration issue.

Thank you for your patience if you have gone through all the above text. I have attached the supporting documents and datasheets for the mentioned sensors. If any thing is missing from my side kindly let me know.
Best Regards
Hanzala
 

Attachments

Since the sensors were connected via daisy chain, only one comm port was in use, so all the sensors used the same serial comm settings, baud rate, parity, stop bit. So what worked successfully for one sensor using Modpoll should work for the other sensors. You don't have to guess or experiment with serial settings, use what works on the working sensor.

Are you testing these individually or are they stlll daisy chained on the same bus?

There's a scanner program that will sequentially try slave node ID numbers until it gets a hit, but I'll have to dig around to find the name.
 
i am trying communicating with sensor individually. I have tried the exact same setting of a working sensor on the sensor which is not working but issue still persists.
 
Look for the download button for Chipkin's Modbus scanner that can search a range of slave ID numbers looking for a response.

https://store.chipkin.com/products/tools/cas-modbus-scanner

See the Modbus Scanner Quick user Guide instructions on the same page:

Locate 'Device" These numbers are the Node ID's that you will poll for. If you know the Node ID, you can scale down the numbers. For example, if you know the Node ID is 1, you can use Start: 1 and End: 2
 
What a great tool, David. I just found this and was hoping to use it. However, when I setup to do a scan, it's only searching for "8, None, and 1" stuff. I need to do "8, Odd, and 1" and I can't find a way to select that here. My only options seem to be comm port, baud, and device address start/stop.

Any suggestions (in case you see this prior to me getting in touch with them)?

****************UPDATE******* Found the magical "right click" add connection to the discover box, and uncovered more port settings. Awesome!
 
Top