Fehler im RoboPro Listenelement

Hier habt Ihr die Möglichkeit direkt mit dem fischertechnik Team in Kontakt zu treten
Here you have the Possibility to get in direct contact with the fischertechnik-Team

Moderator: fischertechnik Mitarbeiter

Forumsregeln
Bitte beachte die Forumsregeln!

In dieser Unterkategorie können nur fischertechnik-Mitarbeiter und Moderatoren antworten!
Antworten
hamlet
Beiträge: 332
Registriert: 12 Jan 2011, 21:41

Fehler im RoboPro Listenelement

Beitrag von hamlet » 01 Aug 2017, 17:03

Hallo ft,
Im Offline-Betrieb werden von Listenelementen ausgegebene negative Ganzzahl-Werte nicht von allen Operatoren korrekt weiterverarbeitet. Der Fehler tritt mit RoboPro 4.2.4 sowohl auf dem TXT als auch dem TX auf. Im Online-Betrieb tritt das Problem nicht auf.

Das verlinkte Testprogramm reproduziert den Fehler (offline).

Im Online-Betrieb des Testprogramms zeigen die Ausgaben im Hex-Format bei den negativen Listenausgaben ein 32 Bit breites Zweierkomplement. Werden Integer Werte intern als 32 Bit abgelegt? Ist evtl. der Cast runter auf die RoboPro-üblichen 16 Bit fehlerhaft?

Als Workaround kann man in bestehenden Programmen einen einfachen "*1" oder "+0" Operator o.ä. zwischen Listenausgang und Empfänger des Wertes einfügen.

Bitte möglichst bald fixen oder besser noch RoboPro auf zeitgemäße 32-Bit Integer umstellen. Intern scheint das ja schon geschehen zu sein.

Beste Grüße,
Helmut

AlexanderSteiger ft
fischertechnik Mitarbeiter
Beiträge: 27
Registriert: 09 Aug 2017, 08:39

Re: Fehler im RoboPro Listenelement

Beitrag von AlexanderSteiger ft » 01 Sep 2017, 09:43

Hallo Helmut,

vielen Dank für das ausführliche Testprogramm und Ihre Hinweise, die uns bei der Verbesserung unserer Produkte eine sehr große Hilfe sind.

Im Offline-Betrieb sind die Anzeigeelemente auf dem TXT aus Kompatibilitätsgründen zum TX nicht so leistungsfähig, wie die Bedienelemente auf dem PC im Online Modus. Es gibt einige Unterschiede, die bei der Programmierung beachtet werden müssen.

Wie Sie schon beschrieben haben, lässt sich die Problematik mit negativen Zahlen auf dem TXT-Display im Offline Betrieb mit Ihrem Workaround lösen. Die andere Möglichkeit wäre, die Ausgabe auf dem TXT-Display mit dem Textelement-Block und in der Hilfe beschriebener Formatierung ##.### anzupassen.

Im Offline-Betrieb sind die Berechnungen auf dem TXT 32-Bit, weil diese direkt auf dem ARM-Prozessor umgesetzt sind.
In ROBOPro werden aus Kompatibilitätsgründen zum ROBO-Interface die Integer-Berechnungen mit dem Datentyp Int16 durchgeführt.

Freundliche Grüße
Alexander Steiger

Antworten