ich habe 4 Sensoren. Wenn die Taste 1 betätigt worden ist, bekomme ich Eingangsignal vom Sensor 1, wenn Taste 2 - vom Sensor 2 usw. Wie kann ich diese Aufgabe in FUP oder ST realisieren?
Danke schön im Voraus!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sind die Taster deine Sensoren? Oder hast du 4 Sensoren und 4 Taster, je nachdem welcher Taster gedrückt wird wird der Wert von nur einem Sensor benutzt?
Fragen über Fragen!
MfG
Marcel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ist in ST relativ einfach. Angenommen, Du packst das ganze in einen FB, dann braucht der einen Eingang für den Taster und je einen Eingang für die Sensoren. Dann braucht er noch einen Ausgang für das aktuell ausgewählte Sensorsignal.
Vom Taster musst Du die Flanke auswerten und damit einen Zähler hochzählen. Der Zählerstand wählt den betreffenden Sensor aus.
Beispiel:
FUNCTION_BLOCKSensorVAR_INPUT
 ixTaster : boolean;
 iwSensor1 : WORD;
 iwSensor2 : WORD;
 iwSensor3 : WORD;
 iwSensor4 : WORD;END_VARVAR_OUTPUT
 qwAktuellerSensor : WORD;
 qiGewaehlterSensor : INT;END_VARVAR
 Flanke : R_TRIG; (* ansteigende Flanke *)
 SensorWahl : INT :=1; (* wählt den ersten Sensor aus *)END_VAR(*Jetztgeht's los: Taster auswerten *)Flanke(CLK :=ixTaster);(*danndenZählerhochzählen, amEndezurückstellen*)IFFlanke.QTHENSensorWahl :=SensorWahl+1;
   IF(SensorWahl>4)
   THEN(*dieSensorlisteistamEnde, beginnevonvorn*)
     SensorWahl :=1;
   END_IF;END_IF;(*jetztdenausgewähltenSensoraufdenAusgangdurchschalten*)CASESensorWahlOF
 1 : (*erstenSensordurchreichen*)
   qwSensor :=iwSensor1;
 2 : (*zweitenSensordurchreichen*)
   qwSensor :=iwSensor2;
 3 : (*drittenSensordurchreichen*)
   qwSensor :=iwSensor3;
 4 : (*viertenSensordurchreichen*)
   qwSensor :=iwSensor4;END_CASE;(*JetztnochzurInformationmelden, welcherSensorausgewähltist*)qiGewaehlterSensor :=SensorWahl;
Ist nur ein Beispiel auf die Schnelle, geht vielleicht noch eleganter.
Gruss Rolf
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Matze001 hat geschrieben:
Oder hast du 4 Sensoren und 4 Taster, je nachdem welcher Taster gedrückt wird wird der Wert von nur einem Sensor benutzt?
Marcel
Das ist genau, dass ich will!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe 4 Sensoren. Wenn die Taste 1 betätigt worden ist, bekomme ich Eingangsignal vom Sensor 1, wenn Taste 2 - vom Sensor 2 usw. Wie kann ich diese Aufgabe in FUP oder ST realisieren?
Danke schön im Voraus!
Was genau willst du? Formuliere das mal genauer!
Sind die Taster deine Sensoren? Oder hast du 4 Sensoren und 4 Taster, je nachdem welcher Taster gedrückt wird wird der Wert von nur einem Sensor benutzt?
Fragen über Fragen!
MfG
Marcel
Hallo,
ist in ST relativ einfach. Angenommen, Du packst das ganze in einen FB, dann braucht der einen Eingang für den Taster und je einen Eingang für die Sensoren. Dann braucht er noch einen Ausgang für das aktuell ausgewählte Sensorsignal.
Vom Taster musst Du die Flanke auswerten und damit einen Zähler hochzählen. Der Zählerstand wählt den betreffenden Sensor aus.
Beispiel:
Ist nur ein Beispiel auf die Schnelle, geht vielleicht noch eleganter.
Gruss Rolf
Vielen Dank für die Hilfe!
Das ist genau, dass ich will!
Dann mach es folgendermaßen:
Den Taster auf eine Positive Flanke geben (R_Trig).
Mit dieser Flanke eine "vergewaltigte" Schrittkette weiterschalten.
Schritt 1 -> Sensor 1
Flanke und Schritt 1 -> Schritt 2 -> Sensor 2
Flanke und Schritt 2 -> Schritt 3 -> Sensor 3
Flanke und Schritt 3 -> Schritt 4 -> Sensor 4
Flanke und Schritt 4 -> Schritt 1 -> Sensor 1
MfG
Marcel