Posts by bruno.ramos

    that adds latency

    True.


    But in my current scenario the PLC is monitoring the conveyor resolver (not the kuka resolver but an extra one linear to it) because of extra linear robots.

    Given the PLC is already capable itself of conveyor tracking I can send 'controlled' triggers to my robots.


    This also helps me to avoid the use of the 'conveyor skip' instruction since I will no longer have a buffer managed on the kuka side.

    Hi, I have tried ti use the if statement inside the sps.sub like sugested in:

    Code
    if (($MODE_OP<>#T1) and ($OV_PRO>75)) THEN
       $OV_PRO=75
    ENDIF

    But it seems that the sps ignores the if statements.

    Hi Everyone,


    Brief Resume:

    I need to check the current distance of the part to the sensor that triggers the conveyor synchronization. According to the manual I have a function to read the current conveyor speed but not the current distance.

    The code I am using is posted bellow the message.


    System:

    WorkVisual 5.0

    KRC4

    KSS 8.5.8

    Conveyor 7.1.2

    Manual I am reading: ConveyorTech 7.1 and Kuka System Variables


    Context:

    In the conveyor follow and conveyor skip instructions I have a Wait Distance parameter. After the wait distance is reached the program moves to de conv move instruction where I have my part program.

    After browsing the follow and skip instructions I found that this distance is controlled using the $SEN_PREA_C[1] variable. According to the manual: "Exchange of real values in main run between the controller and the sensor interface program", which sounds about what I need.

    Now, when I try to control this variable in my part program I get these values:

    REAL PartDistances[4]
    PartDistances[1]=0.0
    PartDistances[2]=0.0
    PartDistances[3]=1414.10522
    PartDistances[4]=1738.78918


    1- At the beggining of the program after the trigger (at 1230mm)

    2- After running the Home Position (Base 0) and Waiting a Timer

    3- In the middle of the program (Value Looks Ok)

    4- At the end of the program (Value Looks Ok)


    As you can see the first 2 values come out as 0.0 and I kinda need to know where the part is at these times. Is there a way to get the current distance or the variable $SEN_PREA_C only starts working after the first schyncronized movement?

    Thanks For Your Help

    CODE:

    -----------------------------------------------------------------------------------------------------------------------

    DEF Main_Del( )

    INI

    CONV INI

    ;Start the Conveyor
    Conveyor.INI_OFF LinearConveyor1

    Conveyor.ON LinearConveyor1

    ;Follow first Part
    Conveyor.FOLLOW LinearConveyor1, Movement 1, Cancel on: Max_time 240, Input 1, Input-Level TRUE, Flag 1, Flag-Level TRUE, WaitDist 1230, MaxDist 3000


    LOOP   
    Conveyor.Skip LinearConveyor1, Skip to part index 1, Movement 1, Cancel on: Max_time 240, Input 1, Input-Level TRUE, Flag 1, Flag-Level TRUE, WaitDist 1250, MaxDist 3000
    Conveyor.Quit LinearConveyor1, Stop after error FALSE, Reset SEN_PREA_C TRUE

    ENDLOOP
    END


    DEF CONV_MOV(Z_CONV_NBR:IN,Z_MOV_NBR:IN)
    INI CONV_MOV

    CONVEYOR 1 MOVEMENT GROUP 1
    Part_Del()


    CONVEYOR 1 MOVEMENT GROUP 2


    CONVEYOR 2 MOVEMENT GROUP 1


    CONVEYOR 2 MOVEMENT GROUP 2


    CONVEYOR 3 MOVEMENT GROUP 1


    CONVEYOR 3 MOVEMENT GROUP 2


    CONVEYOR 4 MOVEMENT GROUP 1


    CONVEYOR 4 MOVEMENT GROUP 2


    CONVEYOR 5 MOVEMENT GROUP 1


    CONVEYOR 5 MOVEMENT GROUP 2


    END CONV_MOV


      CONTINUE


      END

    -----------------------------------------------------------------------------------------------------------------------

    DEF Part_Del( )

    INI


    ;Read Distance

    PartDistances[1]= $SEN_PREA_C[Z_SEN_PREA_NBR[1]]


    PTP HOME1 VEL=100 % DEFAULT

    WAIT TIME=2.1 SEC


    ;Read Distance
    PartDistances[2]= $SEN_PREA_C[Z_SEN_PREA_NBR[1]]


    ;P4

    $BWDSTART = FALSE

    LDAT_ACT = LCPDAT4

    FDAT_ACT = FP4

    BAS(#CP_PARAMS, 0.25)

    SET_CD_PARAMS (0)

    LIN {X 0.0, Y 0.0, Z -170.0, A 0.0, B 0.0, C 0.0}:XP4 C_Dis C_Dis
    ;P3
    $BWDSTART = FALSE
    LDAT_ACT = LCPDAT3
    FDAT_ACT = FP3
    BAS(#CP_PARAMS, 2.0)
    SET_CD_PARAMS (0)
    LIN {X 0.0, Y 0.0, Z -70.0, A 0.0, B 0.0, C 0.0}:XP3 C_Dis C_Dis


    ;Read Distance

    PartDistances[3]= $SEN_PREA_C[Z_SEN_PREA_NBR[1]]


    ;P2
    $BWDSTART = FALSE
    LDAT_ACT = LCPDAT2
    FDAT_ACT = FP2
    BAS(#CP_PARAMS, 2.0)
    SET_CD_PARAMS (0)
    LIN {X 0.0, Y 0.0, Z -170.0, A 0.0, B 0.0, C 0.0}:XP2 C_Dis C_Dis


    ;P1
    $BWDSTART = FALSE
    LDAT_ACT = LCPDAT1
    FDAT_ACT = FP1
    BAS(#CP_PARAMS, 0.25)
    SET_CD_PARAMS (0)
    LIN {X 0.0, Y 0.0, Z -20.0, A 0.0, B 0.0, C 0.0}:XP1 C_Dis C_Dis


    ;Read Distance
    PartDistances[4]= $SEN_PREA_C[Z_SEN_PREA_NBR[1]]


    PTP HOME1 VEL=100 % DEFAULT
    END

    Hi Everyone,


    Brief Resume:

    I have configured the conveyor track on WV. I have created the conveyor, assigned the resolver and the synchronization switch goes automatically to the fast measure input 1 on the X33 (see attached picture). I want to know if it is possible to change the switch to be recieved via profinet instead of rapid input X33.


    System:

    WorkVisual 5.0

    KRC4

    KSS 8.5.8

    Conveyor 7.1.2

    Manual I am reading: ConveyorTech 7.1


    Context:

    It seems there are 2 types of creating a conveyor track: external (all data via PLC, manual page 16) or standard conveyor (KUKA Equipment wired on the contoller)

    At the moment I have the KUKA resolver wired on the controller and the sensor switch on the PLC. Is it possible to use the KUKA resolver with the PLC sensor switch?


    Thanks For Your Help

    Hi,


    I have a question that is proving a bit harder than I was expecting.

    When I am working with Real Variables I'll try:

    SET R000 3000


    But the controller will change the display to scientific notation:

    SET R000 3.000000E+04


    Is there a way to change fom scientific notation to normal?

    I've been browsing some documentation but nothing pops up with the name 'scientific notation'.


    The weird thing is that, if I open the CMOS.bin of the robot on MotoSim it will not display the scientific notation


    Best Regards,

    Bruno Ramos

    Hey I have a very novice question.


    I just want to do something simple as save the DATE/TIME on a variable. But I can't seem to find an answer to my problem.


    Code
    ;On my hello_world.dat I have
    DEFDAT  hello_world
        DATE curr_date = {SEC 0,MIN 0,HOUR 0,DAY 0,MONTH 0,YEAR 0}
    ENDDAT
    
    ;On my hello_world.src I have
    DEF hello_world()
        curr_date = $DATE
    END


    When i transfer these files to the controller I get the Error number 2037 - Step not allowed or unknown (Google translate).


    I feel like this is something simple but I am not getting any luck browsing the manuals and forum.


    Hope anyone can help.

    Best Regards,

    Bruno Ramos

    Hello,


    I am new to programming MotoMan and I am trying to use a variable by it's name (alias).


    I have defined input 005's name as 05CLOSEDOOR and this in my code:
    WAIT IN# (5) = ON
    and I want to change this to:
    WAIT IN# (05CLOSEDOOR) = ON
    This way I have more information when reading the code on the console.


    I am using Job EditorDX200 1.30 and according to it's manual (HW1482392), this can be done.
    The website doesn't let me attach the manual to this post, but on this link you can find the Job EditorFS manual:
    http://cdn2.hubspot.net/hubfs/…1-1CD.pdf?t=1468601845515
    On the pages 36 and 42 you can see what I am trying to do and it's the same explanation on the DX200 manual.
    Even though I am following the instructions I can't make this change.


    Any help is much apreciated.


    Thanks in Advance,
    Bruno Ramos

Advertising from our partners