NX100 robot at standstill feedback

  • Hi,


    I am wondering if there is an internal bit somewhere that is active when a robot is at a standstill, IE: servos on, program running, at a position, but not moving. Maybe something in the specific output area that I can map to the PLC?


    Reason being, I am trying to measure some weld lengths. I already have arc established mapped to the PLC, as well I am moving the weld speed into an output group and reading that in the PLC (this is just moving a constant into an output group, so not reading speed directly as I don't think there's a way to do this, but it works mostly).


    Problem is during a crater fill at the end of the weld, depending on the fill time, the robot could be sitting there not moving, just crater filling for 0.2-1.0 seconds. Obviously the arc is still established, so in the PLC, I am still counting this as movement when it shouldn't be. IE I am using the speed that I sent and the arc established to calculate distance. Problem is during crater fill it is not really moving so my calculations will be off (I know that the crater fill will make the weld a bit longer as material is being deposited, but it's not adding to the length as much as if the robot was still moving)


    So I am looking for some kind of built in signal from the robot to say it is currently moving, or not moving. Is there anything for this built in that I can map to the PLC? If I had this, I could change the speed variable in the PLC to be a lower value during crater fill and thus have more accurate calculations for length.

  • Try SOUT #185 CTRL GRP RUN R1. This is for R1, not sure if that is the robot you are using. The output is on when the R1 robot is moving. It turns off when the robot is sitting still. You could send this to the external outputs and on to the plc.

    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.

  • That was exactly what I was looking for. Wasn't aware of those SOUTs before, or if I saw them, the description didn't really explain what they were. Worked perfectly today for what I needed. Thanks!

  • Capture the position before and after the weld, do the math to figure out how long the weld was.

    That would work using d = ((x2 - x1)2 + (y2 - y1)2 + (z2 - z1)2)1/2 if all of the welds were straight lines, but some are circular and the math would become quite cumbersome to do in a PLC (and would also require data about the radius of the circle to be sent and whether it was a circular/linear weld to the PLC, unless I am missing something). The timer based solution using arc established and ending when the above SOUTs go off worked quite nicely for my application and only required speed and the other signals I mentioned to work.

Advertising from our partners