Jump to content

hooovahh

Moderators
  • Posts

    3,432
  • Joined

  • Last visited

  • Days Won

    289

Everything posted by hooovahh

  1. Uh, what additional tabs would you want it to show? It's unlikely to work anyway since these pages are probably very tightly coupled to the control, or front panel object, and even if you were able to say take a tab shown for a string control, and have it show up in the decoration, I doubt things would work right. What are you wanting to add? It might be a good idea to post on the Idea Exchange where you can suggest future features of LabVIEW. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas
  2. You aren't mixing features, LabVIEW can save and open in XML. Extremely experimental. Don't be surprised if it falls on its face with complicated VIs, mixing libraries, classes, XControls, etc. https://lavag.org/topic/19173-anyone-else-interested-in-low-level-vi-editing-i-found-some-helpful-stuff/ Basically it shouldn't be used but is fun to look at.
  3. Multiple Crossposts going on here, and this one linked in the previous. Discussions seem to be all over the place without ever changing requirements of what OP wants.
  4. I've back saved it to 2011, but it will make the code even uglier than it was already, because I used some of the conditional tunnels, and concatenating tunnels, on for loops. Back saving code that uses these features earlier than 2011, makes functionally equivalent code, but uglies up the block diagram. Making a good XControl is not an easy task. And in this case you need to try to think efficiently. If I update the top tab area with a property node, we need to only redraw that. Same with inserting a new button or group, or tab. Ribbon Interface Test 2011.zip
  5. Crosspost where DataFinder is mentioned.
  6. Crosspost #1 Crosspost #2 (linked in #1) The code isn't doing much. Besides needing 2015 you also need the control and simulation toolkit for some reason. This is a post processing technique with the Simulate Signal being used for now. A while ago I had a need to look at every cycle of a square wave looking for drop outs. Here is my post on NI's forums with a VI at the end which could detect if one cycle was missing. Using a modified version you can look at each cycle of the sine wave. http://forums.ni.com/t5/LabVIEW/Detect-PWM-Drop-Out/td-p/2610921
  7. You mentioned taking multiple screenshots to see it in detail and so I wanted to describe how to share code. But at the same time I wanted to give you the information on how to find the information yourself.
  8. Did you read the Elapsed Timer function? Did you write a test VI? What is unclear about what I described? You may also benefit from some free training. -LabVEW Basics -DAQ Application Tutorials -cRIO Developer's Guide Learn NI Training Resource Videos 3 Hour LabVIEW Introduction 6 Hour LabVIEW Introduction Self Paced training for students Self Paced training beginner to advanced, SSP Required LabVIEW Wiki on Training Send Email On Timer.vi
  9. Posting code on the forums can be done in several ways. Taking screenshots of open windows is not one of them, pictures cannot be debugged or executed. The comparison is you wouldn't take screenshots of notepad and post them on C++ forums. Most people use snippets for small single VIs, which embeds the code in the PNG picture. http://www.ni.com/tutorial/9330/en/ Other ways are zipping the project and all code dependencies outside of standard libraries shipped with LabVIEW, then posting that zip. Drop down the Elapsed Time express VI (timing palette or search the palette), open the Context Help (CTRL+H) then hover over the function. It will describe how to use it and what it can be used to do. Then you could write a simple test VI that demonstrates how it works. Hopefully once you use it, looking at the inputs and outputs, the usage will be clear.
  10. My suggestion is to refactor your code so no one VI takes up more than one screen. Or if it does it scrolls in only one direction. Oh and I'd also run your code through the VI analyzer to get an idea of what things can be improved, like wires going backwards, objects on top of each other, measuring code complexity and finding recommendations for compartmentalizing the code into subVIs, etc. But to your specific question I'd say the simple solution is to used the Elapsed Timer express VI and configure it to tell you if some amount of time has gone by, and your condition has been true this whole time, resetting it if the condition is no longer true. There is an input to the express VI for this.
  11. I believe you only need to have one CLD, or CLA on staff. Here is the page that has some very not concrete requirements, but to become the lowest level of alliance member doesn't look too difficult. http://www.ni.com/alliance/join/
  12. Yup, still down. I don't know who maintains it but I sent Michael an email asking if he knows. I hope it isn't discontinued, while I didn't use it often, some of the information on there was still very relevant, even if some of it was dated.
  13. So maybe a strange question, but what's this conversion do for you? The information is already available in that original variant. All this does it convert it into another data type.
  14. Uh...variant to data the primitive that turns a variant into the data type you want, if you know the data type, which it sounds like you do. The OpenG stuff is most convenient if you don't know what you data type is. This is most common on APIs that are made to be more generic and detect multiple data types and act on them differently, or for things like message communication APIs when the payload can be anything. Oh and if you have a cluster and want to turn it into an array of variants you can use the variant to data here too, telling it to convert into an array of variants. Post your actual data types so we can help more. EDIT: Maybe something like this?
  15. After that does it open and run properly? I really should install some other versions of LabVIEW, for stuff like this.
  16. Because I'm an idiot and didn't test my code after back saving, which didn't include the subfolder that LabVIEW didn't know was a dependency. Attached is an updated version including the images in the demo. Ribbon Interface Test With Images.zip
  17. If your VI has no block diagram VIPreVIEW won't help, it is designed to show the block diagram in a web broswer. Your only hope at running the VI is to open it in the exact version of LabVIEW it was compiled for. But even then you can't change the code at all, all you can do is run it, assuming it isn't broken. And if it does open broken you can't edit the code to make it not broken.
  18. FYI something similar happens for Windows registry. If you read Local Machine\Software\National Instruments from LabVIEW 32 bit, in a Windows 64 bit, you will actually be reading from Local Machine\Software\Wow6432Node\National Instruments. A handy feature at time, but usually causes more issues than it solves. I did not know a similar function was made for the file system in regards to System32.
  19. Oh so sorry I missed that, tiny light green wire is hard to see on white background.
  20. I promise I haven't been working on this for over a year. I just got some new information from someone, on ways to get around the licensing limitation using native LabVIEW code. I believe I have a proper modern XNode Editor, that will create an XNode, or open an existing one, then allow you to add new abilities. These abilities are enumerated from LabVIEW, and if new ones are added, the list should show them. This means it is not version dependent, and shouldn't need updating, just to add new abilities. It also has a way to change the version, XNode library icon, and description just like the XNode Manager mentioned before. I haven't fully tested it, but it appears to do what it should. I back saved it to 2012 but I don't have 2012 to test with. New XNode Editor 2012.zip
  21. So this code is not polished at all, but it was something I did as a fun pet project and realize I won't be able to finish it any time soon. It is a ribbon interface done in a way that could be scaled up. Ribbon like UIs have been done in LabVIEW here. But these UI's relied on button controls, to be configured and made a specific way, and if you needed to update tabs, buttons, or groups, it had to be done manually. So I wanted to come up with a way to make a ribbon like UI, but all that was required, was to provide the tabs, groups, and buttons, and the UI would be drawn. The end goal was to make an XControl with value change events when the user presses one of the buttons, but for now this is just a demonstration of what is possible. The idea was the XControl would also be smart enough to only redraw the parts of the image that were changed. Like if I changed the top tab background color it wouldn't have to redraw all the bottom parts of the UI. Here is a video demonstration. Here I show the default settings, then change some of the color and text settings. http://screencast.com/t/daan9D78vqV Some of the challenges that you don't really think about, that the API needs to be able to handle, is the text being of an unknown length, and number of rows. Things like the top tabs needed to be able to expand right, or down as needed, and all other tabs, and images needed to shift to compensate. Same thing when it comes to the button and group text. Here you also have the added complications with the fact that the text might fit in the space already needed, like if the button is wider than the text. Images are scaled using .NET and the GDI resize. This is also where images are combined, since some may have alpha layers, much like the included images do. I knew image scaling might take a while, and wouldn't be the type of thing I would want to redraw as a mouse moved over a button. So for that reason I draw all the button states on startup, and then just combine the appropriate images for when the mouse is over, or down on a group, button, or tab. This means a pretty fast response on the UI but means more memory is needed to hold all the button states in memory. Doing the gradients efficiently for me meant doing them natively in LabVIEW. I found some .NET code that would do it, but much slower than LabVIEW just drawing horizontal lines, and using math to determine the next color of the line. Several times images or parts of images needed to be shifted and translated. Instead of converting a picture back into image data, then performing the move, then converting back, I used the code posted by Norm here. It needed to be updated for a few opcodes but for the most part is fantastic and made the image processing quicker. Other than mashing this into an XControl, I also didn't get around to creating a way to disable or disable and grey out buttons. This would take more image manipulation magic and possibly more images to hold in memory. Since disabled buttons are probably going to be somewhat rare, I thought I might draw these on-the-fly instead of on init like all the other button states. Anyway I hope someone finds something in this helpful, because I doubt I'll be able to do anything with it for a while. Back saved to 2013, and remember this is very unfinished code, be gentle. EDIT: Attachment removed, re-uploaded with example images below.
  22. Oh wow, I wish I was around to see some of that. Looking at what changed in a VI to make it signed would have been interesting for sure. And being able to view LabVIEW code without LabVIEW is something several people have tried to do in one form or another with varying levels of success. I remember seeing one version on LAVA that made some kind of java script of a VI that would let you go to the other states of a case structure. Too bad this has been abandoned for ~15 years. Again if you can post the VI source (with block diagrams) we can try to help update the code, or post images of the block diagram with the code capture tool. EDIT: VIPreVIEW is what I was thinking of https://lavag.org/topic/7132-vipreview-interactive-vi-preview/
  23. Okay lets back up a bit. What is your issue? It sounds like you have some VIs saved in LabVIEW 6.x or so, and you want to open them? It also sounds like the block diagrams of the VIs are missing. This brings up two issues. Versions of LabVIEW can only open specific versions of source. Here is a table. http://www.ni.com/tutorial/8387/en/ Next there is the fact that when a block diagram is removed, the source code is removed. All that remains is the compiled code essentially, and there is no publicly known decompiler for LabVIEW. Even if there was it would go against NI's EULA, and probably would work like crap anyway since so much of LabVIEW's visual information would be lost in a compiled binary. http://digital.ni.com/public.nsf/allkb/FEE732F4B1541B9586256BF0006A78CA What is a LabVIEW Player? Where have you seen this mentioned? Error 34 means Print Dialog Error, explain in detail, every step you take and everything you see. Do you see this when you go to open the VI? What version of LabVIEW? What version of your OS? Can you post the VI? As for the linked page you found. That sounds like it has nothing to do with what you are doing, and you should probably avoid those topics until you fully understand what this Low Level VI editing is for. It is not a bad topic to discuss, but it is one that the general public doesn't need to know about, and will likely break something or cause NI headaches in the process. It is extremely experimental and not condoned by NI.
  24. The way this is coded these two processes happen in parallel. If you are on a single core you may get inconsistent results. Also with UI's being updated asynchronously, if one finished, before the other (which we expect) then your timing won't be consistent because your computer will be off updating the UI and may take away cycle counts from the other process. Basically the timing information from that VI can't be trusted, but the fact that the numbers are so small means it probably doesn't matter anyway. Also can't that bottom for loop be removed all together? AND and OR work on arrays as well as scalars.
  25. Saved for 2013. It looks like this uses some OpenG stuff so be sure and have that installed too. ClusterViewer 2013.zip
×
×
  • Create New...

Important Information

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