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

Page 1 of 3 123 LastLast
Results 1 to 10 of 27

Thread: Textdatei von USB in Arrays lesen (Beckhoff)

  1. #1
    Join Date
    16.02.2020
    Posts
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    komme derzeit leider bei einem FileHandling-Problem nicht weiter. Eine Maschine erhält von mir auf einem USB Stick eine Textdatei die Befehle enthält... nun soll jede einzelne Zeile in ein Array gelesen werden, das dann noch einmal geparst werden sollte...
    Stehe leider komplett an, das ganze läuft ja zyklisch ab auf einer Beckhoff Steuerung und daher fehlt mir schon er erste Ansatz...

    Vielen Dank für eure Hilfe!
    LG flar2000
    Reply With Quote Reply With Quote Textdatei von USB in Arrays lesen (Beckhoff)  

  2. #2
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    2,524
    Danke
    262
    Erhielt 477 Danke für 392 Beiträge

    Default

    Quote Originally Posted by flar2000 View Post
    Eine Maschine erhält von mir auf einem USB Stick eine Textdatei die Befehle enthält... nun soll jede einzelne Zeile in ein Array gelesen werden, das dann noch einmal geparst werden sollte...
    Was denn für "Befehle"? ST- oder AWL-Anweisungen??? Oder "G-Code"?
    Ich fürchte, Du wirst Dir einen BefehlsSatz für Deine Anwendung ausdenken und die Befehle in der SPS interpretieren müssen.

  3. #3
    flar2000 is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.02.2020
    Posts
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Heinileini View Post
    Was denn für "Befehle"? ST- oder AWL-Anweisungen??? Oder "G-Code"?
    Ich fürchte, Du wirst Dir einen BefehlsSatz für Deine Anwendung ausdenken und die Befehle in der SPS interpretieren müssen.
    Also das ganze sind Winkel, und Geschwindigkeiten direkt in Zahlen getrennt durch "$" und ":" einem Endsymbol "&", wedr AWL- noch ST und G-Code, das wird vollständig von mir selbst interpretiert... Es geht hauptsächlich um das auslesen aller Daten aus dem Textfile in ein Array

  4. #4
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    2,524
    Danke
    262
    Erhielt 477 Danke für 392 Beiträge

    Default

    Quote Originally Posted by flar2000 View Post
    Also das ganze sind Winkel, und Geschwindigkeiten direkt in Zahlen getrennt durch "$" und ":" einem Endsymbol "&", wedr AWL- noch ST und G-Code, das wird vollständig von mir selbst interpretiert... Es geht hauptsächlich um das auslesen aller Daten aus dem Textfile in ein Array
    Du willst also irgendwelche "vorbereitete Stellen" im Programm mit aktuell eingelesenen Parametern versorgen.
    Wo ist Dein Problem und was hat das mit der zyklischen Bearbeitung zu tun?
    Irgendeine Form von Handshake wirst Du vermutlich benötigen, um die neuen Parameter im richtigen Augenblick zu aktivieren bzw. anzufordern.

  5. #5
    flar2000 is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.02.2020
    Posts
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ok kurze Beschreibung des ganzen Programmes...
    es gibt vorbereitete Winekl und aktuelle, die vorbereiteten stehen alle in einem Array das sind für einen kompletten Arbeitsablauf an die knapp 4000 Positionen und diese möchte ich zu erst in ein Array lesen in der eine gesamte Zeile steht. Z.B.: 48$30$20:5$2$1&. Also bis zum ":" sind es Winkel und bis zum Endzeichen & fogen die Geschwindigkeiten, mit denen diese Positionen angefahren werden sollen.
    Danach bekommt jede Länge ein einzelnes Array jeweils für Geschwindigkeit und Sollwinkel.

    Bedeutet insgesamt 7 Arrays. Eines das jeweils eine Zeile enthält, und darauf 3 Sollwinkel-Arrays und 3 Geschwindigkeits-Array.

    Vor die Maschine das erste Mal anläuft soll das komplette File gelesen werden und alle Zeilen in die Arrays geladen werden und darauf auf die 6 einzelnen Arrays aufteilen, damit anschließen nur noch beim Erreichen der Werte der Index erhöht werden muss und dann die nächsten Positionen verwendet werden soll.

  6. #6
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    2,524
    Danke
    262
    Erhielt 477 Danke für 392 Beiträge

    Default

    Woran scheiterst Du?
    - Einlesen der TextDatei? (Vermutlich über die BedienOberfläche/Visu gesteuert)
    - Auswerten des TextDateiInhaltes und Aufteilen auf die ArrayElemente?
    - Zuführen der auf die ArrayElemente aufgeteilten "Befehle" zur Interpretation im Ablauf des ausführenden Programms?

  7. #7
    flar2000 is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.02.2020
    Posts
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich scheitere an folgendem:
    Einlesen der Textdatei, und an dem Lesen der einzelnen Zeilen und einlesen in die einzelnen Arrays...
    Also an den ersten beiden, von dir angeführten, Punkten...

  8. #8
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    2,524
    Danke
    262
    Erhielt 477 Danke für 392 Beiträge

    Default

    Ich hoffe, dass hier jemand mitliest, der sich mit CodeSys auskennt und helfend einspringen kann!

    Ich kann momentan nur noch fragen: warum 7 Arrays? Ist es die Vielzahl der Arrays, die Dich vor dem Durchblick bewahrt?
    Könnte mir vorstellen, dass Du mit einem (oder zwei?) Array[s] of Struct besser zu Rande kommst.
    Das dürfte dann der Fall sein, wenn alle Elemente der Arrays mit demselben Index auch inhaltlich zusammen gehören.
    Z.B.
    Array[x].Winkel1
    Array[x].Feed1
    Array[x].Winkel2
    Array[x].Feed2
    ...
    Mach Dir einen benutzerdefinierten DatenTyp, der die inhaltlich zusammen gehörenden Daten umfasst und leg Dir ein Array mit diesem DatenTyp an.

  9. #9
    flar2000 is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.02.2020
    Posts
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Heinileini View Post

    Ich kann momentan nur noch fragen: warum 7 Arrays? Ist es die Vielzahl der Arrays, die Dich vor dem Durchblick bewahrt?
    Könnte mir vorstellen, dass Du mit einem (oder zwei?) Array[s] of Struct besser zu Rande kommst.
    Das dürfte dann der Fall sein, wenn alle Elemente der Arrays mit demselben Index auch inhaltlich zusammen gehören.
    Z.B.
    Array[x].Winkel1
    Array[x].Feed1
    Array[x].Winkel2
    Array[x].Feed2
    ...
    Mach Dir einen benutzerdefinierten DatenTyp, der die inhaltlich zusammen gehörenden Daten umfasst und leg Dir ein Array mit diesem DatenTyp an.
    Super viel Dank auf die Idee bin ich noch nicht gekommen, aber eigentlich offensichtlich.. Sind dann also 2 Arrays, einmal jede Zeile aus dem Textfile für sich und das zweite Structarray, welches meine Daten dannn geparst und richtig gespeichtert enthält...

    Hast du eventuell eine Idee wie ich alle Zeilen aus dem Textfile in ein Array (Eine Zeile ist ein Arrayeintrag) bekomme?

  10. #10
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    2,524
    Danke
    262
    Erhielt 477 Danke für 392 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by flar2000 View Post
    Hast du eventuell eine Idee wie ich alle Zeilen aus dem Textfile in ein Array (Eine Zeile ist ein Arrayeintrag) bekomme?
    Leider sind meine Ideen zu vage und mir fehlen die Kenntnisse, welche Möglichkeiten in CodeSys geboten werden (Anweisungen, Bibliotheken, ...) für:
    - Datei "finden" bzw. "identifizieren"
    - Datei öffnen
    - Info erhalten, ob DateiÖffnen erfolgreich erledigt ist
    - 1 Satz lesen
    - Info erhalten, ob DateiEnde erreicht ist
    - Datei schliessen.
    Zur Zerlegung eines Strings in seine Bestandteile (definiert über Trennzeichen) dürfte es eine Funktion geben. Müsste ggfs mehrfach für die verschiedenen Trennzeichen angewendet werden.
    Kann man aber auch "zu Fuss" machen, indem man die Positionen der Trennzeichen sucht (in VBA z.B. mit Instr) und den String dann zerlegt (in VBA z.B. mit Mid).

    Ich hoffe weiterhin angestrengt, dass sich hier mal ein CodeSys-Experte einmischt!!!

Similar Threads

  1. WinCC VBS - Zeile aus Textdatei lesen
    By ElektroAss in forum HMI
    Replies: 10
    Last Post: 24.02.2020, 19:23
  2. Replies: 3
    Last Post: 02.04.2019, 10:39
  3. CX1010 Textdatei auf USB-Stick speichern
    By Micks in forum CODESYS und IEC61131
    Replies: 0
    Last Post: 25.12.2016, 15:50
  4. Arrays im FB lesen
    By tomrey in forum CODESYS und IEC61131
    Replies: 5
    Last Post: 13.08.2013, 14:12
  5. Textdatei auf Server ablegen / lesen
    By Kent B. in forum Simatic
    Replies: 2
    Last Post: 15.04.2011, 13:48

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •