Problem comunivation to Socomec Countis E53

Hi,

I am experiencing problems with communications to my Socomec Countis E53 with RS485 Jbus/ModBus comms.
I can't ask for any parameters.

I am currently asking for 26 registers starting at C550 (hour meter). The Modbus message being transmitted is:
01 03 C5 50 00 1A [+CRC-16]

I am receiving answer 01 03 C5 50 00 1A [+CRC-16]

Can anyone help with this issue?
 
The request and response you show are identical. It appears you may be receiving an echo of the request transmission, not a real response from the device.

What are you using as a Modbus master? Is it a PC with a USB to RS-485 converter? Does the converter have an option (or jumper) to enable/disable receiving its own transmissions (perhaps called "echo")?

I recommend starting simple and requesting only a single register until you have confirmed communications. If you're not doing this already, I recommend using a Modbus master simulator and a USB to RS-485 adapter. Here are some Modbus master simulators:

ModScan
https://www.win-tech.com/

Modbus Poll
https://www.modbustools.com/modbus_poll.html

Simply Modbus
https://simplymodbus.ca/RTUmaster.htm

Keep in mind that some of the tools above use 1-based register addressing, so you may need to add 1 to the register address. For example, the Hour Meter register is 50512 (0xC550) so you may need to enter 50513 when using some of the above tools.
 
The request and response you show are identical. It appears you may be receiving an echo of the request transmission, not a real response from the device.

What are you using as a Modbus master? Is it a PC with a USB to RS-485 converter? Does the converter have an option (or jumper) to enable/disable receiving its own transmissions (perhaps called "echo")?

I recommend starting simple and requesting only a single register until you have confirmed communications. If you're not doing this already, I recommend using a Modbus master simulator and a USB to RS-485 adapter. Here are some Modbus master simulators:

ModScan
https://www.win-tech.com/

Modbus Poll
https://www.modbustools.com/modbus_poll.html

Simply Modbus
https://simplymodbus.ca/RTUmaster.htm

Keep in mind that some of the tools above use 1-based register addressing, so you may need to add 1 to the register address. For example, the Hour Meter register is 50512 (0xC550) so you may need to enter 50513 when using some of the above tools.
Thank you very much for your advice. Briefly about my configuration. NI FPGA with Cmodule NI9871. Using only one Countis. I'm going to try your way and let you know about result.
 
The NI 9871 is a 4-wire full-duplex module, while the E53 is a 2-wire half-duplex device. I assume you've connected the NI 9871's TX pair (+ and -) to its RX pair (+ and -) in order to wire it to the E53. Therefore, the NI 9871 is very likely receiving its own transmissions, resulting in what you're seeing.

You will need to ensure, in your software I believe, that the NI 9871's transceiver's receive is disabled while it is transmitting. There may be a way to select a certain 2-wire mode, such as DTR/Echo, DTR/No Echo, or Auto modes on the NI 9871. From the observations you're seeing, I would guess that it is currently in DTR/Echo mode. It will need to be in either DTR/No Echo or Auto modes (depending on whether you're using a DTR signal). Refer to the RS485 Transceiver Control section here:
https://www.ni.com/docs/en-US/bundle/ni-9871-getting-started/page/overview.html
 
The NI 9871 is a 4-wire full-duplex module, while the E53 is a 2-wire half-duplex device. I assume you've connected the NI 9871's TX pair (+ and -) to its RX pair (+ and -) in order to wire it to the E53. Therefore, the NI 9871 is very likely receiving its own transmissions, resulting in what you're seeing.

You will need to ensure, in your software I believe, that the NI 9871's transceiver's receive is disabled while it is transmitting. There may be a way to select a certain 2-wire mode, such as DTR/Echo, DTR/No Echo, or Auto modes on the NI 9871. From the observations you're seeing, I would guess that it is currently in DTR/Echo mode. It will need to be in either DTR/No Echo or Auto modes (depending on whether you're using a DTR signal). Refer to the RS485 Transceiver Control section here:
https://www.ni.com/docs/en-US/bundle/ni-9871-getting-started/page/overview.html
Thank you. I'll check and try tomorrow.
 
Good morning. Tried everything, didn't help. Result the same. It seems to me problem with volt level RS485.
OK, let's go through this step by step.

  1. What were your results using a Modbus simulator program on a PC with a USB to RS-485 adapter to communicate to the E53?
  2. What did you do to change the 2-wire mode of the NI 9871 to ensure it is not receiving its own transmissions?

Please try the following test:
  1. Disconnect the RS-485 wires from the E53, while leaving all wires (and any jumper wires) connected on the NI 9871. Make sure the loose wire ends do not touch each other or any metal surfaces.
  2. Transmit a Modbus message from your FPGA and 9871 module.
  3. Observe any received response. Is the result the same? Do you receive the request you just transmitted?
 
OK, let's go through this step by step.

  1. What were your results using a Modbus simulator program on a PC with a USB to RS-485 adapter to communicate to the E53?
  2. What did you do to change the 2-wire mode of the NI 9871 to ensure it is not receiving its own transmissions?

Please try the following test:
  1. Disconnect the RS-485 wires from the E53, while leaving all wires (and any jumper wires) connected on the NI 9871. Make sure the loose wire ends do not touch each other or any metal surfaces.
  2. Transmit a Modbus message from your FPGA and 9871 module.
  3. Observe any received response. Is the result the same? Do you receive the request you just transmitted?
Thank you very much for your advices. I've solved this problem. I don't no why but each company for RS 485 uses different level signal. When I solved this problem I was been able to read every registers that I need for my tasks.
 
I don't no why but each company for RS 485 uses different level signal. When I solved this problem I was been able to read every registers that I need for my tasks.
Can you elaborate on this? The voltage levels are required to be within in a certain range by the RS-485 specification. Also, signal levels would not have resulted in receiving an echo of the request.

Perhaps you are referring to the "A" and "B" terminal labeling? Because this is vendor-dependent, as some vendors label the RS-485 + signal "A", while others label the RS-485 + signal "B". But again, this wouldn't result in receiving an echo of the request.
 
Top