Siemens
Digital Industries, Motion Control, Machine Tool Systems
8832
Follower:innenVerschachtelung von Schleifen, Fehlermeldung bei der Verschachtelung von Schleifen im Unterprogramm
08.12.2021, 13:34 Uhr
Hallo zusammen,
ich bin sowohl neu hier im Forum, als auch in der Programmierung (Sinumerik 840d) und hoffe auf einen hilfreichen Hinweis.
Ich habe folgendes Problem:
In einem Unterprogramm habe ich zwei ineinander verschachtelte For-Schleifen. Im letzten Schleifendurchlauf der äußeren Schleife bekomme ich immer den Fehler „10720 Satz N5 Achse E1 Softwareendschalter“, jedoch gibt es im Unterprogramm weder einen Satz mit der Nummer N5, noch ist die Achse E1 aktiv (siehe Programm).
DEF INT IVARIABLE1
DEF INT IVARIABLE2
N10 R20=R86
N15 R19=-R95-R86
N20 R18=R98
N25 R1=1
FOR IVARIABLE1=R1 TO R92
N30 R2=1
FOR IVARIABLE2=R2 TO R91
N35 F=R90
N40 G91 G1 G09 Z=R19
N45 G1 G09 Z=R20
N50 G1 G09 X=R98
ENDFOR
N55 G1 G09 Y=R60
N60 R98=-R98
ENDFOR
M2
Meine bisherige Vermutung war, dass der Fehler durch die Verschachtelung der beiden Schleifen kommt. Kann das der Grund sein?
Ich bin um jeden Tipp dankbar.
Schon mal vielen Dank und viele Grüße
Tim
ich bin sowohl neu hier im Forum, als auch in der Programmierung (Sinumerik 840d) und hoffe auf einen hilfreichen Hinweis.
Ich habe folgendes Problem:
In einem Unterprogramm habe ich zwei ineinander verschachtelte For-Schleifen. Im letzten Schleifendurchlauf der äußeren Schleife bekomme ich immer den Fehler „10720 Satz N5 Achse E1 Softwareendschalter“, jedoch gibt es im Unterprogramm weder einen Satz mit der Nummer N5, noch ist die Achse E1 aktiv (siehe Programm).
DEF INT IVARIABLE1
DEF INT IVARIABLE2
N10 R20=R86
N15 R19=-R95-R86
N20 R18=R98
N25 R1=1
FOR IVARIABLE1=R1 TO R92
N30 R2=1
FOR IVARIABLE2=R2 TO R91
N35 F=R90
N40 G91 G1 G09 Z=R19
N45 G1 G09 Z=R20
N50 G1 G09 X=R98
ENDFOR
N55 G1 G09 Y=R60
N60 R98=-R98
ENDFOR
M2
Meine bisherige Vermutung war, dass der Fehler durch die Verschachtelung der beiden Schleifen kommt. Kann das der Grund sein?
Ich bin um jeden Tipp dankbar.
Schon mal vielen Dank und viele Grüße
Tim
08.12.2021, 15:09 Uhr
Viele Alarme beziehen sich nicht auf den jeweils aktiven Satz. Wenn es ein Alarm ist, der im sogenannten "Vorlauf" erkannt wird, können zwischen dem gerade aktiven Satz und dem Fehlerort praktisch beliebig viele Sätze liegen.
Die Vermutung ist also, dass dein Alarm nicht aus dem Unterprogramm kommt, sondern aus dem aufrufenden Hauptprogramm (falls du nicht noch eine tiefere Aufrustruktur hast), und zwar von einer Stelle nach dem Unterprogrammaufruf.
Du solltest also mal im Hauptprogramm nach dem im Alarmtext angezeigten Satz suchen.
Du kannst dann mit einem M0 und nachfolgendem STOPRE vor diesem Satz mal anhalten und überprüfen, wo die Maschine steht.
Damit sollte sich klären lassen, was die Ursache des Alarms ist.
Mit der Schachtelung der beiden Schleifen hat das mit Sicherheit nicht unmittelbar etwas zu tun. Wahrscheinlich schon eher damit, dass in deinen R-Parameterrechnungen, aus denen die anzufahrenden Achspositionen berechnet werden, irgendwo ein Fehler steckt.
Der Beitrag wurde von CNCFr bearbeitet: 08.12.2021, 15:10 Uhr
Die Vermutung ist also, dass dein Alarm nicht aus dem Unterprogramm kommt, sondern aus dem aufrufenden Hauptprogramm (falls du nicht noch eine tiefere Aufrustruktur hast), und zwar von einer Stelle nach dem Unterprogrammaufruf.
Du solltest also mal im Hauptprogramm nach dem im Alarmtext angezeigten Satz suchen.
Du kannst dann mit einem M0 und nachfolgendem STOPRE vor diesem Satz mal anhalten und überprüfen, wo die Maschine steht.
Damit sollte sich klären lassen, was die Ursache des Alarms ist.
Mit der Schachtelung der beiden Schleifen hat das mit Sicherheit nicht unmittelbar etwas zu tun. Wahrscheinlich schon eher damit, dass in deinen R-Parameterrechnungen, aus denen die anzufahrenden Achspositionen berechnet werden, irgendwo ein Fehler steckt.
Der Beitrag wurde von CNCFr bearbeitet: 08.12.2021, 15:10 Uhr
08.12.2021, 17:22 Uhr
Viele Alarme beziehen sich nicht auf den jeweils aktiven Satz. Wenn es ein Alarm ist, der im sogenannten "Vorlauf" erkannt wird, können zwischen dem gerade aktiven Satz und dem Fehlerort praktisch beliebig viele Sätze liegen.
Die Vermutung ist also, dass dein Alarm nicht aus dem Unterprogramm kommt, sondern aus dem aufrufenden Hauptprogramm (falls du nicht noch eine tiefere Aufrustruktur hast), und zwar von einer Stelle nach dem Unterprogrammaufruf.
Du solltest also mal im Hauptprogramm nach dem im Alarmtext angezeigten Satz suchen.
Du kannst dann mit einem M0 und nachfolgendem STOPRE vor diesem Satz mal anhalten und überprüfen, wo die Maschine steht.
Damit sollte sich klären lassen, was die Ursache des Alarms ist.
Mit der Schachtelung der beiden Schleifen hat das mit Sicherheit nicht unmittelbar etwas zu tun. Wahrscheinlich schon eher damit, dass in deinen R-Parameterrechnungen, aus denen die anzufahrenden Achspositionen berechnet werden, irgendwo ein Fehler steckt.
Die Vermutung ist also, dass dein Alarm nicht aus dem Unterprogramm kommt, sondern aus dem aufrufenden Hauptprogramm (falls du nicht noch eine tiefere Aufrustruktur hast), und zwar von einer Stelle nach dem Unterprogrammaufruf.
Du solltest also mal im Hauptprogramm nach dem im Alarmtext angezeigten Satz suchen.
Du kannst dann mit einem M0 und nachfolgendem STOPRE vor diesem Satz mal anhalten und überprüfen, wo die Maschine steht.
Damit sollte sich klären lassen, was die Ursache des Alarms ist.
Mit der Schachtelung der beiden Schleifen hat das mit Sicherheit nicht unmittelbar etwas zu tun. Wahrscheinlich schon eher damit, dass in deinen R-Parameterrechnungen, aus denen die anzufahrenden Achspositionen berechnet werden, irgendwo ein Fehler steckt.
Eine weitere Fehlerursache könnte vielleicht sein das Du in deiner inneren Schleife auf inkrmentelle Positionierung "G91" umgestellt hast, die dann modal wirksam ist und im weiteren Programmablauf jedoch wieder Absolutmaß also "G90" benötigt wird. Weshalb nachfolgend eine Softwarendlage verletzt wird. Ansonsten an das halten was bereits von CNCFr beschrieben wurde.
09.12.2021, 08:20 Uhr
Hallo CNCFR, Hallo CaptainFu,
vielen Dank für eure Hinweise. Habe den Fehler damit finden können.
Der Fehler lag tatsächlich im Hauptprogramm.
Viele Grüße
Tim
vielen Dank für eure Hinweise. Habe den Fehler damit finden können.
Der Fehler lag tatsächlich im Hauptprogramm.
Viele Grüße
Tim
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: