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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 33

Thema: Systemzeit auslesen

  1. #1
    Registriert seit
    18.02.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich bekomme beim Auslesen der Systemzeit mit Hilfe des FB's NT-GetTime (TwinCat PLC Library: Utilities) die Fehler ID 1861 (timeout elapsed) zurück. Das ganze hat aber bis heute funktioniert. Hat jemand ne Ahnung wie ich den Fehler weiter eingrenzen kann bzw. was das Problem sein könnte?

    Es handelt sich bei der SPS um eine TwinCat Version 2.10 (Build 1313) unter Windows XP.

    Gruß
    Stefan
    Zitieren Zitieren Systemzeit auslesen  

  2. #2
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Hast du die Timeout Zeit am FB schon erhöht?

    Gruss
    Thomas

  3. #3
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Wäre auch mein erster Ansatz gewesen. Einfach mal schauen ob es mit einer höheren TimeOut-Zeit funzt.
    A programmer is just a tool which converts caffeine into code.

  4. #4
    Steff3de ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich hab den Timeout mal von 3s auf 10s erhöht -> hat leider nichts gebracht

  5. #5
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Code:
    FUNCTION_BLOCK FB_TimeDate
    VAR_INPUT
        Enable:BOOL;
    END_VAR
    VAR_OUTPUT
        MachineTime: DATE_AND_TIME;
    END_VAR
    VAR
        ntGetTime: NT_GetTime;
        ntTime:TIMESTRUCT;
        GetTimeStart: BOOL;
        fbRTC:RTC;
        TriggerTON: TON;
        TriggerClock: BOOL;
        TimeBusy: BOOL;
        OldTimeBusy: BOOL;
        GetTimeError: BOOL;
        StartUp:BOOL:=TRUE;
        TriggerStart: BOOL;
    END_VAR
    
    -------------------------------------------------------------------
    
    IF Enable=TRUE THEN
    
        TriggerClock:=FALSE;
        IF TimeBusy=FALSE AND OldTimeBusy=TRUE THEN
            TriggerClock:=TRUE;
            StartUp:=FALSE;
        END_IF;
        OldTimeBusy:=TimeBusy;
    
        TriggerTON(IN:= NOT TriggerClock , PT:= T#5m, Q=> TriggerStart);
    
        GetTimeStart:=FALSE;
        IF StartUp=TRUE OR TriggerStart=TRUE THEN
            GetTimeStart:=TRUE;
        END_IF;
    
        ntGetTime(
            NETID:='',
            START:=GetTimeStart,
            TMOUT:=T#10s,
            BUSY=> TimeBusy,
            ERR=> GetTimeError,
            ERRID=>,
            TIMESTR=> ntTime);
    
        fbRTC(
               EN :=TriggerClock,
                PDT:=SYSTEMTIME_TO_DT(ntTime),
               Q=>,
                CDT=>MachineTime);
    
    END_IF;
    Funktioniert dieser Code auf deinem System. Kannst du im Windows die Zeit verstellen? Ist der Fehler nur beim Start der PLC vorhanden oder auch später?

  6. Folgender Benutzer sagt Danke zu Bührer für den nützlichen Beitrag:

    gnist (28.07.2014)

  7. #6
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Ich mache das so:

    Code:
    clocktimer(PT:=t#200ms,IN:=NOT clocktimer.Q);
    
    NT_Time(NETID:='',TMOUT:=t#100ms,START:=clocktimer.Q);
    und dann

    Code:
    timestamp :=  SYSTEMTIME_TO_DT(NT_Time.TIMESTR);
    Geändert von drfunfrock (26.11.2008 um 10:58 Uhr)

  8. #7
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Hallo drfunfrock

    Machst du das auch auf Rechner mit kleiner Rechnungsleistung. Hast du keine Problem mit den Windows Zugriffen im 200ms Takt? Kein Jitter? Wenn du keine Problem hast ist deine Version viel einfach. Muss ich auch mal ausprobieren.

    Gruss
    Thomas

  9. #8
    Steff3de ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas

    Die Systemzeit lässt sich am Rechner manuell nicht ändern, da der angemeldete Benutzer nicht über die entsprechenden Rechte verfügt.

    Ich habe das Programm von drfunrock an der Maschine ausprobiert, allerdings habe ich den Trigger mal auf 500ms gesetzt -> Der Timeout-Fehler tritt nicht immer auf, d.h. ca. alle 3-5 Versuche bekomme ich die Systemzeit zurück.

  10. #9
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Zitat Zitat von Bührer Beitrag anzeigen
    Hallo drfunfrock

    Machst du das auch auf Rechner mit kleiner Rechnungsleistung. Hast du keine Problem mit den Windows Zugriffen im 200ms Takt? Kein Jitter? Wenn du keine Problem hast ist deine Version viel einfach. Muss ich auch mal ausprobieren.

    Gruss
    Thomas
    Es funktioniert einfach. Der PC ist ein 4 Jahre alter, mit Pentium-D Prozessor (1.4GHz) Den Jitter hatte ich nie getestet. Die Zeit stimmt sekundengenau mit der Systemzeit überein.

  11. #10
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Steff3de Beitrag anzeigen
    Hallo Thomas

    Ich habe das Programm von drfunrock an der Maschine ausprobiert, allerdings habe ich den Trigger mal auf 500ms gesetzt -> Der Timeout-Fehler tritt nicht immer auf, d.h. ca. alle 3-5 Versuche bekomme ich die Systemzeit zurück.
    Wie hoch ist die CPU-Auslastung?

Ähnliche Themen

  1. Systemzeit auslesen
    Von Reto im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 05.09.2011, 11:01
  2. Systemzeit auslesen
    Von timod79 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 07.05.2009, 12:14
  3. Systemzeit auslesen und umwandeln in S7-SCL
    Von Angelo im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 12.09.2008, 09:41
  4. Systemzeit auslesen bzw neu stellen.
    Von thorsten im Forum HMI
    Antworten: 3
    Letzter Beitrag: 03.01.2008, 15:40
  5. Systemzeit auslesen in H/Min/Sek
    Von C.Werner im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 30.12.2006, 17:05

Lesezeichen

Berechtigungen

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