PID Loop with no hardware I/O


Hello everybody,

Being new to PID loops, so far all my research says that you have to have an I/O Unit configured to use a PID loop. What I am trying to do is create a PID loop in PAC Control Professional ver R9.6d that does NOT need an I/O Unit. We are reading data from Modbus TCP. So the inputs will come from Modbus TCP registers.

From what I can tell, the only way to configure a PID loop is to first add an I/O Unit, then add a PID loop to that unit.

My question is, how can I create a PID loop without having an I/O Unit?


If you have no hardware IO units, then as far as I know, you will need to write your own PID code.


OK, I see. Thank you.

Could you point me in the direction of any opto-script examples? I have not seen any in my forum searches. In the 1700_PAC_Control_Users_Guide.pdf, the PID documentation assumes you have a hardware I/O unit.


Remind us again what hardware you are using?
You mention Modbus, but is that Opto hardware with the Modbus, or someone else?
You running this on Softpac?

There might be some workarounds…

Here is a post that has a PID chart (last post).


The hardware is not Opto 22 modbus, but our own. To be honest, I do not know the name of the actual manufacture, but I am reading from the registers just fine.

Yes, we are running in Softpac; the charts are written in mostly opto-script in PAC Control Professional, R9.6d.

The goal is to read from Modbus tcp, perform calculations if needed, and then plug them in to our PID loop. Then with the PID results, update Modbus tcp registers with any new values as appropriate.

The chart you posted looks very promising!


An R series controller or one of the brains EB1/2 can run PID loops. Our refrigeration system has an EB1 just for running PID loops everything else is done on an S1. Otherwise as pointed out you have to write your own loop calculations.

Edit: There is no physical I/O on the EB1 rack. It just does PID loops.