Scan Time Analysis: Why Measured Values Differ from Datasheets
Datasheets claim 0.08 µs for basic logic. However, real scan time includes I/O image updates, communication processing, and operating system overhead. In field tests with a PM564 CPU, a program of 200 ladder rungs and 64 digital I/O produced an average scan time of 1.8 ms. The same program with 8 analog inputs increased to 2.4 ms due to ADC conversion delays.
Task partitioning directly affects jitter. Place high-speed counting logic inside a 1 ms cyclic interrupt. Move HMI data refresh to a 50 ms task. One packaging line reduced position error from 3 mm to 0.5 mm after separating tasks correctly. Engineers should always use the performance measurement tool in Automation Builder during development.
Interrupt Task Configuration for Fast Processes
The AC500-eCo supports up to 8 cyclic interrupt tasks. Each task runs independently of the main scan. For a filling machine with 120 bottles per minute, configure a 2 ms interrupt to read the flowmeter pulse counter. The main program then calculates batch totals every 50 ms. This approach prevents pulse loss during heavy communication load.
A common mistake involves placing too many function blocks inside interrupt tasks. Each PID block adds roughly 0.05 ms. Three PID blocks inside a 1 ms task consume 15% of the available time. Move non-critical calculations to slower tasks.
Power Supply Design for Reliable 24/7 Operation
Voltage dips cause more PLC resets than actual hardware failures. The AC500-eCo accepts 19.2V to 28.8V DC (including ripple). However, field measurements show that voltage drops below 20V for just 5 ms trigger a brownout reset. Therefore, size the power supply with 30% extra capacity. For a system drawing 1A average, use a 1.5A supply.
Add a 10,000 µF capacitor across the 24V terminals when the PLC shares a supply with motor contactors. In one conveyor system, contactor dropout caused a 40 ms voltage sag. The capacitor held voltage above 21V, preventing PLC reset. This $5 component saved six hours of troubleshooting.
Inrush Current Protection and Fusing
The CPU draws 250 mA typical but peaks at 2.5A for 2 ms during startup. A fast-blow fuse may trip incorrectly. Always install a slow-blow 2A fuse. Use a 24V DC power supply with active current limiting. Many low-cost supplies fold back voltage during overload, causing oscillations. Choose a supply with constant current mode instead.
Terminate the power supply output with a 0.5A PTC resettable fuse for each I/O module group. This local protection prevents a single shorted sensor from taking down the entire PLC. Field data shows that local fuses reduce troubleshooting time by 70%.
Digital Input Filtering: Debounce Without Missing Edges
Mechanical switches and relays produce contact bounce lasting 5 ms to 15 ms. The AC500-eCo input filter configures from 0.1 ms to 32 ms. For push buttons and limit switches, set filter to 10 ms. This rejects bounce but still captures fast manual operations. For encoder pulses or high-speed counting, set filter to 0.1 ms.
A case study from a bottling line illustrates the trade-off. Initially, engineers used 10 ms filtering on all inputs. Bottle presence sensors near the filler produced 8 ms pulses. The PLC missed 2% of bottles. Changing only the high-speed inputs to 0.5 ms filtering eliminated all misses while keeping button debounce active.
Configuring Input Filters via Software
Automation Builder allows per-channel filter adjustment. Open the I/O configuration tab for each digital input module. Select the channel and choose the filter time. The change takes effect immediately after download. No hardware modification is required. For remote I/O via fieldbus, the filter setting resides on the remote module. Check the specific module manual for available options.
Grounding Strategies That Eliminate Analog Drift
Analog signals are sensitive to ground potential differences. The AC500-eCo analog modules measure voltage between the input terminal and the common (COM) terminal. If multiple devices have different ground references, the measurement drifts. A water treatment facility observed 0.5V drift on a 4-20mA loop. The root cause was a 0.3V ground difference between the PLC and the transmitter.
Use a single-point star ground. Connect all 24V DC returns to a single bus bar. Connect the PLC functional ground to the same bar. For long-distance analog signals (over 50 meters), use isolated transmitters or signal isolators. This solution fixed the drift problem completely.
Shield Termination Rules for Analog Cables
Connect the cable shield only at the PLC end. Leave the shield floating at the sensor end. This prevents ground loops. Use shielded twisted-pair cable with 100% coverage. Drain wires must be as short as possible – less than 5 cm from the shield clamp to the ground terminal. In one installation, a 15 cm drain wire picked up enough EMI to cause 2% signal ripple. Shortening to 3 cm reduced ripple to 0.2%.
Modbus RTU: Baud Rate vs Cable Length Trade-Offs
Long cables require lower baud rates. At 19200 baud, reliable communication extends to 300 meters with proper cable. At 115200 baud, maximum distance drops to 50 meters. A chemical plant connected eight flowmeters over 250 meters of RS-485 cable. Running at 9600 baud produced zero errors over six months. Attempting 38400 baud resulted in 5% CRC failures.
Termination resistors are mandatory. Install a 120 ohm resistor across the Data+ and Data- terminals at both ends of the bus. Many engineers forget the resistor at the last device. This omission causes reflections and intermittent timeouts. A packaging line had random communication failures every two hours. Adding the missing termination resistor solved the problem permanently.
Modbus Exception Codes and Their Meanings
Code 01 (Illegal Function) appears when the slave does not support the requested command. Use function codes 03 (read holding registers) and 06 (write single register) for maximum compatibility. Code 02 (Illegal Data Address) means the register address is out of range. Always map a contiguous block of 100 registers for general use. Code 03 (Illegal Data Value) indicates a value outside permitted limits, such as writing 300 to a 0-255 register.
PID Loop Tuning Without Auto-Tune in Fast Processes
Auto-tune works poorly for processes with dead time under 200 ms. For pressure and flow control, manual tuning gives superior results. First, set Ti to maximum and Td to zero. Increase Kp until the process oscillates continuously. Record the oscillation period (Pu) and the gain at oscillation (Ku). Then apply Ziegler-Nichols rules: Kp = 0.45 * Ku, Ti = Pu / 1.2, Td = Pu / 8.
A hydraulic press application demonstrated this approach. Auto-tune produced a 40% overshoot and 800 ms settling time. Manual tuning using the Ziegler-Nichols method reduced overshoot to 8% and settling time to 250 ms. The press cycle time improved by 15% as a result.
Anti-Windup and Output Limits
Integrator windup occurs when the output reaches a physical limit but the error persists. The PID_CONTROL block includes an anti-windup feature via the Y_MANUAL input. Set Y_HIGH_LIMIT and Y_LOW_LIMIT to the actual valve or actuator range. For a valve that opens from 0% to 100%, set limits accordingly. Without limits, the integrator accumulates beyond 100%. When the error reverses, the output takes excessive time to come back. One temperature control loop required 12 minutes to recover from windup. Adding limits reduced recovery to 90 seconds.
Real Application: Conveyor Merge with Six Induction Sensors
A logistics center needed to merge six conveyor lines into one main line. Each induction sensor detects boxes at 2 meters per second belt speed. The AC500-eCo PM564 reads all six sensors and controls merging gates. Box spacing is 500 mm. The PLC must decide merge order within 50 ms to prevent collisions.
Engineers configured three cyclic interrupt tasks. A 5 ms task reads all six sensors and stores timestamps. A 20 ms task calculates box positions based on belt speed. A 100 ms task controls gate actuators. This structure achieved 100% collision-free merging over 500,000 boxes. The previous controller, using a single 50 ms scan, caused 0.3% collisions.
Real Application: Chemical Dosing with Four Peristaltic Pumps
A water treatment plant doses four chemicals into a mixing tank. Each pump runs at variable speed controlled by a 4-20mA analog output from the AC500-eCo. Flowmeters provide 4-20mA feedback. The PLC runs four independent PID loops to maintain setpoint ratios.
The process engineer manually tuned each loop using the Ziegler-Nichols method. Pump 1 (fast response) achieved stable control with Kp=1.2, Ti=0.8s, Td=0.2s. Pump 4 (slow response due to long piping) required Kp=0.6, Ti=5.0s, Td=1.2s. Chemical usage dropped by 11% compared to the previous on-off control. Annual savings reached $18,000 in chemical costs alone.
Real Application: Solar Tracker with 24V Battery Power
An off-grid solar array uses AC500-eCo PM554 for dual-axis tracking. The PLC runs on a 24V battery bank charged by the solar panels. Power consumption measured 3.8W including two analog light sensors and two actuator drivers. The system wakes every 10 seconds, calculates sun position, and moves actuators if needed. Between movements, the PLC enters idle mode drawing only 1.2W.
After 18 months of operation, the PLC recorded zero resets or logic errors. The battery bank maintained voltage above 23.5V throughout winter months. This deployment proves the platform’s suitability for remote, power-sensitive applications where reliability is critical.

