TIA Progam_Alarm als Multiinstanz, wie kann ich Begleitwerte heranführen

Moin rostiger Nagel,

ich bin mir nicht sicher, ob ich Dich verstehe.

An welcher Stelle willst Du die Begleitwerte vorgeben?
- in dem FB, direkt am Program_Alarm?
- ein einem FB, in dem Du den FB der den Program_Alarm enthält, als Multiinstanz aufrufst?
- außerhab des FBs, in dem Du den FB, der den Program_Alarm enthält, aufrufst?

Wir haben z.B. einen FB, in dem die Meldungen alle bearbeitet werden. Die Triggerbits werden klassisch in einer FC gesetzt.
In dem DB haben wir eine FOR-Schleife, in der wir den Program_Alarm aufrufen. Einer der Begleitwerte wird mit einer Nummer versehen (Schleifenzähler als Word-Variable; gleichzeitig Index der Meldung (Referenz auf Meldetextliste). In der Meldetextliste steht dann der entsprechende Meldetext.

VG

Mario
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... ja vielleicht ein wenig unglücklich ausgedrückt meinerseits.

Ich habe ein Baustein wo ich eine Meldung mit Program Alarm für eine
Meldung realisieren, dazu hört auch die Auswertung über den Status
und die Quittierung.

Dann füge ich diesen Baustein als Multiinstanz in einen anderen Baustein,
rufe in diesen Baustein die Instanz der auf und füge über die Schnittstelle
meine eigentilche Störmeldung heran. Jetzt möchte ich auch ein paar
Begleitwerte über die Schnittstelle heranführen, das bekomme ich allerdings
nicht hin.

anbei mal die Bausteine

Unbenannt_1.JPG

Der Aufruf "adminErrTransport" funktioniert so, ich möchte in einfach nur Erweitern
damit ich Begleitwerte wie Fehlercode vom FU hinzufügen kann. Das grundsätzliche
Darstellen mit Begleitwerten geht schon, aber nicht als Verschachtelte Multiinstanz.

Unbenannt_2.JPG
 
Moin rostiger Nagel,

warum hast du Program_Alarm als IO und nicht als STATIC deklariert?
Bei "errTest_3" fehlt, neben den Begleitwerten noch das Triggersignal, oder?

Bei uns sieht der Aufruf so aus:

Program_Alarm.jpg

VG

Mario
 
Hallo Mario,
der ProgramAlaram ist schon als Static Deklariert, im aufrufenden Baustein,
den übergebe ich dann an den untergeordneten Baustein.
Die Test aufrufe kannst du ignorieren, das war für mich zum spielen.

Unbenannt_3.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin rostiger Nagel,

wenn Du den Program_Alarm im aufrufenden Baustein als STATIC deklarierst und im aufzurufenden Baustein als IO, dann sind doch zwei Instanzen des Program_Alarm angelegt.

Der Zweck ist mir auch noch nicht ganz klar. Der Program_Alarm ist ja selber ein FB. Wenn der aufrufende FB den Program_Alarm als Instanz (STATIC) enthält, soll er dann seine Parameter (Signal, Begleitwerte) aus dem aufrufenden oder dem aufzurufenden FB erhalten?

Ich würde am #adminErrTransport IN-Parameter anlegen, an denen dann der Begleitwert übergeben wird.

Code:
[FONT=courier new]
#adminErrTransport(SIG := "361-U71:Status".Statusword.Fehler,
                   Option := TRUE,
                   errQuitDone := "361-GDB".Transport.Flag.reset,
                   Reset := "002-GDB".General.Cmd.#errReset,
                   SD_1 := #Begleitwert_1,
[/FONT][FONT=courier new][FONT=courier new]                   SD_2 := #Begleitwert_2);[/FONT]
[/FONT]

VG

Mario
 
Hallo Mario,
ich musste das jetzt mal ein wenig überdenken.
Jetzt habe ich es wie folgt gelöst:

Unbenannt_4.JPG

Unbenannt_5.JPG

mir war nicht bewusst, das in den Melde-Editor von den Meldungen
auch Instanzen erzeugt werden, die ich dann dort bearbeiten kann.

Unbenannt_6.JPG

Macht das ganze ein wenig schlanker ...

Danke für die Hilfe.

gruß RN
 
Moin rostiger Nagel,

das scheint ja eine Auswertung der Fehlermeldung eines MoviTrac zu sein.
Kannst Du mir dazu eine Rückmeldung geben, wenn es im Betrieb läuft?

Mein Traum wäre ja, dass SEW ein paar externe Quellen zur Verfügung stellt, die man dann in TIA einlesen kann.
Am liebsten zu jedem Gerät eine Textliste mit den Fehlermeldungen und Datentypen, die die Prozessdatenschnittstelle bei SEW-eigenen Applikationen abbilden.

VG

Mario
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin rostiger Nagel,

das scheint ja eine Auswertung der Fehlermeldung eines MoviTrac zu sein.
Kannst Du mir dazu eine Rückmeldung geben, wenn es im Betrieb läuft?

Mein Traum wäre ja, dass SEW ein paar externe Quellen zur Verfügung stellt, die man dann in TIA einlesen kann.
Am liebsten zu jedem Gerät eine Textliste mit den Fehlermeldungen und Datentypen, die die Prozessdatenschnittstelle bei SEW-eigenen Applikationen abbilden.

VG

Mario

ja ist MoviTrac, als nächstes wollte ich Moviaxis und dann Movidrive machen.
Die Listen kann ich dir zukommen lassen.
... wenn es den Funktioniert ;)
 
Hi rostiger Nagel,

Die von dir genannten Antriebe verbauen wir auch zu hauf und ich habe da schon länger Gedankenspiele darüber, die Anbindung auf Basis der Bausteine von SEW etwas schöner und "schneller" integrierbar zu gestalten. Dafür hab ich auch den ProgrammAlarm ins Auge gefasst.
Was mich aktuell noch etwas vor Fragen stellt ist die Meldung selber.
Ich würde gerne den erzeugten Baustein Bibliotheksfähig halten und dazu müssten dann auch die Meldungen mehrsprachig möglich sein.
Hast du dich da auch schon damit beschäftigt, oder benötigst du das nicht?

Grüße

Gesendet von meinem SM-A600FN mit Tapatalk
 
Hi rostiger Nagel,

Die von dir genannten Antriebe verbauen wir auch zu hauf und ich habe da schon länger Gedankenspiele darüber, die Anbindung auf Basis der Bausteine von SEW etwas schöner und "schneller" integrierbar zu gestalten. Dafür hab ich auch den ProgrammAlarm ins Auge gefasst.
Was mich aktuell noch etwas vor Fragen stellt ist die Meldung selber.
Ich würde gerne den erzeugten Baustein Bibliotheksfähig halten und dazu müssten dann auch die Meldungen mehrsprachig möglich sein.
Hast du dich da auch schon damit beschäftigt, oder benötigst du das nicht?

Grüße

Gesendet von meinem SM-A600FN mit Tapatalk

Mehrsprachig geht, Texte unter Projektsprachen exportieren, übersetzen und importieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin rostiger Nagel,

warum hast du Program_Alarm als IO und nicht als STATIC deklariert?
Bei "errTest_3" fehlt, neben den Begleitwerten noch das Triggersignal, oder?

Bei uns sieht der Aufruf so aus:

Anhang anzeigen 49698

VG

Mario

Hallo Mario,

wie übergibst du in deinem Programm denn für jede Meldung unterschiedliche Werte für deine Begleitwerte SD2-9?
Sind #TWS_xx Input Parameter? Die wären ja dann für jede Meldung gleich?!

Danke!
 
Moin EnCoder,

in den #Tws_xx - Parametern sind tatsächlich allgemeingültige Werte enthalten. Darin sind Informationen zum Anlagenzustand zum Zeitpunkt der Meldeerzeugung enthalten.
Z.B.: Anlagenbezeichnung, aktuelle Schrittkettennummern, aktuelle Koordinaten (es handelt sich um ein Regalbediengerät), etc.

Meldespezifisch ist eigentlich nur #Sw_Idx, da hier der anzuzeigende Meldetext angegeben wird.

Über den Schleifenindex wird dann ausgewertet, ob die Meldung erzeugt werden soll (<Triggerbits>[#Si_Idx]) und welcher Text ausgegeben werden soll => Meldetextliste

Wichtig ist dann noch die Projektierung von "PLC-Überwachungen & -Meldungen":

Unbenannt.jpg

Durch Anlegen eines Program_Alarm-DBs werden unter Meldungen>Programmmeldungen Meldungstypen angelegt. Hier wird der Meldetext angegeben. Dieser setzt sich aus den einzelnen Begleitwerten zusammen. Die Begleitwerte werden mit @ gekennzeichnet (ähnlich WinCC).

Also, Beispiel unter Meldetext:

@1%12s@ ==> Begleitwert 1, dann %-Zeichen, dann Anzahl Zeichen und Datentyp angeben
@2%t#SD2CTBSSM@ ==> Begleitwert 2, dann %-Zeichen, dann Textliste (t#...) angeben
usw.
usw.

Unter Infotext kann man dann noch einen Text eingeben, der in einer Meldung über den Hilfe-Button aufgerufen werden kann:
Beispiel:

@2%t#SD2InfoSSM@

Dann noch die (globale) Meldeklasse aus gemeinsame Daten angeben.

VG

MFreiberger
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    58,6 KB · Aufrufe: 18
...

Mein Traum wäre ja, dass SEW ein paar externe Quellen zur Verfügung stellt, die man dann in TIA einlesen kann.
Am liebsten zu jedem Gerät eine Textliste mit den Fehlermeldungen und Datentypen, die die Prozessdatenschnittstelle bei SEW-eigenen Applikationen abbilden.

...

In den neueren gsdml-Dateien von SEW (zumindest für Geräte der C-Generation), findest du alle Meldungen in allen von SEW unterstützten Sprachen inkl. Hilfstext.
Mit ein bisschen RegEx-Magie und Excel kann man sich die Texte alle extrahieren und als Textlisten aufbereiten.

Der Vorteil ist, dass die Texte oft vollständiger und neuer sind als die Listen von SEW ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In den neueren gsdml-Dateien von SEW (zumindest für Geräte der C-Generation), findest du alle Meldungen in allen von SEW unterstützten Sprachen inkl. Hilfstext.
Mit ein bisschen RegEx-Magie und Excel kann man sich die Texte alle extrahieren und als Textlisten aufbereiten.

Der Vorteil ist, dass die Texte oft vollständiger und neuer sind als die Listen von SEW ;)


Stell die doch mal bitte hier rein.
 
Den aktuellen Importer kann ich def. nicht weitergeben, zu viel Interna drin.
Ich hab mal ne alte Schmierliste (Prototyp) und die aktuelle Text-Liste in Deutsch/Englisch/Französisch hochgeladen:
https://we.tl/t-DGmYTeESCh

Nr./Index der Liste setzt sich aus Error * 256 + SubError zusammen.
Ich hoffe es hilft. ;)
 
Zurück
Oben