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

Page 1 of 4 123 ... LastLast
Results 1 to 10 of 33

Thread: Systemzeit auslesen

  1. #1
    Join Date
    18.02.2008
    Posts
    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
    Reply With Quote Reply With Quote Systemzeit auslesen  

  2. #2
    Join Date
    11.06.2007
    Posts
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Default

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

    Gruss
    Thomas

  3. #3
    Join Date
    06.07.2007
    Posts
    2,839
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    18.02.2008
    Posts
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

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

  5. #5
    Join Date
    11.06.2007
    Posts
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Default

    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
    Join Date
    14.08.2004
    Posts
    934
    Danke
    48
    Erhielt 73 Danke für 66 Beiträge

    Default

    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);
    Last edited by drfunfrock; 26.11.2008 at 10:58.

  8. #7
    Join Date
    11.06.2007
    Posts
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    18.02.2008
    Posts
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Join Date
    14.08.2004
    Posts
    934
    Danke
    48
    Erhielt 73 Danke für 66 Beiträge

    Default

    Quote Originally Posted by Bührer View Post
    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
    Join Date
    14.08.2004
    Posts
    934
    Danke
    48
    Erhielt 73 Danke für 66 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Steff3de View Post
    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?

Similar Threads

  1. Systemzeit auslesen
    By fctla in forum CODESYS und IEC61131
    Replies: 1
    Last Post: 15.07.2014, 10:57
  2. Systemzeit in opcon auslesen
    By veritaz89 in forum CODESYS und IEC61131
    Replies: 0
    Last Post: 23.05.2012, 13:09
  3. B&R Systemzeit auslesen
    By adi5 in forum Sonstige Steuerungen
    Replies: 2
    Last Post: 15.03.2012, 17:39
  4. Systemzeit auslesen
    By Reto in forum Simatic
    Replies: 21
    Last Post: 05.09.2011, 11:01
  5. Systemzeit auslesen
    By timod79 in forum CODESYS und IEC61131
    Replies: 4
    Last Post: 07.05.2009, 12:14

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •