Indirect Job Call

  • Good Morning,
    Does anyone know if/how to use indirect addressing on a job call on an NX100 controller? For example, I have a LOT of jobs with a similar Job name; i.e., D##_Weld; where ## represents the die number. I'm currently doing something like this:
    CALL JOB:D1_WELD IF B001=1
    CALL JOB:D2_WELD IF B001=2
    ...
    ...
    CALL JOB:D12_WELD IF B001=12


    Obviously, with 12 dies and 7 actions with each die, this will result in 84 job calls!!


    I would prefer to have ONE Call that looks like this:
    CALL JOB:D[B001]_WELD


    This method would result in 7 job calls!


    Thanks!!

  • Hi,
    You can rename jobs to numbers i.e. 1;2;12;15.
    Then you can call job B001 - in this way you will call job of name equal to value of B001.


    "CALL JOB: B001" if B001 is equal to 10 you will call job named "10"

  • msklorz,
    Thanks for the suggestion. However, I'm not that sure it's possible to call a byte register or other register from a CALL:JOB instruction. Even if it is, it still doesn't help me as I will then have 84 jobs named 1-84 with no information for what they do, which will still be incredibly confusing and cumbersome. It did give me an idea to try and build a job name string based on the action and the die number. However, if I can't call a register or string from the CALL:JOB instruction, that doesn't help either.


    Thanks.


  • msklorz,
    Thanks for the suggestion. However, I'm not that sure it's possible to call a byte register or other register from a CALL:JOB instruction. Even if it is, it still doesn't help me as I will then have 84 jobs named 1-84 with no information for what they do, which will still be incredibly confusing and cumbersome. It did give me an idea to try and build a job name string based on the action and the die number. However, if I can't call a register or string from the CALL:JOB instruction, that doesn't help either.


    Thanks.

    Try to use JET instruction. I mande Thiago with onde byte for each jig.


    Enviado de meu 5051J usando Tapatalk

    Rafael Schroer

    Motoman & ABB OLP Programmer


  • msklorz,
    Thanks for the suggestion. However, I'm not that sure it's possible to call a byte register or other register from a CALL:JOB instruction.


    It is completely possible. In attachment you can see all possible way to use CALL instruction. In my opinion to make it more visible inside job you can just add a comment with description before calling job. You can also start each type of action with different number i.e. for welding "1X" where X is number of a die, for pick and place "2X" etc.



    Try to use JET instruction. I mande Thiago with onde byte for each jig.


    You can also use JET instruction. I'm not confident about that, but probably name of job which is registered in Job Registration Table won't be visible next to instruction because B000 is variable. Example:


    CALL JET#(1) ENTRY=B000 // D1_WELD ?


    You can find more details about CALL instruction in Inform II User’s Manual, 150078-1CD

  • Here is a little giblet from one of our jobs which calls a job by name:


    CAT$ S000 S003 "-"
    CAT$ S000 S000 S001
    CAT$ S000 S000 "_S"
    CALL S000
    I hope that helps you out. Prior to getting into this job, the appropriate strings are set to call out different jobs by their name.

Advertising from our partners