PID Scan Counts

A customer called me with a question about a SNAP PAC program. We didn’t write the program, it was someone internal who isn’t available anymore, but they knew we’ve used Opto products before so thought to ask us.

In their strategy they’ve got a level indicator that’s an analog input. When they view the I/O point, the XVAL shows the correct input value but the IVAL stays on 0. I read in the manual that that means the strategy is not reading/writing to the I/O point at that moment so the IVAL doesn’t get updated.

We searched for that input but couldn’t find it in the charts. It is in a PID though. When I asked him to bring up the PID, it showed that it was in Auto mode and Enable Comm was Yes. However, the Scan Counts was 0, it wasn’t counting up. The Scan Rate is 1 second. I don’t know much about PID’s but my guess is that something is preventing the PID from actually running which is why the input is not updating.

I also noticed that the Low Range and High Range were both set to 0 however in Config, the High Range is supposed to be 18 (i.e., 18 mA). I asked him to search for the PID and it appeared in one location which was to set the PID mode to auto so why is the High Range set to 0 and not 18?

Is there another reason why the PID wouldn’t be scanning? Is it related to the High Range being overwritten?


There is a bit to unpack here…

I have sometimes moved an analog input into a variable (name does not matter, I use trash) in a looping chart so it gets read somewhat often (speed does not matter, just every second or so), this will often update the IVAL as needed… But, this should not be necessary in your case because the PID loop should be reading it, but as you point out, your loop is not running for some reason.

The low and high range are really there for the ‘Output Options’, but I have never run a loop with 0/0.
So while it should work, I am not so sure.
Sounds like the I/O unit that the PID is on got power cycled or reset, while the chart only writes the hi/lo values on startup. This might explain why you have 0/0 and should have 0/18.
I would manually (in debug) put the 18 in and hit apply and see if that gets the PID scanning.

Please drop back and let us know what you find… Pretty interesting situation…

I don’t see a way to change the Input ranges in Debug mode. The text box is readonly. What if I just had them restart the strategy?

If its safe, yes, a stop / start should send the hi/lo and get things running.

I may have found out what was happening. I was onsite recently and found that some of the analog inputs were not reporting the correct values. Using PAC Manager, I discovered that the modules where not configured correctly (scaling). They have an S-controller and 5 EB2 racks. I tried restarted the strategy and the power to the controller but the rack modules were still not being configured. They also mentioned that if they loose power, they have to manually enable comms to the rack. This all seemed to work in the past but no more.
So, I added a continuous running chart that checks if a rack is connected but not communicating. If so, it establishes the comms to the rack. This seemed to work. My guess is the PID’s were not being configured either since they are also in the EB2.
I don’t know why the racks weren’t getting configured by the controller but it seems to work now.

You may want to go into PAC Manager and load up the address for each of those EB2 units and go to Status Write and do a Save Configuration to Flash. You can do it through PAC Control debug mode as well by double clicking the IO unit and finding the save configuration button in there.

1 Like