Gå videre til innholdet
Automatiseringsdeler, global levering
How to Calculate Scan Time and Memory for AC500 PLC?

How to Calculate Scan Time and Memory for AC500 PLC?

This technical engineering guide provides a structured workflow for selecting and installing the ABB AC500 PLC platform. It covers I/O module selection with signal type considerations, CPU scan time calculation formulas, communication protocol planning (PROFINET vs EtherCAT vs Modbus TCP), environmental derating factors, three-layer programming structure for maintainability, detailed wiring instructions with torque and gauge specifications, grounding system design, plus three industrial case studies with real performance data from cement bagging and pharmaceutical reactor applications.

Selecting the Right AC500 PLC: A Practical Engineering Workflow

Choosing a PLC is not about picking the biggest CPU. It is about matching hardware capabilities to real machine behavior. The ABB AC500 family serves applications from compact conveyor controls to distributed process systems. This guide follows an engineer's decision flow. Each step includes calculation methods, configuration parameters, and field-tested values.

Mapping Field Devices to I/O Module Types

Every PLC project starts with a terminal strip drawing. Count each sensor and actuator. Then assign them to specific module families.

Digital Input Types: AC500 offers 8, 16, or 32-channel DI modules. Three voltage families exist: 24V DC (standard), 48V DC (industrial trucks), and 120V AC (legacy machine retrofits). Most new designs use DC512 series 24V DC modules. These include built-in input filtering. Set filter time from 0.1ms to 32ms via software. Faster filtering catches short pulses but increases noise susceptibility. For emergency stops, use 0.5ms filtering. For limit switches, 3ms works well.

Digital Output Types: Transistor outputs (DC512 series) switch at 10kHz. Use them for PWM control or high-speed counting. Relay outputs (DC522 series) handle 2A at 240V AC. Use relays for motor contactors and solenoids. Never connect a relay output to an inductive load without a flyback diode. The diode must be rated for at least the coil current. A missing diode destroys the relay within weeks.

Analog Module Selection: AI523 analog input modules provide 4 channels of 16-bit resolution. Each channel configures individually for 0-10V, -10-10V, 0-20mA, or 4-20mA. For temperature measurement, use the AT520 thermocouple module. It supports types J, K, T, N, E, R, S, and B. Cold junction compensation happens automatically. The module accuracy reaches ±0.1% of full scale.

Calculating CPU Load and Memory Footprint

CPU selection requires three numbers: program memory, data memory, and scan time target. ABB publishes these specifications in the AC500 technical datasheet.

CPU Model Program Memory Data Memory Typical Scan Time (1k instructions)
PM554 (eCo) 512 KB 2 MB 0.8 ms
PM564 (eCo Advanced) 1 MB 4 MB 0.5 ms
PM573 (ECO) 2 MB 4 MB 0.3 ms
PM583 (ECX) 4 MB 8 MB 0.15 ms
PM591 (ECX High Performance) 8 MB 16 MB 0.08 ms

Estimating Your Requirements: Write down your expected logic size. A typical function block uses 100 bytes. One rung of ladder logic uses 50 bytes. For a machine with 200 function blocks and 500 rungs, program memory equals (200*100 + 500*50) = 45KB. Add 100KB for communication buffers and system tasks. Total stays under 200KB. This fits in any AC500 CPU. However, data memory fills faster. Each analog tag with scaling uses 8 bytes. A trend buffer storing 1000 samples for 20 tags uses 160KB. Plan data memory based on your historian needs.

Scan Time Calculation: Scan time equals execution time plus I/O update time plus communication overhead. Execution time roughly equals instruction count divided by CPU speed. The PM554 executes 1000 instructions per 0.8ms. A 5000 instruction program takes 4ms. I/O update adds 0.1ms per module. Communication adds 0.5ms per active protocol. Total scan time = 4ms + (modules * 0.1ms) + (protocols * 0.5ms). For a system with 8 modules and 2 protocols, scan time = 4 + 0.8 + 1 = 5.8ms. This works for most processes. High-speed motion requires scan times under 1ms. Choose PM591 for such cases.

Communication Architecture Planning

Network design affects both performance and troubleshooting. AC500 supports five major fieldbuses. Each serves a different purpose.

  • Modbus TCP: Best for HMI and SCADA connections. Use port 502. Supports up to 32 simultaneous connections. Cycle time typical at 50-100ms.
  • PROFINET IO: Real-time device communication. Cycle times from 1ms to 32ms. Supports up to 128 devices. Required for ABB drives and remote I/O.
  • EtherCAT: Ultra-fast motion network. Cycle times down to 250 microseconds. Supports up to 65535 devices. Best for multi-axis servo systems.
  • CANopen: Legacy protocol for sensors and small drives. Maximum 1Mbps speed. Limited to 127 nodes. Still common in hydraulic systems.
  • PROFIBUS DP: Older serial bus. 12Mbps maximum. Being replaced by PROFINET. Use only for existing plant integration.

Engineering Recommendation: Build a single Ethernet network for all devices. Use managed switches with IGMP snooping. This prevents multicast storms from crashing the network. Assign static IP addresses in a dedicated subnet. For example, 192.168.10.1 to 192.168.10.200. Keep the PLC at .1. Keep HMIs at .10 to .20. Keep drives at .50 to .100. This pattern makes troubleshooting faster.

Environmental Derating and Protection Levels

Published specifications assume ideal conditions. Real factories require derating factors.

Temperature Derating: The AC500 operates at 60°C maximum. However, each 5°C above 40°C reduces MTBF by half. Install a panel fan if internal temperature exceeds 45°C. Measure panel temperature after 8 hours of operation. Use a thermocouple attached to the CPU heatsink. If temperature reads 55°C, the effective lifespan drops to 25% of nominal. A $50 fan restores full lifespan.

Humidity and Corrosion: Standard AC500 modules tolerate 95% relative humidity non-condensing. For paper mills or chemical plants, specify XC (eXtreme Condition) variants. XC modules receive conformal coating. This protects against hydrogen sulfide and chlorine gas. XC also extends temperature range to -40°C to +70°C. Part numbers include "-XC" suffix. Example: PM583-XC replaces standard PM583.

Vibration and Shock: AC500 withstands 5g continuous vibration from 10Hz to 150Hz. For punch presses or forging equipment, add vibration dampers. Use rubber isolators between the panel and mounting frame. Reduce panel height to under 600mm. Tall panels amplify vibration. Keep CPU modules in the lowest panel row.

Programming Structure for Maintainability

Code organization determines how quickly a technician diagnoses a failure. Follow the three-layer structure below.

Layer 1: Hardware Abstraction (Device Level): Create one function block per physical device. For a motor, create FB_Motor. Inside, map the DO to start, DI to running feedback, AI to current. Use structured text for the logic. Expose only three interfaces: Start, Stop, and Reset. Never let higher layers access raw I/O addresses. This isolates hardware changes. If a motor moves from DO1 to DO5, change only the FB_Motor instance. No other code breaks.

Layer 2: Machine Sequence (Process Level): Implement state machines using SFC (Sequential Function Chart). Each step represents a machine action. Each transition checks conditions. For a filling station, steps might include: WaitForContainer, MoveFillHead, OpenValve, WaitForWeight, CloseValve, RetractFillHead. SFC makes sequence debugging visual. The engineer sees exactly which step is active. Timeout each step at 120% of normal duration. Trigger an alarm if timeout occurs.

Layer 3: Supervisory Logic (Coordinator Level): Handle mode management, alarm handling, and data logging here. Implement three standard modes: Manual, Automatic, and Maintenance. In Manual mode, operators command individual actuators. In Automatic mode, the sequence runs. In Maintenance mode, the sequence locks out but diagnostics remain active. Store mode state in retentive memory. Power cycles should not change mode.

Field Installation: Step-by-Step Wiring Guide

Panel Layout Rules

