Analoge Eingänge mitschneiden exportieren

00schneider

Level-1
Beiträge
65
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
ich automatisieren zurzeit einen Versuchsstand und lese über jeweils einen Analogeingang Kraft und Weg ein. Während der Messung möchte ich nun diese beiden Parameter mitschneiden und im Excel exportiert bekommen. Erste Recherchen haben leider keinen Erfolg gebracht...wie kann man so etwas realisieren?
 
z.B. siehe oben Werbebanner Deltalogic.
Die haben sowas. Einfach mal draufklicken und nach Net Link suchen.
Viel einfacher gehts nicht ....

peter(R)
 
Hi,

Versteh ich nicht ganz, ich brauch dazu noch die entpsrechende Hardware? Gibt es im S7 keine Befehle dafür?

ohne geht es leider nicht, wo willst Du die Daten sonst abspeichern.
Eine Alternative wäre die Archivierung in einem DB "Schieberegister", da kommt es aber drauf an wie lange und wie viele Daten es sind.

Gruss Daniel
 
Dann kanst Du ein Script anlegen und damit die Werte auf dem PC speichern.
Gibt hier im Forum einige Beispielscripte
such mal nach Script und CSV
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

noch ne kurze Frage...
Ist deine Messung auch genau genug? Das heißt du bekommst doch nur je einen Wert pro Zyklus damit wird das ganze doch mega ungenau...

Möglichkeit 1: (Wenn die Genauigkeit deiner Messaufzeichnung genügt)
Ich würde die ganzen Werte evtl. mittels Schieberegister in einen DB schreiben und dann per Libnodav den DB in ein Excel-File auslesen.

Möglichkeit 2:
Nimm nen externen Messverstärker mit 2 Kanälen und nimm dort die Messwerte auf... Schnittstellen für eine weitere Auswertung gibts dort jede Menge.

Gruß

KoKo
 
Hallo,

soweit wie ich das sehe, möchtest Du ein Kraft-Weg-Diagramm aufzeichnen.
Ich gehe davon aus, das die Aufzeichnung eine gewisse Zeit dauert, und dann anschließend eine Auswertung/Anzeige erfolgen soll.

Als allererstens solltest Due die Zeitintervalle abchecken.
Ich selbst hatt schon mal das Vergnügen, damals war die Zeit zwischen zwei Kraft/weg-Werten auf 5ms angesetzt. Also ein zyklischen Einlesen Im OB1 geht nicht, dafür solltest Du einen Alarm-OB OB34 nehmen und hier die Werte einlesen/umrechnen und in einem DB ablegen. Das Einlesen ist nur in der Aufnahmezeit aktiv.

Wenn Du anschließend die Kraft/Weg-Kurve in Excel aufbauen willst, gab es für mich 2 Wege:
1. Anzeige nur zur Stichprobe, manuelles Auslesen mit PG:
Hier kopierte ich den Kraft-Weg-Werte-DB von Online auf Offline, generierte in S7-Editor eine Quelle, hier stehen dann die Kraft/Weg-Werte in Klartext hinereinander. Ich kopierte diese Werte in Excel (Paste/Copy) und dann konnte ich eine Grafik daraus erstellen.

2. Die Werte über Netzwerk zu PC schichen:
Hier werden die Werte über UDP/TCP an PC geschickt, von PC über Winsock empfangen (Visual Basic oder lizenzkostenfrei PHP oder ...) und in eine Excel-lesbare Datei (bei mir *.csv) abgelegt. Dann kann man wieder in Excel eine Grafik aus dieser Datei erzeugen. Hier brauchst du eine Ethernet-Baugruppe; es könnte je nach Fall auch über Profinet, Profibus oder MPI auch gehen, ich habe hier aber Null-Erfahrung.

PS: Je nach Aufnahme können die Anzahl der Kraft-Weg-Werte variieren; vor der Aufnahme sollten die Werte im Aufnahme-DB auf "unmögliche" Werte gesetzt werden (löschen). Ein "0" könnte eventuell auch ein 0,00mm bedeuten und wenn Wert zwischen -n[mm] und +m[mm] annehmen kann.

Ich wünsche weiter viel Erfolg!

S7_Programmer
 
Ich würde mich zunächst mit der Auflösung, also der Zykkluszeit der SPS zufrieden sein. Wie funktioniert das mit nem Schieberegister? Ich hab mal deine Schlagworte gesucht aber leider nichts richtiges gefunden.
Was ist Libnodav?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
"Schieberegister" ist hier vielleicht begrifflich nicht so ganz sauber gewählt.
Du machst dir einen DB mit einem Pointer für den Einlese-Vorgang und 2 Array's mit den aufzuzeichnenden Kraft- und Weg- Werten.
Wenn du dir nun ein neues Werte-Paar einlesen willst, so liest du als erstes den Pointer, erhöhst diesen um 1, bildest dir daraus die Speicheradresse (in dem DB) für die Kraftwerte, speicherst den Kraftwert weg, bildest die Speicheradresse (in dem DB) für die Wegwerte, speicherst den Wegwert weg - fertig.
Etwas schöner geht das, wenn du hier SCL zum Erstellen zu Hilfe nimmst - da kannst du dir das Adressen-berechnen sparen ...

Libnodave ist eine Bibliothek, die es dir ermöglicht im PC auf SPS-Daten zuzugreifen - Hochsprachen-Kenntnisse vorausgesetzt.
Das ist aber, wenn du eine PC-Runtime einsetzt gar nicht dein Thema. Die kann dir den Teil der arbeitet ja schon abnehmen ...

Gruß
LL
 
Hallo Larry,

vielen Dank für deine Beschreibungen, leider versteh ich das ganze nicht so richtig, beziehungsweise weiß nicht wie ich das von dir genannte umsetze. Gibt es dazu eventuell noch ein paar Anleitungen? Ich habe dazu nichts gefunden...
 
Hallo,
was ich geschrieben habe würde in Script-Sprache ungefähr so aussehen :
Code:
if Einlesen then
   Index := Index +1 ;
   Kraft[index] := myKraftwert ;
   Weg[index] := myWegwert ;
end_if ;
In AWL habe ich das nicht realisiert (geht aber auch) - deswegen habe ich dazu kein Beispiel ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ein Beispiel in AWL zum Speichern von Doppelwörtern:

U M 31.5 //Wenn "1" dann speichern
SPBNB _001
CALL FC 107
Datenbaustein:=DB31 //Speicher DB
Datenanfang :=0 //Startadresse im Speicher
Laenge :=50 //Speichergröße 50 Doppelwörter
Eintrag :=DB8.DBD16
_001: NOP 0


FC 107
AUF #Datenbaustein
L #Laenge
L 4
*I
L #Datenanfang
+I
L 4
-I
T #Datenende
L 4
-I
T #index
anf: NOP 0 //Schleifenanfang
L #index
SLD 3
LAR1
L DBD [AR1,P#0.0]
T DBD [AR1,P#4.0]
L #index
L 4
-I
T #index
L 4
+I
L #Datenanfang
<=I
SPB ende
SPA anf
ende: NOP 0
L #Eintrag
T DBD [AR1,P#0.0]

Gruß
Joe
 
Zurück
Oben