Wie können Texte von Alarmmeldungen über die Visu geändert werden?

Pinky

Well-known member
Beiträge
59
Punkte Reaktionen
9
Zuviel Werbung?
->Hier kostenlos registrieren
Moin,
ich versuche gerade ein Störmeldesystem mit einer Beckhoff CX5010 zu realisieren. Es sollen über digitale Eingänge die Zustände verschiedener Anlagen und Maschinen erfasst werden und als Störmeldetext in der Visualisierung erscheinen. Da ich aber jetzt noch nicht sagen kann welche Störung wo aufgelegt ist (oder falls später etwas geändert wird) möchte ich gerne in der Visualisierung die Meldetexte erstellen und ändern können. Deswegen ist meine Frage, gibt es die Möglichkeit eine Textvariable über die Visu zu beschreiben und diese dann in der Alarmgruppe als Meldung angezeigt zu bekommen? Ich habe mich schon verzweifelt durch das Informationsystem von Beckhoff und diverse Netzseiten gelesen und nichts passendes gefunden.
 

Chräshe

Well-known member
Beiträge
817
Punkte Reaktionen
228
Hallo Pinky,

dafür gibt es das Beispiel „Füllstand“!
Sieh dir mal den „AlarmMonitor“ genauer an.
Das sollte genau das sein, was du suchst...

Gruß
Chräshe
 
OP
Pinky

Pinky

Well-known member
Beiträge
59
Punkte Reaktionen
9
Zuviel Werbung?
->Hier kostenlos registrieren
Danke Chräshe,

das ist von der Aufmachung her schon fast das was ich suche. Jetzt muss ich "nur " noch rausfinden wie ich die Störungen archivieren kann. Das wäre schön komfortabel über die originale Störmeldefunktion zu realisieren. Dort hätte ich deklariert das jede Woche eine neue Datei angelegt würde und hätte so eine lückenlose Rückverfolgung der Störmeldungen. Wenn ich nun aber alles wie in dem Beispiel programmiere bräuchte ich jedoch die Möglichkeit die Werte des Störungsarray in eine CSV Datei zu schieben. Ich habe daran gedacht das Array 1000 Werte groß zu deklarieren und immer wenn der Platz voll ist dann sollte der Arrayinhalt in eine Datei geschrieben und anschließend die Werte im Array gelöscht werden um wieder 1000 Werte aufzunehmen. Falls du in der Richtung noch Ideen hast wäre ich für einen Tipp sehr dankbar.

Beste Grüße
Pinky
 
Zuletzt bearbeitet:

Chräshe

Well-known member
Beiträge
817
Punkte Reaktionen
228
File-Funktion

Hallo Pinky,

leider habe ich kein fertiges Beispiel, das hier genau passt und ich dir zur Verfügung stellen darf.
Im InfoSys gibt es inzwischen genug Dokumentation zu den Hilfsfunktionen, dass du bestimmt damit zurecht kommst.

Hier ein paar Links:
FB_FileOpen Öffnen einer Datei.
FB_FilePuts Einen Nullterminierten-String in eine Text-Datei schreiben.
FB_FileClose Schließen einer Datei.
...
Beispiel: Dateizugriff aus der SPS
CSV-Format Hilfsbausteine (ganz unten)

So weit ich mich noch erinnere, musst du aufpassen, dass immer nur eine File-Funktion aktiv ist.
Sonst kommt da eventuell was durcheinander. Viellicht ist das auch inzwischen intern abgefangen – das hab ich nicht mehr geprüft.

Gruß
Chräshe
 
OP
Pinky

Pinky

Well-known member
Beiträge
59
Punkte Reaktionen
9
So, ich habe jetzt (dank Cräshe) ein einigermaßen brauchbares Programm zusammengebastelt. Nun habe ich nur noch das Problem das meine Störmeldesicherungsdatei auf der CX5010 nicht geschrieben wird. Bei meinen zahlreichen Tests auf dem Laptop hat alles wunderbar funktioniert. Ich glaube es liegt am falschen Dateipfad. Das Betriebsystem der CX hat keine Laufwerksbuchstaben. Wie adressiere ich denn da meine Datei ?

Beste Grüße
Pinky
 

Chräshe

