RsbTmpl - Funktionsblock Template
Eine saubere Abstraktion und allgemein etablierte Infrastruktur mit automatischer Code-Generieren steigern die Effizienz, erhöhen das Team-Know-How und minimiert die Software-Pflege.
Auf Basis des FUB-Templates entwickeln Sie alle Top-Level Funktionsblöcke und können sich dabei rein um den Prozess kümmern
Vorteile
Definiertes Interface
Jeder Funktionsblock besitzt bestimmte, teils optionale Interface-Variablen, welche die folgenden Vorteile mit sich bringen.
Alle Variablen haben eine definierte Struktur, eine klare Richtung sowie ein festgelegtes Verhalten .
Beispiele für vordefinierte Variablen oder Strukturen sind
- Kommando- / Status-Handling (eCmd / eStatus)
Zur einkanaligen, unidirektionalen Kommandierung des Funktionsblocks sowie zur darauf folfenden Status-Auswertung - Konfiguration (stCfg)
Initiale, einmalige Konfiguration des Funktionsblocks mit sich nicht verändernden Werten. - Parametrierung (stPar)
Dynamische, meist bestimmten Kommandos zugehörige Werte. - Ein- / Ausgänge (stIom)
Strukturen der RsbIo für die Anbindung an das IO-Mapping - Informationen (stInfo)
Beliebige Fub- oder Prozess-spezifische Rückgaben - Remanenten Daten (pstRem)
Zeiger auf externe remanente Daten - Diverse weitere, interne Strukturen
Beispiel
Standard Statemachines
Für das enabling, den Haupt-Ablauf sowie das disabling des Funktionsblocks sind bereits vorgefertigte und trotzdem frei erweiterbare Statemachines auf der Basis der RsbSm integriert.
Exemplarisch sind in der Haupt-Statemachine verschiedene Kommandierungen implementiert, welche zur Umsetzung von eigenen Kommandos verwendet werden können.
Automation Studio Watch Beispiel
Kommando- / Status-Handling
Alle Rsb Solution Funktionsblöcke werden durch ein unidirektionale, einkanaliges Kommando gesteuert und können danach durch einen eindeutigen 32bit-Status ausgewertet werden, welcher im Fehlerfall direkt auch wieder mittels der RsbDevLog Solution Library wieder ins Logbuch geschrieben werden kann.
Das Template besitzt bereits Samples für unterbrechbare sowie nicht unterbrechbare Kommandos.
Timimg-Diagramm
Code-Snippets
Die Templates sind vollständig als Code-Snippet integriert, mit welchem ein neuer Funktionsblock in kürzester Zeit mit allen relevanten Daten und umgehend lauffähig erstellt werden kann.
Das Snippet ist zur schnellen Umbenennung aller relevanten Variablen und Typen mit Literalen versehen. So lässt sich flexibel ein Funktionsblock in sekundenschnelle library spezifisch mit einem beliebigen Namen generieren. Es ist kein umständliches Refactoring notwendig.
Importiert werden die Daten aller relevanten Files (fun, typ, var, h, c).
Code Snippet Manager
Revision-History
Die Versions-Übersicht mit allen Änderungen der Library können in der Revision-History eingesehen werden.
