How can I update X,Y,Z,W,P,R data through Ethernet/IP for say PR[1] thru PR[10]?
PR data through Ethernet/IP
-
tmkkoservo -
April 7, 2013 at 5:52 PM -
Thread is marked as Resolved.
-
-
You can use GO to update Register values. But to update 6xPR's you need to 60 GO's. It can be done. What are you trying to do? Members here probably can help you more if you can explain your application.
R1=GO1
R2=GO2
R3=GO3
PR[1,1]=R1
PR[1,2]=R2
PR[1,3]=R3 AND SO ON. -
Thanks for your reply. I am picking and placing pieces of foam with suction cup EOAT onto a mold. I may need to adjust from time to time a few mm in X,Y,Z, and R. Don't really need W and P. I currently am using Ethernet/IP mapped 4 input and 4 output words to DI and DO. I was researching the GO method as well. I haven't done it before. I can get by with 5 bit or 4 bit for either 31 or 15 mm or deg of adjustment. This way I can store and update these in my PLC and update depending I what mold I am running. Does this sound right? Any examples would be greatly appreciated.
-
If you mean sending data from host PLC to robot, you need to use GI, not GO.
Be aware, that the robot will read the GI data as unsigned integer.
Your robot program must convert the received data to signed, scale if necessary, and write it to the destination position register component.
This may be done in background logic, or in the executed program. -
Thanks sergei for the correction. It should be GI not GO
This what I usually do. Path is calculated from the pick up taught position P1.
PR1=P1
R1=GI1 X adjustment from PLC
R2=GI2 Y adjustment from PLC
R3=GI3 Y adjustment from PLC
PR[1,1]=PR[1,1]+R1
PR[1,2]=PR[1,2]+R2
PR[1,3]=PR[1,3]+R3
PR2=PR1
PR3=PR1
PR4=PR1
PR5=PR1
PR6=PR1
PR[1,3]=400 Set the height as required
PR[2,3]=PR[2,3]+200 200mm above pick Position
PR[3,3]=PR[3,3]+50 50mm above Pick Position
PR[4,3]=PR[4,3] Pick Position
PR[4,3]=PR[4,3]+50 50mm above Pick Position
PR[6,3]=400 Set the height as required
JPR1 100% Cnt100
LPR2 1500MM/S CNT100
LPR3 500MM/S CNT100
LPR4 200MM/S Fine
Call GRIP_CLOSE
LPR5 100MM/S CNT100
LPR6 100MM/S CNT100
Jmp LBL100
LP1 2000mm/s Fine
LBL100
EndYou can send 0-200 from the PLC. represnt 0=-20 100=0 200=+20
R1=G1-100
R1=R1/5 -
Sorry there is a typo.
PR[4,3]=PR[4,3]+50 50mm above Pick Position
should be
PR[5,3]=PR[5,3]+50 50mm above Pick Position -
I understand how to do this but I need more than the 4 words of inputs the Ethernet/IP scanner allows me to map. How can I increase the amount of data I can map via Ethernet/IP? Do I need to use the second Ethernet port with a second scanner?
-
Multiplex the received data? Use GI1 as the data, use GI2 as the index. Index 1-6 is PR1 , 7-12 is PR2, 13-18 is pr3.. so on and so on..
-Eric
-
I understand how to do this but I need more than the 4 words of inputs the Ethernet/IP scanner allows me to map. How can I increase the amount of data I can map via Ethernet/IP? Do I need to use the second Ethernet port with a second scanner?
What limits you to 4 words? This is just the scanner default setting.
You can increase the connection size as much as the adapter allows. -
I tried to increase the number of words on the generic ethermet module in RSLogix but it faults when I increase above 4 words. Is there something else I need to set in the adaptor?
-
I am using robot as an adapter connected to CompactLogix.
The new module dialogue indicates the maximum possible connection size in the PLC. -
The robot and the AB PLC both have to match otherwise it will error out. If I remember correctly, the robots words are 32 bit and the msg instruction in the Rockwell is asking for 16bit words. So what I am saying is, if the robot is set for 4 words, you need to have 8 bytes setup in the PLC. I have also setup multiple connections to the same PLC too.
Hope this helps -Eric
-
Robot words are 16-bit.
Other devices may measure the connection size in 16-bit words or bytes.
The connection size in bits must be the same in the scanner and in the adapter. -
I was WAY too sleepy to be posting anyway.. lol. Your right, the robot is 16 bit words, but the idea is correct. The PLC is asking for (8 bit) bytes. You need to assign 2x the number of PLC bytes to every robot word.