Beiträge von RobAutomation

    Hi,


    hatten mal einen Roboter der in einer Kältekammer gearbeitet hat.
    Ist aber schon eine ganze weile her und ich glaube der Steuerschrank stand ausserhalb.
    Von dem her wird dir das nicht viel weiter helfen.


    Grüße

    Hallo zusammen,


    habe heute eine kleine Funktion geschrieben und wollte von euch wissen, ob es diese ev. bei KUKA schon gibt.
    Zu meiner Problemstellung:


    Ich habe ein Bauteil in das ich mein Greifer einfädeln muss. Der Punkt an dem ich das Bauteil hole ist geteacht.
    Beim Freifahren verwende ich dann LIN_REL (X 50) #TOOL um wieder aus dem Bauteil raus zu kommen.
    Jetzt wollte ich beim Bauteil holen ein ähnliches verfahren anwenden. Leider kann ich den Befehl LIN_REL nicht rückwärts anwenden.
    Deswegen habe ich mir eine kleine Funktion geschrieben, die mir den Punkt liefert abhängig von meinem geteachten Punkt.


    Hoffe ihr versteht was ich meine... :P


    Ich weis eine Base würde auch gehen. Wollte aber ohne Base vermessen auskommen.

    Hi,


    hoffe ich habe dich richtig verstanden. Du willst also die globalen Variablen in eine Bibliothek einkapseln?
    Was machst du denn mit deiner EA Konfiguration? Ist die dann auch Teilweise in deiner Bibliothek?
    Was verwendest du denn für ein Multiprog? 2.11, 3.5 oder eine 4er?


    Im Prinzip bin ich mir auch nicht sicher ob das die richtige Herangehensweise ist.
    Eine Bibliothek ist ja mehr um Funktionen die du öffters benötigst wieder zu verwenden.


    Warum machst du dir nicht ein Template mit deinen globalen Variablen, sortiert in verschiedene Arbeitsblätter und löscht dann die Blätter die du nicht brauchst?
    Nur als Vorschlag...
    Grüße

    Danke euch mal so weit für eure Antworten.
    Ich habe heute noch mal ein paar Versuche gemacht.
    Ich verwende jetzt nur noch PTP mit C_PTP.
    Kann also das Problem mit LIN bewegung ausschließen.
    $Advance kann eigentlich auch nicht das Problem sein, da er Überschleift, aber nur sehr wenig.
    $APO.CPTP ist auch auf 100 eingestellt, trotzdem wird nur sehr wenig überschlieffen.
    Und sonst gibts ja keine Parameter, oder?

    Hallo zusammen,


    hoffe ihr könnt mir helfen. Ich habe einen Roboter mit 6 Achsen + 1 Achse für Shuttle + 1 Achse für den Greifer.
    Da der Roboter sehr taktzeitkritisch ist, habe ich versucht die Punkte mehr zu Überschleifen um ein wenig Zeit zu sparen.
    Leider lassen sich die 2 extra Achsen nur sehr wenig überschleifen.
    Aus der Dokumentation kann ich entnehmen das es einen Parameter gibt der die maximale Überschleidistanz angibt.
    Dies liegt bei beiden Zusatzchsen bei 500. Da es Linearachsen sind, nehme ich an Millimeter.
    Dies sollte ausreichen, da ich mit dem Greifer max. 500 mm fahre.


    Meine KRC Version ist noch die KRC1 mit V 4.1.x


    Habt ihr damit irgendwelche Erfahrung?


    Grüße

    Hi,


    also wenn du etwas editieren willst, dann ist es besser es mit dem edit zu öffnen.
    Wenn du nur einen Punkt nachteachen möchtest dann geht es auch wenn es angewählt ist.
    Ich editiere eigentlich immer wenn es angewählt ist und wenn es dort Probleme gibt, dann wechsle ich in den Edit-Modus.


    Unter dem Menüpunkt Befehle findest du schon viele vorgefertigte Befehle die du einfügen kannst.
    Aber so viel ich weis gibt es da keine Schleifen, die musst du von Hand schreiben.


    Technologien (Soweit ich mich erinnere):


    ExpertTech: Sind die angesprochenen Befehle und die möglichkeit selber Befehle zu erstellen (auch genannt Inlineformulare)
    GripperTech: Sind die Tasten unten links um Eck um den Greifer zu bedienen + Menüpunkt um den Greifer zu konfigurieren
    UserTech: Möglichkeit die Tasten unten links mit eigenen Funktionen zu belegen


    Hoffe es ist knapp aber verständlich.


    Gruß

    Hi,


    doch sollte eigentlich schon so einfach funktionieren.
    Im Prinzip müsste dein Programm dann ungefähr so aussehen.


    LOOP
    WAIT FOR $IN[1]


    PTP ...
    LIN ...
    ...
    ENDLOOP


    Wichtig ist das du als Experte angemeldet sein musst, sonst darfst du das Programm nicht editieren.
    Für das mit dem Taster wird es ein wenig schwieriger, weil du das Signal irgendwie in die Steuerung bringen musst.
    Habt ihr den schon eine Hardware und irgendwelche Busteilnehmer?
    Das "WAIT FOR $IN[1]" ist nur Beispielhaft zu verstehen, je nachdem an welchem Eingang dein Taster "rein" kommt.


    Grüße

    Meinst du echt das das so ungenau wird. Ich brauche das nicht auf den mm genau.
    Zur Not kann ich auch noch 1-2 Punkte neu teachen, aber grob müsste es doch gehen.
    Oder warum meinst du das man es vergessen kann?

    Hallo zusammen,


    habe mal eine "einfache" Frage.
    Ich habe eine bestehende Anlage in der alles sehr gut läuft. Jetzt soll aber ein neues Förderband installiert werden das hinter dem Roboter liegt.
    Deswegen ist die Überlegung den Roboter um 90° zu verdrehen.
    Wie würdet ihr Vorgehen um alle Punkte um 90° um den Ursprug zu drehen?
    Mein erster Ansatz war einfach das RobRoot ebenfalls um -90° zu drehen, dann müsste doch alles wieder passen und ich erreiche meine neuen Punkte.
    Oder habe ich irgendetwas dabei übersehen? (Softwareendschalter, ...?)


    Thx...


    Andreas

    Hi,


    suche doch mal auf deiner CD nach *.gdf. Früher waren dort Beispielbilder mit denen du das genau machen kannst.
    Dort sind schon eine ganze Reihe Taster und die kannst dann verwenden.


    Wie gesagt, weis nicht ob die immer noch auf der CD sind, aber früher waren sie.


    Was bei dir Fehlt ist die Verbindung von dem ocx zu deinen Tasten.
    D.h. mit dem ocx hast du nur einen Aufruf im VBA und dort müsstest du dann sagen das eine Taste gedrückt werden soll
    oder du kannst natürlich auch direkt Variable beschreiben.
    Wobei ich die erste Variante besser finde, da du dann auch weiterhin mit der Maus arbeiten kannst.
    In dem Template ist es so umgesetzt, das die entsprechende Taste gesucht wird und dann dort mit der Maus ein Tastendruck ausgelöst wird.


    Suche es mal, das wird dir bestimmt weiter helfen.


    Gruß

    Das bedeutet das du max 75 verschiedene Variablen (egal ob INT, REAL oder BOOL) auf einem Bild darstellen darfst.
    Ist also für die meisten Fälle völlig ausreichend, da die Anzahl der verschiedenen Bilder nicht begrenzt ist.

    Hi Tobi,


    das kommt darauf an was du nicht weiter machen willst.
    Es reicht wenn du das cont aus der Bewegung raus nimmst, dann fährt er genau auf den Punkt.


    Wenn du aber auch den Vorlaufzeiger anhalten willst dann setzte hinter deine Bewegung "WAIT SEC 0.0" dann bleibt auch der Vorlaufzeiger an dieser Position stehen.


    Oder habe ich deine Frage falsch verstanden?


    Grüße

    Hallo,


    wollte das Thema noch mal aufgreifen.
    Habe das selbe Problem bei einem KR16 mit KRC Version 5.4.13
    Das Problem tritt ca. 2 mal pro Woche auf und dann hilft auch nur ein neu Start.
    Das mit der Variable könnte ich mal versuchen, aber lieber wäre mir ein funktionierendes System :)


    Jetzt hat mich der letzte Eintrag ein wenig verwirrt.
    Was denkt ihr, ist das eher Hardware Problem oder doch Software?


    Habe noch eine identische Anlage mit dem Softwarestand 5.4.14.
    Wurde nur ein wenig später ausgeliefert, deswegen neuer Stand.
    An der besteht das Problem nicht!


    Grüße

    Hi,


    die ProConOS kommuniziert auch nur über den Roboter.
    D.h. dein Vorgehen ist generell richtig.
    Wenn du am Roboter die EA's am laufen hast, dann kann auch ProConOS mit den EAs arbeiten.


    Nur so als Randbemerkung:
    Später musst du dann darauf achten das die Ausgänge nur vom Roboter oder ProConOS gesetzt werden.
    Sonst bekommst du dort Probleme.

    Hallo,


    das erste ist ganz leicht:


    $OUT[1] = TRUE
    $OUT[2] = TRUE
    WAIT SEC 1 ; 1 Sekunde warten
    $OUT[1] = FALSE
    $OUT[2] = FALSE


    bei dem Zweiten verstehe ich nicht ganz was du machen willst.
    Also der Roboter kann nicht seine eigenen Eingänge schalten.
    Das macht auch keinen Sinn.
    Du kannst einen Ausgang setzten und irgendwo auf eine Reaktion warten.
    So z.B.


    $OUT[1] = TRUE ;Bin an Position
    WAIT FOR $IN[1] ;Warte auf Eingang um weiter zu machen


    Eine Meldung kommt dann automatisch.
    -> Warte auf $IN[1]
    Wenn du mit Signalen arbeitest, dann wird das ganze auch noch aussagekräftig.


    Gruß

    Hi,


    sorry war ein wenig unterwegs.
    Also vom Namen her zu urteilen und deiner Erzählung würde ich tippen das da noch Reste von deinem OPC Server 1.1 irgendwo liegen.
    Ich tippe mal in deinen HMI-Bildern sind noch Variablen mit einem Verweis auf deinen alten OPC Server 1.1.
    HMI erkennt diese und versucht automatisch den OPC Server 1.1 zu starten. Dieser benötigte noch ein Verzeichnis mit dem aktuellen Multiprog Projekt, aus dem er die OPC Variablen generiert. Dies wurde aber vermutlich gelöscht in der Hochrüstung zum OPC Server 2.0.


    Ich habe gerade leider kein HMI Studio da, aber oben im Menü gibt es ein "Find All" oder so ähnlich.
    Der alte Pfad zu einer OPC Variablen war "ProConOS.OPC-CallR-Server" und die neuen sind "PCOS.OPC.20" also kannst du mal einfach nach "ProConOS" suchen und schauen was du findest. Wichtig... Bei der suche nicht auf "OK" drücken sondern "apply" sonst schließt er das Fenster einfach wieder.


    Gruß