Beiträge von IrrerPolterer

    Kleine Nachtrag:


    Habe hier gerade zu Testwecken ein Frame-Array mit 256 Frames übetragen.

    Man darf nicht vergessen, in der XML-Date die Größe des Puffers zu Parametrieren:


    Code
            <INTERNAL>
                ...
                <BUFFERING Mode="FIFO" Limit="256"/> ;oder noch mehr...max 512
                <BUFFSIZE Limit="65534"/>
                 ...
            </INTERNAL>

    Ja - saugeil! :dance:

    Das hat hervorragend geklappt. Nachdem ich Trottel eben nochmal mit deinem XML-String verglichen habe , ist mir aufgefallen, dass ich nur einen simplen Copy/Paste-Fehler hatte.


    Auf die simple Deklaration in der XML...

    Also, die Tatsache das es ein Array ist einfach Ignorieren.

    ...wäre ich glaube ich niemals gekommen.


    Vielen Dank für deine kompetente Hilfe! :supi:

    Danke für deine Antwort,


    aber in der Doku steht, dass die Funktion EKI_GetFrameArray() eine Array von Frames lesen kann.


    Unter 6.2 Funktionen für den Datenaustausch

    EKI_STATUS = EKI_GetFrameArray(CHAR[], CHAR[], FRAME[])


    Sowie auch Arrays von Integer, Bool, etc. möglich sein sollen.


    Zitat

    Ein wirkliches Array hat ja in XML auch keine Nummerierung, weshalb ich mir die durchnummerierung auch schwierig vorstelle, das müsste dann ja bei der Deserialisierung geschehen, und in verschiedene Speicheradressen abgelegt werden.


    Korrekt. Aber wenn ich z.B. in C oder VB o.ä. deserialisiere, habe ich ja auch anschließend en durchnummeriertes Array. Aber was wieß ich, wie das bei Ethernet KRL so funktioniert... :)

    Hallo Leute,


    ich tausche zwischen Leitrechner und Roboter via EthernetKRL Daten aus. Das funktioniert auch hervorragend. Zwecks Optimierung (Dauer der Übertragung aller Datensätze) möchte ich nun mehrere Frames als Array übergeben, um es mit EKI_GetFrameArray() auslesen zu können.

    Ich weiß nicht, wie ich das Frame-Array in der XML-Datei deklarieren muss und kann es auch noch nicht per Try and Error ausprobieren.


    Meine Struktur eines Datensatzes vom Leitrechner soll also so aussehen:

    TransmissionID INTEGER - Nur zur verifizierung

    StepCount INTEGER - Anzahl der einzelnen Schritte in diesem Job

    StepType INTEGER - Ein Parameter fuer die Bearbeitung

    POSITIONS Frame Array - Die Frames, welche ich als Array übertragen möchte


    in der XML-Datei habe ich bisher folgendes unter RECIEVE eingetragen:


    Code
        <RECEIVE>
            <XML>
                <ELEMENT Tag="JOBSTEP/TransmissionID" Type="INT"/>
                <ELEMENT Tag="JOBSTEP/StepCount" Type="INT"/>
                <ELEMENT Tag="JOBSTEP/StepType" Type="INT"/>
                !!! Hier fehlt noch das Frame-Array !!!
                <ELEMENT Tag="JOBSTEP" Set_Flag="998"/>
            </XML>
        </RECEIVE> 

    Wäre das dann so richtig?

    Code
    <ELEMENT Tag="JOBSTEP/POSITIONS" Type="FRAME[]"/>

    Die Doku sagt da leider nix...oder ich find's einfach nicht.

    Liebe Mitglieder,


    unser Forumschef Werner hat heute Geburtstag! :dance:

    Da ist es Zeit mal Danke zu sagen, für die wahnsinnig viele Mühe, erstklassige Arbeit, leidenschaftliche Hingabe und immer wieder neue Ideen, die Werner in dieses Forum steckt!

    Danke Werner!!! :grinser043:


    Bleib so wie du bist! :beerchug:


    Wenn ich das richtig verstehe hat das Forum dieses Jahr sogar sein 20 Jähriges Jubiläum gefeiert. ich bin allerdings erst seit 2006 dabei.

    @titan72: Dein Text ist ja kaum zu lesen. :icon_rofl: Scheiß Smartphones! :mrgreen:


    Den Roboter so zu justieren, ist den Leuten leider damals genauso von der inbetriebnehmenden Firma beigebracht worden. Sogar mit Drehen an den Motoren gegen die Bremsen!!!
    Kann man Ihnen also nicht vorwerfen.

    Ahhh...jetzt weiß ich wer du bist! :icon_rofl: Ich denke war ja schon öfter mal bei euch vor Ort. :D
    Wie ihr das macht es es ja nicht wirklich richtig - aber wenn ihr meint:
    1. Anmelden als Experte
    2. Menü Inbetriebnahme>Justage>Uhr
    3. Alle Achsen mit dem Softkey (unterm Display) "Justiere" als justiert angeben.
    4. Alles was nicht mehr passt nachteachen.


    Ich persönlich find's grauenhaft. :zwink:

    Die Justagemarken sind nur "Vorjustageposittionen". Anschließend musst du den Robter mittels EMT oder EMD (je anch Steuerungstyp) richtig justieren! Geht auch mit'ner dafür passenden Justage-Uhr.


      bis zu dem Punkt, wo das Gerät einen Namen und IP Adresse bekommt ("Taufen"); in der Gerätesuche wird kein KUKA Gerät angezeigt, sehr wohl jedoch die bereits verbundene S7-1500[/li]


    Den Namen vergibt doch der Master, in diesem Fall die S7.


    Mach doch mal bitte einen Screenshot der WorkVisual Seite (siehe Beispiel im Anhang)


    Prüfe mal auf Versionsunterschiede Profinetversion am Roboter
    Außerdem benutzt der SPS-Programmierer auch gerne mal die falsche GSDML-Datei... :mrgreen:



    Auf der Robotersteuerung: Warnung "KSS13040" Fehler beim Lesen der PNIODriver.xml



    Die Meldung auf der Robotersteuerung ist klar, da dein Profinet noch nicht funktioniert.



    WorkVisual: Fehler in DTM Profinet: Unbehandelte Ausnahme des Typs NullRefernceException: Der Objektverweise wurde nicht auf eine Objektinstanz festgelegt..."


    Ich hatte eine ähnlich Meldung bei Work Visual 4 mit Windows 10 - allerdings beim kompilieren der Sicherheitssteuerung. Versuch mal Work Visual als Administrator auszuführen.

    Als erstes würde ich mal probieren die DSE (also die komplette MFC) aus dem Slot zu ziehen ggf. die Kontakte zu reinigen, den Slot sauberzupusten und neu zu stecken. Hatte ich schon öfter...