LAVA Forums Buy cool LAVA gear Forums RSS Feed

Welcome Guest ( Log In | Register )

> Related links

Check out our XNodes Code Repository Files and visit our LabVIEW Wiki XNodes Portal


Tags
(This content has not been tagged yet)
 
Reply to this topic Start new topic
> Structure XNodes, Is this possible?
Tomi Maila
post Oct 22 2007, 07:43 PM
Post #1


Drawing Tool - LVOOP example application
*****

Premium Member
Posts: 1168
Joined: 29-January 06
From: Helsinki
Member No.: 4014
Using LabVIEW Since:2004
LV:8.5.1 ,8.2.1 ,7.1.1
Finland Nothing Selected Nothing Selected My Blog


I've a vision of new certainly interesting LabVIEW functionality I'd like to write an implementation. The best implementation of this new functionality would require a smartly functioning custom structure similar to timed sequence in a sense that there needs to be multiple consequetive diagram parts in the new structure with XNode style inputs and outputs in each of them. However unlike timed sequence, the functionality of this new diagram would not resemble sequence at all.

Now the question is that I need all the possible ideas that you guys may have how this could be implemented. I'm somewhat familiar with simple XNodes that can act as smart subVIs with scriptable content, terminals and visual appearance. However I've no idea how could I implement a structure that could contain multiple segments of code inside it, scriptable inputs and outputs at each segment. In addition I'd need to be able to control if/when the segments are actually executed.

Sounds like a challenge. That makes it an interesting task... wink.gif

Cheers,

Tomi

--------------------
Tomi Maila



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Ad
post Oct 22 2007, 07:43 PM
Post #















Tags
(This content has not been tagged yet)
Go to the top of the page
Quote Post
psdv
post Oct 22 2007, 07:48 PM
Post #2


2 more posts to go!


Member
Posts: 8
Joined: 25-October 04
Member No.: 895
Using LabVIEW Since:1995
LV:8.2.1 ,8.20 ,8.0.1
Italy Nothing Selected Nothing Selected


QUOTE (Tomi Maila @ Oct 22 2007, 02:43 PM) *
I've a vision of new certainly interesting LabVIEW functionality I'd like to write an implementation. The best implementation of this new functionality would require a smartly functioning custom structure similar to timed sequence in a sense that there needs to be multiple consequetive diagram parts in the new structure with XNode style inputs and outputs in each of them. However unlike timed sequence, the functionality of this new diagram would not resemble sequence at all.Now the question is that I need all the possible ideas that you guys may have how this could be implemented. I'm somewhat familiar with simple XNodes that can act as smart subVIs with scriptable content, terminals and visual appearance. However I've no idea how could I implement a structure that could contain multiple segments of code inside it, scriptable inputs and outputs at each segment. In addition I'd need to be able to control if/when the segments are actually executed.Sounds like a challenge. That makes it an interesting task... wink.gif Cheers,Tomi
you can yous a simple template vi...the template vi contains a labview custom custom code..and you can use it in new xnode with paste and replace...method..


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
rolfk
post Oct 24 2007, 08:22 AM
Post #3


<customize this text>
*****

Premium Member
Posts: 1001
Joined: 9-April 04
From: Rotterdam
Member No.: 349
Using LabVIEW Since:1992
LV:8.5.1 ,8.2.1 ,7.1.1
Netherlands Switzerland Nothing Selected


QUOTE (Tomi Maila @ Oct 22 2007, 02:43 PM) *
I've a vision of new certainly interesting LabVIEW functionality I'd like to write an implementation. The best implementation of this new functionality would require a smartly functioning custom structure similar to timed sequence in a sense that there needs to be multiple consequetive diagram parts in the new structure with XNode style inputs and outputs in each of them. However unlike timed sequence, the functionality of this new diagram would not resemble sequence at all.

Now the question is that I need all the possible ideas that you guys may have how this could be implemented. I'm somewhat familiar with simple XNodes that can act as smart subVIs with scriptable content, terminals and visual appearance. However I've no idea how could I implement a structure that could contain multiple segments of code inside it, scriptable inputs and outputs at each segment. In addition I'd need to be able to control if/when the segments are actually executed.

Sounds like a challenge. That makes it an interesting task... wink.gif

Cheers,

Tomi


Apart from the already mentioned templates I don't think there is any way to have an Xnode work as a structure. They can be resizing nodes but that is about it.

And if I was you I would try to patent it, before you publish it. Otherwise NI will do it ninja.gif

Rolf Kalbermatter


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Tomi Maila
post Oct 24 2007, 10:48 AM
Post #4


Drawing Tool - LVOOP example application
*****

Premium Member
Posts: 1168
Joined: 29-January 06
From: Helsinki
Member No.: 4014
Using LabVIEW Since:2004
LV:8.5.1 ,8.2.1 ,7.1.1
Finland Nothing Selected Nothing Selected My Blog


QUOTE (rolfk @ Oct 24 2007, 11:22 AM) *
And if I was you I would try to patent it, before you publish it. Otherwise NI will do it ninja.gif

Sure wink.gif

--------------------
Tomi Maila



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
PJM_labview
post Oct 24 2007, 04:07 PM
Post #5


Extremely Active
****

JKI
Posts: 612
Joined: 19-June 03
From: Bay Area, CA (USA)
Member No.: 121
Using LabVIEW Since:1998
LV:8.5.1 ,8.6 ,8.2.1
United States France Nothing Selected My Blog


Well this have to be possible with the existing XNode stuff since I am pretty sure the timed loop (or timed sequence) is an XNode.
Figuring out how to do what you describe though, is probably not going to be easy.

PJM

--------------------

Got VIPM?

JKI . VIPM . EasyXML . OpenG . LAVA . Builder . Blog



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
rolfk
post Oct 24 2007, 08:13 PM
Post #6


<customize this text>
*****

Premium Member
Posts: 1001
Joined: 9-April 04
From: Rotterdam
Member No.: 349
Using LabVIEW Since:1992
LV:8.5.1 ,8.2.1 ,7.1.1
Netherlands Switzerland Nothing Selected


QUOTE (PJM_labview @ Oct 24 2007, 11:07 AM) *
Well this have to be possible with the existing XNode stuff since I am pretty sure the timed loop (or timed sequence) is an XNode.
Figuring out how to do what you describe though, is probably not going to be easy.

PJM


Which VI/Xnode file would you suggest to look at as starting point for that?

Rolf Kalbermatter


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
PJM_labview
post Oct 24 2007, 08:41 PM
Post #7


Extremely Active
****

JKI
Posts: 612
Joined: 19-June 03
From: Bay Area, CA (USA)
Member No.: 121
Using LabVIEW Since:1998
LV:8.5.1 ,8.6 ,8.2.1
United States France Nothing Selected My Blog


QUOTE (rolfk @ Oct 24 2007, 01:13 PM) *
Which VI/Xnode file would you suggest to look at as starting point for that?

Rolf Kalbermatter

As per the wiki page: XNodes, this is where the timed loop XNode code is located (vi.lib\Platform\TimedLoop\XDataNode\XDataNode.xnode). There is a lot of stuff in that folder (password protected of course).

PJM

--------------------

Got VIPM?

JKI . VIPM . EasyXML . OpenG . LAVA . Builder . Blog



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Darren
post Oct 24 2007, 09:04 PM
Post #8


Very Active
***

NI
Posts: 213
Joined: 14-March 06
From: Austin, TX
Member No.: 4441
Using LabVIEW Since:1999
LV:8.6 ,8.5 ,8.0
us_texas United States Nothing Selected


