1s Taktgeber Merkerbit in TwinCat 3

rpetke

Level-1
Beiträge
32
Reaktionspunkte
0
Hallo Zusammen,
Ich suche verzeifelt einen 1s Taktgeber Merkerbit in TwinCat 3. Weisst man zufällig wie man des macht ? danke schön in voraus.
 
Hi
Ich Dachte es gibt diesen Merkerkram nur bei Siemens ?
Einfach TON mit Rückführung und pt=2s und Fertig.


Gesendet von iPhone mit Tapatalk
 
vielen dank für ihre Antworten nur jetzt bekomme ich durch TON ein saubere 1stakt? Also wenn ich gut verstanden habe einfach TON nehmen mit parameters : IN :=NOt TON_1.Q , PT:=1s , und was nehmen ich dann für Q ? könnte ich da ein F_trig da machen ?
 
Nicht so kompliziert !
Der Ton liefert dir an Q exakt einen Impuls !
Oder möchtest du zu jeder Sekunde einen Impuls von genau 1s ?



Gesendet von iPhone mit Tapatalk
 
Hi Shrimps ja genau ich möchte jede skunde einen impuls von genaus 1s haben und 1s nichts also wie ein takt eines blinkers
 
Hi
Hab ich mir fast gedacht...
Google mal nach Blinker oder nimm die Quelle aus Oscat.
Bin leider unterwegs sonst hätte ich ihn gepostet.
Der aus OSCAT ist genial kurz !


Gesendet von iPhone mit Tapatalk
 
Man könnte auch einen TON nehmen (getriggert mit: NOT eigener Q) und dahinter einen Stromstoßschalter (oder einfach XOR).

Harald
 
Hier ist er:
Du kannst den qp rauslöschen, den hatte ich mal gebraucht...
Code:
FUNCTION_BLOCK _fbBlinker
VAR_INPUT
ENQ : BOOL := TRUE;
PTH : TIME;
PTL : TIME;
END_VAR
VAR_OUTPUT
Q : BOOL;
        QP : BOOL;
END_VAR
VAR
tx: TIME;
tn: TIME;
init: BOOL;
m : BOOL;
END_VAR

(* @END_DECLARATION := '0' *)
IF enq THEN
        tx := TIME();
IF NOT init THEN init := TRUE; tn := tx; END_IF;
IF tx - tn >= SEL(Q, PTL, PTH) THEN
tn := tn + SEL(Q, PTL, PTH);
Q := NOT Q;
END_IF;
ELSE
Q := FALSE;
init := FALSE;
        QP := FALSE;
END_IF;

QP := q AND NOT m;
m := q;

END_FUNCTION_BLOCK


Gesendet von iPhone mit Tapatalk
 
Hätte diese Variante:

Code:
VAR
 T1: TON;
 Clock: BOOL;
END_VAR

T1(IN := NOT(T1.Q), PT := t#2000ms);
IF (T1.ET >=  t#1000ms) THEN
 Clock := TRUE;
ELSE
 Clock := FALSE;
END_IF;

Allerdings hätte ich lieber so etwas, nur ist der direkte Zugriff auf die Bits von .ET nicht möglich:

Code:
T1(IN := NOT(T1.Q), PT := t#2000ms);
Clock := T1.ET.11;
 
Formuliere Deine Aufgabe mit anderen Worten, dann kommt die Lösung quasi wie von allein:
"Ich brauche ein Signal, was immer nach 1 Sekunde toggled (invertiert)"

Code:
T1(IN := NOT T1.Q, PT := T#1000ms);
IF T1.Q THEN
  Clock := NOT Clock;
END_IF;
oder einfach
Code:
T1(IN := NOT T1.Q, PT := T#1000ms);
Clock := Clock XOR T1.Q;

Harald
 
Hi HI Tausend dank hat funktioniert ich habe die version von Mareka genommen weil zu einfach geschrieben wurde aber wie gesagt beide gehen danke schön nun gucke ich wie ich des mit FUP machen kann . dass Problem ist nur dass der comparator kein type time mit bool convertieren kann hummmm.
 
Hi Hi Hi Danke schön an alle es läuft. Mareka ich habe ein frage an dich wenn ich des nun dein Programm-code mit FUP schreiben möchte kriegt ich eine fäller meldung und zwar ich kann kein type Time mit Bool convertieren. also ich habe für die If bedigung T1.Et >= ein comparator gatter genommen . wie soll ich des lösen also wie könnte ich des mit Fup machen ist des überhaupt möglich ?
 
Am einfachsten wäre es du benutzt PN/DPs Logik, die lässt sich ohne weiteres in FUP übertragen.
Sorry für die Qualität des Bildes, ich nehme Screenshot mal wörtlich...


Un meinem Schnipsel überhaupt noch etwas abzugewinnen habe ich es mal mit einem veränderbaren To / Tp Verhälnis versehen. Ratio := 2 -> 1 Sekunde ein, 1 Sekunde aus. Ratio := 3 -> 666ms ein, 1333ms aus...
Anhang anzeigen 34223
 

Anhänge

  • image.jpg
    555,5 KB · Aufrufe: 46
Zuletzt bearbeitet:
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…