Siemens
Digital Industries, Motion Control, Machine Tool Systems
8840
Follower:innenR-Parameter ändern Sync.Aktion, R-Parameter Wert für Synchronaktion ändern während sync. aktiv
06.01.2017, 11:01 Uhr
Hallo,
ich benutze in einem Programm eine Syncaktion als SPF zum Regeln und möchte an zwei Bereichen der Kontur die Regelgröße ändern.
Meine Regelgröße gebe ich mit z.B. : R 40 = 2 zu Beginn vor - mein Gedanke war, an der Stelle im Konturprogramm an der ich es ändern möchte einen Satz einzufügen und R 40 = 1 zu schreiben. Leider funktioniert das net.
Ich habe dann auch versucht erst die Sync.-Funktion zu stoppen (Cancel (...)) und dann den Satz R 40 = 1 zu schreiben und die Sync.aktion wieder zu starten, funktioniert aber auch nicht.
Kann das daran liegen das meine Kontur ein SPF ist, ich darin das SPF für die sync. aktion aufrufe?
Danke für die Hilfe!!!
ich benutze in einem Programm eine Syncaktion als SPF zum Regeln und möchte an zwei Bereichen der Kontur die Regelgröße ändern.
Meine Regelgröße gebe ich mit z.B. : R 40 = 2 zu Beginn vor - mein Gedanke war, an der Stelle im Konturprogramm an der ich es ändern möchte einen Satz einzufügen und R 40 = 1 zu schreiben. Leider funktioniert das net.
Ich habe dann auch versucht erst die Sync.-Funktion zu stoppen (Cancel (...)) und dann den Satz R 40 = 1 zu schreiben und die Sync.aktion wieder zu starten, funktioniert aber auch nicht.
Kann das daran liegen das meine Kontur ein SPF ist, ich darin das SPF für die sync. aktion aufrufe?
Danke für die Hilfe!!!
06.01.2017, 11:27 Uhr
nixalsverdruss
Level 7 = Community-Professor
Gruppe: Mitglied
Mitglied seit: 16.11.2003
Beiträge: 1.511
Mitglied seit: 16.11.2003
Beiträge: 1.511
ich benutze in einem Programm eine Syncaktion als SPF zum Regeln und möchte an zwei Bereichen der Kontur die Regelgröße ändern.
Leider funktioniert das net.
Kann das daran liegen das meine Kontur ein SPF ist, ich darin das SPF für die sync. aktion aufrufe?
Danke für die Hilfe!!!
Leider funktioniert das net.
Kann das daran liegen das meine Kontur ein SPF ist, ich darin das SPF für die sync. aktion aufrufe?
Danke für die Hilfe!!!
ah haste den Kraftregler jetzt in einer Sync Action zusammen gefasst.
deine Fehlerbeschreibung ist das einzige was ich von dem deinem Post verstanden habe. Ich weiß jetzt das es nicht geht ,
aber was geht nicht ?
lässt sich der R40 nicht beschreiben , oder reagiert den Regler nicht ? ober gibt es gar eine Fehlermeldung ?
und wie kann man eine SyncAction als SPF nutzen ?
06.01.2017, 12:19 Uhr
ah haste den Kraftregler jetzt in einer Sync Action zusammen gefasst.
deine Fehlerbeschreibung ist das einzige was ich von dem deinem Post verstanden habe. Ich weiß jetzt das es nicht geht ,
aber was geht nicht ?
lässt sich der R40 nicht beschreiben , oder reagiert den Regler nicht ? ober gibt es gar eine Fehlermeldung ?
und wie kann man eine SyncAction als SPF nutzen ?
deine Fehlerbeschreibung ist das einzige was ich von dem deinem Post verstanden habe. Ich weiß jetzt das es nicht geht ,
aber was geht nicht ?
lässt sich der R40 nicht beschreiben , oder reagiert den Regler nicht ? ober gibt es gar eine Fehlermeldung ?
und wie kann man eine SyncAction als SPF nutzen ?
Hehe, jap habe ich und der Regler Funktioniert auch super. Ich sage in dem Programm lediglich kurz rufe Kraftregeler. spf auf wo die sync.aktionen drinnen stehen und dann gehts ganz normal weiter.
Ja genau das ist mein Problem, der R-Wert wird nicht neu gesetzt, egal was ich mache
Der Beitrag wurde von uk000599 bearbeitet: 06.01.2017, 12:20 Uhr
06.01.2017, 12:55 Uhr
Du musst eine weitere (z.B.) satzweise wirksame Synchronaktion definieren, die an der betreffenden Stelle im Programm den R-Parameter umschreibt.
Die einfache Zuweisung im Programm funktioniert nicht, weil diese Zuweisung asynchron zu den im Hauptlauf wirksamen Synchronaktionen passiert.
Die einfache Zuweisung im Programm funktioniert nicht, weil diese Zuweisung asynchron zu den im Hauptlauf wirksamen Synchronaktionen passiert.
06.01.2017, 15:21 Uhr
nixalsverdruss
Level 7 = Community-Professor
Gruppe: Mitglied
Mitglied seit: 16.11.2003
Beiträge: 1.511
Mitglied seit: 16.11.2003
Beiträge: 1.511
Hehe, jap habe ich und der Regler Funktioniert auch super. Ich sage in dem Programm lediglich kurz rufe Kraftregeler. spf auf wo die sync.aktionen drinnen stehen und dann gehts ganz normal weiter.
Ja genau das ist mein Problem, der R-Wert wird nicht neu gesetzt, egal was ich mache
Ja genau das ist mein Problem, der R-Wert wird nicht neu gesetzt, egal was ich mache
ich habe jetzt keine Lust den alten kram raus zu suchen. Was den dein R40 wirklich ist.
Man sollte vielleicht mal die Begrifflichkeiten klären
Regelgröße
09.01.2017, 13:16 Uhr
Ich bin nicht davon ausgegangen, das es nötig sei für dies Thema es nochmal zu posten. Steht jetzt unten.
Meine R40 ist der Sollwert meiner Regelgröße um die Nomenklatur einzuhalten.
@CNCFr: wie würde das aussehen?
Aktuell versuche ich es so:
N 001 Regler_Ein
N 002 G01 X100 F10
N 003 R40 = 1
N 004 Y40
N 005 R40 = 2
N 006 Regler_Aus
Sollte es eher so klappen?
N 001 Regler_Ein
N 002 G01 X100 F10
N 003 WHEN (Bedingung) DO $R40 = 1
N 004 Y40
N 005 WHEN (Bedingung) DO $R40 = 2
N 006 Regler_Aus
Der Aktuelle Regler:
;R3 = Diff
;R4 = DiffSumme
;R27 =Output
;R28 =Diffalt
;R25 = Diff-Diffalt
;R43 = Obere Limit
;R42 = Unteres Limit
N120 ;***ReglerVariablen***
N122 R22 =R40; Setzen der Sollkraft für Anzeige in FSW-Modus
N124 R23 = 0.00018 ;P (Pkrit 0,0003)
N126 R26 = 0.00003;I
N128 R7 = 0.00026 ;D
N132 ;***BeginnRegler***
N134 ID=1 WHENEVER R41>0.5 DO $R28=$R3; Diff In Diffalt
N136 ID=2 WHENEVER R41>0.5 DO $R25=$R3-$R28; Diff-Diffalt
N138 ID=3 WHENEVER R41>0.5 DO $R3=$R40-$A_INA[1]; Rechne Diff aus
N140 ID=4 WHENEVER R41>0.5 DO $R4=$R4+$R3; Berechne die neue DiffSumme
N142 ID=5 WHENEVER R41>0.5 DO $R27=$R23*$R3+$R26*$R4+R7*R25; (Output = Kp*Diff+Ki*DiffSum+Kd*Diffalt)
N148 ID=8 WHENEVER (($AA_IW[Z2]) > ($R43)) DO $R27= 0 ; Oberes Limit
N150 ID=9 WHENEVER (($AA_IW[Z2]) < ($R42)) DO $R27= 0 ; Unteres Limit
N152 ID=10 WHENEVER R41>0.5 DO POS[Z2]= IC(-$R27)
Meine R40 ist der Sollwert meiner Regelgröße um die Nomenklatur einzuhalten.
@CNCFr: wie würde das aussehen?
Aktuell versuche ich es so:
N 001 Regler_Ein
N 002 G01 X100 F10
N 003 R40 = 1
N 004 Y40
N 005 R40 = 2
N 006 Regler_Aus
Sollte es eher so klappen?
N 001 Regler_Ein
N 002 G01 X100 F10
N 003 WHEN (Bedingung) DO $R40 = 1
N 004 Y40
N 005 WHEN (Bedingung) DO $R40 = 2
N 006 Regler_Aus
Der Aktuelle Regler:
;R3 = Diff
;R4 = DiffSumme
;R27 =Output
;R28 =Diffalt
;R25 = Diff-Diffalt
;R43 = Obere Limit
;R42 = Unteres Limit
N120 ;***ReglerVariablen***
N122 R22 =R40; Setzen der Sollkraft für Anzeige in FSW-Modus
N124 R23 = 0.00018 ;P (Pkrit 0,0003)
N126 R26 = 0.00003;I
N128 R7 = 0.00026 ;D
N132 ;***BeginnRegler***
N134 ID=1 WHENEVER R41>0.5 DO $R28=$R3; Diff In Diffalt
N136 ID=2 WHENEVER R41>0.5 DO $R25=$R3-$R28; Diff-Diffalt
N138 ID=3 WHENEVER R41>0.5 DO $R3=$R40-$A_INA[1]; Rechne Diff aus
N140 ID=4 WHENEVER R41>0.5 DO $R4=$R4+$R3; Berechne die neue DiffSumme
N142 ID=5 WHENEVER R41>0.5 DO $R27=$R23*$R3+$R26*$R4+R7*R25; (Output = Kp*Diff+Ki*DiffSum+Kd*Diffalt)
N148 ID=8 WHENEVER (($AA_IW[Z2]) > ($R43)) DO $R27= 0 ; Oberes Limit
N150 ID=9 WHENEVER (($AA_IW[Z2]) < ($R42)) DO $R27= 0 ; Unteres Limit
N152 ID=10 WHENEVER R41>0.5 DO POS[Z2]= IC(-$R27)
09.01.2017, 19:21 Uhr
Ja, ich meine, dass es so ghen sollte.
Wenn der Parameter einfach nur gesetzt werden soll, sollte es ausreichen, als Bedingung einfach nur TRUE zu schreiben.
Wenn der Parameter einfach nur gesetzt werden soll, sollte es ausreichen, als Bedingung einfach nur TRUE zu schreiben.
11.01.2017, 16:14 Uhr
17.01.2017, 08:53 Uhr
Perfekt, es funktioniert einwandfrei! Danke
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: