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

Ergebnis 1 bis 7 von 7

Thema: TwinCAT PLC Control (ST): Array

  1. #1
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    773
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ich will ein eindimensionales array in ein zweidimensionales komplett kopieren. Ist das möglich?:

    eda : array[1..10] of byte;
    zda : array [5..55,1..10];
    i : int := 1;

    zda[i,?] := eda;

    Wie kann ich das schön realisieren?
    irgendetwas ist ja immer...
    ING. Gerald Miedler
    Zitieren Zitieren TwinCAT PLC Control (ST): Array  

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

    Standard

    Code:
    FOR j := 1 TO 10 DO
        zda[i,j] = eda[j];
    END_FOR
    A programmer is just a tool which converts caffeine into code.

  3. Folgender Benutzer sagt Danke zu Cerberus für den nützlichen Beitrag:

    Gerri (20.12.2011)

  4. #3
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    Denke die Adresse vom Objekt holen und ein memcpy dürfte schneller sein.

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

    Gerri (20.12.2011)

  6. #4
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    757
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Einen eigenen Typ für eda deklarieren.
    Code:
    TYPE eda_type:
       ARRAY[1..10] OF BYTE;
    END_TYPE
    
    VAR
       eda:eda_type;
       zda:ARRAY[5..55] of eda_type;
    END_VAR
    
    zda[10][5]:=1;  (* etwas andere Schreibweise beim Zugriff auf einzelne eda-Felder *)
    zda[10]:=eda;   (* aber dafür eda kopieren in einem Rutsch *)

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

    Gerri (20.12.2011)

  8. #5
    Gerri ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    773
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    memcopy passt perfekt
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  9. #6
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    757
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Zitat Zitat von Gerri Beitrag anzeigen
    memcopy passt perfekt
    Ist natürlich Geschmackssache, aber für mich ist MEMCPY nur das letzte Mittel, wenn es gar nicht anders geht. Wenn eben möglich, setze ich die Typüberprüfung des Compilers nicht ausser Kraft.

  10. #7
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wie immer bei ADR() und memcpy() muß man natürlich wissen was man tut .

Ähnliche Themen

  1. Tastenkombination TwinCAT PLC Control
    Von HK09 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 26.07.2016, 10:52
  2. TwinCAT PLC COntrol VISU
    Von Pinmaster im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 24.08.2011, 10:47
  3. TwinCat PLC Control 2.11.0
    Von jusi im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 14.01.2010, 21:30
  4. Variablenübergabe C++ - TwinCat PLC Control
    Von AndiM im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 22.06.2009, 14:23
  5. Codesys bzw. TwinCAT PLC-Control
    Von MarkusP im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 18.03.2008, 21:45

Lesezeichen

Berechtigungen

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