12-01-2023 01:16 PM
Hello all, hoping you can help me out of a jam 🙄
Main problem:
I can't seem to get rid of the ghost of an I/O server I built and removed, and it's maintaining a hold on the serial port I was attempting to access.
I have to disable the NI Variable Engine in the Windows Control Panel to release the hold on the COM port and access data from using any other VIs. This un-breaks my setup for now, but I won't feel safe attempting any other builds with DSC/SVE until I figure out how to stick a fork in the last one.
Actions that led up to this:
There are 10 single-point PID controllers daisy-chained onto the COM port I used to set up the new I/O server. I only tried to set up a server for address 1 for training purposes and map one of the holding registers.
I set up the server, addressed the holding register that contains the temperature PV, and bound it to a shared variable, but was never able to figure out how to read it. I deleted the VI, the I/O server, and the project which contained them all, and the SVE keeps the hold on the COM port any time it's running (even if LV isn't).
I discovered the issue once I tried going back to the original datalogging VI I use to read these controllers (which uses Modbus API VI's to open/close the session). I did some forum searching and found out about accessing the NI variable engine from the control panel and was able to disable it. Now I can run my original VI, but I'm at a loss as to how I can release the lock if I re-enable the SVE since no I/O server apparently exists anymore to poll the port. I want to keep exploring this functionality but I don't know how to get back to a clean starting point (or how to prevent repeating the mistake).
Background info:
I'm a LabView rookie to be sure. Most of our lab equipment uses RS232/RS485 to communicate, so practically no NI hardware to make life easier. But I'm not trying to do a lot of remote control, so it's basically just DAQ, and I've been able to do that successfully.
I'd like to see us implement some remote control & light automation when appropriate, a better graphical representation/display of our reactor systems, and a more generic tag-based naming/logging system that we can consistently record, differentiate raw signals vs. conditioned signals vs. calculations performed based on instrument readings, trend in real-time, review and compare historical data, and more efficiently detect patterns/correlations (Excel is *NOT* the tool to use to plot one set of data sampled every 30 seconds over a span of 2 weeks, let alone several sets!).
I recently added the DSC module to our base license as I thought it enabled some of the features I felt we were lacking (or sinking lots of time into brute-forcing with the base license). I'm sure there's a hundred different ways to achieve this (the wonderful/terrible thing about LV) but I'm trying to reduce effort wherever possible because I'm a lab rat in an org that doesn't have a full-time instrumentation & controls person.
I'm aware I'm going to probably need DIAdem to round out the process, but I need to wrap my head around DSC first.
Any help to fix the immediate problem, and any advice for the bigger picture, is much appreciated.