IEC 61131-3: Methods, Properties and Inheritance

Object-oriented programming (OOP) is a proven way of keeping the complexity of software systems in check. Until recently the preserve of languages such as C++, Java and C#, IEC 61131-3 introduces the concept to PLC programming.

Continue reading “IEC 61131-3: Methods, Properties and Inheritance”

IEC 61131-3: Methoden, Eigenschaften und Vererbung (Update)

Eine bewährte Methode um die Komplexität von Softwaresystemen zu bewältigen ist die objektorientierte Programmierung (OOP). Bisher eine Domäne von Programmiersprachen wie C++, Java oder C#, steht dieses Konzept mit der IEC 61131-3 auch der SPS-Programmierung zur Verfügung.

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

IEC 61131-3: The ‘Command’ Pattern

A command can be run on a function block by calling a method. Function block A calls a method of function block B. So far, so good, but how can such “commands” be exchanged flexibly between several function blocks. The command pattern provides an interesting approach.

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

IEC 61131-3: Namespaces

The third edition of IEC 61131-3 introduces the concept of namespaces. Namespaces group elements such as variables, function blocks, data types and libraries into coherent units. This means that elements are no longer identified solely using their names, but additionally using the associated namespace.

Continue reading “IEC 61131-3: Namespaces”

IEC 61131-3: Namensräume

Mit der 3rd Edition der IEC 61131-3 wurde das Prinzip der Namespaces (Namensräume) eingeführt. Namespaces gruppieren Elemente wie Variablen, Bausteine, Datentypen 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: Namensräume”

IEC 61131-3: Arrays with variable length

While declaring arrays, one had always to define a constant value up to now. Since the 3rd edition of the IEC 61131-3, arrays can be declared with a variable length. Thus, you can create functions much more generically than previously.

Continue reading “IEC 61131-3: Arrays with variable length”

IEC 61131-3: Das ‘Command’ Pattern

Durch den Aufruf einer Methode kann an einem Funktionsblock ein Befehl ausgeführt werden. Funktionsblock A ruft eine Methode von Funktionsblock B auf. So weit so gut. Doch wie lässt sich der Austausch solcher “Befehle” zwischen mehreren Funktionsblöcken flexibel gestalten? Das Command Pattern liefert hier einen interessanten Ansatz.

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

IEC 61131-3: Arrays mit variabler Länge

Bei der Deklaration von Arrays musste bisher immer eine konstante Größe angegeben werden. Ab der 3rd Edition der IEC 61131-3 können Arrays mit einer variablen Länge deklariert werden. Funktionen lassen sich dadurch deutlich generischer anlegen als bisher.

Continue reading “IEC 61131-3: Arrays mit variabler Länge”

IEC 61131-3: Coding Guidelines

The wish to raise the quality of a software is hardly much older than the software development itself. At the beginning, a set of rules should be determined which define software development guidelines, especially in major projects with multiple developers. Fortunately, PLCopen published recently a draft specifically for IEC 61131-3.

Continue reading “IEC 61131-3: Coding Guidelines”

IEC 61131-3: Coding Guidelines

Der Wunsch, die Qualität von Software zu erhöhen, ist sehr wahrscheinlich nur unwesentlich jünger als die Softwareentwicklung an sich. Gerade bei großen Projekten mit mehreren Entwicklern, sollte zu Beginn ein Regelwerk festgelegt werden, welches die Richtlinien für die Softwareentwicklung definiert. Erfreulicherweise hat die PLCopen vor einiger Zeit einen Entwurf speziell für die IEC 61131-3 veröffentlicht.

Continue reading “IEC 61131-3: Coding Guidelines”