Siemens
Digital Industries, Motion Control, Machine Tool Systems
8837
Follower:innenZähler auf 3 Stellen ausweiten, Maschine DMG Milltap 700; Steuerung 840D sl
17.06.2020, 10:11 Uhr
Hallo zusammen,
ich wollte mal Fragen ob es möglich ist den Zähler "$AC_Actual_Parts" auf 3 Stellen auszuweiten.
Grund für die Ausweitung ist das Ziel über die Zählerdaten eine fortlaufende Gravur auf unseren Teilen anzubringen. Aus optischen Gründen soll die Zahl immer dreistellig sein (001,002,003...usw).
Die Systemvariable für den Zähler habe ich schon gefunden (MD Kanäle 27880). Über diesen Parameter kann man allerdings nur den Anwenderdefinierten M Befehl einrichten der das Zählwerk um eins erweitert.
Im Handbuch finde ich ansonsten leider nichts dazu.
Kann mir jemand sagen wo ich das anpassen kann, wenn überhaupt möglich.
Danke
Schöne Grüße
Alex
Steuerung 840D sl
Maschine DMG Milltap 700
ich wollte mal Fragen ob es möglich ist den Zähler "$AC_Actual_Parts" auf 3 Stellen auszuweiten.
Grund für die Ausweitung ist das Ziel über die Zählerdaten eine fortlaufende Gravur auf unseren Teilen anzubringen. Aus optischen Gründen soll die Zahl immer dreistellig sein (001,002,003...usw).
Die Systemvariable für den Zähler habe ich schon gefunden (MD Kanäle 27880). Über diesen Parameter kann man allerdings nur den Anwenderdefinierten M Befehl einrichten der das Zählwerk um eins erweitert.
Im Handbuch finde ich ansonsten leider nichts dazu.
Kann mir jemand sagen wo ich das anpassen kann, wenn überhaupt möglich.
Danke
Schöne Grüße
Alex
Steuerung 840D sl
Maschine DMG Milltap 700
17.06.2020, 10:26 Uhr
Ich habe mit dieser Systemvariable bzw. dem zugehörigen Maschinendatum keine Erfahrung.
Es wäre allerdings mehr als verwunderlich, wenn der Teilezähler auf zwei Stellen begrenzt wäre.
In der Doku ist von einer solchen Grenze auch nicht die Rede. Im Gegenteil, als Maximalwert wird 1.8E308 angegeben, also eine Zahl mit mehr als 300 Stellen.
Könnte es sein, dass in der Systemvariable $AC_REQUIRED_PARTS der Wert 100 eingetragen ist, so dass der Zähler beim Erreichen dieser Zahl automatisch zurückgesetzt wird?
Es wäre allerdings mehr als verwunderlich, wenn der Teilezähler auf zwei Stellen begrenzt wäre.
In der Doku ist von einer solchen Grenze auch nicht die Rede. Im Gegenteil, als Maximalwert wird 1.8E308 angegeben, also eine Zahl mit mehr als 300 Stellen.
Könnte es sein, dass in der Systemvariable $AC_REQUIRED_PARTS der Wert 100 eingetragen ist, so dass der Zähler beim Erreichen dieser Zahl automatisch zurückgesetzt wird?
17.06.2020, 11:58 Uhr
Ich habe mit dieser Systemvariable bzw. dem zugehörigen Maschinendatum keine Erfahrung.
Es wäre allerdings mehr als verwunderlich, wenn der Teilezähler auf zwei Stellen begrenzt wäre.
In der Doku ist von einer solchen Grenze auch nicht die Rede. Im Gegenteil, als Maximalwert wird 1.8E308 angegeben, also eine Zahl mit mehr als 300 Stellen.
Könnte es sein, dass in der Systemvariable $AC_REQUIRED_PARTS der Wert 100 eingetragen ist, so dass der Zähler beim Erreichen dieser Zahl automatisch zurückgesetzt wird?
Es wäre allerdings mehr als verwunderlich, wenn der Teilezähler auf zwei Stellen begrenzt wäre.
In der Doku ist von einer solchen Grenze auch nicht die Rede. Im Gegenteil, als Maximalwert wird 1.8E308 angegeben, also eine Zahl mit mehr als 300 Stellen.
Könnte es sein, dass in der Systemvariable $AC_REQUIRED_PARTS der Wert 100 eingetragen ist, so dass der Zähler beim Erreichen dieser Zahl automatisch zurückgesetzt wird?
Kam eventuell etwas unverständlich rüber, der Zählbereich ist ok, wir können Teile bis Stückzahl 9999 fertigen und der Zähler übernimmt das, hier soll auch nichts begrenzt werden.
Es geht da eher um die zu gravierenden Daten. Der Zähler soll statt 1, 2, 3; 001,002,003 usw Zählen damit wir die Daten genau so für die Gravur verwerten können.
17.06.2020, 13:08 Uhr
Z.B. so:
Das lässt sich dann auch leicht auf z.B. 4 Stellen erweitern (in der WHILE-Bedingung die 3 durch eine 4 oder eine zusätzliche Variabel ersetzen).
Dann müsste man auch die Stringlänge von 4 auf 5 erhöhen. Es schadet auch nichts, die Länge gleich größer zu wählen.
CODE
DEF STRING[4] _ZAHL_STRING
_ZAHL_STRING = << $AC_Actual_Parts
WHILE (STRLEN(_ZAHL_STRING) < 3)
_ZAHL_STRING = "0" << _ZAHL_STRING
ENDWHILE
MSG("AUSGABE: " << _ZAHL_STRING)
_ZAHL_STRING = << $AC_Actual_Parts
WHILE (STRLEN(_ZAHL_STRING) < 3)
_ZAHL_STRING = "0" << _ZAHL_STRING
ENDWHILE
MSG("AUSGABE: " << _ZAHL_STRING)
Das lässt sich dann auch leicht auf z.B. 4 Stellen erweitern (in der WHILE-Bedingung die 3 durch eine 4 oder eine zusätzliche Variabel ersetzen).
Dann müsste man auch die Stringlänge von 4 auf 5 erhöhen. Es schadet auch nichts, die Länge gleich größer zu wählen.
18.06.2020, 09:26 Uhr
Perfekt, hat funktioniert.
Danke für den Tipp
Danke für den Tipp
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: