LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Modbus I/O Server Refesh Rate Limited to 1 sec

I am trying to use a cRIO9022 with Labview 2015 (as an ethernet modbus master) to pull remote data from a ethernet modbus PLC (modbus slave) using a modbus i/o server library. My variables are plotted via a waveform graph in a timed loop running at 250ms. I can set the "refresh rate" of the modbus i/o server to a value less than 1, however the value read from the PLC will only update every second. If the value is higher than 1 second the value is read at that set interval (i.e. it does not seem to be able to update faster than once every second). I need to poll the data at a minimum of 10 samples/second (every 100ms). Documentation does not mention the 1 second refresh limit. Is there any way to increase the refresh rate to a value under 1 second?

0 Kudos
Message 1 of 6
(4,280 Views)

Hi Ndowning,

 

Where and how are you setting the "refresh rate"? Could you post a simplified version of what you're trying to do? What documentation where you looking at for the refresh rate?

 

Lauren D.

Applications Engineer

National Instruments

0 Kudos
Message 2 of 6
(4,244 Views)

Hi Lauren,

 

I am setting the refresh rate in "configure Modbus I/O server" window (figure 6). I followed the instructions on the following link to create the server, using my PLC IP address as the source path: http://www.ni.com/tutorial/7210/en/.

 

Thanks,

Ndowning

0 Kudos
Message 3 of 6
(4,216 Views)

The refresh rate on the Modbus master accepts a decimal value of less than 1 second.  Are you getting an error when you change it?

Kelli Kravetz
Product Marketing Manager
LabVIEW, LabVIEW NXG, LabWindows/CVI, Measurement Studio
National Instruments
0 Kudos
Message 4 of 6
(4,198 Views)

Hi Kelli,

 

I am able to enter a value less than 1 without getting an error, however the value only refreshes every second. Please see attached chart. The value I am querying on the PLC increases by one every .7ms. The LabVIEW code is contained in a loop that updates at 10hz, yet the chart only reports a new value every second and reports the same value in between (chart displays a step function as opposed to a continuous one).

 

Ndowning

 

0 Kudos
Message 5 of 6
(4,177 Views)

The refresh rate specifies how often the Modbus I/O server reads data from the device, in seconds. If any Modbus I/O server data item changes, the data writes to the device immediately.

 

How are you confirming the rate that your slave is sending data? A Wireshark capture could be helpful here. 

 

 

Becca B.
Product Marketing
National Instruments
0 Kudos
Message 6 of 6
(4,149 Views)