Posts by scotty

    When I did welding applications:

    - I had stationary torch cleaner and wire cutter.

    - Before each welding job the robot did wire cut to make sure that you have correct length wire for TCP position.

    - Do not remember about wire brake system....it could be that it was embedded into our wire feeder that is installed on the robot's J3 arm. Never had problem with wire brake, so I won't be able to help you with it. If I misunderstood the question then please describe it with more details.


    If your application require high accuracy for your wire then you need to install laser sensor to detect wire offset after cut to apply wire's position compensation into your TCP.


    Maybe one more advise. When you will teach your wire cutting position, make sure that it's same as your TCP. So you won't make wire too short or too long.

    One more stupid question. In the header of your program do you select and set UFRAME and UTOOL? It could be possible that you have selected wrong frame/tool.

    Can you share any screenshots/photos of your setting. Because it's deffinitely something wrong with setup. If you will share your program code, the please share LS file it will show points data.

    Fanuc has linetracking option for welding. The LineTracking has particular format for commication that your softwre or hardware need to comply with. We used combination of manuals to get enough information how to make it: LineTracking, Adaptive Welding with Servo Robot, Universal Interface functional specification. It allowed us to user 3rd party sensor to use as welding guide to modify robot's path and welding parameters on-the-fly.

    IT's so strange to see that my post shows up after 6 years :)

    p.s. pdl is right. way more stuff you can find in the documentation pallettool. Documentation will explain a lot about where to save position, how to adjust position, how to set up pallet/infeed from scratch and etc.

    Create a separate function that controls your servo first. No reason to dublicate your code multiple times.

    Code
    void moveServos(int servo1Position, int servo2Position)
    {
        // from your global variable use your servo objects
        myservo1.write(servo1Position);
        myservo2.write(servo2Position);
    }

    As I understood you have a small cart or else. Each servo controls it's own side - left/right. In this case you always control both sides. Then modify your logic upfront to do calculation for 2 servos always and you wont have any issues. If you want to delay for one of the servos, then send same position and you wont have issues. You need to reorganize part of your code(below) to make calculation always for both legs to make sure that you wont have any issues whatever leg you are using at the moment.

    Code
    if(distance_cm < DISTANCE_THRESHOLD) {
    for (pos = 0; pos <= pos3; pos += 1) { 
      myservo1.write(pos);
      delay(15);
    }
      for (pos = pos3; pos >= 0; pos -= 1) { 
      myservo1.write(pos);
      delay(15);
      }
    }

    If you use original palletpro software for picking slip sheets then take a look into PKSLPSTK.TP program. Check LBL[20: Slip Sheet Found] there I believe you have your vacuum pumps signal ON. At the same spot somewhere you have a code line : PR[28:Slip Found Pos] = LPOS. you can copy PR[28] to another PR and apply your offset and make a move, etc.

    You can't toggle CSTOPI during program execution. It needs to be done when main program is paused. The way you want to toggle your CSTOPI depends on you, from PLC, from push button, from BG Logic using internal stuff.

    If you will set your CSTOPI signal ON it will reset all programs. With next start it will start your pre-set program (depends on a way how you setup you robot). Double check that your CSTOPI is mapped to your UI/UO.

    You need to recall your monitor program again. If you want to have strict condition that will block smth with monkeying around your monitor program then BG Logic may be an option to solve it faster.

    I won't recommend using RUN command for this purpose. You may forget to reset your async program and them you will have alarm during start of the next program. I agree, that you can write additional conditions to escape from loops and else. But I would feel more comfortable and secure if it will be done using BGLogic or condition monitoring as @HawkME mentioned. BG and Monitoring conditions is more traceble during debug or testing.

    Hi to everyone,


    My customer is asking me to install RemoteSupportView on their new robot. Could you guys guide me how to do it over WorkVisual and USB? In case if I do over USB, where I can find KOP file for it?


    Thank you in advance!


    Regards,

    Scotty

    Referring to your picture of your testing buttons, you say do not mix any channel 1 or channel 2 but your picture is showing both Ch1 and Ch2 on each button. So are both channel 1 24V and both channel 2 0V? or are you saying not to pair channel 1 with channel 1 or channel 2 with channel 2

    Picture can confuse you. Just follow the electrical diagram and you won't have any issues.

    I used:

    Code
    <object classid="clsid:7106067C-0E45-11D3-81B6-0000E206D650" id="FRIPButtonChange1" style="width: 100px; height: 40px">
                    <param name="Caption" value="PROGRAM" />
                    <param name="FontSize" value="12" />
                    <param name="width" value="100" />
                    <param name="height" value="40" />
                    <param name="TrueFont" value="-1" />
                    <param name="FastLoad" value="-1" />
                    <param name="PageName" value="/fr/program.stm" />
                    <param name="BackColor" value="12632256" />
                </object>