DotNetSimaticDatabaseProtokoller

Zuviel Werbung?
-> Hier kostenlos registrieren
Jo...

Das mit der Netzwerkfreigabe, nutzt du da nun die Username Passwort anmeldung von meinem Programm?

Wenn du die Felder leer lässt gehts dann nicht?

Will nur wissen, ob Ich das in den Excel und SQLite Writer auch einbauen sollte.
 
Ich hab es jetzt nur auf eine öffentliche Netzwerkfreigabe ohne Nutzernamen und Passwort getestet. Aber ich schau es mir gleich nochmal an, mit Benutzernamen und Passwort und berichte Dir dann. Im regulären Betrieb hab ich es allerdings jetzt so konzeptioniert, dass die Daten lokal geloggt werden und ein Cronjob sie periodisch ins Netzwerk sichert.

Edit:

Habs jetzt ne Stunde lang probiert, aber es klappt einfach nicht. Auf die im Netzwerk befindliche FritzBox, die keinerlei Anmeldung erfordert, kann ich über den UNC-Pfad die Werte einwandfrei wegschreiben. Die Felder für Benutzername und Passwort sind dabei leer. Richte ich auf irgendeinem anderen PC eine Freigabe ein, auf die ich im Explorer mit Nutzername und Passwort zugreifen kann, dann bekomme ich die Exception dass der Pfad nicht gefunden wurde.

Aber ich muss auch zugeben, mit den Netzwerkfreigaben unter Windows komm ich nicht mehr so richtig klar, vor allem unter den neuen Windows 7-Systemen. Mag sein, dass es da noch irgendwelche versteckten Hürden gibt. Die ganze Benutzerverwaltung von Windows ist unglaublich unübersichtlich. Und eine vernünftige smb.conf existiert auch nicht.
 
Zuletzt bearbeitet:
Habe übrigens filgendes festgestellt:

Hatte eine Woche lang die Werte im 3-Minutenabstand durchgeloggt, ohne Probleme.

Nun sollten die Intervalle auf 10 Sekunden reduziert werden. Das hab ich am Freitag mittag um 14 Uhr gemacht und heute morgen hab ich festgestellt dass das Logging etwa um 19 Uhr aufgehört hat. Das Eventlog meldet nur "Protokoller gestoppt".
 
Wie hast du denn den Protkoller gestartet?? Als Test über die Konfigurationsoberfläche oder als Windows Dienst?

Wenn du ihn als Windows Dienst gestartet hast, und diese Meldung kam, kann es eigentlich nur sein das jemand Stop gedrückt hat, oder die Meldung davor war eine Exception (wenn ja, dan schick sie mal)!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, er läuft als Dienst, Zwischen den Meldungen "Protokoller Gestartet" und "Protokoller gestoppt" gibt es keine weiteren Meldungen. Und auf "Stop" gedrückt hat auch keiner, denn wie ich gerade sogar sehe, läuft der Dienst an sich noch. Loggt halt nicht mehr. Habe es jetzt heute mehrfach getestet, hat heut Morgen nach etwa einer halben Stunde aufgehört zu loggen, nach dem zweiten Start ist er nach etwa 1,5 Stunden ausgestiegen. Ich versuchs jetzt mal mit Handshakebetrieb.

Gruß

Jochen
 
Morgen werd ich es nochmal testen, hab es jetzt erstmal auf Handshakebetrieb umgestellt, läuft soweit mit dem kurzen Intervall schon seit einer Stunde. Ein Kollege arbeitet grade an der Anlage, ich teste es dann morgen nochmal zeitgesteuert und berichte dann.

Zum Handshakebetrieb noch eine Frage. Ich habe als Readbit m80.4 und als Quittierbit M80.3 eingestellt

Dann wie folgt programmiert:

Code:
  UN    M     80.4
      SPBNB _016

//Daten aus den Prozess-DBs abholen und in Messwert-DB schreiben
[...] 

//Readbit für Daten vorhanden setzen

      S     M     80.4
      R     M     80.3



_016: U     M     80.3
         R     M     80.4

         NOP   0

Ginge das noch effektiver?

Gruß

Jochen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Jochen:

Was willst du denn effektiver machen?

@All:

Hab jetzt noch die Möglichkeit eingebaut die SPS Verbindung Offline zu lassen, und nur bei bedarf zu Verbinden.

Genauso gibts nun einen neuen Trigger, den man über eine CRON Tabelle steuern kann!
 
Ich war mir nicht sicher, ob es so korrekt programmiert ist.

Übrigens ist seit Deiner Änderung auch mit dem Zeitintervall kein Fehler mehr aufgelaufen bisher. Das Handshakemodell ist allerdings sauberer ,deswegen behalt ich das jetzt bei.

