Creating my own DeviceNet Device

boss-eng

Member
Join Date
Jul 2023
Location
Australia
Posts
3
Hi all,

I work for an engineering company in Australia and we use Fanuc robots for numerous manufacturing techniques. At the moment we have just been using Balluff DeviceNet blocks if we need to get I/O in or out of the robot.

However, since DeviceNet is based on CAN Bus I had a thought about attaching an ESP32 directly to the DeviceNet interface via a CAN shield. I am still awaiting the CAN shield to arrive (hopefully not far away) but in the mean time I am trying to punch out most of the code based on theory. And then debug heavily after.

I have created an EDS file using EZEDS wizard. All of that is good, now I just have to work out how Fanuc requests the EDS file or the information from the file so that I can transfer it over and successfully connect.

Thanks heaps,
Jack
 
This is a bear.

You need to know the CIP protocol (thoroughly), and then know how to encapsulate that to work with the DeviceNet physical media/interface.

CIP itself is media-independent, and requires distinct encapsulation to traverse DeviceNet, ControlNet, and EtherNet.
 
Last edited:
Well I guess I'm going to be learning about the CIP protocol. Thanks for the pointer.

As I go on with this project I will try to update major breakthroughs (if I make any) on this forum, as there has been other posts on other forums asking for similar stuff.
 
In my opinion, you will be far better served by relying on a DeviceNet adapter built by one of the industry leaders like HMS Fieldbus or Hilscher.

The Hilscher COMX52, for example, contains all the CAN hardware and a DeviceNet slave implementation, and all you have to do is talk to it over SPI, for which the ESP32 has very good hardware and libraries.

Or the Anybus CompactCom module, which will give you an SPI option, a UART option, a shift register option... all stuff that's much easier to do on a microcontroller.

DeviceNet is an order of magnitude more complicated than something like Modbus RTU. There is a reason you don't see a lot of tinkerers building the stack from scratch on their favorite microcontroller with a CAN daughtercard.
 
Thanks for those links Ken. The Anybus one is my preference after my quick 1hr 30 or so read into the documentation. Seems like it will interface nicely with ESP32 or Raspberry Pi, and also allows to swap out only the card for different communication protocols.

I've started to realise now just how much more complicated DeviceNet is than what I initially expected. On the surface it appears to be simple but gets complicated quick.
 
In my opinion, you will be far better served by relying on a DeviceNet adapter built by one of the industry leaders like HMS Fieldbus or Hilscher.

The Hilscher COMX52, for example, contains all the CAN hardware and a DeviceNet slave implementation, and all you have to do is talk to it over SPI, for which the ESP32 has very good hardware and libraries.

Or the Anybus CompactCom module, which will give you an SPI option, a UART option, a shift register option... all stuff that's much easier to do on a microcontroller.

DeviceNet is an order of magnitude more complicated than something like Modbus RTU. There is a reason you don't see a lot of tinkerers building the stack from scratch on their favorite microcontroller with a CAN daughtercard.

+10^9999 for Hilscher .AND. Anybus. I've often wondered why people make things so hard on themselves, when commercial products are out there that work.
 

Similar Topics

I have created my own standard libraries, but have run in to an issue I hadn't expected. Inside my library file, I have imported other...
Replies
3
Views
4,355
The idea here is to provide for a brief rapid influx of message codes while preventing sequentially repeating the same message. i.e. if two...
Replies
23
Views
700
Hello everyone, In a factory where we installed Citect 7.20 the computer began to show the first signs of end of life. They never considered...
Replies
0
Views
78
Hi everyone, I'm a last year student at the university in Ghent, and for my thesis i need to write a TwinCAT program that writes data to a .daq...
Replies
0
Views
146
When I go to create a new module in Studio 5000 I can't enter any information for the IP Address or change any other fields. Is there any fix to...
Replies
1
Views
256
Back
Top Bottom