Posts by yolovs

    Dear PnsStarter,

    many thanks for you hint!

    When I increase the limit of the J6, my robot starts to reach positions on robot's right.

    I am puzzled, because by real robot got the limit of J6 and can reach positions on right!

    I limit J6 because I afraid of breaking pipes and wires, which going into fastchanger.

    Because of fastchanger mounting, my J6 is rotated +105 degrees. I thought that because I have made Roboguide project from backup, everything will be fine.

    It turns out that Roboguide environment it is not exactly ae my robot or I missed something important.

    It will be great, if you know what is happening to educate my or just point me what to read into documentation!

    Thanks againg for the hint!



    Dear colleagues,

    I have got:

    - Roboguide 9.40100.00.05

    - Robot model: M-710iC 50

    - Robot controller: R-30iB Plus

    The project, I create from robot controller "all of above" type backup.

    You can see from screenshot what are the axis limits. J1 for example is -180 to 180 degrees.

    It turns out that I can not reach positions, located on robot right! Actually this are position below J1 < -70 degrees. I can not figure out why is that.

    In addition I noticed that when the position is not reachable, robot gripper freezes and TCP with the Cartesian Coordinate System continues to move with my mouse pointer.

    Roboguide Help is not an example for even approximately good help information system.

    Can you give me a hint, what is the problem and how I can make positions reachable!

    The real robot can reach positions located at -180 < J1 <= 0 easily!


    Svetozar Yolov

    Dear Hawk,

    From my current perspective I used only PR[] im my program. My understanding is that they provide me with greater flexibility. in addition, when we need to relocate the robot from test center to real installlation, I need to teach just a few points.

    From your post, I understand that in the program is very good idea to have som key point in the program. Is that you mean? If it is so, can you give me some advice where to used them?

    At present I am working on depalletizing/palletizing solution. On robot one side there is depalletizing station. From pallet, the ropbot place basket on conveyor.

    On robot other side there is another pallet, where robot palletizimh full baskets. In this paradigm, where is good idea to use points, to untwist the robot wrist?

    Best regards,


    Dear HawkME,

    Many, many thanks for the advices.

    $MISC_MSTR.$hpd_enb is already set to TRUE. This is a prerequisite, in order $MISC[1].$hpd_trq[9] to be updated.

    I followed your advice and I put constant (in my case -8.9) for axis 2 & 3. It works now.

    My understanding is that there is a bug in robot firmware. As I told you the first pass of program succeed and at next step when I begun to play, the fault INTP-203 starts to appear.

    Any way, I put OR expression for both axis 2 & 3 and used constant instead of register.

    It works as charm now.

    Thank you one more time.



    Dear HawkME,

    Many thanks for the advice and info.

    I use torque values in my program. Here is the code:

    13: SKIP CONDITION RI[3:plate HP]=ON+ OR $MISC[1].$hpd_trq[2]<=R[40:distTorqMax] OR $MISC[1].$hpd_trq[3]<=R[40:distTorqMax] ;

    14:L PR[66:incZn50] 100mm/sec FINE Skip,LBL[15],PR[80:adaptGrpPosition]=LPOS INC ;

    Unfortunately I suffer from error:

    INTP-203 (ARC_KLT_ADAPTIVE_APRCH, 13) Variable type mismatch" " STOP.L 00000110" act"

    It is strange that rows 13 & 14 was executed one time and on the next pass a fault starts to occur!

    Any ideas?




    sorry for delay answer.

    When I pic a basket, I rotate negative Z. This is because of the gripper mounting and supply of air and cables. There is a fastchanger connected to Z6 faceplate.

    I always go first negative Z and next positive Z to release the gripper. In addition I use -179.98 for negative Z and .02 to rotate positive Z.

    I provide only the rows, which I consider related to the problem I have. My program is very complex. I do not believe that someone will waste his time to study it.

    There is no PICK and PLACE part. I is rather:

    CALL ARC_KLT_LOCK – in order to lock basket with the gripper and

    CALL ARC_KLT_UNLOCK – in order to release the plastic basket.

    Unfortunately there no Vision option. It would be very nice to have it on board, but unfortunately, at the beginning of the project, my colleagues decided to get rid of it. I consider it as mistake.

    To sort the problem when I go through red line I use:

    J PR[23:47ConvEmptyEvac] 100% CNT25 ;

    Probably I must change it from J move to L move.

    On the way back I use:

    59:L PR[22:47ConvEmpty] 500mm/sec FINE Offset,PR[7:ConvEmptyOffset] Tool_Offset,PR[29:47ToolOffset] ;

    To HawkME,

    Many thanks for the advices. I consider myself still newbie in this field. From my experience, as you point, the move from one area to another it is good idea to use J (joint) moves, which are fast and do not stops at the intermediate points. When robot is into area, using L (linear) move is better.

    Please can you clarify the idea for “when you move back to another area you can use a regular joint move to unwind the wrist.”. What you mean by that? To return the twist at it start position – right?

    In the forum I also met the word “untwist” which I believe got the same meaning.

    At the end, I would like to thank you of you all for your time and knowledge you shared with me.

    Svetozar Yolov

    Dear Gents,

    I have depalletizing program, which take plastic baskets (KLT) from a pallet.

    Sometimes the KLTs, are not placed very well and they don’t fit properly, meaning that top KLT do not inserted properly into the one below. As result, the top one is a little bit inclined. When the gripper tries to catch the KLT, SRVO-050 Collision Detect Alarm occurs.

    My goal is to make a routine, which in case of SRVO-050 Collision Detect Alarm, to return back the gripper and wait the operator to align the problematic KLT. Next when the operator reset the robot (from HMI), the process to continue.

    I wrote the following program but it doesn’t function as I expect. I addition, SRVO-050 suddenly stops to appear.


    1: //save curr pos on the top of KLTY ;

    2: PR[35:CurrentPos]=LPOS ;

    3: ;

    4: LBL[1:adaptive begin] ;

    5: ;

    6: !adaptive approach start ;

    7: LBL[10:adaptive start] ;

    8: // moves 90 mm down ;

    9:L PR[67:incZn90] 500mm/sec FINE INC ;

    10: //sensor that gripper is on the KLT ;

    11: SKIP CONDITION RI[4:plate WP]=OFF ;

    12:L PR[68:incZn30] 200mm/sec FINE Skip,LBL[15] INC ;

    13: //sensoe that gripper is on pos. to catch KLT ;

    14: SKIP CONDITION RI[3:plate HP]=ON OR ERR_NUM=11050 ;

    15:L PR[66:incZn50] 100mm/sec FINE Skip,LBL[15] INC ;

    16: ;

    17: //check if the stop is because of sensor or error;

    18: IF (RI[3:plate HP]=OFF) THEN ;

    19: //if RI[3] still off, must be the fault occur. Go UP!;

    20:L PR[35:CurrentPos] 500mm/sec FINE ;

    21: UALM[2] ;

    22: JMP LBL[10] ;

    23: ENDIF ;

    24: ;

    25: ;

    26: JMP LBL[100] ;

    27: ;

    28: LBL[15:P20] ;

    29:L PR[35:CurrentPos] 500mm/sec FINE ;

    30: UALM[7] ;

    31: JMP LBL[10] ;

    32: ;

    33: LBL[100:END] ;

    Any advices and recommendations will be highly appreciated.

    Best regards,

    Svetozar Yolov

    Here is my code. With asterisk, I pointed rows I changed to "survive" MOTN-017 fault.

    21: !commented line are the ones which make fault MOTN-017 ;

    23: //PR[29:47ToolOffset]=PR[4:47toolOffset] ;

    24: //PR[7:ConvEmptyOffset]=PR[64:incXn500] ;

    25: //J PR[22:47ConvEmpty] 100% CNT25 Offset,PR[7:ConvEmptyOffset] Tool_Offset,PR[29:47ToolOffset] ;

    21: !this the line, which replace rows 23-24. PR[23] is with configuration NUT 0,0,1 ;

    * 26:J PR[23:47ConvEmptyEvac] 100% CNT25 ;

    - - - - - - - some code

    58: !pick up from pallet ;

    59: !pallet position over KLT ;

    : !PR[20] is with configuration NUT 0,0,1 ;

    60:L PR[20:47PalEmptyBgn] 2000mm/sec FINE Offset,PR[5:PalEmptyOffset] Tool_Offset,PR[29:47ToolOffset] ;

    - - - - - - - some code

    47: !this code also cause a problem with raising MOTN-017;

    49: //J PR[22:47ConvEmpty] 100% CNT25 Offset,PR[7:ConvEmptyOffset] Tool_Offset,PR[29:47ToolOffset] ;

    * 50:L PR[23:47ConvEmptyEvac] 2000mm/sec CNT25 ;

    51: ;

    52: ;

    53: !move KLT little bit down ;

    54: PR[7,3:ConvEmptyOffset]=PR[7,3:ConvEmptyOffset]-80 ;

    : !this code was with motion type J but cause a problem (MOTN-017). That is why I changed to L. Now it is fine. PR[22] configuration is NUT 0,0,0 ;

    * 55:L PR[22:47ConvEmpty] 2000mm/sec CNT25 Offset,PR[7:ConvEmptyOffset] Tool_Offset,PR[29:47ToolOffset] ;

    Best regards,


    How to attach picture to the post?

    When drag & drop picture (PNG) green and blue area appears, depending where mouse is - on the icon menu or text area. When I drop the file - nothing happens.

    If I press Image icon, a dialog appears with source and link fields. I put window's path of the image in both fields or make different variations - I got "The entered link is invalid."

    How to attach image to the post?


    Dear All,

    I have got an issue, with error MOTN-017 Limit error (G:1, A:6). From the documentation:

    Cause: Limit error.

    Remedy: Reteach the position out of limits.

    I believe that this means error with axis 6.

    After some analysis, I understand the following. As you see on attached picture, from conveyor side, the angle of J6 is under 180° (the configuration of coordinates id NUT 0,0,0). After robot approach the pallet side (when cross the thick red line), the angle of J6 becomes more than 180° and the configuration of coordinates becomes NUT 0,0,1. The position register I use, the configuration of coordinates id NUT 0,0,0. So my robot stops with error MOTN-017 Limit error (G:1, A:6).

    To sort the issue I put a new intermediate point (orange one on the picture) with configuration NUT 0,0,1. All position register used below red line (in pallet side) are with configuration NUT 0,0,1.

    I thought that the problem is sorted out but suddenly, on the way from pallet side to conveyor side, my robot stops again with the same error. I was in orange point (NUT 0,0,1) and next position was on conveyor side (NUT 0,0,0). Why that happen – no idea.

    In addition, because of the gripper mounting, my J6 is at angle 105°. This cannot be changed because of the mounting of the gripper and cables an air duct installed.

    Please share you experience and advise me how to resolve the issue – on my way from pallet side to conveyor side, the robot stops again with the same error.

    Any advice and information are highly appreciated!

    Best regards,

    Svetozar Yolov

    Dear kluk-kluk,

    Many, many thanks for explanations.

    What is the best way, to check if a point or PR point is in the permissible range to reach, i.e. is in the axis limits in ROBOGUIDE?

    Thanks again mate!


    Deal Gents,

    I simulate robot cell in ROBOGUIDE and since yesterday, I experience error MOTN-017, which I cannot figure out how to resolve. The error is:

    MOTN-017 Limit error (G:1, A:1)

    It happens when, I want to move robot gripper down, in order to change it. The robot is turns to the back. I noticed that “Current position” dialog (POSN button on pendant), J1 axis is yellow.

    According the documentation, A:1 means axis 1 (J1).

    In SYSTEM Axis Limits are on their default values.

    Any ideas what exactly is the problem and how to resolve it?

    Best regards,

    Svetozar Yolov

    Many thanks for fast response!

    How long signal "signal to set if E-stop -DO(x)" will be on? When DO(x) will clear?

    After release E-Stop button and clear fault, will signal on DO(x) will still be available?

    For the gripper status - this very good idea! Thanks!


    Hi Gents,

    We have model: M-710iC 50 and controller: R-30iB Plus.

    Our robot, do depalletizing at input bay and palletizing on the output bay. It grab empty plastic box, put it into the conveyor. At the output bay, it takes full plastic box (from another conveyor) and palletizing it on a pallet.

    I have the question related to pressing of emergency stop (eStop). The robot emergency stop is wired into the emergency stop circuits.

    Robot emergency stop output, is wired into machine emergency circuits.

    Robot emergency stop input, is wired to contact of relays, controlled by safety relay.

    fence input, is wired to fence circuits.

    At pressing, eStop, the robot will stop immediately.

    My question is what to do next?

    Our understanding is that the robot must move in safe position and next the program must start from the beginning.

    One if the issue is that the gripper could be empty, could be with empty plastic box or with full plastic box.

    How is will find that robot was stopped by eStop? From UO, can find out that the fault occurs.

    Any advices and sharing experience will be highly appreciated!

    Svetozar Yolov

    Hi Guys,

    I can not figure out, how to UOP signals are mapped to my PROFINET configuration.

    At present I have PROFINET communication, which is configured and it is working.

    On Simens 1500 PLC, I have got the following:

    DI 512_1, Rack 0, Slot 1, I address: 100 – 163 (512 input bits)

    DO 512_1, Rack 0, Slot 2, Q address: 100 – 163 (512 output bits)

    I add another area as the following:

    DI 16_1, Rack 0, Slot 3, I address: 164 – 165 (16 input bits)

    DO 16_1, Rack 0, Slot 4, Q address: 164 – 165 (16output bits)

    On this area I intended to map UOP signals.

    In R-30iB Plus controller, I add device1.xml, zipped, with the following:

    <Module Slot="1" ID="17">

    <Submodule API="0" Subslot="01" ID="0x00000001" Inputlen="64" Outputlen="0" />


    <Module Slot="2" ID="18">

    <Submodule API="0" Subslot="01" ID="0x00000001" Inputlen="0" Outputlen="64" />


    <Module Slot="3" ID="5">

    <Submodule API="0" Subslot="01" ID="0x00000001" Inputlen="2" Outputlen="0" />


    <Module Slot="4" ID="6">

    <Submodule API="0" Subslot="01" ID="0x00000001" Inputlen="0" Outputlen="2" />


    The communication is OK.

    Now I must configure the mapping for UI and UO;

    The only working configuration is the following:

    UI [1 - 8] RACK 100, SLOT 1 START 502

    UO[1 - 10] RACK 100, SLOT 1 START 502

    My question is related to START of mapping area. I thought that I can set as start address 513, in order to map the signals into new 16 bit IO area, which I already added. Unfortunately, when I put 513 as start address, the status become INVALID.

    Actually I add signals at the end of 512 bit areas.

    Why is that? I read the manual (B-83284EN/10), but I could not identify the reason.

    Can someone explains me the behavior?



    Hi, Guys

    I have configured FTP Server on R-30iB Plus controller.

    I can connect with FilleZilla FTP client, but I can only retrieve the list of files (md:/)

    I configured “DOS with forward-slash separators” on site configuration, Advanced tab.

    The problem is that I can only retrieve the files list, but I can not download or upload files.

    With the same configuration of R-30iB Plus’ FTP Server, and using WinSCP, I can connect, download and upload files without problem.

    I tried many combinations of FileZilla settings but can I can not make it work (to download and upload files).

    Any ideas why is that? My problem is solved, but I am curious about the behavior.