Jump to content

Kurt Friday

  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Kurt Friday

  1. Hi Lavans Medulla will be releasing its Test Executive framework as open source before the end of the year. I responded to a post here where people were after an Open Source Alternative to TestStand. I wanted to make this a new post as I don't want it to be misconstrued that our executive is a replacement or that we are anti TestStand, I think TestStand is a brilliant tool, I've used it and will use it where needed, however options are good to have and many of our clients only want a LabVIEW only solution. Our Test Executive is built on the ViPER framework which is also being made open source. You can view a presentation I did on ViPER and our Test executive here Medulla Test Executive Part 2 includes a demo. I'll be talking more about ViPER and the Test Executive at the GLA Summit. I'm looking for some power users who would be keen to play with it before I release it.
  2. We’re looking at making our Medulla ViPER test executive open source. I presented the ViPER architecture and test executive to the Sydney LabVIEW User Group. You can view the presentation in the link below ViPER Test Executive Presentation I’m hoping to have this released before the end of the year but I’d be keen to have some early adopters.
  3. Hi Lavans I'm working on releasing our Medulla ViPER Dependency Injection Framework to the community as an open source project. ViPER has been a labor of love that I have been working on for close to 8 years. The motivation to develop ViPER was to reduce the cost, time and frustration involved in deploying test systems in highly regulated industries such as medical device manufacturing. The big problem that ViPER solves is that change does not require you to perform a full top to bottom verification of the system, only the new or changed component needs to be verified. We used ViPER at Cochlear to test implants and sound processors and is the standard architecture used within the enterprise. ViPER was also used to develop a system to parallel test up to 100 Trophon 2 units simultaneously for Nanosonics by implementing a Test Server running on an NI Industrial Controller. HMI Clients were implemented on tablets for operators, engineers and admins. Although ViPER is useful for test its not used just for test systems, you can build any system with ViPER. ViPER is a plugin architecture, it implements a recursive factory creator that injects pre-built (and verified) components into a system at runtime defined by a Object Definition Document. ViPER can build rich and deep object hierarchies, even inject into ancestors as well. Components include soft front panels and attribute and configuration viewer and are built on GDS4 class architecture. ViPER systems are also slim and efficient because they are not carrying around redundant classes in their builds that may or may not be needed. ViPER includes an Object Editor that allows you to create or edit the Object Definition Document but is also a useful engineering tool allowing you to navigate the object hierarchy, configure and launch Soft Front Panels for any sub objects. Included is a Project template that allows you to create your own ViPER Components. I presented ViPER the GLA Summit last year and to the Sydney LabVIEW User Group, I've posted the Video of the presentation on LinkedIn, I'm keen to find a few gurus to have play with it before I release it. ViPER: A Dependency Injection Framework for LabVIEW Cheers Kurt
  4. Thanks Eventually I'll add the ability to edit an item and read back the cluster Also right click and view an item such as an array as a waveform graph. If the item is another object then display its attributes as well. The Variant Probe looks cool I'll take a closer look
  5. Hi All I'm playing around with visualising clusters as a tree structure. I've got some nice code working that I thought I would share. It's part of an abstract data viewer that I'm working on. Code is based on Open_G Variant and Open_G Config File tools ClusterViewer.zip
  6. I had a similar issue thanks for the post I found I had to manually copy LabVIEW 2014\resource\lvimptsl.dll into the root of my exe
  7. Hi All Apologies for not replying I didn't realise that there were posts here. Regarding the Pump example, its just a simple demo of the capability of the framework. Probably the best way to handle not pushing another pump volume command while it is already pumping is to have a busy state in the datamembers and don't allow any new pump volume commands to be placed in the queue until it is not busy. Spot on! In most cases all you need is the command queue to send commands into the process, however there are situations where you would want the process to message up to the public level. In the launcher there is a wait on occurrence, and that occurrence is the 1st thing that is set when the process is launched. We want a situation that when the launcher has completed execution the process is confirmed to be up and running. So the launcher waits until the process is live. The same is true for the close process, it waits until the occurrence is set when the process shuts down. I've tested inheritance and all works as expected, you can have parent active object and call its constructor within a child and the parent process is launched. Take a look at the Bike example, although the Bike is not active you could make the Bike active and the Racer would inherit the active capabilities of the Bike. A good example where you could use this is to make a general server class and the child is protocol specific.
  8. Maybe Symbio could send the GDS and AddQ vi's that are in question to an independant 3rd party. Once the 3rd party has recieved the vi's Symbio could provide the passwords to their Vi's and AddQ can provide the passwords to theirs. The independant party can then provide a report on the level of similarity.
  9. So some developers jumped ship from Endevo/Simbio to start AddQ, took the GDS sourcecode, repackaged it as their own and added a few bells and whistles to it, without your permission. The crazy thing is that if anyone wants to add OOP farmeworks into GDS all you have to do is contribute, and if you have ideas or sugestions on new features to GDS then Mikael would love to hear it. I'll keep using GDS, it Rocks, and I'm looking foward to contributing more.
  10. Yeah, definitely but it seemed to have issue with this file as well. LV2009_ENG_32.exe->(ZIP)->Products/MDFSupport/MDF/MDFSupport1.cab->misetup.bin.F5D87C60_CF9D_4AC4_8480_40189BD11225
  11. OK, I think this is a false alarm but I I think this needs to be investigated. I downloaded LV2009_ENG_32.exe from the standard download and evaluate LabVIEW link https://lumen.ni.com/nicif/us/lveval/content.xhtml However when I run the downloaded file "LV2009_ENG_32.exe" through F-PROT virus scanner I get the following virus detected W32/Virut.AI!Generic See the following report generated by F-Prot -----------------------------SCAN REPORT----------------------------- F-PROT Antivirus for Windows Antivirus Scanning Engine version number: 4.5.1 Virus signature file from: 11/4/2009, 3:23 AM Scan name: [Custom Scan] Path to scan: C:\Temp\LV2009_ENG_32.exe| Normal scan Also scan: Inside subfolders, Compressed files, Streams Scan started: 11/4/2009, 5:25:21 PM --------------------------------------------------------------------- [Found virus] <W32/Virut.AI!Generic (not disinfectable)> C:\Temp\LV2009_ENG_32.exe->(ZIP)->Products/MDFSupport/MDF/MDFSupport1.cab->misetup.bin.F5D87C60_CF9D_4AC4_8480_40189BD11225 [Contains infected objects] C:\Temp\LV2009_ENG_32.exe [Quarantined] C:\Temp\LV2009_ENG_32.exe->(ZIP)->setup.ini --------------------------------------------------------------------- Scan ended: 11/4/2009, 5:47:35 PM Duration: 0:22:13 Scan result: Scanned files: 1 Infected objects: 1 Disinfected objects: 0 Quarantined files: 1 --------------------------------------------------------------------- I've scanned the file through AVG but that particular variant of the virus doesn't appear in AVG's database. I've tested this on a clean uninfected machine, can someone else verify this if possible? If NI could also just confirm this is a false alarm as well
  12. Hi Hacti Do the crashes now occur even tough you don't work on the original conflicting VI? Can you tell more about the particular vi that caused the issue?
  13. Jim she is awesome, congratulations mate
  14. I've just released GOOP Developer 2.3 This latest version is built under LabVIEW 9.0 and appears to resolve the Vista issue and also provides LabVIEW 9.0 compatibility. The source code for GOOP Developer 2.3 is also available. You can download the GOOP Developer 2.3 Installer and source code here
  15. Looking forward to the long weekend

  16. OK so you have a RS 485 to 232 converter. Probably the first thing to do is check that your serial interface is OK and your cabling is fine, this is always a gotcha. In my experience the first time you plug some serial device into your PC it doesn't work first time, its either that I need a null modem or my com port isn't setup correctly, so check all that. Add into the mix that you have a 232 to 485 converter you have compounded the issue. Probably try sending packets via hyperterminal and check them on the 485 side with a scope, its a good reality check.
  17. Hi Hacti Does this happen when working on a specific project or VI, or will it occur if you start with a fresh VI and start playing with it? Does it happen in development or run environment? Take a look at this link from NI, it may shed some light.
  18. The NI-OPC Server supports the UDC 3000 and UDC 2500 see the following Link http://zone.ni.com/d...p/id/6417#toc17 So with the NI-OPC Servers you can communicate to your UDC controller, in LabVIEW you just use DataSocket to read and write to items. Alternatively Honewell probably have their own OPC Server which you should be able to connect to. You mentioned the Burr Brown Converter, what type of converter is it? do you have more info?
  19. OK I can replicate the issue, but I don't need to build it to see it. Steps to recreate 1) Place a Tab Contol on the FP 2) Make Page 2 the default value 3) Save and close the VI 4) Open the VI, Page 1 is shown instead of Page 2 Lecroy, having a go at the LabVIEW Development team is a little unfair. They work bloody hard do deliver a product that in my oppinion is Frikin Awsome. This bug is not a show stopper, just initialise it at startup with your desired value. Be proactive in the evolution and improvement of LabVIEW and report the bug to NI
  20. Can you check your browser history for Saturday?
  21. The problem is due to exe's now requiring an internal directory structure so they can handle building projects that contain classes or library's. So you want a solution that can check if the directory is internal to the exe. I had a play and found that the Get File Type.vi is able to return the type as Directory if the directory is outside the exe and Invalid if it is inside. I've modified your code to show this. mvcfgConfigPath_KF.vi
  22. Using Tim's and Eric's Ideas use a circular buffer. So you are going to have an array of points X of dimension N As each new chunk comes in do the following test. Find the minimum point xi Is (x0 - xi) > Dip Threshold Is (xn - xi) > 150mV Is (xn - x0) > Difference Threshold If all are true then acquire for the desired number of seconds.
  23. In the example set your desired frequency to 40KHz set the samples per buffer to 25 and the number of cycles per buffer to 1. This will generate a 40KHz sine wave with a timing resolution of 1MS/s I played with setting up a simulation board to test this and it works, however if I go above 1MS/s I get a warning that "Sample clock rate specified is so high that it violates the settling time requirements for the generation." Its just a warning that you are driving faster than the settling time of the AO, its not an error though. This should get you up and running.
  24. Hi You should have no problem, the NI-6281 can output at 2.8MS/s. The examples are the best place to look and the best example for your case would be Cont Gen Voltage Wfm-Int Clk-On-Board Regeneration.vi With this example you define your waveform, in this case a sine wave and it just cycles it continuously.
  25. I just had a little play with my 6008 and what I found is that although I set my range to 0 to 1 V it will still pass a small negative voltage. I think the reason why is that the range is not setting a coercion range but sets the programmable gain of the device. when you set 0 to 5V its using the + 5V span or gain of the device ( ie 16 bits over +5V) so you will see negative values being propagated due to noise in the system when the microcontroller is outputting 0V. When you go to write your voltage, the limits on output are 0 to 5V, and that's a hard limit and the driver does a reality check first before it tries to write it, so if its negative you are going to get an error. The way to get around this is to use the In Range and Coerce function in the Comparison palette to coerce your voltage between 0 and 5 volts before you write it.
  • Create New...

Important Information

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