LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet/IP: LV Loop Priority

Have an application that has 3 VIs that deal with Ethernet/IP Industrial protocol.

I was looking into the determinism, and asking questions of NI's Ethernet/IP guru.

 

'Fast' Ethernet/IP data was in a timed loop with a priority of 3000 (highest). But in emails with NI is seems the Ethernet/IP stack operaties at a priority somwhere beneath timed loops - so the following suggestion was made....

 

My question is how to set conventional while loop 'LV high priority' as mentioned below....

LV Core 1 training stated not to use VI priorities when using timed loops - so I have not. But I am not sure that 'LV high priority' even refers to VI priorities. And connot see context sensitive setup for a conventional while loop that speaks to priority.

 

...may have been incorrect about the ability to change the network thread priority via an INI token. It seems that the default (which may be the only option) is that it runs below Timed Loops but higher than LV's "high" priority and higher than the thread used by the EtherNet/IP thread. I would therefore suggest if you have loops that purely interact with the EIP stack to set them to LV high priority rather than in timed loops because it really never makes sense for that loop to preempt the network stack or the background EIP thread. This would remove one more source of jitter.

 

 

0 Kudos
Message 1 of 2
(2,535 Views)

Hi S1ack,

 

I believe the bolded sentence was referring to one of two things.

 

1: Use wait functions in the lower priority loops as described in the section "Parallel Block Diagrams" Here:

 

https://www.ni.com/docs/en-US/bundle/labview/page/vi-execution-speed.html

 

2. Setting the SubVI's Priority by opening the VI, File>>VI Properties>>Execution as explained this link:

 

http://digital.ni.com/public.nsf/allkb/44AB5BEDC20CB43C862565D4000D9885?OpenDocument 

 

DylanC

 

0 Kudos
Message 2 of 2
(2,503 Views)