IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Schutzvermerk © Bosch Rexroth AG 2021 Alle Rechte vorbehalten, auch bezüglich jeder Verfügung, Verwertung, Reproduktion, Bearbeitung, Weitergabe sowie für den Falle von Schutzrechtsanmeldungen. Verbindlichkeit Die angegebenen Daten dienen allein der Produktbeschreibung und sind nicht als zugesicherte Eigenschaften im Rechtssinne zu verstehen. Änderungen im Inhalt der Dokumentation und Liefermöglichkeiten der Produkte sind vorbehalten. DOK-XCORE*-IDE********-AP02-DE-P DC-AE/EPI5 (TaDo) d6bf9650d4987a8a0a347e8873733cf8, 2, de_DE
IDE App 3 / 62 Inhaltsverzeichnis 1 Über diese Dokumentation 5 2 Wichtige Gebrauchshinweise 7 2.1 Bestimmungsgemäßer Gebrauch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 Einführung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 Einsatz- und Anwendungsbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Nicht bestimmungsgemäßer Gebrauch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Sicherheitshinweise 9 4 Security 11 5 Free and Open Source Software Informationen 13 6 Einführung und Übersicht 15 7 Installation 17 8 Autorisierung 19 8.1 Visual Coding IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.2 Textual Coding IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.3 Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.4 Advanced. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 9 Visual Coding 21 9.1 Einführung und Übersicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.2 Projektverwaltung und Projektsynchronisation. . . . . . . . . . . . . . . . . . . . . . . . . 21 9.2.1 Einführung und Übersicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.2.2 Projekt-Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 9.2.3 Meine Projekte "Alle Anzeigen". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 9.2.4 Neues Projekt anlegen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9.3 Code Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9.3.1 Aufbau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9.3.2 Basis-Extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 9.3.3 Unterstützte Editoren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.3.4 Datei-Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.3.5 Skript starten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.3.6 Skript stoppen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9.3.7 Skript debuggen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9.3.8 Anhängen an aktives Skript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 9.4 Projekteinstellungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.4.1 Einführung und Übersicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.4.2 Allgemeine Projekteinstellungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.4.3 Extension Konfiguration und Initialisierung. . . . . . . . . . . . . . . . . . . . . 33 9.4.4 Drucken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.4.5 Projekt speichern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.4.6 Projekt löschen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.5 Hilfe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.6 Live-Anzeige. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.7 Programm erstellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 10 Textual Coding 43 10.1 Einführung und Übersicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 10.2 Motion- und Data Layer-Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 R911410624, Ausgabe 02 Bosch Rexroth AG
4 / 62 IDE App 10.3 Aufbau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 10.4 Explorer-Ansicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 10.5 Suchen im aktiven Arbeitsbereich. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 10.6 Debug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 10.7 ctrlX AUTOMATION Skript-Verwaltung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 11 Deinstallation 51 12 Weiterführende Dokumentationen 53 12.1 Übersicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 12.2 ctrlX AUTOMATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 12.3 ctrlX WORKS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 12.4 ctrlX CORE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 12.5 ctrlX CORE Apps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 13 Service und Support 57 14 Index 59 Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 5 / 62 1 Über diese Dokumentation Ausgaben dieser Dokumentation Ausgabe Stand Bemerkung 01 2021-04 Erstausgabe Version IDE-V-0108 02 2021-08 Überarbeitung Version IDE-V-0110 ● ⮫ Kapitel 8 „Autorisierung“ auf Seite 19 überar- beitet R911410624, Ausgabe 02 Bosch Rexroth AG
IDE App 7 / 62 Bestimmungsgemäßer Gebrauch 2 Wichtige Gebrauchshinweise 2.1 Bestimmungsgemäßer Gebrauch 2.1.1 Einführung Produkte von Rexroth werden nach dem jeweiligen Stand der Technik entwi- ckelt und gefertigt. Vor ihrer Auslieferung werden die Produkte auf ihren betriebssicheren Zustand hin überprüft. Personen- und Sachschäden durch falschen Gebrauch WARNUNG der Produkte! Die Produkte dürfen nur bestimmungsgemäß eingesetzt werden. Wenn die Produkte nicht bestimmungsgemäß eingesetzt werden, dann können Situationen entstehen, die Sach- und Personenbeschädigung nach sich ziehen. Schäden bei nicht bestimmungsgemäßem Gebrauch HINWEIS Für Schäden bei nicht bestimmungsgemäßem Gebrauch der Produkte leistet Rexroth als Hersteller keinerlei Gewährleistung, Haftung oder Schadensersatz. Die Risiken bei nicht bestimmungsgemäßem Gebrauch der Produkte liegen allein beim Anwender. Bevor Sie die Produkte der Firma Rexroth einsetzen, müssen die folgenden Voraussetzungen erfüllt sein, um einen bestimmungsgemäßen Gebrauch der Produkte zu gewährleisten: − Jeder, der in irgendeiner Weise mit Rexroth Pro- dukten umgeht, muss die entsprechenden Sicher- heitsvorschriften und den bestimmungsgemäßen Gebrauch lesen und verstehen − Sofern es sich bei den Produkten um Hardware han- delt, müssen die Produkte in ihrem Originalzustand belassen werden; d. h. es dürfen keine baulichen Veränderungen an den Produkten vorgenommen werden. Softwareprodukte dürfen nicht dekompiliert werden und ihre Quellcodes dürfen nicht verändert werden − Beschädigte oder fehlerhafte Produkte dürfen nicht eingebaut oder in Betrieb genommen werden − Es muss gewährleistet sein, dass die Produkte ent- sprechend den in der Dokumentation genannten Vor- schriften installiert sind 2.1.2 Einsatz- und Anwendungsbereiche Produkte der ctrlX Baureihe sind für Motion-/Logic-Anwendungen geeignet. R911410624, Ausgabe 02 Bosch Rexroth AG
8 / 62 IDE App Nicht bestimmungsgemäßer Gebrauch Produkte der ctrlX Baureihe dürfen nur mit den in dieser HINWEIS Dokumentation angegebenen Zubehör- und Anbauteilen benutzt werden. Nicht ausdrücklich genannte Kompo- nenten dürfen weder angebaut noch angeschlossen werden. Gleiches gilt für Kabel und Leitungen. Der Betrieb darf nur in den ausdrücklich angegebenen Konfigurationen und Kombinationen der Hardware-Kom- ponenten und mit der in den jeweiligen Dokumentati- onen und den Funktionsbeschreibungen angegebenen und spezifizierten Soft- und Firmware erfolgen. Produkte der ctrlX Baureihe sind für den Einsatz in ein- und mehrachsigen Antriebs- und Steuerungsaufgaben geeignet. Für den applikationsspezifischen Einsatz des Systems stehen Gerätetypen mit unterschiedlicher Ausstattung und unterschiedlichen Schnittstellen zur Verfügung. Typische Anwendungsbereiche: ● Gebäudeautomatisierung ● IoT und Security Gateway bzw. Device ● Handling & Robotic Steuerungen der ctrlX CORE Baureihe dürfen nur unter den in den weiterführ- enden Dokumentationen angegebenen Montage- und Installationsbedingungen, in der angegebenen Gebrauchslage und unter den angegebenen Umweltbedin- gungen (Temperatur, Schutzart, Feuchte, EMV u. a.) betrieben werden. 2.2 Nicht bestimmungsgemäßer Gebrauch Die Verwendung von ctrlX-Produkten außerhalb der vorgenannten Anwendungs- gebiete oder unter anderen als den in der Dokumentation beschriebenen Betriebsbedingungen und angegebenen technischen Daten gilt als "nicht bestimmungsgemäß". ctrlX-Produkte dürfen nicht eingesetzt werden, wenn sie den folgenden Bedin- gungen ausgesetzt sind: ● Betriebsbedingungen, die die vorgeschriebenen Umgebungsbedingungen nicht erfüllen. Untersagt sind z. B. der Betrieb unter Wasser, unter extremen Temperaturschwankungen oder extremen Maximaltemperaturen ● Bei Anwendungen, die von Rexroth nicht ausdrücklich freigegeben sind Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 9 / 62 3 Sicherheitshinweise Die Sicherheitshinweise, soweit in der vorliegenden Anwendungsdokumenta- tion vorhanden, beinhalten bestimmte Signalwörter ("Gefahr", "Warnung", "Vor- sicht", "Hinweis") und ggf. eine Signalgrafik (nach ANSI Z535.6-2006). Das Signalwort soll die Aufmerksamkeit auf den Sicherheitshinweis lenken und bezeichnet die Schwere der Gefährdung. Die Signalgrafik (Warndreieck mit Ausrufezeichen), welche den Signalwörtern "Gefahr", "Warnung" und "Vorsicht" vorangestellt wird, weist auf Gefährdungen für Personen hin. Die Sicherheitshinweise in dieser Dokumentation werden wie folgt dargestellt: Bei Nichtbeachtung dieses Sicherheitshinweises werden GEFAHR Tod oder schwere Körperverletzung eintreten. Bei Nichtbeachtung dieses Sicherheitshinweises können WARNUNG Tod oder schwere Körperverletzung eintreten. Bei Nichtbeachtung dieses Sicherheitshinweises können VORSICHT mittelschwere oder leichte Körperverletzung eintreten. Bei Nichtbeachtung dieses Sicherheitshinweises können HINWEIS Sachschäden eintreten. R911410624, Ausgabe 02 Bosch Rexroth AG
10 / 62 IDE App Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 11 / 62 4 Security Der Betrieb von Anlagen, Systemen und Maschinen erfordert grundsätzlich die Implementierung eines ganzheitlichen Konzepts für die IT-Security, welches dem aktuellen Stand der Technik entspricht. Die Produkte von Bosch Rexroth sind ein Teil dieses ganzheitlichen Konzepts. Die Eigenschaften der Produkte von Bosch Rexroth müssen bei einem ganzheit- lichen IT-Security-Konzept berücksichtigt werden. Die zu berücksichtigenden Eigenschaften finden Sie in folgenden Dokumenten: ● "Security-Leitfaden Elektrische Antriebe und Steuerungen" (R911342561) ● "Secure Configuration Manual ctrlX DRIVEplus" (R911411572) R911410624, Ausgabe 02 Bosch Rexroth AG
12 / 62 IDE App Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 13 / 62 5 Free and Open Source Software Informati- onen Die IDE App, die grafische Benutzeroberfläche (GUI) sowie weitere im Paket enthaltene Software, enthalten Open-Source-Komponenten. Bitte beachten Sie die Nutzungsbedingungen einschließlich des Abschnitts über Open-Source- Software. Eine vollständige Liste aller eingebundenen Open-Source-Kompo- nenten, deren Copyright-Hinweise und Lizenztexte sowie Hinweise zum Aus- tausch bestimmter Komponenten finden Sie in den Informationsdokumenten zu Free and Open Source Software (FOSS). R911410624, Ausgabe 02 Bosch Rexroth AG
14 / 62 IDE App Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 15 / 62 6 Einführung und Übersicht Die IDE App ist eine Anwendung zum Erstellen von Automatisierungspro- grammen oder Programmabläufen und stellt dafür verschiedene browserba- sierte Entwicklungsumgebungen bereit, um Programme für unterschiedliche Laufzeitsysteme zu entwickeln. Die integrierten Quellcode-Editoren unterstützen dabei mit den gewohnten Komfortfunktionen wie Autovervollständigung, Syntax-Hervorhebung, Linting, usw. Zur einfacheren Diagnose der erstellten Programme kann über die Entwick- lungsumgebung eine Debug-Verbindung aus dem Browser zu dem auf der Steu- erung befindlichen Laufzeitsystem hergestellt werden, um eine vollumfängliche Analyse von Fehlersituationen oder dem Laufzeitverhalten eines Programms zu ermöglichen. R911410624, Ausgabe 02 Bosch Rexroth AG
16 / 62 IDE App Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 17 / 62 7 Installation Lizenz Zum Betrieb der IDE App auf der ctrlX CORE Steuerung sind folgende Lizenzen erforderlich: Typschlüssel Materialnummer SWL-XC*-IDE-TEXTUALCODE**-NNNN R911409788 SWL-XC*-IDE-VISUALCODE***-NNNN R911409789 Weiterführende Informationen ● "ctrlX CORE Runtime", Anwendungsbeschreibung (R911403767), Kapitel ⮫ Lizenzen ‒ Übersicht ● "ctrlX CORE Runtime", Anwendungsbeschreibung (R911403767), Kapitel ⮫ ctrlX CORE ‒ Lizenzrechtliche Hinweise Installation ctrlX CORE Seitennavigation „Settings Apps“ Weitere Informationen zur Installation der App finden Sie in folgenden Kapiteln: ● "ctrlX CORE Runtime", Anwendungsbeschreibung (R911403767), Kapitel ⮫ Apps ‒ Grundlagen ● "ctrlX CORE Runtime", Anwendungsbeschreibung (R911403767), Kapitel ⮫ Apps ‒ Installation Aufruf: ctrlX CORE Seitennavigation „IDE“ R911410624, Ausgabe 02 Bosch Rexroth AG
18 / 62 IDE App Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 19 / 62 Base 8 Autorisierung Die IDE App setzt auf das Security-Konzept des Steuerungssystems auf und integriert sich in dessen Benutzerverwaltung. Nachfolgend beschriebene Autorisierungsscopes werden dabei unterstützt. Diese Scopes wirken sich auf den Funktionsumfang der IDE App aus und sollen eine gezielte, an den Anwender bzw. an den Scopes ausgerichtete Funktionsbe- reitstellung bieten. Das heißt, je nach ausgewähltem Scope unterscheidet sich der für den Anwender zugängliche Funktionsumfang innerhalb der Software. Dabei wird innerhalb der IDE App zwischen folgenden beiden Entwicklungsum- gebungen unterschieden: ● Visual Coding ● Textual Coding Diese Entwicklungsumgebungen haben keinen fachlichen Zusammenhang und werden separat voneinander betrachtet. Um den Vollzugriff auf die IDE App so einfach wie möglich zu gestalten, kann im Identity Management von ctrlX AUTOMATION der "Full Access" aktiviert werden. Danach ist der Zugriff auf den gesamten Funktionsumfang der Software mög- lich. 8.1 Visual Coding IDE - Reserviert - Dieser Scope ist aktuell ohne Funktion. Er dient als Platzhalter zur späteren Verwendung. Das aktivieren oder deaktivieren des Scopes hat keine Auswir- kung auf die Funktion der Visual Coding Software. 8.2 Textual Coding IDE Die Scopes in Textual Coding bauen von ihren Zugriffsrechten aufeinander auf, so dass für den Vollzugriff beide Scopes aktiviert werden müssen. Die Verwen- dung des Advanced-Zugriffs ohne Aktivierung des Base-Zugriffs führt zu einem inkonsistenten Zustand, so dass grundlegende Funktionen nicht zur Verfügung stehen würden. Wird auf Funktionen zugegriffen, die nicht innerhalb des aktivierten Scopes liegen, wird die Anfrage an den Service zurückgewiesen und eine Fehlermel- dung innerhalb der Software angezeigt. Um auf den entsprechenden Service zugreifen zu können, muss über das Identity Management System des Steuer- ungssystems die entsprechende Berechtigung für den aktiven Benutzer gesetzt werden. 8.3 Base Der Base-Scope stellt die Grundfunktionalität der Textual Coding-Software bereit, so dass diese Software in Verbindung mit ctrlX CORE verwendet werden kann. Nachfolgende Tabelle beschreibt die Services, die über diesen Scope verwaltet werden. Service Beschreibung REST Zugriff und Interaktion mit ctrlX AUTOMATION via REST, z..B. Filesystemzugriffe oder Skriptbearbeitung starten/stoppen R911410624, Ausgabe 02 Bosch Rexroth AG
20 / 62 IDE App Advanced Service Beschreibung core Die Erweiterung core ist die Haupterweiterung für alle Anwendungen und stellt das Grundgerüst für alle abhängigen Erweiterungen dar. Die Erweiterung stellt die Basis-APIs für alle Anwen- dungen zur Verfügung, einschließlich: ● Anwendungs-APIs ● Shell-APIs ● Basis-Widgets ● Beitragspunkte (z.B. Befehle, Menüpunkte, Tas- tenkombinationen) filesystem Die Erweiterung filesystem bietet Funktionen zur Interaktion mit dem Dateisystem, einschließlich Diensten wie Überwachen, Hochladen und der Basis- Dateibaum-Ansicht. workspace Die Erweiterung workspace bietet Funktionen und Dienste zur Verwaltung von Arbeitsbereichen (Pro- jekten) innerhalb der Anwendung mini-browser-service Die Erweiterung mini-browser-service bietet ein Browser-Widget mit den entsprechenden Backend- Endpunkten debug Der Service debug wird verwendet, um eine neue Debug-Session zu initialisieren. Dieser Dienst bietet Funktionen zur Konfiguration und zum Starten einer neuen Debug-Session. file-search Die Erweiterung file-search bietet den Befehl und die Möglichkeit, jede Datei in einem bestimmten Arbeits- bereich schnell zu öffnen search-in-workspace Die Erweiterung search-in-workspace bietet die Mög- lichkeit, alle Dateien in einem bestimmten Arbeitsbe- reich mit verschiedenen Suchtechniken zu durchsu- chen 8.4 Advanced Der Advanced-Scope erweitert den Base-Scope um höherwertige Funktionen und bietet tiefergehenden Zugriff auf die Applikation und das System. Nachfolgende Liste beschreibt die Funktionserweiterungen, die über den Advanced-Scope freigeschaltet werden können. Service Beschreibung tasks Die Erweiterung tasks ermöglicht die Ausführung von Skripten oder Binärdateien im Backend der Anwendung shell-terminal Die Erweiterung shell-terminal bietet die Möglichkeit, integrierte Terminals in die Anwendung einzubinden, die in einer Vielzahl unterschiedlicher Szenarien verwendet werden können plugin-ext Die Erweiterung plugin-ext stellt Funktionen für die Plugin-API bereit (nur für interne Verwendung) Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 21 / 62 Projektverwaltung und Projektsynchronisation 9 Visual Coding 9.1 Einführung und Übersicht Der Visual Coding-Editor bietet eine Plattform zur Verwaltung und Projektierung einzelner Automatisierungsaufgaben in einem Werkzeug. Der integrierte Editor unterstützt dabei das Programmieren mit visuellen Elementen (Blöcke) in Python und JavaScript und ermöglicht das Deployment auf einem Zielsystem, unabhängig der gewählten Sprachdarstellung. Die Visual Coding-Software kann über den Startbildschirm der ctrlX CORE in der Seitennavigation aufgerufen werden. Sie werden automatisch auf die Startseite der Software weitergeleitet. Die Software wird im gleichen Fenster geöffnet. Abb. 1: Übersicht IDE App Über das Logo in der oberen linken Ecke kann von der Oberfläche von Visual Coding zur Oberfläche der ctrlX CORE navigiert werden. Abb. 2: Navigation von Visual Coding zu ctrlX CORE 9.2 Projektverwaltung und Projektsynchronisation 9.2.1 Einführung und Übersicht Auf der Visual Coding-Startseite können die vorhandenen Projekte verwaltet werden. Beim Aufruf der Seite werden alle Projekte als Kacheln angezeigt. Es gibt zwei Ablageorte, an denen die Visual Coding-Projekte abgelegt werden. ● Dateisystem des Hosts, z.B. ctrlX AUTOMATION (Active Solution) ● Webbrowser (Browser-Datenbank) R911410624, Ausgabe 02 Bosch Rexroth AG
22 / 62 IDE App Projektverwaltung und Projektsynchronisation Die Visual Coding-Software synchronisiert automatisch aus und in die zur Verfü- gung stehenden Datenbanken beim Aufruf der Startseite. Visual Coding unterstützt einen Offline-Betrieb. Das bedeutet, dass im Falle eines Fehlens einer aktiven Kommunikationsverbindung zum Zielsystem der Editor auch offline verwendet werden kann. Die Projekte werden in diesem Fall ausschließlich in der Browser-Datenbank gespeichert. Sobald eine aktive Kom- munikationsverbindung vorhanden ist, werden beim Aufruf der Startseite die Projekte von der Steuerung geladen oder auf die Steuerung synchronisiert. Ein Projekt beinhaltet dabei alle zur Wiederherstellung eines Projekts notwen- digen Abhängigkeiten. Das sind einem Projekt zugehörige Konfigurationen, z.B. verwendete Extensions oder konfigurierte Objekte, wie Achsen oder Kinema- tiken. Ebenfalls gehören dazu diverse Metainformationen, wie z.B. welche Funk- tionen verwendet werden und wie die Anordnung der Blöcke in der Oberfläche hinterlegt ist. Das erzeugte Kompilat für das Zielsystem ist nicht Bestandteil eines Projekts. Das Kompilat wird separat beim Start bzw. beim Deployment auf dem Ziel- system abgelegt. Die im Editor zu sehenden Programme repräsentieren nicht das ausführbare Programm, welches als Kompilat auf das Steuerungssystem geladen wird. Dieses Kompillat wird während des Kompilierens um weitere essenzielle Programmteile ergänzt. Projekte der Visual Coding-Software werden im Dateisystem des Hosts abge- legt, hier am Beispiel der ctrlX AUTOMATION in der Explorer-Ansicht der Textual Coding-Software. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 23 / 62 Projektverwaltung und Projektsynchronisation Abb. 3: Ablage der Projekte der Visual Coding-Software 9.2.2 Projekt-Import Über die Schaltfläche können zuvor exportierte Projekte in die Visual Coding-Software importiert werden. Dabei stehen folgende Importquellen zur Verfügung: ● Lokales Dateisystem ● GitHub Repository Wird das Projekt erfolgreich importiert, wird es automatisch im Editiermodus geöffnet. 9.2.3 Meine Projekte "Alle Anzeigen" Es werden alle Projekte in einer Übersicht dargestellt. Die Ansicht kann wahlweise über eine Schaltfläche in der oberen, rechten Ecke von einer Darstellung als Liste in eine Darstellung mit Widgets umgestellt werden. R911410624, Ausgabe 02 Bosch Rexroth AG
24 / 62 IDE App Code Editor Abb. 4: Ansicht aller Projekte Wird ein Projekt ausgewählt, kann dieses Projekt geöffnet, kopiert oder gelöscht werden. In der Listenansicht können mehrere Projekte markiert und auf einmal gelöscht werden. 9.2.4 Neues Projekt anlegen Mit einem Klick auf das Widget "Neues Projekt" öffnet sich ein Dialogfeld, in dem ein Name für das zu erstellende Projekt vergeben werden kann. Dieser Name ist frei wählbar und dient der einfacheren Identifikation in der Visual Coding-Software. Mit der Schaltfläche "Erzeugen" wird die Boardauswahl geöffnet, in der das gewünschte Zielsystem gewählt werden kann. Anschließend wird das Projekt mit all seinen boardspezifischen Abhängigkeiten angelegt und der Editiermodus geöffnet. Je nach gewähltem Board unterscheidet sich die initiale Projektkonfi- guration. Daher wird der Anwender immer dazu aufgefordert, diese Konfigura- tion durchführen zu lassen. Abb. 5: Aufforderung zur Durchführung der Konfiguration 9.3 Code Editor 9.3.1 Aufbau Der Editorbereich ist aus verschiedenen Komponenten aufgebaut. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 25 / 62 Code Editor Abb. 6: Aufbau Editorbereich 1 Kopfzeile 2 Fußzeile 3 Extension-Bibliotheken 4 Code-Editor (je nach aktiver Darstellung) Kopfzeile Die Kopfzeile besteht aus folgenden Komponenten: ● Home: Navigation auf Visual Coding-Startseite ● Editor-Umschaltung: Blocks Python JavaScript ● Hilfe: Zeigt die integrierten Hilfefunktionen an ● Einstellungen: Zeigt die projektspezifischen Einstellmöglichkeiten an Fußzeile Die Fußzeile besteht aus folgenden Komponenten: ● Compile: Übersetzt das Visual Coding-Projekt in eine für das Zielsystem spezifische, ausführbare Datei ● Start: Führt die erstellte Datei aus ● Debug: Debugging des aktuell bearbeiteten Projekts ● Projekt-Name: Zeigt den aktuellen Projektnamen an, Änderung möglich ● Github Login: Bietet die Möglichkeit, sich an einem GitHub-Konto anzumelden ● Rückgängig machen: Die zuletzt getätigten Änderungen können zurückgenommen werden ● Zoom: R911410624, Ausgabe 02 Bosch Rexroth AG
26 / 62 IDE App Code Editor Vergrößern bzw. Verkleinern des Editorbereichs 9.3.2 Basis-Extensions Basis-Extensions Beschreibung Motion Die Motion-Extension bietet eine Auswahl an Motion- Funktionen, um Motion-Objekte wie Achsen oder Kine- matiken zu verfahren oder Zustände abzufragen. Die zu verfahrenden Objekte müssen vorher über die Projek- teinstellungen konfiguriert werden. I/O Die I/O-Extension bietet eine Auswahl von Funktionen, um auf Ein- und Ausgänge lesend und/oder schreibend zuzugreifen. Dabei werden sowohl digitale als auch ana- loge I/Os unterstützt. Um auf die Objekte zugreifen zu können, müssen diese Objekte vorher über die Projek- teinstellungen konfiguriert werden. Control Die Control-Extension bietet spezielle Funktionen, um den Programmablauf zu beeinflussen. Loops Die Loops-Extension bietet Kontrollstrukturen wie Schleifen, um definierte Wiederholungen einer bestimmten Programmsequenz zu realisieren. Logic Die Logic-Extension bietet Kontrollstrukturen zu Ver- gleichsoperationen, um z.B. zu prüfen, ob Zustand A oder B erreicht wurde, um individuell im Programmver- lauf darauf zu reagieren. Variables Die Variables-Extension dient zum Anlegen von Variablen und bietet weitere Funktionen, um diese Variablen im Programmverlauf zu verwenden. Math Die Math-Extension bietet Bausteine zur Realisierung einfachster mathematischer Operationen. Datalayer Die Datalayer-Extension bietet Funktionen zum schreib- enden und lesenden Zugriff auf Data Layer-Endpunkte der ctrlX AUTOMATION. Advanced Extensions Functions Die Functions-Extension ermöglicht es, im Editor eigene Funktionen zu definieren. Diese Funktionen können im Ablauf mehrfach aufgerufen werden, um Code-Dop- plungen zu vermeiden. Arrays Die Arrays-Extension stellt Basisfunktionen im Umgang mit Feldern zur Verfügung. Text Die Text-Extension stellt Basisfunktionen im Umgang mit Texten zur Verfügung. Low Motion Die Low Motion-Extension beinhaltet alle auf der ctrlX CORE bereitgestellten Basisfunktionen. Diese Funkti- onen nutzen die Steuerungsfunktionalität in nativer Art und Weise. Es werden keine Komfortfunktionen unter- stützt, so dass eine selbstimplementierte Zustandsüber- wachung nötig ist. Tools Die Tools-Extension stellt Grundfunktionen zum Erzeugen und Lesen eines JSON-Objekts bereit. Console Die Console-Extension bietet Basis Logging-Funktionen, um z.B. Statusmeldungen während des Programma- blaufs auszugeben. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 27 / 62 Code Editor 9.3.3 Unterstützte Editoren Zum Erzeugen von Programmabläufen bietet die Visual Coding-Software ver- schiedene Möglichkeiten. Es werden drei Editoren unterstützt, die parallel zum Erstellen oder Bearbeiten von Projekten genutzt werden können: ● Visuell (grafische Blöcke) ● Python (textuell) ● JavaScript (textuell) Während der Bearbeitung kann über die Editorumschaltung der Kopfzeile jeder- zeit zwischen den Sprachdarstellungen gewechselt werden. So ist es möglich, dass Mitarbeiter A ein Programm in Python entwickelt und Mitarbeiter B ändert es später im visuellen Editor, weil Mitarbeiter B womöglich die Programmier- sprache JavaScript nicht beherrscht. In allen Varianten kann aus der Seiten- leiste der Bibliothek eine Funktion per Drag & Drop in den Editorbereich gezogen werden. In den textuellen Code-Editoren werden die gängigsten Funktionen wie Syntax- Hervorhebung, Autovervollständigung, Syntaxfehler (Linting), usw. unterstützt. Syntaktische Fehler werden direkt hervorgehoben. Wenn die Darstellung umge- schaltet werden soll, solange ein Fehler ansteht, wird der Anwender darauf hin- gewiesen. Es besteht die Möglichkeit, die getätigten Änderungen zu verwerfen oder die Syntaxfehler zu beheben. Abb. 7: Fehlermeldung bei Umschaltung der Darstellung 9.3.4 Datei-Handling Die Visual Coding-Software bietet eine Vielzahl an Möglichkeiten, das erstellte Programm zu verwalten. Bevor ein Projekt auf der Steuerung ausgeführt werden kann, wird es durch den internen Compiler übersetzt. Die übersetzte Datei wird in ein Format über- tragen, welches auf der Steuerung ausführbar ist. Dabei werden alle relevanten Abhängigkeiten in die kompilierte Datei integriert und auf dem Zielsystem abge- legt. R911410624, Ausgabe 02 Bosch Rexroth AG
28 / 62 IDE App Code Editor Abb. 8: Bereitstellung Projekt Deploy - Browser Visual Coding bietet die Möglichkeit, das im Editor erstellte Programm zu kom- pilieren und über den Browser auf den eigenen PC herunterzuladen. Dabei kann ein individueller Dateiname für das erstellte Python-Skript vergeben werden. Das erzeugte Skript kann so auch außerhalb der Visual Coding-Software ver- wendet oder gespeichert werden. Ein auf diese Weise erzeugtes Skript kann nicht wieder in die grafische Pro- grammierung importiert werden. Es ist eine Kopie des zu diesem Zeitpunkt gültigen Visual Coding-Projekts, das dem dazugehörigen Binärformat entspricht. Deploy - Target Um erstellte Programme unabhängig von Visual Coding verwalten zu können, kann ein Projekt kompiliert und als Python-Skript im Dateisystem des Zielsys- tems abgelegt werden. Hier kann ein individueller Name für das Python-Skript vergeben werden. Es wird anschließend unter /skripts/Bosch/TIGER/UserSpeci- ficName.py abgelegt. Ein auf diese Weise erzeugtes Skript kann nicht wieder in die grafische Pro- grammierung integriert werden. Es ist eine Kopie des zu diesem Zeitpunkt gültigen Visual Coding-Projekts, das dem dazugehörigen Binärformat entspricht. Soll das Projekt aus Visual Coding heraus ausgeführt werden, wird der vorher beschriebene Mechanismus bezüg- lich UUID angewandt und ein weiteres Skript im Dateisystem abgelegt. Deploy - TC (Textual Coding) Dies öffnet das aktuelle Python-Skript unter der UUID des Visual Coding-Pro- jekts und zeigt es im Textual Coding-Editor an. 9.3.5 Skript starten Die Schaltfläche "Start" wird angezeigt, sobald der Kompiliervorgang abge- schlossen ist. Kann der Kompiliervorgang nicht abgeschlossen werden (Schaltfläche "Start" wird nicht angezeigt), liegt womöglich ein Syntax-Fehler vor. Wechseln Sie zur besseren Analyse in den JavaScript-Editor, um eine detail- lierter Diagnose zu erhalten. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 29 / 62 Code Editor Ein erstelltes Projekt kann über die Schaltfläche "Start" auf dem Zielsystem ausgeführt werden. Für den Aufruf aus Visual Coding heraus, wird für diese Datei automatisiert ein Name vergeben, basierend auf einer UUID. Das erzeugte Python-Skript wird auf der ctrlX CORE unter dem Pfad /skripts/Bosch/TIGER/ UUID.py in der Active Solution gespeichert und unter Verwendung des Skript- Managers und der Python App zur Ausführung gebracht. Die angelegte Skriptin- stanz erhält den gleichen Namen wie die Datei selbst, um eine definierte Zuord- nung zu ermöglichen. Die UUID wird verwendet, um automatisch einen eindeutigen Namen zu ver- geben, der es ermöglicht das Python-Skript im Dateisystem erzeugen zu können und eine eindeutige Zuordnung im System sicherstellt. Live-Ansicht Die Live-Ansicht wird automatisch gestartet sobald ein Projekt in der Abarbei- tung ist. Diese Ansicht dient dazu, den Programmfortschritt des aktiven Projekts zu zeigen, wenn sich das Projekt in der Abarbeitung befindet oder Konsolenaus- gaben anzuzeigen, wenn die Konsolenausgaben im Programmverlauf verwendet werden. 9.3.6 Skript stoppen Die Schaltfläche "Stopp" führt dazu, dass ein sich in der Bearbeitung befindli- ches Skript beendet wird. Die zugehörige Skript-Instanz wird beendet und alle relevanten Ressourcen werden freigegeben. Die Live-Ansicht wird geschlossen und die Editoransicht wird geöffnet. 9.3.7 Skript debuggen Die Visual Coding-Software bietet einen integrierten Debugger. Dieser kann in jeder Quellcode-Darstellung (Blocks, Python, JavaScript) verwendet werden. Bei der Verwendung dieser Funktion wird der aktuelle Arbeitsstand des Pro- jekts übersetzt, im Dateisystem abgelegt und zur Ausführung gebracht. Beim Starten des Skripts wird eine Debug-Verbindung aufgebaut, die eine Überwa- chung und Einzelschrittbearbeitung des Quellcodes ermöglicht. Die Editor- Ansicht wechselt automatisch in die Debug-Ansicht, nachdem die Verbindung vom Webbrowser zur Laufzeitumgebung hergestellt wurde. Die Bearbeitung stoppt auf der ersten Zeile der aktiven Quellcode-Darstellung. Das hervorheben der aktiven Zeile kann eine kurze Zeit in Anspruch nehmen. R911410624, Ausgabe 02 Bosch Rexroth AG
30 / 62 IDE App Code Editor Abb. 9: Debug-Ansicht Haltepunkt In der Debug-Ansicht können in jeder Programmzeile Haltepunkte gesetzt werden, die die Abarbeitung des Programms bei Erreichen unterbrechen. Durch Markieren des entsprechenden Steuerelements auf der linken Seite des Editors kann ein Haltepunkt aktiviert (roter Kreis) oder deaktiviert (durchsichtiger Kreis) werden. Variablen-Watch Zur Analyse werden in der linken Seitenleiste alle Variablen des Programms angezeigt, während die Programmabarbeitung unterbrochen ist (durch einen aktiven Breakpoint oder beim Starten des Debuggers). Damit ist es möglich zu jedem Zeitpunkt die Variablenwerte zu prüfen, um ein mögliches Fehlverhalten zu untersuchen. Einzelschritt Die Einzelschritt-Funktion bietet die Möglichkeit, nachdem der Programmablauf angehalten wurde (durch einen aktiven Breakpoint oder beim Starten des Debuggers) eine Programmzeile abzuarbeiten und bei der nächsten Programm- zeile zu stoppen. So können Programme zielgerichtet untersucht und Zustände von Variablen zum Abarbeitungszeitpunkt geprüft werden. Run Run setzt die automatische Abarbeitung des Programmablaufs fort, bis die Abarbeitung durch einen Breakpoint wieder unterbrochen wird. Während der Programmabarbeitung werden Variablenzustände aktualisiert. 9.3.8 Anhängen an aktives Skript Die Visual Coding-Software ermöglicht es, sich an ein laufendes Skript zu hängen und die Debug-Möglichkeit zu nutzen. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 31 / 62 Projekteinstellungen Abb. 10: Schaltfläche "Attach" Damit dies möglich ist, muss in den Projekteinstellungen die Funktion "Attach" vor der Erstellung (Compile) des Skripts aktiv sein. Nur dann wird der relevante Laufzeit-Code erzeugt, damit die Erweiterung genutzt werden kann. Das Akti- vieren dieser Funktion erhöht die Laufzeit des Skripts, da zusätzlicher Code durchlaufen werden muss. Beim "Attach" auf ein laufendes Skript wird nachträglich eine Debug-Verbin- dung zum laufenden Prozess aufgebaut. Da das Skript zu diesem Zeitpunkt abgearbeitet wird, unterbricht der Debugger das Programm nicht. Erst nachdem ein Haltepunkt gesetzt wurde und die Programmbearbeitung auf diesen Haltepunkt aufläuft, wird das Programm unterbrochen. Das Programm kann mit den folgenden Methoden untersucht werden: ● Breakpoint ● Variablen-Watch ● Einzelschritt ● Run Über die Schaltfläche "Exit Debug" in der oberen rechten Ecke kann der Debug- Modus wieder verlassen werden. Nach Verlassen des Debuggings wird das Skript automatisch in den Bearbeitungsmodus geschaltet. 9.4 Projekteinstellungen 9.4.1 Einführung und Übersicht In diesem Bereich können für jedes einzelne Projekt individuelle Einstellungen und Konfigurationen vorgenommen werden. Diese Einstellungen wirken sich nur auf das aktive Projekt aus und müssen gegebenenfalls für weitere Projekte erneut durchgeführt werden. Die Projekteinstellungen können über die Schaltfläche in der oberen linken Ecke geöffnet werden. Abb. 11: Projekteinstellungen R911410624, Ausgabe 02 Bosch Rexroth AG
32 / 62 IDE App Projekteinstellungen 9.4.2 Allgemeine Projekteinstellungen Abb. 12: Allgemeine Projekteinstellungen Name Beschreibt den Klartextnamen, unter dem das Projekt in Visual Coding ver- waltet wird. Dieser Name muss nicht eindeutig sein und kann frei gewählt werden. Tracing Mit diesem Schalter ist es möglich, ein Tracing des Programmfortschritts zu aktivieren. Hierfür wird während der Programmausführung eine Kommunikati- onsversbindung aufgebaut, die den Programmfortschritt an den verbundenen Webbrowser sendet. Somit kann in der Live-Anzeige eines Projekts der Pro- grammfortschritt überwacht werden. Nachdem dieser Schalter aktiviert oder deaktiviert wurde, muss das Programm einmal neu kompiliert werden, um den gewünschten Zustand im Programmcode zu aktivieren. Diese Funktion führt zu einer Erhöhung der Codelaufzeit, da zusätzlicher Pro- grammcode durchlaufen werden muss, um die relevanten Informationen an den Browser schicken zu können. Des Weiteren handelt es sich dabei um keine Echtzeitkommunikation, was bedeutet, dass die Anzeige (insbesondere bei atomaren Programmaufrufen wie Schleifen oder Bedingungen) nicht der tat- sächlich aktiven Programmzeile entspricht. Durch Deaktivieren der Funktion wird dieser Programmcode initial nicht hinzugefügt. Attach Debug Dieser Schalter ermöglicht es, eine nachträgliche Debug-Verbindung zu einem laufenden Programm aufzubauen. Hierfür wird initial automatisch Programm- code hinzugefügt, der die Debug-Verbindung nachträglich ermöglicht. Nachdem dieser Schalter aktiviert oder deaktiviert wurde, muss das Programm einmal neu kompiliert werden, um den gewünschten Zustand im Programmcode zu aktivieren. Diese Funktion führt zu einer Erhöhung der Programmlaufzeit, da zusätzlicher Programmcode vorhanden ist. Durch Deaktivieren der Funktion wird dieser Pro- grammcode initial nicht hinzugefügt. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 33 / 62 Projekteinstellungen 9.4.3 Extension Konfiguration und Initialisierung Abb. 13: Extension Konfiguration und Initialisierung In Visual Coding wird die Funktionalität in Form von Extensions beschrieben. Diese Extensions dienen der individuellen Ausgestaltung der Projektfunktiona- lität. Extensions können den Zugriff auf externe Objekte ermöglichen. Diese können z.B. Achs- oder Kinematik-Objekte sein, aber auch Variablen zur Inter- prozesskommunikation mit einer parallellaufenden SPS-Applikation. Damit auf diese Objekte zugegriffen werden kann, müssen die gewünschten Ressourcen in einem Projekt konfiguriert werden. Um das Zielsystem in einen Zustand zu bringen, der es ermöglicht das erstellte Skript inkl. der aktiven Konfiguration abzuarbeiten, kann eine Extension eine individuelle Konfigurationssequenz bereitstellen. Die Konfigurationen können einzeln oder alle auf einmal (sequen- ziell) ausgeführt werden. Die Projekt- bzw. Extension-Konfigurationen werden kontinuierlich überwacht. Wird eine Änderung der Konfiguration erkannt, wird nach dem Speichern auto- matisch darauf hingewiesen, dass eine Initialisierung erforderlich ist, um sicher- zustellen, dass das Zielsystem in den richtigen Zustand überführt wird. Motion-Extension Für die Motion-Bibliothek können verschiedene Objekte konfiguriert werden. Dabei handelt es sich um: ● Achse ● Kinematik ● Punkte Für jeden dieser Objekte steht eine eigene Konfiguration zur Verfügung und muss vor der Verwendung durchgeführt werden. Achse Um ein Achs-Objekt anzulegen, besteht die Möglichkeit ein neues Objekt zu generieren oder auf z.B. vorher auf dem Zielsystem erstellte Objekte zuzu- greifen. Neues Achs-Objekt anlegen Drücken der Schaltfläche öffnet den Dialog, in dem eine neue Achse konfigu- riert werden kann. R911410624, Ausgabe 02 Bosch Rexroth AG
34 / 62 IDE App Projekteinstellungen Abb. 14: Neues Achs-Objekt anlegen ID Name in Visual Coding-Editor Adress Name und Darstellung auf dem Zielsystem Einschränkungen des Zielsystems bei der Namensvergabe beachten Limits Grenzwerte für die zu erstellende Achse Axis params Beschreibt die Orientierung einer Achse im Raum Nur intern parent Nur intern Vorhandenes Objekt importieren Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 35 / 62 Projekteinstellungen Um auf vorhandene Objekte des Zielsystems zugreifen zu können, ist es mög- lich via Lookup, Objekte zu importieren. Durch Drücken der Schaltfläche werden die auf dem System vorhandenen Achsen angezeigt und können im Drop Down Menü ausgewählt werden. Durch Auswahl und bestätigen werden alle relevanten Elemente importiert und in der Übersicht angezeigt. Abb. 15: Vorhandenes Objekt importieren Kinematik Um ein Kinematik-Objekt anzulegen, besteht die Möglichkeit ein neues Objekt zu generieren oder auf z.B. vorher auf dem Zielsystem erstellte Objekte zuzu- greifen. Neues Kinematik-Objekt anlegen Drücken der Schaltfläche öffnet den Dialog, in dem eine neue Kinematik kon- figuriert werden kann. Abb. 16: Neues Kinematik Objekt anlegen R911410624, Ausgabe 02 Bosch Rexroth AG
36 / 62 IDE App Projekteinstellungen Abb. 17: Konfiguration des Kinematik-Objekts ID Name in Visual Coding-Editor Adress Name und Darstellung auf dem Zielsystem Einschränkungen des Zielsystems bei der Namensvergabe beachten Achse hinzufügen In diesem Dialog können der Kinematik vorhandene Achsen hinzugefügt werden. Diese müssen vorher über die Dialoge der Achskonfiguration konfiguriert werden Achse auswählen Im Dropdown-Menü können die vorher definierten Achsen ausgewählt und der Kinematik hinzugefügt werden Achse Achse anhand der ID auswählen Drop Down zeigt alle im Projekt verfügbaren Achsen an Direction Richtung auswählen ● Positiv ● Negativ Meaning Orientierung ● X ● Y ● Z ● A ● B ● C Kinematik-Objekt importieren Um auf vorhandene Objekte des Zielsystems zugreifen zu können, ist es mög- lich via Lookup Objekte zu importieren. Im aufgerufenen Dialog werden alle verfügbaren Kinematiken angezeigt. Durch Auswahl und Bestätigen werden alle relevanten Elemente importiert und in der Übersicht angezeigt. Motion-Extension initialisieren Für Achsen und Kinematiken wird eine Initialisierungsroutine unterstützt. Diese Initialisierungsroutine prüft den Zustand der angelegten Objekte und überführt diese Objekte in einen definierten Zustand. Das bedeutet: Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 37 / 62 Projekteinstellungen ● Sind Objekte auf dem Zielsystem noch nicht vorhanden, werden diese Objekte angelegt ● Liegen Fehler an einem oder mehreren Objekten an, werden diese Objekte gelöscht ● Befindet sich das Zielsystem nicht im Betriebsmodus, wird dieser Modus umgeschaltet I/O-Extension Mit Visual Coding kann auf Ein- und Ausgangsmodule des Zielsystems zuge- griffen werden. Um lesend oder schreibend auf die richtigen Elemente zuzu- greifen, müssen diese Elemente in den Projekteinstellungen konfiguriert werden. In der Konfiguration kann einem Ein-/Ausgang ein Klartextname zuge- wiesen werden, um einen eindeutigen Bezug herstellen zu können. I/O-Objekt anlegen Über die Schaltfläche öffnet sich der Dialog zur Definition eines I/Os als Zugriffspunkt im Visual Coding-Editor. Abb. 18: I/O-Objekt anlegen ID Klartextname zur Verwendung in Visual Coding Adress Name und Adresse auf dem Zielsystem, z.B. Darstellung eines Ein-/Ausgangs als Endpunkt auf dem Data Layer Type DIGITAL_IN = Lesender Zugriff auf einen digitalen Eingang DIGITAL_IO = Lesender und schreibender Zugriff auf einen digitalen Ausgang ANALOG_IN = Lesender Zugriff auf einen analogen Eingang ANALOG_IO = Lesender und schreibender Zugriff auf einen analogen Ausgang I/O-Objekt importieren Um auf vorhandene Objekte des Zielsystems zugreifen zu können, ist es mög- lich via Lookup Objekte zu importieren. Durch Drücken des Buttons werden die auf dem System vorhandenen I/O-Endpunkte angezeigt und können über den angebotenen Browse-Dialog dem Projekt hinzugefügt werden. R911410624, Ausgabe 02 Bosch Rexroth AG
38 / 62 IDE App Projekteinstellungen Abb. 19: Anzeige der vorhandenen I/O-Endpunkte IPC (Inter Process Communication)-Extension IPC-Variablen können dazu verwendet werden, um während der Code-Abarbei- tung Daten zwischen zwei Prozessen auszutauschen, z.B. zwischen einem SPS- Laufzeitsystem und dem abzuarbeitenden Prozess. Drücken der Schaltfläche öffnet den Dialog, in dem eine neue IPC-Variable konfiguriert werden kann. Abb. 20: Neue IPC-Variable anlegen Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 39 / 62 Projekteinstellungen Abb. 21: Konfiguration der IPC-Variablen ID Name der SPS-Applikation im Visual Coding-Projekt Address Name der SPS-Applikation auf dem Zielsystem Symbols Liste der verfügbaren Symbolvariablen der SPS-Applika- tion Symbols - ID Name im Visual Coding-Editor Symbols - Address Name und Adresse auf dem Zielsystem, z.B. Darstellung eines Ein-/Ausgangs als Endpunkt auf dem Data Layer von ctrlX AUTOMATION vType Darstellung Datentyp auf dem Data Layer von ctrlX AUTOMATION IPC-Objekt importieren Um auf vorhandene Objekte des Zielsystems zugreifen zu können, ist es mög- lich via Lookup Objekte zu importieren. Durch Drücken des Buttons werden die auf dem System vorhandenen SPS-Applikationen angezeigt. Nach Auswahl einer Applikation werden alle via Symbolkonfiguration gemappten Variablen importiert. Abb. 22: Lookup - Vorhandene Objekte importieren Die Auswahl kann nach Bedarf angepasst werden, in dem die Konfiguration auf- gerufen wird und nicht benötigte Elemente gelöscht werden. Durch Drücken der Schaltfläche öffnet sich die Projektkonfiguration. Hier kann die Einstel- lung für diese Konfiguration nachträglich angepasst werden. Folgende Änderungen können durchgeführt werden: ● Löschen von Einträge ● Bearbeitung von Einträgen (z.B. Vergabe einer neuen ID) ● Ergänzung von Vtype R911410624, Ausgabe 02 Bosch Rexroth AG
40 / 62 IDE App Projekteinstellungen Es werden derzeit nur Variablen unterstützt, die in der Symbolkonfiguration einer SPS-Applikation abgelegt sind. Es werden derzeit nur automatisiert die folgenden SPS-Datentypen unterstützt: − BOOL − LREAL (floating point) − LINT − STRING Für alle anderen Datentypen muss Vtype in der Konfiguration so angepasst werden, dass Vtype der Darstellung des Datentyps auf dem Data Layer ent- spricht. Dies muss manuell geprüft und eingetragen werden. Wird dies nicht berücksichtigt, kann die Variable nicht korrekt gelesen/geschrieben werden und es kommt zu einem Laufzeitfehler, dass der Datentyp nicht korrekt ist. MQTT-Extension Die MQTT-Extension stellt die Grundfunktionen bereit, um Nachrichten über das MQTT-Protokoll an einen MQTT-Broker zu versenden. Über die Schaltfläche öffnet sich der Dialog zur Definition eines MQTT-Bro- kers, mit dem Daten ausgetauscht werden sollen. Abb. 23: Definition eines MQTT-Brokers ID Name des Client im Visual Coding-Projekt Url Adresse des MQTT-Brokers Port Port, über den die Telegramme verschickt/empfangen werden Encrypted Verschlüsselung aktiv (Ja/Nein) Über die Umgebungsvariable http_proxy kann ein Proxyserver gesetzt werden, um den Zugang zum Internet zu ermöglichen. REST-Extension Die REST-Extension stellt Funktionen bereit, um REST-Nachrichten über das HTTP-Protokoll zu verschicken. Über die Schaltfläche öffnet sich der Dialog zur Definition eines REST- Clients, mit dem Anfragen verschickt werden können. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 41 / 62 Live-Anzeige Abb. 24: Definition eines REST-Clients ID Name des Client im Visual Coding-Projekt Api Url Präfix-URL für jede REST-Anfrage, URL muss voll qualifiziert sein Token Session Token des aktuellen Users, unter dem die Anfragen bearbeitet werden sollen Hinweis: Die Token-Gültigkeit läuft nach einer Zeit "X" aus 9.4.4 Drucken Ermöglicht den sequenziellen Verlauf eines Projekts zu Dokumentationszwe- cken zu drucken. 9.4.5 Projekt speichern Exportiert ein Projekt mit all seinen Abhängigkeiten im *.png-Format. Dieses Projekt kann jederzeit über die Import-Funktion auf der Einstiegsseite importiert werden. 9.4.6 Projekt löschen Löscht das Projekt aus dem Browser-Cache und vom Zielsystem. Dabei werden nur die Projektdaten des Visual Coding-Editors entfernt. Vorher generierte Skript-Dateien bleiben auf dem Zielsystem erhalten. 9.5 Hilfe Aufruf der integrierten Hilfe-Funktion. Es können zusätzliche Informationen zum Produkt und einzelnen Funktionen eingesehen werden. 9.6 Live-Anzeige Die Live-Anzeige wird dazu verwendet, Daten aus dem Steuerungssystem aus- zulesen und in der Oberfläche anzuzeigen. Wird ein Projekt geöffnet, dass gerade in einer aktiven Python-Instanz abgearbeitet wird, wird automatisch die Live-Anzeige geöffnet. Dies verhindert, dass das Programm geändert wird und die hervorzuhebenden Zeilen nicht mehr angezeigt werden können. R911410624, Ausgabe 02 Bosch Rexroth AG
42 / 62 IDE App Programm erstellen Programmfortschritt Die Visual Coding-Software kann den aktuellen Programmfortschritt auslesen und anzeigen. Die aktive Ansicht (Block/Python/JavaScript) wird angezeigt und die aktive Programmzeile hervorgehoben. Die Funktion muss in den Projekteinstellungen aktiv gestellt sein. Sie führt zu einer Erhöhung der Code-Laufzeit, da zusätzlicher Programmcode durchlaufen werden muss, um die relevanten Informationen an den Browser schicken zu können. Des Weiteren handelt es sich dabei um keine Echtzeitkommunikation, was bedeutet, dass die Anzeige (insbesondere bei atomaren Programmaufrufen wie Schleifen oder Bedingungen) nicht der tatsächlich aktiven Programmzeile entspricht. Durch Deaktivieren der Funktion wird dieser Programmcode initial nicht hinzugefügt. Ist die Funktion in den Projekteinstellungen deaktiviert, wird die gültige Projektdarstellung angezeigt. Prozessinformationen In den Prozessinformationen werden Daten zum aktiven Python-Prozess ange- zeigt: ● Prozess-ID ● CPU-Auslastung ● Speicherverbrauch (in Byte) ● Dauer, seitdem der Prozess gestartet wurde Diese Informationen erhöhen die Diagnosefähigkeiten für den aktiven Python- Prozess. Console Die Console-Log-Anzeige dient der Ausgabe von Logging-Informationen, die vorher in der Programmsequenz programmiert worden sind. Die Informationen können dazu verwendet werden, um z.B. Debug-Ausgaben im Programmverlauf auszugeben. 9.7 Programm erstellen In Visual Coding können Programme in verschiedenen Darstellungen erstellt werden. In der Blockdarstellung können vorkonfektionierte Blöcke aus den Extension- Bibliotheken via Drag & Drop in den Editor-Bereich gezogen werden. Anschlie- ßend kann die Funktionalität über die Konfiguration von Parameterfeldern ange- passt werden. Die bereitgestellten Funktionen können als Programmsequenzen aneinandergereiht werden. In den Darstellungen Python und JavaScript können die Funktionen ebenfalls aus der Extension-Bibliothek eingefügt werden. Zusätzlich unterstützt der integ- rierte Linter bei der Erstellung der Programme und weist auf Syntaxfehler hin. Durch die Autovervollständigung kann schnell und toolunterstützt programmiert werden. Dies führt zu einer Reduzierung der Programmierfehler während der Programmierung. Während der Programmierung kann jederzeit zwischen den Darstellungen umgeschaltet werden, um die Vorzugsumgebung jedes Projektmitglieds zu unterstützen. Eine Umschaltung der Darstellung ist nur ohne Syntaxfehler möglich. Ist die Programmerstellung abgeschlossen, kann die Übersetzung mittels der Schaltfläche "Compile" in der unteren linken Ecke durchgeführt werden. Anschließend kann das für das Zielsystem erstellte Programm in der Laufzei- tumgebung der Steuerung ausgeführt werden. Bosch Rexroth AG R911410624, Ausgabe 02
IDE App 43 / 62 Motion- und Data Layer-Integration 10 Textual Coding 10.1 Einführung und Übersicht Der Textual Coding-Editor bietet eine native Entwicklungsumgebung und stellt alle nötigen Werkzeuge zum Erstellen von Python-Skripten bereit. Durch die vollständig integrierte Lösung können auf der ctrlX AUTOMATION auch kom- plexe Projekte erstellt und bearbeitet werden. Für folgende Programmiersprache wird der gesamte Funktionsumfang der Ent- wicklungsumgebung unterstützt: ● Python Dazu zählen Syntax-Hervorhebung, Autovervollständigung, Linting und Debug- ging. Für folgende Sprachen wird eine farbliche Hervorhebung der Syntax unter- stützt: ● JSON ● CSS ● HTML ● C++ ● HTML ● JavaScript ● Make ● Markdown ● Shellskript ● TypeScript ● XML ● YAML 10.2 Motion- und Data Layer-Integration Mit der Textual Coding-Software kann auf BuildIn-Funktionen der ctrlX Motion und Data Layer Komponente zugegriffen werden. Zur Nutzung der BuildIn-Funktionen muss der Python-Snap der ctrlX AUTOMA- TION installiert sein. Um auf die Funktionen in einem eigenen Skript zugreifen zu können, müssen die jeweiligen Komponenten in das Python-Skript importiert werden. Hierfür muss die Funktion "import" von Python verwendet werden. Beispiel from ctrlpy import motion from ctrlxpy import datalayer Abb. 25: Funktion "import" von Python R911410624, Ausgabe 02 Bosch Rexroth AG
44 / 62 IDE App Aufbau Die Python-Module für Motion und Data Layer liefern eine integrierte Funktions- beschreibung. Für genauere Implementierungshinweise der einzelnen Funktionsaufrufe ver- wenden Sie die Funktionsreferenz der Python App. 10.3 Aufbau Der Editorbereich ist aus verschiedenen Komponenten aufgebaut. Abb. 26: ctrlX_CORE_MANUAL_IDE_textual_coding_structure_EditorOverview 1 Kopfzeile 2 Schnellstartleiste 3 Ausgabebereich: Liste verschiedener Ausgabefenster, wie Terminal oder Konsole 4 Outline zur Anzeige aller Objekte im aktiven Editorfenster 5 Editor: Zeigt in Registerkarte "Ansicht" alle aktiven Editorfenster Kopfzeile Die Kopfzeile besteht aus folgenden Komponenten: ● File: Einstellungen auf Dateiebene ● Edit: Editierkommandos, z.B. Copy & Paste ● Selection: Kommandos für Auswahlbereich ● View: Anzeigeoptionen ● Go: Navigation ● Run: Debug-Interaktionen ● Terminal: Interaktion mit integriertem Terminal ● Help: Hilfe-Bereich Schnellstartleiste Die Schnellstartleiste besteht aus folgenden Komponenten: ● Explorer-Ansicht: Bosch Rexroth AG R911410624, Ausgabe 02
Sie können auch lesen