Gruß

Schade, denn Ich habe keine Änderung gemacht, sondern nur mehr Logging Infos hinzugefügt!

Also falls es nochmal zum abbruch kommt, einfach hier rein posten!
 
@Jochen,

sehr interessantes Projekt!! Super, dass du das hier zur Verfügung stellst.

@all
Ich möchte für meine Abschlussarbeit Leistungs- und Druckwerte mit diesem Programm auslesen. Das funktioniert soweit auch ganz gut. Mein Problem ist folgendes:
Ich brauche eine Zeitbasis mit Millisekundenauflösung auf die sich die Werte beziehen, idealerweise wäre das die Triggerzeit.

Wenn ich zur Aufzeichung den Time_Trigger verwende, dann funktioniert die Aufzeichung ohne Probleme. Wähle ich aber Triggered_on_incoming... dann kommt die Fehlermeldung Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Ist das ein Einstellungsfehler Meinerseits oder ein Bug?


Vielen Dank für eure Unterstützung!

Gruß Stumpi
 
Zuletzt bearbeitet:
@Jochen,

sehr interessantes Projekt!! Super, dass du das hier zur Verfügung stellst.

@all
Ich möchte für meine Abschlussarbeit Leistungs- und Druckwerte mit diesem Programm auslesen. Das funktioniert soweit auch ganz gut. Mein Problem ist folgendes:
Ich brauche eine Zeitbasis mit Millisekundenauflösung auf die sich die Werte beziehen, idealerweise wäre das die Triggerzeit.

Wenn ich zur Aufzeichung den Time_Trigger verwende, dann funktioniert die Aufzeichung ohne Probleme. Wähle ich aber Triggered_on_incoming... dann kommt die Fehlermeldung Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Ist das ein Einstellungsfehler Meinerseits oder ein Bug?


Vielen Dank für eure Unterstützung!

Gruß Stumpi

Der Trigger : Trigger_On_icoming_TCP_data ist für eine TCOP Verbindung gedacht, welche Daten über AG_SEND von einer PLC bekommt. Dieser ist nicht für die anderen Verbindungen verwendbar.
In einer kommenden Version werde Ich das Verriegeln.
Eine Zeitbasis von nur ein paar Millisekunden ist über das auslesen von der PLC nicht möglich, dazu müsstest du dann die Telegramme auf der PLC Puffern und über AG_Send an den PC schicken. Dazu gibt es auch einen Baustein von mir (dem Protokoller liegt ein Zipfile mit einem Step 7 Projekt bei!)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Jochen,

Danke für die Antwort. Werde mir das Step7 Projekt heute mal anschauen. Welche zeitl. Auflösung ist denn ohne das Puffern der Programme möglich? Wie kann ich die Zeitbasis am geschicktesten mitloggen?

Gruß
 
mhmmm

im sourcecode vin meinem protokoller (meiner toolboxlib) ist auch ein tool, um die zeit auszulesen, wie lange ein readrequest an die sps dauert! Aber mal schaun, vieleicht bau ich das noch ein!
 
Hi Jochen,

mir gehts nicht um die Readrequest Zeit ist zwar auch interessant, aber wichtiger wäre es mir ein Zeitstempel zu meinen geloggten Werten zu haben. Ich habe schon versucht das mit der Systemzeit der Steuerung zu realisieren, aber das Ergebnis ist nicht ganz zufriedenstellend. Besteht da eine andere Möglichkeit? Idealerweise würde der Datenlogger automatisch die Systamzeit des PC mitschreiben.

Gruß Stumpi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Jochen,

mir gehts nicht um die Readrequest Zeit ist zwar auch interessant, aber wichtiger wäre es mir ein Zeitstempel zu meinen geloggten Werten zu haben. Ich habe schon versucht das mit der Systemzeit der Steuerung zu realisieren, aber das Ergebnis ist nicht ganz zufriedenstellend. Besteht da eine andere Möglichkeit? Idealerweise würde der Datenlogger automatisch die Systamzeit des PC mitschreiben.

Gruß Stumpi

Warum ist das nicht zufriedenstellend? Wenn du die SPS Zeit mitprotokollierts, hast du genau den Zeitpunkt an dem die Werte von der SPS gelesen wurden!
 
Super Tool, danke!!!

Ich verwende das Tool zum aufzeichnen von Temperaturen und da meine AG- und PC-Zeit sowieso miteinander über eine Variable synchronisiert werden, lass ich mir diese Variable (DATE_TIME) gleich mit in die Excel-Tabelle schreiben. Hat aber natürlich nur eine Auflösung von 1sek, aber für meinen Anwendungsfall reicht es!
 
Zurück
Oben