DotNetSimaticDatabaseProtokoller

Hallo Jochen, ja ist es. Aber ich vermute, ganz vorsichtig, dass ich es gerade eben, nachdem ich noch ein wenig herumgesucht habe, gelöst bekommen habe. Der Protokoller ist wieder ohne Fehlermeldung ausgefallen und ließ sich nicht mehr starten. Auch das Löschen der geloggten CSV-Files half nichts. Ich hab einfach mal ohne mir was dabei zu denken, das Ereignisprotokoll von JFK-Solutions (512KB) gelöscht. Unmittelbar davor ließ sich der Dienst (mehrfach) nicht starten, unmittelbar danach lief er problemlos an. Kann es sein, dass trotz der Einstellung im Ereignisprotokoll "Bei Erreichen der Maximalgröße alte Ereignisse überschreiben" das Erreichen der Maximalgröße zu einer "Nichtstartfähigkeit" führt? Ich werde es weiter beobachten. Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jochen, ja ist es. Aber ich vermute, ganz vorsichtig, dass ich es gerade eben, nachdem ich noch ein wenig herumgesucht habe, gelöst bekommen habe. Der Protokoller ist wieder ohne Fehlermeldung ausgefallen und ließ sich nicht mehr starten. Auch das Löschen der geloggten CSV-Files half nichts. Ich hab einfach mal ohne mir was dabei zu denken, das Ereignisprotokoll von JFK-Solutions (512KB) gelöscht. Unmittelbar davor ließ sich der Dienst (mehrfach) nicht starten, unmittelbar danach lief er problemlos an. Kann es sein, dass trotz der Einstellung im Ereignisprotokoll "Bei Erreichen der Maximalgröße alte Ereignisse überschreiben" das Erreichen der Maximalgröße zu einer "Nichtstartfähigkeit" führt? Ich werde es weiter beobachten. Gruß

Danke! Sehr wahrscheinlich ist es das! Hab das im Source schon mal gefixt (Einfach ein Try Catch um das schreiben ins EventLog!), aber Ich sllte auf NLOG oder log4net umsteigen...
Werd mal schauen das ich das logging in der nächsten Woche umbaue...
 
Was mich dabei wundert, das Teil lief ja im alten Windows 7 sieben Monate lang hervorragend und das Ereignisprotokoll war dort auch allerhöchstens einmal im Monat geleert worden. Dort liefen auch, bedingt durch mein altes Skript zur Datenweiterverarbeitung ziemlich viele Zugriffsfehler auf (etwa alle 5 Minuten zwei bis drei Stück pro Verbindung bei zwei Verbindungen insgesamt). Jedenfalls denke ich, dass im alten Windows 7 mit Sicherheit wesentlich mehr Meldungen im Eventlog standen und der Service trotzdem immer weiter lief. Jetzt bei Windows XP, wo das Eventlog nach ca 2-3 Tagen voll war, (und das mit ziemlicher Sicherheit bei kleinerer Ereignisanzahl) trat der Fehler auf. Ich werde jedenfalls in einigen Tagen genau wissen, ob es an dem vollen Eventlog lag. (Habe dessen Größe jetzt im XP auf 4096 KiB gesetzt)...

Gruß
 
Neue Version...

Es gibt mal wieder ne neue Version.

Hab nun einen Zeit Trigger mit Wertevergleich eingebaut. D.h. es werden Zeitgetriggert alle Variablen der SPS gelesen, aber ein Datensatz wird nur geschrieben, wenn sich in den Variablen ein Wert geändert hat!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein paar kleine Updates:

- Parsen von FileName bei Excel & Excel 2007 (so kann Datum und Zeit im Filenamen vorkommen)
- Bugfixes
- Speichern in eine PLC (noch Beta, aber man kanns testen, aber ich garantiere für nichts!)
 
Hallo!


Erstmal großes Danke für das Programm, einfach klasse!

Ich hätte noch einen Vorschlag bzw eine idee, eventuell kann man eine Funktion einbauen indem man einstellen kann das man zb. ein CSV File Zyklisch/Bitgetriggert oder nach einer bestimmen Anzahl von Zeilen ausdrucken lassen kann Automatisch.

mfg!
 
Hi, ich habe das bei meiner Anwendung clientseitig über Batch-Skripte und Cronjobs gelöst. Das klappt wunderbar. Ich sehe solche Funktionalität auch grundsätzlich eher auf Clientseite, weil es die Kernaufgabe des Protokollers aufblähen würde. Aber das ist auch nur meine pers. Meinung.

