yaskawa dx100 speed command

  • merhaba. dx100 robotumda yazdıgım yörüngede 100 tekrar sonrasında hızının 150'den 25' ye çıkmasını istiyorum. bunu nasıl yapabilirim.( Hello. In the orbit I wrote on my dx100 robot, I want its speed to increase from 150 to 250 after 100 repetitions. how can I do that)

    örnek olarak.


  • Hi,

    One way is use variable instead of constant speed, you set 150 in speed variable in first of job, also you must define a variable for check the repeat of your section for 100 times with IF instruction, when the program do 100 times, you must set 25 in speed variable that you define and use JUMP instruction and go up for start the job with new speed (25).

    I hope my explain can help you.

  • Example,


    SET B000 0 // counter for 100 times

    SET I000 1500 //Speed for MOVL

    *Loop

    MOVL C00014 V=833.3 PL=0

    EIMOVL UF#(1) C00015 V=I000 PL=1

    EIMOVL UF#(1) C00016 V=I000 PL=1

    EIMOVL UF#(1) C00017 V=I000 PL=1

    EIMOVL UF#(1) C00018 V=I000 PL=0

    EIMOVL UF#(1) C00019 V=I000 PL=1

    EIMOVL UF#(1) C00020 V=I000 PL=1

    EIMOVL UF#(1) C00021 V=I000 PL=1

    EIMOVL UF#(1) C00022 V=I000 PL=1

    INC B000 // increase counter one by one

    IFTHEN B000>100

    {

    SET I000 250 //Speed become 25

    JUMP *Loop

    }ENDIF


    I don't know how many time you will repeat with speed 25, therefore you must reset counter B000 before start job again.

  • The below should work as long as you want to stay in the loop. If you need to do this one time then other items ( like a pick job, place job, tool clean, etc..) but once the counter reaches 100 change speeds the program changes below will not wok. Still easily do-able.


    ' reset loop counter

    SET I010 0

    ' set speed to 150 mm/sec

    SET I000 1500

    *LABEL

    MOVL C00014 V=833.3 PL=0

    EIMOVL UF#(1) C00015 V=I000 PL=1

    EIMOVL UF#(1) C00016 V=I000 PL=1

    EIMOVL UF#(1) C00017 V=I000 PL=1

    EIMOVL UF#(1) C00018 V=I000 PL=0

    EIMOVL UF#(1) C00019 V=I000 PL=1

    EIMOVL UF#(1) C00020 V=I000 PL=1

    EIMOVL UF#(1) C00021 V=I000 PL=1

    EIMOVL UF#(1) C00022 V=I000 PL=1

    INC I010

    JUMP *LABEL IF I010 <100

    ' reset loop counter

    SET I010 0

    ' set speed to 250

    SET I000 2500

    JUMP *LABEL IF I010 <100


    You could also do the same thing with nested FOR-NEXT.


    The variables I used are global. They are for this example. You would want to make sure they are not being used or use addresses that are not being used in your jobs.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

    Edited once, last by 95devils: Wrong counter address ().

  • In 95devils correct the speed for 25, you must SET I000 250 not 2500 because you need speed with 25 not 250.

    I’m confused by this. The OP has a speed of 150 mm/sec in the job. After 100 times go to 250 mm/sec. Using a speed in a variable the decimal places must be accounted for.


    150.0 mm/sec equals 1500 in the variable. 250.0 mm/sec equals 2500 in the variable.


    25 equals 2.5 mm/sec.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • merhaba arkadaşlar. ilginiz ve desteğiniz için teşekkürler. yarın robot basında deneyeceğim. sorunumu çözeceğe benziyor. teşekkürler.


    Hello friends. Thank you for your interest and support. I'll try it tomorrow in the robot press. seems to solve my problem. thanks.

  • aynı 100 parca tekrarı olacak

Advertising from our partners