Jump to content

Kurt Friday

Members
  • Posts

    253
  • Joined

  • Last visited

  • Days Won

    12

Posts 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.

    IMG_20200121_090359.jpg.01148144b47a2a4480f695816ea72573.jpg

    IMG-20180206-WA0000.jpg.43e49bfddd1e4083278275c6cedcbcba.jpgIMG_1934.jpg.05491ed0e6a0c4b57a0a182f84976dae.jpg20140904_111802.jpg.a6883a653da5225473b89c75e3e0a443.jpg20160219_111138.jpg.1e637758c7c7356845bc33287acaff62.jpgIMG_1988.jpg.83f400faf73db628afe558d843481c7d.jpg

  2. 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

  3. 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.

    All the vis/controls in the private folder should remain untouched, except DataRef, which I customize with my own data, and Process, in which I delete all the cases (except "shutdown") and add cases to handle my object's commands. Create and Destroy are the only public methods that are part of the framework; the others are unique to the example. Correct?

    Spot on!

    There is both a command queue and a message queue. I couldn't find the message queue used anywhere. Is this an artifact of the development process or is there an intended use for it?

    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.

    I'm a little confused about the occurrence you use in LaunchProcess and CloseProcess. Both vis have a "Wait on Occurrence" before exiting with a 1 sec timeout, but there's no action based on whether or not the occurrence was set. Is this just a placeholder to show where to put code that does need the occurrence?

    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 see you've set up the methods and controls with dynamic dispatching and protected scope. Have you tried creating a generalized ActiveObject for the core functionality and deriving child objects for specific implementations?

    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.

  4. Hi Mikael,

    if Symbio could show that one of its password-protected VI has been copied, even partially, it would lift any remaining doubt that some might still have.

    (Not that I'm one of them)

    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.

  5. Mattias, I can see that you have rewritten lot of the code, but from scratch....

    It’s of cause just by coincident controls on the front panel have the same pixel coordinates, e.g. like this:

    post-941-026188600 1278154518_thumb.png

    ..or that the connector pane are almost identical, e.g. like this:

    post-941-031462200 1278155119_thumb.png

    Cheers,

    Mikael

    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.

    • Like 1
  6. 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

  7. Little update,

    I the attached files are the log files from the last crash.

    Can anyone figure out reasons for the crashes?

    Thanks,

    Hacti

    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?

  8. i had tried the NI OPC but i have't get any responce from controller. and the converter is Burr-Brown Companys LDM 485 this is special converter recommanded by honeywell, is their any way to solve this problem.

    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.

  9. Hi,

    Currently working with LV 8.6 and after a few hours of work

    I keep geting the following error and LabVIEW crashes.

    " LabVIEW: LabVIEW.exe - Application Error : The instruction at "0x1f713922" referenced memory at "0x00000000". The memory could not be "read" "

    In the attachment i put the error log file from one of the previous chrashes.

    What do I need to do to stop LV from crashing?

    Thanks,

    Hacti

    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.

  10. Hi, I am trying to read the data in labview from honeywell controllerUDC 3000 via Burr Brown Converter. Has anyone been able to do itsuccessfully? I am not sure what I need to do on the labview to talk tothe controller? Can someone through some light on it? and also give me prpper hardware and software Support (Including Code Guidence)

    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?

  11. Dang, I just want the features that have worked for so many years to stay working. I should not have to do Beta testing for a company to get a quality product. They should be performing regression tests.

    For a demo, what do you want to see. Just a VI with a menu, then the same after being built? Should be pretty simple for you to do. Just set your tab defult to something different then build it. It will not stick.

    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

  12. I am hoping that one of you out there can help me find a paper that I found on NI.com the other day. It was one the topic of more efficient ways of coding string selection routines. I read through it on a saturday and now of course I would like use one of the recommended techniques but I can't find it or clearly remember the information.

    Is there any chance any one here knows the paper I am speaking of? If so a name or link would be great. It's beginning to bug me now.

    Thanks

    Jason

    Can you check your browser history for Saturday?

  13. I'm having trouble with a build that worked in 8.5.1, but breaks in 2009. What I have is a VI that traces back to the root VI when developing or the .exe if built. I want to read from an .ini that's in the same folder as either the root VI or executable. The code I have is attached.

    The problem seems to be in a project containing this file. If I compile in 8.5.1 and this file is three VIs deep in the hierarchy it still returns "C:\OneDirectory\TwoDirectories\Config.ini", but if I compile in 2009 it returns "C:\OneDirectory\TwoDirectories\Application.exe\FoolishDirectory\Borkborkbork\Config.ini". I think it is because of a change in the default option for "Preserve disk hierarchy" in the executable build:

    post-16509-125426178169_thumb.jpg

    I can't figure out how to change this, but it is different between 8.5.1 and 2009. Can anyone help me with a correction, or maybe a work around? I'd be much obliged.

    Code:mvcfgConfigPath.vi

    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

  14. I'd still need an absolute level for this to work. I can't be certain of an absolute level. All I know is that there is a trough followed by a rise of 150 mV.

    George

    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.

×
×
  • Create New...

Important Information

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