Jump to content

Wim

Members
  • Posts

    65
  • Joined

  • Last visited

Posts posted by Wim

  1. I had to go to a customer for a very old project of theirs.

     

    They still use LV6.1 , tradiotional DAQ , ...

     

    After reboot of the PC and login by another user all configured DAQ tasks were gone.

     

    There is no documentation on the setup so recreating is not an option.

     

    They have an old image of the PC so .... where does MAX (version 2.2) store it's DAQ tasks, scales etc ?

     

    Thanks

     

    Wim

  2. tests are running for about 30hours now... everything is working at the estimated speed.

     

     

     

    At times I believe it is less about protecting a PC from viruses, and more about a check box in some corporate form that says "All domain PCs will have anti-virus software installed".

    In this case it is definitly just a checkmark on a form.... This customer is a big, very known company... can't mention the name though.

     

    And the comment "We have to ask a worldwide exception for this."  is just the same as "My checkmark is set,  yours isn't...."

     

    Well, the people that are using the application, can live with it.

     

    Their comment on this was..."So if we want to use software that our company does not allow, we'll just name it LabVIEW or Word or ....  Rather not LabVIEW, we want to keep that reputation clean"  :thumbup1:

  3. Hi guys,

     

    maybe a solution.

     

    So I build a new exe and tested it on different systems with the same configuration (simulation, exact the same experiments etc etc)

     

    The 2 systems at my customers location (the actual testsystem and the dev system) were both slow.  The 3th system (a personal VM) was fast.  With exact the same exe, installed runtimes etc etc

     

    So I'm thinking it is due to the PC's.  They are on a big network where IT has very strict policies.

     

    One of my colleagues had a good idea.... If it works from the LabVIEW.exe (the dev env) then rename your exe to LabVIEW.exe.  We think that LabVIEW is a known program which has more permissions on the system then my own build exe (SwitchablePS.exe)

     

    And for now it works.

    The dev env is fast in simulation, the actual test system is fast, even with the hardware connected.

     

    The test system is running a test now. It will end next week.  Fingers crossed.

  4. I never use the option to separate compiled code.

     

    Now it's getting stranger and stranger by the minute.

     

    The original dev system can create exe's again with good performance (I can only check the file IO, don't have the powersupplies there)

     

    If i copy this exe (including aliases file and ini) to the actual test system, file IO is terrible.  6s for a file on my dev system vs 30 to 450s on the test system.  

    I can't understand this one. OK, it is the same harddisk that files are written to... why the difference between dev env and runtime.

     

    Local settings: dev system: decimal point = point and on the test system decimal point = comma.   But I have in the LabVIEW ini and application ini the 'UseLocalDecimalPoint=False' option.

  5. shoneill,

     

    I'm having the issue again.

    I made a few successful builds yesterday and have a good exe running on the test system.

     

    However, I wanted to know what solved it.

    So, I did a commit to svn, to be safe.

    I reverted to an older project file (code stays the same) and did a build. Again everything slow.

     

    Updated back to the latest project file. I was assuming this would be a succes but..... again a slow exe.

     

    I tried making a new project file from scratch.... slow exe

     

    To be continued.

  6. Hooovahh,

     

    thanks for your input.

    The timig probe looks very usefull.

     

    However, the issue is already fixed.  Can't tell how... I don't understand it.

     

    I was preparing the folders with the code for a service request to NI.

    I changed the build path for the exe to a folder next to the code and build it again. That exe works fine.

     

    I copied it to my test system and VISA is running fine too.

     

    Strange solution ....  Was the build spec corrupt?

     

    I really can't tell but I'm glad my exe is running as expected now.

     

    I have a whole evening and night ahead to worry about what solved this issue  :)

  7. Hi,

     

    I’m having issues with a LabVIEW application that I made.

     

    Quick summary:

    The application is used for reliability tests.

    Users can configure profiles/experiments. These are translated to a voltage/current output.

    Experiments can be started to run parallel on a rack of power supplies.

     

    More Details:

    The application is OO-based. Each active experiment is an ‘experiment executor’ object which is a class with an active object. The process vi is a very simple statemachine which handles init of the hardware (VISA (Powersupplies connected via Ethernet, VISA TCP/IP)), iteration handling of the test, summary logfiles, UI and a few other things.

    Typical usage of the application is:

    16 samples tested in parallel. Most of them run the same experiment (== same output) but on different powersupplies.

    These samples are tested simultaneously, and started at the same time.

    System details:

    LabVIEW2011 SP1 (32bit) // VISA 5.4.1

     

    Observations:

    In development:

    • I can simultaneously start 16 samples
    • summary file of the experiment settings are written to disk  (16times in parallel == 16 samples and all vi’s are set to reentrant)  duration is about 10s for each file. (depends on the length of the experiment, different profile steps that are used etc) it is  a simple ini format file, about 136KB size
    • Experiments start execution. (== output and measurement on the power supplies)
    • Parallel reentrant VISA communication with power supplies works perfect, internal looprate in the ‘avtive’state of the process is about 500ms (with 16 parallel samples)

     

    In runtime:

    When I start the samples, the parallel processes are started BUT:

    • Writing if the ini summary file gets slower and slower each time a new clone/sample is launched. I see this, because for debug I open the FP of that vi.  Writing of the file gets slower and slower… fastest file == 30s, slowest (== last sample started == 250s)
    • Parallel reentrant VISA communication, looprate is 20-30 SECONDS (iso 500msec in development)

    Can someone help me with this ?

    16 parallel process isn ‘t that much.

    I always thought that runtime would be faster than development env.

  8. Hi Lava,

     

    I'm having an issue with a teststand deployment (Teststand 2013, LabVIEW 2013)

     

    I have a deployment which deploys my LabVIEW project containing all drivers (classes and lvlibs) for use in my sequences.

     

    In the deployment (LabVIEW options), I uncheck "exclude vi.lib", "exclude user.lib" and "exclude instr.lib" because the deployment should also work on an PC that only has runtimes and an operator interface.

     

    The build finishes without errors but I cannot open the deployed project...

    --> not on a development PC because it finds conflicts (XNodeSupport and some vi's in vi.lib picture.llb)

    --> not on a runtime PC (file not found)

     

    Did anyone else notice the same behaviour ?

     

    Thanks in advance for your help, tips and tricks :-)

     

    At first, i thought i had something to do with LabVIEW search paths (because I include vi.lib, it should not search for the vi's in the real vi.lib) but that didn't help... 

    http://lavag.org/topic/18620-labview-search-paths/#entry111920

     

  9. Just had an idea...

     

    in older versions of labview you could copy LabVIEW.exe and LabVIEW.ini and rename them.

    Both could boot LabVIEW with different settings.

     

    If this still works, I can remove the search paths to user.lib, vi.lib and instr.lib in the original LabVIEW.ini and try to load the build project with this one.

     

    With the other LabVIEW.exe and other settings I should be able the use the default search directories.

     

    I'm gonna give that a try on monday before trying the project provider framework.

     

    Wim

  10. Hi,

     

    I want to adjust the search paths in LabVIEW and i was wondering if I can add an entry to search the 'current project path' including subdirs.

    (a bit like teststand, current sequence path and subdirs)

     

    Reason:

    I have a few testsystems which run a teststand operator interface and a source distribution of my drivers (vi.lib, instr.lib and user.lib included)

     

    However... we have one system with teststand and labview development, for debug and test.

     

    If I build a project (teststand deployment) of my drivers, I get them in 1 folder structure. A projectfile with ALL subvi's needed vi.lib, instr.lib and user.lib included.... works on the testsytems BUT

     

    when I open this project in the dev env... the project has conflicts on Xnode support, picture to pixmap, Imagedata.ctl, ....

     

    I think that adding a search path in LabVIEW to search 'Current ProjectDir' including subdirs will solve my problem but I don't know the syntax for  'current project dir'  

     

    don't even know if this is possible.

     

    Thanks for your reply.

     

    Wim

  11. Hi All,

     

    We are upgrading a big project with TestStand 2010 and LabVIEW2010 to version 2013 (TS and LV)

     

    Meanwhile upgrading a few items in the database and configuration.

     

    In teststand 2013 you can configure result processing options.

     

    We configured the database option to log in a MySQL DB. All works fine.

     

    However, it would be usefull to read the datalink configuration in the operator interface.

     

    Is there a way to read the >> Result processing >> Database >> Database options >> Data link >> connection string expression with the teststand api?

     

    I've been searching in the teststand engin api and the application manager api but so far no succes.

     

    Thx.

     

    Wim

  12. Hi all,

     

    I need some help... You'll read 'TestStand' a few times but it is a LabVIEW problem  :)

     

    In my current project I have 4 testsetups all running teststand sequences. The 4 PC's are connected to a network and there is 1 network printer.

     

    I need automatic printing of the teststand reports and I want to wait until printing has finished.

     

    I discovered that automatic report printing in teststand is not that easy (don't understand why but ...).

    I found a LabVIEW workaround here (and also asked my question there)

    I implemented this 'Action'in my sequential model and this works fine.

     

    So the VI opens the xml report in a webbrowser window and it prints.

     

    So far so good, but I would like that vi to wait until printing is finished or at least until it is successfully sent to the printer.

     

    I tried making another vi that reads the default printer queue via a .NET constructor node etc etc .

    I can see my printjob (because I now the useraccount that submitted the printjob).

    BUT ... the 4 testsetups are logged in with the same windows user account so I can't filter on submitter.

     

    Any ideas on how to implement this ?

     

    I attached the 2 vi's:

    TS Print Report.vi is the vi that opens the XML report and sends it to the printer.

    printertest.vi checks the local printerserver and reads the default printqueue and PrintJobInfoCollection.

     

    The VI's are in LabVIEW 2010

     

    Thanks for our help.

     

     

    printertest.vi

    TS Print Report.vi

  13. @ShaunR: thanks for the links. I'll check them.

     

    @rolfk: I tried just putting the VI in the active object but without succes.  So my next test was calling it by ref.

     

    But, i read in the links from ShaunR that the speed can depend on calling the get vi with or without handle.

     

    So, i quickly did a test: Now I open a handle in the create of my active object and use this with the GET vi in place in the active object.

     

    And ....  speed was better.  I went from 20s to 13s.

     

    I also did an 'architecture' update (sometime duplicate info was read) and now i have an update rate of 6s.

     

    Now I have to convince my customer to 'redesign' the application so I can make a final version of the active objects.

     

    thanks guys.

  14. Hi Guys,

     

    It has been a while but I'm back :-)

     

    I'm having some 'problems' with http requests ....

     

    Project summary:

    LabVIEW 2010 Application that reads sensor logs from a database.

     

    The application gets its data via http requests: --> architecture of the project --> data must be accessible via web-service 

     

    Example: http://localhost:8085/sensorservice/sensor/test/temperature..... (and some paramaters about the amount of data to return.) is entered in the LabVIEWHTTPClient.lvlib:GET.vi and I receive my data in the body and header controls.

     

    So far so good.

     

    Every data request takes about 0.3 s Not bad .... but .... all sensors that are read in the application are handled sequentially in a FOR loop.  So 60 sensors *0.3s == 18s update rate.

    Not fast enough for my customer.

     

    The LabVIEWHTTPClient.lvlib:GET.vi is reentrant and it allocates an instance for each clone.  

     

    So i quickly made an active object for each sensor and call the LabVIEWHTTPClient.lvlib:GET.vi by ref with x08 as option when i open the vi ref.

     

    It returns the data BUT ... requests are still sequential and not parallel :-(  

     

    LabVIEWHTTPClient.lvlib:GET.vi blockdiagram is protected with a password, but I assume it still blocks because of a dll call.

     

    Did anyone make an application with parallel http requests ?

     

    Thx.

     

    Wim

     

  15. Sorry Wouter, don't have time lately to follow up on LAVA discussions.

    I agree with Jim, they should definitely be pushed through the system.

    If you can't implement them for OpenG ... maybe you should implement them anyway and share them with us ;-)

  16. Hi LAVA,

    I need some help.

    I have a motor that moves a tray.

    During the movement of the tray, 2 switches will change value.

    I want to read out the counter value / motor position when the signal of the switches changes. (rising and falling edges)

    At this moment the only thing I can think off is a loop vi that reads the value of the swicthes and motorposition and evaluate the swicth states... But i'd rather have the position reading triggered by the digital lines.

    I'm running LV2010SP1, DAQmx 9.4

    Hardware:

    cDAQ chassis: 9178

    NI 9401 module => encoder signals are connected to this one.

    NI 9403 module=> 2 digital inputs(so the switches) are connected here.

    Thanks in advance for your help.

    Best regards,

    Wim

×
×
  • Create New...

Important Information

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