{"data":{"slug":"iec-61131-3-plc-programming-languages","title":"IEC 61131-3: PLC Programming Languages","summary":"The IEC 61131-3 standard is the international benchmark for programmable logic controller (PLC) and distributed control system (DCS) programming.","category":{"slug":"automation-systems","name":"Automation Systems"},"url":"https://wiki.aspotomasyon.com/article/iec-61131-3-plc-programming-languages","markdown_url":"https://wiki.aspotomasyon.com/article/iec-61131-3-plc-programming-languages.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/iec-61131-3-plc-programming-languages","published":"2026-07-21T14:45:28+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":5,"word_count":1025,"image":"https://wiki.aspotomasyon.com/assets/social/iec-61131-3-plc-programming-languages-25b7213c7dc3.png","html":"<p>The <strong>IEC 61131-3</strong> standard is the international benchmark for programmable logic controller (PLC) and distributed control system (DCS) programming. Published by the International Electrotechnical Commission, the current fourth edition (2025) defines the software architecture and programming languages used to develop industrial control applications. Understanding IEC 61131-3 is essential for any automation engineer, as it governs how control logic is structured, executed, and maintained across virtually every major PLC and DCS platform.</p><figure class=\"article-figure\"><img src=\"https://wiki.aspotomasyon.com/assets/diagrams/automation-systems-context.svg\" width=\"1100\" height=\"460\" loading=\"lazy\" decoding=\"async\" alt=\"Conceptual control-system layers. Safety functions, communication paths, and redundancy must be designed for the application; the diagram is not a wiring or safety design.\"><figcaption>Conceptual control-system layers. Safety functions, communication paths, and redundancy must be designed for the application; the diagram is not a wiring or safety design. <a href=\"https://wiki.aspotomasyon.com/assets/diagrams/automation-systems-context.svg\" target=\"_blank\" rel=\"noopener\">View full size</a></figcaption></figure>\n\n<h2 id=\"programming-languages-defined\">Programming Languages Defined</h2>\n\n<p>The current edition of IEC 61131-3 defines <strong>three graphical and one textual</strong> programming language. A fifth language — Instruction List (IL) — was deprecated in the 2013 edition and removed entirely in 2025.</p>\n\n<table>\n    <thead>\n        <tr><th>Language</th><th>Type</th><th>Abbreviation</th><th>Best Suited For</th></tr>\n    </thead>\n    <tbody>\n        <tr><td>Ladder Diagram</td><td>Graphical</td><td>LD</td><td>Discrete logic, relay-replacement, maintenance-friendly</td></tr>\n        <tr><td>Function Block Diagram</td><td>Graphical</td><td>FBD</td><td>Continuous control, signal flow, complex algorithms</td></tr>\n        <tr><td>Structured Text</td><td>Textual</td><td>ST</td><td>Data processing, loops, conditional logic, calculations</td></tr>\n        <tr><td>Sequential Function Chart</td><td>Graphical</td><td>SFC</td><td>Batch processes, state machines, sequential operations</td></tr>\n        <tr><td>Instruction List (removed)</td><td>Textual</td><td>IL</td><td>Deprecated — low-level assembly-like operations</td></tr>\n    </tbody>\n</table>\n\n<h2 id=\"ladder-diagram-ld\">Ladder Diagram (LD)</h2>\n\n<p>Ladder Diagram is the most widely recognized PLC programming language, originating from relay-based control panels. Programs are represented as rungs on a vertical power rail, with contacts (inputs) on the left and coils (outputs) on the right. LD is intuitive for electricians and maintenance technicians because it visually resembles electrical schematics.</p>\n\n<p>Key elements:</p>\n<ul>\n    <li><strong>Normally Open (NO) contact</strong> — Passes power when the associated bit is TRUE.</li>\n    <li><strong>Normally Closed (NC) contact</strong> — Passes power when the associated bit is FALSE.</li>\n    <li><strong>Coil (output)</strong> — Energized when power flows through the rung from left to right.</li>\n    <li><strong>Set/Reset (latch)</strong> — Retains state after a momentary input condition.</li>\n    <li><strong>Function blocks on rungs</strong> — Timers, counters, and comparison operations embedded within ladder logic.</li>\n</ul>\n\n<h2 id=\"function-block-diagram-fbd\">Function Block Diagram (FBD)</h2>\n\n<p>Function Block Diagram represents control logic as interconnected blocks where data flows from left to right. Each block performs a specific function (AND, OR, PID, timer, counter, arithmetic). FBD is the preferred language for process control applications because it clearly shows signal flow and is well-suited to continuous control strategies.</p>\n\n<p>IEC 61131-3 defines standard function blocks including:</p>\n<ul>\n    <li><strong>Bistable elements</strong> — SR (set-dominant) and RS (reset-dominant) flip-flops.</li>\n    <li><strong>Edge detection</strong> — R_TRIG (rising edge) and F_TRIG (falling edge).</li>\n    <li><strong>Counters</strong> — CTU (up-counter), CTD (down-counter), CTUD (up/down counter).</li>\n    <li><strong>Timers</strong> — TON (on-delay), TOF (off-delay), TP (pulse).</li>\n    <li><strong>Communication</strong> — SEND and RECEIVE blocks for network messaging.</li>\n</ul>\n\n<h2 id=\"structured-text-st\">Structured Text (ST)</h2>\n\n<p>Structured Text is a high-level textual language with syntax similar to Pascal and BASIC. It is the most powerful of the IEC 61131-3 languages for complex mathematical operations, data manipulation, and algorithmic control. ST excels in applications requiring loops, conditional branching, array operations, and string handling.</p>\n\n<p>Core language constructs:</p>\n<pre translate=\"no\" class=\"notranslate\"><code translate=\"no\" class=\"notranslate\">// Conditional execution\nIF temperature &gt; high_alarm THEN\n    valve := FALSE;\n    alarm_active := TRUE;\nELSIF temperature &gt; warning_limit THEN\n    alarm_active := FALSE;\nELSE\n    valve := TRUE;\nEND_IF;\n\n// Iteration\nFOR i := 0 TO 9 DO\n    avg_sum := avg_sum + tank_levels[i];\nEND_FOR;\naverage_level := avg_sum / 10;\n\n// Function block instantiation\ntimer_01(IN := start_signal, PT := T#5S);\nIF timer_01.Q THEN\n    motor_running := TRUE;\nEND_IF;</code></pre>\n\n<h2 id=\"sequential-function-chart-s2\">Sequential Function Chart (S2)</h2>\n\n<p>Sequential Function Chart organizes control logic into a series of <strong>steps</strong> connected by <strong>transitions</strong>. Each step represents a stable state of the process (with associated actions), and each transition defines the condition that must be met to move to the next step. SFC is the natural choice for batch processes, state machines, and any application with clearly defined operational phases.</p>\n\n<p>SFC supports two divergence types:</p>\n<ul>\n    <li><strong>Sequential divergence</strong> — Steps execute one after another in order.</li>\n    <li><strong>Parallel divergence (AND)</strong> — Multiple step sequences execute simultaneously, synchronizing at the join.</li>\n    <li><strong>Alternative divergence (OR)</strong> — Only one branch executes based on transition conditions.</li>\n</ul>\n\n<h2 id=\"program-organization-units-pous\">Program Organization Units (POUs)</h2>\n\n<p>IEC 61131-3 structures programs into three types of Program Organization Units:</p>\n\n<table>\n    <thead>\n        <tr><th>POU Type</th><th>Description</th><th>Execution</th></tr>\n    </thead>\n    <tbody>\n        <tr><td><strong>Function</strong></td><td>Stateless computation returning a single value. Examples: SQRT, SIN, ADD, custom scaling functions.</td><td>Called by other POUs; same inputs always produce same outputs.</td></tr>\n        <tr><td><strong>Function Block (FB)</strong></td><td>Reusable block with internal state (memory). Each instantiation maintains its own data. Examples: TON, PID, custom equipment modules.</td><td>Instantiated as variables; retains state between calls.</td></tr>\n        <tr><td><strong>Program</strong></td><td>Top-level POU that is assigned to a task for execution. Contains the main control logic.</td><td>Executed by a task according to its scheduling configuration.</td></tr>\n    </tbody>\n</table>\n\n<h2 id=\"data-types\">Data Types</h2>\n\n<p>IEC 61131-3 defines a comprehensive type system to ensure portability across vendors:</p>\n\n<ul>\n    <li><strong>Elementary types</strong> — BOOL, BYTE, WORD, DWORD, LWORD, SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME, STRING, WSTRING.</li>\n    <li><strong>User-defined types</strong> — Enumerated types, subrange types (e.g., INT(0..100)), arrays, structures, and references.</li>\n    <li><strong>Generic types</strong> — ANY, ANY_NUM, ANY_REAL, ANY_INT, ANY_ELEMENTARY for interface definitions.</li>\n</ul>\n\n<h2 id=\"vendor-implementation-notes\">Vendor Implementation Notes</h2>\n\n<p>While IEC 61131-3 defines the standard, each automation vendor implements it with platform-specific extensions:</p>\n\n<ul>\n    <li><strong>Siemens (TIA Portal)</strong> — Implements all five original languages (still supports IL). SCL is Siemens' version of Structured Text. Graphical languages: LAD, FBD, GRAPH (SFC equivalent).</li>\n    <li><strong>ABB (Ability Builder / Control Builder Plus)</strong> — Full IEC 61131-3 compliance with five languages plus Continuous Function Chart (CFC). Used in AC 800M and Freelance controllers.</li>\n    <li><strong>Rockwell Automation (Studio 5000)</strong> — Supports Ladder Logic (LD), Function Block Diagram (FBD), Structured Text (ST), and Sequential Function Chart (SFC).</li>\n    <li><strong>Schneider Electric (EcoStruxure Control Expert)</strong> — Implements all five languages plus the proprietary Sequential Function Chart variant.</li>\n</ul>\n\n<blockquote><p>ASP OTOMASYON provides PLC/DCS programming services; confirm the required platform and project scope with the engineering team. We develop reusable function block libraries that reduce engineering time and ensure consistent control strategies across your facilities.</p></blockquote><section class=\"engineering-check\"><h2 id=\"apply-this-to-your-project\">Apply this to your project</h2><ul><li>Define the process states, timing requirements, and permitted behavior after a controller or communication failure.</li><li>List controller, I/O, network, software, and license dependencies before choosing an architecture.</li><li>Record acceptance results and prove that the delivered configuration can be restored from the handover package.</li></ul><p><a href=\"https://wiki.aspotomasyon.com/guides\">Follow an ASP project guide</a> to connect the fundamentals with implementation and acceptance.</p></section><figure class=\"article-figure\"><img src=\"https://wiki.aspotomasyon.com/assets/diagrams/automation-systems-review.svg\" width=\"1100\" height=\"460\" loading=\"lazy\" decoding=\"async\" alt=\"Engineering review sequence: Requirements → Engineering → Acceptance → Handover. Keep the recorded evidence with the accepted configuration.\"><figcaption>Engineering review sequence: Requirements → Engineering → Acceptance → Handover. Keep the recorded evidence with the accepted configuration. <a href=\"https://wiki.aspotomasyon.com/assets/diagrams/automation-systems-review.svg\" target=\"_blank\" rel=\"noopener\">View full size</a></figcaption></figure><h2 id=\"primary-references-and-further-reading\">Primary references and further reading</h2><p>Use the original specifications and product documentation for implementation details. The examples in this guide are illustrative engineering scenarios, not published project results.</p><ul><li><a href=\"https://new.abb.com/control-systems/system-800xa\" rel=\"noopener noreferrer\" target=\"_blank\">ABB — System 800xA architecture and product documentation</a></li><li><a href=\"https://csrc.nist.gov/pubs/sp/800/82/r3/final\" rel=\"noopener noreferrer\" target=\"_blank\">NIST SP 800-82 Rev. 3 — OT architecture and security guidance</a></li></ul><!-- asp-editorial-202609 -->","markdown":"# IEC 61131-3: PLC Programming Languages\n\n> The IEC 61131-3 standard is the international benchmark for programmable logic controller (PLC) and distributed control system (DCS) programming.\n\n- Canonical URL: https://wiki.aspotomasyon.com/article/iec-61131-3-plc-programming-languages\n- Publisher: ASP OTOMASYON A.Ş. (ASP OTOMASYON Wiki)\n- Category: Automation Systems\n- Published: 2026-07-21 · Updated: 2026-09-13\n- Reading time: 5 min · Language: English\n\nThe **IEC 61131-3** standard is the international benchmark for programmable logic controller (PLC) and distributed control system (DCS) programming. Published by the International Electrotechnical Commission, the current fourth edition (2025) defines the software architecture and programming languages used to develop industrial control applications. Understanding IEC 61131-3 is essential for any automation engineer, as it governs how control logic is structured, executed, and maintained across virtually every major PLC and DCS platform.\n\n![Conceptual control-system layers. Safety functions, communication paths, and redundancy must be designed for the application; the diagram is not a wiring or safety design.](https://wiki.aspotomasyon.com/assets/diagrams/automation-systems-context.svg)\n\n*Conceptual control-system layers. Safety functions, communication paths, and redundancy must be designed for the application; the diagram is not a wiring or safety design.*\n\n## Programming Languages Defined\n\nThe current edition of IEC 61131-3 defines **three graphical and one textual** programming language. A fifth language — Instruction List (IL) — was deprecated in the 2013 edition and removed entirely in 2025.\n\n| Language | Type | Abbreviation | Best Suited For |\n| --- | --- | --- | --- |\n| Ladder Diagram | Graphical | LD | Discrete logic, relay-replacement, maintenance-friendly |\n| Function Block Diagram | Graphical | FBD | Continuous control, signal flow, complex algorithms |\n| Structured Text | Textual | ST | Data processing, loops, conditional logic, calculations |\n| Sequential Function Chart | Graphical | SFC | Batch processes, state machines, sequential operations |\n| Instruction List (removed) | Textual | IL | Deprecated — low-level assembly-like operations |\n\n## Ladder Diagram (LD)\n\nLadder Diagram is the most widely recognized PLC programming language, originating from relay-based control panels. Programs are represented as rungs on a vertical power rail, with contacts (inputs) on the left and coils (outputs) on the right. LD is intuitive for electricians and maintenance technicians because it visually resembles electrical schematics.\n\nKey elements:\n\n- **Normally Open (NO) contact** — Passes power when the associated bit is TRUE.\n- **Normally Closed (NC) contact** — Passes power when the associated bit is FALSE.\n- **Coil (output)** — Energized when power flows through the rung from left to right.\n- **Set/Reset (latch)** — Retains state after a momentary input condition.\n- **Function blocks on rungs** — Timers, counters, and comparison operations embedded within ladder logic.\n\n## Function Block Diagram (FBD)\n\nFunction Block Diagram represents control logic as interconnected blocks where data flows from left to right. Each block performs a specific function (AND, OR, PID, timer, counter, arithmetic). FBD is the preferred language for process control applications because it clearly shows signal flow and is well-suited to continuous control strategies.\n\nIEC 61131-3 defines standard function blocks including:\n\n- **Bistable elements** — SR (set-dominant) and RS (reset-dominant) flip-flops.\n- **Edge detection** — R_TRIG (rising edge) and F_TRIG (falling edge).\n- **Counters** — CTU (up-counter), CTD (down-counter), CTUD (up/down counter).\n- **Timers** — TON (on-delay), TOF (off-delay), TP (pulse).\n- **Communication** — SEND and RECEIVE blocks for network messaging.\n\n## Structured Text (ST)\n\nStructured Text is a high-level textual language with syntax similar to Pascal and BASIC. It is the most powerful of the IEC 61131-3 languages for complex mathematical operations, data manipulation, and algorithmic control. ST excels in applications requiring loops, conditional branching, array operations, and string handling.\n\nCore language constructs:\n\n```\n// Conditional execution\nIF temperature > high_alarm THEN\n    valve := FALSE;\n    alarm_active := TRUE;\nELSIF temperature > warning_limit THEN\n    alarm_active := FALSE;\nELSE\n    valve := TRUE;\nEND_IF;\n\n// Iteration\nFOR i := 0 TO 9 DO\n    avg_sum := avg_sum + tank_levels[i];\nEND_FOR;\naverage_level := avg_sum / 10;\n\n// Function block instantiation\ntimer_01(IN := start_signal, PT := T#5S);\nIF timer_01.Q THEN\n    motor_running := TRUE;\nEND_IF;\n```\n\n## Sequential Function Chart (S2)\n\nSequential Function Chart organizes control logic into a series of **steps** connected by **transitions**. Each step represents a stable state of the process (with associated actions), and each transition defines the condition that must be met to move to the next step. SFC is the natural choice for batch processes, state machines, and any application with clearly defined operational phases.\n\nSFC supports two divergence types:\n\n- **Sequential divergence** — Steps execute one after another in order.\n- **Parallel divergence (AND)** — Multiple step sequences execute simultaneously, synchronizing at the join.\n- **Alternative divergence (OR)** — Only one branch executes based on transition conditions.\n\n## Program Organization Units (POUs)\n\nIEC 61131-3 structures programs into three types of Program Organization Units:\n\n| POU Type | Description | Execution |\n| --- | --- | --- |\n| **Function** | Stateless computation returning a single value. Examples: SQRT, SIN, ADD, custom scaling functions. | Called by other POUs; same inputs always produce same outputs. |\n| **Function Block (FB)** | Reusable block with internal state (memory). Each instantiation maintains its own data. Examples: TON, PID, custom equipment modules. | Instantiated as variables; retains state between calls. |\n| **Program** | Top-level POU that is assigned to a task for execution. Contains the main control logic. | Executed by a task according to its scheduling configuration. |\n\n## Data Types\n\nIEC 61131-3 defines a comprehensive type system to ensure portability across vendors:\n\n- **Elementary types** — BOOL, BYTE, WORD, DWORD, LWORD, SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME, STRING, WSTRING.\n- **User-defined types** — Enumerated types, subrange types (e.g., INT(0..100)), arrays, structures, and references.\n- **Generic types** — ANY, ANY_NUM, ANY_REAL, ANY_INT, ANY_ELEMENTARY for interface definitions.\n\n## Vendor Implementation Notes\n\nWhile IEC 61131-3 defines the standard, each automation vendor implements it with platform-specific extensions:\n\n- **Siemens (TIA Portal)** — Implements all five original languages (still supports IL). SCL is Siemens' version of Structured Text. Graphical languages: LAD, FBD, GRAPH (SFC equivalent).\n- **ABB (Ability Builder / Control Builder Plus)** — Full IEC 61131-3 compliance with five languages plus Continuous Function Chart (CFC). Used in AC 800M and Freelance controllers.\n- **Rockwell Automation (Studio 5000)** — Supports Ladder Logic (LD), Function Block Diagram (FBD), Structured Text (ST), and Sequential Function Chart (SFC).\n- **Schneider Electric (EcoStruxure Control Expert)** — Implements all five languages plus the proprietary Sequential Function Chart variant.\n\n> ASP OTOMASYON provides PLC/DCS programming services; confirm the required platform and project scope with the engineering team. We develop reusable function block libraries that reduce engineering time and ensure consistent control strategies across your facilities.\n\n## Apply this to your project\n\n- Define the process states, timing requirements, and permitted behavior after a controller or communication failure.\n- List controller, I/O, network, software, and license dependencies before choosing an architecture.\n- Record acceptance results and prove that the delivered configuration can be restored from the handover package.\n\n[Follow an ASP project guide](https://wiki.aspotomasyon.com/guides) to connect the fundamentals with implementation and acceptance.\n\n![Engineering review sequence: Requirements → Engineering → Acceptance → Handover. Keep the recorded evidence with the accepted configuration.](https://wiki.aspotomasyon.com/assets/diagrams/automation-systems-review.svg)\n\n*Engineering review sequence: Requirements → Engineering → Acceptance → Handover. Keep the recorded evidence with the accepted configuration.*\n\n## Primary references and further reading\n\nUse the original specifications and product documentation for implementation details. The examples in this guide are illustrative engineering scenarios, not published project results.\n\n- [ABB — System 800xA architecture and product documentation](https://new.abb.com/control-systems/system-800xa)\n- [NIST SP 800-82 Rev. 3 — OT architecture and security guidance](https://csrc.nist.gov/pubs/sp/800/82/r3/final)\n\n---\n\nCite the canonical article: https://wiki.aspotomasyon.com/article/iec-61131-3-plc-programming-languages (IEC 61131-3: PLC Programming Languages, ASP OTOMASYON, updated 2026-09-13).\n","headings":[{"id":"programming-languages-defined","title":"Programming Languages Defined"},{"id":"ladder-diagram-ld","title":"Ladder Diagram (LD)"},{"id":"function-block-diagram-fbd","title":"Function Block Diagram (FBD)"},{"id":"structured-text-st","title":"Structured Text (ST)"},{"id":"sequential-function-chart-s2","title":"Sequential Function Chart (S2)"},{"id":"program-organization-units-pous","title":"Program Organization Units (POUs)"},{"id":"data-types","title":"Data Types"},{"id":"vendor-implementation-notes","title":"Vendor Implementation Notes"},{"id":"apply-this-to-your-project","title":"Apply this to your project"},{"id":"primary-references-and-further-reading","title":"Primary references and further reading"}],"faq":[],"references":[{"name":"ABB — System 800xA architecture and product documentation","url":"https://new.abb.com/control-systems/system-800xa"},{"name":"NIST SP 800-82 Rev. 3 — OT architecture and security guidance","url":"https://csrc.nist.gov/pubs/sp/800/82/r3/final"}],"related":[{"slug":"virtual-plc-iec-61499-software-defined-automation","title":"Virtual PLCs and IEC 61499: What Software-Defined Automation Changes","summary":"Virtual PLCs run control logic on standard computing hardware, and IEC 61499 replaces the scan cycle with events, so both need an explicit timing, redundancy…","category":{"slug":"automation-systems","name":"Automation Systems"},"url":"https://wiki.aspotomasyon.com/article/virtual-plc-iec-61499-software-defined-automation","markdown_url":"https://wiki.aspotomasyon.com/article/virtual-plc-iec-61499-software-defined-automation.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/virtual-plc-iec-61499-software-defined-automation","published":"2026-10-11T11:46:21+00:00","modified":"2026-10-11T11:46:21+00:00","reading_minutes":9,"word_count":1820,"image":"https://wiki.aspotomasyon.com/assets/social/virtual-plc-iec-61499-software-defined-automation-1d23170d2c5a.png"},{"slug":"packml-machine-state-model-omac","title":"PackML Machine State Model: Modes, States, and Tags","summary":"PackML gives packaging machines one unit mode model, one standard state model, and standard tags, so a line controller can command and read every machine the…","category":{"slug":"automation-systems","name":"Automation Systems"},"url":"https://wiki.aspotomasyon.com/article/packml-machine-state-model-omac","markdown_url":"https://wiki.aspotomasyon.com/article/packml-machine-state-model-omac.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/packml-machine-state-model-omac","published":"2026-10-11T11:46:21+00:00","modified":"2026-10-11T11:46:21+00:00","reading_minutes":9,"word_count":1906,"image":"https://wiki.aspotomasyon.com/assets/social/packml-machine-state-model-omac-762e3ee18199.png"},{"slug":"plc-programming-best-practices","title":"PLC Programming Best Practices","summary":"Writing reliable, maintainable PLC code is critical for industrial automation systems that must operate 24/7 in harsh environments.","category":{"slug":"automation-systems","name":"Automation Systems"},"url":"https://wiki.aspotomasyon.com/article/plc-programming-best-practices","markdown_url":"https://wiki.aspotomasyon.com/article/plc-programming-best-practices.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/plc-programming-best-practices","published":"2026-05-12T12:47:31+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":5,"word_count":1097,"image":"https://wiki.aspotomasyon.com/assets/social/plc-programming-best-practices-d3e7ade0882c.png"},{"slug":"abb-ac500-plc-programming-configuration","title":"ABB AC500 PLC: Programming and Configuration","summary":"ABB''s AC500 programmable logic controller family is one of the most widely deployed PLC platforms in Europe and the Middle East, with a particularly strong…","category":{"slug":"automation-systems","name":"Automation Systems"},"url":"https://wiki.aspotomasyon.com/article/abb-ac500-plc-programming-configuration","markdown_url":"https://wiki.aspotomasyon.com/article/abb-ac500-plc-programming-configuration.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/abb-ac500-plc-programming-configuration","published":"2026-05-13T12:05:55+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":9,"word_count":1942,"image":"https://wiki.aspotomasyon.com/assets/social/abb-ac500-plc-programming-configuration-a20a4b8f0d37.png"}],"citation":"ASP OTOMASYON. IEC 61131-3: PLC Programming Languages. Updated 2026-09-13. https://wiki.aspotomasyon.com/article/iec-61131-3-plc-programming-languages"}}