Jump to content

Really big Connector Pane on your Front Panel


Recommended Posts

I posted a while back how I was feeling there must be a better way to wire up my controls to the connector pane on my subVIs. My experiments since then have been quite fruitful.

Auto ConnectorPane

  • Puts a huge scaled connector pane decoration on your front panel.
  • Connects up any controls or indicators that are in the oversized terminal boxes.
  • Drag your controls and indicators to the desired box, or outside the decoration to disconnect them.
  • Works with all connector pane patterns.

post-1519-1192475513.gif?width=400

post-1519-1192475531.gif?width=400

It's the best thing since dragging your mouse back and forth between the connector pane and each and every control and indicator! Just put the .llb file in your project folder in the LabVIEW directory. Restart LabVIEW and you will have an option in the Tools menu for Auto ConnectorPane.

LV 8.2 or higher is required, and depends on several OpenG libraries (you should have OpenG installed anyway, of course).

Auto ConnectorPane.llb

Hope you enjoy.

Link to comment
  • Replies 52
  • Created
  • Last Reply

Top Posters In This Topic

Very nice tool.

This is still a little bit too much work and is against my work flow.

I think, for my use case, I would like a tool that auto connect to the connector pane, given the relative position of controls.

So I would position my control the way I want (no grid), then run the tool (which will attempt to connect doing its best effort, following a few simple rules). It will default to the 4x2x2x4 (4815) connector if no connector selected, else use the existing one.

But this is still a very nice utility :thumbup: (I might even use part of it to write my version of it).

PJM

Link to comment

QUOTE(PJM_labview @ Oct 15 2007, 02:23 PM)

I agree that minimizing work was very much my effort. The tool does attempt to connect all the controls at the beginning, but requires that they be within the grid boxes. Mark Balla wrote a http://forums.lavag.org/SubVi-Fixer-tool-t1597.html' target="_blank">really neat utility that does more of relative spacing like I think you are asking. This requires quite a bit more work than "Is the control in the box?".

Personally, to make this tool work with my workflow, I have changed my default grid spacing on the front panel to 200. Then with a scaling factor of 25, and the 4x2x2x4 (4815) pattern, it is obvious where to place the controls and indicators while working. Then when I am ready to wire it all up, I run the tool. I also have it set up with a keyboard shortcut through a toolbar utility that I built. So I press the shortcut key and then I hit Enter (if no tweaking required). Done.

To Michael : I will submit this to the Code Repository, and see what I need to clean up ;)

David

Link to comment

Sorry to be the bringer of bad news but there is a problem with your code.

As the team member responsible for this CR submission I would normally do this by pm but since you started the discussion here I need to warn every one there is a potential crash and I don't want anyone to lose any code because of it.

If you call up the auto connector pane vi and purposely or accidentally try to move one of the box decorations LabVIEW will crash. See video.

Download File:post-584-1192513096.swf

I do have a few additional suggestions aside from fixing the crash.

How about redrawing the decoration boxes when the scale or pattern is changed.

Also it would be nice if we could move the boxes to the controls and have them auto wire.

Link to comment

QUOTE(mballa @ Oct 15 2007, 11:08 PM)

Hmmmm... :unsure: That's not good at all. I did see some crashing when moving the box decorations, but it seemed to go away when I put a Defer Panel Updates in. I will take a longer look at that. I posted this in Rusty Nails because I felt it was still a little rusty, but I wanted some feedback on it. Thanks for finding this.

QUOTE(mballa @ Oct 15 2007, 11:08 PM)

I do have a few additional suggestions aside from fixing the crash.

How about redrawing the decoration boxes when the scale or pattern is changed.

Also it would be nice if we could move the boxes to the controls and have them auto wire.

Redrawing the boxes would make it easier to see what changes would look like. Very nice suggestion.

