Hallo zusammen,

ich benötige Hilfe bei einem Programmierproblem Simatic S7. Ich habe folgendes Problem. Ich benötige für ein Alarmierungssystem welches über Direktkommunikation an die CPU angebunden ist einen Übergabe DB. Dieser DB beinhaltet u.a. ein Signalisierungsbit und einen Datenspeicher von 50 DINT Werten. Jetzt habe ich an verschiedenen Stellen in meiner CPU Störungen durch RS-Glieder realisiert. Kommt es nun zu einer positiven Flanke am RS-Glied soll wenn Signalisierung auf 0 steht ein festdefinierter Störmeldecode in den Übergabe DB nach dem FIFO Prinzip geschoben werden. Wenn Signalisierung jedoch auf 1 steht muss gewartet werden bis dieser abgefallen ist und dann nachgeschoben werden.

Derzeit habe ich einen Multiinstanz FB entworfen der als Übergabeparameter das Störbit des RS, den Code(DINT) und noch einen Offset(DINT) bekommt und diese Funktion ausführt. Jedoch muss ich dann nach jeder Störung eine Multiinstanz callen was viel Aufwand für mich besonders bei bestehenden System bedeutet.

Hat jemand eine Idee wie man dies eleganter lösen kann?