TIA Zähler nicht negativ

Kehrer

Level-2
Beiträge
439
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo wie kann ich die schnellen Zähler programmieren dass es nicht ins negative zählt.
Habe einen Drehgeber der ja rechts und links einen Zählerwert ausgibt. Rechtsrum zählt er hoch; wenn der links herum dreht und dann bei 0 wieder ankommt soll er aufhören zu zählen.

Ist dies überhaupt möglich?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo wie kann ich die schnellen Zähler programmieren dass es nicht ins negative zählt.
Habe einen Drehgeber der ja rechts und links einen Zählerwert ausgibt. Rechtsrum zählt er hoch; wenn der links herum dreht und dann bei 0 wieder ankommt soll er aufhören zu zählen.

Ist dies überhaupt möglich?

Lies dir doch bitte noch mal deine Fragestellung durch.
Das passt - meines Erachtens - nicht.
Du schreibst, dass du einen Drehgeber hast, der Zählwerte ausgibt. Also Werte und nicht Impulse.
Und nun willst du wissen, wie man bei einem schnellen Zähler Werte kleiner 0 verhindert.
Die S7-Zähler arbeiten aber mit Impulsen.
 
@Dieter:
Ich vermute, dass das unpräzise formuliert ist.
Es hört sich für mich an als wenn er einen Inkrementalgeber an einer Zählerkarte hat.

@TE:
Vielleicht legst du hier mal noch "ein bisschen" nach - könnte helfen ... ;)
 
@Dieter:
Ich vermute, dass das unpräzise formuliert ist.
Es hört sich für mich an als wenn er einen Inkrementalgeber an einer Zählerkarte hat.

@TE:
Vielleicht legst du hier mal noch "ein bisschen" nach - könnte helfen ... ;)



Ok.
Also ich habe einen Inkrementalgeber mit AB Spur am schnellen Zähler HSC_1 über I.0. und I0.1 an einer 1214DC/DC/RLY mit ID1000
dieser zählt vorwärts mit 1000 Impulsen/U
dann rechne ich mit REAL in mm um.


Jetzt soll der Drehgeber wenn er zurückgedreht wird nicht ins Minus zählen.
Grund: Material kann vor und zurückgeschoben werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Kehrer,

Jetzt soll der Drehgeber wenn er zurückgedreht wird nicht ins Minus zählen.
Grund: Material kann vor und zurückgeschoben werden.

Verstehe ich es richtig, dass das Material entweder vor oder zurück geschoben wird und nicht hin- und her?
Und dann willst Du einfach die Länge des Materials wissen, egal welchen Drehsinn der Inkrementalgeber hat?

In TIA gibt es die Funktion ABS, um den Absoluten Wert einer Zahl auszugeben. Das wäre (wenn ich es richtig verstanden habe) eine Möglichkeit. Oder, bei negativen Zahlen, das Zweierkomplement bilden.

Wenn es um ein hin- und her geht, dann sind negative Zahlen doch ok?

Oder habe ich vielleicht die Aufgabenstellung noch nicht richtig verstanden?

VG

MFreiberger
 
Wenn es nicht auf das letzte Hundertstel ankommt, dann frag einfach einfach im SPS-Programm den Zäglerstand ab und mach bei <0 einen Reset.
Noch ein Tipp am Rande:
Real ist nicht sonderlich gut geeignet für solche Dinge.
Nach Möglichkeit solange wie möglich mit Inkrementen arbeiten.
 
Wenn es nicht auf das letzte Hundertstel ankommt, dann frag einfach einfach im SPS-Programm den Zäglerstand ab und mach bei <0 einen Reset.
Noch ein Tipp am Rande:
Real ist nicht sonderlich gut geeignet für solche Dinge.
Nach Möglichkeit solange wie möglich mit Inkrementen arbeiten.

REAL nur zur Eingabe vom HMI E/A Feld

<0 Reset schaue ich mir mal an. Wäre ja zu einfach.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Kehrer,



Verstehe ich es richtig, dass das Material entweder vor oder zurück geschoben wird und nicht hin- und her?
Ja

Und dann willst Du einfach die Länge des Materials wissen, egal welchen Drehsinn der Inkrementalgeber hat?
Nein. Die Länge wird benötigt um nach 100mm abzuschneiden und zwar nur vorwärts.
Wenn er dann das Material zurückschiebt soll der Zähler nicht negativ werden falls er zuweit zurückschiebt bzw mal an den Geber kommt und den von Hand verdreht.

In TIA gibt es die Funktion ABS, um den Absoluten Wert einer Zahl auszugeben. Das wäre (wenn ich es richtig verstanden habe) eine Möglichkeit. Oder, bei negativen Zahlen, das Zweierkomplement bilden.
Zweierkomplement dreht die Zahlen um oder? dass möchte ich nicht.
 
Jetzt soll der Drehgeber wenn er zurückgedreht wird nicht ins Minus zählen.
Grund: Material kann vor und zurückgeschoben werden.
Siehe S7-1200 Systemhandbuch zu Anweisung CTRL_HSC_EXT (Schnellen Zähler steuern) und SDT HSC_Count
● Ändern der Funktionsweise des HSC für den Fall, dass der Impulszählwert die Grenzwerte erreicht
NewLimitBehavior: 2 = bei Überlauf CurrentCount auf StartValue setzen

In Gerätekonfig > Schnelle Zähler (HSC) > HSCx
Anfangswert untere Grenze (Unterer Zählgrenzwert): 0

Mir will noch nicht so recht einleuchten, warum beim Rückwärts-Schieben der Zähler bei 0 stehenbleiben soll. Wenn das Material mehrmals vor- und über die 0-Position zurückgeschoben wird, dann würde beim nächsten Vorschieben der Wert (Länge, Position?) nicht mehr stimmen.

Ich lasse schnelle Zähler in der Regel frei und endlos Vor/Rückwärts zählen, übernehme in jedem OB1-Zyklus die Zählerdifferenz zum Zyklus vorher auf einen programminternen "logischen" Zählerstand (Relativposition) und kann dann diese Position nach Belieben referenzieren, auf 0 setzen/halten, mehrere Zählerüberläufe verarbeiten, ...

Harald
 
Mir will noch nicht so recht einleuchten, warum beim Rückwärts-Schieben der Zähler bei 0 stehenbleiben soll. Wenn das Material mehrmals vor- und über die 0-Position zurückgeschoben wird, dann würde beim nächsten Vorschieben der Wert (Länge, Position?) nicht mehr stimmen.

Das sehe ich auch so, vielleicht bringt der TE noch eine Erklärung warum dies so sein muss / soll. Evtl. gibt es eine bessere Lösung für ihn
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Siehe S7-1200 Systemhandbuch zu Anweisung CTRL_HSC_EXT (Schnellen Zähler steuern) und SDT HSC_Count
● Ändern der Funktionsweise des HSC für den Fall, dass der Impulszählwert die Grenzwerte erreicht
NewLimitBehavior: 2 = bei Überlauf CurrentCount auf StartValue setzen

In Gerätekonfig > Schnelle Zähler (HSC) > HSCx
Anfangswert untere Grenze (Unterer Zählgrenzwert): 0



Harald

"
In Gerätekonfig > Schnelle Zähler (HSC) > HSCx
Anfangswert untere Grenze (Unterer Zählgrenzwert): 0"

Gibt es bei mir nicht nur "Auf Anfangswerte zurücksetzen --> Anfänglicher Zählwert"

https://cache.industry.siemens.com/dl/files/346/109742346/att_902498/v3/109742346_HSC_S7_1200_DOKU_V10_de.pdf


Siehe S7-1200 Systemhandbuch zu Anweisung CTRL_HSC_EXT (Schnellen Zähler steuern) und SDT HSC_Count
● Ändern der Funktionsweise des HSC für den Fall, dass der Impulszählwert die Grenzwerte erreicht
NewLimitBehavior: 2 = bei Überlauf CurrentCount auf StartValue setzen
d.h. am CRTL oder wo soll das parametrierbar sein?


Unbenannt.JPG
 
Zuletzt bearbeitet:
Gibt es bei mir nicht nur "Auf Anfangswerte zurücksetzen --> Anfänglicher Zählwert"
Und noch einmal die Frage, welche Hardware Du verwendest. Je früher und genauer Du die essenziellen Angaben lieferst, desto schneller und passender können wir helfen.
Also:
- welche SPS genau: Bestellnummer und Firmware-Version?
- welche TIA-Version?


Siehe S7-1200 Systemhandbuch zu Anweisung CTRL_HSC_EXT (Schnellen Zähler steuern) und SDT HSC_Count
● Ändern der Funktionsweise des HSC für den Fall, dass der Impulszählwert die Grenzwerte erreicht
NewLimitBehavior: 2 = bei Überlauf CurrentCount auf StartValue setzen
Hast Du mal in das für Deine SPS geltende Systemhandbuch geschaut? Link S7-1200 Systemhandbücher
Ist Dir aufgefallen, daß Du die Anweisung CTRL_HSC verwendest und ich habe CTRL_HSC_EXT geschrieben?

Unabhängig ob Deine S7-1200 diese Einstellmöglichkeit hat: mit dem von mir in #10 beschriebenen Handling mit dem eigenen "logischen" Zählerstand/Relativposition benötigt man diese speziellen Funktionen meistens gar nicht.

Harald
 
Zuletzt bearbeitet:
Ich meine, warum nicht negativ zählen sondern bei 0 bleiben. Das kann ja auch Probleme bereiten bzw. verfälschen
Ach so, da kann man zugegebenermaßen nur vermuten. Es soll nach 100mm das Material abgeschnitten werden, ich vermute mal, der Drehgeber ist am Anfang wo auch abgeschnitten wird und dann macht es halbwegs Sinn das der Zähler nicht ins Negative geht.
 
Zurück
Oben