I have multiple flow controllers configured as AI/AO points in my groov system I am using PAC control to design my strategy, and I need to verify the calibration of some of the controllers due to some unexpected flow issues I am observing. When I first set the system up, I calibrated the unscaled 4-20 mA signals of the AI/AO points manually prior to scaling the points. After scaling the points to equate to certain SCCM equivalents, I am hesitant to remove the scaling once again because my strategy includes a lot of logic that will lead to ESDās if the 4-20 mA values are interpreted as SCCM units. Plus, there may be issues when rescaling back if there is a mistake in that task. Before going through the excercise of getting around this problems, I wanted to ask if there is a way to obtain the ārawā unscaled 4-20 mA signal from my AI/AO points? I assume it must exist as the PLC is translating my scaled values to a 4-20 mA signal anyways to communicate with the devices.
I am frequently needing to do this and usually open up excel to recreate the wheel every time, so I put together a sheet that I can use to speed that process up.
Iāve had situations in the past where Iāve wanted this same thing. I wouldnāt change anything about the way things work normally, but I would love a command for analog I/O points that would return the raw non-scaled value.
A couple of Ideas for your scenario:
You could look at the memory map to read the Analog Value Counts and scale appropriately (but I find this a more complicated an approach but have done in the past).
My preferred way is to scale the IO to show 4-20ma and use a subroutine (or do it in logic) to scale to EU. The added caveat is that you can easily use the same subroutine to indicate that the input is Good / Bad based on the raw 4-20ma.
Either way you can leave your scaling and easily calibrate raw input as needed.
Just be aware that I donāt think this is an option with groov IO modules.
I have done this as well with a āscaleā subroutine - useful in the case you describe to check out of range values. Less important on groov IO as it has the quality commands that will report out of range for you.
Thank you all for your feedback on this topic! @philip - Appreciate the spreadsheet for a quick approach to check a currently-running process with minimal setup changes.
@Lou_Bertha - Thanks for your idea of using a subroutine to carry out the unit conversion. Might try this in a future build!
I believe the memory map for the PR1 and 2 (and Iām almost positive RIO) have counts that are accessible via MMP memory map but as I noted this approach is a bit cumbersome.
Agree - the advantage of the subroutine is that it will allow you to adjust your good/bad window (from the 10% currently fixed in the system) based on your requirements (if needed).