Productivity 1000 Series PLC PID Ramp Soak

Productivity PLC – PID Ramp Soak Instruction
The purpose of a ramp soak instruction is to make gradual, controlled changes in temperature (Ramp), followed by a temperature hold (Soak) period.
We will be using our Proportional-Integral-Derivative PID Instruction that we looked at last time to apply the ramp/soak instruction.
Productivity 1000 Series PLC PID Ramp Soak Instruction
Using the immersion heater in a cup of water to keep the temperature at a constant value, we will be adjusting the profile of the temperature as we increase the set point (Ramp) and hold that set point for a predetermined time. (Soak)
Productivity 1000 Series PLC PID Ramp Soak Instruction
We will be modifying our existing program from our PID loop instruction. Let’s get started.

Previously in this Productivity 1000 series PLC, we have discussed:
System HardwareVideo
Installing the SoftwareVideo
Establishing CommunicationVideo
First ProgramVideo
Documenting the ProgramVideo
Monitoring and Testing the ProgramVideo
Online Editing and Debug ModeVideo
Numbering Systems and Tag DatabaseVideo
Contact and Coil InstructionsVideo
Timer InstructionsVideo
Counter InstructionsVideo
Math InstructionsVideo
Data Handling Instructions Part 1Video
Data Handling Instructions Part 2Video
Array Functions Part 1Video
Array Functions Part 2Video
Array Functions Part 3Video
Program ControlVideo
Drum Sequencer InstructionsVideo
Data LoggerVideo
Web ServerVideo
Modbus RTU Serial CommunicationVideo
Modbus TCP Ethernet CommunicationVideo
Firmware UpdateVideo
AdvancedHMI Modbus TCP Ethernet CommunicationVideo
Email and Text CommunicationVideo
PID InstructionVideo


As a review, the following links will explain the PID instruction.
The last time we used the PID loop instruction on our immersion heater and cup of water. The thermocouple input provided feedback to our loop.
Productivity 1000 Series PLC PID Ramp Soak Instruction
Auto Tuning was used to adjusting the PID parameters in our loop. We had an initial bump and then three cycles above and below the set point were observed before the auto-tuning was complete.

Ladder Logic Program – Productivity 1000 PLC

Thermocouple Feedback
During our PID loop operation, we observed the noise on the line for the thermocouple. We will now eliminate that noise by using the Average (AVG) instruction.
Productivity 1000 Series PLC PID Ramp Soak Instruction
The input will be our thermocouple input point, AIF32-
The output from this instruction will be placed in the ThermocoupleAvgOutput tag. The average time for the input to be calculated will be 2000 milliseconds. This is the same amount of time as our time proportional output.
Productivity 1000 Series PLC PID Ramp Soak Instruction
The average instruction will execute every scan of the PLC.
The output of our average will now be the Process Variable in our PID instruction.
Ladder Logic Programming Sample Code
The thermocouple input point AIF32- for our Process Variable is replaced by the tag ThermocoupleAvgOutput.

Ramp / Soak (RPS) Instruction – Productivity 1000 PLC

Productivity 1000 Series PLC PID Ramp Soak Instruction
We will use a structure for this instruction. The name will be Ramp_Soak, and we will have three steps.
Productivity 1000 Series PLC PID Ramp Soak Instruction
Number of Steps – 3 – This will set up the profile table with three steps.
Time Unit of Table – sec – This sets the timing units for each of the steps that we program.
Set Point Value – This is the setting that we want to go to in the step.
Ramp Time – This is the time based on the time units select to reach the set point. The output will go from the current value to the new value in the ramp time selected.
Soak Time – This is the time based on the time units select to wait at the set point. After this time the next step is executed.
Note: In our case, we are immediately moving to the new setpoint value. (Ramp Time = 0)
Select OK.
Ladder Logic Programming Sample Code
Switch 3 will enable our ramp soak instruction. When Enable is ON, the instruction will operate every scan. When Enable is OFF, the instruction is not solved and its outputs are not updated.
Switch 4 will run/pause our instruction. This must be on to start the timing cycle. Off will pause the timing.
Switch 5 will skip a step in the cycle when activated. This is edge-driven. When Skip goes ON, the instruction immediately begins the next portion of the Ramp. If Skip is asserted while Ramping to Set Point, Output will move to the Set Point; Elapsed Time in Step will move to Ramp Time and the Soak Time will begin. If Skip is asserted while Soaking, the next Ramp Step Number will begin.
Switch 6 will reset the instruction. Level-driven. Resets the instruction to Initial Values. Asserting Reset affects these Tags: Output: No Affect; Current Step Number: Changes to 1; Elapsed Time in Step: Changes to 0; Complete: Changes to 0

Enable / Disable Ramp Instruction – P1000 PLC

Ladder Logic Programming Sample Code
When Switch 3 is on our ramp soak instruction is activated. We will copy the Ramp_Soak.Output to the PID1.SetPoint.
When Switch 3 is off we will copy the value of 70 into our PID1.SetPoint. This will ensure that our water temperature is set to 70 when we are not going through our cycle.

See the video below to watch our PID Ramp / Soak instruction in action with our Productivity 1000 PLC.

Download the PID Ramp Soak Instruction program here.

Productivity 1000 Series PLC from Automation Direct

Overview Link (Additional Information on the Unit)
Configuration (Configure and purchase a system – BOM)
User Manual and Inserts (Installation and Setup Guides)
Productivity Suite Programming Software (Free Download Link)
This software contains all of the instruction sets and help files for the Productivity Series.

This concludes our Productivity 1000 Series PLC. We will add to this series as additional information or applications are required. Thank you.

Watch on YouTube: Productivity 1000 Series PLC PID Ramp Soak Instruction

If you have any questions or need further information please contact me.
Thank you,

If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.

To get this free article, subscribe to my free email newsletter.

Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.

2 thoughts on “Productivity 1000 Series PLC PID Ramp Soak”

Leave a Comment