Jump to content

pawhan11

Members
  • Posts

    113
  • Joined

  • Last visited

  • Days Won

    5

pawhan11 last won the day on June 23 2021

pawhan11 had the most liked content!

LabVIEW Information

  • Version
    LabVIEW 2011
  • Since
    2010

Recent Profile Visitors

3,147 profile views

pawhan11's Achievements

  1. I stated to learn .NET ~2 years ago around NXG collapse. Now I feel i have solid understanding, when I check java or python code it is much more clear and transition to another text based lang will me much easier than from LabVIEW. We still use LV when fast measurement is needed, signal display etc, i have not seen other tool that can do this in 5 minutes. We stopped at 2021 due to licensing prices and all new production code is text based. 🤔
  2. My approach would be to first pack this webservice into docker container localy and run it. Once this is working starting this docker on aws should be easy.
  3. Emerson https://investor.ni.com/news-releases/news-release-details/emerson-advance-global-automation-leadership-through-acquisition
  4. Cross post from NI wesite, i am completely out of ideas: https://forums.ni.com/t5/NI-TestStand/Run-sequence-analyzer-in-net/td-p/4291037 I am trying to run sequence analyzer in .net using teststand API. Created simple code based on avaliable libraries. There is no documentation and official NI support that I contacted some time ago says that they do not know how this is supposed to work despite fact that this API is public. Contact with support was disappointing to say gently ... IAnalyzer analyzer = new Analyzer(); analyzer.Initialize(); analyzer.LoadRulesFiles(); var engine = analyzer.Engine; var seq = engine.NewPropertyObjectFile(PropertyObjectFileTypes.FileType_SequenceFile); seq.Path = @"C:\Sequence.seq"; seq.ReadFile(TypeConflictHandlerTypes.ConflictHandler_Error); var project = analyzer.NewProject(); project.StartFileAnalysis(seq); while (project.AnalysisStatus.IsAnalyzing) { Console.WriteLine(project.AnalysisStatus.LastStatusMessage); System.Threading.Thread.Sleep(1000); Console.WriteLine(project.AnalysisStatus.IsAnalyzing); Console.WriteLine(project.AnalysisStatus.NumberOfFilesAnalyzed); } Console.WriteLine("Done"); In this code all seems to work but the problem is that analysis is stuck at LastStatusMessage = Preparing for Analysis and never ends. When I open sequence analyzer tool it finishes in just few seconds. Anyone has an idea what might be the issue?
  5. Thanks for comment. I have tried this approach but outcome is the same. Tried full version names like v4.8.4084.0 etc
  6. I am trying to build Labview library and call it from .NET application. My app is build in .NET 4.8 but labview builds my library to 3.5. Is there a way to change it?
  7. I remember having one cRIO that crashed randomly, it turned out it was somehow related to reading ini file. For some reason this ini was read from time to time in app, when it was changed to read only once at startup it solved the problem. When we got desperate we started to add syslog messages for all state machines states and logging it into db to see if it was related to some code...
  8. Problem is that System is aware of ITransport that does not have IDispose. It would require cast after uninject function to TCP to call dispose.
  9. I started to play with LabVIEW interfaces and have some general architecture problems. Assume we have - IDisposable interface with single Dispose method used to clear resources - ITransport interface with Read and Write methods to pass some data - ISystem interface with ReadTime method - TCP transport implementing IDisposable and ITransport - System implementing IDisposable and ISystem TCP is injected into Sysem by main method, who should be responsible of calling Dispose on TCP? My thinking is that object that was responsible for its creation - in this case main.vi. But this leads to problem of passing TCP class on main.vi Shall ITransport implement IDisposable? My thinking is it should not - we have no guarantee that all Transport will require Dispose. The same goes for System. This leads to problems of having to pass concrete implementation all over the system just to close it when required. Another solution would be to implement additional factory classes that would move instantiation of Transport into System, but then it must implement IDisposable. What would be the best way to approach it? For now I enforced IDisposable on ITransport and ISystem Example.7z
  10. @Gribo Have You used OpenTAP in commercial applications? Are You able to compare it to NI Teststand?
  11. Mostly cutting costs and company wants to go into open source solutions. Existing systems will stay as they are now until decommissioned, hardware will be reused where possible , question is about how we approach new projects. NI is too expensive compared to other vendors on the market and we are not having complex systems that require high end hardware they offer. For example we have high end pxi scope cards to measure ac frequency and phase rotation from the grid And also other our observations of NI software portfolio in general: - LabVIEW is in decline, from what i hear they dropped support for universities, in EU they closed offices in many countries. We are trying to develop new test systems in .net and see how it goes. - No significant new features and roadmaps, unknown future of the language. They killed NXG and announced it on forum post!... Hope this new NI Conect will change my mind.
  12. 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.
  13. Attached working proof of concept with LabVIEW CLI, To make it work: Disable Error message on logger instance (FGV in C:\Program Files (x86)\National Instruments\Shared\LabVIEW CLI\Operations\Utilities\Logger) Enable multiple instances of LabVIEW Spawn few labview processes that will run Builder.vi and pass instance parameter eg \..\..\Labview.exe \..\..\Builder.vi -- 1 Copy ExecuteBuildSpecAsync_class folder to C:\Program Files (x86)\National Instruments\Shared\LabVIEW CLI\Operations Start it the same way from labview CLI but use ExecuteBuildSpecAsync insstead of ExecuteBuildSpec, should compile on free running builder or throw exception builder.zip
  14. Seems that it is not possible directly using LabVIEWCLI, i managed to 'cheat it' by starting multiple LV instances, one instance was building big proj that takes 30 min, another instance did simple library that takes 40sec, they seemed to work independently and time of individual builds did not increase.
×
×
  • Create New...

Important Information

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