Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/08/2017 in all areas

  1. I seem to have encountered a bug which could make a lot of my work less reliable. Could anyone shed light on this behavior? I am attempting to obtain properties from controls within typedefs programatically, however the control/tabbing order set in the typedefs seems to be affecting the order in which the control references are obtained in an erratic manner. I can produce two seemingly identical typedef clusters with the same control/tabbing orders displayed whose control references are not in order. Please see the attached image.
    1 point
  2. AllObjs[] uses the Z order, not the tabbing order. My understanding is that this is because it can include objects which can't be tabbed to, like decorations, so they're not part of the tabbing order. The same applies to SelectionList[] properties (although those also group items you selected together in a higher hierarchy).
    1 point
  3. I haven't tried now and my exprience with trees is limited, but a quick look shows two possible options: The Top Left Visible Cell property, combined with the Number of Rows property, which will definitely work, but will require some computation to determine what it should be. The Open/Close.Ensure Visible method, which should probably work.
    1 point
  4. Hello I am trying to save TDMS files that ideally contain the following: - 3 xy graphs (each containing two 1d arrays) - 1 waveform The problem i'm running into is that when I convert the xy graphs to waveforms, the x-axis is converted to time, which isn't real or useful to me. I've attached screenshots of what the XY graph should look like VS what it ends up looking like with the waveform. How to I make sure the x-axis is preserved so that I can save to TDMS? Edit: VI is included & pictures have been updated to better represent my code. TDMS Waveform Example.vi
    1 point
  5. Ohhh! This is a different issue all together. You don't have a Waveform Graph, you have XY graph. A Waveform graph has every sample be the same distance apart, where XY it is arbitrary. Attached is an updated version where we write three channels, one for the X one for Array 1 and one for Array 2. Then when we read we read all values from all three channels, then build them back into a bundle of X and Y values. I also built that into an array so one XY Graph can show both plots but you may want that on separate plots. TDMS Waveform Example 2.vi
    1 point
  6. Hi @hooovahh! Thanks for the feedback. I used that express VI just to make a quick example. I've attached a more representative version of my actual code. I've included the read TDMS of your code. What do you think? Is there a way to preserve the X-Axis in the TDMS file? If not, any other approaches? I would like to be able to preserve as much data as possible in 1 single file. TDMS Waveform Example.vi
    1 point
  7. Using things like the dynamic data type, and express VIs is going to be your down fall. These functions work fine for the majority of the use cases, but having more low level control gives you the features you'll want. In this case I see a couple of issues where you are trying to provide an array of delta times where this should be a scalar value stating the amount of time between samples. This information needs to be recorded in the TDMS file and using the TDMS write primitives do this. That is why the time scale on your graph above is samples since the delta time between samples wasn't recorded, likely because the Write to Measurement File didn't know that meta data was there, since it is write a dynamic data type. Attached is an example of writing and reading a waveform with TDMS. Write Read TDMS Waveform.vi
    1 point
  8. Thanks! That fixed it. Why are the refs in AllObjs out of order like that?
    1 point
  9. Do you observe the same behavior if instead of returning the 'AllObjs[]' property from the cluster and typcasting each to a control , you return the 'Controls[]' property instead?
    1 point
  10. Our client having Scada based exe application (Non LabVIEW exe.).This application gives popup for saving pdf report file,So they need to write name of report every time.They don't have source code of this application.Now, they want to do automation in this. Whenever this application gives pop up for report name it should be automatically name by external labview application. How it is possible using ActiveX?How to create ActiveX object for this Scada based exe? or any other ways to do this things are most welcomes .
    1 point
  11. Just lots of trial and error. Even hidden windows have a title, and have a handle (HWND) that can be found. Some times this can be done by first finding a process ID that is linked to a file on disk. Then you can get all windows associated with an application, and manipulate that, without needing a window title. Sorry I don't have any examples of this, it's been years since I had to do something like that. As for reaching search fields maybe pressing tab a set number of times will get you there, or using simulated mouse clicks.
    1 point
  12. Great !!! I am able to get title of active window (Didn't try with client's scada app.).Is it possible to get title of background or hidden window ? Once popup window comes and I got title of window ,Can you tell me how to reach string field and enter report name and then press enter?I think it is possible using simulating keyboard. Thanks ...
    1 point
  13. It does really depend on your software needs, but generally any new industrial rack mounted PC is going to be an I3 or better. I'd pretty much avoid Atoms at this point unless you really know your needs are small and dedicated. I've been using the atom based RT controllers running Linux and this seems fine most of the time but I wouldn't mind more performance. The cost difference between a dual core atom, and a quad core I5 or so isn't that great. We generally spend $1500 to $2000 US on a rack mount industrial PC and it has more than enough horse power for what we need. As for OS we still stick with 7. I think 10 is fine, and we'll probably start moving to it for new projects. We just couldn't see using 8, especially before the 8.1 update.
    1 point
  14. Without the source your only hope is to use the mechanisms left by the developer. If there is no ActiveX and the only interaction is with a mouse and keyboard, then you'll have to simulate a mouse and keyboard. There are several examples of using AutoIt or LabVIEW to look for windows to be active (based on their titles) then simulate pressing keys to navigate where you want and type in information. This is quite error prone and user interaction may mess with stuff.
    1 point
  15. Laptops and industrial PCs are all computers. Atom processors are low-end processors. I expect you have something much faster in your laptop and likely a lot more memory. You're best bet is to use your laptop specs as the requirements for an industrial PC. To give you a better answer we'd have to know what your application is, your program architecture, performance requirements... There isn't a better for operating system (unless you're talking something like Windows Me and Vista, but those were just bad in general). There will be differences, but not better. Windows 7 has hit end of support (see Windows Lifecycle sheet) and end of sales (see article). Win7 will be available on industrial computers for some time, but not long term. If you are looking at something that needs to have components available for a decade, I'd go Win10.
    1 point
  16. Note: Detailed submission procedure can be found here. LAVA Certified All LAVAcr content is LAVA Certified - a certification that insists on appropriate quality, support and usefulness. Members cannot simply upload any type of code to the LAVAcr - it must adhere to specific standards and rules before it is considered for inclusion. All code submitted is moderated by a group of well-respected LabVIEW professionals, all of whom are also respected premium members of LAVA. What is LAVA Certified? All LAVAcr submissions are assessed based on LAVA Certified criteria, including appropriateness for the LAVAcr environment. Although this may sound daunting, making sure your submissions are LAVA Certified is really just a matter of common sense and the standard practices we have all come to expect from competent LabVIEW developers. For code to become LAVA Certified, it must adhere to the following requirements: All custom VIs must include an appropriate level of documentation: including the use of the VI Documentation, free text on the Front Panel and/or Block Diagram. You don't need to include a novel, but please consider the average level of knowledge of a LabVIEW programmer that has never seen your code before. A verbose description is expected on the submission web page: this will form part of the page where your code will reside. Error handling must be appropriate: If your code has an error in cluster, then chain errors through your code to an error out cluster. If you're providing code that may be used as a subVI, then enclose all of your code in an error case structure. Your style does not need to be perfect: but consider those who will be trying to understand and perhaps modify your code. Keep crazy wiring to a minimum, try to line subVIs up, give VIs meaningful icons, use the 4-2-2-4 connector layout when you can, etc. All submissions must be versioned. Incomplete or secure code will not be accepted: including code with locked diagrams, missing diagrams or password protection. You must take reasonable steps to confirm that your code conforms to the functionality you submit it under. You are the primary support vehicle for your submitted code: and you must stand behind it. If another LAVA member has questions and/or comments, you must make yourself available within a reasonable amount of time to help out. Each portion of code will have a dedicated support thread, and other LAVA members may try to assist too, but you own the code, so it's your responsibility. LAVA Certified assessors will not alter your code to make it meet the requirements: If a submission does not meet the requirements when it is assessed, it will be returned to the member with a short description on the requirements it failed to address. Submissions must state the LabVIEW version it was created with: If you would like your code to be listed under more than one version of LabVIEW, then you must provide an extra copy in the appropriate version. You must confirm that your code works appropriately under each version of LabVIEW that you submit it for. LAVA Certified code hosted in the LAVAcr must be bound by a software license of your choosing. A description of the license used must be included in the readme file of the submission. You must also include your contact and ownership information. Currently, we only accept code licensed under an Open Source License. The submissions form currently supports the following licenses which you can chose from: BSD GNU Public Lesser GNU Public Creative Commons Attribution 3.0 Creative Commons Attribution-Share Alike 3.0 Creative Commons Attribution-No Derivative Works 3.0 Creative Commons Attribution-Noncommercial 3.0 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 MIT Other (included with download) What is the Process for Submitting my Code? Code is submitted by filling out a dedicated web form here. This form requires some information from you (including a functionality description, image, desired distribution license), as well as a place to upload you code. More information about the submission procedure with a video can be found here. Once you have submitted the code, it will automatically get placed in the uncertified category and is immeadiatly available for download on LAVA. Once the review process is complete, you will receive notification whether you submission has been accepted and included in the certified LAVAcr categories, or if it has been denied based on the LAVA Certified requirements. How long does it take for my submitted code to be considered "certified"? That's an easy one: it depends The LAVA Certified assessment team are donating their time to this cause, so it may take a while (we aim to average next-business day). Try to find comfort in that good things come to those who wait. What Happens if my Code is Denied? We here at LAVA are people, just like you, and we don't want to exclude anyone, but making the LAVA Code Repository a free-for-all defeats the purpose of having a premium resource where other users can be confident that the contents are of a high quality. If one of the LAVAcr assessors deems that your submission doesn't meet all of the LAVA Certified requirements, then you will be emailed with a list of items that are considered erroneous. You are more than welcome to address the issues and resubmit the code. If you believe that your code is compliant with the LAVA Certified requirements and it is still rejected, please contact the assessor directly with your concerns.
    1 point
×
×
  • Create New...

Important Information

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