Jump to content

Norm Kirchner

NI
  • Posts

    823
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Norm Kirchner

  1. I think this will get you going. The big trick with creating wires is to have a ref to a node. Wire the ref to an "Invoke Node" and choose connect wires. Now relax and have a beer. :beer: ~,~ The Captain was here Norm Kirchner Download File:post-208-1114053803.vi
  2. Just thought I would share the wealth. I use this about 20 times a day. :thumbup: Figured y'all would appreciate it too. Feel free to change to your needs. ~,~ The Captain Norm Kirchner Download File:post-208-1113935053.vi
  3. Well I'll be brief at this late hour myself. I was trying to do something very specific so flexibility didn't get in the way of the first few learning steps. I have a BD in which I had 14 segments of wires selected. Got the Selection[] and casted those ref's to wires like their class name suggests. From there I wanted to kabitz w/ their positions to do a control like distribution. Maybe I just need to dig up the business cards from the LV R&D guys that I got at NI week last year to get the "unofficial" skinny on this
  4. Among other capabilites, I'm looking to move / distribute a selection of wires. NO , I do not want to use the "clean up wire" method. I'll do the processing of what new positions they need to go to, but I can't find a function that will successfully move a wire/section of wire. Any direction? :question:
  5. Are you trying to determine how to properly implement them, or what some of the typical properties/Methods do?
  6. See attached image In this example you will have the main vi registered for a user defined event. and then all that needs to be done is to have the user defined event fired in the subpanel VI -Norm
  7. See attached image. It should get you off and running. ~,~
  8. I believe that I understand what you are asking for. BUT, your choice of extension (.vi) for an image, will directly conflict with all labview created VI's. If you can define a different extension for this image, such as .LVI (LabViewImage), then the answer to your question is yes. You can create an executable that was writtten in LabVIEW which will be called every files ending in LVI are opened. How do do that is another disussion.
  9. Mark, Check out the attached code. There is a property for a control terminal label. And from there, you can access all the properties of said label. But assuming that you are already there and have already tried the position Property, and got error 1060: Object cannot contain(own) the specified object. I have found that I can move the object laterally by using a combination of Size to text = false Label size = Label size w/ new left or right position Justify the text left or right according to direction of move. Size to text = true. Check out the cobbled together attached VI. Start the VI and leave it running, it will stay topmost. Go to your block diagram, and select a number of terminals. press the boolean on the front of the Align BD labels vi. Just a little something I whipped up on the train btwn Milwaukee & Chicago. ~,~ Download File:post-208-1109176363.vi
  10. Mark, Doesn't look like it. I think the best you'll get is to retrive the selected items and move accordingly.
  11. Has anyone had success displaying live video (8bits,480x748) at a high frame >15fps rate not using the IMAQ controls. I can get the driver to acquire up to 30fps and display the data via a numeric array indicator, but when it comes down to displaying the whole image, it takes me down to about 7-12fps. I have toyed w/ the intensity graph and found that to be inefficient. 5-7fps max I have found a solution using the picutre control, but I max out around 12 fps. Has anyone had success doing this? Norman J. Kirchner Jr. Certified LabVIEW Developer Automation Software Engineer Engineering Specialists, Inc.
  12. Interestingly enough each page on a tab is similar to it's own front panel. If you look at the properties for a tab control you'll see a property called Pages. It is an array of references to the individual pages. From there you can get to a property called CtlsOnPage. That is how you dig down into the tab control. :thumbup: ~,~ The Captain Was Here
  13. Acutally the ActiveVI property does not return the reference to the tool. It returns the reference to the vi which has had an object selected in it. See attached VI. I run the VI and it stays on top, and whenever I need it to work I select the objects to be operated upon, and press the button in the tool and it modifies the elements that have just been selected, just like in the tunnle wizzard. For those of us who like to have our BD terminal lables (non-icon style) line up to the right for controls this is the utility for you. Just leave this running in the background and whenever you have a few control terminals whose lables you want to right justify and align w/ the right edge click the button. IT IS VERY MESSY IN THERE SO USER BEWARE. ~,~ Download File:post-208-1102280175.vi
  14. Anyone ever make their own scroll bar/scroll bar interface? I need replicate the functionality & look of the standard windows scroll bar. Anyone already make that wheel? ~,~
  15. Place a breakpoint in the subpanel VI. Save it and close it. Run the Calling VI. When it hits the breakpoint, it will pop up the subpanel. Just be careful to eventually remove the breakpoint from the VI when it is not in the subpanel. Alternatively, you can turn on the Allow view of BD option when you right click on the empty subpanel control at edit time. then all you have to do is right click on an open portion of the loaded subpanel vi and you should see a 1 item list to view the BD. Hope that helps ~,~
  16. For those of you w/ NI-Scope (those w/out, look on the device drivers CD) If you notice on the splash screen, it has the powered by LabVIEW text. Must be an EXE built in LV c:\Program Files\IVI\Drivers\niScope Challenge: Can you get the main scope FP published over the web via the browser plugin? here's some hints you can turn on the web server via the exe's ini file you can create the html necessary to view a vi using LV 7.0 web publishing tool you can simply edit the vi that it points to by editing the two references within the html code. So far I can get it to publish any of the exe's vi's w/ open front panels to the local machine, just not across the net. Looks like some kind of access problems. SIDE NOTE: if you know how to fix the error "Remote panel server failed to send requested VI" I'll be forever grateful as this is the error that stops me. :headbang: G Hacker was here
  17. Thank you Mr. Hamilton for the poke in the side. But the program was written and the customer asked for this specific feature after the fact. But for those of you interested in the actual answer to the riddle :ninja: Just found it =8^ ) allowmultipleinstances=True just throw it into the exe's INI file works like a charm
  18. As far as the "Something Bigger" goes I'm right there with you. So far I've created simple apps that do things like. Aligning BD labels - so that when you place a control the label right justifies w/ the control Copy Graph Properties - framework code so you can select those properties that you want to copy Make label visible - when you copy FP controls that have hidden labels, the pasted controls terminal on the BD have hidden labels also. This is a select all and run prog, makes all selected items lables visible. SIDE NOTE : if anyone knows how to interface w/ the windows voice recognition software, wouldn't it be great to have things like these voice activated. Or even simpler, things like "create property node", "create constant", "right justify" :thumbup:
  19. For this specific case, an application has been built for demonstration purposes, w/ no hardware. The software is modular so that multiple types of demos can be called from the same app. The problem is when you want to compare 2 of the same model or possibly different models. I understand that there are other ways of accomplishing this specific task, (1 master program calling multiple instances of a slave) but the application has been designed & built and now this functionality has been requested The expectation is for it to behave, as say notepad does, when you call it twice. As far as renaming the exe then running it, I have seen it work on my PC but when the customer attempted it, they said that they got two separate apps open, but when a button was clicked in one, both responded to it. Bizarre
  20. Does anyone have a clean method of making an EXE which can have multiple instances open :question:
  21. When you build an exe, a .ini file is created with the same name within the exe directory. place these values within the ini file WebServer.Enabled=True Then, when you have the exe program running. Attempt to access the web page that you created while you were still in development mode using the "Web Publishing Tool" Placing that tag within the INI file turns on the web server for that EXE Just make sure that you have a web page already made that looks at the VI that you want to display.
  22. What are you trying to accomplish? Using activeX events with the event structure or user defined events w/ the event structure. You can not use activeX events w/ the LV event structure But you should be able to register a user defined event the way that you outlined. By creating a new user event Wiring it to the event terminal on the "register Events" function and then wire the event registration refnum to the dynamic terminal of the event structure. Be more specific in what you are trying to do
  23. Just because I'm feeling giving today. Heres a great place to start from. Download File:post-208-1095342040.vi
  24. Give me a place to wire and I can move the world. Look up occurances. What you can do is place a wait on occurance in a single frame sequence and then wire a wire through that sequence where you want your program to sit and wait. All that is necessary is to have another VI, visible or hidden, fire off that occurance which will allow that part of the code to continue. got a little captain in you? Want some?
  25. Ok Mr. Beginner, Here's your crash course. The XY Plot will only display the data currently input into the control. So every time you get a new point, you must merge it with the previous data and push that to the XY plot control. The way to access previously acquired points is to use shift registers. Here's the methodology, like in PJM's example. Acquire an x point and a y point use the build array feature to merge the current x point with an array of all previous x data and do the same w/ the y point. Then after the new points are merged bundle them together and then push the new cluster to the XY plot. Hopefully this combined w/ PJM's code you understand how to handle the data you are getting -Norm
×
×
  • Create New...

Important Information

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