Place the AC500 CPU in the upper left corner of the panel. Leave 60mm clearance above for air intake. Leave 40mm clearance below for wiring ducts. Install I/O modules to the right of the CPU. Maximum 12 modules per CPU without expansion backplane. For larger systems, add backplane extension modules. Each extension adds 12 slots. Distance between CPU and last extension cannot exceed 2 meters.

Grounding System Design

Create a single-point ground busbar. Use copper bar sized at 10mm width and 3mm thickness. Connect the PLC 0V terminal to this busbar with 4mm² green-yellow wire. Connect panel ground (incoming mains earth) to the same busbar. Connect each I/O module's functional ground terminal to the busbar. Do not create ground loops. Never connect ground at both ends of a cable. Measure ground resistance between busbar and building earth rod. Resistance must stay under 1 ohm. Add additional earth rods if needed.

Wiring Digital Inputs

Use 3-wire shielded cable for proximity sensors. Brown wire to +24V sensor supply. Blue wire to 0V. Black wire to PLC DI terminal. Connect the shield only at the PLC end. For 2-wire mechanical switches, use unshielded cable. Wire one contact to +24V. Wire the other contact to DI terminal. Install a 10k ohm pull-down resistor on the DI terminal. This prevents floating inputs when the switch opens. AC500 modules include internal pull-downs. Set the DIP switch to enable them.

Wiring Digital Outputs

Transistor outputs source 0.5A per channel. For loads exceeding 0.5A, add an interposing relay. The relay coil should draw 20mA at 24V. Install a flyback diode (1N4007) across the relay coil. Cathode to +24V, anode to transistor output. For inductive loads like solenoid valves, install a suppression diode at the valve. Same 1N4007 works. For incandescent lamps (inrush current 10x steady state), derate transistor outputs to 0.2A. Use relay outputs for lamps.

Wiring Analog Signals

Use individually shielded twisted pair for each analog signal. Belden 8762 (2 conductor, 22 AWG) is standard. Connect the shield to the PLC analog module's shield terminal. Do not connect the shield at the sensor. For 4-20mA loops, the PLC supplies 24V to the sensor. Wire PLC terminal AI+ to sensor +. Wire sensor - to PLC terminal AI-. The PLC measures current through the loop. Maximum loop resistance is 750 ohms. For sensors located more than 300 meters away, add a signal isolator. The isolator regenerates the 4-20mA signal.

Power-Up Sequence

Apply power in this order: First, main panel disconnect. Second, PLC power supply. Third, sensor power supply. Fourth, output power supply. Wait 5 seconds between each step. This prevents brown-out conditions. Watch the CPU LEDs after power-up. The PWR LED lights green immediately. The RUN LED flashes for 3 seconds, then stays solid green. If RUN stays flashing, the CPU has no program. If ERR lights red, a hardware fault exists. Connect Automation Builder and read the diagnostic buffer.

Real Application: Cement Plant Bagging Machine

A cement factory in Vietnam upgraded 12 bagging machines. Each machine fills 50kg bags at 30 bags per minute. Original relay logic failed weekly. The AC500 system now controls weighing, filling, and dust collection.

I/O Configuration per Machine: 24 DI (bag present, gate position, weight stable), 16 DO (fill gate, vibrator, conveyor, dust valve), 4 AI (load cell signal), 2 AO (speed reference to feeder). Total I/O count: 46 points per machine. Engineers added 20% spare: 8 DI and 4 DO remaining.

CPU Selection: PM564 with 1MB program memory. Scan time measured at 4.2ms. This supports 30 bags per minute (each bag requires 2000ms cycle). The CPU runs at 50% load, leaving margin for future features.

Performance Results: After 18 months, uptime stands at 99.3%. The old relay system achieved 92% uptime. Each machine produces 3600 bags per shift. At $5 profit per bag, increased uptime adds $1,300 per machine per day. Payback period: 11 days.

Real Application: Pharmaceutical Reactor Control

A pharmaceutical company in Ireland needed to replace a 15-year-old DCS. The reactor produces an active ingredient for a diabetes drug. Temperature must stay within ±0.5°C. Pressure cannot exceed 2.5 bar. The batch runs for 48 hours.

I/O Configuration: 48 DI (valve position switches, pump status), 32 DO (valve actuators, pump starters), 16 AI (RTD temperatures, pressure transmitters, pH sensor), 8 AO (control valve positions, heating power). Engineers added 8 spare DI and 4 spare AO.

CPU Selection: PM583-XC with conformal coating. The reactor area has solvent vapors. Standard modules would corrode. Program memory usage: 1.8MB. Data memory usage: 3.2MB (includes batch logging). Scan time: 18ms. PID loops execute every 100ms.

Communication Design: PROFINET connects to three remote I/O racks. One rack sits at the reactor (50 meters). One at the utility building (120 meters). One at the control room (80 meters). Fiber optic media converters bridge distances over 100 meters. Ethernet connects to the site SCADA system via a firewall. The PLC logs batch data to a network drive. Each batch record includes 200 parameters sampled every minute.

Operational Data: The system completed 342 batches over 14 months. Zero PLC-related failures. Temperature control accuracy measured ±0.3°C, exceeding requirements. Batch consistency improved from 94% to 98% passing quality release. The client estimates $2.1M annual savings from reduced rejected batches.

Engineering Tips for Commissioning

Tip 1: Simulate Before Wiring Use Automation Builder's simulation mode. Create virtual I/O that mimics sensors. Test every sequence offline. Force inputs to change state and verify outputs respond correctly. This catches 80% of logic errors before field work begins.

Tip 2: Use Forced I/O for Testing During commissioning, use the force table to override inputs. This simulates sensor signals without physical movement. However, never leave forces active after commissioning. A forced input hides a wiring error. Always remove forces before production start.

Tip 3: Build a Diagnostic HMI Page Create one screen showing every I/O point status. Color code: green for active input, gray for inactive. Show analog values numerically. Include a timestamp of the last I/O change. This page alone solves 90% of field call questions. The maintenance technician sees instantly which sensor failed.

Tip 4: Implement Soft Watchdogs Write a 5-second timer that resets each scan. If the timer expires, the program has hung. Trigger an output that lights a beacon. Also write communications watchdogs for each remote device. If a device stops responding for 1 second, log an event. Do not halt production for minor communication glitches. Many networks have occasional packet loss.

Tip 5: Label Everything Use a label maker on every wire. Label each terminal with the PLC address. Label each module with its slot number. Label each sensor cable with its destination. This documentation saves hours during future troubleshooting. A technician with good labels fixes problems in 10 minutes. Without labels, the same problem takes 2 hours.

Frequently Asked Questions

How do I update AC500 firmware without losing the existing program?
Download the new firmware file from ABB website. Use Automation Builder's Firmware Update tool. Connect via USB or Ethernet. The tool preserves retentive variables and the application program. However, create a backup before updating. Some major version jumps require program conversion. Test the updated firmware on a spare CPU first. Roll back if you see scan time increases.

What causes intermittent communication failures on PROFINET?
Three common causes: duplicate IP addresses, bad Ethernet cables, or switch flooding. First, scan the network with Wireshark. Look for IP address conflicts. Second, replace any cable longer than 100 meters or with bend radius under 25mm. Third, enable IGMP snooping on managed switches. Without it, multicast traffic floods all ports. Set the PLC to send unicast PROFINET frames instead of multicast. This reduces network load by 90%.

Can I mix 120V AC inputs with 24V DC inputs on the same CPU?
Yes, but use separate modules. AC500 offers DI524 for 120V AC inputs. Never connect AC and DC signals to the same module. The module's common terminal carries the voltage type. Mixing voltages damages the input circuitry. Also maintain separate wiring ducts for AC and DC cables. Induction from AC wires can falsely trigger DC inputs. Keep 50mm separation minimum.

Tilbake til bloggen