Moving the boxes is a very novel idea. Each box corresponds to a terminal, so one would have to keep the same general layout. If you dragged a box from the top to the bottom, it would still link to the top terminal. Otherwise you have to get into relative spacing. Or is this not what you were envisioning?

P.S. I appreciated the inspiration I received from your SubVI Fixer that I mentioned to PJM. Thanks for posting your code for that.

David

Link to comment

QUOTE(JDave @ Oct 17 2007, 01:22 AM)

I posted this in Rusty Nails because I felt it was still a little rusty...

The "Rusty Nails" section is more about NI's undocumented and unreleased stuff - not things that you need worked on. As the group verbiage says: "Welcome to LabVIEW's attic. Watch the beams overhead and be careful not to step on any rusty nails. If you do snag one however, don't come crying. We warned you." :D

Link to comment

QUOTE(crelf @ Oct 16 2007, 08:48 AM)

The "Rusty Nails" section is more about NI's undocumented and unreleased stuff - not things that you need worked on. As the group verbiage says: "Welcome to LabVIEW's attic. Watch the beams overhead and be careful not to step on any rusty nails. If you do snag one however, don't come crying. We warned you." :D

I meant rusty as in involving scripting and not well proved. If I thought it would easily crash I would have stated so. But dabbling in scripting is asking for the occasional crash.

Where is the place for things I need worked on? I was looking for feedback and ideas on how to improve the tool, and to see what people thought. But I certainly appreciate if someone found a serious bug that I need to fix.

David

Link to comment

QUOTE(mballa @ Oct 15 2007, 11:08 PM)

I do have a few additional suggestions aside from fixing the crash.

How about redrawing the decoration boxes when the scale or pattern is changed.

Also it would be nice if we could move the boxes to the controls and have them auto wire.

I changed the file in this thread to fix the crashing. I also implemented the redrawing of the boxes if settings change.

I wanted to get some more feedback on the idea of moving boxes around. How did you envision this?

Any other ideas from other people on how to change this to work better with your own workflow? How do all of you typically go about wiring your subVI connector panes?

David

Link to comment

QUOTE(PJM_labview @ Oct 15 2007, 11:23 PM)

I think, for my use case, I would like a tool that auto connect to the connector pane, given the relative position of controls.

So I would position my control the way I want (no grid), then run the tool (which will attempt to connect doing its best effort, following a few simple rules). It will default to the 4x2x2x4 (4815) connector if no connector selected, else use the existing one.

Yes this would be a very handy LV feature or tool.

It could also warn if you connect an error in at top-left or a functional global action (enum) at left or an output at left. If it could not match your controls to the 4x2x2x4 connector it could present you with a choice for an other one... or resize the window to have only the controls visible that are to be attached... or ask you politely to clean things up and position controls better... I like polite software.

Joris

Link to comment

QUOTE(tcplomp @ Oct 17 2007, 04:37 AM)

I like the showing the icon afterwards.

Fitting the decorations to the current size can be problematic. What is the minimum allowable size? Spacing is already tight with clusters and arrays. I wish I could change the default panel size on new VIs to be a little bigger, actually.

QUOTE(martin@aerodynamics @ Oct 17 2007, 06:38 AM)

I think it's a very good tool!

But what are you making, if your controls/ indicators are (verry) big clusters?

Overlapping controls are not that nice...

Verry good question. It is important to remember that the majority of controls are small enough. The majority of my very big clusters are made into Strict Typedefs and shrunk down to something more manageable. Clusters taking over my FP are not that nice either. For the remaining cases, I suppose I would use the tool to auto connect what I could and tweak the rest.

post-1519-1192638002.gif?width=400

David

Link to comment

post-2399-0-21836100-1349374376.pngQUOTE(PJM_labview @ Oct 15 2007, 04:23 PM)

QUOTE(JDave @ Oct 16 2007, 10:22 AM)

P.S. I appreciated the inspiration I received from your SubVI Fixer that I mentioned to PJM. Thanks for posting your code for that.

