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.
Gut zu wissen:
Alle Solution von RSB basieren auf diesem Template.
Das Interface und die generellen internen Funktionen werden mit dem Unit-Test-Framework von B&R getestet.
Vorteile
Definiertes Interface
Jeder Funktionsblock besitzt standardisierte Interface-Strukturen.
Die Sub-Member dieser Haupt-Strukturen sind individuell funktions- / prozessorientiert gestaltbar.
Alle Member des FUB-Interface 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.
Standardisierte Infrastruktur-Attribute (FUB.stInfo) sind bereits vollumfänglich implementiert und müssen auch bei der effektiven Ausprägung nicht mehr modifiziert werden.
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 unidirektionales, einkanaliges Kommando gesteuert und können danach durch einen eindeutigen 32bit-Status ausgewertet werden, welcher im Fehlerfall direkt mittels der Solution RsbDevLog wieder ins Logbuch geschrieben werden kann.
Das Template besitzt bereits Samples für unterbrechbare sowie nicht unterbrechbare Kommandos.
Timing-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 vollumfänglich lauffähig erstellt werden kann.
Das Snippet ist zur schnellen Umbenennung aller relevanten Variablen und Typen mit Literalen versehen. So lässt sich ein Funktionsblock in sekundenschnelle library-spezifisch mit einem beliebigen Namen generieren. Es ist kein umständliches Refactoring notwendig.
Alle zugehörig relevanten Files werden ebenfalls erstellt und können importiert werden (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.
