Guten Morgen,
ich programmiere derzeit erstmalig in SCL, da ich ein Array von einer Robotersteuerung über Profibus an meine S7 1200 übergeben möchte.
Der Roboter meldet :Möchte Daten senden über ein Bit dann soll auf SPS-Seite über eine IF-Bedingung der SCL Code ablaufen.
Im SCL Programm soll dann Feld für Feld vom Roboter in die SPS geschrieben werden.
Ich habe ein IntegerWord, welches den Wert des jeweiligen Feldes abbildet und einige Bits zur Kommunikation (zB. SPS: habe verstanden, bitte nächsten Wert senden Roboternächster Wert ist bereitgestellt..)
Im Prinzip also jeweils eine Schleife auf jeder Seite die Zeilen und Spalten des Arrays durchläuft.
Nun zur eigentliche Frage: Eine SPS arbeitet ja zyklisch und soweit ich das verstanden habe werden pro Zyklus in FUP/AWL erstmal alle Ausganswerte ermittelt und am Ende des Zyklus tatsächlich auch beschrieben oder? Innerhalb meiner oben beschriebenen Schleife befinde ich mich ja in einem Zyklus der SPS (der quasi kurz etwas verzögert wird, da erstmal die SCL schleife (Daten empfangen) abgearbeitet wird.) Wie ist das nun wenn ich innerhalb meiner SCL-Schleife Ausgänge erst High und dann Low setzte? Passiert das tatsächlich dann auch oder wird am Ende der letzte Wert übernommen (hier LOW) und dann auf den Ausgang geschrieben?
Gleiche Frage für die Eingänge, wenn sich während meiner SCL-Schleife die Eingänge ändern, kann ich das im Programm überhaupt sehen oder stehen die neuen Eingangswerte erst im nächsten SPS Zyklus bereit?
Vielen Dank für eine kleine Erklärung wie das so läuft J
Gruß
Tom
ich programmiere derzeit erstmalig in SCL, da ich ein Array von einer Robotersteuerung über Profibus an meine S7 1200 übergeben möchte.
Der Roboter meldet :Möchte Daten senden über ein Bit dann soll auf SPS-Seite über eine IF-Bedingung der SCL Code ablaufen.
Im SCL Programm soll dann Feld für Feld vom Roboter in die SPS geschrieben werden.
Ich habe ein IntegerWord, welches den Wert des jeweiligen Feldes abbildet und einige Bits zur Kommunikation (zB. SPS: habe verstanden, bitte nächsten Wert senden Roboternächster Wert ist bereitgestellt..)
Im Prinzip also jeweils eine Schleife auf jeder Seite die Zeilen und Spalten des Arrays durchläuft.
Nun zur eigentliche Frage: Eine SPS arbeitet ja zyklisch und soweit ich das verstanden habe werden pro Zyklus in FUP/AWL erstmal alle Ausganswerte ermittelt und am Ende des Zyklus tatsächlich auch beschrieben oder? Innerhalb meiner oben beschriebenen Schleife befinde ich mich ja in einem Zyklus der SPS (der quasi kurz etwas verzögert wird, da erstmal die SCL schleife (Daten empfangen) abgearbeitet wird.) Wie ist das nun wenn ich innerhalb meiner SCL-Schleife Ausgänge erst High und dann Low setzte? Passiert das tatsächlich dann auch oder wird am Ende der letzte Wert übernommen (hier LOW) und dann auf den Ausgang geschrieben?
Gleiche Frage für die Eingänge, wenn sich während meiner SCL-Schleife die Eingänge ändern, kann ich das im Programm überhaupt sehen oder stehen die neuen Eingangswerte erst im nächsten SPS Zyklus bereit?
Vielen Dank für eine kleine Erklärung wie das so läuft J
Gruß
Tom