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

Ergebnis 1 bis 6 von 6

Thema: systemzeit zu filezeit in Filename

  1. #1
    Registriert seit
    11.10.2011
    Ort
    mannheim
    Beiträge
    8
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Liebe Freunde

    ich will Systemzeit für filezeit bei jeder neuen Fileopen erzeugen. und bei der Name wird es auch automatisch eingeschrieben.

    ich habe so wie in dem Bild gemacht, program läuft, aber keine file wird erzeugt in mein FTP. was ist Los?

    Vielen Dank



    Arthur
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg prg.jpg (27,5 KB, 48x aufgerufen)
    Zitieren Zitieren systemzeit zu filezeit in Filename  

  2. #2
    Registriert seit
    08.10.2011
    Ort
    Belgien
    Beiträge
    32
    Danke
    1
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Hi,

    what do you get as filename? do you get an error on the fileopen block?

    br,
    Peter

  3. #3
    akwung ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.10.2011
    Ort
    mannheim
    Beiträge
    8
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    no, i get nothing, the file war not successfully open, i have no idea what should i change then?

    Gruß



    Arthur

  4. #4
    Registriert seit
    08.10.2011
    Ort
    Belgien
    Beiträge
    32
    Danke
    1
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Zitat Zitat von akwung Beitrag anzeigen
    Hallo

    no, i get nothing, the file war not successfully open, i have no idea what should i change then?
    Ich habe ess versucht und...du musst die name wechseln... "'c:\20111020190757060.csv'" ohne":" "." "-" in die name und das klapt...

    diese characters sind dass probleme

    eine möglichkeit:
    Code:
    FUNCTION CONV_Timestruct_To_Timestamp : STRING
    VAR_INPUT
        DateTime    :TIMESTRUCT;
    END_VAR
    VAR
        output: STRING;
    END_VAR
    Code:
    output :=  WORD_TO_STRING(DateTime.wYear);
    IF DateTime.wMonth < 10
    THEN
        output := CONCAT(output, '0');
    END_IF;
    output := CONCAT( output, WORD_TO_STRING(DateTime.wMonth));
    (*Make sure day number is always 2 digits*)
    IF DateTime.wDay < 10
    THEN
        output := CONCAT(output, '0');
    END_IF;
    output := CONCAT(output, WORD_TO_STRING(DateTime.wDay));
    output := CONCAT(output, ' ');
    (*Make sure hour number is always 2 digits*)
    IF DateTime.wHour < 10
    THEN
        output := CONCAT(output, '0');
    END_IF;
    output := CONCAT(output, WORD_TO_STRING(DateTime.wHour));
    (*Make sure minute number is always 2 digits*)
    IF DateTime.wMinute < 10
    THEN
        output := CONCAT(output, '0');
    END_IF;
    output := CONCAT(output, WORD_TO_STRING(DateTime.wMinute));
    (*Make sure second number is always 2 digits*)
    IF DateTime.wSecond < 10
    THEN
        output := CONCAT(output, '0');
    END_IF;
    output := CONCAT(output, WORD_TO_STRING(DateTime.wSecond));
    CONV_Timestruct_To_Timestamp := output;
    wenn sie diese function gebrauche und nicht "SYSTEMTIME_TO_STRING" hatte sie etwas, andere möglichkeiten auch

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

    akwung (27.10.2011)

  6. #5
    Registriert seit
    17.10.2007
    Ort
    35043 Marburg
    Beiträge
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Standard

    Hallo,
    hat schon mal jemand getestet wie lange diese String Functionen brauchen?
    Erschreckend!
    Ich bevorzuge da eher die Pointer Variante.
    Code:
    VAR
    MyString1:STRING(22);
    MyString2:STRING(14);
    pby1,pby2:POINTER TO BYTE;
    END_VAR
    
    MyString1:=TIME_TO_STRING(SystimeGetTimestamp()); //oder so ähnlich, so passts
    
    (*MyString1 sollte jetzt das enthalten 'DT#2011-10-26-23:10:04'*)
    
    pby1:=ADR(MyString1);
    pby2:=ADR(MyString2);
    pby2[0]:=pby[3];
    pby2[1]:=pby[4];
    pby2[2]:=pby[5];
    pby2[3]:=pby[6];
    pby2[4]:=pby[8];
    pby2[5]:=pby[9];
    pby2[6]:=pby[11];
    pby2[7]:=pby[12];
    pby2[8]:=pby[14];
    pby2[9]:=pby[15];
    pby2[10]:=pby[17];
    pby2[11]:=pby[18];
    pby2[12]:=pby[20];
    pby2[13]:=pby[21];
    
    (*MyString2 sollte jetzt '20111026231004' enthalten*)
    Hier du haste noch andere Möglichkeite!
    Geändert von Simatiker (28.10.2011 um 20:59 Uhr) Grund: So, jetzt den Mist den ich hier zusammen geschrieben hatte mal gerade gezogen! ;o)
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

  7. Folgender Benutzer sagt Danke zu Simatiker für den nützlichen Beitrag:

    akwung (27.10.2011)

  8. #6
    Registriert seit
    17.10.2007
    Ort
    35043 Marburg
    Beiträge
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    war ganz schön spät gestern , hab das jetzt noch mal mit CoDeSys gemacht (optimiert) und getestet. Diesmal als Function:
    Code:
    FUNCTION MyTimeToString : STRING(14)
    VAR
        MyString        :STRING(22);
        pby1,pby2        :POINTER TO BYTE;
        uiIndx1,uiIndx2    :UINT;
    END_VAR
    (*Implementierung*)
    MyString:=DT_TO_STRING(UDINT_TO_DT(SysTimeGetTimestamp())); //MyString ist jetzt 'DT#2011-10-27-22:30:34'
    pby1:=ADR(MyString);
    pby2:=ADR(MyTimeToString);
    uiIndx2:=0;
    FOR uiIndx1:= 3 TO 21 DO
        CASE pby1[uiIndx1] OF
         16#30..16#39:    //ASCII-Code für Zeichen '0' - '9'
            pby2[uiIndx2]:=pby1[uiIndx1];
             uiIndx2:=uiIndx2+1;
        END_CASE
    END_FOR
    Die Function "SysTimeGetTimestamp" ist aus der Bibliothek SysTimeRtc in CoDeSys V3.4 (siehe Bild) So eine Function sollte aber auf jedem System verfügbar sein.
    Angehängte Grafiken Angehängte Grafiken
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

Ähnliche Themen

  1. Systemzeit in der RT ändern
    Von hoT im Forum HMI
    Antworten: 2
    Letzter Beitrag: 09.02.2011, 07:34
  2. TON und Systemzeit
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 04.08.2010, 18:53
  3. systemzeit auf op7
    Von linuxluder im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2007, 17:39
  4. Systemzeit SPS
    Von Larry Laffer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 03.06.2007, 11:35
  5. Systemzeit S7
    Von stricky im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 27.04.2006, 09:39

Lesezeichen

Berechtigungen

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