DPM configuration help

  • Hello!


    I need help in configuring the DPM software option.


    I have an analog height sensor on the robot that goes from 0 (0mm) to 2000 (5mm).

    I want the Z axis to be always 1 mm above the table surface, which is 400 in the analog input.


    I have the docs but I can't really understand these settings. I figured out I have to use only channel 3, I've disabled the others. I've added the Track DPM[1] line in the code before the paths. When I run the code, the robot goes up instead of down and then it won't follow the surface height.


    The robot is M20-iA, the controller is R30-iB

  • Hi bokodimate,


    A little more information would not be bad.

    In my opinion, DPM is more complex then it seems to be.


    Channel 3 for the Z direction seems to be correct.


    MODAL/INLINE ?

    DPM type --> UTOOL/TOOLPATH?


    conversion slope? conversion offset?


    maybe provide

    sample Code and settings?


    best regards

  • List the settings in your schedule, and post your program.


    DPM runs on error. 0 means it won't move from where it is at, and depending on how you set your scaling factor, will determine how the robot behaves when a non-zero number hits the schedule.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Hi PnsStarter ,


    More infos:

    I work at a company where we make automated machine lines for big factories. We use a lot of metal, so we built a laser cutting machine for ourselves using a refurbished fanuc robot. (I told them we should have used servo motors instead of a motor...) We had problems with the cutting because the metal sheets are always a little bent so sometimes the laser head would touch the sheet or it would be too far and it results in bad cut quality. Someone here on the forum recommended the DPM function to follow the sheet. If it's closer to the head, move away, if it's getting far away, move closer.


    For example this is one piece I want to cut out. I generate a toolpath for this using RoboDK.



    I move in a UFRAME so the Z of the robot would always be constant now. I don't know where would be bents on the sheet. For example when I cut this piece, at the "top" of this drawing the Z distance would be 1 mm, at the middle it would be 0 and scratching the sheet with the nozzle, at the bottom it would be 1.5 mm.


    I modified the RoboDK post processor so I have linear moves only, even the circles are made out of linear points.


    The documentation is not much of a help unfortunately.


    I think for this I need the modal function. For the DPM type I tried the UFRAME setting.


    For the conversion offset and slope I found this equation:

    Distance = (analog input value - A/D conversion offset) / A/D conversion slope


    The distance here is how much I want to compensate?


    For example, I want the Z height to be 1. That would be analog input 400.

    So if the analog input is 800, I need the distance to be -1 so the robot would move down 1 mms?


    I tried to play with these values and got the robot to move in z direction a lot but I still don't really understand how this works and I couldn't solve my problem.

  • I've attached a sample program for this particular part. I don't have the DPM function in this yet.


    Here's the settings but I don't think it is relevant. It is still the default settings mostly. Because I don't know what and how to set in order for this to work. That's why I asked for help.





    I just want a simple settings so it would raise or lower the head depending on the distance to the sheet.

    The -1 slope does nothing. The Z would not change.



    I don't get any errors, it just won't change height.

Advertising from our partners