Jump to content

Jordan Kuehn

Members
  • Posts

    690
  • Joined

  • Last visited

  • Days Won

    21

Posts posted by Jordan Kuehn

  1. 3 minutes ago, Michael Aivaliotis said:

    No, they always pull in your NI account profile. It's not a big deal though.

    I guess yes, for the registration. However, the scheduling service and whatnot has been a separate entity and changed every time. Though apparently there's no need to check for available courses and such with only 4 hours around lunch.

  2. 6 minutes ago, Michael Aivaliotis said:

    It seems they might have outsourced the organizing of this to a third party. You have to create a brand new account to register.

    I mean that's been the case many (all?) times in the past with the NI Weeks that I've attended.

     

    On 6/16/2021 at 7:44 AM, gleichman said:

    It turns out that the two day event is actually four hours, so not much room for non-marketing content.

    Registration is now open.

    Wow. 10am-2pm on one day? I think you are absolutely correct about what we can expect to see here. 

  3. 20 hours ago, ShaunR said:

    Why wouldn't you use a notifier for this? It seems the only reason you have chosen this method is because it doesn't poll data (advantage over a global or local variable) or you have more than one element and expect the consumer(s?) to eventually catch up.

    A queue is a many-to-one construction whereas a notfier is a one-to-many so it seems a strange choice if you have multiple consumers.

    A fair question. I've used notifiers with the wait on notification, but not with the get status. It's two sides of the same coin as far as I'm concerned, and what is the underlying transport mechanism for the notifier anyway? My point however, is that while the SEQ is a special use case of a Queue there are ways to use it other than how you typically do. 

    I'm also not entirely sold on the N:1 definition you are placing on a Queue. Sure in a typical use case 1:1 or N:1 is common, but there are use cases where you may not care about order and have multiple consumers dequeueing which could be 1:N or N:N. It's just a tool that is used how you configure it and decide to use it.

    Now we can switch over to user events and if those are N:N :D 

  4. On 6/6/2021 at 5:18 AM, ShaunR said:

    That's not why most of us use single element queues. It is used mainly for synchronisation between concurrent operations. In that respect it is akin to pipelining or events and is an edge case of a queued state machine. In fact. I used a single element queue to make a "named events" VIM. A watchdog timer is a good example of when to use a SEQ and the data  - value or type - is irrelevant.

    A bold statement. I've certainly used it in this way before for synchronization, de-queueing until something is available, en-queueing when space allows, etc.

    However, I've also used it in what I believe drjdpowell is referring to with DVR functionality. I would even say more often than the other use case. Lossy enqueue + preview queue element is a useful mechanism for providing a latest updated value to any place with the queue reference.

  5. 1 hour ago, crossrulz said:

    I'm left to assume you are referring to VI Week, which was put together in a week or two, completely by the community.

    Yes. 
     

    edit// my apologies. I’m realizing now that I was combining that excellent event with the CLA event in my mind. Perhaps it could happen again in parallel?

  6. 6 minutes ago, AutoMeasure said:

    Maybe it will be a two-day version of last year's virtual event, with more new fonts, colors, and NI employees forced to repeat "so inspiring".  🙃

     

    Hmm. Well the stuff that made last year’s great was it was largely community driven with some NI involvement and almost no fluff or upward trending graphs without axis labels/scales...

  7. That deployment time does seem excessive, at least for deploying the application. Running interactively is a mixed bag in my experience. I have a few cRIO AF applications of various sizes at the moment. One crashes LabVIEW when I attempt to launch it interactively, another similar one works just fine. I use the debug tools to acquire queues (in a conditional disable structure) for the main Actor Core that has a small debug UI included with it.

    image.png.161134f8d4d1e4a850629ff812c3f3a6.png

    When deploying are you able to see what libraries or code seems to take so long while watching the items scroll past? Is it code you have written or 3rd party libraries?

  8. I've used the aforementioned three and currently use Git+SourceTree. I've not had the problems others have had in that other thread with Git (yet) and in general it's straightforward to commit and branch. Any merging I have to do is a manual process, but when working on a branch I typically am altering a subset of files that I wind up just choosing over the previous ones. The integration with Jira is nice since I like the kanban boards and tracking issues with commits. We don't use this to its full potential, but I think that's also a good thing since it keeps productivity in focus rather than checking all the boxes in Jira. I mention this side of things because there are integrations with project management tools that vary by source control and IDE as well. If you have no need for those, SVN is probably a fine choice.

  9.  

    Software Engineer - LabVIEW

    Full Time

    Professional

    Norman, OK, US

    This position will be responsible for maintenance and development of software that is core to our Freedom Series Completion System. The ideal candidate will have demonstrable software programming capability (specifically in LabVIEW), control systems experience, mechanical aptitude, ability to direct others, and an ability to operate in a fast-paced environment.

    This position can be located anywhere in the United States, but will require some travel to Oklahoma City at the beginning of the position, and then as needed potentially for a few days to a week each month.

     

    Job listing here.

  10. 10 minutes ago, viSci said:

    Been there done that with NSV's.  For cRIO connectivity I now use the RTI DDS toolkit or the messenger library which are both free and excellent.

    I have spent a lot of time with the RTI DDS toolkit and it is good. I’m using MQTT for a lot of similar use cases. I believe we chatted some time ago about this a little. 
     

    However, I don’t think this or the messenger library are feasible with the expansion chassis (9147 in my case) unless I were to implement the communication protocol in their FPGA. I would be happy to be wrong here though. 

  11. Following. Mostly because it's very common that I'll kick off an RT build and want to move on to working on the Host application. Or the other way around. IMO the different projects shouldn't block each other during a build, but I'm sure there's some linking thing that they didn't want to solve so instead they lock the entire IDE. 

  12. @Omar Mussa Thank you for this detailed analysis. I've found that my testing in 2021 on LV 2020 almost exactly replicates your results.

     

    I found some code on the darkside from @smithd that doesn't fix this issue, but I then repurposed into a check before the read that prevents the system from repeatedly attempting to reconnect and then time out. It's not ideal in my use case, but is better than blocking timeouts from a few dozen individual reads in my application that bring it to its knees.

     

    image.png.cd34e63043dea6f28a76c045d4e0290d.png

     

    I've found that this will reconnect if the system and SVE is present during the initialization when I use the "Open Connection in Background" (which is as you observed a red herring). And if the system and SVE is not present I do not incur these 5s timeouts and just get the error from the type cast that I can use to output NaN or whatnot.

     

    Perhaps others have found other workarounds. This is quite frustrating to me as the PSP variables are the recommended approach for using ethernet cRIO expansion chassis and I cannot guarantee their presence on the network 100% of the time and cannot have its absence subsequently kill the application.

  13. 11 minutes ago, drjdpowell said:

    Not sure I understand the question.  Can you rephrase it?

    I have a request from non-LV programmers who are using the JSON output I am providing them to provide the schema so that they can ensure they are accurately parsing the data structure. I have used a tool similar to this: https://www.liquid-technologies.com/online-json-to-schema-converter to generate it, but it is imprecise. I’d prefer to just give them the typedef file, but they have no idea what to do with that. 

  14. I skimmed through the comments and I hope this wasn't addressed. If so, my apologies.

    Is there a way to limit the number of decimal places stored in a double numeric?

     

    Also, is there a way to generate a JSON schema based on a LabVIEW data structure?

     

    Thank you for this excellent toolkit.

  15. Sorry to resurrect this thread, but I am unable to get the RAD utility to work on my 9147 expansion chassis. Any tips for getting this to work? I've tried multiple 9147s on multiple computers and networks.

    (Now to hijack after resurrecting) I'd like to streamline the entire base software loading package, but I can deal with that if needed. The biggest benefit I've got here is the deployment of modules/channels/scales. I have located /var/local/natinst/deployfwk/config/variables.xml and it appears that this file (or perhaps all the files in this directory) contains the module deployment info. Does anyone know if it would be sufficient to update these files alone to update deployment of modules or scales?

  16. 3 hours ago, smidsy said:

    I am happy that they finally realized, that the NXG idea is a way far from being somewhat practical or pragmatic. I am very sad it took NI so long to understand it.

    If I were NI I would probably go for changing the underlying engine and software stack and would rewrite LabVIEW completely, if I realize that the LabVIEW source code has reached it's end-of-life state and is very hard to maintain. This was one of the driving forces according to the information I got from NI during CLA Summit 2019.

    But I would never ever change (at first) the interface to the Users and to Developers and re-invent core concepts of LabVIEW just because I can. Then I would probably start adding new features and slowly adding value to the community. I would not ever threaten people by saying that "NXG is the Future",  "Programming is optional" and "It is better to start switching to NXG now, because one day we will inevitably stop LabVIEW development". 

     

     

    That's what I understand NXG was supposed to be.

×
×
  • Create New...

Important Information

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