1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. KUKA Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Cancel Program and Send Pointer to Cell.

  • PGG
  • August 31, 2017 at 10:40 PM
  • Thread is Resolved
  • PGG
    Reactions Received
    1
    Trophies
    3
    Posts
    3
    • August 31, 2017 at 10:40 PM
    • #1

    Hello I would like to have the possibiity of restart program of robot from any situation.

    In Cell I have a routine to send robot home acording to axis.

    I want to send a Signal from PLC to Robot. When Robot reads this signal in SPS makro, I would like to cancel any movement and program, and run cell again. Something similar to "PP to Main" signal in ABB robot.

    Thanks!!

  • panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,027
    • August 31, 2017 at 11:15 PM
    • #2

    To abort program use interrupt.
    To get back safely you must develop retract strategies...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

    Edited once, last by panic mode (September 19, 2017 at 8:40 PM).

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • September 1, 2017 at 2:40 PM
    • #3

    The SPS (Level 0 interpreter) can manipulate the Level 1 Interpreter ("normal" programs) using CWRITE commands to the $CMD channel. The stock SPS already has some code that does this, and searching the manuals and the forum archives will turn up multiple examples. Basically, the SPS can perform STOP, CANCEL, and SELECT commands, emulating an operator using the FILE menu on the KCP.

    That having been said, what you are proposing to do is rather risky -- you can order the robot to cancel the current program stack, and start CELL from the beginning. But this will result in the robot attempting to move directly Home from wherever it is, which creates a serious collision risk. To make this work safely, you will need some sort of conditional safe path(s).

  • hermann
    Reactions Received
    403
    Trophies
    9
    Posts
    2,593
    • September 1, 2017 at 9:23 PM
    • #4

    Don't try it with SPS.SUB and cwrite ..... It is much easier.
    Try something like that:

    Code
    def mainprogram()
    ; GLOBAL INTERRUPT DECL 1 WHEN INPUT_HOMERUN==TRUE DO restart ( )
     INTERRUPT DECL 1 WHEN INPUT_HOMERUN==TRUE DO restart ( )
     interrupt off 1
    
    
    loop
     mainloop()
      interrupt off 1
    endloop
    end ; of mainprogram()
    
    Def mainloop()   
     ; Move to home according to actual position
     movetohome()
     loop
     interrupt on 1   ; !!!!!
      ;  make jobs here
      ; this is what cell does normally
      ; ....
     endloop
    end ; of mainloop()
    
    
    Global DEF restart ()
     brake
     interrupt off 1
     wait sec 1
     resume
    end
    Display More


    I have done this in many applications and it works like a charm.

    Edit: corrected some faults (because typed it from scratch and by mind).

    Edited once, last by hermann (September 4, 2017 at 9:39 PM).

  • PGG
    Reactions Received
    1
    Trophies
    3
    Posts
    3
    • September 4, 2017 at 1:32 PM
    • #5

    Thanks both:

    First, I'm not an expert with Robots, I'm a PLC programer (not too bad) and sometimes I have to integrate a Robot in my machines; so for every new task I have to study, read forums, and documentation to implement correctly.

    About sending robot directly to home. I don't do it. I have a routine that recognize actual possition of robot and sends it to home using a safe path. When I can't identify the correct path, Robot stops, and operator must send manually to home.

    * About Interrupt's solution, seems easier, but when I run it, a massage says that is not possible tu use when interruption is declared as global.

    * If finally I can't get it with interruptions, I will try sriting on the $CMD Channel

    Thanks!!

  • panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,027
    • September 4, 2017 at 2:59 PM
    • #6

    remove GLOBAL from interrupt declaration... cant use RESUME with global interrupt. also activate interrupt before calling sub

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Azermath
    Trophies
    3
    Posts
    58
    • September 19, 2017 at 1:12 AM
    • #7

    So to Clarify if to say the Cell looked like this.
    DEF cell( )
    INIT
    BASISTECH INI
    CHECK HOME
    PTP HOME
    Reset_IO()
    AUTOEXT INI


    ;RESTART INTERRUPT
    INTERRUPT DECL 1 WHEN bAbort_Program == TRUE DO Restart_Program()
    INTERRUPT OFF 1
    WAIT SEC 0.12

    INTERRUPT ON 1
    WAIT SEC 0.12


    LOOP

    P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
    SWITCH PGNO ; Select with Program number

    CASE 1
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request

    IF $IN_HOME==FALSE THEN
    UnknownToHome()
    ENDIF

    IF $IN_HOME==TRUE THEN
    Reset_IO()
    endif

    CASE 4
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    IF $IN_HOME==TRUE THEN
    Maintenance( )
    ENDIF

    CASE 7
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    IF $IN_HOME==TRUE THEN
    MasterReference( )
    ENDIF

    CASE 8
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    IF $IN_HOME==TRUE THEN
    BrakeTest( )
    ENDIF

    CASE 9
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    IF $IN_HOME==TRUE THEN
    Reset_IO ( )
    ENDIF

    CASE 10
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    IF $IN_HOME==TRUE THEN
    MAIN JOB
    ENDIF

    DEFAULT
    P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
    ENDSWITCH
    ENDLOOP
    END


    GLOBAL DEF Restart_Program ()

    BRAKE
    INTERRUPT OFF 1
    Wait SEC 1

    END


    What would the out come be if the program was running a subroutine and i triggered the abort signal?

  • hermann
    Reactions Received
    403
    Trophies
    9
    Posts
    2,593
    • September 19, 2017 at 7:41 PM
    • #8

    NO.
    The Cell should not look like that.

    More like this:

    Code
    DEF cell( )
    INIT
    BASISTECH INI
    CHECK HOME
    PTP HOME 
    Reset_IO()
    AUTOEXT INI
     
    ;RESTART INTERRUPT
    INTERRUPT DECL 1 WHEN bAbort_Program == TRUE DO Restart_Program()
    INTERRUPT OFF 1
    WAIT SEC 0.12
    
    
    loop
     mainloop ()
     interrupt off 1 
     UnknownToHome()         
    endloop
    END
    
    
    def Mainloop()
    INTERRUPT ON 1
      LOOP
    
        P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
    
    
        SWITCH  PGNO ; Select with Program number
        CASE 4
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
         IF $IN_HOME==TRUE THEN
         Maintenance( )
         ENDIF
    
        CASE 7
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          MasterReference( )
          ENDIF
    
        CASE 8
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          BrakeTest( )
          ENDIF
    
        CASE 9
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          Reset_IO ( )
          ENDIF
    
        CASE 10
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          MAIN JOB
          ENDIF
    
    
    
        DEFAULT
          P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
        ENDSWITCH
      ENDLOOP
    END
    
    
    
    
    GLOBAL DEF Restart_Program ()
    
    
    BRAKE
    INTERRUPT OFF 1
    Wait SEC 1
    RESUME
    END
    Display More
  • Azermath
    Trophies
    3
    Posts
    58
    • September 19, 2017 at 8:01 PM
    • #9

    so that would send the program back to the "MainLoop" Correct?, i need to make sure that the home routine is only allowed after i push the home button, with unknown to home being triggered on the abort that defeats the purpose of the home button does it not?

    Edited once, last by Azermath (September 19, 2017 at 8:05 PM).

  • PGG
    Reactions Received
    1
    Trophies
    3
    Posts
    3
    • March 27, 2018 at 10:12 PM
    • #10

    Hello:

    I found the solution in a Robot, unfortunately I had no choice to implement in my aplication as it was already delivered (finally I did with interruptions).

    Something like this should be implemented in SPS routine.

    In this case when PLC sets Input 180, robot sends feedback and cancels cell.
    With input 181 from PLC, Cell is started again


    IF $IN[180] THEN
    PULSE($OUT[180],TRUE,0.4)
    cwrite ($cmd,stat,mode,"cancel/R1/cell()")
    ENDIF

    IF $IN[181] THEN
    PULSE($OUT[181],TRUE,0.4)
    Cwrite ($cmd,stat,mode,"run/R1/cell()")
    ENDIF

  • hermann
    Reactions Received
    403
    Trophies
    9
    Posts
    2,593
    • March 29, 2018 at 2:42 PM
    • #11
    Quote from PGG


    ...
    With input 181 from PLC, Cell is started again
    ...

    No, it is not started but only the program pointer is set to beginning of Cell.
    So after that statements there is needed a pulse on start signal.

  • Mate_271
    Trophies
    2
    Posts
    121
    • July 30, 2021 at 9:18 AM
    • #12
    Quote from hermann

    NO.
    The Cell should not look like that.

    More like this:

    Code
    DEF cell( )
    INIT
    BASISTECH INI
    CHECK HOME
    PTP HOME 
    Reset_IO()
    AUTOEXT INI
     
    ;RESTART INTERRUPT
    INTERRUPT DECL 1 WHEN bAbort_Program == TRUE DO Restart_Program()
    INTERRUPT OFF 1
    WAIT SEC 0.12
    
    
    loop
     mainloop ()
     interrupt off 1 
     UnknownToHome()         
    endloop
    END
    
    
    def Mainloop()
    INTERRUPT ON 1
      LOOP
    
        P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
    
    
        SWITCH  PGNO ; Select with Program number
        CASE 4
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
         IF $IN_HOME==TRUE THEN
         Maintenance( )
         ENDIF
    
        CASE 7
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          MasterReference( )
          ENDIF
    
        CASE 8
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          BrakeTest( )
          ENDIF
    
        CASE 9
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          Reset_IO ( )
          ENDIF
    
        CASE 10
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          MAIN JOB
          ENDIF
    
    
    
        DEFAULT
          P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
        ENDSWITCH
      ENDLOOP
    END
    
    
    
    
    GLOBAL DEF Restart_Program ()
    
    
    BRAKE
    INTERRUPT OFF 1
    Wait SEC 1
    RESUME
    END
    Display More

    Hello guys!

    Hermann can I ask that why did you use GLOBAL DEF in cell.src?

    Is this the only way to write a program in cell.src?

    Moreover, what would happen, if i don't write the program "name" as you do, because i write the full program into case 4.

    Code
    ;Your version:
    CASE 4      P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request    
     IF $IN_HOME==TRUE THEN     
     Maintenance( )     
     ENDIF
    
    ;My version, for instance:
    CASE 4      P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request    
     IF $IN_HOME==TRUE THEN     
     PTP XHOME
     PTP P2
     ; and so on   
     ENDIF
    Display More

    Is that possible?

    I tell yout why is it important for me. I saw your code(which i respondod) and it helped me a lot, but i would like to modify it a little bit.

    -> Process is going in a loop cycle.

    -> the operator push a virtual button, when would like to modify the parameters.(interrupt off))

    -> The PLC got the information and waiting to the robot to end the last cycle.(in the last line interrupt on, and it trigger immediately)

    ->When the robot would like to start the cycle again, he won't because the program pointer went back here, and wait to the parameters and the start button:

    Quote from hermann

    loop
    mainloop ()
    interrupt off 1
    UnknownToHome()
    endloop
    END

    Then it starts again.

    That's why i would like to write the full program into cell.src

    If i just write the program in case 4 like, Robot_program() and in that program i would like to make that interrupt what i mention upper, that wouldn't work.

    Any advice please?:)

    Thanks in advance!:)

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • July 30, 2021 at 4:32 PM
    • #13
    Quote from Mate_271

    Hermann can I ask that why did you use GLOBAL DEF in cell.src?

    Is this the only way to write a program in cell.src?

    Back before KSS 5(?), every .SRC file was limited to containing only one routine/function. This routine had the same name as the file. Hence, CELL.SRC starts with DEF CELL.

    Later, the ability to add multiple subroutines in a single SRC file was added. But these subroutines were purely "local" -- they could only be called by other routines inside the same .SRC file.

    Later still, GLOBAL DEF was added. This made it possible to make any subroutine in any .SRC file globally call-able, from any routine in any .SRC file. This made packaging programs easier.

    However, in order to maintain backward compatibility, the "filename routine" still has to be the first routine in the .SRC file, and cannot use GLOBAL DEF. This is because the "filename routine" (DEF CELL() in CELL.SRC, for example), is implicitly Global. Any subroutine in an .SRC file is implicitly local, unless it is explicitly made Global used GLOBAL DEF.

    Siimilarly, any variable in $CONFIG.DAT is implicitly Global (and so using DECL GLOBAL must be avoided), but it is now possible to make specific variables in other .DAT files global by explicitly declaring them so.

    Quote from Mate_271

    Moreover, what would happen, if i don't write the program "name" as you do, because i write the full program into case 4.

    That is possible, but generally considered to be a poor practice. Generally, CELL.SRC is intended to have no motions (aside from Home), only calls to various motion routines. Placing motion paths inside a particular CASE inside CELL makes CELL harder to maintain, and less modular.

  • Mate_271
    Trophies
    2
    Posts
    121
    • July 30, 2021 at 5:05 PM
    • #14

    Wow SkyeFire I really appreciate your detailed informations what you give to me!:)

    Then i thought correctly, thanks for the confirmation:)

    If you don't mind i would like to ask one question about the upper program what i commented.

    Is it possible to write a declaration as GLOBAL INTERRUPT DECL 5 in cell. src like hermann did here:

    Quote from hermann

    DEF cell( )
    INIT
    BASISTECH INI
    CHECK HOME
    PTP HOME
    Reset_IO()
    AUTOEXT INI
     
    ;RESTART INTERRUPT
    INTERRUPT DECL 1 WHEN bAbort_Program == TRUE DO Restart_Program()
    INTERRUPT OFF 1
    WAIT SEC 0.12

    ;GLOBAL INTERRUPT DECL 5 WHEN bAbort_Program == TRUE DO Restart_Program()

    ;GLOBAL INTERRUPT OFF 5

    ;and so on

    Display More

    And after that, in the local .src i write in the lines an INTERRUPT ON 5?

    DEF ROBOT_MAIN_PRG()

    INI

    PTP XHOME
    PTP P1

    PTP P2

    and so on

    INTERRUPT ON 5

    END

    And in the cell.src:

    Quote from hermann

    GLOBAL DEF Restart_Program ()


    BRAKE
    GLOBAL INTERRUPT OFF 5
    Wait SEC 1
    RESUME
    END

    Display More

    Is this fine then? :smiling_face:

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,370
    • July 30, 2021 at 5:58 PM
    • #15

    I think Hermann's code is okay, except that I don't think it's correct to use "GLOBAL" for an INTERRUPT OFF or INTERRUPT ON command -- IIRC, you only use GLOBAL on an Interrupt for the INTERRUPT DECL line.

    I could be wrong, though, it's been a while.

    Interrupts are "inherited", unless DECL'd GLOBALly. That is, an Interrupt DECL'd in one routine is "accessible" to any subroutine in the stack below the routine that DECL'd the Interrupt. But not accessible "laterally".

  • hermann
    Reactions Received
    403
    Trophies
    9
    Posts
    2,593
    • July 30, 2021 at 6:40 PM
    • #16

    Yes you shouldn't use the GLOBAL statement. Just leave it out.

  • Mate_271
    Trophies
    2
    Posts
    121
    • July 31, 2021 at 8:45 AM
    • #17

    Ohh wow, thanks you.

    The end of the code is mine addition, hermann did everything correct!😊

    So, it looks like i can use it!

    Thank you very much guys!:)

  • Mate_271
    Trophies
    2
    Posts
    121
    • August 25, 2021 at 9:51 AM
    • #18
    Quote from hermann

    NO.
    The Cell should not look like that.

    More like this:

    Code
    DEF cell( )
    INIT
    BASISTECH INI
    CHECK HOME
    PTP HOME 
    Reset_IO()
    AUTOEXT INI
     
    ;RESTART INTERRUPT
    INTERRUPT DECL 1 WHEN bAbort_Program == TRUE DO Restart_Program()
    INTERRUPT OFF 1
    WAIT SEC 0.12
    
    
    loop
     mainloop ()
     interrupt off 1 
     UnknownToHome()         
    endloop
    END
    
    
    def Mainloop()
    INTERRUPT ON 1
      LOOP
    
        P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
    
    
        SWITCH  PGNO ; Select with Program number
        CASE 4
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
         IF $IN_HOME==TRUE THEN
         Maintenance( )
         ENDIF
    
        CASE 7
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          MasterReference( )
          ENDIF
    
        CASE 8
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          BrakeTest( )
          ENDIF
    
        CASE 9
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          Reset_IO ( )
          ENDIF
    
        CASE 10
          P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
          IF $IN_HOME==TRUE THEN
          MAIN JOB
          ENDIF
    
    
    
        DEFAULT
          P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
        ENDSWITCH
      ENDLOOP
    END
    
    
    
    
    GLOBAL DEF Restart_Program ()
    
    
    BRAKE
    INTERRUPT OFF 1
    Wait SEC 1
    RESUME
    END
    Display More

    hermann I write this code to my KRC and i get error message 2350:

    "Runtime data of the main program cannot be used"

    Do you know what am i did wrong please?

  • Mate_271
    Trophies
    2
    Posts
    121
    • August 25, 2021 at 10:35 AM
    • #19

  • panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,027
    • August 25, 2021 at 2:06 PM
    • #20

    Move declaration of DMY to DAT file.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download