Sonstiges Sinumerik 840 dsl - R-Wert aufrunden-auslesen

alexhart90

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag an alle,

zuerst mal – Ich bin neu hier und hoffe ich habe das richtige Unterforum beschrieben.
Bei mir handelt es sich um folgendes Problem bzw. folgende Möglichkeit –

Ich starte nun langsam mit Parametrischen Programmen durch und möchte einige Arbeitsschritte bei uns in der Firma erleichtern.

Hier im Screenshot könnt ihr meine Formel sehen –


111.jpg

Folgendes Problem habe ich. Die Maschinensimulation Vericut – Liest den Satz ohne Probleme und ich erhalte für meinen R-Wert R266 eine GANZE ZAHL.
Die Maschinensteuerung ist die deckungsgleiche zur Maschinensteuerung draußen in der Produktion
Jedoch wenn ich nun direkt an die Maschine gehe und dort das Programm ablaufen lasse – Erhalte ich immer wieder eine Fehlermeldung – INT nicht definiert bzw. nicht möglich.

Was ist nun mein Fehler ? Falsche Schreibweise?
Ist es überhaupt möglich die beschriebenen R-Werte als glatte Zahl auszugeben oder ist es möglich, dass ich den Beschriebenen R-Wert auslese mit einer Funktion und ihn dann als Wert aufrunde oder dergleichen und den unter einem anderen Wert speicher.

Wäre um Hilfen bzw. Fragen sehr dankbar.

Danke und Grüße von mir Alex
 
was wäre denn, wenn du die zeile darüber auch als INT definierst? also R260 und R261 als integer und dann ab dafür. nur so als idee - ohne wirklich ahnung zu haben.
 
Ok Sorry... Vll habe ich mich falsch ausgedrückt.

Der Wert R266 - DARF KEINE KOMMAZAHL SEIN
Es muss eine GANZE ZAHL sein !

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
andere Möglichkeit anstelle von ROUND
R1 = 2 DIV R3

aber Du solltest deine Zyklen nicht mit R Parameter schreiben. man kann im Programm oder Global Variablen mit ordentlichen Bezeichner und Datentyp anlegen.

nicht R0815 = $P_TOOLR // Werkzeugradius
sondern
DEF REAL Werkzeugradius
.....



Werkzeugradius = $P_TOOLR
in X jahren wirst Du dich fragen was war noch gleich R263
 
Du meinst sicherlich R1 = R2 DIV R3 .

in X jahren wirst Du dich fragen was war noch gleich R263
Das habe ich mich schon vor x Jahren gefragt. ;o)

Ich vermisse die Stopre alias @714 alias @31.
R-ParameterBerechnungen, die in derselben Zeile stehen, werden sauber von links nach rechts abgearbeitet.
Aber R-ParameterBerechnungen, die in mehreren Zeilen untereinander stehen, unterstellt man oft zu Unrecht, dass sie in der Reihenfolge von oben nach unten abgearbeitet werden ... wenn man keine Stopre einstreut.

Gruss, Heinileini
 
Danke für die Korrektur :-)

aber du sollst nicht immer den alten Zöpfen nachtrauern.
STOPRE kannst du so viele einstreuen wie du willst kosten ja kein Geld , nur Zeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen an alle,

als erstes - Das mit dem ROUND() hat funktioniert. Ich hatte es gestern mit eckiger Klammer und vor das R266 gesetzt gehabt.
Irgendwie auch logisch was ich hätte machen sollen :oops:

@ Peter Gedöns

Ja ich gebe dir Recht das mit den R-Werten ist etwas unschön :) Aber bei uns sind die R-Parameter von R200-R299 komplett frei.

Außerdem habe ich die R-Parameter noch weiter im Programm selber für Koordinaten benutzt und es war für mich leichter nur den R-Wert zu vermerken.

Habe mir sogut wie möglich für das Programm natürlich eine Legende angelegt und eine Beschreibung der Parameter verzeichnet.

Danke für eure Hilfe :)
 
aber du sollst nicht immer den alten Zöpfen nachtrauern.
Ich will doch keinen alten Zöpfen nachtrauern!
Im Gegenteil: wenn Siemens es endlich geschafft haben sollte, die R-ParameterBerechnung-ohne-Stopre in den Griff zu bekommen, umso besser. Das war mal eine ganz böse Falle.
Wer rechnet schon damit, dass die Befehle in einer anderen Reihenfolge abgearbeitet werden, als beabsichtigt?!?
Es ist nicht sehr schön, wenn ein ZwischenErgebnis für weitere Berechnungen benutzt wird und danach erst das ZwischenErgebnis berechnet wird ...

Gruss, Heinileini
 
Heinilein
das mit der Berechnung zum falschen zeit , ist meist der Fehler des Eingebenden sprich der Fehler hält sich vor der Steuerung auf.

Zeig mir ein stück NC Programmcode mit Berechnungen der vermeintlich falsch abgearbeitet wird.
Wenn überhaupt kommt das bei Berechnungen in Schleifen vor die irgendwelche Positionen Berechnen, das liegt dann ganz einfach daran das die Arbeitsweise des Vorlaufpuffers nicht verstanden wird.
Oder beim auslesen von Systemvariablen nicht darauf geachtet wird ob implizierter oder explizierter STOPRE

Das Thema füllt ganze Handbücher .-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Peter!
Leider sitze ich nicht mehr an der Quelle und habe keinen Zugriff auf entsprechenden NC-ProgrammCode.
Ich habe "damals" an Sinumerik 850M hinter dem Phänomen hergeforscht und die Unterstützung von Siemens war "sehr sparsam".
Entweder gab es die ganzen gefüllten Handbücher noch nicht oder Siemens war noch am Knobeln, wer sie denn lesen darf.
Die Folge war z.T. sicherlich, dass mir die Arbeitsweise des VorlaufPuffers in Hinblick auf die R-ParameterBerechungen verschleiert geblieben ist.
Aus wenigen eigenen Erfahrungen und aus diversen Gesprächen mit Kollegen weiss ich, dass das Phänomen auch bei der 840C und 840D immer wieder für ÜberraschungsEffekte gesorgt hat, denen man zuverlässig per Stopre bzw. @714 Einhalt gebieten konnte.
Gruss, Heinileini
 
Je nach Größe des Vorlaufspeichers können natürlich bestimme Phänomene auftauchen, welche sich durch "richtiges" einsetzen von STOPRE beheben lassen.
Ebenso das Wissen welche Abfrage auf welche Parameter automatisch einen Anhalten beim Vorlesen hervorruft.
Schön bei der 840D ist ja das man es schon sieht durch die "Graue" Hinterlegung des Codes.

Wenn man mal in die Falle getappt ist, lernt man erst daraus :p

Es gibt aber andere Steuerungen wie zB bei der Bosch, da ist das ganze durch die 2 Interpreter welche parallel laufen noch interessanter ;)
 
Zurück
Oben