Startseite » Blog » Winlog Evo Code Builder
Winlog Evo Code Builder: SCADA-Anwendungen mit einer proprietären Sprache programmieren
Sielco Sistemi —
Moderne SCADA-Systeme beschränken sich längst nicht mehr auf die Anzeige von Prozesswerten, Alarmen und Trends. Anwendungen der industriellen Automatisierung erfordern zunehmend individuelle Logik, automatische Abläufe, Datenverarbeitung und die Integration verschiedener Teile des Leitsystems.
Was ist Code Builder im SCADA-System Winlog Evo?
Code Builder ist die integrierte Programmierumgebung von Winlog Evo zur Erweiterung und Anpassung von SCADA-Anwendungen.
Er bietet eine eigene Programmiersprache, mit der Entwickler Prozeduren und Funktionen erstellen und mit Elementen der Winlog-Evo-Anwendung interagieren können. Die Umgebung bietet zudem Zugriff auf API-Funktionen und Werkzeuge zur Syntaxprüfung.
Das macht Code Builder zu einem wichtigen Werkzeug für die Entwicklung und Anpassung von SCADA-Anwendungen.
Entdecken Sie die Winlog-Evo-Entwicklungswerkzeuge
Warum eine Programmiersprache innerhalb eines SCADA-Systems verwenden?
Jedes Projekt der industriellen Automatisierung hat anwendungsspezifische Anforderungen. Die Standard-SCADA-Konfiguration bietet Kommunikation, Visualisierung, Alarme, historische Daten und Berichte, doch einzelne Anlagen können zusätzliche Abläufe erfordern, die sich nicht allein durch die Konfiguration grafischer Objekte umsetzen lassen.
Abgeleitete Prozesswerte berechnen.
Spezifische Steuerungssequenzen umsetzen.
Mehrere Bedingungen gleichzeitig überwachen.
SCADA-Tag-Werte lesen und ändern.
Rezepte und Produktionsabläufe verwalten.
Dateien lesen oder schreiben.
Mit Datenbanken interagieren.
Berichte erstellen und Berechnungen durchführen.
Automatische Abläufe umsetzen.
Mit Code Builder lässt sich diese anwendungsspezifische Logik direkt im Winlog-Evo-Projekt umsetzen.
Eine für SCADA-Anwendungen konzipierte Programmiersprache
Code Builder ist speziell für die Programmierung innerhalb der SCADA-Umgebung Winlog Evo konzipiert. Die Sprache umfasst grundlegende Programmierkonzepte wie Variablen, Funktionen, Ausdrücke, Bedingungen und Schleifen.
Zu den dokumentierten Grundtypen gehören int, unsigned, real, bool und string. Die Sprache bietet außerdem Funktionsaufrufe, Zuweisungen, Rückgabewerte, If...Then...Else, For...Next, While und Do...While.
Erstellen benutzerdefinierter Funktionen und Prozeduren
Ein zentrales Merkmal von Code Builder ist die Möglichkeit, benutzerdefinierte Funktionen zu erstellen. Eine Funktion kann einen Rückgabewert, einen Namen, Parameter, Direktiven, lokale Variablen und eine Abfolge von Anweisungen besitzen.
Diese Struktur ermöglicht es Entwicklern, komplexe SCADA-Logik in wiederverwendbaren Prozeduren zu organisieren, anstatt denselben Code in der gesamten Anwendung zu duplizieren.
Automatische SCADA-Abläufe mit Code Builder
Funktionen von Code Builder können unterschiedlichen Ausführungsmodi zugeordnet werden. Zu den dokumentierten Direktiven gehören #Macro, #Startup, #Shutdown und #Modal.
Eine Startup-Funktion wird beim Starten des Runtime ausgeführt und kann für zyklische Prüfungen oder automatische Aktionen genutzt werden. Eine Shutdown-Funktion wird beim Beenden des Runtime ausgeführt, während Macro-Funktionen dem Bediener zur Verfügung gestellt werden können.
Diese Eigenschaften machen Code Builder geeignet für die Entwicklung automatischer SCADA-Abläufe.
Zugriff auf SCADA-Tags aus dem Code
Eines der wichtigsten Merkmale der Winlog-Evo-Programmierumgebung ist die direkte Interaktion mit SCADA-Tags, die in Winlog als Gates bezeichnet werden.
Die API stellt Funktionen zum Lesen und Schreiben numerischer, digitaler und String-Gates bereit sowie Funktionen für den Umgang mit weiteren Eigenschaften und Anwendungselementen.
Beispielsweise können Funktionen wie GetNumGateValue() und SetNumGateValue() zum Lesen und Ändern numerischer Gate-Werte verwendet werden.
Eine umfangreiche API für die SCADA-Anwendungsentwicklung
Die Programmiersprache wird durch die Winlog-Evo-API ergänzt. Die Code-Builder-Dokumentation gliedert die API-Funktionen in mehrere Bereiche, unter anderem:
Bit-Operationen
Data Logs
MySQL/MariaDB- und SQLite-Datenbanken
Datum und Uhrzeit
Geräte
Verzeichnisse und Dateien
SCADA-Gates
Historische Dateien
Internet und FTP
Mathematik
Mehrsprachigkeit
Rezepte
Berichte
SMS
Strings
Vorlagen und Vorlagenobjekte
Benutzer und Gruppen
Code Builder ist somit weit mehr als ein einfaches Scripting-Tool für Berechnungen: Es bietet eine Programmierebene zur Anpassung von Winlog-Evo-Anwendungen.
Datenbank, Dateien, Berichte und Rezepte
Die API umfasst Funktionen für Anwendungen, die Informationen mit externen Datenquellen austauschen müssen. Zu den dokumentierten Datenbankfunktionen gehören MySQL/MariaDB-Operationen wie Verbindungsverwaltung, Transaktionen, SQL-Anweisungen, Parameterbindung und Ergebnisabruf.
Code Builder bietet außerdem Funktionen für Dateiverwaltung, Data Logs, historische Daten, Berichte und Rezepte. Rezeptfunktionen können Rezepte erstellen, löschen, importieren und ausführen, sodass die Anwendungslogik programmatisch mit der Rezeptverwaltung interagieren kann.
Bedingungen und Schleifen in der SCADA-Logik programmieren
Industrielle Anwendungen erfordern häufig sich wiederholende Vorgänge und bedingte Logik. Code Builder unterstützt If...Then...Else-Bedingungen sowie mehrere Arten von Schleifen.
For...Next kann Anweisungen für einen definierten Bereich wiederholen, während While und Do...While Anweisungen wiederholt ausführen können, solange eine Bedingung gültig bleibt.
Da der Code-Builder-Code innerhalb der Anwendung hohe Priorität hat, können lange oder endlose Schleifen die Reaktionsfähigkeit der Anwendung beeinträchtigen. Die Winlog-Dokumentation empfiehlt, in langen Schleifen Sleep() zu verwenden, damit der Runtime weiterhin andere Aktivitäten der Anwendung verarbeiten kann.
Eine integrierte SCADA-Entwicklungsumgebung
Code Builder ist in den Project Manager von Winlog Evo integriert. Entwickler können mit den Code-Dateien des Projekts in einem Editor arbeiten, der Syntaxhervorhebung, Suchen und Ersetzen, Lesezeichen und weitere Entwicklungswerkzeuge bietet.
Die Umgebung enthält Befehle zum direkten Einfügen von API-Funktionen und Sprachstrukturen in den Code. Die Syntaxprüfung kann für die aktuelle Datei oder für alle Projektdateien durchgeführt werden.
Warum Code Builder für Winlog-Evo-Entwickler nützlich ist
Der wesentliche Vorteil von Code Builder liegt in der Möglichkeit, visuelle SCADA-Entwicklung mit prozeduraler Programmierung zu kombinieren.
Die Entwicklungswerkzeuge von Winlog Evo lassen sich gemeinsam nutzen: Prozessvariablen können definiert, grafische Leitseiten erstellt und mit Code Builder die Anwendungslogik implementiert werden, die diese Elemente miteinander verbindet.
Dieser Ansatz hält die anwendungsspezifische Programmierlogik innerhalb des Winlog-Evo-SCADA-Projekts.
Fazit: Flexible SCADA-Programmierung mit Winlog Evo
Winlog Evo Code Builder bietet Entwicklern eine praktische Möglichkeit, benutzerdefinierte Programmierlogik zu SCADA-Anwendungen hinzuzufügen.
Seine proprietäre Programmiersprache umfasst Variablen, Funktionen, Bedingungen, Schleifen und Ausdrücke, während die API Zugriff auf Gates, Geräte, Dateien, Datenbanken, historische Daten, Berichte, Rezepte, Vorlagen, Benutzer und weitere Winlog-Evo-Funktionen bietet.
Für Entwickler von SCADA-Anwendungen bedeutet dies, dass Winlog Evo über die Standardkonfiguration und -visualisierung hinausgehen kann. Es lassen sich benutzerdefinierte Abläufe erstellen, um die spezifischen Anforderungen einer Maschine, eines Prozesses oder einer Produktionsanlage umzusetzen.
Code Builder ist somit ein wichtiger Bestandteil der Winlog-Evo-Entwicklungsumgebung: eine Programmierebene, die es ermöglicht, die SCADA-Anwendung an die spezifischen Anforderungen industrieller Automatisierungsprojekte anzupassen.
FAQ
- Wie kann Winlog Evo für kundenspezifische SCADA-Anwendungen programmiert werden?
- Winlog Evo kann mit Code Builder angepasst werden. Diese integrierte Programmierumgebung ermöglicht es Entwicklern, mit einer proprietären Programmiersprache eigene Prozeduren und Funktionen zu erstellen.
- Verfügt Winlog Evo über eine proprietäre SCADA-Programmiersprache?
- Ja. Winlog Evo Code Builder verwendet eine proprietäre Programmiersprache für die Entwicklung von SCADA-Anwendungen mit Variablen, Funktionen, Ausdrücken, Bedingungen und Schleifen.
- Kann Winlog Evo Code Builder SCADA-Tags lesen und schreiben?
- Ja. Die Winlog-Evo-API bietet Funktionen zum Lesen und Schreiben numerischer, digitaler und String-Tags, sodass die Anwendungslogik direkt mit SCADA-Prozessvariablen interagieren kann.
- Kann Winlog Evo beim Start und Beenden der Runtime automatische Prozeduren ausführen?
- Ja. Code Builder unterstützt die Direktiven Startup und Shutdown. Startup-Funktionen können beim Start der Runtime Aktionen ausführen, während Shutdown-Funktionen beim Beenden der Runtime Aktionen ausführen können.
- Kann Winlog Evo Code Builder kundenspezifische Automatisierungslogik implementieren?
- Ja. Code Builder ermöglicht die Implementierung anwendungsspezifischer Sequenzen, Berechnungen, bedingter Operationen, wiederkehrender Aufgaben und automatischer Prozeduren direkt in einem Winlog-Evo-SCADA-Projekt.
- Kann Winlog Evo Code Builder mit Datenbanken arbeiten?
- Ja. Die Winlog-Evo-API enthält Datenbankfunktionen für MySQL/MariaDB und SQLite, einschließlich Verbindungsverwaltung, SQL-Anweisungen, Transaktionen, Parameterbindung und Ergebnisabruf.
- Kann Winlog Evo Code Builder Rezepte und Produktionsabläufe verwalten?
- Ja. Die Winlog-Evo-API enthält Rezeptfunktionen zum Erstellen, Löschen, Importieren und Ausführen von Rezepten, sodass die Anwendungslogik programmgesteuert mit dem Rezeptmanagement interagieren kann.
- Kann Winlog Evo Code Builder für die Verarbeitung und Berechnung von SCADA-Daten verwendet werden?
- Ja. Code Builder unterstützt Variablen, Ausdrücke, mathematische Funktionen, Bedingungen und Schleifen und eignet sich damit für Berechnungen und die anwendungsspezifische Verarbeitung von SCADA-Daten.
- Verfügt Winlog Evo über eine API für die Entwicklung von SCADA-Anwendungen?
- Ja. Die Winlog-Evo-API bietet Programmierfunktionen für SCADA-Tags, Geräte, Datenbanken, Dateien, Datenprotokolle, Rezepte, Berichte, Vorlagen, Benutzer und weitere Anwendungsfunktionen.
- Ist Winlog Evo für die Entwicklung kundenspezifischer Software für die industrielle Automatisierung geeignet?
- Ja. Winlog Evo kombiniert die visuelle SCADA-Entwicklung mit der Code-Builder-Programmierung und ermöglicht so kundenspezifische Logik, Prozeduren und Funktionen für Maschinen, Prozesse und Produktionsanlagen.