LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Match regular expression VI grayed out

Solved!
Go to solution

When I place the "match regular expression" VI from the string palette on a remote system, the VI is grayed out. Moving the cursor over it does not give any help information. Any idea what is causing this?

 

Stephen

0 Kudos
Message 1 of 18
(5,116 Views)

LabVIEW Version?

 

----------------------------------------------------------------------------------------------------------------
Palanivel Thiruvenkadam | பழனிவேல் திருவெங்கடம்
LabVIEW™ Champion |Certified LabVIEW™ Architect |Certified TestStand Developer

Kidlin's Law -If you can write the problem down clearly then the matter is half solved.
-----------------------------------------------------------------------------------------------------------------
0 Kudos
Message 2 of 18
(5,113 Views)

Sorry, it's 2013.

0 Kudos
Message 3 of 18
(5,109 Views)

Does it work if you're not logged in remotely?

0 Kudos
Message 4 of 18
(5,096 Views)

Is it doing that only using that function, did you try any other?

0 Kudos
Message 5 of 18
(5,091 Views)
Is that VI in any specific target? What about the other primitives?
-----

The best solution is the one you find it by yourself
0 Kudos
Message 6 of 18
(5,092 Views)
Solution
Accepted by topic author stephenb2

The "Match Regular Expression" primitive is actually implemented as an Xnode.  I don't know if there are constraints to support for these when developing code for a remote target.  Someone from NI could probably answer that.

 

You didn't tell us what the target system is.  That might be useful info.

 

Just out of curiosity, instead of trying to place "Match Regular Expression" on your BD, can you right-click, then on the Functions palette, choose  "Select a VI..." (see note below), then browse to your LabVIEW installation path (likely C:\Program Files (x86)\National Instruments\LabVIEW 2013, but may vary), then vi.lib\regexp\Match Regular Expression_Execute.vi and place that VI?

 

If that works, you've got essentially the "guts" of the primitive/Xnode.  It won't be growable like the Xnode, but if you need them, all the submatches are available as an array of string at a bottom terminal.

 

I'm guessing, for some reason, you won't find that "regexp" support folder under vi.lib, which will at least confirm the "why" of the primitive being greyed out.

 

Dave

 

Note: if the "Select a VI..." option isn't present, pin the Functions palette (upper left corner), customize, Change Visible Palettes, place a check, hit OK, yadda yadda...

David Boyd
Sr. Test Engineer
Abbott Labs
(lapsed) Certified LabVIEW Developer
0 Kudos
Message 7 of 18
(5,090 Views)

David I did as you suggested (using 32 bit LV on Windows 7). I got a regex VI and it was not grayed out, but it differed from the one on the string palette.

 

It works fine, though, so I'll stick with that one.

 

match regular expression VI grayed out.PNG   match regular expression VI working.PNG

0 Kudos
Message 8 of 18
(5,046 Views)

Stephen,

 

Yes, it *WILL* look different; it's truly a VI, whereas the thing you were originally using would be generally referred to as a "primitive".

 

Forgive me if this is all obvious to you, but I'll go through the motions for the sake of anyone else reading this.  Knowing the terminology makes talking about LabVIEW concepts easier.

 

In general, anything you drop on a block diagram and attach wires to is generically referred to as a "node".  If it is fundamentally part of the graphical language (a classic example is the "Add" triangle), it is further described as a "primitive" - it can't be decomposed into other nodes on another block diagram.  Primitives are almost always given that classic pale yellow background color.

 

Or a node could be a while loop, or a for loop, or a case structure - those all serve to encapsulate other bits of block diagram code.

 

If a node represents the calling interface of another piece of code (a.k.a. virtual instrument), it's described as a subVI (meaning, you can probably double-click on it and be whisked off to the front panel of the VI being called).  Being able to call code you or someone else has written from higher level code is fundamental to well-structured, reusable architecture.

 

The Xnode is a very special case of several subVIs, taken together in a form of reuse library, which masquerade as if they're one primitive.  Generally, only the folks at NI can create them, and they were introduced to encapsulate complex behavior, or adaptability, or hide other features which are only safe to use a certain way.

 

tl;dr  I still don't know why your Xnode is greyed out, but I'm glad you're able to work around the immediate problem by using the VI which makes up the bulk of the Xnode's functionality.

 

Dave

David Boyd
Sr. Test Engineer
Abbott Labs
(lapsed) Certified LabVIEW Developer
Message 9 of 18
(5,038 Views)
When the node is grayed out is the VI showing a broken run arrow?

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 10 of 18
(5,021 Views)