ABB PLC Software: Automation Builder & AC500 Programming
Choose, download and use ABB Automation Builder for an AC500 PLC with a version gate, I/O contract, motor sequence, fault tests and commissioning evidence.
Direct answer
Use ABB Automation Builder to configure and program an ABB AC500 PLC. Obtain it from ABB's current Automation Builder download page, not a third-party download mirror. Start by recording the exact CPU family, hardware revision, firmware, Automation Builder version and required license features. Create the matching device tree, define symbolic I/O, write a small state-based program, compile it, test normal and abnormal cases in an isolated environment, and only then download it to authorized hardware under the site’s change and electrical-safety procedures.
The shortest useful first project is a motor or pump sequence with separate start request, run command, running feedback, permissive, trip, and failed-to-start states. That separation makes the program testable. A single Motor_On bit cannot show whether an operator asked for a start, the PLC issued it, or the field device actually responded.
As of this review on 29 August 2026, ABB’s current public help surface is Automation Builder 2.9.0 for AC500 V3 and CP600. Existing plants may use AC500 V2 and an earlier toolchain. Do not migrate, change firmware or open an old project merely because a newer download exists. First capture a recoverable backup and use ABB’s compatibility guidance for the installed generation.
This guide owns the ABB AC500 programming and troubleshooting task. It does not own ABB ACS355 drive commissioning, a general PLC-brand comparison, or proprietary firmware emulation. The examples are independent teaching designs; menu labels and supported features must be checked against the exact ABB version and catalog numbers in your project.
ABB PLC programming at a glance
| Decision | Practical answer | Evidence to retain | Common mistake |
|---|---|---|---|
| programming environment | Automation Builder for AC500; confirm V2 versus V3 | installer version, license edition, package list | opening a legacy project in an unapproved newer environment |
| controller selection | choose by exact CPU, I/O, communication, environment and lifecycle requirements | catalog numbers and dated datasheets | copying specifications from another AC500 family member |
| first program | small state-based motor or pump sequence | I/O contract, state table, compiled project | starting with a large plant application |
| simulation | use for logic and selected virtual-system tests when supported | test manifest naming what was simulated | treating simulation as hardware commissioning |
| online work | use only within authorization and a controlled change plan | backup, diff, approval, rollback and result | forcing outputs or downloading to the wrong target |
| troubleshooting | locate the first boundary where expected and observed evidence diverge | timestamped trace and diagnostic export | changing several variables at once |
| drive integration | define command/status contract and keep safety functions separate | mapping, watchdog and fault tests | treating a network stop as energy isolation |
| completion | pass normal, negative, restart and recovery tests | signed acceptance matrix | declaring success when the output icon turns green |
Which ABB PLC software should you use?
Automation Builder is the AC500 engineering environment
ABB describes Automation Builder as its integrated environment for PLCs, safety, drives, motion and control panels. For AC500 work, it provides the hardware tree, IEC 61131-3 programming editors, library handling, compilation, communication configuration, download, online observation and diagnostics. ABB currently publishes Basic, Standard and Premium license levels. Feature entitlements can change, so confirm the current matrix instead of repeating an old “free versus paid” list.
The free Basic edition can be useful for evaluation, but “free to download” does not prove that every protocol, engineering feature, safety component, motion tool, runtime or team workflow needed by a project is included. Create a license requirement sheet before procurement.
| Requirement | Question to answer before installation | Saved proof |
|---|---|---|
| AC500 generation | Is the installed CPU V2 or V3? | CPU label, project metadata and ABB compatibility page |
| engineering version | Which Automation Builder version created the approved project? | installer hash or package record and project archive |
| license | Which edition and separately licensed features are required? | current ABB feature matrix and written quote |
| firmware | Which CPU and module firmware is approved? | firmware inventory and release-note review |
| libraries | Which library names and versions compile the project? | library lock list or repository export |
| operating system | Is the engineering workstation supported and controlled? | workstation build record |
| access | Who may connect, download, force or change firmware? | role and authorization matrix |
| recovery | Can the team restore the last known-good project and device state? | tested backup and rollback record |
Download Automation Builder without losing the approved baseline
The search phrase ABB PLC software download has navigational intent. ABB's official download page is the correct destination for the installer. An independent guide should explain the decision and risks around that download, not re-host the software or imitate ABB's download button.
Before installing, identify whether the job is a new isolated lab, a new production project, or support for an existing system. Those are different changes. ABB's current installation guidance says to create a project archive before an update because an archive can retain project material, including third-party device descriptions, that is not held in the basic project file. Treat that archive as one part of a recoverable baseline, not as proof that the running controller and every connected device can be restored.
| Situation | Correct first action | Version rule | Evidence to retain |
|---|---|---|---|
| new offline learning lab | download from ABB and record installer/package choices | use a current supported release unless the exercise specifies another | installer version, licence state and lab manifest |
| new AC500 V3 project | select the exact V3 CPU and required device packages | use the approved project profile and target firmware combination | CPU catalog, firmware, profile and compile result |
| existing AC500 V2 project | preserve the known-good engineering environment and archive first | do not open or convert in a newer profile without a reviewed migration plan | original archive, tool version, libraries and comparison |
| third-party device integration | preserve EDS/GSDML/device repositories and versions | test package compatibility with the approved Automation Builder version | device-description files and import result |
| Standard/Premium evaluation | map requirements to ABB's current licence/features information | do not assume a trial entitlement is a production entitlement | feature list, trial/paid status and procurement record |
| production maintenance | use the site's controlled workstation and access process | match the approved controller/project baseline | authorization, backup, diff, rollback and signed result |
ABB documents Basic, Standard and Premium engineering options, plus separately licensed runtime features for some functions. Ask two questions separately: what must the engineering workstation be licensed to do, and what must the target CPU be licensed to execute? A successful installer or compiler does not answer both.
Do not use search-result mirrors offering old Control Builder Plus or Automation Builder packages. They can be obsolete, modified, unsigned or incompatible, and they detach the installer from current release notes and security information. If the approved project requires an older release, obtain it through ABB's official older-version surface or the organization's controlled software repository and verify it against the saved baseline.
AC500 V2 and V3 are a compatibility decision, not a label change
ABB’s current help explicitly asks users to determine whether they use AC500 V2 or AC500 V3. Treat that as an engineering gate. Record the CPU catalog number and installed firmware before selecting a device package or opening a project. An application built for one generation should not be assumed portable to the other without ABB’s documented migration path, library review and regression testing.
For a brownfield controller, first obtain the approved source archive and compare it with the online target according to the site procedure. An upload may not reconstruct comments, symbols, libraries, HMI source or the exact build environment. The running controller is not a complete backup strategy.
Automation Builder is CODESYS-based, but ABB ownership still matters
Familiarity with CODESYS concepts helps with program organization, variables and IEC languages. It does not make a generic CODESYS device description interchangeable with ABB’s packages. ABB supplies and supports the AC500 target definitions, libraries, firmware workflow, diagnostics and device integration. Validate behavior against ABB help for the selected controller generation.
Select an AC500 system without copying stale specifications
ABB’s public AC500 family includes modular CPUs, communication modules, communication-interface modules, S500 I/O and accessories, with separate AC500-eCo, AC500-S and environmental variants. The safe selection method is requirements-to-catalog-number traceability. Avoid a broad table of memory sizes or scan speeds detached from a dated datasheet; variants and lifecycle states change.
| Requirement surface | Record a measurable requirement | Verification source |
|---|---|---|
| I/O | type, count, signal range, isolation, diagnostic and spare capacity | exact module datasheets and I/O list |
| execution | task periods, worst-case logic, communication load and margin | CPU manual plus measured task results |
| communications | role, protocol, port, device count, update time and failure behavior | CPU/module manual and interoperability test |
| environment | temperature, humidity, altitude, vibration, EMC and enclosure assumptions | exact product certificate and panel design |
| safety | required risk reduction, architecture and validation responsibility | safety lifecycle and AC500-S documentation |
| availability | restart, redundancy, repair and spare strategy | architecture test and lifecycle statement |
| security | zones, conduits, services, accounts, logging and update process | site OT-security design and ABB advisories |
| lifecycle | product status, support horizon and migration path | dated ABB lifecycle information |
An AC500-S component is not a shortcut around a machinery or process risk assessment. Safety requirements, architecture, programming, verification and validation need qualified ownership and the applicable lifecycle. Keep the training project’s standard-control example outside any claim that it implements a certified safety function.
Build a controlled ABB Automation Builder lab
Establish the baseline before creating logic
Use a dedicated engineering workstation or approved virtual machine. Keep the lab network isolated from production and document every address. Install Automation Builder only from ABB’s official download surface. Record the installer version, selected packages, license state, device packages and sample-project source. If the tool or device package is newer than the target’s approved baseline, stop and resolve compatibility before connecting.
The lab manifest should be short enough to review and complete enough to rebuild:
| Manifest field | Example form | Why it matters |
|---|---|---|
| project ID | AC500_LAB_MOTOR_01 |
prevents downloading a similarly named project |
| CPU target | exact catalog number and V2/V3 | selects the correct device definition |
| firmware | observed and approved versions | prevents an accidental firmware action |
| engineering tool | Automation Builder version and build | makes compile results reproducible |
| libraries | name, vendor and version | prevents silent behavior drift |
| network | workstation and lab-node addresses | makes connection tests deterministic |
| initial state | inputs, mode, timers and faults | enables repeatable test starts |
| archive | location, checksum and restore test date | proves recovery is possible |
Follow a six-gate project workflow
Create the project only after the manifest is saved. Select the exact processor; add only the I/O and communication modules in the lab BOM; define symbolic variables; assign programs to an explicit task; compile; then run offline checks before any connection. Resolve warnings deliberately—neither ignoring all warnings nor requiring zero warnings without context is an engineering rule.
Create the first ABB PLC project
Define the behavior before writing ladder
The training motor has a maintained Auto_Enable, momentary start and stop requests, an overload input, a run command, auxiliary running feedback and a fail-to-start alarm. The example deliberately excludes a safety function. An emergency stop, guard circuit or safe torque off must be implemented and validated in the approved safety architecture, not as an ordinary Boolean rung.
| Symbol | Type | Direction | Normal meaning | Abnormal test |
|---|---|---|---|---|
Start_Request |
BOOL | input/request | operator requests a start | hold true across a stop condition |
Stop_Request |
BOOL | input/request | operator requests a controlled stop | pulse during start timing |
Auto_Enable |
BOOL | input/permissive | automatic operation is allowed | remove while running |
Overload_OK |
BOOL | input/permissive | overload path is healthy | force false before and after start |
Motor_Run_Cmd |
BOOL | output/command | PLC requests contactor or drive run | block physical response in model |
Motor_Run_Fbk |
BOOL | input/status | external running feedback is proven | delay beyond timeout |
Motor_Fail_Start |
BOOL | diagnostic | command existed without timely feedback | verify latch and reset rule |
Stop_Reason |
enum/code | diagnostic | first relevant reason for stopped state | create two simultaneous causes |
Use names that describe meaning, not a physical address. Map the symbols to I/O separately. That permits logic review before hardware mapping and reduces the risk of hiding an inversion inside several rungs. Record whether a field signal is electrically fail-safe and where inversion occurs.
Organize the program by responsibility
A small project can use one main program, but the responsibilities should remain visible:
- acquire and normalize inputs;
- calculate permissives and interlocks;
- process requests and mode;
- execute the equipment state;
- create commands;
- validate feedback and create diagnostics; and
- publish status for HMI or SCADA.
Do not write to the same command from unrelated program sections. A single command owner makes cross-reference results meaningful. Avoid using an HMI bit as both request and state; acknowledge the request and report the controlled state separately.
Ladder logic concept
The motor’s run memory may seal in after a valid start request and drop on stop, lost permissive or overload. The output command follows the state memory only after all final command conditions are true. A timer begins when the command is true and feedback is false. When the timer expires, set Motor_Fail_Start, remove the command according to the design, and preserve a diagnostic reason until the approved reset conditions are met.
Structured Text is useful for calculations and explicit state handling
Automation Builder supports IEC programming languages for applicable AC500 targets. Use the language that makes the behavior easiest to review. Ladder is often effective for visible permissives and discrete equipment control. Structured Text is often clearer for calculations, arrays, bounded scaling and explicit state machines.
For a scaled analog value, validate raw bounds, handle overrange and underrange, and expose a quality state instead of returning a plausible number after an input fault. For a state machine, define permitted transitions and a default recovery path. Do not let an unexpected numeric state fall through to an uncontrolled output.
IF NOT Feedback_Quality_Good THEN
Motor_Run_Cmd := FALSE;
Stop_Reason := STOP_BAD_FEEDBACK_QUALITY;
ELSIF Motor_State = MOTOR_STARTING AND Start_Timer.Q THEN
Motor_Run_Cmd := FALSE;
Motor_State := MOTOR_FAULTED;
Stop_Reason := STOP_FAILED_TO_START;
END_IF;
This fragment is a teaching pattern, not drop-in code. The exact timer instance, enumeration syntax, reset policy, quality source and safe response belong to the reviewed project requirements.
Simulate and test the ABB PLC program
ABB describes Automation Builder as supporting simulation and virtual-system testing features, but availability and fidelity depend on version, target and licensed capability. Write a simulation scope before running it. State which program objects, I/O values, device models, communications and timing behavior are real, virtual or absent.
Simulation can provide strong evidence for Boolean logic, transitions, timer intent, alarm latching and deterministic fault cases. It cannot by itself validate field wiring, signal levels, module diagnostics, network loading, controller performance, drive behavior, electrical protection or safety functions.
| Test ID | Initial state | Action or injected fault | Expected evidence | Pass rule |
|---|---|---|---|---|
| T01 | stopped, all permissives true | pulse start request | command true, feedback follows, running state | transition completes once without alarm |
| T02 | stopped, overload not healthy | pulse start request | command remains false, stop reason names overload | no transient output command |
| T03 | starting | withhold running feedback | timer expires, command drops, fail-start latches | timestamp and reason match design |
| T04 | running | pulse stop request | command drops, feedback clears, stopped state | no automatic restart from held start |
| T05 | running | remove Auto_Enable |
response matches the approved mode requirement | expected stop or controlled completion is explicit |
| T06 | faulted | issue reset while fault remains | reset rejected and reason retained | reset cannot conceal active cause |
| T07 | fault cleared | issue approved reset | fault clears; state returns to known stopped baseline | restart still requires the defined request |
| T08 | any | restart runtime or restore project | retained and non-retained values match design | no unexpected command on restart |
For each test, capture the project version, initial conditions, action time, relevant variables and result. A screenshot of green ladder rails is weak evidence because it omits the initial state and failure cases. A short trend or watch trace linked to a test ID is stronger.
Troubleshoot ABB PLC connections and logic
Work from the first failed boundary
When Automation Builder cannot connect, do not immediately change the PLC address, disable the firewall and reinstall the tool. Begin with the saved manifest. Confirm the physical and virtual adapter, workstation address, target identity, route, power and status indicators. Then test one layer at a time: link, IP reachability where applicable, engineering gateway/session, target identity, application state and I/O behavior.
| Symptom | First discriminating check | Likely boundary | Avoid |
|---|---|---|---|
| no target discovered | compare selected adapter and documented lab subnet | workstation/link/network | scanning or changing a production subnet |
| target found but login fails | verify target identity, project generation and approved access method | session/identity | trying default credentials repeatedly |
| download rejected | compare CPU, firmware, device package and application state | compatibility/target state | updating firmware as the first fix |
| logic runs but output does not | trace command, mapped output, module status and field boundary | application/I/O | forcing a field output without authorization |
| HMI value is stale | compare PLC variable, communication quality and timestamp | data path | assuming the last numeric value is current |
| intermittent fault | correlate CPU task, module and network diagnostics on one timeline | capacity/physical/network | changing timeout values until the alarm disappears |
Use an evidence sequence
Write the expected sequence before reproducing the fault. Observe request, mode, permissives, state, command, output mapping and feedback in that order. Stop at the first divergence. Export or record the smallest diagnostic set that demonstrates it. Apply one corrective action, restore the baseline, rerun the failed test, and then run a regression test that could reveal a side effect.
Integrate an ABB drive without confusing control and safety
Drive integration starts with a signal contract, not a protocol name. Define who owns start permission, run command, direction, reference, status, actual value, warning, fault, reset and watchdog. Use the exact drive manual and communication adapter documentation for the selected product. Do not assume an ACS355, ACS580 and ACS880 expose identical words, parameters or fault behavior.
| Signal | Owner | Required abnormal case | Evidence |
|---|---|---|---|
| run request | HMI or sequence | request while mode disallows it | rejection reason |
| run command | PLC equipment object | communication quality becomes bad | command and watchdog response |
| speed reference | PLC or approved local source | reference outside permitted bounds | clamped/rejected value and alarm |
| ready/running | drive status | command true but running false | timeout and drive state |
| warning/fault | drive, interpreted by PLC | unknown code or reset rejected | raw code plus mapped message |
| safe stop | dedicated approved safety architecture | loss of ordinary network | independently validated safe response |
A network stop bit is not energy isolation and is not automatically a safety function. Follow the drive and machinery safety documentation, site lockout procedures and validated safe-torque-off architecture. The browser simulator CTA on this page teaches generic PLC state and fault reasoning; it does not emulate ABB drive firmware or certify a field design.
Choose and validate communications
AC500 capabilities vary by CPU, communication module, device package, license and generation. ABB’s current manuals list applicable protocols and roles. Define the task first, then check the exact product. “Supports Modbus” is incomplete without TCP or RTU, client or server, address model, polling or update interval, byte order, timeout and failure behavior.
| Interface task | Contract fields | Acceptance test |
|---|---|---|
| Modbus data exchange | transport, role, unit ID, address convention, type, word order, timeout | known pattern read/write plus disconnect and reconnect |
| PROFINET device | controller/device role, GSDML revision, module layout, names and update time | identity, cyclic data, module mismatch and cable-loss tests |
| EtherNet/IP device | scanner/adapter role, EDS, assemblies, sizes, RPI and connection behavior | identity, data pattern, rejected connection and recovery |
| OPC UA publication | endpoint, namespace, node, type, quality, security and certificate trust | good/bad quality, denied access and certificate-change tests |
| serial custom device | electrical layer, framing, delimiter, timeout and checksum | valid frame, malformed frame, silence and recovery |
Keep protocol test results with the software and hardware manifest. A successful ping does not prove the application data contract. A value changing on screen does not prove units, freshness, write authority or restart behavior.
Worked example: two-pump water station
The capstone extends the motor object into duty and standby pumps, a simulated tank level, discharge pressure, high and low limits, unavailable states, lead selection and communication quality. It is intentionally a training model, not a municipal process design.
The PLC owns automatic start/stop thresholds, minimum run/off times, lead selection, permissives, fail-to-start transfer and diagnostic reasons. An HMI may request mode, lead selection or reset only through authorized tags. The process model calculates level response and can inject stuck feedback, unavailable pump, bad sensor quality and communication delay.
| Scenario | Expected controller behavior | Required proof |
|---|---|---|
| level reaches start threshold | available duty pump starts after conditions are true | state trace and start-reason code |
| duty pump has no feedback | command drops or follows reviewed response; fail-start records; standby decision executes | timer, first-out reason and transfer trace |
| both pumps unavailable | no run command; process alarm identifies loss of pumping availability | command states and alarm evidence |
| level signal quality bad | program follows defined degraded-mode response | raw value, quality, fallback and operator message |
| PLC or HMI restarts | state and retained values recover according to the design | before/after snapshot and no unintended start |
| communication returns | stale status is replaced, commands are not replayed unexpectedly | timestamps, quality transition and request state |
Commission an ABB PLC project safely
Simulation is a precondition, not the end. Commissioning confirms target identity, wiring, actual I/O, execution timing, communications, device behavior, restart and recovery under an approved plan. Before connection, review the electrical and process hazards, boundaries, permits, backups, rollback point and who may authorize each transition.
Use a staged sequence: verify cabinet and power conditions under site procedures; confirm target identity read-only; compare the approved project and target; validate inputs without energizing outputs where the method permits; test outputs under the approved isolation and equipment plan; run one equipment object; then run coordinated sequences. Stop when observed evidence differs from the acceptance sheet.
| Gate | Entry evidence | Exit evidence |
|---|---|---|
| target identity | approved CPU, firmware, address and project | identity record matches manifest |
| backup | recoverable controller/project archive | restore method reviewed or tested in lab |
| static I/O | signed I/O list and safe test plan | every relevant channel traced with polarity/units |
| equipment test | approved isolated equipment and owner present | command, feedback, trip and reset pass |
| sequence test | equipment objects passed separately | normal and negative sequence cases pass |
| restart/recovery | saved state expectations | power/runtime/communication recovery passes |
| handoff | resolved deviations and source archive | signed results, versions, limits and rollback retained |
Never use a force to bypass a protective condition merely to complete a test. If forces are permitted for a controlled diagnostic, log every forced point, define removal responsibility and verify that no force remains before handoff.
Build portfolio evidence that another engineer can reproduce
A credible ABB PLC portfolio project is not a screenshot of Automation Builder. Package the requirement, controller/version manifest, I/O contract, state table, program organization, key logic explanation, test matrix, fault trace, source list and limitations. Remove credentials, proprietary plant data and licensed material.
The reviewer should be able to answer: Which AC500 generation was targeted? Which behavior was actually executed? Which evidence came from simulation? What could not be validated without hardware? How did the program react to a missing permissive, absent feedback, restart and communication loss? Can the saved baseline be restored?
ABB PLC programming answer map
| Question | Short answer | Deep evidence on this page |
|---|---|---|
| What software programs an ABB PLC? | Automation Builder programs AC500 controllers. | software and version gate |
| Is ABB Automation Builder free? | ABB publishes a free Basic level, with other editions/features requiring confirmation. | license requirement table |
| Can I simulate an ABB PLC? | Selected logic and virtual-system behavior can be tested where the version and target support it. | simulation scope and limits |
| How do I start an AC500 project? | Identify generation and versions, create the exact device tree, map symbolic I/O, compile and test. | six-gate workflow |
| How do I troubleshoot an ABB PLC? | Trace the first divergence from request through command and feedback. | diagnostic boundary table |
| Can AC500 control an ABB drive? | Yes where the exact PLC, drive and interface support the designed contract. | drive signal table |
| Does simulation prove commissioning? | No; it does not prove physical I/O, field timing, protection or safety. | evidence boundary |
| What should I save? | Project, versions, libraries, I/O contract, tests, diagnostics and rollback. | manifest and handoff tables |
Frequently asked questions
What programming software does an ABB PLC use?
ABB AC500 PLCs use Automation Builder. Confirm whether the target is AC500 V2 or V3, then use the ABB-supported Automation Builder and device-package combination for that generation. Record the exact version and libraries so another engineer can reproduce the build.
Is ABB Automation Builder free?
ABB publishes a free Basic license level and Standard and Premium levels, with feature details on its current license pages. Free installation does not guarantee that every protocol, safety, motion, team or runtime feature in a project is included. Verify the current entitlement matrix and obtain a written quote where needed.
Is ABB Automation Builder based on CODESYS?
Automation Builder uses CODESYS technology for applicable PLC programming workflows, but ABB owns the AC500 device integration, packages, libraries, firmware guidance and support surface. Generic CODESYS familiarity helps; it does not replace ABB’s compatibility documentation.
Can I simulate ABB PLC programming without hardware?
You can test selected logic and supported virtual-system behavior in the applicable Automation Builder setup. Write down what is simulated. The result does not validate field wiring, module diagnostics, controller loading, network behavior, drive firmware, electrical protection or safety functions.
How do I create my first ABB AC500 project?
Record the exact CPU generation, firmware and tool version; create the matching device tree; add only the installed modules; define symbolic I/O; implement a small motor state; compile; execute normal and negative tests; and save the project with its version manifest before connecting to authorized hardware.
How do I troubleshoot an ABB PLC that will not run?
Compare expected and observed evidence in order: target identity, application state, mode, permissives, requests, equipment state, command, mapped I/O and feedback. The first divergence identifies the boundary. Change one cause, restore the baseline and rerun the failed and regression tests.
Can an ABB AC500 communicate with other PLC brands?
It can exchange data through supported open interfaces when the exact CPU or module, role and configuration match the design. Validate the full data contract—type, units, byte order, quality, timing, authorization and failure behavior—not only network reachability.
Can an ABB AC500 control a variable-speed drive?
Yes, when the selected AC500 hardware and drive interface support the chosen connection. Define separate request, command, reference, status, feedback, warning, fault, reset and watchdog signals. Follow the exact drive manual. Ordinary network control is not energy isolation or a validated safety function.
Can I change an ABB PLC while it is running?
Some online observation and change operations may be supported, depending on target, application and version. Technical capability is not authorization. Use the site change process, compare the correct target, preserve a recoverable backup, assess impact, define rollback and document every accepted change.
What proves that an ABB PLC program is ready?
A compile result alone is insufficient. The project should pass traceable normal, negative, restart, communication-loss and recovery tests at the relevant evidence level. Handoff must include the exact hardware/software manifest, source archive, unresolved limits, diagnostic results and rollback method.
Sources, review scope and limitations
This independent guide was reviewed on 30 August 2026. Official source pages can change; verify versions and catalog numbers at the point of work.
- ABB Automation Builder product and license overview
- ABB Automation Builder software downloads
- ABB Automation Builder installation guidance
- ABB Automation Builder licensed features and CPU runtime licences
- ABB project upgrade and AC500 V2-to-V3 migration boundary
- ABB Automation Builder 2.9.0 online help for AC500 V3 and CP600
- ABB AC500 product-family overview
- ABB PLC application examples selector
- ABB Automation Builder license features
- ABB AC500 online library index
- ABB AC500-S safety documentation entry
- CODESYS IEC 61131-3 development-system overview
- PLCopen IEC 61131-3 software-construction guidance
- Modbus Organization specifications
- OPC Foundation OPC UA information
- ODVA EtherNet/IP overview
- NIST SP 800-82 Rev. 3: Guide to Operational Technology Security
- CISA industrial control systems advisories
- OSHA control of hazardous energy
Specifications, license rights, cybersecurity status and procedures are intentionally not frozen into universal claims. Follow ABB documentation for the exact hardware and software, and follow the employer’s approved engineering, electrical-safety, cybersecurity and change-control procedures. The original figures and test designs explain general engineering relationships; they are not ABB product drawings or certification evidence.


