Cambiar Ascii a RTU

Hola, que tal, buenas tardes antes que nada a todos, soy muy nuevo en esto, tengo un proyecto que consiste en cambiar un dispositivo Delta DVP04PT-S (sensor de temperatura de platino) de Ascii a RTU, sin necesitar un módulo extra, este tiene que comunicarse con un ES-U-3001-MB (módulo interfaz USB a 485 serial) para poder leer temperaturas, investigando en internet encontré que puedo hacerlo con Simply modbus Master, pero al hacer la conversión y tratar de leer las temperaturas en el emulador Hércules, no me arroja ninguna temperatura. Alguien tiene una idea de cómo puedo modificarlo, con algún otro programa, ya que buscó por internet y no encuentro nada más relacionado, solo lo que mencioné anteriormente.
anexo evidencia de los programas que estoy utilizando y la hoja de datos de dispositivo, en verdad espero que alguien me pueda ayudar por favor
 

Attachments

From the documentation, the communication settings for the DVP04PT-S default to ASCII, 9600, 7, E, 1, as you show in your Simply Modbus screenshot. The communication format setting register for the DVP04PT-S is register H'4084, which is a hexadecimal number, or register 16516 decimal. In order to enter this register number in Simply Modbus, you can type 16516 in the "First Register" box and type 0 into the "minus offset" box.

The value of 33540 decimal that you are attempting to write is 0x8304 hexadecimal, which corresponds to RTU, 19200, 8, N, 1. Now I'm not sure whether you want the H'8 "RTU, do not exchange low and high byte of CRC check code" option or the H'C "RTU, exchange low and high byte of CRC check code" option. The Modbus RTU spec requires the upper and lower CRC bytes to be swapped, but it is unclear whether the "exchange low and high byte" option on DVP04PT-S already takes this into account. My guess is you may need to use the H'C option, so you would need to write a value of 0xC304 hexadecimal, or 49924 decimal.

So in summary, here's what to do in Simply Modbus:

  • Connect using ASCII, 9600, 7, E, 1
  • Enter 16516 in the "First Register" box and enter 0 in the "minus offset" box
  • Enter 49924 in the "Value to Write" box
  • Confirm the write succeeded (a response was received)
  • Power cycle the DVP04PT-S
  • Connect with Simply Modbus using RTU, 19200, 8, N, 1 and try to read register 16516 (with 0 entered for the "minus offset" box)
 
jschulze,

Where did you find the default factory setting as ASCII as the comm protocol? I spent a half hour looking for that tidbit and couldn't find it ! ! ! It is really meaningful to know what the default protocol is, otherwise it's trial-and-error time.

Have you worked with Delta before? I assume
- H' is their notation for Holding registers and they do mention that they support FC03.
- CRxx are registers used by Delta internal communications

Do you have any idea what "latched" means with respect to communications?. Modbus is not a binary output relay that might or might not be latched. A mystery to me.

I, too, wondered which state the CRC byte order is by default, and whether it's Modbus standard or inverted. I have never encountered inverted CRC, except by coders who have it backwards. Have you?

At first I wondered whether the register addressing was (4)xxx, a custom 4 digit addressing notation, as opposed to conventional 5 digit, (4)xxxx, addressing. But they're hex values so it's unlikely it's an invented 4 digit addressing for Holding registers.

Good catch on the cycling the power when changing Modbus protocols and serial settings.
 
David_2,

A good magician never reveals his secret!

But since I'm not a magician, here you go.

Where did you find the default factory setting as ASCII as the comm protocol? I spent a half hour looking for that tidbit and couldn't find it ! ! ! It is really meaningful to know what the default protocol is, otherwise it's trial-and-error time.
The Description column in the table for CR#32 shows the default settings.
1658844918573.png

Have you worked with Delta before? I assume
- H' is their notation for Holding registers and they do mention that they support FC03.
- CRxx are registers used by Delta internal communications
I figured out that the H' notation means hexadecimal due to other uses throughout the document. In the image above, it states the default value of CR#32=H'0002. Also in the CR#32 communication format settings description after the table it shows the following.
1658845152256.png

And I think that CR simply stands for Control Register, as that's what's written immediately above the table. They seem to use this as a generic term, as you would use parameter or register.

Do you have any idea what "latched" means with respect to communications?. Modbus is not a binary output relay that might or might not be latched. A mystery to me.
I believe the Latched column is not a Modbus concept, but rather whether the setting is non-volatile on the device. At the bottom of the table it defines the symbols used in the columns.
1658845831288.png
Parameters that have an 'O' in the Latched column are non-volatile, and therefore, preserved across reboots and power cycles. Parameters that have an 'X' in the Latched column are RAM-only values and reset upon reboot or power cycle.

I, too, wondered which state the CRC byte order is by default, and whether it's Modbus standard or inverted. I have never encountered inverted CRC, except by coders who have it backwards. Have you?
I don't recall ever encountering another Modbus device that has a selection for the CRC byte order. The Modbus spec has only one specified CRC byte order, so if the device doesn't use that, it's not implementing Modbus correctly.
 
Top