Applikationsframework

Kopplernetz zwingt nicht zu einer bestimmten Programmierweise. Das Applikationsframework demonstriert die Leistungsfähigkeit der Kopplernetz Erweiterung gegenüber klassischer Modbus-Anbindung und gibt Anregungen zur Programmierung. 

Ziel ist, den Anwender/Programmierer von zeitraubenden und fehlerträchtigen Wiederholungen zu entlasten und die Steuerung auch dafür zu nutzen, die Programmierung und Installation weitestgehend automatisch zu prüfen.

 

AKTUELL:

Mit der PCD3.M6893 bietet SAIA neu eine IEC programmierbare Steuerung auf Basis Codesys an. Mehrere hundert Zonen mit einigen Tausend E/A Modulen können von einer einzelnen Steuerung bedient werden.

 



Klassische FB pro Modul

Diese FB im Framework schaffen eine Adaptierung zu Bausteinen welche nicht direkt mit Ereignissen arbeiten können und stattdessen den Status eines binären Signals auswerten. Genau wie bei den korrespondierenden FB für KNX werden aus den von den busfähigen Tastern gelieferten Signalen wie Impuls oder Dauerbetätigung Impulse unterschiedlicher Dauer generiert. Erst nachdem der Taster einen Impuls erkannt und übermittelt hat wird der Impuls in der SPS nachgebildet. Erst  am Ende dieses künstlich erzeugten Signals kann dann der nachgeschaltete Baustein den Impuls als solchen erkennen. Diese Anbindung ist prinzipbedingt langsamer.

Dieser Funktionsbaustein repräsentiert einen 4-fach Taster mit konfigurierbaren RGB LEDs, Feuchte- Temperatur- und Luftqualitätsfühler sowie Sollwertsteller. Der Baustein überprüft selbständig ob das adressierte Modul vom korrekten Typ ist und über alle benötigten Features/Sensoren verfügt.

 

Diese Art der Bausteine wird dann unhandlich, wenn die Ein-/Ausgänge mit Labels über verschiedene Blätter verteilt werden müssen. Ein Parallelbetrieb mehrerer Module erfordert zusätzliche Behandlung. Taster sind mit OR zu verknüpfen und Analogwerte mit Mittelwert. Dabei ist noch zu beachten, dass nur Werte verknüpft werden, welche von Modulen stammen welche 'OK' melden.



FB pro Funktion

Bei dieser Modellierung werden einzelne funktionale Elemente eines Moduls abgebildet. Zwei Tasten können wahlweise als zwei unabhängige Taster FB oder als eine Wippe abgebildet werden. Die FB prüfen selbständig auf mögliche Konflikte. Anstatt einer Vielzahl von Einzelwerten definiert eine einzelne Datenstruktur die Beziehung von Ein- und Ausgängen und ihrem Steuerbaustein. 

Anstatt die ganze Hardware eines Moduls bilden diese FB nur einzelne Funktionen ab.

Die WippeLicht im Beispiel fasst zwei Tastpunkte des Tasters zusammen. Anstatt vieler Einzelwerte hat WippeLicht eine Struktur als Ein/Ausgangswert. Darin enthalten sind alle erforderlichen Informationen über die LED Farbe und Zustand sowie über die betätigte Taste und den Zustand.


Durch einfaches Verketten von Aus- auf Eingang werden die Wippen funktional 'parallelgeschaltet'. Sie wenden für jeden Wert die richtige Verschaltung an.

1 bis n Bedienwippen werden mit dem Funktionsbaustein für die Storensteuerung verbunden. Dieser FB definiert und priorisiert das Verhalten der Jalousien. Alle Automatikfunktionen, die Position, den Lamellenwinkel, das Verhalten je nach Wetterkondition und Zentralbefehle.

So sieht eine Storensteuerung mit 2 Bedienstellen aus.



Egal wie komplex oder gross. Irgendwann ist jede Funktion programmiert, getestet und dokumentiert. Deren mehrfache Anwendung kostet dann nichts mehr.

Massgebend in Automationsprojekten ist daher vielmehr der Umgang mit individuellen Datenpunkten. Das fängt damit an ob einzelne Geräte zu installieren sind oder ein einzelnes Modul Licht, Storen und Raumklima steuert. Es setzt sich damit fort über wie viele Listen händisch Adressen, Stückzahlen und Bezeichner geführt werden. Wie viele Referenzen entstehen dann im SPS Programm? Jede einzelne Referenz kann richtig oder falsch sein. Muss also individuell getestet werden.

Die Anzahl der Referenzen innerhalb eines Projekts korreliert stark mit dem Gesamtaufwand, während die Funktionsprogrammierung nur einmalig anfällt und oft in mehreren Projekten angewendet werden kann.

 

Vor diesem Hintergrund haben wir ein Anwendungsframework geschaffen das diese Aufgabenstellung ins Zentrum stellt. Anstelle von vielleicht 10 Einzelwerten die von und zum Kombifühler verbunden werden definieren wir nur die Beziehung. Technisch ist die 'Beziehung' eine Datenstruktur welche alle beteiligten Werte enthält. Sie gewährleistet dass jeder darin enthaltene Wert denselben Pfad nimmt.

 

Der Messwert selbst ist jeweils nur die halbe Information. Das Register 'Temperatur' kann vielleicht fehlerfrei gelesen werden, aber vielleicht ist an der Adresse gar nicht das erwartete Modul. Oder es verfügt nach einem Austausch nicht über den erwartete Sensor. Vielleicht wäre der Nullwert noch als Fehler erkennbar. Bei der Mittelwertbildung eines gültigen mit einem Nullwert kommen Werte Zustande welche durchaus plausibel aussehen...

 

Das konsequente Zusammenfassen zusammengehöriger Werte schafft die Voraussetzung dafür, dass bei der Anwendung der Werte immer auch deren Gültigkeit geprüft werden kann.