-
Posts
3,392 -
Joined
-
Last visited
-
Days Won
284
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
inspect queued events in a compiled application
hooovahh replied to ensegre's topic in Development Environment (IDE)
From what I've seen, most password protected VIs shipped by NI are just call by library nodes, to a method that they don't want to be exposed. By keeping the low level call passworded, they can change the interface underneath but the terminals of the output of that subVI don't have to change. Looking over the list of possible calls to the LabVIEW internals I'd say they are calling the GetLVEventQueueDebugData function.- 12 replies
-
- event inspector
- dynamical events
-
(and 1 more)
Tagged with:
-
inspect queued events in a compiled application
hooovahh replied to ensegre's topic in Development Environment (IDE)
I thought so too but personally never had this issue. The Event Inspector Window is indeed a LabVIEW UI. I posted at some point where I wanted the ability to get a queue status on user events, similar to a normal queue here. I eventually made an idea exchange (linked in that thread) but looking at the source you can see that there is some what of an API for reading the event queue but it is for the whole application, and you need to do decent amount of filtering to get to the structure you want, and the events you want. I'll be honest I haven't personally used this beyond a demo to see that it is possible, I don't know what kind of potential memory issues using this might have. That being said I do have a demo that shows it in action. Attached is a VI that when ran will query the event inspector data and show the events queued up, what VI they are from along with the event type. As a demo just try to resize the VI when it is running to see it in action. Demo Event Queue Read.vi- 12 replies
-
- event inspector
- dynamical events
-
(and 1 more)
Tagged with:
-
LabVIEW RS232 Serial Read Write Application Com Port Freeze Up / Stuck
hooovahh replied to Tim888's topic in LabVIEW General
Is this cheap USB also plugged into some kind of hub? I can't remember the details but I know I had some kind of issue where trying a different USB configuration helped on a few small setups using a laptop where we didn't have many options like adding a PCI RS-232 card. As for programs there are several on the net that basically monitor, and log data seen on a COM port. I haven't personally used this one, but looking at the screenshot it looks similar to others. This is usually a higher level debug tool, just looking at the messages going back and forth, and probably won't tell you anything about a driver crap out situation. -
Problems installing DAQmx/Vision, only on Windows 10?
hooovahh replied to Neil Pate's topic in LabVIEW General
I don't know how things work at NI, but I wouldn't be surprised if efforts aren't ramped up as soon as the first alpha of Windows 10 is available. If it were me I wouldn't ramp up develop and test until the final release candidate is available, and it seems that didn't happen until last May time frame. I mean I don't think the user base is really there, so not being ready until February isn't holding back that many people is it? I mean I have yet to see a test system, or any NI hardware connected to a Windows 8 machine yet. Not saying it doesn't happen but I'm not surprised. Oh just out of curiosity I looked it up, Windows 7 came out on July 2009, and support for Windows 7 didn't come until LabVIEW 2009 SP1 in February. -
Problems installing DAQmx/Vision, only on Windows 10?
hooovahh replied to Neil Pate's topic in LabVIEW General
You probably already know this but, as far as I know, no NI software has been released, which officially supports Windows 10. This usually doesn't mean it won't work, and I've heard some people say they have LabVIEW 2015 on Windows 10 and haven't seen any issues yet. But it looks like others are having various Windows 10 issues. Until February I'm guessing there isn't much we can do without NI support. http://forums.ni.com/t5/LabVIEW/Windows-10-compatibility-with-applications-developed-in-LabView/td-p/3169517 http://forums.ni.com/t5/LabVIEW/compatibility-with-windows-10-and-DAQmx-14/td-p/3197358 http://forums.ni.com/t5/Multifunction-DAQ/Windows-10-myDAQ-Driver-Not-Working/td-p/3182525 https://forums.ni.com/t5/LabVIEW/Windows-10-with-two-task-bars/td-p/3198937 -
LabVIEW RS232 Serial Read Write Application Com Port Freeze Up / Stuck
hooovahh replied to Tim888's topic in LabVIEW General
Oh and there is the Windows power settings you may want to check. Windows can choose to turn off USB ports seemingly randomly to save power. -
I would not recommend posting your email on a public forum, spam bots crawl these sites. That being said the examples you are asking for are from the actual exam and cannot be shared or discussed. "It would technically be against their NDA for people to give out information on those since they are the currently active CLD exams (that I know of). Do not expect to get any information on those or people will lose their certification." Study the example exams, be familiar with these 6 scenarios, and feel free to post on the certification board. http://forums.ni.com/t5/Certification/bd-p/Certification
-
LabVIEW RS232 Serial Read Write Application Com Port Freeze Up / Stuck
hooovahh replied to Tim888's topic in LabVIEW General
Generally you open once, do your work, and close once. Generally you use Synchronous messaging so that you don't need to worry about time delays in reads or writes it just returns the data when it is ready. Not all protocols support this, but most end with a return character making it relatively easy. If you are questioning LabVIEW, try writing a simple serial VI that opens, reads/writes and closes then run it for hours to check your sanity. -
Project Dependencies, 'Find Items Incorrectly Claimed by a Library'
hooovahh replied to MartinMcD's topic in LabVIEW General
After launching the Clear Compiled Object Cache from Tools >> Advanced >> Clear Compiled Object Cache... a window appears with a listbox showing two items, User and Application Builder. By default both are already selected just click Delete. If you only want to delete one select that one, then click Delete. -
A lot has changed in 4 years but this still seems to be the normal behavior of a tree control. At some point the multicolumn listbox was improved to actually realize when a column was deleted by right clicking, and adjust horizontal scrollbar size accordingly. But there isn't a similar option for a tree control. Replacing the control does indeed convince LabVIEW the number of columns are different, and that is how I've always handled this situation. One step that might help make this process easier is you can replace a control in LabVIEW, with one in your clipboard, and have all the references, and events on that control go to the new one. I tested this and it does behave as you'd expect in terms of the number of columns. I created a tree with a string in columns 3 and 4, then deleted the string in column 4 and saw that the size according to the visible scrollbar still shows column 4 in the size. I then created a new tree, copied it to the clipboard, selected the old tree and pasted, which replaced the old one with the new one. Changing the column width to 1 pixel can work as well.
-
Yup, someone can correct me if I'm wrong, but I believe ethernet and RS-232 (VISA) is a RT only resource and the normal VISA and TCP palettes use those, no FPGA needed. Doing CAN on FPGA is something I have done before, but just like AIO streaming there is an example that just shows how to send all the CAN data to a FIFO, and RT VIs that convert it all to frames, then XNet or other custom code can convert it to whatever you want. If you wanted to write code that would do something custom like, when a specific frame was seen, set an output, then that could live on the FPGA if you weren't okay with the response time of going through RT.
-
So I remember investigating a few things with this menu bar at one time. My goal was to just remove the menu bar all together, without using VI Server. If your window implements the menu bar using some kind of standard Windows menu bar then this is relatively trivial, and using the GetMenu on user32.dll returns a reference to the menu, and SetMenu sets the menu. The problem I've found is that LabVIEW implements menus not as a standard menu bar, and using this Get and Set don't work as expected. I show an example of how to insert notepad in a front panel window here, and I can remove and add the menu bar using this DLL calls. (here is the post with source) My point in all of this is, if you found a way to change the color of a LabVIEW menu bar using OS calls, I'd be very interested in it. In my investigations I couldn't find a way to easily remove the LabVIEW menubar, let alone change any of its properties. Oh and the color probably comes from the theme applied in Windows, so if you are able to change all menu bar colors then that could be tried.
-
Thanks, I made assumptions based on other builds I've seen, which is also why I prefaced that with "I believe". I should have been more explicit stating I've done few deployments to RT to date.
-
This is really the preferred method for a PXI running RT. One other thing I'd mention is with cRIO vs PXI. With a PXI you essentially need two programs written, one for the RT one for the Windows PC for UI and communication. with a cRIO you may need three applications, Windows PC, RT, and FPGA. This may mean more work if you can't fit in the scan engine profile of an FPGA, but it also means flexibility if you want to do other custom things.
-
Interactive Webpage VI Options
hooovahh replied to hooovahh's topic in Remote Control, Monitoring and the Internet
I never really thought about the implementation details. I guess an option would be to use user events that get generated when those UI elements are interacted with. Of course that would mean you can no longer just auto generate a web page from a VI, you'd need code to create those user events, register for them, and handle them separately. I kinda like the simplicity of the auto generated stuff so I might just live with value changes. I mean that's all the RT Linux HMIs have right? EDIT: I started making this and idea exchange but wasn't sure if it was actually what I wanted. I was thinking given a reference generate a specific event, but wasn't sure if the webpage could even support that type of dynamic changes for things like menus popping up on right click. -
Interactive Webpage VI Options
hooovahh replied to hooovahh's topic in Remote Control, Monitoring and the Internet
That wasn't the intention, sorry if I didn't spend the time to research each and give a more detailed table of the pros/cons of each. The intention again, was to show that there are many similar toolkits trying to accomplish a similar task. Make a webpage which hooks into a VI running on a server, usually by replicating the VI's front panel in a webpage. No idea about the limitations of each, I suspect runtime menus, events, subpanels, tabs, .NET, ActiveX, and XControls to have varying levels of support. I would be very impressed if there is one that does all of these somehow. We should probably make this a new topic if we continue with this discussion soon. -
Interactive Webpage VI Options
hooovahh replied to hooovahh's topic in Remote Control, Monitoring and the Internet
Remember it's not just 3rd party tools. NI has shown lots of interest in their tools, and the linked keynote. Only recently have I seen a real need for something like this and will have to choose from one of them at some point. So no, I don't think it is common, but lots of people are asking for it, some must be using it. -
Fastest way to read-calc-write data with cDAQ
hooovahh replied to volatile's topic in Application Design & Architecture
Hm....well I think a continuous read might be the fastest. Set it up to perform something like N channels N samples, reading continuously at a fast rate, then perform a read, taking in all samples ready to be read. You will likely get lots of samples because of your fast rate but who cares, just grab the newest for each channel, do calculations, and write single point, or maybe have the write task already open set to a continuous write, and do not regen. The point I'm making, is I suspect that if you have your read task set to a continuous read, then just read how ever many samples are on the buffer, then this might be faster than reading a single point on each channel one at a time, because the task is already running and all that needs to happen is transfer the data. Maybe the write can work the same way but it might be more complicated. If you already have the task running, maybe performing a continuous write would be faster than multiple single point writes, but regen needs to be off. Otherwise your output will repeat because this is usually used to do something like continually write a sine wave, you use the write once and it loops back around but, in this case you wouldn't want that. Sorry I don't have any hardware to test on. -
Interactive Webpage VI Options
hooovahh replied to hooovahh's topic in Remote Control, Monitoring and the Internet
I wasn't really thinking of it as free advertising, at first this was the list of tools that you wouldn't want to try, if you don't want to spend money. This list does contain WebPanels I think is the only free one in the list (other than the one discussed here) -
Interactive Webpage VI Options
hooovahh replied to hooovahh's topic in Remote Control, Monitoring and the Internet
Oh so sorry, there are so many it is hard to keep up with. Okay lets see if I can do this justice. Front Panel Publisher Websocket API for LabVIEW Webpager Wezarp VIRemote WebPanels (or this) Web UI Builder LabSocket Remote Witness Data Dashboard, and NI Web Services should get an honorable mention, but isn't true to what this is supposed to do, which is turn a VI into a web page. And NI even has teased porting the LabVIEW run-time engine to JavaScript. EDIT: Updated the list. -
Fastest way to read-calc-write data with cDAQ
hooovahh replied to volatile's topic in Application Design & Architecture
If Windows is too slow for you, then you need something that can be more deterministic. Before that I'd recommend just looking at getting better performance from your code by looking for ways to optimize it. Because the type of control you are talking about seems like it can be somewhat slow. If that doesn't work and you need to respond quicker, and want to stay with LabVIEW then your options are some kind of real time OS or FPGA. The cheapest method isn't cheap. Maybe you can get a hold of a myRIO which is still on the order of $1000. On top of that bench top power supplies aren't made to change settings quickly, so even if you were able to sample an AI, and output an AO at 1KHz, I doubt many supplies can respond that quickly. In the past I've used power amplifiers for this type of work and they are made to change output very quickly. Give it a 0-10 and it outputs a 0-100. Of course this equipment is generally very expensive. I know you want some more control over this simulator, but would discreat components work? I mean if you used an op-amp and some basic circuity could you have the voltage that varies from the solar panel, directly drive the input to the PSU? And also this sounds like such a simple system, that maybe a small embedded micro could work. Program an Arduino like board that samples an AI and outputs an AO. The Teensy has a low cost version that is only $12 and has AIO and can be programmed with the Arduino IDE using all of its libraries. Without knowing your system details, I'd just recommend using normal Windows code. It's simple and easy, and could probably just use some optimizing. -
I'm not sure I understand your question, but if you make a build to be deployed on an RT target, I believe all the dependencies should be copied over. Similar to if you build an EXE for Windows there will be a Data folder with the dependent DLLs. OpenG relies on that external DLL library and I'd expect it gets included in the build.
-
Unzip the file that is password protected in labview
hooovahh replied to LV Developer's topic in Database and File IO
This isn't a working solution but it might help. I would use 7-zip, which has a command line utility, and a DLL. http://lavag.org/top...rs/#entry101116 There someone asked about zipping a folder of files in a way that wasn't supported so I suggested using 7-zip in a command line to get the function needed. You can look at the code and modify it to extract the zip using a password. -
I also tried back saving it in 2013 SP1 and it also had some runtime error with the in place element structure, which is odd because the only place you are using it is with these DVRs, and one place in the XNode code for being an unbundle/bundle but the error didn't come from there. I know this has a ways to go before it is code repository ready, but you're going to want to revisit the VI descriptions, lots of stuff in there with my name on it. Glad you are finding some of my code useful, but it incorrectly identifies what the code is a part of and where it comes from.