Posts by arunbluez

    Hello All,

    Let me explain the current structure: The Robot has 2 Home positions, There are multiple sub-programs which start from one of these 2 homes and end at the other home. The robot could be in any one of the Home position and still wait for the new program number to call a sub-program inside the cell.src

    In order to do a Homing/Retraction from Home1 to Home, I have a Interrupt defined in cell.src as below:

    INTERRUPT DECL 21 WHEN HOME1_0==TRUE DO P_HOME() ;Stop Robot and move frome HOME1 to HOME

    the Interrupt function P_Home() defined inside the cell.src is as follow:

    DEF P_HOME ( ) ;HOME1 to HOME
      WAIT SEC 0.5
      PTP XH1_TO_H

    The Variable HOME1_0 is set to True inside the sps.sub as bellow: (where the I_Homing is the input signal to trigger the homing/retraction of the robot)

    Problem: The Above code works, i have tested it out as well. but yesturday i got a call saying the robot crashed & on checking the Video recording of the crash and operator description, it was clear that the robot somehow skipped the point XH1_TO_H and the robot moved directly from XHOME1 to XHOME, causing the Crash.

    I am an Amateur Programmer, maybe i am doing something wrong here? could you guys please help me out in figuring out what could have caused this crash :/? Thanks a lot in advance,

    Well...that makes sense I think. You've told your robot that his external axis is mounted at a 45-degree angle, which means that going on X, he's going up or down. Angle the axis at 45 degrees and the TCP will probably stay fixed in position.
    Shouldn't the robot be configured as mounted at 45 degree and the axis at 0?
    I've never mounted a robot like this so I may be wrong here.

    I know i have to put in an offset between the Robot and the External axis, but the question is where should i put this value of 45 deg. There is just one variable "Mounting angle", which i have already tried changing.
    Could you please explain how can i set just the Robot at 45deg and external axis as 0deg? Thanks

    Hi All,
    We have a M20iA/12L Robot mounted on a E1 linear axis. The Robot is mounted on a 45deg inclined platform which is then mounted on the Base of the External axis. Please see the image below.
    I have configured the External axis such that Mounting angle is 45deg, Jog direction is X+ etc. The External axis when jogged in JOINT moves properly but when it is moved in WORLD or TOOL frame the TCP is drifting in Z direction rather than staying in a fixed position.

    We have a similar setup with KUKA and we get to keep the TCP in a fixed position when moving the external axis in TOOL frame by configuring the Machine Transformation values.
    Is there any similar values in Fanuc which can give me this result ???? or am i configuring something wrong :hmmm:? Also is there a possibalitz to edit the Axis origin of the Robot?? Thanks a lot in advance. :merci:

    Robot: M20iA/12L
    Controller: R30iB Mate
    External Axis: Güdel TMO-2-E
    External axis motor: alphaiS 8/4000

    Things i have already tried:
    Added Mounting angle 45deg
    Configured External axis in various directions X+,X-,Y+,Y-,XY
    Tried modifying: $SCR_GRP[1].$OFST[7].$Z

    Hi All,
    Let me explain the problem: We have a Blow molding machine which has 2 external asynchronous axis on a single linear guide which are controlled by a KRC4 KSS 8.3 controller. The Drives on the Linear guide keeps getting shredded and the internal tooth gets damaged every other week. The Motor teeth seems to be fine, only the internal Drive teeth seems to be shredded and completely damaged. This has happened on both the External axes. We have already built the same kind of machine with KRC4 before and the other machine seems to working absolutely fine. I did a trace of the Torque on the External axis which i will attach.
    We are looking into the possible mechanical alignment issues and measuring the linearity of the external axis. But at the same time i would like to make sure if the parameters of the External axis has been properly setup. I did a compare of the Machine.Dat from the other good machine, all the parameters match exactly. Except 3 of the following parameters:
    $BRK_DEL_EX = 20000 (the working machine - 200 )
    $OPT_TIME_PTP = FALSE (the working machine - TRUE )
    $EKO_MODE = #ON ( the working machine - #OFF )

    Can any of these parameters cause such drastic issue with the Drives getting damaged? if not is there any other parameter which i might need to double check?
    I would also like to check if there is any parameter which defines the overall weight on the External axis? because the weight on these each axis is around 900 KG which i am not sure has been set in the parameters.

    Thanks a lot in advance.

    Hello irobot

    yes I have create a dll file which is calling though HMI. If you would like to integrate your application in KUKA HMI without using any other external application than definetly you have to create a Dll file uisng wpf applicaion.

    Would be kind enough to share the Source code of the WPF application u developed? if you dont want to share it in public could you please send it to my PM. I also want to make such plugin, i have the knowledge to develop a plugin but dont know how to integrate it with the KUKA HMI... Thanks a lot in advance!

    1) Declare a POS array in the .dat file
    2) Create your own teach routine that inputs robot poses to the array
    3) Loop through the array with whatever motion command you want

    So, yes it's possible, but not without implementing your own teach routine. AFAIK.

    Thanks for your reply, Could u explain how to make my own teach routine to inputs points to an Array?

    If only i could teach the points directly to a pre-defined Array, then i could easy solve my problem ??? ??? Please help me guys

    Sorry, but i am confused. your are setting MyPos[1] to MyPos[100] as just {X 0, Y 0, Z 0, A 0, B 0, C 0}? I need 100 different points which where taught to the Robot using the Teach Pendant. :hmmm:

    Thank you fluke, for your reply.
    You are right, but my question is different.. let me explain in a different way:
    So i have say 10 points, p1, p2.... p10. and i have a variable X(1,2,3,...10) so when the variable x=1, P1 should be selected and moved. if X=2, P2 be selected and moved. Ofcourse we could do this using SWITCH command, but what if i have 100s of points.
    In Fanuc, u could just simply use position register like PR[ X ], where X is the variable. Hope u get what i mean now! :top:

    Edit: I would also like to mention, these points are taught positions using TP (E6POS) :toothy9:

    Hi everyone,

    I was just wondering if there is a possibility to have variable positions for motion commands. For example in FANUC "J PR[ x ] 50% FINE" is the Joint Motion to Point PR[ x ], where x is a interger variable and the motion command could be used in loops. But in KUKA "PTP P1 C_PTP", P1 is a static point. my question, is it possible to have a variable point for the Motion command? or is there a possibility to use the motion command in loops? I hope you guys get what im trying to ask? :hmmm:

    thanks in advance

    Hi guys,
    I am new to Fanuc programming, So i have been trying to understand the Programs used in the Fanuc Robots at the plant. I have a basic question regarding the JMP function. I have this following structure of program:

    As you can see from the above sample program, there are some motion statements on top, then a Unconditional jump JMP LBL[15] is used. there are few conditions after the JMP. To my knowledge the JMP LBL[15], directly jumps to the label 15 and the conditions between the JMP & LBL[15] are never executed. Am i Right?? coz i see such unused statements at many places throughout the programs which got me confused, so wanted to make sure.
    Thanks a lot in advance for your replies :respect:

    Hey guys!
    Here is a overview of the KRL program i am trying to understand.

    As you can see, when a program number PRNUM = 1 is selected the main_program() runs. but during the execution of the main_program(), if the Interrupt STOP_INT is true then the STOP_ROBOT() function is executed. so my question is when the program reaches the RESUME it aborts the main_program() and starts again from the LOOP or from the
    IF STOP_ERROR THEN line? I would like to know when the RESUME is executed on program interrupt where does the execution start again?

    Thanks a lot in advance!

    Thanks a lot Roboprof. :top: :respect:

    Actually the CNVRT Command did come in handy. I used BscHostPutVarData in MotoCOM to put my new position into a Px000 variable, and then run the job containing the step CNVRT Px001 Px000 UF#(1), then again retrieve the variable Px001 using BscHostGetVarData.

    and then use BscMovJ command to move the robot in the UserFrame.

    Once again thankyou Robot-Forum

    hello Robot-Forum,

    I am using MH5L Robot and Dx100 Controller. I am currently working with MotoCom SDk to interface the robot.

    My Question is: Is it possible to Convert a known point (Robot not in that position) in Base Frame to a certain User Frame?
    its like i want to move the robot in User Frame, but the user can provide points only in base frame. so when a user gives a point(Base Frame) to be moved by the robot from the host pc, can i convert the point to first User Frame and then use the BscMoveJ cmd to move to that point in that perticular User Frame?

    Solution i know: To find the transformation matrix between the User frame and the base frame and then use this matrix to solve the point. ( is there any easier solution?)

    Requirement: I want to move the robot somehow in the User frame, but the user is allowed to give points only in base frame.

    Could you guys please suggest me a method to solve this problem?

    Thanks a Lot in Advance. :respect:

    Hello Robot-Forum,

    I am using MH5L with Dx100 Controller. I have already enabled the Ethernet function and successfully able to move the robot from my host pc by a small software developed on Visual c# using MotoCom32.
    In order to move the robot from remote Pc, i have to enable Command Remote and Remote Mode on the PP.

    My question is: Is it possible to control the robot entirely from the Host PC, so i want to disconnect the PP from the controller. I have tried to disconnect the PP while in remote mode, but stops any operation running from host Pc.

    :respect: This forum has helped me lot. Thanks a lot for this amazing forum, looking forward for an solution.