Impulsgeber

patrone

Level-2
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich bin neu beim programmieren :)
Ich möchte gerne im ST einen Impulsgeber programmieren.
Ich möchte mit Schalter S1 einen Eingang schalten der soll ein Bauteile ansteuern was z.b 175 Impulse auf meinen Digitalausgang gibt.
Kann mir jemand helfen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht definierst du mal ganz genau, was du möchtest.

-Welche Steuerung?
-Welche Software wird verwendet? ( TwinCat, CoDeSys..... )

Was soll ganz genau passieren? 175 Impulse und dann..... Welche Impulsdauern ( AN/AUS )...
Wir wissen nicht was du möchtest und möchten auch nicht 20x nachfragen.
Daher ist es besser, (deinerseits) so viel wie möglich zu beschreiben.
 
Eine Möglichkeit :

Du programmierst dir einen Blinker der mit deinem S1 losblinkt.
Zeitgleich zählst du mit einem Zähler die Blinkis.
Vergleichst den Zählerstand mit deinen 175 wenn größer gleich stoppst du dein Blinker
 
Okay ich werde versuchen es deutlicher zuschreiben
Software wird TwinCAT benutzt.
Das ganze wird für ein Testsystem benötigt
Ich möchte auf einem Panel den Schalter S1 haben (Das ist kein Problem)
Wenn S1 gedrückt wird sollen am liebsten 175 Impulse auf den DA geschaltet werden
Der DA wird dann an eine andere Steuerung angeschlossen um zu testen ob die Zähler auf der anderen Steuerung funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn S1 gedrückt wird sollen am liebsten 175 Impulse auf den DA geschaltet werden
Welche Impulsdauern ( AN/AUS )...
?

Wenn S1 gedrückt wird sollen am liebsten 175 Impulse auf den DA geschaltet werden
175 Impulse und dann.....
?
 
Du bauchst 1 bis 2 Zeitgeber, die die Pulslänge und Pausenlänge erzeugen, und einen Zähler, z.B. Rückwärtszähler.
Bei steigender (oder fallender) Flanke des Digitaleingangs schreibst du in eine Zählvariable die Anzahl gewünschter Impulse, und wenn in der Variable ein Wert > 0 drin steht, erzeugt dein Programmteil die Impulse und gibt sie aus und der Rückwärts-Zähler zählt die Impulse (bis er bei 0 ankommt).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine Möglichkeit wurde dir ja bereits genannt:
Du programmierst dir einen Blinker der mit deinem S1 losblinkt.
Zeitgleich zählst du mit einem Zähler die Blinkis.
Vergleichst den Zählerstand mit deinen 175 wenn größer gleich stoppst du dein Blinker
 
ja ich würde es gerne so haben das wirklich nur die eingestellten (z.b 175) Impulse raus gehen und dann automatisch gestoppt wird.
Beim nächsten mal betätigen von S1 wieder die eingestellten Impulse anfangen.
Wahrscheinlich ist es besser den Schalter durch einen Taster zu ersetzen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine schriftliche Anleitung meiner spontanen Vorgehensweise ( kein Code, damit du es selbst versuchen kannst ):

Einen TON-Baustein initialisieren. Dessen IN mit seinem eigenem Ausgang füttern. Dessen PT deine gewünscht Pulsdauer.
Dann eine IF-Bedingung über den Ausgang des TONs. Innerhalb der Bedingung deinen digitalen Ausgang negieren.
Nun hast du schon einmal ein Rechteckimpuls an deinem Ausgang generiert.
Du möchtest das Ganze 175 mal senden.
Also alles in eine Statemachine verpacken. Diese auf Druck deines Tasters starten.
Innerhalb der vorher angesprochenen IF-Bedingung eine Variable hochzählen, wenn dein Ausgang false wird ( Sonst zählst du alle Wechsel und nicht eine Periode ). Nach der Abfrage checken, ob die Variable > deinen 175 ist und wenn ja, den State verlassen. Im letzten State dann deine Zählervariable und den Timer zurücksetzen.
Zuletzt wieder in den Ausgangsstate und auf ein neues Input deines Tasters warten.
 
Zurück
Oben