Applikationsframework für CODESYS SPS

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.

 

Download
Kopplernetz KN2 Application Framework für Codesys
260511(Er) Kopplernetz KN2 Application F
Adobe Acrobat Dokument 3.1 MB

CODESYS Steuerungen (Auszug)

  • Wago CODESYS / e!Cockpit
  • Beckhoff TwinCAT
  • Schneider Modicon Machine Expert 
  • ABB
  • SAIA Qronox
  • Industrie PC 

Siemens STEP7 wie Codesys basieren beide auf IEC 61131-3. Eine Portierung nach STEP7 ist gut möglich. 



Dieses Applikationsframework demonstriert die mit Kopplernetz Modbus Modulen erzielbare hohe Reaktionsgeschwindigkeit, unabhängig von der Anzahl der Busteilnehmer. Konkret getestet wurde das Framework mit über 20 ModbusRTU Linien mit je 160 4-kanaligenTeilnehmern. Im 50ms Raster werden sämtliche 12800 Digitalausgänge  aktualisiert und von jedem Bus ein aktuell betätigter Taster oder PIR eingelesen. 

 

Das Applikationsframework macht im wesentlichen:

  • Lückenlose Kommunikation über ModbusRTU um die zur Verfügung stehende Bandbreite maximal auszunutzen. 
  • Synchronisation von Anwendungsprogramm und Kommunikation, damit die Verarbeitung sofort nach Empfang neuer Eingangsdaten startet und die Ausgabe sofort nach Bereitstellung neuer Ausgangsdaten erfolgt. Dies garantiert im Weiteren, dass die Ausgänge exakt so lange aktiviert werden, wie dies das Anwendungsprogramm vorgibt. 
  • Bereitstellung eines IO-Abbildes über welches Applikation und Kommunikation Daten austauschen. Das Ausgangsabbild mit den Digital-Ausgängen sämtlicher KN-Module wird in jedem Kommunikationszyklus (mit jedem Telegramm) vollständig ausgegeben. Antworten auf Ereignisabfragen (an alle KN-Module gleichzeitig gerichtet) werden über das IO-Abbild dem geeigneten Funktionsbaustein im Applikationsprogramm zugewiesen.

Adressierung

Das Kopplernetz KN2 Applikationsframework nutzt ein einheitliches Adressierungssystem. Eine 24Bit Adresse, bestehend aus drei Bytes, bildet Busnummer, KN-Adresse und Kanal ab.

 

Die KN-Adresse wird am Modbus-Modul mittels DIP-Schalter eingestellt und ist gleichzeitig die sichtbare Identifikation. 


IO Funktionen und Controller

Die IO-Funktion gibt Zugriff auf die spezifischen Ein- oder Ausgänge eines Moduls im IO-Abbild. Sie liest die passenden Register und skaliert die Werte.  Darüber hinaus macht die Funktion alle möglichen Tests und erkennt automatisch ein Vielzahl möglicher Fehler. 

Die Logik, die Verknüpfung der Ein- und Ausgänge zu Licht- oder Storensteuerung, machen sogenannte Controller.  

Sämtliche Funktionsbausteine sind quelloffen und können beliebig angepasst/erweitert werden.

 


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 wurde das 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.