TIA Zählfunktion selbst bauen

M62Taiga

Level-2
Beiträge
72
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich habe ein etwas komplexes Problem. Ich möchte mit einer Flankenauswertung und einem Addierer einen Zähler bauen der addieren und subtrahieren kann. Den CTUD Zähler möchte ich nicht verwenden, da er für den LD Eingang z.B. eine Taste am HMI benötigt, welche ich nicht verwenden will.

Die Funktion soll die Solldrehzahl (variabler Wert) bei jedem Tastendruck um 1 erhöhen. Das bedeutet, dass die neue Solldrehzahl immer wieder überschrieben wird, aber nicht die zugeführte Solldrehzahl2. Wenn ich bei Out Solldrehzahl 2 schreibe wird die ursprüngliche Drehzahl und 1 zum Ergebnis addiert, was aber nicht sein soll.

Was fehlt in der Funktion?
 

Anhänge

  • Screenshot 2023-01-23 221742.png
    Screenshot 2023-01-23 221742.png
    27,7 KB · Aufrufe: 52
@Heinilein:

Das bringt hier nichts. Das ist alles im gleichen Baustein. Ich hatte vorgeschlagen, beim Start mit der Flanke die Solldrehzahl auf den Startwert zu setzen, danach könnte er mit den Tastern arbeiten. Da war er der Meinung dass das nicht funktioniert:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, der MOV kommt in ein separates Netzwerk, davor einen P_TRIG mit einem ODER davor: Leerlaufdrehzahl_Vorwärts / Leerlaufdrehzahl_rückwärts. Der MOV bekommt die gewünschte Startdrehzahl als Nummer am IN, am Out kommt #Solldrehzahl.
Im anderen Netzwerk hast du ja bereits dann ADD bzw, SUB mit den beiden Tastern, da kommt sowohl am einen In als auch am Out #Solldrehzahl
 
Du meinst ich soll die Solldrehzahl in der Bausteinschnittstelle des Fb als InOut Variable definieren.
Ja, das hatte ich so gemeint. Ich hatte aber eher an eine Function (FC, s.u.) als an einen Function Block (FB) gedacht Aber anscheinend geht es hier um etwas anderes bzw. um mehr, als aus dem Beitrag #1 dieses Threads herauszulesen bzw. herauszuglaskugeln ist.
Was fehlt in der Funktion?
Eigentlich fehlt nur die Beschreibung des gewünschten Verhaltens der Funktion.
Du möchtest also zu Beginn eine SollDrehzahl von irgendwo her übernehmen, aber nicht per HMI-Taste, sondern per ... (?) und zwar zu welchem ZeitPunkt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Heinileini Es sind zwei Drehstrommotoren über eine Kupplung miteinander verbunden. Ich habe für beide am FU eine Hochlaufzeit von 20 s eingestellt. Damit der eine Motor in den Generatorbetrieb übergehen kann, muss an die Drehzahl an der Welle höher sein als der Sollwert.
Das bedeutet: Ich gebe beiden Motoren eine Solldrehzahl vor, auf die sie beschleunigen. Erst wenn die Drehzahl erreicht ist, dann wird in Abhängigkeit von diesem Wert die Solldrehzahl des Lastmotors entweder erhöht oder verkleinert (Generator- oder Motorbetrieb). Für das Erhöhen und Verkleinern möchte ich die Tasten verwenden (positive Flanke). Wenn beide Motoren mit der gleichen Drehzahl laufen befinden sie sich im Leerlauf.
 
@Oberchefe Wo meinst du muss ich das einfügen? Ich habe mein Programm nämlich umgebaut. Die Leerlaufdrehzahl vorwärts und rückwärts gibts nicht mehr.
 

Anhänge

  • Screenshot 2023-01-24 094726.png
    Screenshot 2023-01-24 094726.png
    65,4 KB · Aufrufe: 28
  • Screenshot 2023-01-24 094751.png
    Screenshot 2023-01-24 094751.png
    59,9 KB · Aufrufe: 29
Das Problem ist wohl, das jetzt niemand mehr genau weiß wo es bei dir klemmt. Wenn es immer noch das addieren ist, probiere es doch so.
 

Anhänge

  • fup.JPG
    fup.JPG
    25,5 KB · Aufrufe: 40
Zurück
Oben