Questions & Answers

There are the top ten questions I have answered lately. Let’s review them:

1. What do I need to connect to CANopen or DeviceNet?
To build any CAN device you need two things, a Media Access Controller (MAC) and a transceiver. The MAC is always silicon; either a standalone chip or a part of a microprocessor. The MAC unit handles access to the network. It decides when a bit can be transmitted over the network and manages error checking and things like inter-message delays. The Transceiver is the electrical interface. It converts the digital 1s and 0s to electrical signals on the bus. The transceiver is always a standalone chip in a CAN system.

2. Do I really need to have my EtherNet/IP product certified?
Yes. To get a vendor ID you have to sign an agreement with the ODVA ( The vendor ID is used to display the string name of the product vendor by configuration and diagnostic tools. One of the things the agreement specifies is that you agree to not sell any product that has not passed the ODVA certification tests.

3. What is the difference between an Ethernet Client and an Ethernet Server?
In an industrial system, a Client device makes connections with a number of server devices. Clients are typically devices like PLCs, HMIs and PC Systems. Servers are devices that wait for a Client connection. Servers exchange control and I/O data with a Client. Servers are devices like I/O blocks, Valve blocks, drives and other sensors.

4. How Can RTA’s Source Code Stacks work with so many different platforms?
When we built our CANopen, DeviceNet, EtherNet/IP, Modbus TCP and other source code stacks we built them for lots of different users in lots of different applications. We knew that some people would want to build systems around low end 8-bit controllers with no OS. Some would want to build systems using 32-bit systems with no OS. And others would want to build systems on high end processors with operating systems like Windows, Linux and VxWorks. To achieve that we implemented systems that used ANSI C, required nothing from the OS other than a 10-msec ticker and embedded all the interface code (CAN interface or Ethernet TCP/IP Stack) in a single C file. We built the system to support big endian or little endian and have absolutely no platform dependencies.

5. Where do I get EtherCAT source code?
This seems to be a common misunderstanding. EtherCAT is like Profibus, CAN and Profinet IRT. It requires a low level ASIC to handle all the network data exchanges. There is no source code. In fact, a processor is not always required. We’ve just implemented and EtherCAT system that uses a Freescale DZ to preprocess all the I/O and deliver it to the EtherCAT ASIC over SPI (Serial Peripheral Interface). Click EtherCAT Overview for my complete overview of EtherCAT.

6. Can I use BACnet IP to capture millisecond by millisecond power data?
No, BACnet is a request – response protocol. A Client device requests data from a Server device. The more data in the server, the more messages required and more time is required. With CSMA collision detection on busy subnets there is no way to predict when a message might be transmitted to collecting data with BACnet IP is difficult from multiple perspectives.

7. What is the difference between BACnet IP, BACnet Tunneling and BACnet MSTP?
The Tunneling version is a version of BACnet in which a device can send Ethernet messages without using a TCP/IP stack. The BACnet IP version is the one that uses Ethernet TCP messages to send and receive messages. The MSTP version is the RS485 version of BACnet. Click BACnet Overview for a complete description of BACnet.

8. How do I control how fast I send data to a PLC using EtherNet/IP?
The answer is that you don’t. A PLC is nearly always the Client in an EtherNet/IP network. When an EtherNet/IP Client creates a connection with a Server it indicates to the Server how often outputs will be transmitted to the Server and how often it expects the Server to transmit inputs to it. This timeframe is usually 10 or 20msecs but could be as low as 5msecs.

9. If I have a DeviceNet or EtherNet/IP device certified, when does it have to be recertified?
You really need to check with the ODVA but as I understand it, whenever you have a major new software release, you need to recertify. That means scheduling a retest and paying for another test. Unofficially, no one really does that. Instead, they buy the EtherNet/IP or DeviceNet Conformance test software tool and perform the retest themselves.

10. How often do you update your EtherNet/IP Source Code or DeviceNet source code?
In practice, almost never. The ODVA controls the specification and the specification only changes in the most dire of circumstances. Once you have a product that conforms to the specification there is no reason to make any upgrades or modifications. There is no new functionality. After all the years we have had this code there are rarely any bug fixes so updates to the source code are far and few in between.