Baustein Up- und Download aus eigener VB-Applikation via Simatic OPC-Server

GoAutomation

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte einen zyklusgenauen PLC-Datenlogger machen. Ich habe eine 317-2DP zur Verfügung. Nehmen wir an 16-Bool-Variablen sollen für 5 Minuten bei einer PLC-Zykluszeit von ca. 20ms geloggt werden. Das würde einen Datenhaufen von 2Byte * 50 * 60sec * 5min = 30000 Byte bedeuten. D.h. das ganze ist sehr speicherintensiv und die Daten müssen nach einer definierten Zeit (oder vollem definiertem Ringpuffer DB) z.B. auf einen PC abgezügelt werden.

Nun meine Frage: Ich habe gehört, dass über OPC ganze Bausteine up- und gedownloaded werden können. Wie soll das funktionieren? Ich habe den SimaticNET OPC-Server zur Verfügung.

Das ganze möchte ich aus einer eigenen VisualBasic-Applikation machen, mit der die Bausteine geladen und upgeloaded werden können. Natürlich müssten nicht nur DB's "upgeloaded" werden, sondern z.B. einen FC "downgeloaded" werden können, in dem angegeben wird was geloggt werden soll.

Upps das war jetzt sehr umfangreich, ich hoffe dennoch jemand hat mir dazu einen Tip. :???:
 
Up and down

Hallo,

GoAutomation schrieb:
Ich habe gehört, dass über OPC ganze Bausteine up- und gedownloaded werden können. Wie soll das funktionieren? Ich habe den SimaticNET OPC-Server zur Verfügung.

Ja, mit dem SimaticNet OPC-Server funktioniert der Up- und Download aller Bausteinarten. Such nach den Domaindiensten
Blockread
Blockwrite
BlockDelete (ja, auch das ist möglich !)
BlockCompress (ist dann natürlich auch ab und zu erforderlich :) )
BlockLink (erst dann wird der Baustein im AG gültig !)

Nehmen wir mal an, Dein OPC-Item hat folgenden Namen :
"S7:[S7-OPC_1|VFD1_OPC|CP_H1_1]&blockread()"

Wenn Du dieses OPC-Item mit dem Wert "0x0040|DB10|C:\temp\DB10.Blk"
beschreibst, wird der DB10 aus dem AG in der Datei "C\temp\DB10.Blk" auf deinem Rechner abgelegt.
Funktioniert problemlos, habe ich schon bei einigen Projekten gemacht.
Beispiele für VB kann ich Dir nicht geben. VB ist bei mir auf der Ignore-Liste :ROFLMAO:

Gruss

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zuerst vielen Dank an QM. Leider hat mich deine Antwort zu weiteren Fragen verleitet.:D

1. Der z.B. "upgeloadete" DB10.blk liegt der als AWL-Quelle vor? Die Datei-Extension *.blk kenne ich nicht. Wenn ich z.B. einen FC10.blk machen will wie sieht der Syntax aus? Muss dieser Baustein nicht zuerst übersetzt/compiliert werden?

2. Gibt es auch einen andern OPC-Server, der diesen Bausteindienst anbietet? Ich finde den SimaticOPC-Server zwar sehr umfangreich aber zeitintensiv bei der Konfiguration. Auch muss die Verbindung projektiert werden, was eigentlich Step7 auf dem PC bedingt. Das ist einfach ein bisschen viel für einen simplen Datenlogger.

3. Bin ich ganz einfach auf dem falschen Dampfer? Das Ziel ist einen zyklusgenauen Datenlogger. D.h. für mich das die Daten in der PLC abgelegt und auf den PC hochgeladen werden müssen. Gibt es andere Lösungsansätze?

4. Übrigens kann es auch VC sein!!!:-D

Gruss
GoAutomation
 
Datenlogger

Hallo,

GoAutomation schrieb:
upgeloadete" DB10.blk liegt der als AWL-Quelle vor?
Nein, reiner Maschinencode.
Die Extension ".blk" ist rein willkürlich gewählt und deutet nicht auf ein bestimmtes Dateiformat hin.

GoAutomation schrieb:
Wenn ich z.B. einen FC10.blk machen will wie sieht der Syntax aus? Muss dieser Baustein nicht zuerst übersetzt/compiliert werden?
Ja, der muss mit STEP7 erstellt und übersetzt werden. Und wenigstens einmal mit STEP7 in die CPU transferiert werden. Danach kann man alle von mir im vorigen Post genannten Operationen damit ausführen.

GoAutomation schrieb:
Gibt es auch einen andern OPC-Server, der diesen Bausteindienst anbietet??
Mag sein, ich kenne jedoch keinen anderen OPC-Server, diese Bausteindienste anbietet.

GoAutomation schrieb:
Gibt es andere Lösungsansätze?

Schau mal auf der Homepage von Deltalogic, da gibt es z.B. ACCON-S7-EasyLog. Ich weiss allerdings nicht, ob der zyklusgenau ist.
Ich werf jetzt mal den Ball an Rainer Hönle oder Gerhard Bäuerle rüber, die wissen mehr darüber ...

Gruss

Question_mark
 
Vorab besten Dank für die prompte Antwort

Hallo,

Nein, reiner Maschinencode.
Die Extension ".blk" ist rein willkürlich gewählt und deutet nicht auf ein bestimmtes Dateiformat hin.

Kann ich daraus wenigstens die aktuellen Daten eines DB extrahieren?:confused:

Ja, der muss mit STEP7 erstellt und übersetzt werden. Und wenigstens einmal mit STEP7 in die CPU transferiert werden. Danach kann man alle von mir im vorigen Post genannten Operationen damit ausführen.

D.h ich kann nicht am Step7 vorbei einen FC machen (Ich will ja der Steuerung sagen was geloggt werden soll). Würde das bedeuten, dass dieser zuerst z.B mit der Kommandoschnittstelle (Simatic COM/OLE-Schnittstelle) gemacht und "gedownloaded" werden müsste? Dann könnte ich ja gleich alles mit der Kommandoschnittstelle machen?!:???:


Schau mal auf der Homepage von Deltalogic, da gibt es z.B. ACCON-S7-EasyLog. Ich weiss allerdings nicht, ob der zyklusgenau ist.
Ich werf jetzt mal den Ball an Rainer Hönle oder Gerhard Bäuerle rüber, die wissen mehr darüber ...

Es gibt von der Firma Deltalogic tatsächlich einen zyklusgenauen Datenlogger "AutoSpy Analyzer". Ich würde natürlich gerne selbst etwas machen. Vorallem aber ist dieses Softwaretool völlig überdimensioniert für mein Vorhaben.

Gruss und vielen Dank

GoAutomation
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,


Nein, reiner Maschinencode.
Die Extension ".blk" ist rein willkürlich gewählt und deutet nicht auf ein bestimmtes Dateiformat hin.

Question_mark

Dann macht der SimaticNET-OPC-Server "Bausteindienst" eigentlich nur Sinn für Baustein-Sicherungen, die bei Bedarf wieder geladen werden könnten. Anscheinend kann mit den Dateien *.blk ja nichts angefangen werden (z.B. importieren in Step7 usw). Ist dem so?

Gruss
GoAutomation
 
Up- und Download

Hallo,

GoAutomation schrieb:
"Bausteindienst" eigentlich nur Sinn für Baustein-Sicherungen, die bei Bedarf wieder geladen werden könnten.

Nicht nur, auch z.B. Rezepturverwaltungen kann man damit einfach realisieren.

GoAutomation schrieb:
Anscheinend kann mit den Dateien *.blk ja nichts angefangen werden (z.B. importieren in Step7 usw). Ist dem so?

Im Prinzip ja. Ein Import/Export der *.blk in STEP7 zur Bearbeitung ist m.W. nicht möglich. Aber man kann natürlich weiterhin alle Bausteine in der S7 bearbeiten. Aber da ja z.B. bei Datenbausteinen die Struktur bekannt ist, kann man die *.blk Datei natürlich in eigenen Anwendungen (z.B. mit VB;) ) öffnen und bearbeiten....

Aber für Deine Aufgabe scheint mir ein Analyzer geeigneter als die Herumschaufelei von Bausteinen.

Gruss

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal ein Pro für Tools

Hallo,

GoAutomation schrieb:
Vorallem aber ist dieses Softwaretool völlig überdimensioniert für mein Vorhaben.

Mag sein, dass Dir der AutoSpy für Dein Vorhaben im Moment überdimensioniert erscheint. Die Anforderungen an die Möglichkeiten zur Datenerfassung wachsen jedoch nach meiner Erfahrung im Laufe der Zeit, irgendwann erfüllt so ein Werkzeug auch künftige Anforderungen zur Zufriedenheit. Und der Kauf fertiger Softwaretools (auch wenn im Moment vielleicht anscheinend überdimensioniert) ist im Normalfall günstiger als jetzt die ganze Hin - und Herschaufelei von Dateien mit Bausteindiensten per Hochsprache selber kostenträchtig realisieren zu wollen. Vor allen Dingen musst Du dich erst mal in die Materie einarbeiten, der Aufwand ist nicht unerheblich...

Gruss

Question_mark
 
Verbindungsprojektierung

Hallo,

GoAutomation schrieb:
Auch muss die Verbindung projektiert werden, was eigentlich Step7 auf dem PC bedingt.

Nein, stimmt definitiv nicht...
Die Verbindung muss natürlich projektiert werden, aber nicht zwingend mit STEP7 oder NetPro.
Wenn Du bei Siemens den OPC-Server bestellst, beinhaltet das automatisch die Software NCM/PC, damit kannst Du wie in NetPro gewohnt die Verbindungen projektieren.

Gruss

Question_mark
 
Zurück
Oben