S7-1200 DB auslesen

bwink68

Active member
Beiträge
40
Punkte Reaktionen
3
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,

mich beschäftigt seit einiger Zeit folgendes Problem. Gegeben ist eine S7-1214 zur Lichtsteuerung, visualisiert mit einem TP177.
Das Programm beinhaltet mehrere Betriebsstundenzähler (keine vorgegebenen RTM von TIA) welche die aufgelaufenen Stunden in einem DB ablegen.
Diese will ich einigermaßen komfortabel ausdrucken oder in geeignete Datei schreiben.
Erste Überlegung war, über das vorhandene Touchpanel ein Protokoll zu erstellen und auszudrucken. Bin ich wieder von abgekommmen da nur sehr wenige Druckertypen (9-Nadel) unterstützt
werden.
Die Zweite Überlegung war ein DataLog und Abruf über den Webserver. Nach dem Beispiel von Siemens funktioniert das auch,nur haben die einen Wert von dem sie eine Messreihe loggen im Sekundentakt. Ich würde das mit 20 Werten benötigen die z.B. einmal am Tag geloggt werden. Ich habe dabei leider Probleme bei der Umsetztung. Benötige ich dafür 20 Mal die Funktion "DataLogCreate" ,damit ich 20 verschiede "Heater" mit den dazugehörigen Daten bekomme??? Wäre ja ein riesen Aufwand.
Wie gesagt, ein "Heater" mit zugehörigem Wert, der z.B. jeden Tag geloggt wird, ist kein Problem.
Ich hätte auch noch Simatic Net zur Verfügung (womit ich mich allerdings so gut wie nicht auskenne) und überlege ob der Ansatz über OPC Server vorteilhafter wäre.
Würde mich über Anregungen und Tipps freuen.
Gedachtes Endergebnis wäre die Betätigung einer Schaltfläche am TP und aus dem Netzwerkdrucker kommt ne Seite mit Bezeichnung und zugehöriger Wert.


Gruß bwink68
 
OP
B

bwink68

Active member
Beiträge
40
Punkte Reaktionen
3
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Sven Rothenpieler,
danke für den Tip, den Easy Logger hatte ich mir in der Vergangenheit schon angeschaut. Sollte halt leider aus Kostengründen mit vorhandenen Mitteln gelöst werden.

Hatte mir eigentlich eine kleine Unterstützung in Bezug S7-1200 DataLog bzw. integriertem Webserver erhofft.
Aber gut, für die die es interessiert, habe ich nach vielen Versuchen eine akzeptable Lösung zu Wege gebracht. Das Problem war mehrere Werte in eine Datenreihe zu bekommen.
Es ließ sich dadurch realisieren das im Pointer des Typs Variant ein ganzer Datenbereich deklariert werden muß.
Also z.B P#DB45.DBX16.0 INT 8 bewirkt, das wie bei mir die 8 Integer Werte die ich in einer Struktur im DB45 abgelegt habe geloggt werden.
Um die zugehörigen Überschriften in der csv Datei anzuzeigen, geht man genau so vor. Man legt eine Struktur vom Typ String an. Im Variant Zeiger werden die Namen dann Symbolisch mit Komma getrennt eingetragen.

Gruß bwink68:D
 

spschaos

New member
Beiträge
2
Punkte Reaktionen
0
Hallo Sven Rothenspieler,
habe folgendes Problem mit dem Accon-S7-EasyLog:
Kommunikation und Auslesen von DB´s zu einer S7-1212 funktioniert einwandfrei! Greife ich auf eine S7-1214 zu, kann ich diese testen und es wird kein Fehler angezeigt. Greife ich nun auf einen DB oder Mw zu, erscheint eine Fehlermeldung: "Variablen lesen fehlgeschlagen" haben Sie hierzu eine Idee was das sein könnte?
Vielen Dank!
 

Rainer Hönle

Well-known member
Beiträge
5.669
Punkte Reaktionen
991
Welche Attribute hat der DB? Ist er optimiert angelegt? Welche Firmwareversion hat die 1214? Bei V4 muss zusätzlich zu "optimierter Zugriff" ausschalten auch noch "Put/Get Zugriff erlauben" eingeschaltet werden (bei CPU-Konfiguration unter Schutz).
 

spschaos

New member
Beiträge
2
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Vielen Dank für die schnelle Antwort! - Tatsächlich habe ich diesen Haken übersehen! - (die 1212er hat ihn nicht...)
Sie haben mir sehr weitergeholfen!

Mit freundlichen Grüßen
spschaos
 
Oben