Sonstiges Simotion Scout structured text PT Puls geht nicht.

Jorrit

Level-1
Beiträge
19
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin moin liebe Wissenden.
Bin in Sachen Scout mehr der anfänger.
Auch ST ist jetzt nicht die Sprache meiner Wahlt aber wat mutt dat mutt.
Wollte "mal eben flink" einen PT Puls verwenden.
Leider reagiert der so gar nicht, wie ich mir das wünsche.
Die Idee an sich ist es, auf dem MP377 einen Schalter mit Rückmeldung zu betätigen.
Der Schalter soll also den IN vom PT aktivieren, das Rückmeldebit wird wiederum vom Q des PT ausgegeben.
EIGENTLICH simpel wie ich finde.

Code sieht wie folgt aus (Namen der Variablen zu Verständniszwecken mit vereinfachten Namen versehen):

Var_Global
Puls:=PT;
HMI_Schalter:=bool;
End_Var

Program
[...]

Puls(IN:=HMI_Schalter,PT:=T#2s);
OUT:=Rueckmeldung_HMI;

[...]
End_Program


Was fehlt? Was seh ich nicht oder was seh ich falch?
 
Was genau funktioniert den nicht bei Dir?
Versuch mal die Rückmeldung folgendermaßen:

INTERFACE
VAR_GLOBAL
puls:TP;
HMI_Schalter : BOOL;
HMI_Rueckmeldung : BOOL;
END_VAR
PROGRAM Test_TP;
END_INTERFACE
IMPLEMENTATION
PROGRAM Test_TP
puls(in:=HMI_Schalter,PT:=t#2s);
HMI_Rueckmeldung:=puls.Q;
END_PROGRAM
END_IMPLEMENTATION

Achja könnte auch sein das du statt PT mal TP nehmen solltest weil der FB PT exisitiert nicht ;)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ups. Leichter Dreher. Danke für die flinke Antwort. Teste ich gleich mal, sobald ich wieder an der Anlage stehe.
Stimmt, ich hätte noch sagen müssen was nicht geht.
Also wenn ich den Schalter bzw Taster drücke kommt der Q des Pulses aber fällt nicht mehr ab. Die Rückmeldung bleibt also "dauertrue".
 
Hi,

ja Q bleibt für die Dauer PT auf True (steht auch in der Funktionsbeschreibung).
Was genau willst Du den mit dem Baustein machen, eventuell hilft ja ein anderer Baustein besser?

Gruß
Christoph
 
Ja wenn Q denn nur für die Dauer die ich über "PT:=t#2s" definiere bleiben würde wäre ich froh.
Aber wenn der ein mal da ist, fällt er nicht mehr ab.
Gedacht ist dass ich über erwähnten Taster eine Berechnung starte. Das klappt soweit. Nur weiß der Kunde nicht, ob die Berechnung erfolgreich angestoßen wurde. Also wollte ich das bit nehmen, dass meine Berechnung anstößt und als Rückmeldung verwenden. Habe den Taster als Bildbaustein mit einer andersfarbigen Sichtbarkeit ausgestattet. Nur kommt das Bit zu flink. Man sieht nichts.
Also dachte ich an eine Ausschaltverzögerung, die aber bei mehrfachen Drücken (oder nennen wir es mal Tastenprellen) nicht automatisch ihre Anzeigedauer verlängern soll. Nach Recherche, bin ich also ziemlich davon überzeugt, dass der Puls goldrichtig ist. Nur irgendwie tut er nich wie ich will.
Auch mit dem vorgeschlagenen Code läufts nicht. Q geht nicht aus. Als wärs n RS Stein.
Das bit kommt jedenfalls für die dauer des Drückens. (Sofern Freigabe vorhanden. Das drücken stößt n Bit in ner Sicherheit an, die das Bit setzt dass die Berechnung startet.)
Dazu sei gesagt, dass ich nicht das drücken des Schalters als Auslöser für die Rückmeldung direkt nehmen möchte, da er auch nur leuchten soll, wenn die Berechnung auch wirklich angestoßen wurde. (Weil wegen der erwähnten Sicherheiten)

Was nu?:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann es sein, daß Du den Timer TP nur bedingt in einem IF-Zweig aufrufst?
Der Timer muß unbedingt in jedem Zyklus aufgerufen werden. Deshalb hat er auch die Startbedingung als In-Parameter.

Harald
 
Hi,

in welcher Task läuft bei Dir der TP?
Kann es áuch sein das Du durch das "Tastenprellen" den TP Baustein immer wieder startest und dadurch mit dem Q Signal nicht auf False kommest.
Das Program von mir sollte in der Background Task laufen, dann ergibt sich folgendes Bild im Trace:
Pulse.jpg
 
Zuletzt bearbeitet:
Moin.
Ja ist bisher If verzweigt.
Programmier ich mal direkt um...
Zum "Tastenprellen": Genau das soll er ja im Vergleich zum TOF nicht tun. Daher hab ich den ja gewählt. Weil dem TP das egal sein sollte. Laut Siemens Zeitdiagramm bleibt wird der nicht neu gestartet bis er zumindest vorher mal aus war.
Ich drücke ja nicht die ganze Zeit auf den Schalter.
Ich drücke und beobachte gespannt.^^
Der sollte ja von sich aus dann 2sek laufen und dann abfallen.
Aufgerufen wird der in der Background Task.
Danke jedenfalls für den Screenshot.
Ich geh dann mal jetzt flink rüber zur Maschine und progge die If raus. Melde mich sobald ich schlauer bin.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sop. War grad an der Anlage. Hab die If Bedingung weg. Keine Ahnung warum, aber nun kommt der Q gar nicht mehr...
Dieses kleine "nice to have" macht mich irre!
Das sollte doch eigentlich total simpel umzusetzen sein...
Mir fehlt es leider an Überredungsgeschick Kunden und Chef davon zu überzeugen, dass man sich den Mumpitz sparen kann -.-
Hat wer ggf für das Problem ne revolutionäre Idee? Bin bereit von meinem Pfad abzuweichen. Hauptsache der dusselige Knopf leuchtet.
 
Ok der IN war an einer anderen Stelle im Prog falsch angesteuert.
Nun läufts.
Also die von ChristophD gegebene Syntax läuft.
Der Tipp das ganze auserhalb der IF zu proggen hat den Knoten platzen lassen.
Danke an alle Helfer!
 
Zurück
Oben