Commissioning Checklist for First-Time Users
Start with a clean project in Automation Builder. Configure the CPU model exactly as labeled on the hardware. Set the IP address if using Ethernet. Download an empty program first to test communication. The RUN LED should flash then become solid.
Next, add one I/O module at a time. Download and test after each addition. This isolates configuration errors. Many issues come from incorrect module addressing. Verify that the module ID in software matches the physical slot position. Slot 0 is the first module to the right of the CPU.
Finally, test all field wiring using force mode. Force each input from the field device and watch the software indicator. Force each output and measure voltage at the terminal. This catches reversed polarity and broken wires before production start.
SD Card Backup and Firmware Updates
Insert a FAT32-formatted SD card (up to 32GB) into the CPU slot. Use Automation Builder to copy the project to the card. The CPU boots from the card if the internal memory is empty. This feature allows rapid replacement of a failed unit. Keep a spare CPU with the same SD card in the maintenance cabinet.
Firmware updates require the Automation Builder update tool. Download the firmware file from ABB’s support site. Connect via Ethernet and run the update. The process takes 3 minutes. Always backup the project before updating. Firmware updates do not erase retentive variables, but power interruption during update corrupts the CPU. Perform updates during scheduled downtime only.
FAQ for Control Engineers
How do I monitor scan time in real time without external tools?
Use the system variable CYCLE_LOAD. This 16-bit integer shows the current scan time in microseconds. Map it to a holding register for HMI display. The variable updates every scan. For a PM564, typical values range from 1200 to 5000 depending on program size.
Can the AC500-eCo handle 100 kHz pulse counting?
Yes, but only on specific high-speed counter inputs. The PM564 and PM565 have two built-in 100 kHz counters. Use the HS_COUNTER function block. Configure the input filter to 0.1 ms. For higher frequencies (up to 500 kHz), add the DC522 I/O module. Standard digital inputs cannot exceed 1 kHz due to optocoupler limitations.
What is the maximum number of PID loops before performance degrades?
Field tests show that 16 PID loops increase scan time by approximately 0.8 ms. The PM564 handles 24 PID loops comfortably with scan times under 8 ms. Beyond 32 loops, use the PM567 CPU or move to a distributed control architecture. Each PID block consumes 0.05 ms plus loop calculations.
Final Recommendations from Field Experience
Always oversize the power supply by 30%. Add local fusing per I/O group. Configure separate cyclic interrupt tasks for high-speed logic. Use manual PID tuning for processes with dead time under 200 ms. Terminate RS-485 buses at both ends. These practices have prevented 90% of field issues across dozens of installations.
The AC500-eCo platform delivers professional results when engineers apply proper design discipline. Its limitations are well understood and documented. Working within those boundaries produces reliable, cost-effective automation that runs for years without intervention.
