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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: ARRAY von Zeit im CoDeSys

  1. #1
    Registriert seit
    07.10.2014
    Ort
    Deutschland
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,
    ich habe 2 Fragen:
    1. Ist es möglich ein ARRAY von Zeit im CoDeSys zu Definieren? z.B:. T: ARRAY[1..65536] OF TIME;
    2. Ist es möglich, um die aktuellen Uhrzeit mit einem Array von Zeit zu vergleichen?

    Vielen dank im Voraus
    Geändert von Shokoo (16.12.2014 um 13:52 Uhr)
    Zitieren Zitieren ARRAY von Zeit im CoDeSys  

  2. #2
    Registriert seit
    07.10.2013
    Beiträge
    96
    Danke
    7
    Erhielt 11 Danke für 10 Beiträge

    Standard

    zu1: ja.
    zu 2: Bitte genau die Aufgabe beschreiben.

    Irek

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    ... ich würde den Punkt 2 auch pauschal mit "Ja" beantworten ...

    Gruß
    Larry

  4. #4
    Shokoo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.10.2014
    Ort
    Deutschland
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ...also meine Aufgabe ist , nach einem Fahrplan Sollwerte an eine Steuerung zu senden. dafür bekomme ich zwei Arrays von Daten als Eingänge. Eine ist eine Array von Sollwerten und der andere ist ein Array von Zeit, in der die Zeitpunkte zum Senden der Sollwerte gegeben ist. Jetzt denke ich, ich sollte die aktuelle Zeit mit jedem Element des Array von Zeit vergleichen und wenn die gleich sind, muss der nächste Sollwert an die Steuerung geschickt werden. aber ich weiß nicht, wie kann ich die Zeit mit dem solchen Array in CoDeSys vergleichen?...

  5. #5
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard

    Lies dir ein paar Hilfen zu Arrays durch, dann sollte es eigentlich klar werden.
    Auf einen Wert im Array greifst du einfach direkt zu, z.B: arrMyArray[1]

    Dein Vorhaben sollte aber wohl möglich sein!

    Grüße,
    Flo

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    ... aber ganz grundsätzlich :
    - Du erstellst dir für diese Aufgabe einen Baustein.
    - Diesen Baustein rufst du z.B. zyklisch (oder später in einem festgelegten Intervall) auf.
    - In dem Baustein programmierst du eine Schleife in der du überprüfst, ob die Istzeit mit der Vorgabezeit übereinstimmt (bzw. diese überschritten hat und du noch nicht darauf reagiert hast). Entsprechend lößt du die von dir gewünschte Aktion aus.

    Gruß
    Larry

  7. #7
    Shokoo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.10.2014
    Ort
    Deutschland
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    danke Larry, aber welche Funktion soll ich nutzen um die aktuelle Zeit (Istzeit) in dem Bausteine zu haben?

  8. #8
    Shokoo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.10.2014
    Ort
    Deutschland
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe so geschrieben:

    VAR
    numPts: UINT;
    N: INT;
    Sollzeit: TIME;
    pTIME: ARRAY [1..65535] OF TIME;
    Wirksollakt: INT;
    pVal: ARRAY [1..65535] OF REAL;
    Val: REAL;
    insTime: CurTime;
    t64CurrTime : Systime64 := (ulLow:=0, ulHigh:=0);
    END_VAR

    und dann:

    N:=0;
    IF N< numPts THEN
    Sollzeit:= pTIME [N];
    insTime (SystemTime:= t64CurrTime);
    IF (Sollzeit=insTime ) THEN
    Val:= pVal[N];
    Wirksollakt:= REAL_TO_INT (Val);
    END_IF

    N:=N+1;
    END_IF

    Ich bekomme aber 4011 fehlermeldung:"kann 'curTime' nicht in 'Time' convertieren."
    weiß jemand wo ich fehler mache?

  9. #9
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    CurTime ist real. sollte die nicht auch Time sein?

  10. #10
    Shokoo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.10.2014
    Ort
    Deutschland
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    doch, die sollten eigentlich Time sein

Ähnliche Themen

  1. Codesys Zeit->BOOL
    Von Friedelbert im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 20.11.2012, 09:36
  2. CoDeSys, Zeit eines Timers durch Variable bestimmen.
    Von Junior im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 13.03.2012, 20:27
  3. Wago - Codesys - Tabellen - Array
    Von Hobby_Programmierer im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 14.07.2011, 07:10
  4. Aktuelle Zeit und Datum in Array schreiben
    Von JanMichael im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 25.02.2011, 13:04
  5. Codesys Array of Word -> Beliebiges Struct
    Von MSB im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 01.01.2008, 21:47

Lesezeichen

Berechtigungen

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