Choose the controller from the I/O list, the module mix and the recipe data, not from rung count. One documented program of 4,000 rungs used about 5K words of a 15K-word CPU. Use a dedicated thermocouple module with open-circuit detection for the loop, keep current-loop analog signals on a general analog module, and fit an independent high-limit device for the heater.
A machine that stores operator-edited recipes and runs one PID loop on one thermocouple rarely needs the biggest controller on the page. It needs the smallest one whose I/O list, module mix and data memory cover the job. Decide in this order: count every input and output, check module support against the exact CPU, size memory from the recipe table rather than from rung count, give the thermocouple a dedicated input module, and put heater protection in hardware that works even when the controller stops. One documented example sets the scale: a 4,000-rung program used about 5K words of a 15K-word CPU, so the data plan usually matters more than program size. The sections below walk each decision and finish with a worked example for a 24-recipe curing oven.
What actually decides the PLC for recipes and one PID loop?
The I/O list decides it before anything else: count every discrete point, every analog signal and each thermocouple channel, add the recipe data in words, and pick the smallest controller family whose base, module catalog and memory cover that list with one spare slot. A bigger catalog and a bigger memory figure solve different problems, and neither answers whether your machine fits. The deciding checks, in the order that catches problems:
- I/O count and signal types: discrete points, analog signals with their ranges (current-loop or voltage), thermocouple type and channel count
- Module support for the exact CPU and base, checked against the supported-module list, not the family catalog
- Data memory in words for the recipe table, on top of the program estimate
- Recipe ownership: who edits, where the values live, what survives a power cut
- Heater protection that still works when the controller logic stops
Three controller categories cover most machines like this:
| Option | Fits when | Thermocouple and analog | Recipe data | Watch for |
|---|---|---|---|---|
| Compact fixed-I/O unit, 16 to 32 points | A few buttons, solenoids and lamps, one analog signal, no growth planned | No dedicated thermocouple channel; a transmitter converts the sensor to a standard analog signal | A few dozen values in retentive registers | No slots: one added signal forces a controller change |
| Small modular PLC on a 4 to 8 slot base | 20 to 60 discrete points, one or two analog loops, one thermocouple | Dedicated thermocouple module with open-circuit detection; general analog module for current-loop signals | Hundreds to a few thousand retentive words | Check the supported-module list for the exact CPU before pricing |
| Mid-size modular PLC with expansion bases | More than one base of I/O, or a second machine section | Same module approach, more channels | Same, plus room for logs | Expansion link design and scan behavior need planning |
Family catalogs overlap, but support differs by CPU: a card listed for the family may still be unsupported on the smaller CPU or need a particular base. Check the supported-module list for the exact CPU part number before pricing the order.
How many I/O points and slots does the machine need?
Build the list before you open a catalog: count each discrete input and output, each analog signal with its range, each thermocouple channel with its type, each serial link, then add one spare slot, and check the count against the exact CPU and base combination. Walk the machine with a pencil: every limit switch, sensor, contactor coil, lamp and drive enable is a discrete point; every analog signal gets its range written down; every thermocouple gets its type; every serial link to a scale or feeder gets a home.
One documented machine shows how the list scales: 2 to 4 scales with 4 setpoints each, 2 to 16 vibratory feeders driven from 1 to 2 analog output cards at 5-10 VDC, and a serial co-processor module converting RS-232 and RS-485 scale data into PLC registers.
When the count outgrows one base, two paths exist. A bigger CPU that accepts expansion bases keeps everything in one program. Two small controllers on a peer-to-peer link split the machine between them; documented process-control practice found the second small controller cheaper and easier than remote I/O, at the cost of a data map between the two programs.
How much PLC memory do recipes really need?
Data, not logic, is what recipes cost: in one documented example a 4,000-rung program used about 5K words of a 15K-word CPU, so a table of a few hundred setpoints fits easily, but add it to the program estimate before you order. The ratio behind that example: 5,000 words ÷ 4,000 rungs = 1.25 words per rung for a program of ordinary ladder constructs. Estimate your rungs from a similar program you have already written, multiply, then add the data on top.
Data counts in words: one 16-bit word holds one numeric setpoint, so the recipe table costs setpoints times recipes. Recipe names and alarm text cost more. Mark the recipe words retentive so a power cut leaves the values in place, and size the CPU so the first download stays under about 70% of the word budget, leaving room for the next revision.
I/O capacity and program capacity are separate checks that fail separately, so a base full of cards says nothing about free words. After the first real download, read the word usage from the programming software's diagnostics and compare it with the estimate. Ladder branch, compare and jump instructions give the IF/THEN/ELSE behavior on these controllers; check the instruction set for the exact CPU before promising a sequence to the customer.
Where should the recipes live, and who edits them?
Let the HMI own the editing and the PLC own the applied values: operators create and select recipes on the HMI, the PLC holds the active setpoints in retentive words, and the full recipe set stays intact through a power cut in retentive or card memory. Give the recipe a fixed structure: the same setpoint layout in every recipe, one live block of current values for the HMI to read and write, the stored set kept on a memory card if the CPU takes one, and an exported copy outside the controller as the backup.
Fix every setpoint to one register address per recipe slot before any HMI screen is drawn. HMI invalid address errors when tagging PLC memory usually trace back to a map that drifted after the screens were drawn. Range-check each value before a recipe is applied, and block recipe changes while the machine is in a state where changed values would be unsafe.
A recipe set held in a co-processor module's data table disappears when that module's program is rewritten, a failure reported in the field; export the table to a file and run a round-trip test before you touch that program.
The screen that shows the room which recipe is running is a different display, a status screen rather than the editor. We build shop-floor signage screens for that job, playing images and video from microSD or USB with no subscription.
Can unused channels on a thermocouple module take 4-20 mA?
No: a dedicated thermocouple or RTD input reads only its own sensor type, so a current-loop signal has no place on the unused channels; wire every analog input to a general analog module and give the thermocouple its own module. A thermocouple transmitter is the exception that merges the two: it converts the thermocouple signal to 4-20 mA, so a general analog input module reads temperature like any other current-loop signal. You give up the module's own open-circuit flag unless the transmitter signals burnout.
Choose the dedicated thermocouple module for the detection: this class of input detects an open or shorted circuit and raises a fault, which is exactly the broken-sensor case the loop needs to know about. Check the datasheet for the fail direction and drive the heater output off on that fault.
Ground the module the way its install sheet shows; floating thermocouple cards have produced intermittent processor faults that look like software bugs. Watch the raw channel counts in the programming software's live table before scaling, so a wiring or type error surfaces before tuning.
What protects the heater if the PLC locks up?
With hardware, not logic: fit a separate high-limit control with its own sensor that removes heater power when temperature passes its setting, because a PLC alarm dies with the PLC, and oven standards such as NFPA 86 require that independent shutdown path. The independent layer looks like this: a high-limit control with its own sensor at the heater, wired to drop the heater contactor coil, latching so it stays tripped until someone resets it. Oven and furnace standard NFPA 86 requires an overtemperature shutdown that works independently of the operating control, and machine ovens follow the same pattern.
A broken process thermocouple can read as a cold oven while the loop calls for full heater output, and the limit device faces the same physics; choose one that treats its own sensor break as a trip.
PLC-side alarms still earn their place for diagnosis: set a low alarm a few degrees above room ambient so a dead or miswired sensor shows up at startup, before the first product goes in.
Worked example: what does a 24-recipe curing oven need?
A curing oven with 24 recipes of 10 setpoints needs about 240 words of recipe data and roughly 1,400 words of total memory, 12 discrete inputs, 8 discrete outputs, two current-loop analog inputs, one type K thermocouple and two analog outputs. Count the list first. Inputs: 12 discrete points for the door, pushbuttons and faults; 8 discrete outputs for the contactor, fan, damper and lamps; two analog process inputs on current loops; one type K thermocouple; two analog outputs, one to the heater SCR and one to the fan drive.
Count the slots. One 16-point discrete input card, one 8-point discrete output card, one 4-channel analog input card (two channels used, two spare), one 2-channel analog output card (both used), one 4-channel thermocouple card (one channel used, three spare). Five cards fit an 8-slot base with three slots free.
Count the words. Logic: 900 rungs × 1.25 words per rung = 1,125 words. Data: 24 recipes × 10 setpoints = 240 words, plus about 20 words for pointers and the live block. Total: 1,125 + 240 + 20 = 1,385 words, about 9% of a 15K-word CPU.
The decision: a small modular PLC with the dedicated thermocouple module covers this oven, and no expansion bases are needed. A compact fixed-I/O unit fails twice, no thermocouple channel and no free slot. The order adds the independent high-limit control with its own sensor.
Recommendation: For one thermocouple PID loop with an operator-edited recipe set, order a small modular PLC with a dedicated thermocouple input module that detects an open circuit, keep the analog signals on a general analog input module, hold the recipes as retentive words the HMI writes, and add an independent high-limit device for the heater; move to two linked controllers or expansion bases only when the I/O list outgrows one base.
When does the job outgrow one small PLC?
Step up when the list outgrows one base: more than about 32 discrete points on a fixed-I/O unit, more than 8 to 12 analog channels, or a plan that adds expansion bases; two small controllers on a peer link often beat one bigger CPU on cost. The split approach is documented practice: process-control shops running these small CPUs found a second controller on a peer link cheaper and easier than remote I/O. The cost is the interface: define which registers cross the link and which program owns each value, then treat that map as a formal interface.
Watch for the false shortcut: a panel computer whose documentation covers display and software but lists no machine I/O is an HMI platform, not a drop-in controller. Keep the PLC in the design until that product's documentation defines the I/O hardware and the control architecture.
Two or three slow loops still fit this pattern. A half-dozen fast loops or coordinated motion moves the job into the mid-size class with dedicated loop or motion modules. If the controller rides on the machine where dust, washdown or heat reach it, run the environment checks from choosing a PLC for harsh agricultural environments, and mount the electronics outside the wash zone when the machine spot is hostile.
What should you check before ordering the PLC?
Send the vendor the I/O list with signal types, the recipe count and size, the thermocouple type and the high-limit requirement, and get back the exact CPU, base, module part numbers, memory words, supported module list and the retentive range in writing. Ask for each item:
- The exact CPU, base and slot count, with the supported-module list for that CPU
- Program and data word budget, and where the diagnostics report usage
- The retentive range that covers the recipe words
- Thermocouple module: sensor type coverage, channel count, open-circuit detection and fail direction
- Analog ranges that match the signals on the general module
- The PID instruction with an update timer instead of per-scan execution
- The high-limit device model, its sensor-break action and its reset type
- The recipe export path, with a round-trip test from the controller to a file and back
Match the delivered cards against that list at startup, download the first revision, read the word usage from the diagnostics, and tune the loop only after the raw channel values check out in the live table.
Questions
How often should the PID loop update on a slow thermal loop?
Small PLCs scan their logic in single-digit milliseconds, far faster than an oven moves. Put the PID instruction on a timer and update it about once per second. A thermal process moves over tens of seconds, so a 1 s update keeps control and keeps the loop math readable, while updating every scan adds nothing on a loop this slow.
Type K or type J thermocouple: does the choice affect the module order?
Yes, in three places: the module, the extension leadwire and the channel configuration must all match the sensor. Type K covers up to about 1,250 °C and type J to about 750 °C, so K suits hotter ovens. A channel configured for the wrong type reads tens of degrees off mid-range, so set it before the first tuning attempt.
What should the loop output do when the thermocouple breaks?
Configure the open-circuit fail upscale, so a broken sensor reads above range and the loop drives its own output to zero. Many dedicated TC modules let you choose upscale or downscale. Downscale on a heater is the dangerous choice: the loop sees cold and calls for full output, leaving the independent high-limit device as the only thing that stops the machine.
How much spare capacity is worth planning in?
Plan on one spare slot in the base, about 20% spare discrete points, one spare analog channel and one spare thermocouple channel, plus 25 to 30% of the word budget free after the first download. On the curing oven example, the 8-slot base ends up with three cards free and the 4-channel thermocouple card keeps three channels spare.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.