Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 22 von 22

Thema: DatenLogger

  1. #21
    Registriert seit
    11.04.2008
    Ort
    Oldenburg
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von kammi-kaze Beitrag anzeigen
    hallo,


    @AdminThomas:
    Nein, ich habe keine Erfahrung mit InTouch. Aber es gibt im Haus Intouch-Programmierer, die mir da sicher bissl helfen können.
    Deine Lösung in SCL würde mich brennend interessieren, wenn sie auf mein Problem anwendbar ist.

    Liebe Grüße
    Sascha
    Hey hallo, hab mal ein ähnliches problem gehabt.
    Ich wollte einen "Fehler" sichtbar machen der nur alle Jubeljahre auftrat.
    Mit follgendem FB hab ich die SPS-Zeit ausgelesen. (HH MM SS Msec)
    die wiederum in einen DB geschrieben...

    SCL-Quelle:

    FUNCTION_BLOCK FB50

    //
    //Funktion liest CPU Zeit und Datum
    //
    //Aufruf: in OB1 freier Zyklus
    //

    // Kopf
    TITLE= 'Uhrzeit_aus_SPS'
    VERSION: '1.0'
    AUTHOR: 'Thomas'

    VAR_IN_OUT
    iStdExt: INT; //Stunde
    iMinExt: INT; //Minute
    iSekExt: INT; //Sekunde
    iMscExt: INT; //Milisekunde

    iJahExt: INT; //Jahr vierstellig !
    iMonExt: INT; //Monat
    iTagExt: INT; //Tag
    END_VAR

    VAR_OUTPUT
    rTime: REAL; //Uhrzeit im REAL-Format z.B. 12.351965 (HH.MMSSms)
    END_VAR

    VAR// statische Variablen im Instanz DB
    dtDateTime: DATE_AND_TIME;
    abDate AT dtDateTime: ARRAY [0..7] OF BYTE; //Byteweise Sicht auf Datum und Uhrzeit
    END_VAR

    VAR_TEMP// temporäre Variablen
    iErrorCode: INT;
    END_VAR

    iErrorCode:=READ_CLK(CDT := dtDateTime); //SPS-Uhr lesen

    iJahExt:=BCD_TO_INT(abDate[0])+2000;
    iMonExt:=BCD_TO_INT(abDate[1]);
    iTagExt:=BCD_TO_INT(abDate[2]);

    iStdExt:=BCD_TO_INT(abDate[3]);
    iMinExt:=BCD_TO_INT(abDate[4]);
    iSekExt:=BCD_TO_INT(abDate[5]);
    iMscExt:=BCD_TO_INT(abDate[6]);

    rTime:=iStdExt+(iMinExt*0.01)+(iSekExt*0.0001)+(iMscExt*0.000001); //Uhrzeit mit 2 Vor- und 6 Nachkommastellen

    END_FUNCTION_BLOCK


    in rTime steht die Uhrzeit im REAL-format (HH.MM SS Msec)

    als zweites hab ich dann einen FB100 geschrieben, den ich von aussen antriggern kann (boStart), und mit der Uhrzeit (rAktualZeit) aus FB50 (DB50.DBD0) beschreiben kann.
    diesen hab ich dann in OB35 verdrahtet.

    SCL-Quelle:

    FUNCTION_BLOCK FB100


    VAR // statische Variablen im Instanz DB
    arZeitstempel: ARRAY[1..10]OF REAL:=0.0; //Messwerte Array
    iZeitstempelZeiger: INT:=1; //Zeiger auf aktuellen Messwert
    END_VAR

    VAR_INPUT //Eingangsvariablen
    rAktualZeit: REAL:= 0.0; //Aktualzeit CPU aus DB50
    boStart: BOOL:= FALSE; //Baustein-Startimpuls
    iAdresse: INT := 8;
    END_VAR

    // Anweisungsteil

    IF boStart THEN
    arZeitstempel[iZeitstempelZeiger]:=rAktualZeit; //
    IF iZeitstempelZeiger < 10 THEN
    iZeitstempelZeiger:=iZeitstempelZeiger + 1; //
    ELSE
    iZeitstempelZeiger:=1; //
    END_IF;
    END_IF;

    END_FUNCTION_BLOCK

    in meinem beispiel hab ich mal 10 werte in einen DB schreiben lassen
    (arZeitstempel: ARRAY[1..10]OF REAL:=0.0)

    dies währe erst einmal für den Zeitstempel.... erweiten kann mann das ganze dann ja auch auf den Analogwert (bekommt mann hin)

    Nun zu InTouch, hier braucht mann wirklich einen Specialisten
    (SIDirect DAServer 1.5) wie hier die geschwindigkeit ist müsstest du dich einmal genau erkundigen, aber hiermit könntest du auf den DB zugreifen und z.B. die Uhrzeit sowie die Messwerte auslesen.

    hoffe ein bischen geholfen zu haben.. bei fragen bitte melden...

  2. #22
    kammi-kaze ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.04.2008
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey AdminThomas, sieht gut aus, danke...
    Aber:
    Ich benutze erst einmal den SPS-Analyzer von autum (oder so ähnlich hießt er...)
    im nächsten schritt - nach fertigem Energiemanagement - werde ich mich nochmal der Sache widmen. für spätere anwendungen dann. Erstmal zählt nur die Diplomarbeit.

    danke an alle!

Ähnliche Themen

  1. Datenlogger mit TwinCAT 2.11
    Von Thomas E. im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 01.12.2010, 13:15
  2. OPC Datenlogger
    Von DAckermann im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 26.02.2010, 18:00
  3. Datenlogger
    Von saschag. im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.12.2008, 23:39
  4. Datenlogger in SPS
    Von rr_zx im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 18.12.2006, 09:18
  5. 4 Kanal Datenlogger
    Von Unreal im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 29.08.2005, 22:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •