Beiträge von HarryH

    Den Fehler hatten wir auch entweder am Panel die Prüfung ausschalten oder die Uhrzeit korrekt einstellen.

    Zwischen Roboter und WorkVisual dürfen nur paar Minuten unterschied sein.

    Hallo zusammen,


    ich hatte das gleiche Problem. Durch stellen der Uhrzeit am KUKA (Menü/Konfiguration/Extras/Datum_Uhrzeit) war das Problem gelöst (KRC5, V8.7.5) .


    @ funnougat: Wo genau finde ich "am Panel die Prüfung ausschalten"? Ich benötige diese Überprüfung nicht.


    Gruß

    HarryH

    Hallo zusammen,


    ich habe eine KRC5 Steuerung (V8.7.4) welche über Profinet an eine Siemens 1515F-2 PN CPU angebunden ist. Es sind 512 E-A projektiert worden, wovon alle E/A in der EA-Verschaltung auf die $IN/$OUT 1-512 verschaltet wurden. Die Profinetkommunikation SPS-/KUKA-seits zeigt keine Fehler, die Signale in beide Richtungen werden ausgetauscht. Soweit alles gut.


    Mir ist allerdings aufgefallen, das einige KUKA Eingangssignale flackern! Um dem nächer auf den Grund zu gehen, habe ich SPS-seits alle 512 SPS-Ausgänge und damit die KUKA-Eingangssignale auf TRUE gesteuert. Allerdings gehen konkret $IN[385], $IN[395], $IN[399], ... und viele weitere Signale ab $IN[385] sichtbar kurzzeitig auf FALSE und wieder auf TRUE (flackern)!


    Auf SPS Seite habe einiges probiert um das Problem einzugrenzen: Größerer E/A Bereich, GSD Datei von der KRC4 Steuerung, Byteweise transferrieren der Daten von der SPS auf die EA-Ebene des KUKA anstelle von FB "DPWR_DAT". Funktioniert alles, allerdings mit dem gleichen Problem. -> Aus meiner Sicht würde ich die SPS als Ursache ausschließen.


    Mir scheint, das der KUKA die besagten Eingänge auf FALSE zieht und die SPS diese wieder auf TRUE schreibt. Ich habe im Projekt nach diesen konkreten $IN[xyz] gesucht, u.a. auch in der KRC\STEU\MADA\$machine.dat wo ja unterschiedlichste Ereignisse auf konkrete $IN/$OUT gelegt werden. (es ist auch unser Standardvorgehen die Default-Verknüpfungen in dieser Datei aus dem Bereich der User-daten zu verlegen).


    Hat jemand eine Idee woran das liegen kann?? Ich bin im Moment ratlos deswegen. Ich bin für jeden Hinweis dankbar!!


    Gruß

    HarryH

    Hallo zusammen,


    ich konnte das Problem inzwischen lösen. Die Kommunikation zum KUKA funktioniert. Und es lag nicht am KUKA 😊.


    Der Fehler lag auf SPS Seite. Ich hatte die falschen Bausteine (SFC14_DPRD_DAT, SFC15_DPWR_DAT) verwendet. Diese berücksichtigen nicht das neue Profinet-IO-System welches über den CP343-1 eingerichtet wurde. Um von einem Profinet-Device (in diesem Fall der KUKA) über einen CP343-1 (Profinet-Controller) Daten lesen und schreiben zu können, muss man (bei einem S7-300 System) die Bausteine FC11_PNIO_SEND und FC12_PNIO_RECV verwenden.


    OK, das nur zur Info um das Thema abzuschließen.


    Gruß

    HarryH


    Hallo zusammen,

    ich habe eine KRC5 Steuerung (V8.7.4) die über Profinet an einen CP343-1 (6GK7 343-1EX30-0XE0 / V3.0) mit CPU 315-2 DP (6ES7 315-2AH14-0AB0 / V3.3) verbunden ist. Der Profinetname vom KUKA ist "velopack". Die Kommunikation funktioniert leider noch nicht, der KUKA gibt u.a. folgende Meldungen heraus (Bild1):

    - SPS liefert ungültige Eingangsdaten ....

    - SPS kann Ausgangsdaten von Gerät ...


    Im WorkVisual habe ich folgendes projektiert (Bild 2).


    Der KUKA als ProfiNet Device wird im Simatic Manager in der HW-Konfig fehlerfrei angezeigt (Bild3, Bild4).


    Die Kommunikation auf Simatic Seite ist fehlerhaft (Bild5, Bild6), der Fehlercode am SFC14/15 ist Hex8090. Die in der Hilfe beschriebenen Gründe sind meiner Meinung nach korrekt eingestellt (Bild7). Der E/A Bereich vom KUKA ist 16Byte (128 E/A)


    MEINE FRAGEN:

    Kennt jemand diese Fehlermeldungen vom KUKA? Wo könnte der Fehler liegen? Ob das irgendwie am CP343-1 liegt, den KUKA musste ich bisher noch nie über so ein Ding anschließen?


    Ich bin für jeden Hinweis dankbar!


    Gruß

    HarryH



    Hallo zusammen,


    ich möchte die Warmfahrfunktionalität des KUKA (KRC4) über die SPS (über Profinet mit dem Roboter verbunden) ein- und ausschalten. Dafür habe ich die Variable "$WARMUP_RED_VEL" in der SPS.sub beschrieben. Bzw. wollte ich, ist aber nicht möglich, da die Variable schreibgeschützt ist:

    Code
    $WARMUP_RED_VEL = $IN[47]


    Fragen:

    - Kann man von der Variablen „$WARMUP_RED_VEL“ den Schreibschutz „entfernen“?

    - Wie kann ich generell die Warmfahrfunktionalität über eine Eingangssignal ein-/ausschalten?


    Ich bin über jeden Hinweis dankbar.



    VG HarrH

    Hallo zusammen,


    ich suche die Installationsdateien für Safe Operation 3.1.x (möglichst 3.1.1).


    Hintergrund:


    Ich habe ein Roboter mit V8.2.17 auf dem war Safe Operation 3.1.1 installiert. Ich habe von diesem Roboter kein Festplattenimage. Durch ein Fehler musste ich ein neues Image aufspielen. Habe nur eins gehabt von einem anderen Roboter V8.2.16. Auf diesem Roboter war Safe Operation nicht installiert und damit auf Festplatte Laufwerk D als Installation nicht vorhanden. Wenn ich jetzt ein altes Archiv (von ursprünglich V8.2.17) wiederherstellen will, wird das Wiederherstellen abgebrochen mit der Meldung (Sinngemaß) "Safe Operation am Roboter nicht installiert" -> Durch die (manuelle) Installation von Safe Operation erhoffe ich mir das Wiederherstellen meines Archivs.


    Gruß
    HarryH

    Hallo zusammen,


    gibt es die Möglichkeit die Anwahl von T2 für die Benutzer (Benutzergruppe ohne Passwort) zu sperren?
    Anders ausgedrückt: Die Betriebsart T2 soll nur für die Benutzergruppe Experte anwählbar sein.



    Gruß
    HarryH

    Ich schließe mich dem Lob an! :genau:


    Eine Frage zur App "Screenshot": Wo ändere ich denn den Speicherpfad? Standardmäßig ist ja wohl Laufwerk D: eingestellt. Ich möchte aber gerne immer auf dem USB-Stick am Schrank speichern.



    Gruß
    HarryH

    Danke für die Antworten,


    ja stimmt die programmierbaren Tasten, da habe ich garnicht mehr dran gedacht. Ist schon so lange her wo ich das zuletzt hatte.


    OK, mit den programmierbaren Tasten würde sich was machen lassen. Das Problem ist (es ist eine vorhandene Anlage an der etwas umgebaut werden soll) das die Serviceleute vom Roboter darin geübt sind Ausgänge über das Ein-/Ausgangsfenster zu setzen/rückzusetzen. Da nützt es mir wenig wenn ich über die prog. Tasten ein Tippbetrieb realisiere, aber über das Ein-/Ausgangsfenster die Ausgänge direkt gesetzt werden können.


    Oder kann man einzelne Ausgänge im Ein-/Ausgangsfenster sperren, so dass die gewünschten Ausgänge nur noch über die prog. Tasten im Tippbetrieb zu betätigen sind?



    Gruß
    HarrH


    PS: Die Option Multitasking hat der Roboter nicht, damit fällt diese Möglichkeit aus.

    Hallo zusammen,


    ich habe folgenden alten Roboter: IRB6400 mit S4(C?)-Steuerung mit System Pack 3.1.



    Ich möchte einige Ausgänge (im Ein-/Ausgangsfenster) nicht manuell setzen (=1) und rücksetzen (=0), sondern nur setzen (=1) während die Taste Setzen (1) gedrückt ist. Ist das möglich?


    Alternativ könnte man den Ausgang wie gewohnt setzen, aber die Steuerung würde (im Handbetrieb) das Signal nach Ablauf einer Zeit von sich aus wieder zurücksetzen.
    Ist sowas möglich?


    Oder gibt es andere Ansätze um ein Ausgangssignal nur "kurz" zu setzen? Gerade dann wenn z.B. der Bediener vergisst das Signal zurückzusetzen?


    Gibt es bei der Robotersteuerung sowas wie eine Hintergrundtask? (Vergleichbar wie beim KUKA der Submit-Interpreter, damit könnte man sowas realisieren.)


    Bin für jeden Hinweis dankbar.


    Gruß
    HarryH

    Hallo zusammen,


    ich habe Quittiermeldungen wie unten beschrieben programmiert. --> Das funktioniert.
    Das Roboterprogramm wird über eine SPS gestartet (1. Motore ein, 2. Meldungen quittieren, 3.Programm Start).
    Nun habe ich festgestellt, das die von mir programmierten Quittiermeldungen auch über die SPS quittiert werden.
    Das möchte ich aber nicht, sondern die von mir bewusst programmierten Quittiermeldungen sollen nur vom
    Bediener quittiert werden können. Hat jemand eine Idee wie ich das lösen kann?


    Gruß
    HarryH




    DECL CHAR stText[] DECL EKrlMsgType Type DECL KrlMsg_T MSG DECL KrlMsgPar_T Parameter[3] DECL KrlMsgOpt_T Option DECL KrlMsgDlgSK_T SK[7] DECL enumKeyType KeyType INT handle, softkey, i BOOL bDummy

    ; Wenn akt. STATE-Meldung = letzte Meldung --> Routine verlassen IF (StrComp(stTextLast[],stText[],#CASE_SENS)==TRUE) THEN GOTO EndKCPDialog ENDIF

    ; Vorhandene Meldungen loeschen KCPDialogClear()

    ;----------------------------------------------------------------------------------------------------------- ; Vordefinierung von Parametern

    ; Platzhalter Parameter zuweisen Parameter[1] = {Par_Type #Empty} ; Leer => keine Parameter-Uebergabe Parameter[2] = {Par_Type #Empty} ; Leer => keine Parameter-Uebergabe Parameter[3] = {Par_Type #Empty} ; Leer => keine Parameter-Uebergabe ;----------------------------------------------------------------------------------------------------------- ; Modulbezeichnung definieren MSG.Modul[]="VELOPACK" ; Meldungnummer definieren MSG.NR=1 ; Meldungsverhalten definieren Option = {vl_stop TRUE, clear_p_reset TRUE, clear_p_SAW FALSE, log_to_DB TRUE} ;Meldetext Zeichen fuer Zeichen umkopieren For i=1 to 80 MSG.MSG_Txt[i ]=stText[i ] ENDFOR ;-----------------------------------------------------------------------------------------------------------

    SWITCH Type ; Auswahl des Meldungstypes ;-----------------------------------------------------------------------------------------------------------[color=green] CASE #QUIT ; Quittiermeldung ; Meldungstyp definieren und Meldung absetzen (mit Rueckgabewert der Funktion) handle = Set_KrlMsg(#Quit,MSG, Parameter[],Option) ; Abfrage, ob die Meldung geloescht wurde. WHILE (Exists_KrlMsg(handle)) WAIT SEC 0.1 ENDWHILE[/color] ; ... ...

    Danke, für die Info! Das deckt sich mit meinen Beobachtungen das auch im Hauptprogramm die Bewegungen gestoppt werden. Das liegt wohl wirklich daran, das der Interrupt nach mvSearch() nicht ausgeschaltet wird. Das muss ich noch zufügen.


    Gruß
    HarryH

    Hallo zusammen,


    ich habe ein Frage zum Interrupt. Ich habe folgende Programmzeilen. Der beschriebene Interrupt wird wie beschrieben deklariert und eingeschaltet und im Normalfall im Unterprogramm "mvSearch" ausgelöst. --> Das funktioniert einwandfrei.


    Nun folgende Frage:
    1) Was passiert wenn der Interrupt nicht im Unterprogramm "mvSearch" auslöst, sondern erst in den nachfolgenden Fahrbefehlen "LIN XpTest01 C_DIS, ..." im Hauptprogramm?
    2) Werden die Bewegungen (z.B. LIN XpTest01 C_DIS) auch durch den Interrupt gestoppt und abgebrochen, obwohl Fahrbefehle nicht im Unterprogramm?
    3) Und was passiert mit dem RESUME? Normalerweise wird doch immer eine Ebene höher gesprungen, jedoch ist hier die Interruptdeklaration auf der selben Ebene wie die Verfahrbefehle?



    Gruß
    HarryH




    GLOBAL DEF Main()... WAIT FOR (diTest==FALSE)

    INTERRUPT DECL 11 WHEN diTest==TRUE DO InterruptTest() INTERRUPT ON 11

    mvSearch() ; Unterprogramm mit Fahrbefehlen (Suchfahrt) LIN XpTest01 C_DIS LIN XpTest02 C_DIS...END

    GLOBAL DEF mvSearch() LIN XpMove01 C_DIS LIN XpMove02 WAIT SEC 0END

    GLOBAL DEF InterruptTest() INTERRUPT OFF 11 BRAKE F RESUMEEND

    Hallo zusammen,


    ich habe zwei Roboter, Roboter X und Roboter Y. Die Roboter sind identisch, beides KR180-R3200 PA mit KRC4 (V8.2.21). Auch die Buskonfiguration, Greifer, Sonstiges ist identisch -> zwei identische Anlagen. Roboter X habe ich Inbetriebgenommen und möchte nun das Work Visual Projekt von Roboter X auf Roboter Y übertragen. Ist das möglich? Hat jemand damit Erfahrung gemacht?


    Gruß
    HarryH

    Hallo zusammen,


    ich habe eine KRC4 Steuerung (mit KR150-R3100 Quantec) die 50m vom Roboter entfernt steht. Das Roboterbediengerät soll am Roboterschrank bleiben, bzw. abgesteckt werden (Kundenwunsch). Die für den Normalbetrieb erforderlichen Aktionen (Programmstart, Meldungen quittieren, Anzeige Störmeldungen, usw. ) sollen über die SPS realisiert werden. Alle Informationen aus dem Roboter "Anwenderprogramm" heraus (Status, Stör-/Betriebsmeldungen) werden über den Bus (Profibus) der SPS zur Anzeige bereitgestellt.


    Nun möchte ich aber darüber hinaus eine Meldung (z.B. ein Bit) bekommen, wenn die KUKA-Steuerung von sich aus eine Störung hat, für die man das Bediengerät benötigt. Wie kann ich das realisieren? Es gibt ja das Bit Stop-Meldung aktiv, bloß das kann ich ja so nicht verwenden, weil das z.B. ja auch kommt wenn Schutzgitter geöffnet wird. Ich möchte sinngemäß folgende Meldung vom Roboter über die SPS anzeigen "Störung KUKA-System! KUKA Bediengerät erforderlich! Genaue Ursache dort ablesen.".
    Habt ihr eine Idee wie ich sowas realisieren kann?


    Gruß
    HarryH

    Hallo zusammen,


    ich habe einen alten IRB6400 M98, S4C, V3.2 und folgendes Problem. Im Automatikbetrieb fährt der Roboter nicht die programmierten Geschwindigkeiten. Ich habe z.B. VAR speeddata vGeschwindigkeit := [1500,500,5000,1000]; deklariert und verwende es in einem Move Befehl. Die Punkte sind dabei bis ca. 1000mm entfernt. Aber wenn ich auf Automatik gehe, ist die Geschwindigkeit (gefühlt) nur so schnell wie im Handbetrieb. Der Override steht auf 100%. Ich weiß nicht was der Grund dafür sein könnte. Hat jeman eine Idee?


    Gruß HarryH

    Hallo zusammen,


    ich benötige für einen alten IRB6400 M98, S4C, V3.2 eine Achsbereichsüberwachung. Der Roboter soll ab einem vorgegebenen Achswinkel Achse 1 ein Ausgangssignal setzen. Wie kann ich das bei dem Roboter realisieren?


    Gruß HarryH