Autor Thema: E4 - ST (Temperaturlogging)  (Gelesen 355 mal)

Offline E(asy)

  • Jr. Member
  • **
  • Beiträge: 47
E4 - ST (Temperaturlogging)
« am: April 13, 2025, 13:21:54 Nachmittag »
hier: ST

Hello Again,

da beschäftige ich mich jetzt ein paar Tage mit der E4 und schon schneien die ersten Projekte rein.
Es geht einem Kunden um die Erfassung, Auswertung und Protokollierung von Temperaturen.

Mit der Erweiterung EASY-E4-DC-4PE1 im Hinterkopf, dachte ich, alles kein Problem, was ggf. aber doch nicht so einfach ist.

Soweit bin ich bisher gekommen:
Systemzeit holen: Ja
Erfassen der Temperatur: Ja
Alarmmerker bei Über- und Unterschreitung: Ja
Auslösen einer Störmeldung: Ja
Quittierung der Störmeldung per Taster: Ja -> Löschen des Puffers

Langzeitspeicherung der Alarme (Datum, Zeit, Wert):
- Vllt. über einen rotierenden Puffer? Allerdings scheinen mir die Ressourcen hierfür etwas zu gering für einen längeren  Zeitraum, oder?

- Auf der SD-Karte als csv? Vllt. muss man einen Funktionsblock schreiben, der das bewerkstelligt?

- Oder in die AWS schreiben?

SMS je Alarmmeldung:
- kein Ansatz; vllt. auch was mit AWS?

Danke fürs Verständnis :)

Offline ELWMS

  • Full Member
  • ***
  • Beiträge: 112
  • 400er...500...800...e4...Galileo
Antw:E4 - ST (Temperaturlogging)
« Antwort #1 am: April 14, 2025, 13:53:39 Nachmittag »
Hallo!

Es gibt EINEN Datenlogger der kann 4 Analogwerte mit Zeitstempel auf die SD-Karte schreiben. Sonstige Bausteine ==> DL Datenlogger. Schau dir einfach mal die Hilfe (F1) dazu an. Es wird in einer codierten Datei auf die SD-Karte geschrieben. Zum auslesen benötigst du aber die EASYSoft, welche es dann ein eine lesbare CSV-Datei konvertiert. Das geht seit neusten auch im RUN-Modus(HW ab 8.0 und Soft ab 2.0, glaube ich).
Sollen es mehr als 4 Temperaturen sein, musst Du dir ein Struktur zum schreiben, und dann zum lesen erstellen.

Gruß,

ELWMS
C64...ABB ACS100 bis 880...ABB SAL...EPLan P8...STEP7...300/400 & TIA... EASY E4... GALILEO... EATON SWD... SEW...STÖBER...AUTOSEN...IT...PROFIBUS...PROFINET

Offline JansenDa

  • Administrator
  • easy god
  • *****
  • Beiträge: 10091
Antw:E4 - ST (Temperaturlogging)
« Antwort #2 am: April 14, 2025, 14:11:17 Nachmittag »
Die Konvertierung der Binär-Datei bzw. das Herunterladen geht auch über den Web-Server.

Offline E(asy)

  • Jr. Member
  • **
  • Beiträge: 47
Antw:E4 - ST (Temperaturlogging)
« Antwort #3 am: April 14, 2025, 14:27:51 Nachmittag »
Hallo, vielen Dank.
Ich schreibe das einfach hart in den Merker, oder?

IF MB90 = 1 THEN MB81 := 1; MB90 := 0; END_IF;   // Wenn Änderung erkannt → Trigger für Logger setzen

Webserver? Hat die E4 eine GUI? D.h. connecten per LAN und Abruf der Alarmaaufstellung?

Das Dokumet E4+AWS habe ich noch nicht durch, muss aber auch irgendwie gehen bzw. ist das praxiserprobt und zuverlässig?

Offline JansenDa

  • Administrator
  • easy god
  • *****
  • Beiträge: 10091
Antw:E4 - ST (Temperaturlogging)
« Antwort #4 am: April 14, 2025, 15:09:20 Nachmittag »
In der easySoft kannst du einen Webserver für das jeweilige Gerät aktivieren, inkl. Zugangsrechten.
Der Aufruf erfolgt z.B. im Browser über Aufruf der IP-Adresse.

