SSI-Absolutwertgeber

Begonnen von Skotti, 25. Mai 2010, 23:17:53

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 5 Gäste betrachten dieses Thema.

Skotti

Hallo liebe OSCAT-Gemeinde.

Ich arbeite gerade an einer Anlage mit Multiturn-SSI-Absolutwertgebern die an eine Siemens SM 338 POS-INPUT (6ES7 338-4BC01-0AB0) angeschlossen sind.

SSI-Geber liefern meines Wissens immer nur ihre Absolut-Position relativ zu einem fiktiven Nullpunkt. Das heißt den Nullpunkt-Abgleich muß ich in meinem Anwender-Programm herstellen. Ist das korrekt?

Die Geber in meiner Anlage sind soweit gut eingebaut, als daß auf dem gesamten Verfahrbereich kein Überlauf bei der 4096sten Umdrehung auftritt. Ich frage mich aber trotzdem: Was Wäre Wenn?...

Ich möchte gerne einen Baustein schreiben, der einen SSI-Geber auswertet inkl. Vorwahl der Auflösung (Inkremente/Millimeter) und Nullpunkt-Offset (Millimeter). Stand schonmal jemand vor dem gleichen Problem, hat es gelöst und würde sein Programm mit mir teilen? Oder können wir vielleicht zusammen eine Lösung erarbeiten?


Danke,
Stefan

gravieren

Hi


ZitatIch möchte gerne einen Baustein schreiben, der einen SSI-Geber auswertet inkl. Vorwahl der Auflösung
(Inkremente/Millimeter) und Nullpunkt-Offset (Millimeter). Stand schonmal jemand vor dem gleichen Problem,
hat es gelöst und würde sein Programm mit mir teilen? Oder können wir vielleicht zusammen eine Lösung erarbeiten?
Aktuelle_Position_mm :=  Offset_mm  + ( Inkremente * mm_pro_Inkremente)


Skotti

Zitat von: gravieren in 27. Mai 2010, 16:54:19
Aktuelle_Position_mm :=  Offset_mm  + ( Inkremente * mm_pro_Inkremente)

Der SSI-Geber hat eine Auflösung von 24 Bit. Von der SM338 erhalte ich also einen Zahl im Bereich von 0 bis 2^24-1. Wird die 0 unterschritten so geht die Zählung schlagartig bei 16777215 weiter abwärts.

Die Lösung ist wahrscheinlich einfach, aber irgendwie habe ich da gerade eine Denkblockade.  :)

Gruß,
Stefan

gravieren

Hi


0x00FFFFFF Hex

>Die Lösung ist wahrscheinlich einfach
Ja, jedoch setzt es voraus, dass du einen "Gültigungsbereich hast/angibst".

Meine Empfehlung: 
Geber einstellen, das dies NICHT passiert.
Damit hast du den gerinsten Ärger.

Es ist in der Praxis nicht immer sinvoll alle Probleme mit der Softwart zu lösen.

Z.b.  Tauschst du den Geber gegen einen mit 20 bit aus, so must du "umprogen".

Üblich ist auch im Diagnosemenue den "unverfälschten" Geberistwert in Inkremente anzuzeigen.
Gleich daneben den Wert der  Ist-Position in mm.


Gruss

Skotti

Hallo gravieren.

Entschuldige die späte Antwort. Leider lese ich nur sehr unregelmäßig hier.

Thema Über-/Unterlauf:
Ich bin eigentlich von anderen Geber-Typen gewohnt, daß man an sie einen Referenz-Offset schreiben kann und die anschließend ausgegebenen Positionswerte dann schon korrigiert sind. Bei SSI-Gebern scheint so etwas aber nicht vorgesehen zu sein (das Protokoll sieht keinen Rückkanal vor). SSI-Geber melden also immer nur ihre aktuelle Position relativ zu einem Werksseitig eingestellten Referenzpunkt an die Steuerung. Offsets müssen daher in der Steuerung verrechnet werden.

Bei einem linearen Geber ist das kein Problem, da der Nullpunkt in einem Bereich liegt, der physikalisch nicht erreicht wird. Auch das andere Ende des Messbereichs stellt kein Problem dar, da bei der vorgegebenen Auflösung der Positions-Daten am Messbereichs-Ende noch kein Überlauf stattgefunden hat.

Bei rotativen Gebern sieht die Sache allerdings etwas anders aus. Hier kann selbstverständlich ein Über-/Unterlauf stattfinden. Und dies kann im ungünstigsten Fall je nach Einbaulage mitten im gewünschten Messbereich stattfinden.

Thema Gebertausch:
Natürlich muß vorausgesetzt werden, daß bei einem Tausch des Gebers dieser gegen den gleichen Typ ausgetauscht wird. Sollte dies aus irgendwelchen Gründen nicht möglich sein, ist es IMHO vertretbar daß im SPS-Programm angepasst werden muß.

Thema Diagnose:
Diese Art der Anzeige von Geberwerten habe ich mir schon länger angewöhnt. Aber ein Diagnose-Bild bringt mich kaum weiter bei der Lösung des Problems wie die Werte in der SPS korrekt verarbeitet werden.


Nochmal kurz meine Problembeschreibung:
Wird ein rotativer Geber an einer Linearachse so eingebaut, daß der Geber-Nullpunkt ausserhalb des mechanischen Verfahrbereichs liegt, gibt es kein Problem. Einfach einen Offset addieren/subtrahieren und gut is.
Liegt der Nullpunkt aber im Verfahrbereich so muß ich einen Über-/Unterlauf erkennen und von dort weiterzählen.

Wie schon gesagt: Die Lösung des Problems ist definitiv möglich (bei anderen Absolutwert-Geber-Typen funktionierts ja), nur ich finde irgendwie nicht den Weg dorthin. :-)

MfG
Skotti