From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VI Analyzer Enthusiasts Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

VI analyzer should know about NI imposed models

Analysis functions such as nonlinear curve fit or optimization (e.g. this one) require a strictly typed model VI. This means we have no choice about connector patterns.

It is distracting if VI analyzer complains about e.g.

  1. Connector Pane Pattern: This VI's connector pane does not match any of the user-specified connector panes. (well, duh, we have no choice!)
  2. Full connector Pane: This VI's connector pane is full. Your VI should have extra connector pane terminals available for future expansion. (Again no choice!)

... for every single fitting model VI in my project.

I think VI analyzer needs to know about these patterns of system VIs and not bug us about it. It is very unlikely that a random user VI contains exactly these patterns.

Message 1 of 4
(4,049 Views)

I agree with you. Ideally, I could use some infrastructure to tag the template VI so that the VI Analyzer ignores certain test failures on that VI, and anything created from it. This is my vision for the ignore individual tests feature that I'd love to implement someday.

But for now, I'd be happy to add connector pane data types to those two tests that can be ignored. Can you point me to any template VIs you're aware of that we'd want to ignore in those two tests?

Also, as a workaround (that I'm sure you're aware of), you can exclude certain tests from being run on certain VIs on the 4th page of the VI Analyzer UI. I frequently use this feature when I have a VI Analyzer .cfg file that is associated with a particular project.

0 Kudos
Message 2 of 4
(3,341 Views)

Yes, it is probably sufficient to tag these connector patterns as "known good" or similar and ignore all related tests.

The ones I know about are:

in labview\vi.lib\gmath\NumericalOptimization:

  • ucno_objective function template.vit

  • cno_objective function template.vit

  • LM model function and gradient.vit

If you search for *.vit one folder up there are a few more:

in labview\vi.lib\gmath

  • Zero Finder f(x) 1D.vit

  • Zero Finder f(x) nD.vit

  • 1D Evolutionary PDE Func Template.vit

  • 2D Evolutionary PDE Func Template.vit

  • 2D Stationary PDE Func Template.vit

  • ODE rhs.vit

  • Global Optimization_Objective Function.vit

  • DAE Radau 5th Order Func Template.vit

  • function_and_derivative_template.vit

  • function_template.vit

I am not sure how many unique connector patterns there are and where all these models are used.

Also, most of the time the data (variant) connector is not wired on the diagram, rasing another analyzer flag. That could be ignored too, but is not that important.

Related comment, maybe someting for the ideas exchange (?): In the long run, the template naming is somewhat inconsistent, all file being templates (*.vit ) but some containing the word template (some as "_template", some as "\sTemplate") and some don't contain the word template. Since the extension defines them as templates, maybe the word "template" could be scrubbed from all the filenames...)

Message 3 of 4
(3,341 Views)

Thanks, Christian. I filed myself CAR 560001 to ignore the conpane data types for these templates in the Connector Pane Pattern and Full Connector Pane tests of the VI Analyzer Toolkit.

Feel free to post the template naming issue to the idea exchange.

0 Kudos
Message 4 of 4
(3,341 Views)