Seite 2 von 2

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 16 Mär 2020, 11:46
von jomifa
Hallo Stefan,
dein o.g. Beispiel für eine Motorensteuerung läuft prima. Wenn ich die Universaleingänge I1-I8 nutzen möchte, weiss ich nicht, wie ich diese ansprechen kann. Wie müsste das dazu notwendige Unterprogramm aufgebaut sein, dass diese Eingänge abgefragt werden können? Die Zuweisungsfunktionen für die Eingänge sind ja bereits in deinem Beispielprogramm vorhanden.

Gibt es dazu irgendetwas Informationen, wie die Übertragung an den ftDuino aussehen muss?

VG
Joachim

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 17 Mär 2020, 18:01
von elektrofuzzis
Hallo Joachim,

das ist recht einfach:
input.PNG
input.PNG (28.07 KiB) 2910 mal betrachtet
Mit input_set_mode setzt Du für einen Eingang (hier I1) den angeschlossenen Schalter oder Sensortyp. Du kannst zwischen SWITCH/Schalter, RESISTANCE/Widerstandsmessung und VOLTAGE/Spannungsmessung wählen. Das entspricht letztendlich der Eingangsart beim RoboPro Universaleingangselement. Im Zweifelsfall die drei Varianten ausprobieren.

Mit input_get liest Du den Eingang aus.

Die Programmierschnittstelle ist 1:1 die gleiche wie Tills C-Interface für den ftDuino. An den einzelnen Funktionen in der Bibliothek ist auch jeweils der Kartenreiter Beschreibung mit sinnvoller Information gefüllt. Ansonsten hilft ggf. auch Tills Manual weiter.

Viel Spaß damit,

Stefan

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 18 Mär 2020, 10:51
von jomifa
Hallo Stefan,
vielen Dank für deine Info.

Ich hatte die Funktionen "input_set_mode" und "input_get" und andere vorher nicht geladen.


VG
Joachim

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 20 Mär 2020, 16:09
von jomifa
Hallo Stefan,
ich habe jetzt die Anbindung des ftDuino mit zwei Universaleingängen I1 und I2 an den TXT Controller soweit laufen. Allerdings ergeben sich ab und zu Problemsituationen in dem sich das Programm nicht vollständig beenden lässt, weil eine ftDuino Routine sich nicht beendet hat. Obwohl der Watchdog bei einem Ende des RoboPro Programms beendet werden soll, tut er das nicht zu 100%. Desgleichen läuft ab und zu noch eine der ftDuino input Routinen, die die Beendigung des RoboPro Programms verhindern. Ich verstehe nicht, warum die erste input_set_mode Routine immer noch als ausführend angezeigt wird. Sie wird doch nur beim Programmstart einmal ausgeführt. Der zweite Aufruf wird als nicht ausführend angezeigt. Kann ja eigentlich nicht sein, weil ja der erste Aufruf noch aktiv angezeigt wird. Manchmal stürzt auch das RoboPro Programm ab.

Ich habe die TXT Version 4.6.6 im Einsatz.

Die Routine PosEM ist eine Routine zur Motorensteuerung auf dem TXT Controller und hat keinen Einfluss auf die ftDuino Funktionen und umgekehrt.

Kannst du irgendeinen formalen Fehler in dem Programmablauf (Auszug) erkennen?

VG
Joachim

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 21 Mär 2020, 07:22
von elektrofuzzis
Hallo Joachim,

damit bei RoboPro sich ein Programm beendet, müssen alle "Threads" beendet sein. Für die Endlosschleife im Watchdog zu unterbrechen, gibt es eine Semaphore "ftDuino_Break". Diese wird mit dem Kommando "Break" gesetzt. Das setzt Du vor jedem Thread-Ende:
break.PNG
break.PNG (6.59 KiB) 2783 mal betrachtet
Beim Ende des Watchdog-Threads hat es natürlich keinen Effekt mehr, richtet aber auch keinen Schaden an.

Warum sich Dein Input-Kommando immer noch als "laufend" darstellt, ist mir nicht klar. Evtl. eine Nebenwirkung bei RoboPro mit dem Watchdog. Kannst Du mir mal Deinen Quelltext als PN schicken?

Gruß,

Stefan