TIA Schneller Zähler als Taktgeber

huisajack

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte mit dem schneller Zähler meiner CPU 1214 ein Signal eines Drehgebers verarbeiten indem ich pro 100 Signale einen Takt weitergebe. Ich habe den HSC aktiviert und ein Programm geschrieben, bekomme aber kein Signal.
Darf man hier einen Screenshot von TIA-Portal reinstellen oder ist das verboten?

MfG Jack
 
Habe ich hier einen Fehler gemacht oder liegt es am Einlesen des Signals? Ich kann momentan den schnellen Zähler auch nicht testen, da mir die Hardware fehlt.
 
Denk daran dass du den Schnellen Zähler auch wieder zurücksetzen musst wenn "Takt" ansteht.
Ohne System wo du das ausprobieren kannst wird die Fehlersuche aber schwer. Verändert sich denn ED1000?
Müsste dies nicht %ED1000:p heissen?

Leider habe ich noch nicht soviel Erfahrung mit der 1200er.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Denk daran dass du den Schnellen Zähler auch wieder zurücksetzen musst wenn "Takt" ansteht.
Macht er ja.
Wenn CV High wird, wird der Wert von New_CV (= 0) als neuer Zählerwert übernommen.

Was aber für mich an den Zählern wirklich verwirrend war, ist das Auslesen des Zählwerts über die Eingangsadresse. Ehe ich das gefunden hatte.
:roll:


@huisajack,
eventuell solltest Du überlegen, einen Alarm-OB über die Eigenschaften des HSC festzulegen und die 100 als RV-Wert zu nehmen. Der Wert des schnellen Zählers bei ED1000 wird ja nur alle 10ms aktualisiert. Da kann also die 100 auch mal verpasst werden (deswegen hast Du ja auch >=100 verwendet) und die 100er Teilung ist dann nicht gerade genau. Das dürfte mit dem OB besser werden.
Hab' das allerdings auch noch nicht selbst verwendet.
 
yargl. sorry hab ich nicht geblickt, dachte mit takt zählt er dann einen neuen Zählerbaustein hoch (den rechten Baustein). hab nicht geblickt dass das derselbe ist (wieso HSC_0 und HSC_1 für denselben Baustein?).
 
das wird aber in dem Link, den ich geschickt habe, aber auch beschrieben und so ausgeführt.
:confused:
Außer das die entsprechenden Eingänge am CTRL_HSC mit Variablen beschrieben sind, kann ich da aber nichts weiter zum Alarm finden?

Das Rücksetzen des HSC im Alarm-OB würde mich nämlich auch interessieren. Muss man dort dann einen weiteren CTRL_HSC benutzen?


PS: @huisajack,
bevor's untergeht, prüfe Vollmi's Einwurf nochmal:
... (wieso HSC_0 und HSC_1 für denselben Baustein?).
 
Zuletzt bearbeitet:
@hucki

Du kannst einen Alarm auslösen wenn Zählerwert = Referenzwert ist. Einzustellen in der Hardwarekonfiguration der CPU.

Raik
 
Du kannst einen Alarm auslösen wenn Zählerwert = Referenzwert ist. Einzustellen in der Hardwarekonfiguration der CPU.
Das ist mir klar. ;)
Aber wie machst Du dann das Rücksetzen? Direkt im Alarm-OB mit einem 2. CTRL_HSC und die nicht benötigten Sachen bleiben einfach frei?
Wenn ich im Alarm-OB nur einen Merker setze und das eigentliche Rücksetzen dann im (OB1-)Programm, hat der schnelle Zähler ja wahrscheinlich schon wieder weiter gezählt, was eben nicht erwünscht wäre. Er soll doch genau bei 100 auf 0 zurückgesetzt werden und nicht bei 101, 102 oder noch später.
 
Das ist mir klar. ;)
Aber wie machst Du dann das Rücksetzen? Direkt im Alarm-OB mit einem 2. CTRL_HSC und die nicht benötigten Sachen bleiben einfach frei?
Wenn ich im Alarm-OB nur einen Merker setze und das eigentliche Rücksetzen dann im (OB1-)Programm, hat der schnelle Zähler ja wahrscheinlich schon wieder weiter gezählt, was eben nicht erwünscht wäre. Er soll doch genau bei 100 auf 0 zurückgesetzt werden und nicht bei 101, 102 oder noch später.

Tja hucki ... genau das ist das Problem bei manchen HSC.
Selbst der Reset im Alarm-OB löst bei höherer Frequenz das Problem nicht.
Wenn genaue stetige Vorgänge notwendig sind, dann muss das Setzen oder Rücksetzen der Zähler selber machen.
Wie's bei der 1200er allerdings ist und welche Parametiermöglichkeiten es da gibt ... keine Ahnung

Gruß
Dieter
 
Er beschreibt das mit dem Rücksetzmerker und dann hast Du diese Schwankungen, weil das Rücksetzen erst im normalen Programm gemacht wird, wo aber schon weiter gezählt wurde.
Deshalb erfolgte das Rücksetzen bei der S7-200 immer direkt im Interrupt.
Das würde bei der S7-1200 m.W.n. nur mit einem 2. CTRL_HSC gehen. Deswegen die Frage, kann man 2 CTRL_HSC auf einen HSC ansetzen oder beeinflussen die sich gegenseitig (offene Bausteineingänge)? Oder gibt es doch noch einen separaten Rücksetzbefehl, der mir bis dato entgangen ist?

PS: Zum Testen hab' ich momentan keine Möglichkeiten. :(
 
Zurück
Oben