IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth

Die Seite wird erstellt Milo Jansen
 
WEITER LESEN
IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
Anwendungsbeschreibung

IDE App

Integrated Development Environment

 R911410624, Ausgabe 02
IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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 Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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
IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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 Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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 Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
6 / 62 IDE App

Bosch Rexroth AG R911410624, Ausgabe 02
IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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
IDE App Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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 Integrated Development Environment - Anwendungsbeschreibung - Bosch Rexroth
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