1. Dashboard
    1. Dashboard
    2. Suche
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  4. Jobs
  5. Articles
  6. Calendar
    1. Upcoming Events
    2. Map
  7. Shop
    1. Orders
    2. Shipping Costs
  • Login or register
  • Search
Roboterprogrammierer finden
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Events
  • Files
  • Products
  • More Options
  1. Roboterforum.de - die Industrieroboter und Cobot Community
  2. Forum
  3. Industrieroboter Support
  4. KUKA Roboter
Your browser does not support videos autonome mobile Roboter von KUKA
besuche unseren Hauptsponsor
Roboterschulung Online
Robot Support Forum
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Kuka Parallel Programmieren

  • CesMak
  • January 10, 2020 at 1:48 PM
  • Thread is Resolved
  • CesMak
    Points
    30
    Posts
    4
    • January 10, 2020 at 1:48 PM
    • #1

    Hallo zusammen,

    ich wollte nachfragen ob ich ein KUKA Roboterprogramm schreiben kann bei dem der Roboter 2 Dinge parallel macht?

    Also z.B. während der Roboter noch fährt liest er Daten aus die über eki geschickt werden?

    Bisher habe ich nur Interrupts getestet das ist aber etwas anders:

    -sobald ein bestimmtes Flag gesetzt wird unterbricht der eigentliche Programmablauf und eine spezielle Methode wird zuerst ausgeführt.

  • Schritt für Schritt zum Roboterprofi!
  • JMPLBL_NoGO
    Reactions Received
    2
    Points
    402
    Posts
    68
    About Me

    Dienstleistung für Roboterprogrammierung

    Location
    Düsseldorf
    • January 10, 2020 at 2:49 PM
    • #2

    Hallo CesMak,

    leider weiß ich nicht was "eki" ist, aber eine parallele Ausführung würde über den Submit Interpreter gehen. Schau mal auf dein Robi Verzeichnis "R1/System", dort ist üblicherweise eine sps.sub in der du auch deine eigene Logik schreiben kannst - Allerdings keine Bewegungen!

    Ich hoffe das hilft dir etwas und es war wonach du gesucht hast!

    Noch gestern standen wir vor dem Abgrund, und heute sind wir ein Schritt weiter!

  • frengie1410
    Points
    45
    Posts
    8
    • March 7, 2025 at 6:38 AM
    • #3

    Hallo,

    ich durchlaufe ein Programm für eine Kamera, welches mir dann die Koordinaten für den Roboter übermittelt. Allerdings dauert das ein paar Sekunden und solange wartet der Roboter. Wie kann ich das Programm parallel bzw. schon vorher durchlaufen um diese Wartezeit zu umgehen. Bzw. kann ich das in der SPS.Sub irgendwie anstoßen?

  • Sven Weyer
    Reactions Received
    98
    Points
    8,048
    Trophies
    44
    Posts
    1,506
    Location
    Magdeburg
    • March 7, 2025 at 6:45 AM
    • #4

    Entweder du definierst dir ein weiteres subprog oder du kannst es integrieren innerhalb der aktuellen sps.sub. Je nach dem wie groß und aufwendig es ist.


    Sollte halt keine Roboterbewegungen enthalten sei . 😉

    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!

  • AtoK09
    Reactions Received
    21
    Points
    2,151
    Trophies
    1
    Posts
    385
    • March 7, 2025 at 7:40 AM
    • #5

    Wir haben wenig Informationen zu deinen Anforderungen!

    Evtl. kann ein Signal definiert werden, welches ein Interrupt auslöst um die Daten nach Eingang zu registrieren/ weg zu speichern. Der Robbie kann wärend dessen alles andere abarbeiten, ggfls. schon zur Vorposition fahren, oder so.

    Wie gesgt wir kennen deine Anforderungen nicht...

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • frengie1410
    Points
    45
    Posts
    8
    • March 7, 2025 at 8:33 AM
    • #6

    wie gesagt, ich muss eine SRC File durchlaufen, in der die Kamera das Bauteil sucht welches passend zum greifen ist. Die Koordinaten werden dann in Variablen für x,y,z usw. geschrieben, welche ich dann im nächsten Programm in einer Variable zusammenfasse und anfahre. Es funktioniert alles soweit, allerdings habe ich die Wartezeit was die Kamera braucht um diese src File zu durchlaufen um die Variablen zu beschreiben

  • Sven Weyer
    Reactions Received
    98
    Points
    8,048
    Trophies
    44
    Posts
    1,506
    Location
    Magdeburg
    • March 7, 2025 at 9:23 AM
    • #7

    Du kannst diesen src in der sps.sub einbinden. Sollte kein Problem darstellen.

    Aber Achtung vor Warteanweisungeb, wenn benötigt dann ein separates sub Programm definieren, ist ganz easy.

    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!

  • frengie1410
    Points
    45
    Posts
    8
    • March 7, 2025 at 10:17 AM
    • #8

    könntest du mir da einmal ein Beispiel oder die Vorgehensweise genauer schildern. Ist neu für mich.

  • Online
    Programmiersklave
    Reactions Received
    104
    Points
    6,299
    Posts
    1,203
    About Me

    neuerdings freigelassen

    Location
    märk. Sauerland
    Occupation
    Roboter- und SPS-Programmierer
    • March 7, 2025 at 10:46 AM
    • #9

    Kommt erstmal drauf an, wie alt Dein System ist.

    Wenn Du beim Tap auf das "S" so ein Bild vorfindest:

    dann kannst Du Dein Programm in eine *.sub benannte Datei auslagern und die einem der EX1..7 benannten Tasks zuweisen. Natürlich mit Endlosschleife etc.

    Ist da "nur" der Submit-Interpreter, wird es schwieriger, dann brauchste eine Art Schrittkette oder sowas für die Kommunikation mit der Kamera.


    Und vorab schon mal eine Warnung für Programme im Hintergrundtask: der Haupttask (das eigentliche Roboterprogramm) "weiß" nicht, was das Submit-Programm gerade macht. Du brauchst stets einen vernünftigen Handshake, so dass sichergestellt ist, dass erst und nur dann der Roboter die Koordinaten auswertet, wenn sicher ist, dass sie feststehen.

    Automatisierung mit dem geflügelten Walross aus dem Sauerland

  • frengie1410
    Points
    45
    Posts
    8
    • March 7, 2025 at 11:25 AM
    • #10

    also mein Submit-Interpreter sieht so aus, ist neues aktuelles System. Wie bekomme ich die x.dat und x.src Datei in ein x.sub Datei, damit ich diese dann in EX1 auswählen kann?

  • Spacefire
    Points
    410
    Posts
    82
    • March 7, 2025 at 12:06 PM
    • #11

    .dat und .src haben mit .sub nicht wirklich etwas zutun, kann aber Funktionen aus solchen aufrufen...

    Der Submitinterpreter öffnet nur *.sub-Dateien. Du musst also deinen Code in eine .sub-Datei kopieren und entsprechend anpassen. Der Austausch mit dem Bewegungsprogramm geht z.B. über GLOBAL deklarierte Variablen. Aber nochmal das zuvor genannte zusammen gefasst:

    • Handshake des Bewegungsprogramms mit dem Submit
      • Submit setzt ein Signal, wenn neue Daten vorliegen
      • Daten von Submit in Bereich des Bewegungsprogramms kopieren, damit diese konsistent bleiben
      • Bewegung setzt ein Signal, damit Submit weiß, das die Daten abgenommen wurden
      • Submit setzt Signale zurück und kann mit der Bearbeitung fortfahren
    • Dein Submit-Programm darf im Gegensatz des Bewegungsprogramms nicht stehen bleiben!
      • Bau dir eine Schrittkette, wo nur Code abgearbeitet wird, der gerade aktiv sein muss und Wartebedingungen Weiterschaltbedingungen sind
      • Stell dir den Submit wie eine SPS vor, die ihr Programm auch zyklisch abarbeiten muss
  • Online
    Programmiersklave
    Reactions Received
    104
    Points
    6,299
    Posts
    1,203
    About Me

    neuerdings freigelassen

    Location
    märk. Sauerland
    Occupation
    Roboter- und SPS-Programmierer
    • March 7, 2025 at 12:08 PM
    • #12

    *.dat bleibt *.dat, die hält die Daten. Man kann *.dat ohne *.src haben und umgekehrt. Falls Du die gesamte x.src in die *.sub umziehen willst, wirst Du evtl. die Daten global machen müssen.

    Die *.src kannst Du zuerst im Handbetrieb testen. Du wirst um die vorhandenen Funktionen noch einen Rahmen basteln müssen, denke ich. Du brauchst eine Initialisierung, und dann muss die ja von selbst immer in einer Loop laufen, wahrscheinlich durch die Anforderung eines externen Signals oder eines bools vom Roboter getriggert. Und wenn die Schleife durch ist, muss sie über eben sowas dem Roboter Bescheid sagen, dass sie jetzt die Daten hat, und dann wieder von vorne aus in Wartestellung gehen bis zum nächsten Trigger, und sie darf nie von selbst enden. Stehenbleiben und warten darf sie beliebig, wenn es nicht die eigentliche SPS.SUB ist, denn die ist drauf angewiesen, sofort reagieren zu dürfen. Alle anderen Subs dürfen warten, bis sie schwarz werden.

    Im Grunde kannst Du aber auch die (vermutlich) extern programmierten x.src und x.dat einfach so lassen, wie sie sind, und von Deinem eigenen Rahmenprogramm (dem mit der Schleife) aus einfach nur aufrufen wie bisher, das geht (leider / zum Glück) kreuz und quer. Solltest dann allerdings darauf achten, dass NUR DIESE Instanz die Kameraprogramme aufruft, und nicht irgendeine versteckte Ecke des Roboterprogramms das AUCH tut. (Kann man nämlich auch kreuz und quer machen, nur dann hat man wirklich Datenkollisionen in der *.dat)

    Wenn diese Rahmen-*.src fertig ist und funktioniert, dann benennst du sie einfach um in *.sub und benutzt den Button "Anzeigen/Zuweisen" wie im oberen Bild, dann testen, ob sie beim nächsten Neustart automatisch mitstartet.

    Das wär's dann schon...

    Automatisierung mit dem geflügelten Walross aus dem Sauerland

  • Online
    Programmiersklave
    Reactions Received
    104
    Points
    6,299
    Posts
    1,203
    About Me

    neuerdings freigelassen

    Location
    märk. Sauerland
    Occupation
    Roboter- und SPS-Programmierer
    • March 7, 2025 at 1:34 PM
    • #13
    Quote from Spacefire
    • Handshake des Bewegungsprogramms mit dem Submit
      • Submit setzt ein Signal, wenn neue Daten vorliegen
      • Daten von Submit in Bereich des Bewegungsprogramms kopieren, damit diese konsistent bleiben
      • Bewegung setzt ein Signal, damit Submit weiß, das die Daten abgenommen wurden
      • Submit setzt Signale zurück und kann mit der Bearbeitung fortfahren


    Und damit - sorry für diesen Interrupt - holt man sich u. U. wochenlange Debugging-Sessions rein.

    Nie nicht darf ein Task einfach Daten überschreiben, schon gar nicht, nachdem er die Bereitstellung signalisiert hat. Das geht 42mal gut, beim 43. mal geschieht das gerade während des Lesens durch den anderen Task und es gibt brutalen Datensalat.

    Ein Task muss Daten bereitstellen, danach sagen, dass sie gültig sind, und darf sie dann nicht mehr ändern, bis sie ungültig sind.

    Der andere Task kann und darf sie nur lesen, wenn sie gültig sind, und danach selbst wieder ungültig machen.

    Sollen Daten vom Task 1 aus initiiert zwischendurch ungültig gemacht werden können, wird das nur dann sauber, wenn der Task 2 dafür ein unabhängiges Freigabefenster zulässt. Es kann anderenfalls passieren, dass Task 2 die Gültigkeit abfragt, bestätigt bekommt, und dann unmittelbar danach der andere Task seinen Teil der Zeitscheibe bekommt - und dort die Gültigkeit verwirft und mit der Manipulation der Daten beginnt. Sind beide dann nicht mehr aufzuhalten.

    Das ist ein generelles Problem bei der Synchronisation unabhängig laufender Programme und jeder EA-Kommunikation, allerdings stellt KRL intern dafür m. W. keine Werkzeuge bereit. Bei ABB Rapid hat man für den Abgleich zwischen den Tasks entsprechende Sprachelemente.

    Automatisierung mit dem geflügelten Walross aus dem Sauerland

  • AtoK09
    Reactions Received
    21
    Points
    2,151
    Trophies
    1
    Posts
    385
    • March 7, 2025 at 3:23 PM
    • #14

    Wie ich schon schrieb... durch einen Interrupt Werte aus den Eingängen auf Variablen schreiben, ohne BRAKE/ BRAKE F. Robbie kann weiterfahren, weiter arbeiten, kein .sub, keine Sychronisierung.

    Eventuell übersehe ich etwas und würde beim testen feststellen, dass das totaler Murks ist, ka.

    Ich habe seit einiger Zeit den Eindruck meine Beiträge werden komplett überlesen... :/

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • woodys
    Reactions Received
    35
    Points
    3,175
    Trophies
    8
    Posts
    589
    • March 7, 2025 at 5:29 PM
    • #15
    Quote from Spacefire

    Dein Submit-Programm darf im Gegensatz des Bewegungsprogramms nicht stehen bleiben!

    Das stimmt so nicht!

    Du kannst soviele warteanweisungen einfügen wie man lustig ist…
    Ausgenommen SPS.Sub…..

  • Sven Weyer
    Reactions Received
    98
    Points
    8,048
    Trophies
    44
    Posts
    1,506
    Location
    Magdeburg
    • March 7, 2025 at 5:59 PM
    • #16

    Deshalb ist ja die Integration eines separaten eigenen Task, sub Programms, gelegentlich von Vorteil, da hier dann unabhängig von anderen Abläufen ein völlig eigenständiger Ablauf existieren kann.

    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!

  • Sliwka
    Reactions Received
    33
    Points
    708
    Posts
    134
    • March 10, 2025 at 8:03 AM
    • #17
    Quote from Programmiersklave

    Kommt erstmal drauf an, wie alt Dein System ist.

    Wenn Du beim Tap auf das "S" so ein Bild vorfindest:

    dann kannst Du Dein Programm in eine *.sub benannte Datei auslagern und die einem der EX1..7 benannten Tasks zuweisen. Natürlich mit Endlosschleife etc.

    Ist da "nur" der Submit-Interpreter, wird es schwieriger, dann brauchste eine Art Schrittkette oder sowas für die Kommunikation mit der Kamera.


    Und vorab schon mal eine Warnung für Programme im Hintergrundtask: der Haupttask (das eigentliche Roboterprogramm) "weiß" nicht, was das Submit-Programm gerade macht. Du brauchst stets einen vernünftigen Handshake, so dass sichergestellt ist, dass erst und nur dann der Roboter die Koordinaten auswertet, wenn sicher ist, dass sie feststehen.

    Display More

    Falls das Bild nicht so aussieht, gibt es bei Kuka die Möglichkeit den MultiSubmitinterpreter zu bestellen als Optionspaket.
    Hab den früher echt gerne genutzt.

  • woodys
    Reactions Received
    35
    Points
    3,175
    Trophies
    8
    Posts
    589
    • March 10, 2025 at 12:10 PM
    • #18
    Quote from Sliwka

    Möglichkeit den MultiSubmitinterpreter zu bestellen als Optionspaket.

    Ab 8.3 sogar Kostenlos

  • panic mode
    Reactions Received
    91
    Points
    3,541
    Trophies
    1
    Posts
    689
    About Me

    Any idea that cannot withstand honest criticism, is not worth believing.

    Location
    Mississauga, Ontario, Canada
    • March 10, 2025 at 4:08 PM
    • #19

    Ab KSS8.3.15... (und kostenlos)

    Multisubmit in KSS8.3 ist etwas umstaendlich...

    Und ... nur haupt submit kann EA ansteuern (egal was fuer KSS oder Multisubmit eingesaetzt sind).

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • fanuc
  • Fehler
  • FRAMES
  • INIT
  • INITIALIZED
  • INITMOV
  • IRC5
  • joint
  • KRC2
  • KRC4
  • kuka
  • new
  • NONE
  • notify
  • PATH
  • PGNO_GET
  • profinet
  • PTP_DAT
  • PTP_PARAMS
  • P_ACTIVE
  • P_FREE
  • P_RESET
  • P_STOP
  • Quit
  • Roboter
  • RobotStudio
  • Schweißen
  • Sps
  • Sync
  • T1
  • t2
  • tcp
  • Tool
  • VALUE
  • VAR
  • vel_cp
  • vel_ptp
  • Yaskawa
  • YRC1000
AD
Your browser does not support videos autonome mobile Roboter von KUKA
Einloggen für weniger Werbung

gesponserte Artikel

  • Gebrauchtroboter kaufen - Was ist zu beachten. Die Checkliste zum kauf von gebrauchten Robotern

    August 11, 2019 at 7:02 PM
  • Was macht ein Roboterprogrammierer genau und was verdient er?

    August 21, 2019 at 8:17 AM
  • Vernetzen, referenzieren, kollaborieren: Das B2B Portal für die Produktionsautomatisierung

    June 2, 2021 at 11:29 AM

Job Offer

  • Sie wollen Ihr Stellenangebot im Roboterforum schalten? Ab 149€

    Werner Hampel June 17, 2021 at 9:52 AM
  • Werde Roboterprogrammierer bei ROBTEC GmbH in Mainburg / Bayern

    Werner Hampel April 5, 2023 at 7:13 PM
Werbung auf Roboterseite
Roboter programmieren lernen
Banner Robotik

Similar Threads

  • Lampe blicken lassen wenn der Roboter steht

    • Fetzi
    • November 28, 2017 at 12:38 PM
    • KUKA Roboter
  • Kaufentscheidung / Grundsatzentscheidung Kuka oder Motoman

    • testuser
    • May 16, 2017 at 11:13 AM
    • allgemeine Industrieroboter Themen

Tags

  • KRC4

Wieviele Mitglieder waren heute eingeloggt?

Logge Dich ein, um hier zu lesen wer in den letzten 24h Online war und um weniger Werbung zu sehen.

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™ 6.0.22
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on the App Store
Download