Initialisierung der C1-C4 inputs

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
jonas94x
Beiträge: 6
Registriert: 15 Apr 2022, 16:08

Initialisierung der C1-C4 inputs

Beitrag von jonas94x » 26 Apr 2022, 00:08

Hallo zusammen,

ich würde gerne wissen, wie ich im Python Code die Inputs der C1-C4 initialisieren kann.
Z.B. Initialisiere ich den Input I1 wie folgt: ftrop.input(1) oder den Output M1 wie folgt ftrop.motor(1).

Ware super, wenn mir einer da weiterhelfen könnte. :)

Torsten
Beiträge: 313
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: Initialisierung der C1-C4 inputs

Beitrag von Torsten » 26 Apr 2022, 20:10

Hallo Jonas,

hier sind die verschiedenen Möglichkeiten, die schnellen Counter C1-C4 des TXT (oder TXT 4.0) mit ftrobopy abzufragen:

nach der Initialisierung z. B. mit

Code: Alles auswählen

import ftrobopy
ftrob = ftrobopy.ftrobopy("auto")
stehen die folgenden Funktionen zur Verfügung:

Code: Alles auswählen

ftrob.getCurrentCounterValue()
gibt ein Python array mit den aktuellen Werten aller 4 Counter zurück.

Code: Alles auswählen

ftrob.getCurrentCounterValue(1)
gibt den aktuellen Wert von C1 zurück.

Code: Alles auswählen

ftrob.getCurrentCounterInput()
gibt ein Python array zurück, das den aktuellen Zustand (geschlossen=1 oder offen=0) aller 4 Counter enthält.

Code: Alles auswählen

ftrob.getCurrentCounterInput(1)
gibt den aktuellen Zustand (geschlossen=1 oder offen=0) von C1 zurück.


Es handelt sich hier tatsächlich nur um einfache Python-Funktionen und nicht um Objekte, die zuerst instantiiert werden müssen, wie die Inputs I1-I8 oder die Outputs O1-O8, bzw. die Motoren M1-M4.

Viele Grüße
Torsten

jonas94x
Beiträge: 6
Registriert: 15 Apr 2022, 16:08

Re: Initialisierung der C1-C4 inputs

Beitrag von jonas94x » 27 Apr 2022, 13:29

Hallo Torsten,

danke für deine Nachricht :)

Wenn ich beispielsweise den Input I1 initialisiere.

Code: Alles auswählen

I1 = ftrop.input(1)
und nun möchte ich überprüfen ob beispielsweise ein Sensor unterbrochen wurde oder nicht, das mache ich ja wie folgt:

Code: Alles auswählen

if I1.state() == 0:
       print("Unterbrochen")
jetzt wäre noch meine Frage wie ich das mit den C Inputs mache. Weil so funktioniert das nicht wie folgt:

Code: Alles auswählen

C1 = ftrop.getCurrentCounterValue(1)

if C1.state() == 0:
       print("Unterbrochen")

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Initialisierung der C1-C4 inputs

Beitrag von MasterOfGizmo » 27 Apr 2022, 17:55

Probier' mal

Code: Alles auswählen

C1 = ftrop.getCurrentCounterInput(1)

if C1 == 0:
       print("Unterbrochen")
oder direkt

Code: Alles auswählen

if ftrop.getCurrentCounterInput(1) == 0:
       print("Unterbrochen")
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten