SCL Funktion aus einem AWL FC aufrufen

plant1

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

ich habe einen FC mit SCL geschrieben. Wenn ich diesen FC aus einem FB aufrufe funktioniert dieser einwandfrei. Rufe ich nun diesen FC innerhalb eines weiteren FC auf, so funktioniert er überhaupt nicht mehr. Woran kann das liegen ?

Funktional macht der SCL FC eine zeitabhängige Intervall-Schaltung. Hier wird beim Start die aktuelle Uhrzeit gespeichert und mit verschiedenen Verzögerungszeiten verglichen (Diese stehen in einem Global-DB).

Für Antworten wäre ich sehr dankbar.

mfg. Plant1
 
Hallo plant1

wenn du einen selbstgeschriebenen FC mehrmals in einem Programm aufrufen willst, sind ein paar Punkte zu beachten.
Du darfst die Timer nicht direkt ansprechen zB als T1.
Du darfst keine Merker verwende um Werte zu speichern, die du im nächsten Zyklus noch brauchst.

Wenn du denn T1 direkt ansprichst, wird der Timer beim ersten Aufruf gestartet. Bei nächsten Aufruf des Bausteins wird der Timer wieder gestartet. Die SPS kann dabei nicht zwischen den Baustein aufrufen unterscheiden.
Das gilt auch für Merker.
Wenn du einen wert im MB10 speicherst, wird der Wert beim nächsten Aufruf überschrieben. Im nächsten Zyklus steht dann beim ersten Aufruf der Wert vom letzten Aufruf

Martin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Plant1,

ich schätze, der Fehler liegt an einer Stelle wo du ihn nicht vermutest ;) . Möglicherweise liegt einfach nur bei dem Aufruf aus der FC ein Bausteinparameter in den temporären Lokaldaten, müsste aber eigentlich statisch gespeichert sein? Jede Vermutung ist aber nur Spekulation, ohne den Code zu kennen.


Gruß, Onkel
 
Zurück
Oben