# EN 61131

Die Europäische Norm EN 61131, die auf der internationalen Norm IEC 61131 basiert, befasst sich mit den Grundlagen Speicherprogrammierbarer Steuerungen. Eine objektorientierte Weiterentwicklung für verteilte Steuerungen ist die EN 61499.

## Aufbau

* Teil 1: Allgemeine Informationen; aktuelle Ausgabe 3.2004
* Teil 2: Betriebsmittelanforderungen und Prüfungen; aktuelle Ausgabe 04.2008
* Teil 2 Berichtigung 1: Betriebsmittelanforderungen und Prüfungen; aktuelle Ausgabe 01.2009
* Teil 3: Programmiersprachen; aktuelle Ausgabe 06.2014
* Teil 3 Beiblatt 1: Leitlinien für die Anwendung und Implementierung von Programmiersprachen für Speicherprogrammierbare Steuerungen; aktuelle Ausgabe 4.2005
* Teil 5: Kommunikation; aktuelle Ausgabe 11.2001
* Teil 6: Funktionale Sicherheit; aktuelle Ausgabe 10.2013
* Teil 7: Fuzzy-Control-Programmierung; aktuelle Ausgabe 11.2001
* Teil 9: Schnittstelle für die Kommunikation mit kleinen Sensoren und Aktoren über eine Punkt-zu-Punkt-Verbindung; IEC 61131-9:2013 Single-drop digital communication interface for small sensors and actuators (SDCI) – allgemein bekannt als IO-Link
Des Weiteren wurden zwei Technical Reports (TR) von der International Electrotechnical Commission herausgegeben:
* Teil 4: User Guidelines; aktuelle Ausgabe IEC TR 61131-4:2004
* Teil 8: Guidelines for the application and implementation of programming languages; aktuelle Ausgabe IEC TR 61131-8:2017

### Teil 2: Betriebsmittelanforderungen und Prüfungen (EN 61131-2:2008)

Teil 2 der Norm beschreibt Anforderungen an die Steuerungshardware und gibt Testanleitungen. Eine Steuerungshardware, die alle Anforderungen der IEC 61131-2 erfüllen kann, gilt auch als sicher im Sinne der Konformitätsbewertung für die CE-Kennzeichnung.

### Teil 3: Programmiersprachen (EN 61131-3:2014-06)

Die EN 61131-3 (auch IEC 1131 bzw. IEC 61131) ist die einzig weltweit gültige Norm für Programmiersprachen von speicherprogrammierbaren Steuerungen. Sie löste am 1. August 1994 die DIN 19239 ab und definiert die folgenden fünf Sprachen:
| Englisch | Englisch | Deutsch | Deutsch | |
| Abk. | Bezeichnung | Abk. | Bezeichnung | Anmerkungen |
| IL | Instruction List | AWL | Anweisungsliste | Vergleichbar mit Assembler; heißt bei Siemens STL (Statement List). In der Ausgabe 2014-06 der Norm als veraltet gekennzeichnet, soll künftig entfallen. |
| LD | Ladder Diagram | KOP | Kontaktplan | Vergleichbar mit einem Elektro-Schaltplan, der um 90° gedreht ist |
| FBD | Function Block Diagram | FBS | Funktionsbaustein-Sprache | Auch bekannt als FUP (Funktionsplan), insbesondere bei Siemens STEP 7. Ähnelt Logik-Schaltplänen |
| SFC | Sequential Function Chart | AS | Ablaufsprache | Eine Art Zustandsdiagramm, bei STEP 7 als S7 GRAPH bekannt. Basiert auf Grafcet nach EN 60848. |
| ST | Structured Text | ST | Strukturierter Text | Angelehnt an konventionelle Programmiersprachen, bei STEP 7 als SCL (Structured Control Language) bezeichnet. |
Die Sprachen IL und ST sind textbasiert, die anderen Sprachen (LD, FBD und SFC) grafisch. In allen Sprachen können Funktionen und Funktionsblöcke verwendet werden, die in einer der anderen Sprachen geschrieben oder vom SPS-Hersteller in Form von Software-Bibliotheken ohne Quelltext zur Verfügung gestellt werden. Jede Programmiersprache hat wiederum ihre Vor- und Nachteile. ST zum Beispiel ist eine sprach- und textbasierende Programmiersprache, während IL zwar textbasierend ist, aber ansonsten signalbasierend.
Je nach Leistungsfähigkeit der SPS bzw. des Programmiergeräts müssen nicht alle Sprachen zur Verfügung stehen. Die Umwandlung zwischen Sprachen ist herstellerabhängig, also nicht oder nur mit Einschränkungen möglich. Viele Programmierumgebungen bieten auch die Möglichkeit, weitere Sprachen wie z. B. C zu verwenden.
Auf lange Sicht werden nicht alle Sprachen beständig sein. IL, LD und FBD sind die ersten Sprachen gewesen. LD wird im europäischen Markt weniger verwendet, während FBD weniger in der APAC-Region und dem amerikanischen Doppelkontinent verwendet wird. IL wird nach und nach von der Programmiersprache ST abgelöst.