Jump to content

Neil Pate

Members
  • Posts

    1,156
  • Joined

  • Last visited

  • Days Won

    102

Posts posted by Neil Pate

  1. 28 minutes ago, hooovahh said:

    2023028691_download(2).jpg.45ecb7c4d120c02f4af3ef2ba434db24.jpg

    How about halfway happy.  Which is more happy then I'd be with nothing.  I enjoy a community that shares code.  Sharing is caring.  I'm agree that stuff on VIPM.IO should have a bit more polish.  But a random forum post doesn't require the test and rigor of a commercial product.

    @hooovahh this is literally perfect 🙂

    (I see my rusty memory got the roles mixed up).

  2. This sounds like the perfect candiate for that meme of Orange County Choppers where the dad and the son are yelling at each other:

    Son: JUST RELEASE IT ALREADY

    Dad: ITS NOT PERFECT

    Son: NOBODY WILL GET TO SEE IT OTHERWISE

    Dad: I DONT CARE

     

    My 1 cents into the issue. The whole spirit of modern software dev is just to hang your dirty laundry out to dry for anyone to inspect. I think this is a change for the good. 

    @ShaunR I think you have very little chance of finding someone to maintain (I presume) some very old code , in a state they have never seen, likely with heaps of strings attached, in a super niche area of interest.

    • Like 1
    • Thanks 1
  3. On 10/23/2023 at 9:14 PM, bbean said:

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

    Take a look here: https://github.com/VITechnologies/RemoteLabVIEWInterface

    It works great! It uses JSON to pack up stuff from python and send over ZeroMQ.

     

     

    • Like 1
  4. I am definitely not an expert on this kind of stuff, but I think you would first "create" a datastructure big enough to hold your image in LabVIEW. The type does not actually matter as long as it is big enough (1 byte * width * height) and then pass that into your DLL call as the first input parameter, followed obviously by the width and height.

    After the DLL call the data should now have been copied into that datastructure (i.e. the wire itself will have the image on it).

    I get easily confused with pointers to pointers, so might have this completely wrong.

    Sorry I have not explained this very well. Can you attach your DLL?

  5. 17 hours ago, epiz said:

    I have a sub vi that I have used to calculate the CRC for a set of data. It works perfectly, as the data stays the same the crc stays the same. I have run into this issue where once I implement the sub vi into the main Vi the CRC value will change every time I hit run when the data has not changed. 

     

    If there is a reason why it is happening or if anyone knows how to fix it that would be great

     

    thank you 

    Can you post your code?

  6. 3 hours ago, Rolf Kalbermatter said:

    Some Dynamic DNS or similar could help with the problem of a dynamic IP adres device in the field. It would require a fairly simple modification in the cRIO setup, but if you use an NI Linux RT type this should be pretty trivial. Of course you will need to have access to a Dynamic DNS service somehow, they are usually not for free.

    No-IP for instance provides a free version but requires you to manually confirm it every 30 days and does not support SSL certificates on that level. For 1.99 per month you do get SSL and a 1 host name resolution without monthly confirmation. Other services have similar offers. The free tier has usually several limitations that are inconvenient but not a huge problem for private deployments. But they pretty much won't work for a commercial deployment.

    Yup, I was going to use those (no-ip if I recall correctly) but then we needed to introduce a PC and so my problem kinda went away.

  7. OK, this is what I remember.

    Hardware was something like this:

    • cRIO
    • Ethernet switch
    • Industrial modem (Teltonika something... you put a SIM in and connect the ethernet to the switch)

    Security I just had to kinda figure out. I think I got it working in the end, check out this thread: 

     

     

    The big question mark for me was how I was going to manage the cRIO remotely as my LTE connection could not guarantee a fixed IP address, so I had no simple way to connect to the cRIO after it had been deployed in the field. Finally we decided that we would actually need a PC anyway for something else, and the cRIO would be connected to that. The plan was to remote desktop into the PC and then connect to the cRIO that way, or get the dynamic IP address of the cRIO. Or maybe the idea was to the cRIO to broadcast somewhere its IP address. The project was put on ice and never deployed to the field, so I was not able to test these assumptions.

    People do get stuff like this to work, so I am sure somebody had a solution for these problems.

    Hope this helps!

     

    • Thanks 1
  8. In the top picture your S11/S12 is an array, which gets auto-indexed in the for loop (the little square thing at the border) which essentially iterates over the elements which allows you to read the items individually.

    In the bottom picture your S12/S12 is part of a cluster (think struct in other languages). You cannot iterate over this like you do in the for loop.

  9. Thanks, I did not know about this. I am not sure I will ever use it, but I like to know such a feature exists (or not).

    Reading that thread, I am not 100% in agreement with the comments that moving to class solves everything. Not everything needs to be a class, sometimes a plain old cluster is really ok. Even for biggish clusters. Anyway, completely separate discussion 🙂

    • Like 1
  10. 13 hours ago, sam said:

    Not in my case,. I installed LabVIEW 2021 64bit (maybe 32bit?  I honestly forgot and don't have access to double check) .   Didn't try the 2021 32bit or visa versa

    I just used the new 2021 and then moved the new created VIs to my project in 2023

    Urgh, that is not good. That Express VI is one of the few I use every now and then to quickly get some DAQmx code up and running. 

  11. @Mahbod Morshediif you are new to software development then forget about things like OOP and HALs. Just start small and slowly add features. 

    Pick a single framework (DQMH is probably a good place to start) and go slowly.

    OOP is not the only way to write software, and in fact I would say it generally promises far more than it delivers. The implementation in LabVIEW also comes with its share of "interesting pain points". 

    My advice would be stick to well understood imperative concepts (i.e. just code it as you think, forget about trying to force things into an OO model).

×
×
  • Create New...

Important Information

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