QUOTE (PJM_labview @ Oct 24 2007, 03:41 PM) *
As per the wiki page: XNodes, this is where the timed loop XNode code is located (vi.lib\Platform\TimedLoop\XDataNode\XDataNode.xnode). There is a lot of stuff in that folder (password protected of course).


The XDataNode is the "ear" that sticks off the side of the Timed Loop. The Timed Loop itself is a native LabVIEW structure. I'm fairly certain that there currently exists no way to create a G-based structure.

-D


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Tomi Maila
post Oct 24 2007, 09:38 PM
Post #9


Drawing Tool - LVOOP example application
*****

Premium Member
Posts: 1168
Joined: 29-January 06
From: Helsinki
Member No.: 4014
Using LabVIEW Since:2004
LV:8.5.1 ,8.2.1 ,7.1.1
Finland Nothing Selected Nothing Selected My Blog


QUOTE (PJM_labview @ Oct 24 2007, 07:07 PM) *
Well this have to be possible with the existing XNode stuff since I am pretty sure the timed loop (or timed sequence) is an XNode.

Timed sequence and timed loop both consits of separate parts. To the left of loop or sequence there is a XDataNode.xnode called Configuration Node. This XNode simply collects inputs and writes then to an indicator called Timing. In addition the Configuration Node makes two external calls two two different shared libraries (DLLs). Nothing else occurs at runtime within Configuration Node.

The Timing indicator of Configuration Node is connected to a hidden node at top left of timed loop inner structure called Timed Loop Left DCO. At the top right corner of the timed loop structure there is another hidden node called Timed Loop Right DCO. The Timed Loop Right DCO is connected to the Output Node (see below). The nature of these two DCOs is not known to me. Anyone with more information? My guess is that these are build-in nodes that take care of synchronization.

The The timed loop and timed sequence themselves are not XNodes. These two structures are most propably internal structures that are implemented outside LabVIEW scripting. Actually it may be that the DCOs take care of synchronization and the timed structures don't really differ much from their asynchronous counterparts.

Inside the timed loop there are two additional instances of XDataNode called Left Data Node and Right Data Node. These are the nodes you can wire timing information from and to. Both these two XDataNodes only read from a control or write information to an indicator called Timing. These two instances don't seem to be connected anywhere, although they have a Timing structure control and indicator on their front panels.

One more instance of XDataNode is on the right of the loop, which is called Output Node. This is connected to the Timed Loop Right DCO as stated above. All these three XDataNodes only read from a control or write information to an indicator called Timing. These Timing controls and indicators of XDataNodes are accessed by LabVIEW somehow.


To conclude timed structures consist of multiple instances of same XNode that initializes the external timing system and passes data to and from the timing system. However the actual syncrhonization of the loop is done outside LabVIEW written code. There is a external method that

--------------------
Tomi Maila



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
PJM_labview
post Oct 24 2007, 09:39 PM
Post #10


Extremely Active
****

JKI
Posts: 612
Joined: 19-June 03
From: Bay Area, CA (USA)
Member No.: 121
Using LabVIEW Since:1998
LV:8.5.1 ,8.6 ,8.2.1
United States France Nothing Selected My Blog


QUOTE (Darren @ Oct 24 2007, 02:04 PM) *
The XDataNode is the "ear" that sticks off the side of the Timed Loop. The Timed Loop itself is a native LabVIEW structure. I'm fairly certain that there currently exists no way to create a G-based structure.

-D

Ah, that's too bad sad.gif

Well may be combining the use of VI inlining + XNode + XData Node something might be possible.

Have the code in a subVI, have the XNode display an image of the code instead of the SubVI icon, then attached ear(s) to control execution (if possible/needed). When the user want to edit the XNode code, inline the subVI/Xnode...

This are stream of consciousness ideas... might not lead to anything.

PJM

--------------------

Got VIPM?

JKI . VIPM . EasyXML . OpenG . LAVA . Builder . Blog



Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

 




Time is now: 22nd November 2008 - 08:07 AM