Ron Beaufort
Lifetime Supporting Member
Greetings Jnelson:
simple answer:
the Allen-Bradley PID equation for the PLC-5 requires that its input must be ranged between 0 and 4095 ... on the other hand, the PID equation for the SLC and MicroLogix platforms requires an input range of 0 to 16383 ... before writing this thread, I decided to make the information useful to as many people as possible by working in units of “percent of full scale” ...
background information:
the actual Hotrod’s thermocouple transmitter is calibrated so that 0 degrees Fahrenheit results in a 4mA signal to the analog input card ... likewise 500 degrees results in a 20mA signal ... when working with the PLC-5 system, we often use a 1771-IFE analog input module ... this is configured so that a 4mA signal gives a data reading of 0 ... and a 20mA signal gives a data reading of 4095 ... this corresponds exactly to the PID’s required input signal range ...
when using the SLC-5/04 processor, we often use a 1746-NI4 analog input module ... this is configured so that the transmitter’s 4mA signal gives a data reading of 3277 ... and a 20mA signal gives a data reading of 16384 ... in order to properly scale this for the SLC’s required PID input range, the data from the analog input module is usually processed by an SCP (Scale with Parameters) instruction in the ladder logic program ... the data is thus scaled for a range from 0 to 16383 before being presented to the PID ...
actually I put quite a bit of thought into how to present these various scaling issues ... in the end, I decided that the “percentage of full scale” approach would be the most flexible method ... and hopefully would be understood by the majority of readers ...
and now a specific answer to your question based on the PLC-5 configuration:
suppose that we take a 75 degree input signal from the Ramrod (Hotrod simulator) and divide it by the “600” example that you mentioned in your question ... the result would be 12.5% ...
but ...
for a 75 degree input reading, the PID would actually be seeing an input signal of 614 (raw data) ... the PID would interpret this as a 15% input reading (614 divided by 4095 equals 0.15) ... we would obtain the same results as the PLC if we divided the 75 degree input by 500 ... but not if we divided by an arbitrary value such as 600 ...
and so if we were to use the “600” divisor that you mentioned, then all of the math in our examples would not correspond correctly with the values which the PID would actually calculate ... specifically, “12.5%” is not the same as “15%” ... that would be a bad thing ...
finally ... I think that I’ve answered your question ... but if not, please post again and give me another shot at it ...
Why divide by 500 and not 600 for instance?
simple answer:
the Allen-Bradley PID equation for the PLC-5 requires that its input must be ranged between 0 and 4095 ... on the other hand, the PID equation for the SLC and MicroLogix platforms requires an input range of 0 to 16383 ... before writing this thread, I decided to make the information useful to as many people as possible by working in units of “percent of full scale” ...
background information:
the actual Hotrod’s thermocouple transmitter is calibrated so that 0 degrees Fahrenheit results in a 4mA signal to the analog input card ... likewise 500 degrees results in a 20mA signal ... when working with the PLC-5 system, we often use a 1771-IFE analog input module ... this is configured so that a 4mA signal gives a data reading of 0 ... and a 20mA signal gives a data reading of 4095 ... this corresponds exactly to the PID’s required input signal range ...
when using the SLC-5/04 processor, we often use a 1746-NI4 analog input module ... this is configured so that the transmitter’s 4mA signal gives a data reading of 3277 ... and a 20mA signal gives a data reading of 16384 ... in order to properly scale this for the SLC’s required PID input range, the data from the analog input module is usually processed by an SCP (Scale with Parameters) instruction in the ladder logic program ... the data is thus scaled for a range from 0 to 16383 before being presented to the PID ...
actually I put quite a bit of thought into how to present these various scaling issues ... in the end, I decided that the “percentage of full scale” approach would be the most flexible method ... and hopefully would be understood by the majority of readers ...
and now a specific answer to your question based on the PLC-5 configuration:
suppose that we take a 75 degree input signal from the Ramrod (Hotrod simulator) and divide it by the “600” example that you mentioned in your question ... the result would be 12.5% ...
but ...
for a 75 degree input reading, the PID would actually be seeing an input signal of 614 (raw data) ... the PID would interpret this as a 15% input reading (614 divided by 4095 equals 0.15) ... we would obtain the same results as the PLC if we divided the 75 degree input by 500 ... but not if we divided by an arbitrary value such as 600 ...
and so if we were to use the “600” divisor that you mentioned, then all of the math in our examples would not correspond correctly with the values which the PID would actually calculate ... specifically, “12.5%” is not the same as “15%” ... that would be a bad thing ...
finally ... I think that I’ve answered your question ... but if not, please post again and give me another shot at it ...
Last edited: