Industrial Networks: Open Source

工业网络啊ptions are many. If modifications are desired beyond the commercially available industrial network, suppliers offer commercial products that support protocols. In some cases, open source options may be a more viable option. Probably due to the cost of commercial products, many companies decide to start developing their own protocol stack.

By R.A. Hulsebos, Delem August 1, 2009

工业网络啊ptions are many. If modifications are desired beyond the commercially available industrial network, suppliers offer commercial products that support protocols. In some cases, open source options may be a more viable option.

Probably due to the cost of commercial products, many companies decide to start developing their own protocol stack. Often this turns out to be a bad decision, since the necessary effort is always much larger than initially expected.

CANis a protocol whose number of installed nodes surpass any other protocol by a very, very wide margin. However a disadvantage of CAN is that there is a large number of protocols, which are mutually incompatible with each other. Hence, it is important to check that a certain “CAN” protocol stack implements the protocol needed.

CANFestivalsoftware delivers a CAN/Open framework, usable on Linux, Windows and two microcontrollers, for a number of CAN-boards sold by well-known suppliers. It provides an ANSI-C portable protocolstack that can be used on master or slave nodes.

EtherCATrequires dedicated hardware in the network slaves; no open-source implementation exists here. The master module can work with a standard Ethernet controller.

Etherlab: Etherlab is the name of a product sold by the German company IgH, combining hardware and software for test and automation purposes. One of the components of Etherlab is an EtherCAT master, supporting four (Realtek, Intel) Ethernet-controllers running on Linux (even without real-time extension). Their Website (www.etherlab.org) provides a list of all EtherCAT features that are supported.

EtherNet/IP: For EtherNet/IP (Industrial Protocol), an implementation is available from the user’s group ODVA (Open DeviceNet Vendors Association). It provides a complete set of functions for the CIP (Common Industrial Protocol) part of EtherNet/IP, the remainder being standard Ethernet functionality. The V7 implementation only supports Microsoft Windows, but OS-dependent sections in the code are marked. The code has passed ODVA’s own conformance test, meaning that the implementation can be relied upon to match the specification.

Ethernet Powerlink用户组是第一组:Powerlink who has officially released an open-source implementation of its own protocol, called “openPowerlink,” in an effort to boost the protocol’s popularity against major competitors. The software has been developed by the German company SysTec, which still actively maintains and distributes it. OpenPowerlink contains the Linux-based protocol stack for a Powerlink “managing node” (the master) and for the “controlled nodes” (the slaves). The implementation has been tested to conform to the current official Powerlink specification V1.1.0.

HurriCANeis an VHDL implementation of the basic CAN (OSI-layer 2) protocol. Unfortunately, the license-holder (the European Space Agency), no longer allows use of HurriCANe 5.2.4 except for ESA-related projects. Nevertheless, the documentation and a simulation model for ModelSIM are still available. The availability of open-source hardware for CAN falls outside the scope of this article; seewww.opencores.orgfor more information.

MicroCANOpenis a spin-off of a commercial product made by U.S./German company Embedded Systems Academy. It is a “minimal” CAN/Open implementation, that can even run on resource-constrained 8-bit microcontrollers. Nevertheless it still has an impressive set of features which will satisfy many applications. MicroCANOpen may be used in commercial products after paying a modest license fee.

Modbus/RTUandModbus/TCP: Modbus是最受欢迎的工业职业之一tocols. It is therefore not surprising that a lot of open-source implementations are available for all sorts of programming languages, operating systems, and platforms. Even when there is no implementation fitting your particular need, it is usually not difficult to modify an existing implementation (even starting from scratch).

Profinet: The Profibus user’s group is one of the few groups not actively supporting open-source implementations of its own protocols (Profibus and Profinet). For the older Profinet/CBA (component based automation) an ‘implementation example’ written by Siemens for Linux is available, but only for members of the user’s group. There are also several licensing restrictions.

RTNet: “Real-time Net,” originally developed by Hannover University, is a hard real-time network protocol stack for the real-time Linux extensions Xenomai and RTAI. It makes use of standard Ethernet (100 Mbit/s and Gbit) or Firewire controllers. RTNet is not known to be used widely in industrial control applications, but its hard real-time capabilities without requiring special hardware might make it useful.

SERCOS IIIis the Ethernet-wired successor of SERCOS II; both are intended to be used for high-speed motion applications. Although no open-source protocol stack for SERCOS III exists today, this will change shortly. The “SERCOS International” user’s group announced at Hannover Fair 2009 that a SERCOS III master stack will be made available for Linux.

The protocol stack will be developed in cooperation with the Open Source Automation Development Lab (OSADL), which promotes the usage of open-source software for machine and plant control systems.

Simple Open EtherCAT Master (SOEM): SOEM is written by (Dutch) Ethercat-guru Arthur Keetels, who uses EtherCAT in his own machines and started to donate his efforts to the open-source community to further popularize EtherCAT. The name suggests a basic implementation of EtherCAT, and though this may have been true 5 years ago, it is no longer the case (however, the name stuck).

SOEM is originally written in Delphi and runs on a standard desktop PC using Microsoft Windows; a C-port is also available for Linux.

工业网络啊pen source software
Sampling of solutions

Protocol Implementation Platform Availability Website
BACNet Various Windows, Linux Free download bacnet.sourceforge.net
CAN HurriCANe VHDL Limited www.esa.int/TEC/Microelectronics
CANFestival Various Free download www.canfestival.org
MicroCANOpen Various Free download after registration www.microcanopen.com
EtherCAT EML eCos Limited ethercatmaster.berlios.de
Etherlab Linux Free download www.etherlab.org
SOEM Linux Free download soem.berlios.de
Windows Upon request smfk.nl
EtherNet/IP ODVA Microsoft Windows Free download after registration www.odva.org
Modbus/RTU and TCP Various Various Free download www.modbus.org, en.wikipedia.org/wiki/Modbus ,www.freemodbus.org
Powerlink Systec Linux Free download openpowerlink.sourceforge.net
ProfiNet/CBA Profibus User Group Linux Members of Profibus only www.profibus.com
RTNet RTNet Linux Free download www.rtnet.org
SERCOS III User Group Linux Announced www.sercos.com
ZigBee Unknown Announced www.freaklabs.org
Author Information
Rob Hulsebos is a software engineer with 20 years’ experience in machine building, embedded software, and industrial networks. He works at Delem (www.delem.com), a provider of computer numeric controls for sheet metal machines and is a freelance instructor and author about fieldbus technologies. Reach him atr.hulsebos@onsnet.nu.
Author Information
Rob Hulsebos is a software engineer with 20 years’ experience in machine building, embedded software, and industrial networks. He works at Delem (www.delem.com), a provider of computer numeric controls for sheet metal machines and is a freelance instructor and author about fieldbus technologies. Reach him atr.hulsebos@onsnet.nu.