CiA® 309 series: Accessing CANopen via TCP

As early as 2004, CiA released the CiA 309 series of interface specification for TCP-to-CANopen gateways. The most recent version includes, among other things, user management as well as mapping of CANopen services to the web services with the Restful HTTP and Websocket protocols. The latter links an embedded CANopen network with the Internet of Things.

The CiA 309 series of interface profiles supports CANopen remote access via TCP-based networks

Part 1 describes the general principles and specifies the communication services. Besides some editorial improvements and corrections, version 3.0 provides a general user management service, which can be used in every CiA 309 document parts with their specifics. Additionally, the CiA 309 services are structured according to the addressing types such as physical and logical. Physical addressing means request for reading or writing parameters in the CANopen device by their index and sub-index. This kind of addressing is supported in parts 1 to 4. Logical addressing means request for reading or writing parameters in the CANopen device by abstract technology-independent, system-wide identifiers. This kind of addressing is supported in part 5 only. Logical addressing does not require CANopen technology from the end user but requires an assignment for all CANopen parameters of all devices in the network to the unique system identifiers. This assignment has to be done by the CANopen technician.

The part 1 specifies communication services used to exchange data between a TCP device and a CANopen device, whereby the communication link is established using the CiA 309 gateway device. The CiA 309 series of interface profiles supports CANopen remote access via TCP-based networks.

The user can access every device in the connected CANopen network from a remote controller in a pre-defined manner, using CiA 309 protocols, specified in part 2 to part 5. The TCP-connection is mainly used for remote configuration and remote diagnostic purposes. Real-time communication is done locally.

The user obtains very specific access rights to the gateway with the user management. Not every user can access all supported functions. This eliminates general security issues.

Part 2, released as version 1.3, specifies ModbusTCP messages. In the last review, a Modbus extended exception has been introduced.

Part 3 specifies the ASCII-based protocol for generic access from an Ethernet-TCP-based node to a sub-layered CANopen network. User management is deeply supported in the part 3 starting with version 3.0. There are a couple of CiA 309 gateways on the market. Most of them use ASCII-based protocols on the TCP-side. There are also software packages available providing the necessary protocol stacks for both interfaces as well as gateway programs. They support ModbusTCP as well as ASCII protocols. In subsea applications, CiA 309 gateways are embedded in the so-called “tree”-controllers (described in CiA 443), which links sensor networks on the ocean ground to topside controllers via TCP-based networks.

Part 4 specifies remote access via ProfinetIO. CiA and Profibus International members have developed this specification together. Both associations released it in 2011.

Part 5 specifies the part 3-based mapping of CANopen services to Restful HTTP and Websocket protocols. This part is currently the only one specifying both physical and logical addressing of the CANopen network.

Currently CiA and its members are specifying a mapping of the CANopen network access services to MQTT protocols. For detailed information on the current status, please contact CiA office.

Title Details
CiA 309-3 version 3.0.0CANopen access from other networks - Part 3: ASCII mapping
DescriptionThis part specifies the ASCII-based communication syntax for CiA 309 gateway devices. The aim is to provide a lightweight counterpart to solutions with CORBA or OPC.
DS770 KiB2020-04-06Login
CiA 309-1 version 3.0.0CANopen access from other networks - Part 1: General principles and services
DescriptionThis part specifies the mapping to CANopen communication services to access CANopen networks from the other networks.
DS0.9 MiB2020-04-06Login
CiA 309-2 version 1.3.0CANopen access from other networks - Part 2: Modbus TCP/IP mapping
DescriptionThis specification defines the services and protocols to interface CANopen networks to other (e.g. TCP/IP-based) networks. This set of specifications is organized as follows: Part 1: General principles and services, Part 2: Modbus/TCP mapping, Part 3: ASCII mapping, Part 4: Amendment 7 to Fieldbus Integration into PROFINET IO. Part 2 specifies the mapping of services defined in CiA 309-1 on Modbus/TCP. It is intended to access CANopen devices via a CiA 309 gateway device from a remotely Modbus/TCP connected device (e.g. PLC or tool).
DS1.0 MiB2015-07-30Login
CiA 309-4 version 1.0.0CANopen access from other networks - Part 5: RESTful and WebSocket mapping
DescriptionThis guideline describes the integration of CANopen systems into PROFINET IO. It shall be used as basis for the development of linking devices between CANopen and PROFINET. Base for this document is the general fieldbus integration document [4]. The primary use case is to connect CANopen Devices to PROFINET controllers in that way, that the Linking Device is a modular device and the CANopen Devices are modules within the Linking Device. The elements of the system should behave as described in the PROFINET IO specification.
DSP657 KiB2011-03-01Login