TIA Frequenzüberwachung

PartymuKe

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

ich bin noch ein Anfänger auf dem Gebiet (befinde mich gerade in der Meisterschule) und hätte eine Frage zu einem Problem bei dem ich aktuell einfach nicht weiterkomme.

In unserer Aufgabenstellung wird gefordert eine Frequenz von einem Bandwächter (Flankenauswertung) zu überwachen, sie beträgt im Normalfall 25 Hz. Wenn sie unter 20 Hz fällt soll eine Störmeldung rausgehen. (Die Bandwächterfrequenz wird nur simuliert und gibt es also nicht wirklich an einem Eingang)

Ich habe die beiden Frequenzen mit einem Rechteckgenerator erzeugt , diese dann auf Zähler gelegt (Zähler jewels mit Taktmerker 1Hz zu resettet) und die beiden Werte mit einem Vergleicher ausgewertet. (Habe noch einen Faktor mit einberechnet um die Differenz der Sollfrequenz zur Istfrequenz zu erlangen -> Grenzfrequenz)

Hat aber nicht so richtig funktioniert, habe ich irgendwas offensichtliches falsch gemacht oder habt ihr einen Tipp für mich? Kann morgen auch mal mein Programm posten.

Außerdem hätte ich noch eine weitere Frage. Die Frequenz 25Hz habe ich als Input (4ms) eingegeben, weil ich es nicht geschafft habe die 25Hz direkt im Tia Portal in eine Zeit zu wandeln

Periodendauer := dint_to_time (1/Frequenz*1000); -> hat nicht geklappt, das 1/ hat er nicht geschluckt.

Als System habe ich ne 1500 gewählt, aber spielt wahrscheinlich keine große Rolle, ist ja nur ein Theoretisches Projekt.

Vielen Dank und Grüße
 
25 Hz sind 40 ms Periodendauer
Welchen Rechteckgenerator verwendest du ? Siemens Standart FB? Der muss in einen Zeit OB laufen.

Normalerweise nimmt man für sowas eine zählerkarte oder eine karte mit Prozessalarm. Und zählt dort die impulse hoch.

Da es sich um eine Aufgabe handelt reicht die Lösung mit dem Zähler und dem Reset alle 1 sekunde aus. Hierzu muss eine Flankenauswertung für den 1Hz takttimer verwendet werden. Zählerstand vor dem Resetsignal auf den Zähler Auswerten.

Für deine Berechnungsfehler wird der datentyp wsl. Nicht passen.
 
Danke für die Antworten.
Ich verwende einen selbst programmierten generator (aus meiner bibliothek)
500/frequenz passt, da ich meine periodendauer in Impuls und Pause aufteile. Danke

Habe gestern Abend noch kurz (bin noch nicht fertig) das ganze im ob35 laufen lassen, mit 250 micro sek.
Scheint ganz gut zu funktionieren. Kann ich mein gesamtes Programm (Aufgabe ist noch deutlich größer) über den ob laufen lassen oder muss ich es splitten?


#Hierzu muss eine Flankenauswertung für den 1Hz takttimer verwendet werden. Zählerstand vor dem Resetsignal auf den Zähler Auswerten.

Das verstehe ich net ganz, warum ich den Zählerstand vor dem reset mit ner Flanke auswerten soll (wie soll ich das eigentlich machen?)

Ich habe die beiden Zählerausgänge cv direkt auf nen vergleicher gelegt und die Auswertung dann auf ein RS - > Störmeldung
 
Du solltest in dem Zeit-OB nur das laufen lassen was unbedingt sein muss.
Erstmal treibt es die Zykluszeit der SPS in die Höhe ... und dann kann es dir passieren, das der OB aufgerufen werden soll während er noch läuft. In 250 uS bekommst du nicht soooo schrecklich viel durchgeührt ...

Ich würde es tatsächlich (weil man Frequenzmessung auch eigentlich so macht) wie in dem Vorschlag vom Bitschubser umsetzen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hierzu muss eine Flankenauswertung für den 1Hz takttimer verwendet werden. Zählerstand vor dem Resetsignal auf den Zähler Auswerten.

Du benötigst die Flankenauswertung des Taktsignals, damit dein Zähler nicht für den kompletten "1-Pegel" zurückgesetzt wird, sondern nur in dem Moment wo das Taktsignal von "0" auf "1" wechselt. Sonst könnte es sein, dass der Zähler seine Hochzählsignale verpasst (in deinem Fall sind die ja kürzer als der "1-Pegel" des Taktsignals).
Den Zählerstand kannst du einfach so auswerten, ohne Flanke.
 
Zurück
Oben