Siemens
Digital Industries, Motion Control, Machine Tool Systems
8832
Follower:innen$AC_PARAM[n]wird mit "0" belegt, Warum wird der Synchronaktions–Parameter im Zyklus mit 0 beschrieben
05.10.2020, 16:37 Uhr
Hallo zusammen,
seit einigen Jahren setze ich einen Zyklus ein um die Drehzahl der Hauptspindel konstant pendeln zu lassen. Das funktioniert auch ohne Probleme. Nun habe ich den Zyklus auf eine andere Maschine gebracht (etwa gleicher Softwarestand aber anderer Maschinenhersteller). Da kommt jedoch immer eine Fehlermeldung ( Arithmetikfehler). Die Fehlermeldung verstehe ich. Da beide Parameter mit 0 beschrieben sind und durch 0 teilen nicht so gut funktioniert
Warum ist jeweils $AC_PARAM[1] und $AC_PARAM[2] mit 0 belegt? Eigentlich sollte durch das zuweisen der Parameter beschrieben werden?
Hier der Zyklus:
N1111 PROC VARI_DREHZ_AN(REAL AMPLITUDE, REAL PERIODENDAUER)
;
N1112 STOPRE
N1113 CANCEL (1,2)
N1114 STOPRE
N1115 $AC_PARAM[1]=AMPLITUDE
N1116 $AC_PARAM[2]=PERIODENDAUER
N1117 $AC_TIMER[1]=0
N1118 ID=1 EVERY $AC_TIMER[1]>$AC_PARAM[2] DO $AC_TIMER[1]=0
N1119 ID=2 DO $AA_OVR[S1]=SIN(360*$AC_TIMER[1]/$AC_PARAM[2])*$AC_PARAM[1]+100
;
N1110 M17
Der Beitrag wurde von Millturn4life bearbeitet: 05.10.2020, 16:37 Uhr
seit einigen Jahren setze ich einen Zyklus ein um die Drehzahl der Hauptspindel konstant pendeln zu lassen. Das funktioniert auch ohne Probleme. Nun habe ich den Zyklus auf eine andere Maschine gebracht (etwa gleicher Softwarestand aber anderer Maschinenhersteller). Da kommt jedoch immer eine Fehlermeldung ( Arithmetikfehler). Die Fehlermeldung verstehe ich. Da beide Parameter mit 0 beschrieben sind und durch 0 teilen nicht so gut funktioniert
Warum ist jeweils $AC_PARAM[1] und $AC_PARAM[2] mit 0 belegt? Eigentlich sollte durch das zuweisen der Parameter beschrieben werden?
Hier der Zyklus:
N1111 PROC VARI_DREHZ_AN(REAL AMPLITUDE, REAL PERIODENDAUER)
;
N1112 STOPRE
N1113 CANCEL (1,2)
N1114 STOPRE
N1115 $AC_PARAM[1]=AMPLITUDE
N1116 $AC_PARAM[2]=PERIODENDAUER
N1117 $AC_TIMER[1]=0
N1118 ID=1 EVERY $AC_TIMER[1]>$AC_PARAM[2] DO $AC_TIMER[1]=0
N1119 ID=2 DO $AA_OVR[S1]=SIN(360*$AC_TIMER[1]/$AC_PARAM[2])*$AC_PARAM[1]+100
;
N1110 M17
Der Beitrag wurde von Millturn4life bearbeitet: 05.10.2020, 16:37 Uhr
05.10.2020, 17:30 Uhr
Das sieht danach aus, dass der Unterschied außerhalb des Zyklus liegt, d.h. zumindest der zweite Übergabeparameter REAL PERIODENDAUER ist Null.
Schau dir doch einfach mal an, was für Werte für AMPLITUDE und PERIODENDAUER in dem Unterprogramm ankommen, z.B. mit einer MSG-Ausgabe.
Schau dir doch einfach mal an, was für Werte für AMPLITUDE und PERIODENDAUER in dem Unterprogramm ankommen, z.B. mit einer MSG-Ausgabe.
29.10.2020, 17:01 Uhr
Das sieht danach aus, dass der Unterschied außerhalb des Zyklus liegt, d.h. zumindest der zweite Übergabeparameter REAL PERIODENDAUER ist Null.
Schau dir doch einfach mal an, was für Werte für AMPLITUDE und PERIODENDAUER in dem Unterprogramm ankommen, z.B. mit einer MSG-Ausgabe.
Schau dir doch einfach mal an, was für Werte für AMPLITUDE und PERIODENDAUER in dem Unterprogramm ankommen, z.B. mit einer MSG-Ausgabe.
Die Übergabe der Parameter funktioniert. Das was ich bei AMPLITUDE und PERIODENDAUER übergebe möchte, kommt auch bei diesen beiden Parametern an. Ich habe einfach, so wie du beschrieben hast, mit einer MSG den Inhalt anzeigen lassen.
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: