RobotStudio event

OffSet workobject Z with a digital input sensor

I have the same parts with variable heights. I am applying glue. I would like to use a simple digital input similar to what you would do using SearchL to offset the Z of my work object. I I know how to do offsets. I just want the robot to move down to the part establish the height, offset the Z and run the program.


  • lemster68
    lemster68 ✭✭✭
    So why not just use the SearchL?
    Lee Justice
  • ollitap
    To the best of my knowledge having used SearchL in the past, SearchL will offset one robTarget. If I could use SearchL to establish my Z height and use it to do a pose offset, I would. If there is a way, I do not know how to do it.

    Thank you
  • lemster68
    lemster68 ✭✭✭
    So you will have a baseline Z height, say the tallest part.  SearchL until the part is found.  The Search stores the found current position in a robtarget.  Compare the Z value in the found robtarget to your baseline and shift the workobject oframe by the difference.
    Lee Justice
  • graemepaulin
    edited March 2022
    From the Rapid manual to displace many moves:

    SearchL \Stop, di1, sp, p10, v100, tool1;
    MoveL sp, v100, fine \Inpos := inpos50, tool1;
    PDispOn p10, tool1;
    MoveL p100, v100, z10, tool1;
    MoveL p110, v100, z10, tool1;
    MoveL p120, v100, z10, tool1;
    The TCP of tool1 is moved linearly towards the position p10.
    When the value of the signal di1 changes to active, the position is stored in sp.
    The robot is moved back to this point using an accurately defined stop point.
    Using program displacement (the difference between sp and p10) , the robot then moves relative to the searched position, sp.
    Post edited by graemepaulin on
  • ollitap
    I will try it tomorrow 3-16-22. and thank you
  • ollitap
    OKay, this is just a random mess that I made to test the the SearchL

     1)    MoveL MvToRS12, v2500, z200, GUN1\WObj:=R2_CNTR;
     2)    SearchL\Stop, PosWarn1FromRob1, Temp1, PTP1_1a10, v100, GUN1\WObj:=R2_CNTR;
     3)    PDispOn PTP1_1a10, gun1\WObj:=R2_CNTR;
     4)    MoveL Temp1, v100, fine\Inpos:=inpos50, gun1\WObj:=R2_CNTR;
     5)    MoveL Temp11, v100, fine, GUN1\WObj:=R2_CNTR;
     6)    MoveL Temp21, v100, fine, GUN1\WObj:=R2_CNTR;
     7)    MoveL Temp31, v100, fine, GUN1\WObj:=R2_CNTR;
     8)    MoveL Temp41, v100, fine, GUN1\WObj:=R2_CNTR;
     9)    PDispOff

    Works fine. I noticed that I have 3 and 4 flip flopped compared to the manual. However, it works and I will flip them and try again just to test the results.
    Its on to the next thing.

    Thank you for your input