COMAU External call of master job

  • Hi everybody,


    Would anybody help me on executing a call of master job from an external I/O?

    Is there any special port/address/input for such function?


    Regards, and thanks in advance!:winking_face:

  • Hi Vladarius, thanks for replying.

    I want to know how to make the robot activate and reset a certain program.
    Al least in Motoman, you select a program and give it the property of MASTER. Then there is this special dedicated input (EXTERNAL MASTER JOB CALL) that

    calls this program and put the cursor at the top of it. So you know that after an external start command, you will be running your

    jobs from a known starting point, which is in fact, written for this special puspose.

    I cannot find a way of giving any program this special characteristic of MAIN or MASTER, neither I can find a dedicated input that accomplish this two

    tasks: CALL a main predifined program and RESET it.

    $GI() inputs don't list any of the forementioned functionalities.

    I'd appreciate any help.

  • Hello Silverstamp

    I don't kwon if you help something from this:

    In comau you can do these things:

    In Menu/Setup/System/Startup you can put your startup.cod program.


    Create your main.cod program with your things

    and in startup.cod program write


    ...

    SYS_CALL('ML', 'UD:\\usr\\main.cod') -- command for load from disk to memory main program

    SYS_CALL('PA', 'main') -- command for activation main program

    ...


    do cold restart


    when you in auto mode press drire and start main program will activate

  • Hi Vladarius,

    I'm very happy to receive help from you, but I still cant find the way of doing this Memory Load and then Program Activation of the startup program by means of external inputs.

    To be more practical: Suppose the robot stops because of an alarm. The operator solves the issue down in the robot area. Then he wants to resume the job from where the robot stopped, then it is simple: from the external master source (plc) you simply give the Drive On command, and then the Start command.

    But, now assume you dont want to resume the job. You drive the arm to the HOME pos and then you want to call main.cod and do the usual start procedure. Here is the question, are you supposed to cold restart to call main? Or do you need to do it manually from the TP? I guess that there is a way of mapping some input to a sys_call procedure to call main, I mean, you give a 1 to an external input going from plc to robot, there the robot deactivates the whatever job is activated, then resets it, and then loads main, and activates main., for finally do Drive ON and Start..

    I hope it's not confusing.

    Thanks again Vladarius!

  • Hello,

    You can use external input to $DI and make in robot nohold program where when is this DI true then Deactivate MAIN.cod and Activate MAIN.cod.. it resets main program.. i hope you need something like that..

  • Hello,

    You can use external input to $DI and make in robot nohold program where when is this DI true then Deactivate MAIN.cod and Activate MAIN.cod.. it resets main program.. i hope you need something like that..

    Exactly. But how to I link a $DI to a nohold program, so when the input turns ON, the nohold program executes, no matter what other program is activated or running?

    Thanks Vladarius.:thumbs_up:

  • Hello,


    here is code for reset program...


    --$PROP_REVISION:$

    --$PROP_TITLE:$

    --$PROP_HELP:$

    --$PROP_VERSION:3.11.004$

    --$PROP_DATE:2020-04-27 14:35:18$

    --$PROP_AUTHOR:VLADIMIR$

    --$PROP_HOST:C5G_2226877$

    --$PROP_UVL:0$

    --$PROP_UML:0$

    PROGRAM reset NOHOLD

    BEGIN

    CYCLE

    WAIT FOR $DIN[1]+ -------wait for digital imput 1 from false to true

    DEACTIVATE MAIN ------- deactivate main program... program must have name main.cod and must be in memory

    ACTIVATE MAIN ------ activate main .. program will start over..

    END reset

  • Hi Vladarius!:smiling_face:

    Thanks again for your help. This code is great because it's simple and clear, but, I still don't realize how, if you have another program activated and running, this program would react to the digital input if it's not activated and running first?

    I wonder if there is a way of making this job run cyclically and could be left that way and at the same time start and run main other sub routines, so when DIN[1] is activated main is deactivated as wished by the operator.

    Regards

  • Hello,

    That program will cycle.. there is command cycle after begin.. and this nohold program will run allways and running in background just load him in prog .. it will have green circle.. that means the program is running.. it is simple program just waiting for din 1 signal.. and deactivating and activating resets the main program.. just try it and let me know..

  • Hello,

    That program will cycle.. there is command cycle after begin.. and this nohold program will run allways and running in background just load him in prog .. it will have green circle.. that means the program is running.. it is simple program just waiting for din 1 signal.. and deactivating and activating resets the main program.. just try it and let me know..

    Vladarius,

    I've tried on Robosim and worked fine. It is just what I was looking for. In Motoman these programas are called System Jobs, due to the can run in parallel with motion jobs. Also Motoman has a ladder that runs continuously in the back, where you can make further logic, which runs faster,

    I wonder if Comau has a ladder to. As far as I know, there is nothing like that.

    Thanks again!

  • Hello,

    Im glad i helpt.

    In COMAU you can make these background programs calld nohold even with graphics and your own icon on teach pendant... For example we created whole software for comau robot to control welding source LORCH because official comau has no support for this brand.. or software for control conveyor belt without plc .. belt is controlled direct from robot etc..

    here is one more example from youtube.. robot direct control schneider lexium32 drive via profinet..

    /watch?v=iL993HtH1To

  • Great Vladarius, very nice porject. Did you integrated the Lexium32 to the C5G CPU or you are sending commands to the driver?

    Thank you,

    Yes.. communication is via profinet and on c5g is running nohold program for controlling.. even you can have your own commands in IDE editor program like run motor on position or run with specific velocity etc..

  • Thank you,

    Yes.. communication is via profinet and on c5g is running nohold program for controlling.. even you can have your own commands in IDE editor program like run motor on position or run with specific velocity etc..

    I guess that sync with the arm is not possible, I mean as an alternative to a standard 7h axis?

Advertising from our partners