In der Hilfe der easySoft - F1 drücken - findest du unter dem Stichwort "Webserver" alles Wichtige dazu.

Gleiches gilt für AWS. Es gibt die Application Note bzw. den umfangreichen Hilfeeintrag um da in die Gänge zu kommen.
Läuft bei vielen Kunden schon in deren Anwendungen.

Gruß
Daniel

Offline E(asy)

  • Jr. Member
  • **
  • Beiträge: 47
Antw:E4 - ST (Temperaturlogging)
« Antwort #5 am: April 14, 2025, 18:30:27 Nachmittag »
Jupp, danke.

Offline E(asy)

  • Jr. Member
  • **
  • Beiträge: 47
Antw:E4 - ST (Temperaturlogging)
« Antwort #6 am: April 20, 2025, 22:26:36 Nachmittag »
Ist es möglich bei Alarmauslösung z.B. an I01 einen Zeitstempel auf die SD zu schreiben und bei Wegfall des Alarms einen erneuten Zeitstempel in dieselbe Datei zu schreiben?
Ferner würde ich gerne das Datum und die Uhrzeit codieren, wofür I1-I4 etwas zu wenig sind.

Hiermit sieht es so aus, dass solange I01=True ist, die Zeit permanent geloggt wird.
(Die SD-Karten haben mittlerweile viel Speicherplatz, aber sinnvoll erscheint mir das nicht.)

RC01 (
   EN := ,
   DT => ,
   E1 => ,
   YY => ,
   MM => ,
   DD => ,
   WD => ,
   HR => ,
   MN => ,
   SC =>
);

MB84:=RC01YY;
MB85:=RC01MM;
MB86:=RC01DD;
MB87:=RC01WD;
MB88:=RC01HR;
MB89:=RC01MN;
MB90:=RC01SC;

IF I01=TRUE THEN
DL01 (
   EN := ,
   T1 := I01,
   T2 := ,
   T3 := ,
   T4 := ,
   I1 := MB88,
   I2 := MB89,
   I3 := MB90,
   I4 := RC01SC,
   RY => ,
   BY => ,
   E1 =>
     );
END_IF;

Das Ganze in while oder for-Schleifen einzupacken ggf. mit CONTINUE einen gewagten Sprung vorzunehmen führt eher zum Absturz.

Offline Andrus Saar

  • Jr. Member
  • **
  • Beiträge: 27
Antw:E4 - ST (Temperaturlogging)
« Antwort #7 am: April 21, 2025, 06:23:56 Vormittag »
Hallo zusammen.

Ich habe ein Alarmprotokollierungsprogramm erstellt (nicht für Temperaturen). Die vom Controller generierte Protokolldatei hatte etwa diesen Inhalt, vielleicht ist es hilfreich:

Andrus

(Copilot-Übersetzung aus Estnisch ins Deutsche)

Offline E(asy)

  • Jr. Member
  • **
  • Beiträge: 47
Antw:E4 - ST (Temperaturlogging)
« Antwort #8 am: April 21, 2025, 22:25:44 Nachmittag »
Hallo.

Ich möchte eher 3 Eingänge auswerten und deren Verhalten mitloggen.

Wenn Alarm anliegt -> Zeitstempel mit Datum auf die SD
Fällt Alarm weg -> Zeitstempel mit Datum auf die SD

Z.B. so

I01 17.3.2025 12:25
I02 17.3.2025 16:25
I03 17.3.2025 18:46
NOT I01 17.3. 2025 12:35
I01 17.3.2025 14:25
NOT I02 17.3.2025 17:10
NOT I03 17.3.2025 19:10

Ist das in ST mit der E4 grundsätzlich möglich?
Der DL-Baustein scheint da schnell an die Grenzen zu kommen.
Allein die 4 Analogeingänge reichen nur für Tag, Monat, Stunde und Minute aus, oder?

Schön wären auch Klartextnamen wie "Objekt1" statt z.B. "I01". Ist das mit symbolischen Namen automatisch bewerkstelligt?

