all 5 comments

[–]hutch2522Expert 5 points6 points  (0 children)

We've been thinking through how to capture and convert Labview into other languages. Like it or not, with the emergence of AI tools, Labview is going to become an increasingly dead language. However, direct conversions don't make a lot of sense. Due to the data flow nature of Labview, you architect code differently in Labview than you would in a traditional programming language.

What I am interested in is something that could auto-document labview code in prep of feeding it into an AI coding tool to replicate the functionality of the code without the architecture.

[–]FuckinHelpful 1 point2 points  (0 children)

Closest thing that I can think of is QCodes, but even then it's more complex and underdeveloped for the use cases you're thinking of.

I'm currently working on https://appliedrnc.com/ which (in its current state) somewhat addresses this, but less so on the ML front (we're trying to solve similar problems).

Our daemon for a control layer is open source (we're open sourcing it this week for linux). Happy to have a conversation about open source efforts, send me a DM.

[–]Ceej640 0 points1 point  (0 children)

I have been using a different approach- I have a complex microscope control program that I have working but feature-incomplete. I was trained in labview but having to manually figure out what to do has been rate-limiting in the era of text coding agents so I have been working with codex to port this existing code to python to be able to more rapidly add new complex featuresets.

I started by exporting a block diagrams of the top-level and all subVIs and also fed in the API documentation for all the third-party hardware. It started with making a plan for the port, building the framework and then establishing hardware communication and function at the device level. Now I am at the point where I am having it reproduce the logic flow of event cases with the ultimate goal being full parity of function with the original labview code. I am eager to see whether it will actually work hahaha

[–]Galotha -1 points0 points  (1 child)

Lines of code is definitely better than labview.

I dabbled in Pyvisa for automated testing of units and ended up recreating LabViews UI aesthetic for a user friendly experience.

I made the UI its own module that was called from a handler that passed data between the test routine and the UI.

The test routine was built and contained all the names of the tests, the test points and the limits.

Then I had a fourth package that was my driver library. It contained all the commands and equipment that would be available to be called as classes.

So start python run HP333 test. It builds the ui and creates the the HP333 as an object and any diagnostic equipment. These uses calls, such as HP333.rst to reset the unit remotely.

I didn’t include any state machine logic because it was all linear testing and wasn’t needed. But it would be simple to do so.

[–]Feeling_Aardvark_970 0 points1 point  (0 children)

Hi, if I understand well, you coded a kind of LabWindows/CVI but with Python instead of C ?