The Ethernet/IP scanner option is when the robot is the "master" and will communicate with remote Ethernet/IP devices "slaves". You will set up the EIP nodes in the robot. The Ethernet/IP adapter option is used when the robot will be a slave on an Ethernet/IP LAN. You would use the adapter option for both robots if the Compactlogix PLC is the Ethernet/IP master. Also, don't confuse the Ethernet/IP options with the Ethernet used in a regular network, they are different. Ethernet/IP is a fieldbus protocol.
Posts by DaveP
-
-
Also note that 200 is the highest sensitivity setting and will trip out the easiest.
-
You can use an indirect reference for the JMP to make it very easy to jump to the LBL. The CALL would be the same as rafahil suggested
BROL2 program
! TEST WELDING PROG
CALL BROL1(1) ---> or 2 or 3 etcMake sure you BROL1 program has a JMP to the end of the program after the moves so it doesn't continue on to the next LBL
BROL1 program
JMP LBL[AR[1]] Jumps to the label number in AR[1]
LBL[1]
L P[1] ...
L P[2] ...
JMP LBL[999]LBL[2]
...
...
JMP LBL[999] -
You can have the tool changer program set a register with the desired tool number. Then have a background task constantly compare that register to the active UTOOL using the variable mentioned above. $MNUTOOLNUM If they don't match then set it back to the register value of the desired tool.
-
I have a similar situation with multiple mills serviced by a Top Loader. Each mill can be offline at any time and we want the system to utilize each mill equally. My solution is pretty long but it has worked well for several years. It is based on using registers for each machine that increment each time a part is loaded into a machine (balance count register). All the registers increment whenever a part is loaded and the count is reset for the mill that was loaded. I also have a priority register that can be set to a specific mill if I want to load that mill next.
The main program calls a sub program that looks to see which machines are online and ready and then sets/resets bits based on that status for each mill. Then it looks to see if the priority register is set to a specific mill and then if yes, it sets the "balance" register to the priority number and exits that program. If no priority, it looks to see which mill has the highest count and then sets the balance register to that mill and exits the program. The main program then calls the mill program based on the value of the balance register. The balance count for that mill is then set to zero.
This allows any mill to be offline for any period of time and then come back online and the robot can load it immediately if the count is the highest because the count has been incrementing each time a part was loaded into any machine. It will cycle through all the machines before going back to the same machine again.
-
Can post some pictures showing the screens you are looking at? With some descriptions for the pictures on what you think you are seeing. It will make troubleshooting on our side much easier.
-
I attached 3 images from my GE Proficy software. They show the driver in the HMI that has the robot IP address and then the details for the HMI variable that connects to the Fanuc DI[1] and R[1]. Maybe this will help with your setup. The DI and DO should work without additional setup in the robot but the registers need the additional setup below.
You have to change the $SNPX_ASG variable to allow the HMI to see the robot registers. The settings below allow my HMI to see 600 robot registers using REAL numbers. (It takes 2 HMI variables for each robot register, that is why the size is 1200. this is for the GE Quickpanel+ HMI)
$SNPX_ASG[1]
1 $ADDRESS 1
2 $SIZE 1200
3 $VAR_NAME 'R[1]'
4 $MULTIPLY 0.000 -
The World Frame is User Frame 0 and that should not change. Are you looking at the current position of the robot relative to World? You will see W, P, & R values change when you move the arm but this is the position of the end effector and not the World frame itself. The World and User Frames are not based off the tool frames. You can see the User Frames by going to Menu, Setup, Frames, then press F3 for OTHER and select 3 USER FRAME.
-
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]
-
You're welcome, glad to help. Let us know how your project turns out.
-
Turn down the general override % to slow it down even more. OVERRIDE= __%
-
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.
-
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.
-
What do you have in your Robot Ethernet/IP configuration for Slot 1? This is where the PLC IP address will be. (IP address, Vendor ID, Device Type, etc.)
-
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 $500HandlingPRO 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]?
-
You're welcome, glad it worked for you.
-
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/otasuke/files/…es/APNT1195.pdf
$SNPX_PARAM
1. $TIMEOUT 10000
2. $SNP_ID *uninit*
3. $NUM_ASG 1
4. $NUM_CIMP 2