Ich kann diese blöde Binärdatei nicht lesen, die der DL schreibt, aber so scheint es nicht zu funktionieren.

////////////////////////////////////////////////////////
// 1. STÖRMELDE-EINGÄNGE EINLESEN (I01–I04)
////////////////////////////////////////////////////////
M100 := I01;    // Störung 1 aktiv?

////////////////////////////////////////////////////////
// 2. FLANKENERKENNUNG (VORHERIGEN ZUSTAND NUTZEN)
////////////////////////////////////////////////////////
M101 := M100 AND NOT M194;   // Störung 1 kommt
M103 := NOT M100 AND M194;   // Störung 1 geht

////////////////////////////////////////////////////////
// 4. ECHTZEITUHR (RC01) AUFRUFEN
////////////////////////////////////////////////////////
RC01(
    EN := TRUE,
    YY => MB84,
    MM => MB85,
    DD => MB86,
    WD => MB87,
    HR => MB88,
    MN => MB89,
    SC => MB90
);

////////////////////////////////////////////////////////
// 5. ZEITSTEMPEL BEI EINTRITT STÖRUNG (NUR EINMAL)
////////////////////////////////////////////////////////
IF M101 AND NOT M160 THEN
    MB70 := MB88;
    MB71 := MB89;
    MB72 := MB90;
END_IF;

////////////////////////////////////////////////////////
// 8. LOGGING AUF SD-KARTE (JEWEILS NUR EINMAL, EINZELINSTANZEN)
////////////////////////////////////////////////////////
DL01(
    EN := M101 AND NOT M160,
    T1 := I01,
    I1 := MB88,
    I2 := MB89,
    I3 := MB90,
    I4 := MB90,
    RY => ,
    BY => ,
    E1 =>
);


Offline E(asy)

  • Jr. Member
  • **
  • Beiträge: 47
Antw:E4 - ST (Temperaturlogging)
« Antwort #9 am: April 23, 2025, 21:12:22 Nachmittag »
Hallo!

Es gibt EINEN Datenlogger der kann 4 Analogwerte mit Zeitstempel auf die SD-Karte schreiben. Sonstige Bausteine ==> DL Datenlogger. Schau dir einfach mal die Hilfe (F1) dazu an. Es wird in einer codierten Datei auf die SD-Karte geschrieben. Zum auslesen benötigst du aber die EASYSoft, welche es dann ein eine lesbare CSV-Datei konvertiert. Das geht seit neusten auch im RUN-Modus(HW ab 8.0 und Soft ab 2.0, glaube ich).
Sollen es mehr als 4 Temperaturen sein, musst Du dir ein Struktur zum schreiben, und dann zum lesen erstellen.

Gruß,

ELWMS

Wo genau muss denn in der easysoft klicken, um den Dialog "Datei Öffnen" zu bekommen, um dann eine Textdatei einlesen zu können?
Ich habe den Anlaogwerten MWs zugewiesen, die Werte aus der RTC enthalten.

Hilfe zum DL:
"Mit dem Datenlogger-Baustein können Betriebsdaten mit Zeitstempel in eine Log-Datei auf die Speicherkarte im easyE4-Basisgerät geschrieben werden. Für den Betrieb des Bausteins ist immer eine gesteckte Speicherkarte im Gerät erforderlich. Der Dateiname kann bei der Parametrierung angegeben werden.
Pro Datensatz werden immer die digitalen Baustein-Eingänge T1…T4 und die analogen Baustein-Eingänge I1…I4 aufgezeichnet. Zusätzlich wird vermerkt, welcher Eingang das Loggen ausgelöst hat.
"

Ich verstehe diese Aussage nicht so, dass automatisch immer auch die Zeit geloggt wird, nur was man an die Eingänge übergibt. Ansonsten wäre es nicht eindeutig formuliert z.B. Betriebsdaten mit Zeitstempel = Datensatz?

Bei mehr als 4 DIs, kann man auch die AIs verwenden? Müsste man vllt. nur ein bit eines MB setzen? Sowas wie MB1.01=True geht vllt. in Codesys, aber hier schmeißt es einen Fehler.