Jump to content

Jordan Kuehn

Members
  • Posts

    690
  • Joined

  • Last visited

  • Days Won

    21

Posts posted by Jordan Kuehn

  1. On 2/1/2023 at 1:27 PM, SebastienM said:

    Nope. All these configuration modules are available through the WATS web application.

    Here an example for software distribution :

    https://virinco.zendesk.com/hc/en-us/articles/210511203-Getting-started-with-Software-Distribution

    I have to precise that I'm currently not using these modules but plan to, and that I'm a TestStand user.

    Maybe we should create another post to talk about WATS. My point here is that I don't trust System Link and I trust less and less NI.

    Does this work for cRIO and RT targets? Raspberry Pi running LV?

  2. I assume you are familiar with these already?

    https://github.com/LabVIEW-Open-Source/LV-MQTT-Broker

    https://www.wireflow.com/products/software/wf-wirequeue-mqtt-toolkit/

    I use the latter extensively, both in Windows and Linux RT. I have some curiosity regarding the first one, both the client and the broker, but have yet to try it out. I do not know how many of us there are, but I do use MQTT heavily and would welcome an additional (paid or OSS) toolkit. One feature of a native broker that I would love to see is the ability to cluster brokers like EQMX or other.

  3. 2 hours ago, Dan Bookwalter N8DCJ said:

    quick question

    Are the fpga and realtime bundled with any NI products , i have a copy of all the serial numbers from our one facility , but , there doesnt seem to be any specific to fpga/realtime , but , they do use them. So , i was curious if it is included in somethign else ?

    Dan

    https://www.ni.com/en-us/shop/software/products/embedded-control-and-monitoring-software-suite.html

  4. Is your HMI a PC running LabVIEW or is it something else? If the former, you can certainly use Network Shared Variables and get quite a lot accomplished. Especially if you just intend to expose the data to the host code and let it handle the logic and controls directly. You can also look at network streams if you want lossless communication, and/or to pass command/responses. 

    If not LabVIEW then you'll need to look at the protocols it supports and make a determination regarding where you want the logic parts to live. I typically find myself wanting to put as much in the cRIO as possible and keep the UI pretty thin/lightweight, especially if I want to have multiple UIs for the same device.

  5. One big upside to the Enterprise version that I can see would be the High Availability feature as a result of the Kubernetes clusters. I'm no IT expert, but with what I know about this it seems like a very good choice to break the various components into individual clusters and allow for individually scaling them out as well as redundancy.

  6. 21 hours ago, ASTDan said:

    Speaking for myself NI connect without community presentations isn't that interesting.   

    I would augment that with "...without community presentations OR (many) R&D presentations...". I went to several and almost all were of the Marketing variety of NI presentations, while I think there was just the one from AQ on Interfaces that I felt was really valuable. I do like the exposure to new products, but I get the most value from the advanced software presentations that R&D brings as well as the community presentations.

  7. 17 minutes ago, JKSH said:

    To be clear: That NIWeek 2019 video doesn't contain any SystemLink at all.

    SystemLink asks us to use its integrated 3rd-party user management tools, not to implement our own. In other words, SystemLink doesn't want us to follow that video!

    I agree (and NI agrees) with y'all that we should not be rolling our own user management system. (This applies to all software, no matter what price it is)

    At risk of derailing this thread, where is the documentation for these methods? I'm aware of local windows users and LDAP. Further, you do rightly point out the difference between systemlink and webvis. My conflation is due to wanting to utilize systemlink *and* webvis to serve data and dashboards to customers utilizing the same authentication method. As noted above the workspaces have issues with filtering properly using the system filter. I am only aware of workspaces as the ability to segment out accessibility of systems to users and even then I may want to limit data views via certain dates (system is on rent with different customers at different times), but that is another can of worms.

    • Like 1
  8. 11 hours ago, JKSH said:

    Currently, non-Enterprise SystemLink does use LDAP and Windows Active Directory for user management, which is good. I haven't looked closely at what new technologies are available under Enterprise (Jordan mentioned OAuth?)

    I may have misheard/misspoken here, but I thought they mentioned more open authentication methods/user management. 

     

    5 hours ago, Mads said:

     

    We do not want to roll our own, so we want SystemLink to handle it. And if NI does not want to roll their own - they can always use subcomponents that does, but to us as a user of SystemLink it would/should appear to be handled by SystemLink😉.

    In our case the bulk of the users would be external clients and we would not want to handle their dashboard accounts in Active Directory...typically the user management would be handled by support engineers that would not have admin-access to AD.

    I see some of these issues mentioned in the latest release note though. Perhaps it is time to have a closer look again.

    Agreed strongly with this. With the price tag SL commands I shouldn't be making my own user management. Which is partially why I haven't implemented the method in the video I linked.

  9. 28 minutes ago, Mads said:

    The presentation seems to show that we need to implement custom user account handling...(helpful in that regard, although just browsing quickly through the video it does not seem to be a particularly secure method - sending user names and passwords(perhaps I overlooked an underlying encryption?). What we were hoping for, as far as I remember now, was that that the user account administration and logon was handled securely by SystemLink itself, and that the selection of dashboards and/or what data those had access to would then depend on the user account (then only the last part might require the G-code to know anything about the user).

    I too would like something native like this. We have dashboards that we use internally that customers would also use, but there is no built in method to segment that out best I can tell. The system filter doesn't respect workspaces either (shameless idea exchange plug) which would be one potential workaround. I do recall seeing some OAuth options on a slide (ETA: see the last slide I posted above) for the enterprise version which would be a step in the right direction. I had that presentation in my recent memory because I have it somewhere in the queue of items to try when implementing a customer facing dashboard.

  10. 5 hours ago, Mads said:

    Regarding Systemlink for Enterprises; when SystemLink came out we wanted to use the WebVI-option to provide external users/groups dashboards offering data only that user had access to. So we needed programmatic access to the user information to then only present the dashboards/data that that user should be able to see, but that was not readily available. Managing such a setup was not practical then (we wanted to just be able to create user accounts, add them to a user group and then that user would automatically (no further programming etc needed) get access to the right data only).

    Has there been any movement in such a direction (Enterprise?), or would you still need to have separate system link servers to ensure restricted access / user specific content?

    I think this presentation from NIWeek 2019 may be on point here:
     

     

    • Like 1
  11. Job Details

    Description

     

    Software Engineer

    What is a Software Engineer?
    The Software Engineer is 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

  12. 2 hours ago, drjdpowell said:

    Two suggestions:

    1) Consider using JSON as your config-data format, rather than clusters.  Using JSONtext to manipulate JSON will be faster than using OpenG tools to manipulate clusters.  

    2) Programmatically get an array of references to all your config-window controls and register a single Event case for Value Change of any one of them.  Then use their (hidden) labels to encode what config item they set.  For example, your control with the caption "Baud Rate" could have the hidden label "$.Serial Settings.Baud Rate" which is the JSONpath to set in your config JSON (or config clusters).

    This is brilliant. I imagine it could even become a standalone toolkit/extension of JSONtext.

  13. 1 hour ago, FixedWire said:

    Of course I get that you need an SSP, darn good thing I'm paid up until August...and I never got the media.

    Looks like somebody didn't tie their shoe laces.

    image.png

    We have gotten "media" recently. It took a few weeks and they mailed a piece of paper with a serial number on it.

  14. I think Mads method will work. I think it's frowned on, but probably the most straightforward. Alternatively you could figure out what permissions are set on the script file and required for the operations it calls, then make all of those executable by the lvuser. All of this is annoying enough in linux, but then Linux RT user permissions and file permissions are even more complicated than usual as some permissions are reset on boot.

    This pdf is a good reference and I think is still valid despite its age.

    https://www.ni.com/pdf/support/us/ni_linux_real-time_security_user_guide.pdf

  15. With packages you can include files (e.g. an installer), and put them where you want them. You can also call post-install scripts. I think if there is a way to call the installer silently from the CLI you could script this. You are starting to tread on IT's world though, but sometimes you need to get it done and for it to work so perhaps you are best off doing it yourself this way :D Seriously though if they have the systems in a domain or something they might be able to handle the environment setup independently of your NI packages.

    • Like 1
  16. 1 hour ago, Rolf Kalbermatter said:

    It almost feels like it was mostly about buying up competition than any specific long term strategy to build something out of it.

    Isn't this the case with many acquisitions by NI? Buy it up and let it languish instead of developing or integrating it?

  17. 8 minutes ago, hooovahh said:

    So I've been using, and loving OpenG zip functions on my x86 based embedded cDAQ running RT Linux.  But I recently ran into an issue.  The newest versions of XNet only supports being installed as OPKG packages.  These can only be installed by using the System Image install option, and not the custom option that is needed for OpenG Zip.  As  a test I SSH'ed into my controller and copied the liblvzlib.so where it belonged, and my previously written code seems to find and use it.  Is there any plan to update the inno installer to somehow add feeds or something so that the OpenG Zip tools can be installed through MAX, on controllers that use the System Image option?

    You can call opkg install from the CLI and manually install a package you have copied over. Some discussion here where I built such a package. We use SystemLink which makes it easy to add the custom feeds and such, but hopefully this could help some?
     

     

    • Thanks 1
  18. Cross posted to the dark side.

    Hello,

    I'm attempting to work with the launch remote actor function utilizing two cRIOs. I have a working AF application on one cRIO and I would like to spawn a few Actors to run on another one beneath my original top level actor, hoping that the top level actor will be able to interact with them as if they exist locally. 

     

    I have watched this presentation from JustACS and have considered using the nested endpoints, but this approach seems more "AF-ish" and doesn't require extra communication actors mid-tree, or mid -> top of tree. 

     

    My question at this point is that I don't think I have the dependency injection correct for a built exe. The example doesn't seem to address applications outside the IDE either. I believe I have gotten the VI Server settings working and can launch the actor from the Server side without errors now. I encountered some errors while working on the dependency injection. Note: these are built and deployed startup exes.

     

    I first started with something like in the webcast:

     

    jordankuehnsef_0-1650400792330.png

     

    And here is mine:

     

    jordankuehnsef_1-1650400829202.png

    However, I encountered errors on the Server side in the upper proxy vi until I added this loop:

     

    jordankuehnsef_2-1650400879050.png

    Now the Server side launches, but I don't see any activity from my remote actors. I expect at the very least to have some of the initial logging that happens at the beginning of their Actor Cores happen, even if there are other errors, but I see nothing on the Client side.

     

    Am I missing something simple here on the dependency injection? I attempted to include just a few actors at first, and then added all the actors that could possibly be linked in some way, added subvis to the always include in the build spec, etc.

     

    Any help or pointers here would be greatly appreciated.

     

    Thank you!

×
×
  • Create New...

Important Information

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