Mein Skript lief wie folgt ab:

Am ersten eines jeden Monats um 0:00 Uhr:

- Service stoppen
- Logdatei lokal umbenennen
- Service restarten
- Kopie lokal und im Netzwerk unter eindeutigem Namen (Datum, Zeitraum) archivieren

- Datenvorskalierung einer separaten Kopie der Datei (mit einem "R-Skript" nur einen Messwert pro Minute herausschneiden), so habe ich zwei Logversionen. Die eine ist vollständig und bestand pro Monat etwa aus einer CSV-Datei von ca. 70 MiB. Für den schnellen Überblick über Langzeitdaten gibt es dann die zweite, ausgedünnte Datei mit etwa 4-5 MiB

- Kopie löschen
- Log des Vorgangs anzeigen und wegspeichern
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Jochen,

ich sehe das Tool heute das erste mal. Hast du vieleicht eine kurze doku oder Anleitung (konnte keine Doku finden), wie ich eine 313C-2DP per MPI (PC Adapter Siemens USB) verbinden kann und einen DB bzw. Werte die in einem DB sind loggen ? (in eine excel, csv oder so.)

Gibts eine Möglichkeit Event-getriggert zu arbeiten ? also bei änderung eines wertes diesen speichern?

Viele Grüße
SK
 
Hi SK,

eine wirklich ausführliche Doku kann ich Dir nicht anbieten, aber ich kann einen Ausschnitt meiner Studiums-Projektarbeit, die den Protokoller zum Thema hatte hochladen. Suche ich gleich und stelle es rein. Allerdings habe ich nur über einen Handshake-Trigger gearbeitet. Es gibt auch einen Trigger für eine eingehende TCP-Verbindung von der SPS, das könntest Du ja als Event verwenden. Müsstest halt dann bei Änderung deines Wertes eine Verbindung aufbauen und somit den Loggingvorgang anstoßen. Scheint dann aber ja quasi über MPI nicht zu gehen, da kann wohl Jochen (Kühner) eher Auskunft zu geben. Aber was spricht dagegen, intern in der SPS ein eventgetriggertes Logging zu machen, und dann alle x Minuten einen Abruf per Handshake zu machen? MPI kann man einfach in den Verbindungseinstellungen auswählen.

Ich lade Dir in etwa 20 Minuten hier noch die besagte Einrichtungsanleitung aus meiner Projektarbeit hoch. Gruß

Jochen

Edit:

Hier bitteschön die Seiten mit einer relativ ausfühlichen Einrichtungserklärung am Beispiel einer Ethernetverbindung. Sowohl die Einrichtung auf Steuerungsseite als auch auf Loggingrechnerseite ist beschrieben. Achtung bei Abb. 5.5 ist mir ein Fehler unterlaufen. Die falschen Buttons sind dort rot markiert. Insgesamt ist die Beschreibung sehr auf Laienverständlichkeit getrimmt, daher nicht wundern, wenn viele Sachen selbstverständlich erscheinen:

Anhang anzeigen auszug_pa2_protokoller_einrichtung.pdf
 
Zuletzt bearbeitet:
@jochen:

erst mal hut ab zu der Arbeit, ist ja echt ne super anleitung! Wenn es dir recht ist, würde ich diese unter dem ersten Thread als Anleitung hochladen?

@superkato:
eventgetriggert von der sps geht doch, entweder wenn man die TCP/IP Connection verwendet, und eben daten an den PC schickt wenn dieser Protokolieren soll, oder mit dem Tags Handshake Trigger....

Das mit dem drucken, mal sehn ob Ich was mach, da müsste man ja baer auch das Format einstellen können, etc... Hab dazu im Moment keine Idee. Ich könnte ja aber die Möglichkeit schaffen, nach jedem Eintrag in einne Storrage, eine exe aufrufen zu lassen?

@All...

Hab auch noch ein paar Erweiterungen geschickt bekommen (z.B. EMail bei Fehler) welche Ich aber noch nicht einbauen konnte, kommt aber noch...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich würde den Protokoller auch ganz gerne einsetzen und etwas damit spielen, funktioniert die Anbindung über die im Field PG M3 eingebaute CP5611 via MPI?
Ist es auch möglich den Protokoller mit Plcsim zu verbinden um ohne echte HW zu testen?


Gruß wee
 
@jochen kühner

Stell es ruhig in deinen anfangspost. Hab ich Nix dagegen. Würde auch ganze Arbeit rein hauen aber eventuell wäre das den profs nicht so recht.

@wee

In Verbindung mit plcsim funktioniert es auch sehr gut, habe ich auch ausführlich getestet.

Gruß

Jochen
 
Zuletzt bearbeitet:
Vielen Dank für die Anleitung!

Mittlerweile hatte ich das Programm schon irgendwie intuitiv zum laufen gebracht. Ich hab dann einfach bei connection "Via STep7 DLL" genommen. Die CPU wurde dann erkannt.
Einen CSV Storage erstellt und dann in der Dataset über multiple add alle DB variablen eingefügt.

hab dann Time Trigger und ValueComparsion genommen.

Die Datei wächst sehr schnell aber ich bin sehr zufrieden mit der Arbeitsweise!

-> Gibt es eine Möglichkeit, nach einem Gigabyte oder nach einem Tag automatisch eine neue Datei zu erstellen?



Viele GRüße
SK


Ansonsten, würd ich mir gerne mal die Source auf den PC ziehen und noch ein paar verbesserungen reinprogrammieren wenn es erlaubt ist, vielleicht kann ich helfen. Hab selbst sehr viel mit dem .net 4 und c# gearbeitet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Anleitung!

Mittlerweile hatte ich das Programm schon irgendwie intuitiv zum laufen gebracht. Ich hab dann einfach bei connection "Via STep7 DLL" genommen. Die CPU wurde dann erkannt.
Einen CSV Storage erstellt und dann in der Dataset über multiple add alle DB variablen eingefügt.

hab dann Time Trigger und ValueComparsion genommen.

Die Datei wächst sehr schnell aber ich bin sehr zufrieden mit der Arbeitsweise!

-> Gibt es eine Möglichkeit, nach einem Gigabyte oder nach einem Tag automatisch eine neue Datei zu erstellen?



Viele GRüße
SK


Ansonsten, würd ich mir gerne mal die Source auf den PC ziehen und noch ein paar verbesserungen reinprogrammieren wenn es erlaubt ist, vielleicht kann ich helfen. Hab selbst sehr viel mit dem .net 4 und c# gearbeitet.

bei CSV ja, defaultmäßig ist ja das datum im dateinamen. Wenn du das so läßt, legt er jeden tag eine neue an!
 
Ansonsten, würd ich mir gerne mal die Source auf den PC ziehen und noch ein paar verbesserungen reinprogrammieren wenn es erlaubt ist, vielleicht kann ich helfen. Hab selbst sehr viel mit dem .net 4 und c# gearbeitet.

Natürlich ist das erlaubt! Dazu ist es ja OpenSource! Wär schön wenn du mir die Änderungen dann zukommen lässt. Wenn Ich denke das ist nützlich bau Ichs dann auch ein!
Achso, bitte aber keine riesigen Änderungen auf einmal, am besten in kleinen Häppchen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

würde gerne wissen ob das Programm DotNetSimaticDatabaseProtokoller welches im Anhang zu finden ist auf der ersten Seite im ersten Beitrag, das von Jochen Kühner bereitgestellt wurde auch das aktuellste Programm ist. Da ich hier eben ständige Buggs gelesen haben die ja wahrscheinlich behoben sind.

Oder muss man das Programm Updaten ? Wenn ja wo genau ?

Freundliche Grüße

Jeremy
 
Zuletzt bearbeitet:
Hallo zusammen,

würde gerne wissen ob das Programm DotNetSimaticDatabaseProtokoller welches im Anhang zu finden ist auf der ersten Seite im ersten Beitrag, das von Jochen Kühner bereitgestellt wurde auch das aktuellste Programm ist. Da ich hier eben ständige Buggs gelesen haben die ja wahrscheinlich behoben sind.

Oder muss man das Programm Updaten ? Wenn ja wo genau ?

Freundliche Grüße

Jeremy

Die aktuellste Version im Forum gibts immer im ersten Thread welche Ich immer mal wieder aktualisiere. Eine aktuellere gibts nur noch auf Codeplex unter: http://siemensplctoolboxlib.codeplex.com jedoch kanns da auch sein das mal was eingecheckt wird, so das irgendwas nicht läuft...

Wenn's Probleme gibt, einfach hier schreiben, oder ne PN
 
Zurück
Oben