Autor Thema: Datenspeicherung/Programmierhilfe EC4P-221-MTXD1  (Gelesen 15311 mal)

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« am: November 13, 2012, 20:19:01 Nachmittag »
Hallo zusammen,

ich hab neulich eine Projektarbeit übernommen, bei der 2 Ventilatoren über eine EC4P-221-MTXD1 angesteuert werden. Außerdem sind 4 Sensoren (je 2mal Temperatur und 2mal Luftfeuchtigkeit) an den analogen Eingängen angeschlossen. Ziel das Projektes ist es im Inneren einer Kammer ein zum Trocknen von Holz geeignetes Klima zu erzeugen.
Für die spätere Auswertung wäre es schön die Messgrößen der Sensoren in einer Datei zu speichern,die im Wochentakt ausgelesen wird (4 Sensoren, Messwerte alle 15-30 Minuten aufnehmen -->  macht knapp 2700 Messwerte pro Woche).

Nun zu meinen Fragen:

Ist das überhaupt möglich?

Würde für so etwas der interne Speicher der Steuerung ausreichen oder wäre eine Speicherkartenerweiterung ( http://www.conrad.de/ce/de/product/198766/Eaton-EU4A-Mem-Card-Speicherkarte-fuer-easy-Control-64-MB ) notwendig?

Kann mir wer bei der Programmierung behilflich sein?

Gruß, Matthias

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 430
  • Think easy!
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #1 am: November 24, 2012, 22:38:05 Nachmittag »
Hallo Matthias

Prinzipiell ist das so mit Speicherkarte möglich.
Kennst du dich mit Holztrocknung aus? Trockenkurve, Gleichgewichtsfeuchte etc. ?
Das Speichern sollte nicht das Problem sein. Zuerst solltest du mal ein Regelschema entwerfen, bei dem die verschiedenen Regelkreise sinnvoll ineinander greifen (Heizung, Abluft, Sprühung und Umluft)
Vielleicht findest du Hinweise dazu bei Brunner-Hildebrand oder anderen Trocknerherstellern.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #2 am: November 27, 2012, 16:18:25 Nachmittag »
Hallo Thomas,

hab mich bis jetzt flüchtig mit dem Thema auseinandergesetzt. Eine Heizung wird in der Kammer nicht verbaut (eine Wand ist aus Plexiglas durch das Sonnenlicht die Luft im Inneren aufheizen soll) und eine Bedüsung wird auch nicht benötigt, da es sich um Brennholz handelt und wir somit über Risse durch zu schnelles trocknen hinwegsehen können.
Hab in einem Buch über Holztechnik ein Diagramm über den Zusammenhang von Temperatur, relativer Luftfeuchte und daraus resultierender Holzfeuchte gefunden, wäre aber für weitere Literaturhinweise sehr dankbar.
Bist du ein wenig mehr bewandert auf dem Gebiet?

Gruß,
Matthias

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 430
  • Think easy!
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #3 am: November 28, 2012, 21:48:59 Nachmittag »
Hallo Matthias

Na ja, ich bin kein Trocknungsexperte, aber gute Grundlagen durch den Job.
Den Zusammenhang, den du meinst ist die Gleichgewichtsfeuchte. Such mal danach.
Wenn du so wie beschrieben trocknest, ist das schon ziemlich langwierig. Warum willst du dann alle 15-30min loggen?
Wie misst du die Feuchte, in der Luft? Eine Gleichgewichtsfeuchte stellt sich in einem geschlossenem System ein. Die Belüftung macht dann dieses Messverfahren unbrauchbar. Hier kann man über Holzgewicht oder Wiederstand messen.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #4 am: Dezember 06, 2012, 01:37:51 Vormittag »
Hallo Thomas,

wollen die Daten so häufig loggen um hinterher eine gute Aussage darüber treffen zu können, wie sich das Klima im Inneren der Kammer im Vergleich zum Außenklima verhält und daraus auf Verbesserungen zu schließen wie z.B. zusätzliche Isolation der Kammer. Da es sich um eine Projektarbeit im Studium handelt, und das Semester ja nunmal nicht allzu lange ist, ist es gut möglich das wir nur eine recht kurze Testphase durchführen können, auch deswegen so viele Daten wie möglich.
Haben sowohl innen als auch außen einen Sensor der uns einen analogen Wert an die Steuerung für Temperatur und relative Luftfeuchtigkeit liefert. Wie genau die funktionieren,kann ich dir nicht sagen.
Naja, also unbrauchbar macht die Belüftung das Ganze ja nun nicht, da sich selbst bei niedrigen Temperaturen und einer hohen relativen Luftfeuchtigkeit noch eine recht passable Holzfeuchte erzielen lässt. Also selbst wenn die Temperaturen und die Luftfeuchtigkeit im Inneren schwanken, so wird doch durchgehend eine Trocknung erfolgen bis zu einem bestimmten Wert.
In wie weit wir dadurch schneller sind als bei einer normalen Freilufttrocknung, müssen die Ergebnisse zeigen.

Gruß, Matthias

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 430
  • Think easy!
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #5 am: Dezember 08, 2012, 22:39:30 Nachmittag »
Hallo Matthias

Habe dir mal einen Programmentwurf gemacht, bei dem täglich 96 Messungen auf die Speicherkarte geschrieben werden. Ich hoffe du kommst damit zurecht, weil ich nicht weiß, wie deine Programmierkentnisse sind.
Die Kommunikation zur EC4P musst du noch einstellen.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #6 am: Dezember 11, 2012, 10:17:42 Vormittag »
Hallo Thomas,


schon mal ein großes Danke für deine Bemühungen. Werde mich aber wohl erstmal mit CodeSys befassen müssen, da ich beim öffnen des Programms einige Fehlermeldungen bekomme (module.root nicht gefunden, Bibliotheken werden nicht gefunden). Angucken konnte ich es mir dennoch und kann glaub ich nachvollziehen, was du da gemacht hast. Meine Programmierkenntnisse gehen nicht sonderlich tief. Hab aufm Gymnasium mal ne Steuerung von Siemens programmiert, das ist aber schon ein paar Jahre her.
Versuch also heute mal rein zu kommen und ab morgen dürfte es dann Fragen hageln.

Gruß, Matthias

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 430
  • Think easy!
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #7 am: Dezember 13, 2012, 10:12:09 Vormittag »
Hallo Matthias

Die Fehlermeldungen kommen wahrscheinlich von unterschiedlichen Pfaden zu den Libs.

Das Programm ist auch nur ein Entwurf. Teste erst mal, ob das tägliche schreiben funktioniert und du die Daten dann auslesen kannst.
Noch schöner wäre es, wenn alle Tagesdaten in ein 2D Array(Tabelle) mit Zeitstempel geschrieben würden. Es würde dann pro Tag eine durchnummerierte Trenddatei angelegt.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1403
  • I love easy-Forum.net
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #8 am: Dezember 13, 2012, 12:58:55 Nachmittag »
module.root nicht gefunden
Wahrscheinlich wurde das Programm mit einer anderen Steuerungs Version (Firmware) geschrieben.
Ihr solltet Euch bezüglich der Steuerungs Version abgleichen, ggf. das bestehende Programm auf eine neuere Version anheben.

Gruß Paul

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #9 am: Dezember 17, 2012, 21:47:48 Nachmittag »
Hallo Thomas,

simulieren kann man die Datenspeicherung nicht,oder?Bin erst ab Freitag wieder im Institut..

Gruß, Matthias

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 430
  • Think easy!
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #10 am: Dezember 20, 2012, 10:47:32 Vormittag »
 
Zitat
simulieren kann man die Datenspeicherung nicht,oder?

Doch, geht ganz einfach:
Unter Online, Häkchen bei Simulation setzen und einloggen.
Schon läuft`s, wenn kein Fehler erkannt wurde.   ::)
Weil Einfach einfach Einfach ist!

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #11 am: Januar 08, 2013, 13:18:39 Nachmittag »
Hallo Thomas,

entschuldige die lange Funkstille. Hab mir dein Programm angeschaut und muss sagen,dass ich nicht sonderlich viel davon verstanden habe.

Habe mir Bausteine erstellt, die das analoge Eingangssignal in einen realen Wert umrechnen. Hab diesen dann den Datentyp 'real' verpasst, da Kommazahlen möglich sind.

Könntest du mir nochmal ein Beispiel schreiben und mit mehr Kommentaren nachvollziehbarer für mich machen? Es wäre nett wenn es in FUP wäre, da mir dies am geläufigsten ist.

Gruß, Matthias

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #12 am: Januar 08, 2013, 18:07:28 Nachmittag »
Nachdem ein paar Stunden vergangen sind, wird mir der Aufbau des Programmes doch ein wenig klarer (von komplett verstanden will ich noch nicht sprechen).
Hab das Programm nachdem ich die Kommunikation mit der SPS sichergestellt hatte nochmal abgeschrieben. Aktuell bekomme ich die folgenden Fehlermeldungen:

PLC_PRG (5): Sprungmarke 'Sprung' ist nicht definiert
PLC_PRG (8): Sprungmarke 'Sprung' ist nicht definiert
PLC_PRG (32): Variable 'Daten_Temp1' nicht deklariert
PLC_PRG (33): Variable 'Daten_Temp2' nicht deklariert
PLC_PRG (34): Variable 'Daten_Feuchte1' nicht deklariert
PLC_PRG (35): Variable 'Daten_Feuchte2' nicht deklariert

Hab nicht so genau verstanden was du bei der Datenanpassung machst. Kannst du den Bereich nochmal näher beschreiben? Bzw. wenn ich die Werte schon als Datentyp 'real' von vorne herein eingebe (zb. 23,2° für die Temperatur) kann ich mir dann diesen 'LinTrafo'-Baustein schenken und direkt mit dem 'Real_To_Int' weitermachen?

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 430
  • Think easy!
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #13 am: Januar 09, 2013, 13:02:58 Nachmittag »
Hallo Matthias

Hab noch mal Kommentare eingefügt.
Die LinTrafos brauchst du zur Anpassung der Temperatursensoren. Ich hab mal -50 - 100°C angenommen.
Hier noch mal der Deklarationsteil vom Hauptprogramm

PROGRAM PLC_PRG
VAR
   TR1: R_TRIG;            (*Flanke Tag beginnt*)
   C1: CTU;               (*Tageszähler, erzeugt Nummer für tägliche Datei  *)
   C2: CTU;               (*Zähler zur Nummerierung der Messwerte im Array*)
   Temperatur1: LIN_TRAFO;      (*Signalanpassung (Bsp Sensor -50- 100°C)*)
   Temperatur2: LIN_TRAFO;      (*Signalanpassung*)
   Feuchte1: LIN_TRAFO;         (*Signalanpassung*)
   Feuchte2: LIN_TRAFO;         (*Signalanpassung*)
   Logzeit: TON;            (*alle PT Sekunden speichern  1800s=96 Messungen/Tag*)
   Temp_innen: INT;         (*Temperatur innen -50,0  - 100,0°C*)
   Temp_aussen: INT;      (*Temperatur außen -50,0  - 100,0°C*)
   Feuchtewert1: INT;      (*Feuchte 1  0,0 - 100,0%*)
   Feuchtewert2: INT;      (*Feuchte 2  0,0 - 100,0%*)
END_VAR
VAR CONSTANT
   Tag_beginnt: TIME := t#1s;      (*Nicht ändern!*)
   Tag: STRING(10) := Tag;      (*Teil des Dateinamens*)
END_VAR

zu
Zitat
PLC_PRG (32): Variable 'Daten_Temp1' nicht deklariert
PLC_PRG (33): Variable 'Daten_Temp2' nicht deklariert
PLC_PRG (34): Variable 'Daten_Feuchte1' nicht deklariert
PLC_PRG (35): Variable 'Daten_Feuchte2' nicht deklariert

Siehe GLOBAL_VAR
Hier habe ich die Arrays remanent deklariert. Es werden hier die Daten von 0:00 - 24:00 Uhr abgelegt.

Gruß Thomas
« Letzte Änderung: Januar 09, 2013, 15:37:11 Nachmittag von radar17892 »
Weil Einfach einfach Einfach ist!

Offline Matthias

  • Newbie
  • *
  • Beiträge: 16
Re:Datenspeicherung/Programmierhilfe EC4P-221-MTXD1
« Antwort #14 am: Januar 09, 2013, 16:39:26 Nachmittag »
Hallo Thomas,

konnte das Programm auf die SPS übertragen und das Beschreiben der Arrays klappt problemlos. An dieser Stelle schon mal ein großes Danke!
Probleme macht der Zähler für die einzelnen Tage und somit auch das Schreiben der Arrays in die Datei. Das liegt wohl an dem 'Date_to_Time'-Baustein der nicht um 0:00 Uhr auch 0 am Ausgang zurück gibt (das Ergebnis wird einfach weitergezählt). Hast du eine Lösung für dieses Problem? Die Idee dahinter, die Daten je um 0Uhr auf die Karte zu schreiben und einen neuen Tag 'starten zu lassen', finde ich sehr gut!

Gruß, Matthias