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

Ergebnis 1 bis 8 von 8

Thema: Problem mit READ_CLK()

  1. #1
    Registriert seit
    25.07.2008
    Beiträge
    48
    Danke
    4
    Erhielt 4 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo miteinander,

    ich hab da schon wieder ein Problem und keine Ahnung was da wieder falsch läuft:

    Folgender Code:

    DATA_BLOCK DBUhrtest
    STRUCT
    retval:INT;
    cnt:INT;
    Uhrzeit: DATE_AND_TIME;
    END_STRUCT
    BEGIN

    END_DATA_BLOCK


    FUNCTION Uhrtest : void

    DBUhrtest.retval:=READ_CLK(CDT:=DBUhrtest.Uhrzeit);
    DBUhrtest.cnt:=DBUhrtest.cnt+1;

    END_FUNCTION


    Ich rufe jetzt die Funktion Uhrtest zyklisch auf und muss feststellen dass in der Variable Uhrzeit nichts auftaucht. Die Variable retval bleibt ebenfalls 0.
    Die Variable cnt die ich testhalber hochzählen lasse verhält sich korrekt...
    Könnte vielleicht jemand von euch dieses Beispiel kurz mal bei sich auf einer Steuerung testen bzw. weiß was ich da falsch mache? Wäre da sehr dankbar dafür.

    Viele Grüße

    Herdi
    Geändert von herdi (15.09.2008 um 13:42 Uhr)
    Zitieren Zitieren Problem mit READ_CLK()  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    woher weißt du denn, dass es nicht funktioniert ? Denk bitte daran, dass du DBUhrtest.Uhrzeit nicht in der Status-Anzeige des DB's angezeigt bekommst, da es größer als DWORD im Format (Breite) ist ...

  3. #3
    herdi ist offline Benutzer
    Themenstarter
    Registriert seit
    25.07.2008
    Beiträge
    48
    Danke
    4
    Erhielt 4 Danke für 2 Beiträge

    Standard

    Aha... Ich hatte jetzt gedacht dass wenigstens in der DB-Ansicht diese Variablen angezeigt werden. Habs jetzt mal kurz so getestet:

    DATA_BLOCK DBUhrtest
    STRUCT
    retval:INT;
    cnt:INT;
    b0,b1,b2,b3,b4,b5:BYTE;
    END_STRUCT
    BEGIN

    END_DATA_BLOCK

    FUNCTION Uhrtest : VOID

    VAR_TEMP
    Uhrzeit: DATE_AND_TIME;
    uhr_raw AT Uhrzeit: ARRAY[0..7] OF BYTE;
    END_VAR
    DBUhrtest.retval:=READ_CLK(CDT:=Uhrzeit);
    DBUhrtest.b0:=uhr_raw[0];
    DBUhrtest.b1:=uhr_raw[1];
    DBUhrtest.b2:=uhr_raw[2];
    DBUhrtest.b3:=uhr_raw[3];
    DBUhrtest.b4:=uhr_raw[4];
    DBUhrtest.b5:=uhr_raw[5];
    DBUhrtest.cnt:=DBUhrtest.cnt+1;

    END_FUNCTION


    In b0-5 tauchen die Werte jetzt auf... Kann man eigentlich Date_and_time-Variablen oder ähnlich lange überhaupt irgendwo online beobachten? Wie siehts mit Strings aus? Das wird nämlich die nächste Baustelle werden...

    Danke und viele Grüße

    Herdi

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Nein !
    Alles was breiter als 4 Byte ist kannst du dir (außer in der Visu) nicht direkt anzeigen lassen (nur DWORD-weise).

    Gruß
    LL

  5. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    herdi (15.09.2008)

  6. #5
    herdi ist offline Benutzer
    Themenstarter
    Registriert seit
    25.07.2008
    Beiträge
    48
    Danke
    4
    Erhielt 4 Danke für 2 Beiträge

    Unglücklich

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Nein !
    Alles was breiter als 4 Byte ist kannst du dir (außer in der Visu) nicht direkt anzeigen lassen (nur DWORD-weise).

    Gruß
    LL
    Oh man..

  7. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    ... aber deswegen kannst du es in SCL ja trotzdem als ganze Einheit verarbeiten (z.B.) bei STRING's. Nur in der DB-Ansicht und in der Variablentabelle geht es so nicht ...

  8. #7
    herdi ist offline Benutzer
    Themenstarter
    Registriert seit
    25.07.2008
    Beiträge
    48
    Danke
    4
    Erhielt 4 Danke für 2 Beiträge

    Standard

    Aber auch wenn ich dann im SCL-Editor auf die Brille klicke zeigt er ja dann bei Strings und Co nichts an. Ich würde halt gerne sehen was in meinen Variablen drin steht ohne jedes Mal gleich eine Visualisierung erstellen zu müssen...

  9. #8
    Registriert seit
    29.07.2008
    Ort
    Stuttgart
    Beiträge
    232
    Danke
    64
    Erhielt 25 Danke für 25 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hi, du kannst datum/uhrzeit byteweise in ner variablentabelle anzeigen lassen. die gleiderung steht irgendwo in der hilfe.
    also die bytes in die tabelle und als format "hex" wählen. dann hast du zumindest jahr, tag, ... als einzelne werte

  10. Folgender Benutzer sagt Danke zu Günni1977 für den nützlichen Beitrag:

    herdi (15.09.2008)

Ähnliche Themen

  1. Read_clk ergebniss in DB1 verschieben
    Von siqo im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 20.04.2011, 14:07
  2. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54
  3. Read_CLK in SCL
    Von MichaelHuf im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.06.2005, 20:23

Lesezeichen

Berechtigungen

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