Meldungsprojektierung STEP7

Anna

Level-1
Beiträge
16
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht um das Eintragen von anwenderdefinierten Meldungen in den Diagnosepuffer der CPU.
Eine Frage...
Gibt es beim STEP 7 eine Möglichkeit die anwenderdefinierten Meldungen bei der Meldungsprojektierung zu speichern, damit man nicht jedes Mal beim Anlegen des neuen Projekts diese Meldungen neu projektieren muss?????
 
mit SFC52 ?

Hallo Anna,

ich habe das zwar noch nie gemacht, aber nach kurzem
Durchlesen der Hilfe zu SFC52 (nutzt du den?) würde ich
wie folgt vorgehen:

- Anlegen einer Struktur (UDT) mit diesem Aufbau:
(siehe Hilfe zu SFC52)

Ein Eintrag in den Diagnosepuffer ist intern wie folgt aufgebaut:
Byte Inhalt
1 und 2 Ereignis-ID
3 Prioritätsklasse
4 OB-Nummer
5 und 6 Reserviert
7 und 8 Zusatzinformation 1
9, 10, 11 und 12 Zusatzinformation 2
13 bis 20 Zeitstempel

- Anlegen eines DBs als Array Of Udt. Für jeden Diagnoseeintrag
ein Array-Element.

- DB statisch mit deinen Werten füllen (außer dem Zeitstempel)

- beim Eintreten eines Ereignisses (z.B. 5) das Array-Element 5
auslesen, und an den SFC52 übergeben.

- den DB kannst du immer ins nächste Projekt mitnehmen, also
musst du ihn nicht mehrfach eintippen.

Hattest du das so gemeint ?

Gruß G.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antwort!!!

Vielen Dank für Ihre Antwort!!!
Das Prinzip ist mir klar geworden...

Aber wie übergebe ich ein Array-Element den SFC52 beim Auftreten des Ereignisses, mit der Hilfe ANY-Pointers???

Und beim Anlegen von UDT brauche ich noch mehr Informationen über den Eintragsaufbau, z.B. Prioritätsklasse, OB-Nummer und Zeitstempel.

Der Aufbau von UDT soll mit dem Byte-Inhalt des Eintrags unbedingt übereinstimmen? Damit meine ich, dass es vielleicht möglich ist, nur Meldetexte den SFC52 zu übergeben... Zusatzinfos könnte man zum Beispiel per Hand in einer Funktion eingeben und gerade den SFC52 übergeben???

Gruß, Anna
 
Der richtige Weg?

Hallo Anna,

also von "Fehlertexten" war nie die Rede, ich hoffe du möchtest mit dem
SFC52 kein Meldesystem aufbauen.

Info 1 und 2 sind nur 1 oder 2 Worte lang - siehe Siemens-Hilfe:

Zusatzinformation

In der Zusatzinformation sind zusätzliche Informationen zum Ereignis abgelegt. Diese Zusatzinformationen können für jedes Ereignis unterschiedlichen Inhalt besitzen. Wenn Sie ein Diagnoseereignis erzeugen, dann können Sie den Inhalt dieser Einträge selbst bestimmen.

Wenn Sie eine anwenderdefinierte Diagnosemeldung versenden, können Sie die Zusatzinformationen als Begleitwerte in den (Ereignis-ID-spezifischen) Meldetext integrieren.

Da diese beiden Parameter aber als ANY-Zeiger übergeben werden müssen,
habe ich den Aufbau eines Arrays of UDT empfohlen. Ansonsten könntest
du alles in einen FB packen und die Werte als Konstanten im Programm übergeben.

Natürlich muss diese UDT nur die Infos enthalten, die projektiert werden
sollen, andere Infos, wie die aktuelle Uhrzeit müssen direkt an die SFC
übergeben werden.

Die Prioritätsklasse erhälst du aus den Lokaldaten des jeweiligen OBs, z.B. OBxx_PRIORITY oder OBxx_OB_NUMBR. Hier musst du natürlich entscheiden,
ob es besser ist, diese Infos einmal zu projektieren oder immer wieder dynamisch aus diesen Lokaldaten zu lesen.

Der Zugriff auf ein Element eines Array Of Udt erfolgt so:

- "DB_Symbol".DB_Variable[1].MeinElement

Das gilt natürlich nur, wenn du den Zeiger fest anparametrierst.

Möchtes du einen Baustein schreiben, der immer wieder individuell aufgerufen werden kann, musst du dir einen variablen Any-Zeiger zusammenbauen. Das ist nicht ganz trivial (siehe Beiträge hier im Forum).

Wenn du da mal ganz tief einsteigen möchtest, kann ich dir nur das S7-Buch
von Hans Berger empfehlen! Nicht ganz billig, aber wenn du das durch hast,
kann dich nichts mehr an S7 schrecken!

Viel Erfolg, Gruß G.
 
S7-Buch

Vielen Dank für Ihre Empfehlungen.

Ich würde Sie noch bitten, mir die Angaben (Verlag und Titel) zum S7- Buch vom Hans Berger mitzuteilen.

Gruß, Anna
 
AUTOMATISIEREN mit STEP7 in KOP und FUP;

Ich hab nur die KOP und FUP Ausgabe zur Hand.
4. Auflage 2005

ISBN 3-89578-253-X

So long MR :cool:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für richtiges Chaos ...

mr__mines schrieb:
Ich hab nur die KOP und FUP Ausgabe zur Hand.
4. Auflage 2005

ISBN 3-89578-253-X

So long MR :cool:

... braucht man nicht nur schnelle Computer (wie ein Kollege hier
öfters mal erwähnt), sondern auch Zeiger. Und die gibts in Step7
nun mal nur in AWL!

Gruß G.
 
Zurück
Oben