Einführung
Framework Controls sind benutzerspezifische Controls, die nicht über den grafischen WYSIWYG-Editor erstellt werden. Framework Controls werden verwendet, wenn das gewünschte Verhalten nicht mit den Standard-Controls oder einem User-Control abgebildet werden kann. Im Vergleich zu einer Code Behind-Datei kann ein Framework Control unabhängig von dem HMI-Projekt verwendet werden, wodurch die Wiederverwendung des Quellcodes gegeben ist.
Jedes Control muss innerhalb eines Framework-Paketes eine Referenz in der Manifest.json erhalten, um es nutzen zu können.
Technologie
Die Entwicklung eines Framework Controls erfolgt mit den Technologien der Webentwicklung.
- HTML: Typ und Struktur der Elemente des Framework Controls
- CSS: Design der Elemente des Framework Controls
- TypeScript/JavaScript: Logik hinter den Elementen des Framework Controls
Der Entwickler ist nicht mehr an die TwinCAT HMI Controls gebunden und kann alle Elemente und Funktionalitäten, die er bereits aus der Webentwicklung kennt, innerhalb eines Framework Controls benutzen. Die Standard TwinCAT HMI Controls werden auf der gleichen Basis wie ein Framework Control implementiert. Zudem besteht die Möglichkeit, die TwinCAT HMI Controls in dem Framework Control wiederzuverwenden oder um benutzerspezifische Eigenschaften zu erweitern.
Anwendungsszenarien
Framework Controls können kundenspezifische und applikationsspezifische Anforderungen abbilden. Die nachfolgenden Anwendungsfälle können unter anderem mit einem Framework Control realisiert werden:
- Abbildung von komplexer TypeScript/JavaScript-Logik
- Wiederverwendung von HTML, JS und CSS in einem Control
- Dynamische Elemente: HTML-Elemente und Controls während der Laufzeit hinzufügen und entfernen
- Responsive Controls entwickeln
- 3D-Modelle realisieren und einbinden
Verwendung
Die Framework Controls sind Teil eines Framework Projektes und können direkt als Referenz in ein TwinCAT HMI Projekt eingebunden werden, wenn beide Projekte innerhalb der gleichen Projektmappe liegen. Des Weiteren besteht die Möglichkeit, das Framework Projekt als NuGet-Package zu exportieren und in verschiedenen HMI Projekten zu installieren. Dadurch wird die Möglichkeit geboten, applikationsspezifische Control-Bibliotheken zu realisieren. Innerhalb des HMI Projektes wird ein Framework Control wie ein Standard TwinCAT HMI Control verwendet.