Delta RMC75 Profinet With GE Fanuc Addressing

sjohnson

Lifetime Supporting Member
Join Date
Feb 2010
Location
MI
Posts
247
Hello Again Yet another Profinet Project this time with the Delta RMC75E and GE Fanuc RX31 CPE305 and PNC001 Profinet controller. Im having a bit of an issue deciphering how the registers get handled from the delta to the GE Fanuc.I have good communications from the Delta to the GE. I have looked at the manual From Delta and around Page 715 it shows an example but with Siemens.I am not sure what the DPRD_DAT And DPRW_DAT function does. I do know it is the function of read and write and not sure what it is accomplishing and if I need to find the the Equivalent in the GE.I have set up the Registers in the Indirect Data Area of the Delta but when I set up the GE it has the input and output as 8,16,32,64 and what I gather it is the length of extra Registers you need depending on the add on card you have. It exchanges the Cyclic I/O Data by default without the add on registers. So when I choose say 32 input and 32 output with a length of 64 the GE Lets me choose %R or %M but the data being exchanged is both a Bool or word for status bits and a Real for Actual Position. When I choose %M it gives me a length of 256 in the Ge and %R it gives the Length of 64 as it should but how to map the status bits from R to M correctly is eluding me. I set an array %r1500 and move it to 32 registers %M but not showing the data correctly. any input how i am to accomplish this would be greatly appreciated..

DELinp.JPG DELout.JPG DELindrect.JPG DELbits.JPG DELactpos.JPG
 
Last edited:
I couldn't sleep. it is 4:42am here.
Our tech support will be in at 8 AM PDT.
Meanwhile, I am not that familiar with GE but the %R registers were 16 bit registers the last time I played with a GE. ( about 30 years ago ). Can %R1500 and %R1501 be treated as a REAL or a DWORD? In other words, can you read or write 32 floats?

First, a good place to write to is the variable table. A good place to read from is the indirect data map. The indirect data map allows one to read data that is scattered around in the RMC as if it is in one place, the indirect data map.

The DPRD_DAT and DPWR_DAT are basically copy commands but they also make sure the data is "consistent". Consistent means all the data arrives or is send in one time instead of having the data update randomly which could be a disaster if the wrong parameters were used to the wrong command. Look at the part about "Synch" registers.

For simplicity, it is best to treat the data being sent back and forth has 32 bit floats when doing the transfers. Status and error bits should be transferred as if they are a 32 bit float. In the GE you can still access each bit in the %R can't you? If not copy the image from the %R to some register where you can access the individual bits.

When you say you have good communication between the RMC and GE, can you see data being transferred?
Where do you expect the data written to the RMC to show up? The variable table?
Are you able to read data from the indirect data map?

Another problem we often have with Intel based CPUs is that Intel based CPUs like little endian whereas ProfiNet is big endian. It is best to try to send a DWORD back and for with a hex value of
0x12345678. Look at the data on the receiving side as a DWORD. Hopefully is is 0x12345678 instead of 0x56781234.
 
Thanks Peter for the Reply, I assumed that Delta was on the west coast as I put a E-mail into Paul and was after I was gone I got a Reply. 13 Hours was enough Yesterday. I usually start early so contacts don't happen till later in the day. On the Ge RX3i you can Use a Real for a 32 Bit. I gather from the documentation I would read the status bits in Dword i think there is 32 of them and the actual position a Real 32 bit value. I am just writing to the 5 positions of the command area. Here are what I am trying to read and Write.

[FONT=&quot]I am Reading 2 Status bits, In Position , Target done. And Reading Actual Position. [/FONT][FONT=&quot][/FONT]
[FONT=&quot][/FONT][FONT=&quot] [/FONT][FONT=&quot]I am also Writing to the command Area. [/FONT][FONT=&quot]
[/FONT][FONT=&quot]Enable Controller 7.0[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Hold current Position 5.0[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Move Absolute 20.0[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Position Axis 0 Parameter 1[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Speed Axis 0 Parameter 2[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Accel Axis 0 Parameter 3[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Decel Axis 0 Parameter 4[/FONT][FONT=&quot]
[/FONT][FONT=&quot]Direction Axis 0 Parameter 5.[/FONT]


I have Established communications through the Ge with a Pino_DEV_Comm and the status led on the delta flashing repeatedly like it does with when i have one set up with modbus.



I am retrieving Data in the Registers but it isn't making sense. I'm just not sure on the structure how delta sends and receives the registers. The GE when you set up the registers it allows for a %R or %M well use those two for simplicity. %R usually when you want to read an integer or Real floating point value. While the %M bool for status bits ect. so it only has 8,16,24,32,64 ect read and write registers in the GSDML input and output. So I chose 32 so i thought was correct as the indirect data map had 32 read and 32 writes.As you can see from the photo attached on the previous thread. Reading Status Bits %MD8.0 and Actual Position %MD8.8. I configure the incoming Registers as %R01500 in GE and Moved the data to a bool %R00950 and set up an array 32 length as this is how i dis it in a previous Emotron Soft Start. BUT I was able to Map or configure the Cyclic Data in 4 bytes and 2 words separately so the status bits could be read as a bool and the word a %R as a real number. So back to Delta if I map the registers to %R01500 I assumed that R1500 would be 4 bytes long with 32 bits to carry the 32 status registers like i have in the screenshot above delbits.jpg. and the Actual Position Would be %R1502 and read a Real Number but as you can see the number i am getting in above screenshot delactpos.jpg isn't making any sense so i assumed it isn't reading the data as it should or I an overlapping the register content.. Reguards


[FONT=&quot][/FONT][FONT=&quot][/FONT]
 
sjohnson, it is best if you call.
There are too many little gotchas like the big and little endian issue.

It would also be nice to know if the GE has a block like the Rockwell COP block that simply does a image copy of the bit pattern so that is doesn't try to do a data conversion like the MOV command.

Edit, he called.
 
Last edited:
Thanks for the information and it ended up being something not obvious but fairly simple.. Looks like GE Likes the LSB insted of the MSB first as it was as simple as a setting in the controller.. Thanks for Everything and hats off to team Delta, top notch customer Service..
 
Thanks for the information and it ended up being something not obvious but fairly simple.. Looks like GE Likes the LSB insted of the MSB first as it was as simple as a setting in the controller.. Thanks for Everything and hats off to team Delta, top notch customer Service..

Team Viewer works great. I mentioned the big and little endian above in my 4:42 am post. It is a common problem with GE or any PLC that uses x86 CPUs because the Ethernet protocols usually use big endian but the x86 CPU run little endian natively.
 

Similar Topics

How i Can connect Delta plc, with Beckoff remote IO cards?
Replies
1
Views
55
Good day, we have 15 analog inputs, we need to log the data in excel and monitor these values through web browser. We're planning to go with Delta...
Replies
1
Views
77
Hi, We have a customer that has an old DOP-A80THTD1 that is needed to be upgraded Can we upload from these units? Is there a special...
Replies
0
Views
70
Hi Everyone, I am currently trying to communicate ControlLogix PLCs via EtherNet/IP with Delta V DCS. There is a VIM2 card configured for...
Replies
1
Views
177
Does anyone know videos in English with trains for Delta PLC
Replies
1
Views
139
Back
Top Bottom