Seite 1 von 1

Initialisierung der C1-C4 inputs

Verfasst: 26 Apr 2022, 00:08
von jonas94x
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. :)

Re: Initialisierung der C1-C4 inputs

Verfasst: 26 Apr 2022, 20:10
von Torsten
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

Re: Initialisierung der C1-C4 inputs

Verfasst: 27 Apr 2022, 13:29
von jonas94x
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")

Re: Initialisierung der C1-C4 inputs

Verfasst: 27 Apr 2022, 17:55
von MasterOfGizmo
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")