Zähler Underflow Overflow

Gast #2602340
Lesenswert?

Hallo liebes Forum,

zu Anfang möchte ich darauf hinweisen das ich Anfänger auf dem Gebiet 
bin also bitte ich um Rücksicht.

Ich habe einen Zähler ,dieser bietet als Ausgänge den Zählwert (32 Bit 
ganzzahlig, vorzeichenlos), Overflow und Underflow. Wenn der Zähler den 
maximalen Zählwert erreicht hat, und weitergezählt wird, springt der 
Zählerwert vom maximalen Wert auf 0 um und der Ausgang Overflow wird 
gesetzt. Bei inverser Zählrichtung springt der Zählwert von 0 auf den 
maximalen Zählwert um und der Underflow Ausgang wird gesetzt.

Die Werte sollen mit einer SPS weiterverarbeitet werden.

Aus den Werten des Zählers würde ich gerne in der SPS einen Zähler bauen 
der vorzeichenbehaftet arbeitet, d.h negative und positive Werte 
annehmen kann.
Ich stehe nur gerade etwas auf dem Schlauch und wäre dankbar über Tipps 
und Vorschläge.

Gruß

Anfänger
Gast #2602344
Lesenswert?

Anfänger schrieb:
> Aus den Werten des Zählers würde ich gerne in der SPS einen Zähler bauen
> der vorzeichenbehaftet arbeitet, d.h negative und positive Werte
> annehmen kann.
> Ich stehe nur gerade etwas auf dem Schlauch und wäre dankbar über Tipps
> und Vorschläge.

Das Vorzeichen hast du schon durch dein Underflow-Bit.
Gast #2602352
Lesenswert?

Wie kommt denn der aktuelle Zählerstand in die SPS ?
Kannd der externe Zähler hoch- sowie auch runterzählen ?

Ich würde auf der SPS einen Zähler nachbilden und zyklisch mit dem 
Externen vergleichen. Immer wenn eines mehr drauf ist als bei der 
letzten Abfrage, den "SPS-Zähler" inkrementieren, wenn eines weniger 
drauf ist, dekrementieren. Sollte ein Überlauf stattfinden, den 
Vergleichswert auf 0 setzen und den "SPS-Zähler" inkrementieren, sollte 
ein Unterlauf stattfinden, den Vergleichswert ebenfalls rücksetzen und 
den "SPS-Zähler" dekrementieren.
#2602366
Lesenswert?

Anfänger schrieb:
> Ich habe einen Zähler ,dieser bietet als Ausgänge den Zählwert (32 Bit
> ganzzahlig, vorzeichenlos),
Was ist denn eine 32-Bit Zahl mit Vorzeichen? Wo steht das Vorzeichen?
Das Vorzeichen ist das höchste Bit.
Betrachten wir das mal für 8 Bit, dann sind die Zahlen nicht so groß.
Was ist +1 in Hex? Klar 0x01. Was ist -1? Auch klar oder vielleicht auch 
nicht: 0xFF.
Was ist +127? 0x7F. Und -128? 0x80.
Somit zählt der Zähler von -128 bis +127.
Bei 32 Bit sind es dann von -2147483648 bis +2147483647.

Anfänger schrieb:
> Overflow und Underflow.
Die sind nicht für das Vorzeichen, sondern zum kaskadieren.

mfg.
Gast #2602498
Lesenswert?

Marco schrieb:
> Wie kommt denn der aktuelle Zählerstand in die SPS ?
> Kannd der externe Zähler hoch- sowie auch runterzählen ?

Der Zählerwert kommt mit den zyklischen Prozessdaten auf die SPS.
Es handelt sich bei dem Zähler um eine Ethercat Inkrementalgeberklemme 
EL5101.


Thomas Eckmann schrieb:
> Was ist denn eine 32-Bit Zahl mit Vorzeichen? Wo steht das Vorzeichen?
> Das Vorzeichen ist das höchste Bit.
> Betrachten wir das mal für 8 Bit, dann sind die Zahlen nicht so groß.
> Was ist +1 in Hex? Klar 0x01. Was ist -1? Auch klar oder vielleicht auch
> nicht: 0xFF.
> Was ist +127? 0x7F. Und -128? 0x80.
> Somit zählt der Zähler von -128 bis +127.
> Bei 32 Bit sind es dann von -2147483648 bis +2147483647.

Danke für den Hinweis, dieser Zusammenhang war mir bekannt, ich habe es 
leider nicht präzise geschrieben aber ich würde gerne 32Bit positiv und 
32 Bit negativ zählen.
Gast #2602567
Lesenswert?

> Dann brauchst du einen 64Bit Zähler.>
>
>Naja, eigentlich nur einen 33 Bit Zähler.
>Allerdings sind die nicht ganz so gängig.

Korrekt. Meine Antwort war als pampige
Anmache gedacht damit er mal über sein Problem nachdenkt.

Wenn das Teil rückwärts zählt kommt beim Underflow

0xFFFFFFFF

dann

0xFFFFFFFE

Wenn man das invertiert

0xFFFFFFFF invers 0x00000000
0xFFFFFFFE invers 0x00000001

Also eins zu wenig beim inversen.
Muss er halt das Underflow Bit auswerten und dann
noch eins draufzählen. Einfachste Digitaltechnik.
#2602688
Lesenswert?

Erich schrieb:
>> Dann brauchst du einen 64Bit Zähler.
> Naja, eigentlich nur einen 33 Bit Zähler.
So ganz Unrecht hat er da nicht.

Anfänger schrieb:
> Die Werte sollen mit einer SPS weiterverarbeitet werden.
Denn, wenn der Rechner dahinter mit normalen Datentypen arbeitet, ist 
die nächste Stufe 64 Bit. DSPs können auch 48. Aber das ist immer noch 
recht viel. Einem PC wäre das ja völlig egal, aber der Controller in 
einer SPS ist dann doch eher limitiert.

Anfänger schrieb:
> aber ich würde gerne 32Bit positiv und 32 Bit negativ zählen.
Kann mir nicht vorstellen, daß die Aufgabenstellung so ein krummes Zeug 
vorsieht.

mfg.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren