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
Online Roboterschulung
Werbung schalten Roboter
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Baustein Step 7 -> KRC2 Ext. Autom

  • TomTom01
  • July 2, 2018 at 7:12 PM
  • Thread is Resolved
  • TomTom01
    Points
    130
    Posts
    17
    • July 2, 2018 at 7:12 PM
    • #1

    Servus Zusammen!
    Ich bin auf der Suche nach eine Step7 (Optimal TIA) Baustein für eine KRC2 anzusteuern. (Automatik-extern).
    Hätte da einer was fertiges? Das wäre fein :)
    Vielen Danke vorab!

    Grüße TomTom

    Edited once, last by TomTom01 (July 2, 2018 at 8:01 PM).

  • Schritt für Schritt zum Roboterprofi!
  • El Cattivo
    Reactions Received
    6
    Points
    496
    Posts
    67
    • July 4, 2018 at 8:30 AM
    • #2

    Das ganze ist eigentlich kein Zauber. Lediglich eine abfolge von Signalen.
    Anbei mein Baustein den ich verwende. Bei mir funktioniert er sehr gut. die benutzung erfolgt totzdem auf eigene Gefahr ;)
    Der Baustein hat auch die Besondertheit das die Fahrfreigabe nur bei T1 oder AutoExt gesetzt wird.

    Code
    FUNCTION_BLOCK FB999
    TITLE ='FB_KUKA_Roboter_KRC2'
    AUTHOR : 'El Cattivo'
    FAMILY : 'Standard'
    VERSION : '1.0'
    
    
    
    
    VAR_INPUT
      I_O_ACTCONF : BOOL ; //Schnittstelle aktiv (AutomatikExtern)
      STOPMESS : BOOL ; //Sammelstörung
      PRO_ACT : BOOL ; //Programm aktiv
      PERI_READY : BOOL; //Antriebe sind eingeschaltet
      IN_HOME : BOOL ; //Roboter in Home Position
      ALARM_STOP : BOOL ; // Not-Halt i.O. (intern und extern)
      USER_SAF : BOOL ;
      PGNO_REQ : BOOL ; //Programmnummer übermitteln
      APPL_RUN : BOOL ; //Programm läuft
      T1_BETRIEB : BOOL ; // Roboter im T1 Betrieb
      AUTO : BOOL ; //Automatik von SPS
      START : BOOL; //Start von SPS
    
    
    END_VAR
    VAR_OUTPUT
      EXT_START : BOOL ; //Programmstart
      MOVE_ENABLE : BOOL ; //Fahrfreigabe
      CONF_MESS : BOOL ; //Fehlerquittung
      DRIVES_OFF : BOOL ; //Antriebe aus (inverse)
      DRIVES_ON : BOOL ; //Antriebe ein
      I_O_ACT : BOOL ; // Schnittstelle AutomatikExtern aktivieren
      PGNO_VALID : BOOL ; //Programmnummer übertragen
    END_VAR
    VAR_IN_OUT
    
    
    END_VAR
    VAR
      sSTART_SEQ : INT ; //Start Sequenz
      sTON_DRIVES_OFF : TON; //Verzögerung DRIVES_OFF
      sTON_START_SEQ11 : TON; //Verzögerung Start Sequenz Schritt 11
      sTON_START_SEQ12 : TON; //Verzögerung Start Sequenz Schritt 12
      sTON_START_SEQ21 : TON; //Verzögerung Start Sequenz Schritt 21
      sTON_START_SEQ22 : TON; //Verzögerung Start Sequenz Schritt 22
      sTON_START_SEQ31 : TON; //Verzögerung Start Sequenz Schritt 31
      sTON_START_SEQ41 : TON; //Verzögerung Start Sequenz Schritt 41
      sHmPfStart : BOOL; // Hilfsmerker Positive Flanke Start
      sPfStart : BOOL; // Hilfsmerker Positive Flanke Start
    END_VAR
    VAR_TEMP
    
    
    END_VAR
    
    
        // Antriebe aus (inverse)
        DRIVES_OFF := ALARM_STOP AND USER_SAF ;
        sTON_DRIVES_OFF(IN := DRIVES_OFF
                       ,PT := t#200ms); 
    
         // Positive Flanke von Start zum Anstarten des Roboter
          sPfStart := Start AND NOT sHmPfStart;
          sHmPfStart := Start;
    
        // Fahrfreigabe
        MOVE_ENABLE := (AUTO AND I_O_ACTCONF AND START ) OR T1_Betrieb ;
    
    
        // Automatikanforderung von SPS   
        I_O_ACT := ALARM_STOP AND USER_SAF;
    
        //Start Sequenz
        CASE sSTART_SEQ OF
            //Initialschritt
            0: 
                DRIVES_ON := false;
                CONF_MESS := false;
                EXT_START := false;
                PGNO_VALID := false;
    
    
                IF AUTO AND sPfStart AND NOT PRO_ACT THEN
                  sSTART_SEQ := 11;
                END_IF; 
    
            //Antriebe einschalten       
            11:         
                IF sTON_START_SEQ11.Q THEN
                  sSTART_SEQ := 12;            
                END_IF;              
    
            12: 
                DRIVES_ON:= true;
    
                IF PERI_READY THEN
                  DRIVES_ON := false;
                  sSTART_SEQ := 21;
                ELSIF sTON_START_SEQ12.Q THEN
                  DRIVES_ON := false;
                  sSTART_SEQ := 11;
               END_IF; 
    
    
            //Störung quittieren
            21:
                IF sTON_START_SEQ21.Q THEN
                  sSTART_SEQ := 22;
                ELSIF NOT STOPMESS THEN
                  sSTART_SEQ := 31;            
                END_IF;   
            22:
                CONF_MESS := true;
    
    
                IF NOT STOPMESS THEN
                  CONF_MESS := false;
                  sSTART_SEQ := 31;            
                ELSIF sTON_START_SEQ22.Q THEN
                  CONF_MESS := false;
                  sSTART_SEQ := 21;            
                END_IF;
    
    
            //Start einschalten
            31:            
                IF sTON_START_SEQ31.Q THEN
                  sSTART_SEQ := 32;           
                END_IF;
    
    
            32: 
                EXT_START := TRUE;
    
                IF PRO_ACT THEN
                  EXT_START := false;
                  sSTART_SEQ := 41;           
                END_IF;
    
    
            //Auftrag mit Nummer starten
            41:            
                IF sTON_START_SEQ41.Q AND APPL_RUN THEN
                  sSTART_SEQ := 0;
                ELSIF PGNO_REQ THEN
                  sSTART_SEQ := 42;            
                END_IF;
    
    
            42: 
                PGNO_VALID := true;
    
                IF NOT PGNO_REQ THEN
                  PGNO_VALID := false;
                  sSTART_SEQ := 43;           
                END_IF;
    
            43:
                IF APPL_RUN THEN
                  sSTART_SEQ := 0;
                END_IF;
    
        ELSE
            sSTART_SEQ := 0;
        END_CASE; 
    
        //Zeitüberwachung Schrittkette
        sTON_START_SEQ11(IN := sSTART_SEQ = 11
                       ,PT := t#200ms);    
        sTON_START_SEQ12(IN := sSTART_SEQ = 12
                       ,PT := t#1s); 
        sTON_START_SEQ21(IN := sSTART_SEQ = 21
                       ,PT := t#200ms);    
        sTON_START_SEQ22(IN := sSTART_SEQ = 22
                       ,PT := t#1s);
        sTON_START_SEQ31(IN := sSTART_SEQ = 31
                       ,PT := t#200ms);
        sTON_START_SEQ41(IN := sSTART_SEQ = 41
                       ,PT := t#500ms);
    
    
      //Reset Start Sequenz
      IF NOT Start OR NOT I_O_ACTCONF THEN
        sSTART_SEQ := 0;
      END_IF;
    
    
    
    
    END_FUNCTION_BLOCK
    Display More
  • TomTom01
    Points
    130
    Posts
    17
    • August 20, 2018 at 3:32 PM
    • #3

    Habe nun diesen Code in Betrieb. Soweit funktioniert alles, nur bei einem Programmwechsel habe ich ein Problem.

    Die Programme übertrage ich Binär mit einer Bitbreite von 4.

    Der Ablauf:

    Beispiel:
    Programm 1 (0001) startet und wird in der Cell abgearbeitet, alles ohne Probleme CASE 1 wird abgearbeitet. Jetzt steuere ich das 2. Programm an (0010) und starte die ext. Start folge. Nun bleibt das Programm innerhalb der SWITCH Anweisung im Teil P00 (#EXT_PGNO, #PGNO_GET, DMY[],0) stehen und meldet "Wait for PGNO_VALID".


    Im SPS Programm (Siehe Code) steht er auch in diesem Moment in Schritt 43. Das heißt, er hat die PGNO_VALID := TRUE; in Schritt 42 zugewiesen bekommen.

    Komme da im Moment nicht weiter.... Oder habe ich einfach nur ein Denkfehler?

    Vorab Vielen Dank!

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • EXT
  • 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
AD
Your browser does not support videos Automatisierung im Handwerk - ich schaffs mit 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

Tags

  • EXT_PGNO
  • PGNO_GET

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