Jump to content

bbean

Members
  • Posts

    256
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by bbean

  1. Hi @drjdpowell,

    Before I reinvent the wheel, do you have any examples of python modules sending messages to one of your LabVIEW TCP Event Messenger Servers (or a simple UDP Receiver / Sender pair)?

    I'm interested in extending an existing LabVIEW Messenger Actor to guys on the python side as an API.  I'm not sure the best way for them to send message, but a simple one would be to simply send a string with the format (Message Label>>Msg Param1, Msg Param2....)

  2. 1 hour ago, X___ said:

    I didn't see the word "LabVIEW" mentioned in any of those press release.  Just seems like Emerson is on a buying spree.  Typically this happens at the end of a business cycle when companies (CEOs) run out of ideas for how to improve their business from within.  It will be interesting to see how Emerson executes and brings all these acquisitions together under one umbrella and whether LabVIEW has any role.

    • Like 1
  3. On 5/25/2023 at 1:35 PM, Jordan Kuehn said:

    The demo made me wonder if it could theoretically create drivers from spec sheets automatically. It seems like it would be a well bounded problem, create labview wrappers for the commands listed in the manual. 

    you can already do this in a limited fashion in python.  This is a simple example from a single prompt but you can see where its going:

    https://poe.com/s/BEWvBcTIEkrVXzTezpza

    The manual was probably online when the model was trained so it already has knowledge of it in this example.  But once the size limitations of the text entry increase, you will be able to just upload a manual.

    And here's a simple refactoring to make an abstract class

    https://poe.com/s/MJp4t75WVrA5MR5SiS8B

    On 5/25/2023 at 4:04 AM, ShaunR said:

    Why does AI type so slowly?

    I believe the way they work is they are predicting each character on the fly

  4. On 4/5/2022 at 8:56 AM, Phillip Brooks said:

    I am writing a wrapper to a Python class.

    The class has several states and will raise an exception when a method is called that is incompatible with the current state.

    Are there any best practices for passing exceptions back to LabVIEW? I was thinking of using the LabVIEW error cluster as a return type.

    That seems reasonable.  I have a wrapper class and pass back a pass/fail numeric and a status string,  but now thinking back it might have been more appropriate to just pass back a standard labview error cluster.

    In my case, the python wrapper can be run from either LabVIEW or directly in python.  The thing i struggle with is passing back real-time status that normally is provided in the terminal via python print statements when python scripts run stand-alone.  I'm testing an approach that just sends these via a UDP session but I haven't found a way to override the Python print command so that it prints to both the terminal (python scripts) and to the UDP session (LabVIEW VIs).

  5. 17 hours ago, Tlam said:

     But there is no plan "B", which is very unfortunate. I know what I want my automation software to do and look like, but it does not exist. I'm not sure I'm up to the task of making my own, so I guess I'm stuck with going to Python, unless NI suddenly changes course.

    What type of instrumentation and data acquisition systems does your lab work with ?  Mostly VISA type serial/gpib/LXI instruments or mostly data acquisition cards / PXI chassis type stuff?

  6. 1 hour ago, ShaunR said:

    If I buy a subscription license and then decide not to renew, what happens to my software?

    With subscription software, you will need to renew at the end of each term to maintain access to your software and associated services.  

     

    Yikes. Software as a service?

    This isn't enticing you to upgrade from LV 2009?😀

    • Haha 1
  7. On 4/23/2021 at 6:12 AM, pawhan11 said:

    Has anyone here successfully migrated from TestStand to some open source automation frameworks?

    In our hardware test we have a lot of things happening in parallel and so far I haven't found reliable alternative for TS. 

    I would investigate cosmos.  I haven't migrated a complete project to it yet but I'm implementing data collection, storage and telemetry GUIs to it for a new project working with python and FPGA programmers.  A lot of the python programmers use python and it as a replacement for LabVIEW/TestStand.  I haven't used their Script-Runner (TestStand-ish stuff) but the current version is highly capable for data collection, saving, presentation, limit checking.  They are working on cosmos 5 which will run in a docker container and have web based gui's

    • Like 1
  8. If you are using Win10 you can try the VI(s) in the attached LLB.  We typically create a "print" VI that shows all the controls, decorations logos etc we want to print, then run the VI in this llb.

    I threw the llb together real quick...hope everything works. 

     

    Win10PrintPDF.llb

  9. 1 hour ago, Thoric said:

    Their roles are:

    1. One is Dialogue style GUI Editor for populating an Array - a relatively simple actor.
    2. Another is a Dialogue style GUI Editor for a more complex file management need. Manages remotely (FTP) stored files.
    3. A third Dialogue style GUI Editor for managing another Array - a relatively simple actor, like (1).
    4. A local file management actor for receiving configurations and collating them into a JSON file - a simple decoupled actor with the ability to gather JSON objects from any other actor for storage and retrieval.
    5. A simple actor that adds log entries to a local text file, and uploads the local file to a remote FTP folder.

    So they don't all have one common dependency that the other actors don't also use. The first three present their FPs, but so do many other actors. Some depend on FTP interaction, using a separate internal library we have, but not exclusively so.

    I think I'll try cloning one of these 5 actors, trial build it then strip out 1 feature, and repeat until it builds successfully to determine which component is the problem...

    This is a long shot here, but do they all need to run in the UI thread but their preferred execution system is set to "same as caller" and then something gets screwed up when they are called by dynamic dispatch in the runtime?  What happens if you set their preferred execution system to "user interface" and retry.

     

  10. agreed.  As part of my trials and tribulations with MAX I had to repair NI VISA.  With NIPM18.5? no option to do that so they recommend uninstalling and reinstalling...fair enough.  Tried that and NIPM wanted to uninstall LabVIEW..wtf.   Upgrading to the latest version of NIPM (19.6) provided a better experience allowing you to repair installs now.

  11. Has anyone used IPFS as a tool for storing and distributing test data (multiple gigabytes)?  My use case would be to run tests that store data on local windows machines and then distribute that to other users who may have linux, windows etc and also to a centralized archiving location.  The users and test machines are in a relatively strict network environment and most users machines are locked down.  Some of the linux users may have elevated privileges to install things like ipfs but I'm worried about a typical windows user who may want to get the files easily without having to go through a bunch of command line steps to install ipfs on there machine after requesting elevated privileges.

     

  12. 9 hours ago, hooovahh said:

    I don't have anything to add other than I've seen this but not in any recent projects I've worked on.  It always frustrated me when I'd drill into some VI that was taking forever and it would be some property node or Read/Write/Open that was supposed to have a small timeout.

    Thanks for the quick response.  its a rather annoying problem.

    7 hours ago, Rolf Kalbermatter said:

    Once VISA calls into the Windows USB driver it can only hope that this driver will return within a reasonable time. I

    7 hours ago, Rolf Kalbermatter said:

    Personally I guess some previous command you send hasn't been fully processed by the device, or you haven't read the entire response, or haven't reset a status flag in the device or something like that. These things all shouldn't be able to lock up the USB interface, but they can and sometimes do.

    I think this may have been the problem but wont know until I test again on Monday.  You are correct that its a PM320E.  And so far their driver has been a pain.  The suspect command is the error query the parent class implements by default "SYST:ERR?" but PM320E requires ":SYST:ERR?".  A nuance (nuisance) that I failed to notice.

    PS.  I think I may have borked the instrument up by upgrading the firmware too.  Oh well thats what you get for trying to get something done before a holiday weekend.

  13. I have an issue where reading the VISA Instr Property "Intf Type" of a USB Instrument hangs for about 40 secs:

    image.png.9ef44f592496f4f476e4283bf033758c.png

    followed by an asynchronous VISA Write hang for 2+ minutes!  The timeout on the VISA instr session is set to 1000ms.   Here are the other details of the session:

    image.png.0c236366c08bfbd8820d54a1e25b6be2.png

    and here's a snip of the VI:

    image.png.f9de46c68c64e8f869afdc453baee7a1.png

     

    Any idea why these long timeouts are occurring?    or why the 1000ms timeout is being violated for both the Instr property call (no idea what goes on under the hood here) or the VISA write. 

     

  14. 6 minutes ago, drjdpowell said:

    By default, subVI are set to "Same as Caller" execution system, but they can be a specific system instead.  I suspect it might be just the subVI that does the TestStand call that needs to be in a different Execution System, not the calling Actor.vi itself.  So try just changing the subVI.

    If that doesn't work you may have to separate the TestStandAPI calls out.  Are you using your TestStand Actor as a GUI or user interface?  If so you may have to create another Actor to separate out the TestStand API calls that are causing the log jam into a new Actor....That new actor should not have any property/invoke nodes which would force its VI into the UI thread.

    • Thanks 1
  15. I worked on some Ethercat issue a few years back and remember that at the time the cRIO doesn't support Beckhoff array datatypes and we had to make individual IO variables for each item in the array on the Beckhoff side.  Were you able to import the XML file OK into the LabVIEW project?

×
×
  • Create New...

Important Information

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