Struct/UDT als Störmeldebits in Winccflex

SPSSchlumpf

Level-2
Beiträge
54
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe hier eine Anwendung, wo viele gleiche Baugruppen angesteuert werden, und einige Fehler auftreten können. Es gibt einen FB, wo die Baugruppe projektiert wird. Nun würde ich gerne die Fehlermeldungen nicht als einzelne Bits über In/Out o.Ä. rausgeben, sondern als struct/udt.
UDT erstellt, DB erstellt, pro Baugruppe einen Eintrag mit Datentyp UDT -> viel Schreibarbeit gespart...oder auch nicht.
Winccflex kann mit einer Struct/udt nix anfangen als Triggervariable bei den Meldungen

Kennt jemand nen Trick?

SPSSchlumpf

Edit: Wenn man die Variable per Hand anlegt funktionierts...Trotzdem unschön...
 
Zuletzt bearbeitet:
Mit SCL kann man relativ einfach mit Indexen programmieren.

Ich mache etwas in diesen Stil:

Code:
FUNCTION_BLOCK FB_std_DRIVE
 
VAR_INPUT
[snip...]
    object_no : INT ;
    alarm_offset : INT ;
END_VAR
 
[snip...]
"AL".raw[alarm_offset]    :=  al.raw.thermorelay ;
"AL".raw[alarm_offset+1]  :=  al.raw.contactor_timeout ;
"AL".raw[alarm_offset+2]  :=  al.raw.local_isolator ;
"AL".raw[alarm_offset+3]  :=  al.raw.local_stop ;
"AL".raw[alarm_offset+4]  :=  al.raw.aux
Ich definiere pro "Objekt" nur ein Anfangs Alarm-nummer.
Der "AL" DB ist der Alarm-DB für WinCC Flex u.A.

Geht auch mit STL, aber ist VIEL aufwendiger.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

wenn ich sowas mache, haut der Kunde mich...:) Nix AWL, und schon gar kein SCL. KOP oder FUP. Ich hab ja schon ein schlechtes Gewissen wenn ich ne Stuctur an nen Baustein übergebe.

Schlumpf
 
Wenn nur KOP und FUP erlaub sind, dann ist es etwas begrenzend.

Mit TIA Portal und STEP7 v11 soll es angeblich möglich sein mit Indexe in KOP und FUP.
 
Wenn sonst nix geht, erstelle ich die Variablen von Hand. Leider geht dann das automatische Neuverbinden nicht mehr. Muss ich halt gucken dass ich in dem DB nix mehr verschiebe:rolleyes:

Schlumpf
 
Wenn sonst nix geht, erstelle ich die Variablen von Hand. Leider geht dann das automatische Neuverbinden nicht mehr. Muss ich halt gucken dass ich in dem DB nix mehr verschiebe:rolleyes:

Schlumpf

Ich hab mir dazu ein Tool geschrieben, welches aus meinem StörDB die Meldungen und Variablen erzeugt. Wenn sich was ändert werden einfach alle Störungen gelöscht, neu erzeugt und neu eingelesen.
 
Zurück
Oben