Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Drehzahl pendeln lassen

Beitrag 13.08.2009, 18:30 Uhr
screwdriver77
screwdriver77
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.04.2008
Beiträge: 9
Hallo an alle CNCler.

Bei Okuma Maschinen gibt es die Option die Drehzahl unabhängig von der Werkzeugbewegung pendeln zu lassen.
Das würde ich gerne an der 840D nach programmieren. Da ich an einer Zweischlitten Drehmaschine arbeite, kann ich auch
wirklich die Spindel unabhängig vom Werkzeug programmieren.
Aber das ist auch schon das Problem. Wenn ich mit beiden Werkzeugen arbeite, habe ich überlegt mit einer IF-Else Schleife
Parameter Berechnung und einer kleinen Bewegung des Werkzeuges an mein Ziel zu kommen.
Aber wenn ich nur ein Werkzeug habe, dieses im 1.Kanal drehen soll und die Drehzahl im 2.Kanal pendeln soll wie programmiere ich das am besten?
Die Startanweisung zum pendeln ist ja schnell gemacht aber ich muss ja dem 2.Kanal auch sagen können wann Schluss ist
da ich das pendeln als Schleife programmieren wollte. Ich währe Euch dankbar für ein paar Ideen.

Gruss René
   
Beitrag 13.08.2009, 19:07 Uhr
InTex
InTex
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 19.02.2007
Beiträge: 4.191
QUOTE (screwdriver77 @ 13.08.2009, 19:30) *
Hallo an alle CNCler.

Bei Okuma Maschinen gibt es die Option die Drehzahl unabhängig von der Werkzeugbewegung pendeln zu lassen.
Das würde ich gerne an der 840D nach programmieren. Da ich an einer Zweischlitten Drehmaschine arbeite, kann ich auch
wirklich die Spindel unabhängig vom Werkzeug programmieren.
Aber das ist auch schon das Problem. Wenn ich mit beiden Werkzeugen arbeite, habe ich überlegt mit einer IF-Else Schleife
Parameter Berechnung und einer kleinen Bewegung des Werkzeuges an mein Ziel zu kommen.
Aber wenn ich nur ein Werkzeug habe, dieses im 1.Kanal drehen soll und die Drehzahl im 2.Kanal pendeln soll wie programmiere ich das am besten?
Die Startanweisung zum pendeln ist ja schnell gemacht aber ich muss ja dem 2.Kanal auch sagen können wann Schluss ist
da ich das pendeln als Schleife programmieren wollte. Ich währe Euch dankbar für ein paar Ideen.

Gruss René


