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
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.
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.
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.
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.
>aber ich würde gerne 32Bit positiv und >32 Bit negativ zählen. Dann brauchst du einen 64Bit Zähler.
holger schrieb: >>aber ich würde gerne 32Bit positiv und >>32 Bit negativ zählen. > > Dann brauchst du einen 64Bit Zähler. Naja, eigentlich nur einen 33 Bit Zähler. Allerdings sind die nicht ganz so gängig.
> 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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.