How to attatch a laser to a dx100 and create a job that turns it on/aff

  • Hi,


    I need to attach a laser to a motoman mpl800 dx100.


    The program is created with robodk software and will look something like this:


    MOVJ C00000 VJ=100.0

    MOVL C00001 V=150.0

    CALL JOB:M3

    MOVL C00002 V=150.0

    MOVL C00003 V=4.00

    MOVL C00004 V=4.00

    MOVL C00005 V=4.00

    MOVL C00006 V=150.0

    CALL JOB:M9

    MOVL C00007 V=150.0

    CALL JOB:M3


    The Call JOB:M3 needs to turn the laser on and the CALL JOB:M9 needs to turn it off.


    The laser has a output wire with 5volt. The relay should then allow these 5 volts to go back to the laser through the input wire which will get it starting.


    the cn307 connector looks like this


    In which connector should the input wire and output wire go in the cn307? and is it correct to use the cn307?


    So now I need to create the jobs M3 and M9 and somehow get them to turn the laser on/off.

    From reading around the forum I guess I need a DOUT command but I don't know how the job should look or how I get it to point to right connector?


    Any help will be highly appriciated as this is very new to me.

  • I got it working by making two programs- M3 and M9:


    NOP

    DOUT OT#(12) ON

    END


    NOP

    DOUT OT#(12) OFF

    END


    The input wire we just attached to the Blue wire that goes in all the A connectors. The output wire we connected to the B11.


    When the main program is runand it comes to the job M3 is called the output wire give out 5 volt which triggers the laser to start

  • If you are talking about a laser which is a sensor or something, ok. BUT, if you are talking about high power laser for welding or cutting, you should have it in your CIO ladder so that if the robot stops because of a fault or ANY interruption, including e-stop it needs to turn OFF. At the minimum, have a safety circuit that will interrupt your output power, thereby turning the laser off.

  • Its a 80W laser so its not high power but safety is always a concern.


    I don't know anything about CIO ladder so I will have to look into that. I found some manuals from motoman but if you can give some pointers as how to go about setting up the CIO ladder that would help alot.

  • An 80 watt laser is not low power. A low power laser has a class two rating or lower.

    I never said it was low power. I said it was not a high power laser as I know lasers for steel are 4000W+. That being said I have read about laser classes and a 80W laser is in one of the highest classes.

  • Hello,

    I work with ladder programm. But you really schould know what you do in ladder.

    I'd prefer a course from yaskawa before you work with ladder programm.

    If you know the basics I can help you with ladder programm.


    Generally in Ladder you can handle whole In- and Outputs of robot, also special signals like Servo on, Running, or in which cube the Robot is. It is the internal SPS of the robot.

    For your project, you have to set Registers or Outputs to tell the Ladder programm switch on/off Laser,

    but if robot not running or safety-fence open always switch off the Laser.


    Also Ladder Editor on the controller is a paid option. Do you have it?

  • I never said it was low power. I said it was not a high power laser as I know lasers for steel are 4000W+. That being said I have read about laser classes and a 80W laser is in one of the highest classes.

    For visible-light lasers, Class 4 lasers' have an output power 500 milliwatts and above. There is no upper limit for Class 4 -- this is the most hazardous laser classification.


    It's kinda like being shot in the temple with a .22 versus a 50 cal, both will kill you dead. I've met people who have lost part of their vision to a class 3 laser; lasers are not to be underestimated, even the reflections off of matte surfaces can be dangerous.

  • Here is what I can advise you regarding conditions that you must consider: Motors are ON, NOT faulted, program IS running, NOT E-stop or Auto Stop (of course motors would be off if this is the case) and probably use a pseudo output in your job which ties into all these other conditions to turn on the real output to turn on the laser. Like how in ABB we would set up our cross connections.

  • Why do you want the on and off instructions in separate Jobs? I think its more visual to have the instruction directly in the program.

    MOVL

    MOVL

    DOUT OT 12 ON Laser ON

    MOVL

    MOVL

    DOUT OT 12 OFF Laser OFF


    Or you could use a while command
    Might be wrong here


    While D001 =1 AND (IN for servo on) = ON

    DOUT OT12 ON Laser ON

    MOVL

    SET D001 1 (laser should turn on)

    MOVL

    MOVL

    MOVL

    SET D001 0 (laser should turn off)

    MOVL

    MOVL

    SET D001 1 (laser should turn on)

    MOVL

    MOVL

    MOVL

    SET D001 0 (laser should turn off)

    END WHILE (disables the function)


    It could be worth a try instead of messing with the Ladder

  • The program is generated by some software(robodk) and currently we do not have the coding skills required to change the post processor which generates the program.

  • The program is generated by some software(robodk) and currently we do not have the coding skills required to change the post processor which generates the program.

    But you were able to write your M3 and M9 jobs? It is basically the same. The command you wrote in M3 (DOUT OT#(12) ON) can simply replace the "CALL JOB:M3". Same with the OFF command and M9.


    This doesn't mean you can't use separate jobs for the turning on and off off the laser... All I'm trying to say is that, if you have no-one to your avail who is familiar with programming ladder, and your programming skills are indeed what you say they are, I would highly try to discourage you to change the ladder program yourself.


    I think that in your situation, it is more feasible to go with a hardware solution instead of software. My suggestion would be to install 2 safety relays. One to interrupt the laser when opening the safety gate and one to turn off the laser when there is no "RUNNING" signal.

    The "RUNNING" signal should be readily available at your controller's connection terminals. Beware however that this output could have been replaced with something else by changing the ladder program. The as-built schematics of your installation should contain all the information needed for a certified industrial electrician to implement this.


    Question: do you have a procedure to go through when something goes wrong? Some kind of "reset job"? Because when something goes wrong when the laser is turned on, it should also return to the off state when the robot returns to its home position. So, one of the first lines in this reset job should be "DOUT OT#(12) OFF".

    There are 2 rules for success:

    1. Never reveal everything you know,

  • This would not work for several reasons:

    - the condition for the loop is only checked at the beginning (or at the return from "ENDWHILE")

    - this also means that the loop would not be executed (considering D001 is 0 at the start of the loop)

    - if servo is off, non-systemjobs wouldn't even be running (and movement is not possible in systemjobs)

    - if conditions for the while loop are not met, nothing would happen to D001 since it is inside the loop.

    - setting D001 to 0 (or to 1) would do nothing to the state of universal output 12.


    If a systemjob is available (paid option), the turning off of output 12 in case of "servo off" (just to name 1 possible reason) could be performed from here. But systemjobs can be stopped, concurrent IO cannot.

    STILL, THIS IS NOT A FAIL-SAFE SOLUTION!

    There are 2 rules for success:

    1. Never reveal everything you know,

Advertising from our partners