Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Verschachtelung von Schleifen, Fehlermeldung bei der Verschachtelung von Schleifen im Unterprogramm

Beitrag 08.12.2021, 13:34 Uhr
Tim_Hes
Tim_Hes
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.12.2021
Beiträge: 2
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
   
Beitrag 08.12.2021, 15:09 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
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
   
Beitrag 08.12.2021, 17:22 Uhr
CaptainFu
CaptainFu
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 09.09.2019
Beiträge: 49
QUOTE (CNCFr @ 08.12.2021, 17: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.


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.
   
Beitrag 09.12.2021, 08:20 Uhr
Tim_Hes
Tim_Hes
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.12.2021
Beiträge: 2
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
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: