Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Cluster of AF messages in VIP produce a void wire

Cross-posted to JKI:

http://forums.jki.net/topic/2011-void-wire-when-including-af-message-children-in-td-cluster/page__pi...

I have a reusable library for serial devices (I know, who doesn't?) that is being converted to the Actor Framework (yes, there is a good reason). This one has a "<company>_Transport.lvlib:Create.vi". The descriptor is a type-def cluster of: Transport Type enum, VISA resource name, ... and three children of "Actor Framework.lvlib:Message.lvclass". After building the package, when I place Create.vi, the cluster wire is void. It doesn't matter if I use a non-type-defd cluster, or if the parent Message.lvclass is used instead of the children. If I wire the classes in separately (not in a cluster), everything is fine - but the next package on the list has a lot more messages to include. Any advice is welcome.
http://forums.jki.net/index.php?app=core&module=attach&section=attach&attach_rel_module=post&attach_...

void wire.png

0 Kudos
Message 1 of 15
(7,950 Views)

Hit ctrl+shift+click on the broken run arrow. If that fixes it, it is an NI bug. If that does not fix it, I'll bet it is a JKI bug.

Message 2 of 15
(4,185 Views)

Recompiling all VIs in memory did not fix it.

0 Kudos
Message 3 of 15
(4,185 Views)

What about the Error List ? any helpful messages there?

The Transport Descriptor 2 works ... it does not have the Instances of the Objects in the Cluster ... maybe a visibility issue?

_________________________
CLA
0 Kudos
Message 4 of 15
(4,185 Views)

Block Diagram Errors

  Unbundle By Name: Cluster is invalid or empty

  Unbundle By Name: Contains unwired or bad terminal

The input to this Bundle or Unbundle function is not a cluster, or is a cluster with no elements

LV 11.0.1 32bit on 64bit Win7

Latest AF VIP

0 Kudos
Message 5 of 15
(4,185 Views)

Create a new VI

Place the cluster from the lvlib

Open Create.vi

The wire type is no longer void, but there is still an unbundle "bad terminal" error

Delete the wire and replace it (in Create.vi)

Everything is ok - UNTIL I start another blank project and place Create.vi in a new VI.

I don't know if it matters, but sometimes all the classes in the library show up in the "Items incorrectly claimed by library" results.

0 Kudos
Message 6 of 15
(4,185 Views)

Hm... despite what I said earlier about betting this was a JKI issue, it does sound more like an NI issue after your latest info. I'll go ping an AE to join this thread to start investigating as a possible CAR.

0 Kudos
Message 7 of 15
(4,185 Views)

Hello Todd,

I will be looking into this issue to determine if this is a LabVIEW bug that needs to have a Corrective Action Request (CAR) filed. I have been pouring over the issue to try to understand as much as possible; I have a few follow up questions for you.

The lvlib that you are talking about in step 2 of your latest post is the same lvlib you referenced as the one in your first post about your reusable library for serial devices, right?

Also, the cluster that you are referencing is in a .ctl file, correct?

Have you tried remaking the cluster .ctl file in your library file from scratch? I suspect corruption of some kind.

Excuse my inexperience in this area, but is the Create.vi the one that you posted a screenshot for above, or is that part of the Actor Framework or some other library?

Is this issue something I would be able to reproduce? I'm assuming you do not want to post your code. What steps would I need to take to reproduce getting the void data type wire from the cluster?

Thanks,

Joel C

National Instruments

Applications Engineering

0 Kudos
Message 8 of 15
(4,185 Views)
The lvlib that you are talking about in step 2 of your latest post is the same lvlib you referenced as the one in your first post about your reusable library for serial devices, right?

Correct

Also, the cluster that you are referencing is in a .ctl file, correct?

Correct, but placing it as a constant doesn't work, either (see reduced code set, below).

Have you tried remaking the cluster .ctl file in your library file from scratch?

Yes.

is the Create.vi the one that you posted a screenshot for above, or is that part of the Actor Framework or some other library?

From the screenshot. Create.vi is in the reuse library - in the VI package.

Is this issue something I would be able to reproduce? I'm assuming you do not want to post your code. What steps would I need to take to reproduce getting the void data type wire from the cluster?

Ah, right! Smallest reproducible code segment.

Starting again with an empty project, I added only a Create.vi, and a child of AF:Message.lvclass (with its required Do.vi). The only input to Create.vi is a cluster (bare, FP cluster terminal - no TD, no .ctl). I built a simple package with no renaming. Placing Create.vi in a new project showed the same void wire. Code attached. Thanks, Joel and AQ.

(Attachment issues - going to try to attach separate from this post.)

0 Kudos
Message 9 of 15
(4,185 Views)

Well, I can't get any attachments working, so I attached it to the JKI cross-post (see the original post for the link).

0 Kudos
Message 10 of 15
(4,185 Views)