Ich bin neu hier im Forum und anfänger mit Codesys .. ich arbeite auf einem Controller von Rexroth Indracontrol V .
Ich wollte eigentlich ein pulsierendes Signal erzeugen für einen aufwärtszähler der sich jeder minute um eins erhöht .
Allerdings beim durchsuchen der Bibliotheken bin ich auf der Funktionsblock BLINK gestoßen . ich weiss aber nicht wie seiner programmierung in ST aussieht und ob das überhaupt der richtige bausteine dafür ist .
Wäre nett wenn Ihr mir helfen könnt ,
Danke
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Du kanst mit dem Baustei BLINK den Minutenimpuls erzeugen.
Du brauchst aber noch einen Zähler der dir die Impule hochzählt.
nimm doch den Funktionsblock Aufwärtszähler CTU.
Erst mit BLINK die Inpulse generieren und dann mit CTU verknüpfen.
Etwa so:
VAR
test: CTU; ( Aufwärtszähler)
start: BOOL;
reset: BOOL;
sollwert: WORD;
Ausgang: BOOL;
Impulse: WORD;
test( CU:= start, ( wenn der Eingang true wird, wird der Ausgang test.cv um 1 erhöht.)
RESET:=reset , ( wenn der Eingang true wird, wird der Ausgang test.cv auf 0 gesetzt.)
PV:= sollwert); ( gibt an bei welchem Impuls der Ausgang tset.Q auf true gesetzt wird.)
Ausgang := test.Q ; (Ausgang Q von Baustein CTU)
Impulse := test.CV; (Ausgang CV vo Baustein CTU)
IF Frequenz THEN
start:=TRUE; (Starten von Baustein CTU)
ELSE Start:=FALSE; (Anhalten von Baustein CTU)
END_IF
Gruß Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Danke Thomas für den tipp , ich werde es noch ausprobieren , das sieht aber schon mal gut aus .
Allerdings vertsehe ich nicht warum du eine Zeit von 1 Sekunde für High und Low eingesetzt ?? weil so wird sich der zähler jeder sekunde um eins erhöhen ...oder meinst du etwa 1 minute ??
Danke !
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen ,
Ich bin neu hier im Forum und anfänger mit Codesys .. ich arbeite auf einem Controller von Rexroth Indracontrol V .
Ich wollte eigentlich ein pulsierendes Signal erzeugen für einen aufwärtszähler der sich jeder minute um eins erhöht .
Allerdings beim durchsuchen der Bibliotheken bin ich auf der Funktionsblock BLINK gestoßen . ich weiss aber nicht wie seiner programmierung in ST aussieht und ob das überhaupt der richtige bausteine dafür ist .
Wäre nett wenn Ihr mir helfen könnt ,
Danke
Hallo richie
Du kanst mit dem Baustei BLINK den Minutenimpuls erzeugen.
Du brauchst aber noch einen Zähler der dir die Impule hochzählt.
nimm doch den Funktionsblock Aufwärtszähler CTU.
Erst mit BLINK die Inpulse generieren und dann mit CTU verknüpfen.
Etwa so:
VAR
test: CTU; ( Aufwärtszähler)
start: BOOL;
reset: BOOL;
sollwert: WORD;
Ausgang: BOOL;
Impulse: WORD;
END_VAR
Signale( ENABLE:=Start_Signale , (Starteingang für Baustein BLINK)
TIMELOW:=t#1s , (Zeit für TIMELOW von Baustein BLINK)
TIMEHIGH:=t#1s); (Zeit für TIMEHIGH von Baustein BLINK)
Frequenz:=Signale.OUT;
test( CU:= start, ( wenn der Eingang true wird, wird der Ausgang test.cv um 1 erhöht.)
RESET:=reset , ( wenn der Eingang true wird, wird der Ausgang test.cv auf 0 gesetzt.)
PV:= sollwert); ( gibt an bei welchem Impuls der Ausgang tset.Q auf true gesetzt wird.)
Ausgang := test.Q ; (Ausgang Q von Baustein CTU)
Impulse := test.CV; (Ausgang CV vo Baustein CTU)
IF Frequenz THEN
start:=TRUE; (Starten von Baustein CTU)
ELSE Start:=FALSE; (Anhalten von Baustein CTU)
END_IF
Gruß Thomas
Danke Thomas für den tipp , ich werde es noch ausprobieren , das sieht aber schon mal gut aus .
Allerdings vertsehe ich nicht warum du eine Zeit von 1 Sekunde für High und Low eingesetzt ?? weil so wird sich der zähler jeder sekunde um eins erhöhen ...oder meinst du etwa 1 minute ??
Danke !
Hallo richie,
du kannst selbstverständlich die Zeiten für High und Low noch anpassen. In deinem Fall könnte ich mir vorstellen:
TIMELOW:=t#59s;
TIMEHIGH:=t#1s;
dann hättest du einen 1-Sekunden-Impuls, der einmal in der Minute auftritt. Du kannst ja mal ausprobieren, wie das funktioniert.
Gruß Grit
Hallo richie,
Grit hat natürlich recht.
Die Zeiten musst Du dir anpassen.
Gruß Thomas