Positionen nachladen in Automatik

  • AD
  • Ähnlich


    aus datei einlesen statt Socket. der rest bleibt gleich dann brauchst du später nur die quelle ändern und der rest bleibt gleich


    stichwort open (auch ganz gut beschrieben)



    Gruß Loipe

  • Es ist die Frage wie diese deklariert sind.

    Alte S4c hat bei ca. 250 Positionen in einem Datenfeld nicht funktioniert, in diesem Fall als PERS.

    Zerpflückt man diese in eine kleiner Einheit, 100 in einem Datenfeld und setzt diese in ein VAR definiertes Datenfeld zusammen hat das funktioniert. ;-)

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Es liegt im Thema das Speicherbereiches, VAR ist da wesentlich besser, daher hatten wir dazumal die Daten aufgesplittet und im allgemeinen Ablauf in ein gesamtes VAR Datenfeld zusammengesetzt.

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Ich hab das mal so in der SPS gelöst,das ich mit OPEN die xx.csv geöffnet und mit ReadString den Inhalt gelesen habe. Dann mit einem selbst erstellten

    Konvertierungsprogramm die Strings in robtargets gewandelt habe. (War ein riesen Aufwand da sich die Struktur in der xx.csv immer geändert hat ) und Strings mit 80 Zeichen begrenzt sind Zeilenumbruch... Hab dann ein Programm automatisch erstellt und das ins HOME Verzeichnis geladen. Haupttask hat das Programm abgeholt und verarbeitet (Zwischenspeicher) das Programm dann im Home gelöscht.SPS hat mit ISFILE aufs Homeverzeichnis zugegriffen wenn kein Programm existierte hat die SPS ein neues erstellt aus der nächsten xx.csv Datei. Natürlich kam es nach der Abarbeitung des Programms vom Roboter zu einem ganz kurzen Stillstand. aber ca.400 RecordVariablen (Startposition,Endposition,Kontur,Drehzahl .... )einlesen dauert ja nicht so lange.... Hab damit gebohrt und gefräst .

  • Hab heute mal mit load und unload was probiert, ist wirklich so die Abarbeitung stoppt beim Laden und der Roboter bleibt stehen.


    was ich jetzt mal anschauen will ist noch Startload und waitload, das sollte laut Doku parallel laufen.

    muss dann mit 2 Arrays arbeiten, eines wird abgearbeitet und eines wird quasi in dieser Zeit neu geladen.


    Das mit den reinen Dateien auslesen wollte ich mir halt ersparen die ganzen Strings zu zerpflücken und passend wieder zusammensetzen

    Aber vlt. geht's ja wirklich nicht anders.


    Kann man eigentlich was in einer Hintergrundtask machen und dann vlt. in den Bewegungstask schieben....nur so eine Idee.....

  • Könnte man statt ein Programm automatisch erstellen natürlich auch mit PERS Variablen umsetzen. Wichtig war vor mich die Konvertierung in der SPS

    abzuarbeiten, da diese so taktzeitneutral gegenüber dem Robotertask läuft und die Anzahl der Variablen im überschaubarem Bereich gehalten werden kann.

  • Spylog sagt das Waitload 500ms benötigt um das 1000er Array zu laden

    wenn ich das testweise das Array auf 10 reduziere benötigt Waktload nur 15ms


    Schade sieht so aus als ob das mit StartLoad und Waitload auch eine Sackgasse ist


    bleibt noch der Gedanke das komplett in einen Hintergrundtast zu erledigen, aber dazu hab ich überhaupt nichts in der Doku gefunden

  • ist relativ easy.


    mach erstmal die entwicklung im robotertask.

    wenn das dann geht verpflanzt du es in nen semistatischen task und machst bissel Handshake zwischen roboter task und semi task.


    Wenn du zwei Arrays machst Pers deklariert (im Roboter und Semistatischen Task) aber nur im Semi Task eine Wertzuweisung dann hast du schon fast alles fertig das du paralell einlesen kannst und flip flop die Arrays wechselts


    Gruß Loipe

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now