Posts by DaveP

    Here is another method that just worked in Roboguide. I tested this with an uninitialized PR and the JPOS=JPOS zeroed out the PR and made it appear in the Joint representation in DATA.


    L PR[1] 1000mm/sec FINE


    PR[2]=JPOS-JPOS


    PR[2,6]=30


    J PR[1] 30% FINE Offset, PR[2]

    The attached images are for a project that had a M-20iA robot and a Rx3i PLC exchanging discrete data. The Exchange ID's are whatever you want to name them, they are not based on anything. We increase the Robot EGD Consumer Timeout to 500msec to help prevent timeout issues. It is a very robust process once you get it configured, but can be frustrating if you have any part of the config wrong. If it doesn't work, check all of the numbers again, is usually something small that keeps is from running.


    In the PLC, click on Ethernet Global Data and set the Local Producer ID in the Inspector (this is the PLC IP Address) Right click on the Consumed and Produced Exchanges to add the desired exchanges. See the spreadsheet image for details.


    In the robot, go to Menu, I/O, EGD I/O. Set up the exchanges here, see the robot controller image for details. Then you have to configure the I/O for the EGD I/O. Go the Digital I/O and press the CONFIG button and set up Rack 88 for the EGD I/O.


    You may need to use Group I/O to convert the analog data to the digital outputs to send the analog data. I have only send Digital I/O. I use the HMI option to send register data (REAL numbers) to the HMI and then I can forward the data to the PLC.

    Do you have one in production yet? I was curious about the operating speed compared to a normal LR Mate. Can you run it full speed? Are there limitations on payload relative to speed, etc.? How do you like them? The world wants to know. :hmmm:

    Your slot 1 config is set to ADP which is adapter. You set the PLC IP address where you see SCANNER IP : ************** in the 2nd image that you posted. You will not set up the other information if the robot is the adapter. If the PLC is the adapter then you will set up the other information in the robot. I'm not familiar with the PLC software to see what it is configured as.

    K-Sky mentioned this above. Go to MENU, I/O, then Ethernet/IP in the far right menu. Or you can press the I/O button at the bottom of the pendant, then the TYPE button, and select Ethernet/IP in the right menu. You will see the Ethernet/IP list. You can select a Slot and set whether it is a Scanner or Adapter, I think use Scanner if your PLC is set up as a "slave". Then press the CONFIG button to set up the details for that slot. You will need the IP address of the PLC and the Vendor Id, Device Type, Product Code for your PLC so the robot will know what it is talking with. Then you have to set up the other details for what you are sending for data back and forth. This part should be similar to the config in your PLC.

    I have some information from a Jan. 2016 quote from Fanuc. HandlingPRO and OlpcPRO are both "Roboguide", depends on whether you want the 3D graphics or just offline programming. You can have both options for Roboguide, just costs more.


    HandlingPRO V8 $9995 Full 3d simulation software
    OlpcPRO V8 $2000 Offline programming software, no graphics
    MotionPRO V8 $500


    HandlingPRO V8 Server $11,995 Server license for 3D simulation software

    I agree with moln4r about making sure the $WAITTMOUT is set to the value you desire at that point in the program. I usually set that variable to the desired time near every Wait Time Out that I use in the program to be sure. I don't think a spike is causing you the issue because like what kluk-kluk mentioned below, the ON signal will release the wait and will not jump to LBL[6]. Try to set the variable above the Wait and see what happens. Are you getting a good signal from RI[5]?

    We have 7 lines running with multiple HMI's. 6 run well and 1 not as well. We have gotten the 1 line to stop getting the connection full errors, but we still have some Ethernet/IP errors which could be unrelated.


    To start out with, you need to change the $NUM_CIMP variable to a 2 so the robot will recognize 2 HMI's. One of our tech's has been doing some testing and he has lowered the $NUM_ASG setting to the number of connections we are using in the $SNPX_ASG variables, not sure if this helped but it may have. See the text below for those 2 variables. The 1 line that had issues is communicating with a lot of registers compared to the others.


    ProFace has a PDF that discusses multiple HMI's, https://www.hmisource.com/otas…les/appnotes/APNT1195.pdf



    $SNPX_PARAM
    1. $TIMEOUT 10000
    2. $SNP_ID *uninit*
    3. $NUM_ASG 1
    4. $NUM_CIMP 2

    Correct, the TP programs are loaded right into the controller and are ready to run. You can't export a program to the robot that is currently selected, you need to select another program in the pendant first.

    You can Export programs direct from Roboguide to a real robot using a couple different methods. You need to have robots set up in the Robot Neighborhood with the IP address so you can select them during the Export process. Type in a Name for the robot and then the IP address in the Hostname field when you add a new robot to the Robot Neighborhood.


    One method is to right click on the TP program and select Export, To Robot, then select the robot by clicking on the Robot icon in the bottom right corner, then Click on Export.


    Another method is to Export a list of programs all at the same time. Click on Project at the top of the screen, then Export, then Edit List. Click on the Memory Import/Export tab if it is not highlighted. You can select multiple TP and other file types then click on Apply then OK to close the list. The robot will need to be in Controlled Start to export any system variable files and may the .IO files too. You should not export .SV files to the robot without knowing what they are for. Now that the list is ready, click on Project, Export, To Robot, click on the robot icon in the bottom right and select the robot to export to, then click on Export.

    I use Roboguide for configuring my DCS zones and I find that it is a lot easier than doing it with the iPendant. It does help if you import the 3D models for your cell into Roboguide so you can see where to set up the zones. I usually update the zones with the iPendant after downloading because the zones are rarely perfect on the first try and you can jog the robot to the edges of the zone and modify the numbers pretty easily. Configuring the DCS setup for frames, EOAT, etc. is much easier in Roboguide.

    The HMI User's Manual in the Handling Tool documentation (MARUIBHMI03031E) doesn't cover String Registers very well (or not at all really). I did some testing today and had limited success transferring between a R-30iB controller and a Quickpanel HMI. We use the HMI option for numerical registers so I modified our normal configuration to add the String Registers. String Registers can hold up the 254 characters but I could only get it to work with 64, anything over that would not update the HMI registers. That is why the size is 64 below.


    One major pain is that the text in the String Register gets converted to a number in the HMI. You will have to convert it back to text using character strings. I used a spreadsheet to convert the numbers to make sure I was getting the correct data. I had to convert the decimal number to Hex then split up the Hex number into 2 character strings that could then be converted to text.


    Go to Robot variable list:
    $SNPX_ASG[1]
    1 $ADDRESS 1
    2 $SIZE 64
    3 $VAR_NAME 'SR[1]'
    $MULTIPLY 1.000


    Not sure how experienced you are with the HMI option and Quickpanel HMI's. This is how we do it at my facility.
    - Add a new driver in the HMI View Native Drivers, use the GE TCPIP driver. Add a device to the driver and then set the IP address of the robot
    - Create a new variable in the HMI. I had to use a DINT variable. Click in the I/O Address field and click on the button to open the pop up window. You can then set it to Register, set the number of the memory location ( probably 1 if you don't have any other registers set), and then select DINT for the data type.
    - Make sure the DATA TYPE field is set to DINT under the I/O ADDRESS field and the DEVICE field will be the name of the device you set up in the driver above
    - 1 String Register in the robot takes up many HMI registers. I used 16 HMI registers for 64 characters in the Robot String Register. You can create the first HMI register then duplicate it so it will automatically allocate the memory locations.


    You should be able to create a Numeric Data Entry Tool in the HMI using the HMI register you just created and see the data changing between the robot and the HMI. I started by sending an "A" which is a 65.

    are you changing the variable in the variable list or using the following command? set var $rmt_master=1 then press enter
    we typed in the command in the Karel class and it seemed to stay until we restarted the virtual controller

    You need to give more information on the application you have and what you are actually needing help with. "opening hard" could mean high air pressure or lack of flow control on the gripper, etc. Need more info. The conveyor issue might have something to do with sensing a part that is in a different position each time. Is there a VFD on the conveyor, is it a DC drive? Is it a contactor that controls it? Being vague with the question will not get you good results with the replies.

Advertising from our partners