07-28-2016 04:10 PM
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?
07-29-2016 12:41 PM
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
08-01-2016 10:02 AM
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
08-02-2016 04:16 PM
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?
08-03-2016 09:18 AM
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
08-04-2016 04:33 PM
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.