QUOTE(robijn @ Oct 17 2007, 04:20 AM)

I was going to hold off and wait until I had this perfected and I didn't want to hijack the thread.

But with all the discussion on this topic that I have been working on for the last 2 years and JDave mentioning my old fixer, I can't resist showing what I have currently.

This is the 8.2 version but I have 7.1 to 8.5 if you want them.

The three items go in your LV project folder and FIX SUBVI is selected from the tools menu.

The Basics go like this

Start the program

It will open and then minimize.

create a subvi arrange controls on the FP so they correspond to how you want them wired on the connector pane

Select all the controls that you wish to wire to the connector pane

Press CTRL-Shift-Spacebar

the Fixer will popup

Select a Pattern

Press "Wire By Arrangement"

the connector pane will be wired

Press "Arrange & Cleanup"

The FP will be squared up, Labels will be arranged and changed based on settings, Prompt for save, Icon editor called, and documentation editor will be called.

The subvi will also be relinked. (so it is not greyed out in its callers)

Fixer will minimize until next time.

Here is a brief video of how it works. http://lavag.org/old_files/post-584-1192643456.swf'>Download File:post-584-1192643456.swf

One minor issue is it tends to bog down with large projects 600 or more vis in memory. This has to do with finding the active vi.

Any feedback would be appreciated.

There is a lot more to it but I will save that for later.

this will eventually go in the CR once its a little more polished.

Mark

Link to comment

QUOTE(mballa @ Oct 17 2007, 07:58 PM)

One minor issue is it tends to bog down with large projects 600 or more vis in memory. This has to do with finding the active vi.

Mark

Mark,

Maybe the 'VI activation event' works for you (it is private).

Would it be possible if the two of you work together, it sound like the code from Mark is better (sorry David), but I like your approach as it is very intuitive...?

Ton

Link to comment

QUOTE(tcplomp @ Oct 17 2007, 01:06 PM)

Mark,

Maybe the 'VI activation event' works for you (it is private).

Would it be possible if the two of you work together, it sound like the code from Mark is better (sorry David), but I like your approach as it is very intuitive...?

Ton

Where is the "VI activation event" located?

Link to comment

QUOTE(tcplomp @ Oct 17 2007, 11:06 AM)

I worked on mine for about three days, so I am not surprised. I will need to look at the updated version to get some more ideas :thumbup: . Maybe there is some good room to combine efforts.

QUOTE(mballa @ Oct 17 2007, 11:12 AM)

Where is the "VI activation event" located?

It is under the <Application> option in the Event Sources box when you add an event to the event structure.

Ton - I have not needed to register for any app ref. In LV8+ there is a field for the App Ref of the activated VI.

Link to comment

QUOTE(PJM_labview @ Oct 15 2007, 02:23 PM)

This is still a little bit too much work and is against my work flow.

I think, for my use case, I would like a tool that auto connect to the connector pane, given the relative position of controls.

So I would position my control the way I want (no grid), then run the tool (which will attempt to connect doing its best effort, following a few simple rules). It will default to the 4x2x2x4 (4815) connector if no connector selected, else use the existing one.

I had a few ideas that might align with your workflow. But a few questions - How would you envision handling controls that you don't want connected? Would they be required to be made not visible, or would you restrict the wiring to selected controls, or would you have a special place to put controls you don't want connected?

Do you envision your visible front panel area to mimic the connector pane, so the relative positions of the controls on the front panel are in roughly the same place as the terminals?

David

Link to comment

QUOTE(JDave @ Oct 17 2007, 01:44 PM)

David:

1) I hardly ever have controls on my FP that I do not want to connect to the connector pane.

2) Best attempt at connection will do the following (in order of priority):

3) If there are controls/indicators I don't want to connect, I am not sure what the best approach is. Maybe if the controls/indicators are not in the visible window frame, it should not be connected (yes I think I like this).

PJM

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.