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

Ergebnis 1 bis 9 von 9

Thema: Variable vom Typ Date_and_Time in ein Array schreiben???

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jungs

    Ich will in SCL mit dem SFC1 die CPU Uhr/Datum auslesen die gibt mir den Wert in Date and Time aus Jetzt will ich die einzelnen Bytes manipulieren und aus diesem Grund die Variable in ein Array schreiben hat da jemand ein Quelltext als beistpiel weil mit der einfachen zuordnung klappt es nich

    CPU_Zeit ate_and_Time;
    CPU_Zeit_Arr :Array[0..7] of Byte;

    CPU_Zeit_Arr := CPU_Zeit ;
    Zitieren Zitieren Variable vom Typ Date_and_Time in ein Array schreiben???  

  2. #2
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    247
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Lächeln

    In AWL würde ich das so machen.

    Code:
    // #CPU_Zeit ist in diesem Falle eine Date_And_Time-Variable mit der lokalen Adresse 0.0 !!
    
          CALL  "READ_CLK"
           RET_VAL:=#retval
           CDT    :=#CPU_Zeit
    
          L     LB     0
          T     #CPU_Zeit_Arr[0]
          L     LB     1
          T     #CPU_Zeit_Arr[1]
          L     LB     2
          T     #CPU_Zeit_Arr[2]
          L     LB     3
          T     #CPU_Zeit_Arr[3]
          L     LB     4
          T     #CPU_Zeit_Arr[4]
          L     LB     5
          T     #CPU_Zeit_Arr[5]
          L     LB     6
          T     #CPU_Zeit_Arr[6]
          L     LB     7
          T     #CPU_Zeit_Arr[7]
    es sollte ohne weiteres auf SCL übertragbar sein. Lediglich die Adressierung muß passen.

  3. #3
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Zitat Zitat von Alfa-Uwek Beitrag anzeigen
    ...Ich will in SCL mit dem SFC1 die CPU Uhr/Datum auslesen die gibt mir den Wert in Date and Time aus Jetzt will ich die einzelnen Bytes manipulieren und aus diesem Grund die Variable in ein Array schreiben hat da jemand ein Quelltext als beistpiel weil mit der einfachen zuordnung klappt es nich

    CPU_Zeit Date_and_Time;
    CPU_Zeit_Arr :Array[0..7] of Byte;

    CPU_Zeit_Arr := CPU_Zeit ;
    Ganz einfach mit einer zweiten Sicht (AT) auf die Variable.

    z.B.:
    Code:
    VAR
      CPU_Zeit: DATE_AND_TIME;
         arCPU_Zeit  AT CPU_Zeit : ARRAY[0..7] OF BYTE; 
      CPU_Zeit_Arr : ARRAY[0..7] OF BYTE;
    END_VAR
    
    CPU_Zeit_Arr := arCPU_Zeit;
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  4. #4
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    247
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Lächeln

    Gut zu wissen.

    Ich hab immer krampfhaft nach einem "Record mit Überlagerung" in Step 7 gesucht und nicht gefunden. Etwa so:

    Zeit = Record
    case interger of
    1: DATE_AND_TIME
    2: Array [0..7] off Byte
    end

    Bekommt man sowas auch ohne SCL hin ?

  5. #5
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Zitat Zitat von holgero Beitrag anzeigen
    Gut zu wissen.

    Ich hab immer krampfhaft nach einem "Record mit Überlagerung" in Step 7 gesucht und nicht gefunden. Etwa so:

    Zeit = Record
    case interger of
    1: DATE_AND_TIME
    2: Array [0..7] off Byte
    end

    Bekommt man sowas auch ohne SCL hin ?
    Verstehe die Frage nicht so ganz. Aber mit den Adressregistern (indirekte Adressierung) kann man das selbe in AWL machen.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  6. #6
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    247
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Standard

    Sorry,
    ich wollte fragen:
    bekommt man sowas auch in AWL hin?

  7. #7
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Ja.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  8. #8
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    247
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Standard

    hallo dalbi,

    ich hab jetzt versucht auf dieser Grundlage

    VAR
    CPU_Zeit: DATE_AND_TIME;
    arCPU_Zeit AT CPU_Zeit : ARRAY[0..7] OF BYTE;
    CPU_Zeit_Arr : ARRAY[0..7] OF BYTE;
    END_VARCPU_Zeit_Arr := arCPU_Zeit;
    zwei überlappende Variablen in einem DB und auch in einem FB anzulegen.

    Habs nicht geschafft. In einem "normalen" DB geht es nicht, weil ich bei der Dekleration schon gar keine Sonderzeichen eingeben kann.
    In der Schnittstelle eines FB könnte man soetwas eingeben. Aber was müsste ich da eingeben?

    zeit1 | Date_And_Time
    zeit2 | at zeit1 : array[0..7] of byte

    oder wie kann es funktionieren ? (abgesehen vom Zugriff auf Lokaldaten)

    Was meinst du mit
    ja
    Vielen Dank im Voraus
    Holger

  9. #9
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    in AWL geht das natürlich nicht mein Beispiel bezog sich auf SCL (hat nix mit AWL zu tun).
    In AWL geht das ähnlich, suche mal im Forum nach Pointer (Zeiger).

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

Ähnliche Themen

  1. Array in DB schreiben(any-pointer)
    Von Limette im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 28.10.2011, 22:17
  2. LibNoDave-Komponente DATE_AND_TIME lesen/schreiben
    Von marcengbarth im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 28.10.2009, 17:16
  3. FB Array als OUT Variable
    Von Beckx-net im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.09.2009, 16:41
  4. Array von Bytes per OPC in SPS schreiben
    Von ingmar im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 02.11.2006, 08:51
  5. ARRAY OUT Variable
    Von Kleissler im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 09.04.2005, 11:54

Lesezeichen

Berechtigungen

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