Today is...
Thursday, March 30, 2017
Welcome to the Modbus Community, about
the world's leading automation protocol.
Honeywell UDC3200: Write Setpoint with Modbus RTU485
Honeywell UDC3200: how to write a setpoint using Modbus RTU 485?

I have to write setpoint on Honeywell UDC3200 with PLC Unitronics V120. I have only function 6 or 16 to do that.

I try to write setpoint real format on 7D. Display change: auto mode disappear but setpoint stay on C1, and output shutdown to 0 because parameter Hight limit output change to 0.

Parametter of communication:
- COMSTA: modbus
- IRENABLE: valide
- VITBAUD: 19200
- DEL TRAN: 1
- WS FLOAT: FP B
- shedenab : valide
- TPS DELE: 30
- MODE DEL: en AUTO
- C REPLI: en COL
- UNITE: SCIENT
- RATO CPC: 1.00
- BIAS CPC: 0.0
- ECHO: INACTIVE.

Could you help me?

I'll bet you took the register address from the UDC 3200 product manual, which is absolutely unuseable - that Modbus map and those register/addresses are for FC20/21 configuration settings. Nothing in the product manual applies to ordinary day-to-day user Modbus.

Use the Modbus RTU Serial Communications User manual at the link below, not the 3200 product manual. The Modbus slave register/address map/table and other Modbus infor that you need is in the Modbus RTU Serial Communications User Manual. 51-52-25-66, the latest edition is rev T.

https://www.honeywellprocess.com/library/support/Public/Documents/51-52-25-66.pdf

To write a floating point value, you need to use Function Code 10h, 16 decimal, according to the table on pg 18:
https://s27.postimg.org/n92dr05nn/pg_18_max_number_of_registers_per_request_highl.jpg

FC 06 writes a single register only, only half of a floating point value.

As the map from the Rev T manual says, the working setpoint is at 0044h or (4)0069 decimal
https://s30.postimg.org/fxscsytht/UDC_Floating_point_working_SP_at_0044h_or_40069.jpg

Writing two registers to 007D, writes half a floating point to the Output high limit value and half a floating point value to Output working value.
https://s24.postimg.org/8gfiqh4dx/7D_is_half_of_Output_Hi_limit_and_half_of_Output.jpg

Oops. My mistake.

(4)0069 is the read-only working SP. Can't write to that register.

Write a floating point value to the working SP at (4)0121, 0078h

https://s29.postimg.org/nax4xhc0n/Write_FP_SP_to_4_0121.jpg