How to Configure RevPi Gate for DeviceNet

Setting MAC-ID and Bitrate

The MAC-ID and bitrate are assigned in binary format.

You can set the MAC ID via the DIP switches 1-32, and via switches S1 and S2 you can set the bitrate.

Set an address switch to “OFF” to switch bit value 0 or to “ON” to switch bit value 1.

Valid value range for the bitrate:

Valid value range for the MAC-ID: 0-63

Switch Setting Value
Switch 1: OFF,
Switch 2: OFF
125 kbit/s
Switch 1: ON,
Switch 2: OFF
250 kbit/s
Switch 1: OFF,
Switch 2: ON
500 kbit/s
Switch 1: ON,
Switch 2: ON
Automatic bit rate detection

Example: Here, you can see the switch setting for the MAC address 42 and the bitrate 500 kBit/s.

Designation S2 S1 32 16 8 4 2 1
Switch setting on off on off on off on off

DeviceNet Objects

To configure the gateway component, you have to make the appropriate settings in the DeviceNet objects with the configuration software of your Device master.

Object structure

DeviceNetTM uses the application layer CIPTM (Common Industrial Protocol) that was specified by the ODVA (Open DeviceNet Vendor Association – http://www.odva.org). Physically based DeviceNet on CAN (Controller Area Network).

CIP is a connection oriented protocol. It allows the exchange of I/O data via cyclical I/O messages and the exchange of general data for configuration, diagnosis and Management via explicit messages. For this purpose, CIP defines 4 essential functions:

  • Uniform object model for addressing data
  • Uniform communication model for exchanging data
  • Uniform configuration methods
  • Uniform device profiles

Each DeviceNet device is characterized by a collection of objects. Each object has a defined behavior. Each object belongs to a class. Objects belonging to the same class are called instances of this class. Data elements within an object are called attributes. All attributes can be addressed with class, instance and attribute IDs. Services are explicit tasks that an object can execute.

The following sections describe which objects, attributes and services are supported by the gateway component.
Class Code 0x01Hex

This class contains information about the identification of the module.

The gateway component supports the following functions in this class:

Get Attribute Single (0x0e): 
This function returns the content of certain attributes.
Reset Service (0x05):

  • Type 0: The module restarts the DeviceNet Software.
  • Type 1: The module is reset to the original settings.

The RevPi Gate supports the following services in the instances:
Instance 0

# Name Access Type Value
1 Revision Get UINT 0x1

Instance 1

# Name Access Type Description
1 Vendor ID Get UINT 1168 (KUNBUS GmbH Industrial Communication)
2 Device Type Get UINT 0x00c
3 Product Code Get UINT 0x0049 (73)
4 Revision Get STRUCTof: Version number
Major USINT Main version
Minor USINT Sub-version number
5 Status Get WORD s. Table Device Status
6 Serial number Get UDINT Assigned by KUNBUS during the production process.
7 Product name Get SHORT_STRING KUNBUS-mGate DeviceNet

 

Bit(s) Name
0 These is a connection to the master/scanner
1 Reserved (set to 0)
2 Configured (always set to 0)
3 Reserved (set to 0)
4-7

0000b

0010b

0011b

0100b

0110b

0111b

Others

Extended Device Status

Unknown

Timeout

No IO connection established

Not implemented

Connection in Run mode

Connection in idle mode

Reserved

8 A recoverable error has occurred
9 An unrecoverable error has occurred
10 A serious recoverable error has occurred
11 A serious unrecoverable error has occurred
12-15 Reserved (set to 0)

Table “Device Status”
Class Code 0x02 Hex

This class represents a communication connecting point. This allows a service to be triggered in any class or instance.
Class Code 0x03 Hex

In this class you will find information about the configuration and status of a DeviceNet port.The gateway component supports the following functions in this class:
Class Services

  • Get Attribute Single (0x0e)

Instance Services

  • Get Attribute Single (0x0e)
  • Set Attribute Single (0x10)
  • Allocate Master/Slave Connection Set (0x4b)
  • Release Master/Slave Connection Set (0x4c)

RevPi Gate supports the following data in this class:
Instance 0

# Name Access Type Value
1 Revision Get UINT 0x2

Instance 1

# Name Access Type Description
1 MAC ID Get USINT Value range 0–63.

Default value: 63

You can set the MAC-ID on the DIP Switches.

2 Bit rate Get USINT Value Range

0 = 125 kBit/s

1 = 250 kBit/s

2 = 500 kBit/s

3 = Automatic bitrate detection

Default value: 125 kBit/s

You can set the bitrate on the DIP Switches.

3 BOI Get/Set BOOL Bus–Off Interrupt
4 Bus–Off Counter Get/Set USINT This value indicates how often the module changes to the Off state.

Value range 0-255

5 Allocation Information Get STRUCTof: You can find further information in the DeviceNet specifications volume 3, in section 5.11.
Allocation Choice Byte BYTE
Master’s MAC ID USINT Value range 0–63, 255 MAC ID from the master Change is only possible by allocation from the master.
6 MAC ID Switch Changed Get BOOL This value indicates whether the node ID has been changed since the last restart.

0 = No change

1 = Change since the last start

7 Bit Rate Switch Changed Get BOOL This value indicates whether the bitrate has been changed since the last restart

0 = No change

1 = Change since the last start

8 MAC ID Switch Value Get USINT Current values of the switches for the node ID Value range 0-99
9 Bit Rate Switch Value Get USINT Current values of the switches for the bitrate.

Value range 0–9

10 Quick_Connect Get/Set BOOL Activates or deactivates Quick Connect.

0 = Deactivated

1 =Activated

Class Code 0x04 Hex

This object enables you to access the input and output data.The gateway component supports the following functions in this class:

Class Services
• Get Attribute Single (0x0e)
Instance Services
• Get Attribute Single (0x0e)
• Set Attribute Single (0x10)
RevPi Gate supports the following data in this class:
Instance 0

# Name Access Type Value
1 Version Get UINT 0x0001

Instance 0x64

# Name Access Type Value
3 Data Get Array of BYTE Enables access to the input data area
4 Lengh Get UNIT Length of the input and output data area

Instance 0x96

# Name Access Type Value
3 Data Get/Set Array of BYTE Enables access to the output data area

Class Code 0x05 Hex

The gateway component supports the following functions in this class:
Class Services
• Get Attribute Single (0x0e)
Instance Services
• Get Attribute Single (0x0e)
• Set Attribute Single (0x10)

The gateway component supports the following data in this class:

Instance 0

# Name Access Type Value
1 Version Get UINT 0x0002

Instance 1

# Name Access Type Description
1 State Get USINT State of the object

3: Established

5: Delete latent objects

2 Instance type Get USINT Indicates whether it is an I/O connection or explicit Connection.
3 TransportClass trigger Get BYTE Defines the behavior of the connection
4 DeviceNet produced connection id Get UINT Positioned in CAN identifier field if data is transmitted via the existing connection in a DeviceNet- Subnet.
5 DeviceNet consumed connection id Get UINT Value is in the CAN Identifier field. It signals that messages can be received.
6 DeviceNet  initial comm characteristics Get BYTE Defines the message group of this connection based on production and consumption.
7 Produced connection size Get UINT Maximum number of bytes that were transmitted via this connection
8 Consumed connection size Get UINT Maximum number of bytes that were received via this connection
9 Expected packet rate Get/Set UINT Defines the timing of the current connection
12 Watchdog timeout action Get/Set USINT Controls the behavior during inactivity and Watchdog Timeouts
13 Produced connection path length UINT Number of bytes of the attribute “Produced_connection_path”
14 Produced connection path Packed EPATH Displays the application object(s) whose data was produced in the current Connection.
15 Consumed connection path length UINT Number of bytes of the attribute “Consumed_connection_path”
16 Consumed connection path Packed EPATH Displays the application object(s) whose data was used in the current Connection.

Instance 2

# Name Access Type Description
1 State Get USINT State of the object

3: Established

5: Delete latent objects

2 Instance type Get USINT Indicates whether it is an I/O connection or explicit Connection.
3 TransportClass trigger Get BYTE Defines the behavior of the connection
4 DeviceNet produced connection id Get UINT Positioned in CAN identifier field if data is transmitted via the existing connection in a DeviceNet- Subnet.
5 DeviceNet consumed connection id Get UINT Value is in the CAN Identifier field. It signals that messages can be received.
6 DeviceNet initial comm characteristics Get BYTE Defines the message group of this connection based on consumption and production.
7 Produced connection size Get UINT Maximum number of bytes that were transmitted via this connection
8 Consumed connection size Get UINT Maximum number of bytes that were received via this connection
9 Expected packet rate Get/Set UINT Defines the timing of the current connection
12 Watchdog timeout action Get/Set USINT Controls the behavior during inactivity and Watchdog Timeouts
13 Produced connection path length UINT Number of bytes of the attribute “Produced_connection_path”
14 Produced connection path Packed EPATH Displays the application object(s) whose data was produced in the current Connection.
15 Consumed connection path length UINT Number of bytes of the attribute “Consumed_connection_path”
16 Consumed Connection path Packed EPATH Displays the application object(s) whose data was used in the current Connection.

Instance 3

# Name Access Type Description
1 State Get USINT State of the object

3: Established

5: Delete latent objects

2 Instance type Get USINT Indicates whether it is an I/O connection or explicit Connection.
3 TransportClass trigger Get BYTE Defines the behavior of the connection
4 DeviceNet produced connection id Get UINT Positioned in CAN identifier field if data is transmitted via the existing connection in a DeviceNet- Subnet.
5 DeviceNet consumed connection id Get UINT Value is in the CAN Identifier field. It signals that Messages can be received.
6 DeviceNet initial comm characteristics Get BYTE Defines the message group of this connection based on consumption and production.
7 Produced connection size Get UINT Maximum number of bytes that were transmitted via this connection
8 Consumed connection size Get UINT Maximum number of bytes that were received via this connection
9 Expected packet rate Get/Set UINT Defines the timing of the current connection
12 Watchdog timeout action Get/Set USINT Controls the behavior during inactivity and Watchdog Timeouts
13 Produced connection path length UINT Number of bytes of the attribute “Produced_connection_path”
14 Produced connection path Packed EPATH Displays the application object(s) whose data was produced in the current Connection.
15 Consumed connection path length UINT Number of bytes of the attribute “Consumed_connection_path”“
16 Consumed connection path Packed EPATH Displays the application object(s) whose data was used in the current Connection.

Instance 4

# Name Access Type Description
1 State Get USINT State of the object

3: Established

5: Delete latent objects

2 Instance type Get USINT Indicates whether it is an I/O connection or explicit Connection.
3 TransportClass trigger Get BYTE Defines the behavior of the connection
4 DeviceNet produced connection id Get UINT Positioned in CAN identifier field if data is transmitted via the existing connection in a DeviceNet- Subnet
5 DeviceNet consumed connection id Get UINT Value is in the CAN Identifier field. It signals that messages can be received.
6 DeviceNet initial comm characteristics Get BYTE Defines the message group of this connection based on consumption and production.
7 Produced connection size Get UINT Maximum number of bytes that were transmitted via this connection
8 Consumed connection size Get UINT Maximum number of bytes that were received via this connection
9 Expected packet rate Get/Set UINT Defines the timing of the current connection
12 Watchdog timeout action Get/Set USINT Controls the behavior during inactivity and Watchdog Timeouts
13 Produced connection path length UINT Number of bytes of the attribute “Produced_connection_path”
14 Produced connection path Packed EPATH Displays the application object(s) whose data was produced in the current Connection.
15 Consumed connection path length UINT Number of bytes of the attribute “Consumed_connection_path”
16 Consumed connection path Packed EPATH Displays the application object(s) whose data was used in the current Connection.
17 Production inhibit time UINT Defines the minimum time between the data productions. This attribute is necessary for all I/O client connections. Excluded from this are connections with cyclical production Triggers.

Instance 10-12

# Name Access Type Description
1 State Get USINT State of the object

3: Established

5: Delete latent objects

2 Instance type Get USINT Indicates whether it is an I/O connection or explicit connection.
3 TransportClass trigger Get BYTE Defines the behavior of the connection.
4 DeviceNet produced connection id Get UINT Positioned in CAN identifier field if data is transmitted via the existing connection in a DeviceNet- Subnet.
5 DeviceNet consumed connection id Get UINT Value is in the CAN Identifier field. It signals that messages can be received.
6 DeviceNet initial comm characteristics Get BYTE Defines the message group of this connection based on consumption and production.
7 Produced connection size Get UINT Maximum number of bytes that were transmitted via this connection
8 Consumed connection size Get UINT Maximum number of bytes that were received via this connection
9 Expected packet rate Get/Set UINT Defines the timing of the current connection
12 Watchdog timeout action Get/Set USINT Controls the behavior during inactivity and Watchdog Timeouts

Class Code 0x2b Hex – Acknowledge Handler Object

The gateway component supports the following functions in this class:
Class Service

  • Get Attribute Single (0x0e): This function resets the content of certain attributes.

Instance Services

  • Get Attribute Single (0x0e): This function resets the content of certain attributes.
  • Set Attribute Single (0x10): This function changes the value of an attribute

The gateway component supports the following data in this class:

Instance 0

# Name Access Type Value
1 Version Get UINT 0x0001
2 Max Instance Get UINT 0x0001

Instance 1

# Name Access Type Description Value
1 Acknowledge Timer Get/Set UINT Waiting time for the acknowledgement Value range 1-65, 535 ms 0=invalid default value: 16
2 Retry Limit Get/Set USINT Number of timeouts to be expected. Afterwards, a message is sent to the controller reporting that the repetition limit was exceeded Default value: 1
3 Producing Connection Instance Get/Set UINT Connection instance containing the path of the production data which have sent an acknowledge to the Controller. Default value: 4
4 Ack List Size Get BYTE Maximum number of participating instances in the acknowledge list. 1
5 Ack List Get Array of USINT List of all active connection instances containing acknowledges. N/A
6 Data with Ack Path List Size Get BYTE Maximum number of participants from the attribute “Data with Ack Path List” 1
7 Data with Ack Path List Get Array of USINT List of all connection participants. Used to forward data that was received with an acknowledge N/A

Class Code Hex 0xa0 – I/O Data Input Mapping

In this object you have the option to access the I/O data. The process data input area is distributed here to the various attributes in instance 1 of this class.

You can also access these values via class 3, instance 0x96-0x9a.

The gateway component supports the following functions in this class:

Class Services
•Get Attribute Single (0x0e): This function resets the content of certain attributes
Instance Services
•Get Attribute Single (0x0e): This function resets the content of certain attributes.

The gateway component supports the following data in this class:
Instance 0

# Name Access Type Value
1 Version Get UINT 0x0001

Instance 1

# Name Access Type Value
1 Data Get/Set Array of USINT The first 64 bytes of the process data input area

Also available in instance 0x64

2-8 Data Get/Set Array of USINT Not used

Class Code Hex 0xa1 – I/O Data Input Mapping

In this object you have the option to access the I/O data. The process data output area is distributed here to the various attributes in instance 1 of this class.

You can also access these values via the assembly object.

The gateway component supports the following functions in this class:
Class Services
•Get Attribute Single (0x0e): This function resets the content of certain attributes.
Instance Services
•Get Attribute Single (0x0e): This function resets the content of certain attributes.

The gateway component supports the following data in this class:
Instance 0

# Name Access Type Value
1 Version Get UINT 0x0001

Instance 1

# Name Access Type Description
1 Data Get/Set Array of USINT The first 64 bytes of the process data input area

Also available in instance 0x64

2-8 Data Get/Set Array of USINT Not in use

Class 0xa2 – I/O Data Output Mapping

With this object you can poll data via the partner gateway component.

The gateway component supports the following functions in this class:
Class Services

  • Get Attribute Single (0x0e)

Instance Services

  • Get Attribute Single (0x0e)
  • Set Attribute Single (0x10)

The gateway component supports the following data in this class:
Instance 0

# Name Access Type Value
1 Version Get UINT 0x0001

Instance 1

# Name Access Type Description
1 Type ID Get Array of USINT Type ID of the partner gateway
2 Input Size Get Array of USINT Input size of the Partner gateway
3 Output Size Get Array of USINT Output size of the partner gateway
4 Bus State Get Array of USINT State of the fieldbus connection of the partner gateway component

0: No physical connection to the fieldbus. Check that the connectors are properly connected.

1: The module is correctly connected, but not yet ready for communication with the fieldbus. Check that the communication parameters are set correctly

2: The module is ready for communication, but does not currently exchange cyclic data with the fieldbus.

3: Cyclic data Exchange

Not valid, if a RevPi Core is used as a partner module.