LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VI priority conflict

Solved!
Go to solution

Hello,

I'm using an older LabVIEW project here. Created with LabVIEW version <2014. When using this project with LabVIEW 2020 and Windows 10, I get a message about a conflict in a sub-VI:

Blockdiagrammfehler = "Zeitgesteuerte Strukturen sind in zeitkritischen VIs nicht zulässig, da diese VIs eine höhere Priorität als zeitgesteuerte Strukturen haben und die Ausführung der Strukturen daher nicht zuverlässig ist."

Cause: The VI settings have priority on time-critical in the Execution category. And a timed structure is used in the VI itself. Now of course I can reset the priority of the VI to normal. Then the VI can also be executed again. But is that the point of a solution? Do I have to incorporate more know-how here in order to solve the issue properly.

Best regards,
Mathias

0 Kudos
Message 1 of 5
(938 Views)

Hi Mathias,

 


@MHa wrote:

Blockdiagrammfehler = "Zeitgesteuerte Strukturen sind in zeitkritischen VIs nicht zulässig, da diese VIs eine höhere Priorität als zeitgesteuerte Strukturen haben und die Ausführung der Strukturen daher nicht zuverlässig ist."

 

But is that the point of a solution?


The point is: why is that VI set to "time critical" priority in the first place?

(Usually there's no need to change VI priorities…)

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 5
(901 Views)

Hello GerdW,

Thanks for the answer. Well earlier [1995-20xx] these were the usual adjusting screws for the parallel processing tasks. With the introduction of the .NET Task Parallel Library TPL, this has changed completely in terms of design. Here you usually leave task handling completely to the operating system.

Best regards,
Mathias

0 Kudos
Message 3 of 5
(886 Views)
Solution
Accepted by topic author MHa

Hi Mathias,

 


@MHa wrote:

Well earlier [1995-20xx] these were the usual adjusting screws for the parallel processing tasks.


I tried to use those different priorities (and execution systems) in early LabVIEW versions too, to improve overall program behaviour. But that was with LV3-LV6.1…

 

The TimedWhileLoop was introduced inLV7.1 (2004), the TimedSequence somewhat later.

The compiler behind the LabVIEW scenes changed from LV8.6 to LV2009 (DFIR) and again in LV2010 (LLVM), with several improvements later on.

 

So when your project was created "<2014" the question still is "why fiddle with VI priorities at all"?

Another question is: do you really need a timed structure on a Windows target? (I suppose the VI is made for usage on Windows.)

 

(And when the project is that old then some code cleanup could help to improve it. :D)

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 5
(876 Views)

Hello GerdW,

well, how quickly time flies.


(And when the project is that old then some code cleanup could help to improve it. :D)


Yes, I agree. However, I am now placing the hardware control [this is what this is about] one floor lower. Via C ++ dynamic link library. This has also proven itself for LabVIEW for tens of years. Thanks.

Best regards,
Mathias

0 Kudos
Message 5 of 5
(865 Views)