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

Ergebnis 1 bis 3 von 3

Thema: ADS DLL Byte in Array schreiben

  1. #1
    Registriert seit
    09.09.2010
    Beiträge
    106
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forenmitglieder,

    mittels einer ADS DLL Funktion (in Labview) lese und beschreibe ich ein Array in einer Beckhoff Steuerung (CX9020).

    Im Prinzip funktioniert diese Funktion auch ganz gut.

    Beim schreiben und lesen des Arrays kann ich leider nur vom Anfang aus eine bestimmte Anzahl lesen oder schreiben.

    Ich möchte aber vom Anfang + Index aus eine bestimmte Anzahl Bytes lesen oder schreiben.
    Ist dies möglich ?


    Im Moment verwende ich zwei DLL Funktionen
    - Handl mittels Variablenname lesen (Indexgroup F005).
    - Variable schreiben / lesen mittels Handl (Indexgroup F003).


    mfg.

    mkersch
    Zitieren Zitieren ADS DLL Byte in Array schreiben  

  2. #2
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Kannst du das Handle nicht direkt von einem bestimmten Element des Arrays holen?
    Also statt hVar = CreateVariableHandle(".ArrayVar"); hVar = CreateVariableHandle(".ArrayVar[10]"); benutzen.
    Bei ReadAny dann die länge in den Argumenten entsprechend kürzen.

    Wenn das nicht geht kann man auch noch versuchen die IndexGroup und den Offset von einem Element des Arrays über ReadSymbolInfo zu holen und dann die entsprechende Überladung von ReadAny für IndexGroup und IndexOffset zu benutzen.

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

    mkersch (26.05.2014)

  4. #3
    mkersch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.09.2010
    Beiträge
    106
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank für die Antwort.

    Du hast mir sehr weitergeholfen.

    In der Zwischenzeit läuft die Kommunikation.

    1. Mittels F007 Infos zum Variablennamen einlesen
    Mit der Funktion ReadWrite kann man über den Variablennamen die zugehörige Indexgroup und den Indexoffset lesen
    ==> Rückgabe - Indexgroup
    - Indexoffset
    - Laenge

    2. Jetzt kann über die Indexgroup /Indexoffset + Offset mit Read oder Write auf jedes Element im Array zugreifen.

    mfg.

    mkersch

Ähnliche Themen

  1. ADS C++ DLL auslesen verschiedener Variablentypen ?
    Von ScooB im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 08.03.2012, 12:16
  2. Schrittmotor an KL2541 über Twincat.Ads.dll ansteuern
    Von tubias im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 01.10.2011, 10:59
  3. Beckhoff ADS.Net DLL und C#
    Von Majestic_1987 im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 09.12.2009, 12:29
  4. Beckhoff - Problem mit ADS-DLL (Visual c++)
    Von Beta6 im Forum CODESYS und IEC61131
    Antworten: 15
    Letzter Beitrag: 16.10.2008, 17:24
  5. Elau: Ein Byte, bitweise in ein Array schreiben?
    Von Trashman im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 24.10.2007, 19:27

Lesezeichen

Berechtigungen

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