Hallo Rene`
Meinst du mit Pendeln, daß die Spindel sich abwechselnd mit M3 und M4 bewegt, ohne eine Werkzeugbewegung durchzuführen?
Wenn Ja, dann gibt es die Möglichkeit bei 840D. Wir haben sie beim Stangenwechsel genutzt, damit das Material besser aus der Zange kommt.
Gruß InTex


--------------------
Eine Schraube ohne Gewinde ist ein Nagel

Grüsse aus dem Harz - InTex
   
Beitrag 13.08.2009, 19:52 Uhr
CNCAllgäuer
CNCAllgäuer
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 17.12.2004
Beiträge: 584
Er meint wie es bei Okuma heisst "harmonische Drehzahlschwingung" d.h. die programmierte Drehzahl
schwankt dabei um einen programmierten Prozent/Zeit-Wert ins plus und minus um Schwingungen und Rattern
beim Drehen zu vermeiden.Leider bei meiner LB300 nicht freigeschaltet... coangry.gif

MfG

florian
   
Beitrag 13.08.2009, 20:31 Uhr
InTex
InTex
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 19.02.2007
Beiträge: 4.191
QUOTE (CNCAllgäuer @ 13.08.2009, 20:52) *
Er meint wie es bei Okuma heisst "harmonische Drehzahlschwingung" d.h. die programmierte Drehzahl
schwankt dabei um einen programmierten Prozent/Zeit-Wert ins plus und minus um Schwingungen und Rattern
beim Drehen zu vermeiden.Leider bei meiner LB300 nicht freigeschaltet... coangry.gif

MfG

florian


Harmonische Drehzahlschwingung durch periodische Drehzahländerung ---- scheint es wohl nur bei Okuma zugeben, wie ihr schon sagt.
Ich habe alles durchgewälzt und finde nichts in der Art, nicht mal artverwandt. Vielleicht kommt da noch etwas ans Licht im Forum.


--------------------
Eine Schraube ohne Gewinde ist ein Nagel

Grüsse aus dem Harz - InTex
   
Beitrag 13.08.2009, 22:55 Uhr
uli12us
uli12us
Level 8 = Community-Ehrenmitglied
********
Gruppe: Mitglied
Mitglied seit: 20.04.2002
Beiträge: 5.008
Es würde mich wundern, wenn man das bei Siemens nicht hinbekommt. Eventuell mit Synchrinaktionen, bloss weiss ich lediglich, dass es die gibt, aber nicht, wie man damit umgeht.
   
Beitrag 15.08.2009, 10:10 Uhr
screwdriver77
screwdriver77
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.04.2008
Beiträge: 9
Genau um diese Harmonische Drehzahl Schwingung geht es mir. In der Anwender Doku von Siemens steht zwar viel drin aber das was interessant
wäre ist nur für Positionierachsen möglich. Kann man evtl. eine virtuelle X- Achse programmieren? Oder kann ich in einer If- Else Schleife
abfragen: Wenn die Spindel aus ist (M5) beende die Schleife (If- Else) und mache an diese Stelle weiter. Geht das?
   
Beitrag 15.08.2009, 12:13 Uhr
Teileschneider
Teileschneider
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 02.03.2003
Beiträge: 25
Wenn's 'ne Gildemeister Maschine ist, könntest Du mal bei denen beim Service nachfragen. Die haben dafür 'nen Zyklus (heißt S_ALTERNIEREN oder so). Hab ich mal auf 'ner GMX gesehen. Das geht irgendwie mit 'ner Synchronaktion. Aber wenn Du wissen willst wie, musst Du den Geier fragen wink.gif

Gruß Teileschneider
   
Beitrag 30.08.2009, 16:14 Uhr
screwdriver77
screwdriver77
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.04.2008
Beiträge: 9
Hallo.

Ich habe in den letzten Wochen mal ein bisschen programmiert. Mit zwei Werkzeugen und die Drehzahl regulieren, das funktioniert nicht. Ein Programm
wo im ersten Kanal das Werkzeug programmiert ist und im zweiten Kanal die Drehzahl programmiert ist sieht so aus.

Kanal1:
G0 Z2
G0 X19
H99=2(Syncronisationsmarke)
G1 X19 Z-100 F0,1
G1 X22

Kanal2:
H99=2
GETD(S)
ANFANG:
STOPRE
G95 S=R9 M4
G95 S=R5
R13=R13+1
IF R13>=R11 GOTOF ENDE
STOPRE
GOTOB ANFANG
ENDE:
G0 G53 X2=630 D0 M5


Die Parameter R9/R5 beinhalten die Drehzahl die ich zuvor im Programm über Unterprogramme berechne.
Bei R9 ist sie um 10% kleiner als bei R5. R13 ist ein Zähler und in R11 steht ein fester Wert um die Schleife beenden zu können.
Ein Kollege meinte, ich sollte die Drehzahl mit G96 programmieren um so ein Springen des Vorschubes zu vermeiden was ich noch
machen werde. Das Schwingen der Drehzahl über einen Zähler laufen zu lassen ist natürlich sehr ungenau aber ich wusste mir nicht
anders zu helfen.

In unserer Docu steht zum Thema Kanal Koordinierung das ein Datenaustausch zwischen den Kanälen über die Variablen
(NCK- spezifische globale Variable) möglich ist. Wer kann mir dazu ein paar Tipps geben damit ich die Schleife besser an das
Werkzeug anpassen kann?

Mfg Screwdriver77

Der Beitrag wurde von screwdriver77 bearbeitet: 30.08.2009, 16:27 Uhr
   
Beitrag 30.08.2009, 18:56 Uhr
uli12us
uli12us
Level 8 = Community-Ehrenmitglied
********
Gruppe: Mitglied
Mitglied seit: 20.04.2002
Beiträge: 5.008
Stell doch mal ne Anfrage, bei Siemens direkt. Wenn die das nicht wissen, weiss es keiner.
   
Beitrag 14.12.2009, 13:16 Uhr
Pit2
Pit2
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 22.11.2004
Beiträge: 5
QUOTE (screwdriver77 @ 30.08.2009, 16:14) *
Hallo.

Ich habe in den letzten Wochen mal ein bisschen programmiert. Mit zwei Werkzeugen und die Drehzahl regulieren, das funktioniert nicht. Ein Programm
wo im ersten Kanal das Werkzeug programmiert ist und im zweiten Kanal die Drehzahl programmiert ist sieht so aus.

Kanal1:
G0 Z2
G0 X19
H99=2(Syncronisationsmarke)
G1 X19 Z-100 F0,1
G1 X22

Kanal2:
H99=2
GETD(S)
ANFANG:
STOPRE
G95 S=R9 M4
G95 S=R5
R13=R13+1
IF R13>=R11 GOTOF ENDE
STOPRE
GOTOB ANFANG
ENDE:
G0 G53 X2=630 D0 M5


Die Parameter R9/R5 beinhalten die Drehzahl die ich zuvor im Programm über Unterprogramme berechne.
Bei R9 ist sie um 10% kleiner als bei R5. R13 ist ein Zähler und in R11 steht ein fester Wert um die Schleife beenden zu können.
Ein Kollege meinte, ich sollte die Drehzahl mit G96 programmieren um so ein Springen des Vorschubes zu vermeiden was ich noch
machen werde. Das Schwingen der Drehzahl über einen Zähler laufen zu lassen ist natürlich sehr ungenau aber ich wusste mir nicht
anders zu helfen.

In unserer Docu steht zum Thema Kanal Koordinierung das ein Datenaustausch zwischen den Kanälen über die Variablen
(NCK- spezifische globale Variable) möglich ist. Wer kann mir dazu ein paar Tipps geben damit ich die Schleife besser an das
Werkzeug anpassen kann?

Mfg Screwdriver77
   
Beitrag 14.12.2009, 13:48 Uhr
schillingw
schillingw
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 22.12.2001
Beiträge: 470
Hallo Pit2,

kannst du uns mal erklären was das Posting vor 25 min bedeuten soll, das ist doch 1:1 kopiert
von screwdriver77 und wieder reingestellt und das ohne Komentar.
Wenn ich was falsch sehe, klärt mich bitte auf.

Gruß

Walter


--------------------
Es geht nicht nebeneinander, schon gar nicht gegeneinander,
es geht nur miteinander.
   
Beitrag 14.12.2009, 14:08 Uhr
Pit2
Pit2
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 22.11.2004
Beiträge: 5
Hallo,

sorry, ich wollte eigentlich schreiben, dass ich das Problem mit synkronaktion gelöst habe.
Wenn noch erklärungsbedarf besteht bitte melden.

Gruss,
   
Beitrag 20.12.2009, 17:19 Uhr
screwdriver77
screwdriver77
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.04.2008
Beiträge: 9
Hallo Pit 2,

kannst Du mir schreiben wie Du mein Problem mit "Synkronaktion" gelöst hast?
Das würde mich sehr interessieren.

Screwdriver77
   
Beitrag 11.01.2010, 07:35 Uhr
Pit2
Pit2
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 22.11.2004
Beiträge: 5
Hallo Screwdriver77,
so habe ich das gemacht

R26=5
R25=10
STOPRE
CANCEL(201,202,203,204,205)
STOPRE
IDS=201 WHEN $R27==0 DO $AA_OVR[S1]=100 $AC_TIMER[1]=-1
IDS=202 EVERY $R27==1 DO $AC_TIMER[1]=0
ids=203 do $r[20]=$ac_timer[1]
IDS=204 WHEN $AC_TIMER[1]>$R25 DO $AC_TIMER[1]=0; $AA_OVR[S1]=100
IDS=205 DO $R28=360/$R25*$AC_TIMER[1] $R24=sin($R28) $AA_OVR[S1]=$R24*$R26+100

M30

Mit R26 kannst du die Höhe und mit R25 für die Dauer der Drehzahlamlpitude beinflussen
Gruss.
   
Beitrag 30.01.2013, 14:53 Uhr
GWaste
GWaste
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 09.04.2006
Beiträge: 152
Hallo,
das Thema ist jetzt schon etwas älter, aber ich hätte trotzdem noch Fragen dazu.
Ich wollte mich auch etwas mit den Synchronaktionen beschäftigen, im Grunde geht es auch um Drehzahlvariation. (Zumindest hatte ich mir das als relativ einfachen Einstieg vorgestellt...)
Grundsätzliche Frage: Kann mir das Programm jemand erklären? Mein Problem ist einfach, dass ich z.B. keine Definition für $R27 finde. Auch die Sätze die mit IDS=201 bis IDS=204 beginnen sind mir etwas schleierhaft. Wozu brauch ich die?
Wozu brauch ich speziell den Satz IDS=204 ... überhaupt? Ein Sinus läuft doch zwangsläufig bei R25 wieder durch 0? Geht es darum, einen Wert zu begrenzen?
Zumindest beim Letzten IDS... steig ich durch. Das "+100" wird dann wohl die programmierte Drehzahl(P_S[1]???) sein, oder?.
Das Programm wirkt dann praktisch bis zum M30, wenn es nicht mit CANCEL wieder beerdigt wird. Kann man das auch als Unterprogramm auslegen, oder müssen Synchronaktionen im Hauptprogramm sein?

Viele Grüße!


--------------------
"Mama! Mama! Der Aufschwung ist da!!!"
"Da. Nicht hier."
   
Beitrag 30.01.2013, 16:48 Uhr
DMC635V
DMC635V
Level 6 = Community-Doktor
******
Gruppe: Mitglied
Mitglied seit: 12.08.2010
Beiträge: 844
Genaue Details zu Synchronaktionen findest du im Programmierhandbuch Arbeitsvorbereitung unter Punkt 10

$R21 bedeutet dasselbe wie R21, nur ist dieser Aktualisiert.
Synchronaktionen sind Aktionen die im IPO Takt abgearbeitet werden. Dabei sind für die Abfragen nur Aktualisierte Variablen wie z.B. $A_... oder eben $R erlaubt (sogenannte Hauptlaufvariablen).

Die ID ist eine Identifikation und bestimmt auch gleich wie eine SA gültig ist. So gilt eine Aktion ohne ID nur für den nächsten Satz. Solche Mit ID gelten im Automatikbetrieb bis zum Cancel und Aktionen mit IDS laufen in allen Betriebsarten bis Cancel. Für diesen Fall würde sich also sowiso ID besser eignen.

Die Synchronaktionen können im Unterprogramm aufgerufen und auch beendet werden.

Zu den dir unbekannten Sätzen schaust du am besten die Anleitung durch, und fragst danach noch mal was dir noch nicht klar ist. Ein bischen Arbeit sollst du ja auch noch haben. wink.gif

Edit: Die $A... Variablen findest du im Listenhandbuch Systemvariablen. Ctrl+F wird dir helfen wink.gif

Der Beitrag wurde von DMC635V bearbeitet: 30.01.2013, 16:51 Uhr


--------------------
Freundliche Grüsse
DMC635V
   
Beitrag 30.01.2013, 17:36 Uhr
GWaste
GWaste
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 09.04.2006
Beiträge: 152
Hallo,
erstmal Danke! an DMC635V für die ausführliche Antwort.
Ok das $ vor den R-Variablen bedeutet also, dass es immer aktualisiert wird, das ist mir jetzt klar.
Meine Fragen bezogen sich aber auch auf die Logik hinter dem Programm.
1. Wo ist $R27 definiert? Kann es sein, dass R27 das Ganze einfach "nur" ein- bzw. ausschaltet?
2. Warum legt Pit2 den Timer auf das Parameter $R20, rechnet aber in $R28 direkt mit dem Timer?
Das wären jetzt mal die zwei drängensten Fragen. Den Rest werd ich mir (hoffentlich) aus den Handbüchern holen können.

Das Listenhandbuch is ja mal ... umfangreich... Da werd ich mal zu tun haben. wacko.gif Das im Handbuch Arbeitsvorbereitung ist auch nicht schlecht.

Viele Grüße!


--------------------
"Mama! Mama! Der Aufschwung ist da!!!"
"Da. Nicht hier."
   
Beitrag 30.01.2013, 18:51 Uhr
DMC635V
DMC635V
Level 6 = Community-Doktor
******
Gruppe: Mitglied
Mitglied seit: 12.08.2010
Beiträge: 844
R27 Dient hier tatsächlich als Schalter. Ich würde das Ein-/Ausschalten aber über ein Unterprogramm Lösen. Und wenn mit R Parametern, dann müsste bei der ersten abfrage auch ein "EVERY" statt ein "WHEN" stehen.

R20 wird wohl beschrieben, damit man in der Tabelle den Wert von AC_TIMER auslesen kann.

Im Listenhandbuch hilf die Suchfunktion (Ctr+F) ungemein. So kannst du dir ein Stichwort ausdenken und wenn dies nicht klappt ein alternatives...
Mit der Zeit weiss man nach welchen Wörtern man etwa suchen muss. Zudem sind die Variablen nach Funktion geordnet.

Der Beitrag wurde von DMC635V bearbeitet: 30.01.2013, 18:52 Uhr


--------------------
Freundliche Grüsse
DMC635V
   
Beitrag 30.01.2013, 21:30 Uhr
ILoveMyHaas
ILoveMyHaas
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 03.08.2012
Beiträge: 107
QUOTE (InTex @ 13.08.2009, 20:31 Uhr) *
Harmonische Drehzahlschwingung durch periodische Drehzahländerung ---- scheint es wohl nur bei Okuma zugeben, wie ihr schon sagt.
Ich habe alles durchgewälzt und finde nichts in der Art, nicht mal artverwandt. Vielleicht kommt da noch etwas ans Licht im Forum.


Gibt es auch bei Haas Maschinen. M38 (SSV Ein), M39 (SSV Aus)

Und wenn die das schaffen sollte es doch bei einer Siemens Steuerung auch möglich sein?!
   
Beitrag 01.02.2013, 09:12 Uhr
Pit2
Pit2
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 22.11.2004
Beiträge: 5
Hallo Gwaste,
1. Wo ist $R27 definiert? Kann es sein, dass R27 das Ganze einfach "nur" ein- bzw. ausschaltet?
jawohl, mit R27 wird "geschaltet".

2. Warum legt Pit2 den Timer auf das Parameter $R20, rechnet aber in $R28 direkt mit dem Timer?
Der R20 ist nur zur Ansicht für weitere Zwecke verwendet worden. Dieser Satz im Programm kann auch entfallen.
Gruß,
   
Beitrag 02.02.2013, 14:53 Uhr
GWaste
GWaste
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 09.04.2006
Beiträge: 152
Hallo zusammen,
erst mal Danke an alle für die Hilfe.
Ich hab das ganze jetzt etwas abgeändert und das als Unterprogramm realisiert. Obwohl ich sagen muss, die Variante, mit R27 zu schalten hat auch ihren Charm. Ich hab auch mal probiert, statt R-Parametern $AC-PARAM[n] zu verwenden. Geht grundsätzlich auch. Wenn man dann aber, während das Pendeln aktiv ist, das Programm abbricht, werden die wieder auf 0 gesetzt. Dann hab ich eine Divisions durch Null => Arithmetikfehler => Neustart...

Ich häng Haupt- und Unterprogramm mal an, falls da es etwas zu verbessern/ändern gibt, kein Problem, das war mein erster Versuch mit Synchronaktionen. Kann also gut sein, dass ihr da was anders machen würdet. wink.gif
Ach ja, die Amplitude ist in Prozent, die Periodendauer natürlich in Sekunden.

@offtopic. Leider hab ich nur auf die allererste Antwort von DMC635V eine Benachrichtigung bekommen. Alle anderen Antworten hab ich erst gestern gesehen.

Viele Grüße

TEST.MPF
N1 EXTERN VARS_ON(REAL,REAL)
N2 G_RESET
N3 T="FRAESER_D10" M6
N4 S10000 M3
N5 G4 F5
N6 VARS_ON(1,2)
N7 G4 F20
N8 VARS_OFF
N9 G4 F5
N10 M30

VARS_ON.SPF
N1 PROC VARS_ON (REAL AMPLITUDE, REAL PERIODENDAUER)
N2 STOPRE
N3 CANCEL (1,2,3,4)
N4 STOPRE
N5 IDS=1 DO $R101=AMPLITUDE
N6 IDS=2 DO $R102=PERIODENDAUER
N7 $AC_TIMER[1]=0
N8 IDS=3 EVERY $AC_TIMER[1]>$R102 DO $AC_TIMER[1]=0
N9 IDS=4 DO $AA_OVR[S1]=SIN(360*$AC_TIMER[1]/$R102)*$R101+100
N10 M17

VARS_OFF.SPF
N1 CANCEL(1,2,3,4)
N2 M17


--------------------
"Mama! Mama! Der Aufschwung ist da!!!"
"Da. Nicht hier."
   
Beitrag 02.02.2013, 16:12 Uhr
DMC635V
DMC635V
Level 6 = Community-Doktor
******
Gruppe: Mitglied
Mitglied seit: 12.08.2010
Beiträge: 844
QUOTE (GWaste @ 02.02.2013, 14:53 Uhr) *
Ich hab auch mal probiert, statt R-Parametern $AC-PARAM[n] zu verwenden. Geht grundsätzlich auch. Wenn man dann aber, während das Pendeln aktiv ist, das Programm abbricht, werden die wieder auf 0 gesetzt. Dann hab ich eine Divisions durch Null => Arithmetikfehler => Neustart...

Diesen Fehler umgehst du, wenn du $AC-PARAM[n] nicht in einer Synchronaktion beschreibst, sondern nur einmal am Anfang des Zyklus. So sparst du dir auch Synchronaktionen, denn desto mehr SA, desto Länger der IPO Takt. Wenn es überladen wird bringt die Steuerung einen Fehler.

Das Problem ist, dass nach dem Programmabbruch kein Wert mehr in den Variablen PERIODENDAUER und AMPLITUDE ist, dieser jedoch von der Synchronaktion weiterhin abgefragt wird. Dies führt zu einer 0 in $AC-PARAM[n].

Ansonsten sieht es eigentlich ganz gut aus. Genau aus diesem Grund liebe ich die Siemens Steuerung: Schier unbegrenzte Möglichkeiten wink.gif

Also ca so:
VARS_ON.SPF
N1 PROC VARS_ON (REAL AMPLITUDE, REAL PERIODENDAUER)
N2 STOPRE
N3 CANCEL (1,2)
N4 STOPRE
N5 $AC_PARAM[1]=AMPLITUDE
N6 $AC_PARAM[2]=PERIODENDAUER
N7 $AC_TIMER[1]=0
N8 IDS=1 EVERY $AC_TIMER[1]>$AC_PARAM[2] DO $AC_TIMER[1]=0
N9 IDS=2 DO $AA_OVR[S1]=SIN(360*$AC_TIMER[1]/$AC_PARAM[2])*$AC-PARAM[1]+100
N10 M17

VARS_OFF.SPF
N1 CANCEL(1,2)
N2 M17

Der Beitrag wurde von DMC635V bearbeitet: 02.02.2013, 16:21 Uhr


--------------------
Freundliche Grüsse
DMC635V
   
Beitrag 02.02.2013, 21:13 Uhr
nixalsverdruss
nixalsverdruss
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 16.11.2003
Beiträge: 1.511
QUOTE (DMC635V @ 02.02.2013, 16:12 Uhr) *
Das Problem ist, dass nach dem Programmabbruch kein Wert mehr in den Variablen PERIODENDAUER und AMPLITUDE ist, dieser jedoch von der Synchronaktion weiterhin abgefragt wird. Dies führt zu einer 0 in $AC-PARAM[n].

für sowwas ist der ASUP Progevent der aufruf ist einstellbar meist wird er beim hochfahren und bei reset durchlaufen .ist aber auch so einstellbar das er bei NC-Start und Stop durch laufen wird . Dort sollte man die Synchronaktion ausschalten .

QUOTE (DMC635V @ 02.02.2013, 16:12 Uhr) *
Diesen Fehler umgehst du, wenn du $AC-PARAM[n] nicht in einer Synchronaktion beschreibst, sondern nur einmal am Anfang des Zyklus. So sparst du dir auch Synchronaktionen, denn desto mehr SA, desto Länger der IPO Takt. Wenn es überladen wird bringt die Steuerung einen Fehler


Mich würde mehr die berechnung der IPO Takt verlängerung interessieren. Und nicht irgend ein gefassel sondern bitte belegbare Zahlen.
und den Fehler den die Steuerung bringt hat der einen namen oder nummer ?


--------------------
There are only 10 types of people in the world: Those who understand binary, and those who don't
Wir haben einen exponentiellen Zuwachs an Doofen Pack im Forum
   
Beitrag 03.02.2013, 14:07 Uhr
DMC635V
DMC635V
Level 6 = Community-Doktor
******
Gruppe: Mitglied
Mitglied seit: 12.08.2010
Beiträge: 844
QUOTE (nixalsverdruss @ 02.02.2013, 21:13 Uhr) *
für sowwas ist der ASUP Progevent der aufruf ist einstellbar meist wird er beim hochfahren und bei reset durchlaufen .ist aber auch so einstellbar das er bei NC-Start und Stop durch laufen wird . Dort sollte man die Synchronaktion ausschalten .



Mich würde mehr die berechnung der IPO Takt verlängerung interessieren. Und nicht irgend ein gefassel sondern bitte belegbare Zahlen.
und den Fehler den die Steuerung bringt hat der einen namen oder nummer ?


Es ist jedoch trotzdem nicht nötig den Wert über Synchronaktionen die ganze Zeit neu abzufragen, da er sowiso gleich bleibt.

Ich hatte noch nie einen Fehler doch in
$MC_MM_NUM_SYNC_ELEMENTS
steht die Maximale Anzahl Synchronaktionen
und
$AC_SYNC_ACT_LOAD
liefert die Aktuelle laufzeit für SA im letzten IPO Takt.
Zu den SA gibt es noch diverse andere Systemvariablen, die z.B. die Maximale Laufzeit oder die Anzahl freier Aktionen... liefern.
Ausgelesen habe ich die Variablen noch nie, wäre mal Interessant hier einen Vergleich aufzustellen.


--------------------
Freundliche Grüsse
DMC635V
   
Beitrag 04.02.2013, 19:51 Uhr
GWaste
GWaste
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 09.04.2006
Beiträge: 152
Hallo zusammen,
ich hab das jetzt dadurch behoben, dass ich ID statt IDS benutzt habe. So klappts, irgendwelche unbeabsichtigten Auswirkungen hab ich heute bei meinem kurzen Testlauf nicht festgestellt.
Die Programme hängen unten an. Fehlernummer weiß ich leider nicht mehr und auf einen Neustart hatte ich heute echt keinen Bock. wink.gif Es müsste aber 20145 gewesen sein.
$AC_SYNC_ACT_LOAD hat bei mir den Wert "0" ausgegeben. K.A. was da nicht gestimmt hat. coangry.gif Naja, Tage wie dieser...

TEST.MPF
N1 EXTERN VARS_ON(REAL,REAL)
N2 G_RESET
N3 T="BOHRER_D6" M6
N4 S20000 M3
N5 G4 F5
N6 VARS_ON(5,1)
N7 G4 F20
N8 VARS_OFF
N9 G4 F5
N10 M30

VARS_ON.SPF
N1 PROC VARS_ON (REAL AMPLITUDE, REAL PERIODENDAUER)
N2 STOPRE
N3 CANCEL (1,2)
N4 STOPRE
N5 $AC_PARAM[1]=AMPLITUDE
N6 $AC_PARAM[2]=PERIODENDAUER
N7 $AC_TIMER[1]=0
N8 ID=1 EVERY $AC_TIMER[1]>$AC_PARAM[2] DO $AC_TIMER[1]=0
N9 ID=2 DO $AA_OVR[S1]=SIN(360*$AC_TIMER[1]/$AC_PARAM[2])*$AC_PARAM[1]+100
N10 M17

VARS_OFF.SPF
N1 CANCEL(1,2)
N2 M17


--------------------
"Mama! Mama! Der Aufschwung ist da!!!"
"Da. Nicht hier."
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: