04-14-2015 12:06 PM
So I need to take the execution time of the attached VI down Greatly. it sits at about 10-15 seconds and i need it to be more like 500ms. the issue seems to be with extracting the registers from the modbus return and then formatting them to look correct on the VI. I Have some ideas on cutting this down but they have proved nominal at best. I could really use some suggestions on this. it me last major piece on this project.
thanks,
Mark R.
04-14-2015 02:51 PM
You haven't supplied all the SubVIs... But I have some suggestions:
04-14-2015 03:56 PM
04-14-2015 04:06 PM
Perhaps as an experiment try timing a single MB read from one of your register sets to get a feel for the time this is taking. If you break it apart you could also use the profiling tool to understand how long the SubVIs are taking to execute (although I think the profiling tools are only availale in Professional version of LabVIEW?)
04-14-2015 04:28 PM
You really are reading very little data over ethernet modbus, I would expect it to be darned near instantaneous getting the data -- certainly within the 500ms. Where did you get the modbus drivers? They don't look familier. I would try the newest drivers from NI and see if there is any difference.
Mike...
04-14-2015 04:41 PM
04-14-2015 04:45 PM
If you are referring to the older (non-OOP) NI Modbus library available online - I have used this previously and achieved the kind of performance that Mike is suggesting.
I suggest providing more of your source (eg. SubVIs) to let us give you better feedback.
04-14-2015 06:41 PM
04-14-2015 06:46 PM
Even 10Mbps is more than adequate for the performance you require. As an example - I have a system that polls a device on a 10Mbps network for almost two dozen registers 10 times a second, which includes all the conversion logic (the registers are converted to 32bit floats).
I suggest the issue likely lies in your SubVIs - if I was in your position that would be my next step.