Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Reading multiple registers over MODBUS Watlow f4

I'm planning to acquire instrument status from multiple address locations in a continous loop (modbus RTU over RS-232). I'm running an ESS thermal cycle using a Environtronics chamber controlled by a single Watlow F4, and would like monitoring profile status, temp, and a few other inputs, at register address locations example 0, 200, 4122, 4126, 5xxx, 6xxx, and so on. The read from register routine has 2 inputs for this: Register Address and Number of Registers. This works great for a range of adjacent addresses (4100-4131), however the register locations of interest are not adjacent.  Is there a way to query a separate range of registers through a single send/receive? Running it once is taking <200ms, as opposed to looping the read from register utility 10-20 times which can take  >2 seconds. 

 

Driver Revision: 2.0.1 Original Release Date: 04/06/2004 Current Revision Date: 05/07/2014

0 Kudos
Message 1 of 2
(4,157 Views)

Hi,

 

With ModBus you can ask for a range of registers but only in the range is valid with no gaps.

If you want 2 registers with different (non adjacent) addresses you have to ask two times for a register.

 

This can be solved at the slave side if the slave supports soft-marshaling.

 

Kees

0 Kudos
Message 2 of 2
(4,106 Views)