10.11.2013 16:12 | |
Beigetreten: 04.10.2010 Letzter Bes: 20.09.2024 Beiträge: 244 Bewertung: (33) |
Hallo Bastian, sorry, aberirgendwie verstehe ich immer noch nicht, was tu tun willst und wie das Abspeichern ausgelöst werden soll. Willst du immer bei vollen 100mm speichern oder immer wenn der Eingang $A_IN[1] kommt? Zu deinem Programmbeispiel: die Abfrage auf $A_IN[1]=1 ist immer erfüllt, da es ja eine Zuweisung ist ($A_IN[1] wird für 1 IPO-Taktmit 1 überschrieben) und das ergibt immer 1. Abfrage auf 1 funktioniert mit $A_IN[1]==1. Wenn du dir die Doku (Funktionsbeschreibung Synchronaktionen) anschaust, dann solltest du sehen, dass eine Synchronaktion immer auf den nächsten Verfahrsatz wirkt. Also z.B. when $AA_IW[X] >= 100 do $R1=$AA_IW[Y] when $AA_IW[X] >= 200 do $R2=$AA_IW[Y] ... wird dann im folgenden Satz ausgewertet. G1 F1000 G53 X1000 Das ließe sich noch universeller gestalten, je nachdem, was und wie oft du tun willst. Auch hier wieder mein Hinweis auf die Dokumentation. https://www.automation.siemens.com/doconweb/content.asp?item=2995&cd=sinumerik_sinamics_03_2013_d&scope=all Im obigen Beispiel schalten die Synchronaktionen also immer dann, wenn eine Position >= x erkannt wird. Das ergibt aber auch eine Abweichung, die in Bereich des Verfahrweges während 1 IPO-Taktes liegt. Ist das genau genug? Was soll die Aussage 'ein andere REAL wert der dort eingeschrieben werden soll...' sagen? Woher kommt der REAL Wert, soll er als Bedingung für das Auslösen der Positionsspeicherung dienen, soll er in die R-Parameter geschrieben werden, ... Viel Erfolg Günther |
'Funktioniert nicht' ist keine Fehlerbeschreibung |
|
Folgen Sie uns auf