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. |