Well-known member
Beiträge
817
Punkte Reaktionen
228
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Pinky,

die Info hatte ich auch schon gesucht!
Leider hab ich kein Link, aber eine Notiz aus einem Programm:
Code:
[FONT=courier new]'C:\';             (* XP/W7 PC *)   
'\Hard Disk\';     (* WinCE CF-Karte *)
'\Hard Disk2\';    (* WinCE lokaler USB-Stick *)[/FONT]

Gruß
Chräshe
 
OP
Pinky

Pinky

Well-known member
Beiträge
59
Punkte Reaktionen
9
Hallo Chräshe,

genauso hatte ich den Dateipfad bereits angelegt. Das funktioniert aber erst nachdem ich den Alles Bereinigen Button gedrückt habe. Keine Ahnung warum.
Leider habe ich auch schon wieder ein neues Problem. Ich habe in meinem Projekt einen Ausgang (%IX0.0) den ich eigentlich dafür vorgesehen hatte eine externe Hupe als Störungsmeldung anzusteuern. An der SPS kann ich auch an der zugehörigen LED sehen das der Ausgang angesteuert wird. Aber wenn ich online auf der Steuerung bin bekomme ich folgende Fehlermeldung wie im Screenshot zu sehen:
Störung.jpg
Hast du oder irgendjemand eine Idee was das heißen soll?
Der Ausgang wird nur in dem gezeigten Netzwerk beschrieben (Ausgang_00) und sonst nirgends im Programm verwendet.
Ich weiß nicht mehr weiter. :confused:
Wenn ich meinen Hupe auf einen anderen Ausgang programmiere z.B: Ausgang_02 (%IX0.2) funktioniert alles ohne Fehlermeldung.
 

Chräshe

Well-known member
Beiträge
817
Punkte Reaktionen
228
Hallo Pinky,

als erstes fällt mit auf, dass dein Ausgang mit %IX0.0 deklariert wurde.
Das ist nicht sehr schön – sollte eigentlich %QX0.0 heißen... :rolleyes:

Die Meldung kenne ich so nicht, aber hast du mal die der Funktion ADSLOG_MSGTYPE_MSGBOX herum gespielt?

Im Zweifel erst mal die Ausgänge korrekt deklarieren, alles bereinigen, frisch übersetzen...
Vielleicht ist das Problem dann bereits behoben.

Womöglich liegt auch das Problem bei einem falsch adressierten Array. Dem kommt du mit der Funktion Checkbounds auf die Schliche.

Viel Erfolg,
Gruß Chräshe
 
OP
Pinky

Pinky

Well-known member
Beiträge
59
Punkte Reaktionen
9
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Chräshe,

der Ausgang ist aber richtig deklariert. Entweder hast du etwas gesehen was ich mittlerweile auch nach der 100tsten Betrachtung übersehe oder du meinst das ich die Ausgänge vom FB mit Variablen versehen habe die mit HMI_Q_..... anfangen. Das kommt daher das ich bisher bei S7 immer zugesehen habe das ich die Variablen die ich zur Visualisierung schicke in einen DB packe den ich dann Var_HMI nenne. Ich gebe zu das mir meine Namensgebung in diesem Projekt auch noch nicht so gefällt aber der Ausgang um den es hier geht der heißt "Ausgang_00" und ist folgendermaßen deklariert: Ausgang_00 AT %QX0.0 : BOOL ;
Ich werde mich morgen mal an die Fehlersuche begeben.

Danke
Gruß Pinky
 
OP
Pinky

Pinky

Well-known member
Beiträge
59
Punkte Reaktionen
9
OMG :oops:

ich habe gerade meinen "Fehler" gefunden. In der Urversion meines Programms wollte ich ja die in TwinCat intigierten Alarmmeldungen zur Störungsanzeige nutzen. Dabei hatte ich schon mal die eine oder andere Störung in der Alarm Group eingetragen. In welcher geistigen Umnachtung ich dort %QX0.0 überwachen wollte anstatt %IX0.0 weiß ich auch nicht mehr aber seit ich den Blödsinn gelöscht habe ist das Störmeldefenster weg.

Vielen Dank nochmal für deine Tipps Chräshe.
Gruß Pinky
 
Oben