IEC 61131-3: The ‘Abstract Factory’ Pattern

If instances of a function block have to be created, the exact type of the function block should be known before compiling. Properties of an application can hardly be expanded by this fixed assignment. For example, this will be the case when the function block is located in a library and the access to the source code is thus not possible. The instance variable is constrained by a specific type. A class factory can help to break these stiff structures.

Continue reading “IEC 61131-3: The ‘Abstract Factory’ Pattern”

IEC 61131-3: Das ‘Abstract Factory’ Pattern

Sollen Instanzen eines Funktionsblocks anlegt werden, so muss vor dem Compilieren der genaue Typ des Funktionsblocks bekannt sein. Durch diese feste Zuordnung kann das Verhalten einer Anwendung nur schwer erweitert werden. Dieses ist z.B. der Fall, wenn sich der Funktionsblock in einer Bibliothek befindet und somit der Zugriff auf den Quellcode nicht möglich ist. Die Instanz-Variable ist fest an einen bestimmten Typ gebunden. Eine Klassenfabrik kann helfen diese starren Strukturen aufzubrechen.

Continue reading “IEC 61131-3: Das ‘Abstract Factory’ Pattern”

IEC 61131-3: Object composition with the help of interfaces

While the notion of inheritance is used readily and frequently, interfaces are rather rarely applied. However, interfaces provide a number of benefits, which increase flexibility of the PLC programs and improve maintenance. The following post will introduce the possibilities of interfaces relating to the IEC 61131-3 standard.

Continue reading “IEC 61131-3: Object composition with the help of interfaces”

IEC 61131-3: Objektkomposition mit Hilfe von Interfaces

Während der Begriff der Vererbung gerne und häufig verwendet wird, so wird der Einsatz von Interfaces eher selten behandelt. Dabei bieten Interfaces etliche Vorteile, die die Flexibilität eines SPS-Programms erhöhen und auch die Wartbarkeit verbessern. Der folgende Post soll die Möglichkeiten von Interfaces in Zusammenhang mit der IEC 61131-3 vorstellen.

Continue reading “IEC 61131-3: Objektkomposition mit Hilfe von Interfaces”

IEC 61131-3: Weitere Spracherweiterungen

Bisher lag der Schwerpunkt meiner Posts in den objektorientierten Erweiterungen. Es gibt aber noch einige allgemeine, meist nicht so tiefgreifende, Neuerungen innerhalb von TwinCAT 3. Im Folgenden sollen diese kurz vorgestellt werden.

Continue reading “IEC 61131-3: Weitere Spracherweiterungen”

IEC 61131-3: Namespaces

Mit CodeSys V3 wurde das Prinzip der Namespaces (Namensräume) eingeführt. Namespaces gruppieren Variablen und Bibliotheken in zusammengehörige Einheiten. Ein Element wird dadurch nicht mehr nur durch seinen Namen, sondern auch durch seinen zugehörigen Namespace benannt.

Continue reading “IEC 61131-3: Namespaces”

IEC 61131-3: Methoden, Eigenschaften und Vererbung

Objektorientierte Programmierung (OOP) war bisher eine typische Domäne im IT Bereich. Typische Programmiersprachen sind C++, Java oder C#. Mit CoDeSys V3 steht dieses Konzept nun auch dem SPS-Programmierer zur Verfügung.

Continue reading “IEC 61131-3: Methoden, Eigenschaften und Vererbung”

IEC 61131-3: Vorteile der objektorientierten Spracherweiterungen

IEC 61131-3 wird in naher Zukunft mit Sprachmitteln erweitert, die bisher nur den objektorientierten Programmiersprachen vorbehalten waren. Welche neuen Möglichkeiten ergeben sich hierdurch dem SPS-Programmierer?

Continue reading “IEC 61131-3: Vorteile der objektorientierten Spracherweiterungen”