-> Hier kostenlos registrieren
Hallo,
ich programmiere zwar gerade hauptsächlich mit CoDeSys 2.3 (Wago), aber ich denke die Frage bezieht sich auf ein grundsätzlichen Problem.
Wie arbeitet ihr mit Funktionen/Funktionsbausteinen die über mehrere Zyklen laufen. z.B. Kommunikationsbausteine
Konkret habe ich hier einen Kommunikationsbaustein mit dem ich auf einen Bus schreibe. Mit positiver Flanke am Enable Signal fängt der Baustein an zu senden. Wenn alle Daten gesendet sind, erfolgreich oder nicht, wird das Ausgangsignal auf True gesetzt. Dabei können während der Ausführung mehrere Zyklen vergehen, bis der Ausgang gesetzt wird. Danach muß das Enable Signal auf False gesetzt werden, damit mit einer neuen positiven Flanke erneut gesendet werden kann.
Da ich mehrere Datensätze zur Initialisierung hintereinander schreiben muß, muß der Baustein mehrmals aufgerufen werden.
Wie geht ihr dabei vor? Ich muß das ganze ja in den zyklischen Aufruf der SPS unterbringen. Ich kann den Bausteinaufruf ja nicht in eine Schleife packen und warten bis der Baustein erfoglreich abgearbeitet ist. Das würde ja die ganze SPS/ den ganzen Task blockieren. Verwendet ihr da Schrittketten?
Gruß
ich programmiere zwar gerade hauptsächlich mit CoDeSys 2.3 (Wago), aber ich denke die Frage bezieht sich auf ein grundsätzlichen Problem.
Wie arbeitet ihr mit Funktionen/Funktionsbausteinen die über mehrere Zyklen laufen. z.B. Kommunikationsbausteine
Konkret habe ich hier einen Kommunikationsbaustein mit dem ich auf einen Bus schreibe. Mit positiver Flanke am Enable Signal fängt der Baustein an zu senden. Wenn alle Daten gesendet sind, erfolgreich oder nicht, wird das Ausgangsignal auf True gesetzt. Dabei können während der Ausführung mehrere Zyklen vergehen, bis der Ausgang gesetzt wird. Danach muß das Enable Signal auf False gesetzt werden, damit mit einer neuen positiven Flanke erneut gesendet werden kann.
Da ich mehrere Datensätze zur Initialisierung hintereinander schreiben muß, muß der Baustein mehrmals aufgerufen werden.
Wie geht ihr dabei vor? Ich muß das ganze ja in den zyklischen Aufruf der SPS unterbringen. Ich kann den Bausteinaufruf ja nicht in eine Schleife packen und warten bis der Baustein erfoglreich abgearbeitet ist. Das würde ja die ganze SPS/ den ganzen Task blockieren. Verwendet ihr da Schrittketten?
Gruß