06-27-2013 03:16 AM
When "main" software(with RT Get CPU Loads.vi) for sbRIO is compiled as Source distribution and run by Open VI reference and Invoke node/Run VI from RT application "starter" in same sbRIO, it fails with error 1003 at Invoke node.
When I put RT Get CPU Loads.vi into disable diagram structure, it runs OK.
When I run "starter" as debug (instead of compile,deploy and run as startup), it runs OK.
When I run "main" as debug or compile,deploy and run as startup (instead of Source distribution), it runs OK.
In LV 2009 I used StartCPUMonitoring.vi and MeassureCPU.vi and it worked everytime every combination.
In LV 2012 SP1 these VIs shows:
Error 53 occurred at Invoke Node in esm_Set Target CPU Monitoring__NATIONAL INSTRUMENTS.vi->StartCPUMonitoring.vi->CPU usage.vi
Possible reason(s):
LabVIEW: Manager call not supported.
So I tried to use RT Get CPU Loads.vi and it crashes all software.
Does anyone have an idea?
Solved! Go to Solution.
06-28-2013 03:32 AM - edited 06-28-2013 03:33 AM
using RT Utilities is a legacy solution to get data about a Real-Time system. Allow me to recommend using the RT System Configuration palette instead. The code to periodically request processor loads would look something like this:
This approach is also capable of requesting the CPU loads of a remote target.
Also, I recommend using a simple while loop for this task instead of a timed loop. Requesting CPU loads and writing shared variables is neither deterministic, nor is it mission-critical (I assume). As such, the high priority offered by a Rea-Time timed loop is unwarranted.
Hope this helps, please get back to me if you have any trouble or the if the crashes persist.
Best regards:
Andrew Valko
NI Hungary
07-09-2013 02:41 AM
Thank you for your help ValkoA.
It works with one more detail - Array Index needs to be 1 for my sbRIO.
I'am still curious why RT utilities crashes entire software in that specific situation. Is that some bug in LV2012?