Seite 1 von 1

Robo Pro für TXT2 und TXT4 - gleiche Möglichkeiten?

Verfasst: 07 Dez 2022, 14:08
von Rito
Hallo,
Ich habe mich schon sehr lange nicht mehr hier blicken lassen, doch so gegen Weihnachten bin ich am überlegen, ob ich mich selbst mit dem neuen TXT4 beschenke.

Daher wollte ich nachfragen ob man mit dieser neuen „stapelbaren“ Programmierung die gleichen Möglichkeiten hat, wie beim alten RoboPro. Mir sieht diese neue Programmiersprache irgendwie nicht flexibel genug aus. Aber vielleicht täusche ich mich. Also meine Frage: Ist der Funktionsumfang der neuen Software dem alten RoboPro mindestens ebenbürtig?

Danke schon mal im Voraus für eure Antworten

Re: Robo Pro für TXT2 und TXT4 - gleiche Möglichkeiten?

Verfasst: 07 Dez 2022, 14:31
von Cody
Hallo Rito,

RoboPro ist definitiv leistungsfähiger als Blocky. Das soll aber nicht heißen, dass man mit Blocky keine komplexeren Steuerungen realisieren kann.
Wenn du mehr Flexibilität brauchst, dann musst du beim TXT4.0 auf eine textbasierte Programmierung mit Python oder C/C++ ausweichen. Damit hast du dann aber mehr Leistung/Möglichkeiten, als der alte TXT bietet.

Gruß,
Cody

Re: Robo Pro für TXT2 und TXT4 - gleiche Möglichkeiten?

Verfasst: 07 Dez 2022, 14:48
von Rito
Ah, ok, das dachte ich mir schon.
Und zum Thema Python, gibt es Quellen oder Hilfen wie man den TXT mit Python anspricht? Oder ist das nur etwas für die Profis unter den Programmierern?

Re: Robo Pro für TXT2 und TXT4 - gleiche Möglichkeiten?

Verfasst: 07 Dez 2022, 15:15
von Cody
Nein, nur für die Profis ist es definitiv nicht. Aber ich glaube, eine offizielle Dokumentation der Pythonschnittstelle gibt es bislang nicht, aber das kann ja noch kommen. Notfalls werde ich mich in den nächsten Wochen mal daransetzten.
Allerdings ist Blocky ja ein Python-Generator, und du kannst dir natürlich den generierten Pythoncode anschauen und daraus ableiten, wie die Schnittstelle funktioniert.

Re: Robo Pro für TXT2 und TXT4 - gleiche Möglichkeiten?

Verfasst: 07 Dez 2022, 17:17
von vleeuwen
Blockly is a text generator and is limited to a limited subset of Python's capabilities.
The classic RoboPro (TXT) cannot be compared to Blockly; it is a full-fledged 4th generation language that allows the end user not to deal with low level things of a 3G language such as: Python, C++. RoboPro classic allows the end user to work with sensors and actuators at a higher abstraction level.
Both the TXT and the TXT4.0 can also be programmed directly in Python and C++. The C++ accompanying the TXT is quite well documented.
Because the end user of the TXT can also work with root access, it offers additional options to adjust the settings of, for example, the MQTT broker and the web server or to work with CIvetWeb. There is currently no root access available for the TXT4.0.
A somewhat complex program in Blockly quickly becomes unreadable and difficult to maintain. Just look at the available example program "factory-HBW".
In RoboPro coding, the possibilities to work directly with Python are limited. I myself use MS-Visual Studio code (VScode)(free) as a development environment for remote development of programs.
VScode provides both syntactic and semantic support and the code editor provides well-arranged code, including remote debugging.
In principle, remote C++ programs could also be developed with VScode, but the tool chain on the TXT4.0 does not seem to support this very well.
The REST APIs on the TXT4.0 are nice, but the REST API mechanism is too slow to develop closed loops at a reasonable speed (comparable to the TXT).
RoboPro classic was extensible using the SLI element; an analogue mechanism is currently still lacking in RoboPro coding.
=====================Google translate======================================================
Blockly ist ein Textgenerator und auf eine begrenzte Teilmenge der Fähigkeiten von Python beschränkt.
Der klassische RoboPro (TXT) ist nicht mit Blockly zu vergleichen; Es ist eine vollwertige Sprache der 4. Generation, die es dem Endbenutzer ermöglicht, sich nicht mit Dingen auf niedriger Ebene einer 3G-Sprache zu befassen, wie z. B.: Python, C++. RoboPro classic ermöglicht dem Endbenutzer, mit Sensoren und Aktoren auf einer höheren Abstraktionsebene zu arbeiten.
Sowohl der TXT als auch der TXT4.0 können auch direkt in Python und C++ programmiert werden. Das dem TXT beiliegende C++ ist recht gut dokumentiert.
Da der Endbenutzer des TXT auch mit Root-Zugriff arbeiten kann, bietet es zusätzliche Optionen, um die Einstellungen beispielsweise des MQTT-Brokers und des Webservers anzupassen oder mit CIvetWeb zu arbeiten. Für den TXT4.0 ist derzeit kein Root-Zugriff verfügbar.
Ein etwas komplexes Programm in Blockly wird schnell unlesbar und schwer zu warten. Schauen Sie sich einfach das verfügbare Beispielprogramm „factory-HBW“ an.
Bei der RoboPro-Codierung sind die Möglichkeiten, direkt mit Python zu arbeiten, begrenzt. Ich selbst verwende MS-Visual Studio Code (VScode) (kostenlos) als Entwicklungsumgebung für die Remote-Entwicklung von Programmen.
VScode bietet sowohl syntaktische als auch semantische Unterstützung und der Code-Editor bietet übersichtlichen Code, einschließlich Remote-Debugging.
Prinzipiell könnten auch entfernte C++-Programme mit VScode entwickelt werden, aber die Toolkette auf dem TXT4.0 scheint dies nicht sehr gut zu unterstützen.
Die REST-APIs auf dem TXT4.0 sind nett, aber der REST-API-Mechanismus ist zu langsam, um geschlossene Schleifen mit angemessener Geschwindigkeit zu entwickeln (vergleichbar mit dem TXT).
RoboPro Classic war mit dem SLI-Element erweiterbar; ein analoger Mechanismus fehlt derzeit noch in der RoboPro-Codierung.