TIA High Speed Counter zurücksetzen

HubaBuba

Level-2
Beiträge
13
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe bisher noch nie mit einem High Speed Counter für ein TM gearbeitet.
Der Zähler funktioniert soweit auch, jedoch lässt sich dieser nicht zurücksetzen/kein neuer Zählwert einstellen.
Ich bin mir sicher, dass ich hier einfach irgendetwas falsch programmiert habe, aber komme leider nicht drauf, was.

Ich versuche dem Zähler wie folgt seinen 0-Punkt zu setzen:
Code:
L     0
      T     "High_Speed_Counter_2".NewCountValue


      U     "Merker_FN_INI_Referenzpunkt"
      U     "Merker_Referenzfahrt"
      =     "High_Speed_Counter_2".SetCountValue

Der Zähler selbst ist wie folgt beschaltet:

Code:
CALL  High_Speed_Counter , "High_Speed_Counter_2"
         SwGate               :=TRUE
         CaptureEnable        :=TRUE
         SyncEnable           :=TRUE
         ErrorAck             :="Merker_FP_schließen"
         EventAck             :=
         StatusHW             :=
         StatusGate           :=
         StatusUp             :=
         StatusDown           :=
         CompResult0          :=
         CompResult1          :=
         SyncStatus           :=
         CaptureStatus        :=
         CapturedValue        :=
         ZeroStatus           :=
         PosOverflow          :=
         NegOverflow          :=
         Error                :=
         ErrorID              :=
         CountValue           :="Merker_Zählwert"
         MeasuredValue        :=
         CompareMeasuredValue :=
         SetCountValue        :=

Wo liegt hier mein Fehler, sodass sich der Zähler zurücksetzen lässt?

LG und Danke
Alex
 
Zuletzt bearbeitet von einem Moderator:
Zuviel Werbung?
-> Hier kostenlos registrieren
Was soll dein HSC machen? Selbständig positionieren oder dosieren?

Wenn ich mit schnellen Zählern arbeite, dann lasse ich die üblicherweise frei und endlos vorwärts/rückwärts zählen (das können alle schnellen Zähler/Baugruppen) und erfasse nur in jedem Zyklus den Zählerstand (per Peripheriezugriff) und bilde die Differenz zum Zählerstand vorher und addiere die Differenz auf eine zweite Variable im SPS-Programm. Mit der Variable kann ich dann easy anstellen was ich will, auch Referenzieren oder Nullsetzen, und das auch während der Zähler zählt/die Achse sich bewegt. Und brauche dafür keine Sonderfunktionen verwenden/aufrufen.
 
Was soll dein HSC machen? Selbständig positionieren oder dosieren?

Wenn ich mit schnellen Zählern arbeite, dann lasse ich die üblicherweise frei und endlos vorwärts/rückwärts zählen (das können alle schnellen Zähler/Baugruppen) und erfasse nur in jedem Zyklus den Zählerstand (per Peripheriezugriff) und bilde die Differenz zum Zählerstand vorher und addiere die Differenz auf eine zweite Variable im SPS-Programm. Mit der Variable kann ich dann easy anstellen was ich will, auch Referenzieren oder Nullsetzen, und das auch während der Zähler zählt/die Achse sich bewegt. Und brauche dafür keine Sonderfunktionen verwenden/aufrufen.
Der HSC soll eine Höhe für eine automatische Positionierung von 2 Walzen im Abstand x vorgeben.
Das Differenzieren wäre eine Idee, allerdings wäre es mir lieber, wenn ich den Zähler bei der Referenzfahrt tatsächlich auf 0 setzen kann, da die Verschaltung im Programm aktuell komplett darauf beruht.
Aber ich behalte es mir mal im Hinterkopf, danke dir.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unter Technologieobjekte findest du einen DB für deinen Counter.

Da findest du dann den Wert "NewCountValue" Da schreibst du den Wert rein und mit dem Bit "SetCountValue" wird der Wert übernommen


Edit : Ich sehe grade das du das genau so machst. Kann es sein das der Merker_Referenzfahrt schon false ist wenn du die Flanke des INI auswertest ?

Hast du den SetCountValue mal gesetzt ?
 
Zuletzt bearbeitet:
Unter Technologieobjekte findest du einen DB für deinen Counter.

Da findest du dann den Wert "NewCountValue" Da schreibst du den Wert rein und mit dem Bit "SetCountValue" wird der Wert übernommen


Edit : Ich sehe grade das du das genau so machst. Kann es sein das der Merker_Referenzfahrt schon false ist wenn du die Flanke des INI auswertest ?

Hast du den SetCountValue mal gesetzt ?
Ich habe das ganze dann so gemacht, wie es PN/DP vorgeschlagen hat, wodurch es dann auch funktioniert hat. Dadurch habe ich das ganze ein wenig umgeschmissen und konnte das dann nicht mehr überprüfen. Eigentlich wurde der Merker_Referenzfahrt eigentlich erst bei einem CountValue von 0 zurückgesetzt. Trotzdem vielen Dank.
 
Zurück
Oben