Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Zähler auf 3 Stellen ausweiten, Maschine DMG Milltap 700; Steuerung 840D sl

Beitrag 17.06.2020, 10:11 Uhr
Le-Roe
Le-Roe
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 17.06.2020
Beiträge: 6
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
   
Beitrag 17.06.2020, 10:26 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.926
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?
   
Beitrag 17.06.2020, 11:58 Uhr
Le-Roe
Le-Roe
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 17.06.2020
Beiträge: 6
QUOTE (CNCFr @ 17.06.2020, 11: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?


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.
   
Beitrag 17.06.2020, 13:08 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.926
Z.B. so:
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)


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.
   
Beitrag 18.06.2020, 09:26 Uhr
Le-Roe
Le-Roe
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 17.06.2020
Beiträge: 6
Perfekt, hat funktioniert.
Danke für den Tipp smile.gif
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: