S7-315 und Excel über Ethernet

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,
kann mir jemand helfen?
ich möchte mit einem tastendruck von einem OP einen datenbaustein auslesen und in einer excel-tabelle speichern.
ich habe folgende voraussetzungen:
s7-315-2dp
cp343-1 6GK7343-1CX00-0XE0
Simatic.net Software - 6GK1704-1LW63-3AA0
das ganze soll über ethernet realisiert werden.

hat jemand eine ahnung wie ich das anstelle, oder sogar ein kleines programm dafür?

vielen vielen dank im voraus
 
Die Integration von Softnet in Excel kenne ich nicht. Die grundsätzliche Vorgehensweise kann ich mir wie folgt vorstellen:
Mit dem Tastendruck in der SPS ein Daten- oder Merkerbit (Trigger) setzen. Dieses wird vom PC permanent gepollt. Wenn sich der Zustand geändert hat, wird der Datenbereich ausgelesen und dargestellt. Alternativ dazu besteht mit Softnet die Möglichkeit, parametrierte Verbindungen zu verwenden und SPS-seitig ein Paket beim Zustandswechsel des Triggers mit dem Datenbereich z.B. mittels BSEND an den PC zu senden. Nach erfolgtem Lesen bzw. Senden muss der PC das Triggerbit wieder zurücksetzen.
Wenn AGLink statt Softnet zum Einsatz käme, könnte ich weiter helfen. Dort ist die Excelintegration auch mit Beispielen dabei.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgende Vorgehensweise könnte verwendet werden:

1. manuelle Erzeugung einer Textdatei die von Excel einwandfrei gelesen werden kann
2. Konvertierung der Messwerte in Strings
2. Generierung einer Datei mit den gewünschten Werten und Seperatoren durch die S7
3. Übertragung als Datei mittels FTP an den PC
4. Anhängen der neuen Daten an eine Datei mit den Gesamtdaten

Bei der Verwendung von Strings muss auf den Stringkopf (die ersten 2 Byte) geachtet werden, dieser muss vor dem Schreiben in den DB entfernt werden und die Werte in ein Array of Char übertragen werden
 
@Bomber99
mit welcher PC-Programmiersprache möchten Sie die Aufgabe lösen? Genügt die Erzeugung einer excel-lesbaren Datei, z.B. im CSV-Format, oder sollen die Werte direkt in Excel angezeigt und weiterverarbeitet werden?
 
S7 nach Excel

hallo,
wenn es direkt nach excel geht, wäre nicht schlecht. ich dachte da an
VBscript oder VB oder C++.
geht das? und wenn, wie?
Vielen dank.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Direkt nach Excel bleibt nur VBA (und ACCON-AGlink :wink: ). Wie und ob das überhaupt mit Softnet geht, weiß ich nicht.
Wenn es über eine excel-lesbare Datei geht, kommen auf jeden Fall C/C++ und VB in Frage. Ob Softnet von VBScript verwendet werden kann bezweifle ich (bin mir aber nicht ganz sicher).
Inwieweit haben Sie bereits Erfahrung mit welcher der genannten Programmiersprachen? Haben Sie die Softnet-Beispiel schon angeschaut, kompiliert und getestet?
 
Ja, es geht einfacher. Für das wie aber bitte noch meine vorige Frage beantworten, damit ich weiß wo ich anfangen muss.
Inwieweit haben Sie bereits Erfahrung mit welcher der genannten Programmiersprachen? Haben Sie die Softnet-Beispiel schon angeschaut, kompiliert und getestet? Haben Sie die Softnet-Doku gelesen?
 
Für eine csv - Datei braucht es keine VBA - Kenntnisse, das kann mit der S7 leicht bewältigt werden.

Eine CSV - Datei ist im Prinzip sehr einfach aufgebaut.

Am Anfang steht der csv - Kopf. Dieser besteht aus der Angabe des Dezimalzeichens und des Seperators.

List separator=;Decimal symbol=,

In diesem Fall wird das Komma durch einen Beistrich erzeugt, mit einem ; wird eine neue Spalte begonnen.

Eine neue Zeile ist im csv - Format durch eine neue Zeile angegeben.

Also, nehmen wir an das wir in A1 in Excel beginnnen.
Nach dem Kopf stehen folgende Einträge.

250,1;290;310;330;
260;360;;560,8;

Es steht also in A1 250,1, in B1 290 usw.
260 wird in Feld A2 eingetragen, da eine neue Zeile begonnen wurde, 360 in B2, das Feld B3 bleibt leer da zwei Strichpunkte hintereinanderfolgen, in Feld B4 steht 560,8.

Es muss also lediglich jeder Wert in einen String konveritert und ein Strichpunkt angehängt werden.
Anschließend entfernt man die ersten beiden Byte des Strings und verscheibt die Zeichenkette in einen DB der aus einem oder mehreren Array of Char besteht.

Dies ist mit einer S7 problemlos möglich
 
Zurück
Oben