Objects and Data
Device type
Device type
The 32 bit value is divided into two 16 bit fields:
The additional information contains data related to the signal type of the I/O device:
z=1 signifies digital inputs,
y=1 signifies digital outputs,
x=1 signifies analog inputs,
w=1 signifies analog outputs.
A BK5120 with digital and analog inputs, but with no outputs, thus returns 0x00 05 01 91.
Special terminals (such as serial interfaces, PWM outputs, incremental encoder inputs) are not considered. A Coupler that, for example, only has KL6001 serial interface terminals plugged in, thus returns 0x00 00 01 91.
The device type supplies only a rough classification of the device. The terminal identifier register of the Bus Coupler can be read for detailed identification of the Bus Couplers and the attached terminals (for details see register communication index 0x4500).
Error register
Error register
The 8 bit value is coded as follows:
ManSpec. Manufacturer-specific error, specified more precisely in object 1003.
Comm. Communication error (CAN overrun)
Generic An error that is not more precisely specified has occurred (the flag is set at every error message)
Error store
Error store
The 32 bit value in the error store is divided into two 16 bit fields:
The additional code contains the error trigger (see emergency object) and thereby a detailed error description.
New errors are always saved at sub-index 1, all the other sub-indices being appropriately incremented. The whole error store is cleared by writing a 0 to sub-index 0.
If there has not been an error since power up, then object 0x1003 only consists of sub-index 0 with a 0 entered into it. The error store is cleared by a reset or a power cycle.
As is usual in CANopen, the LSB is transferred first, followed by the MSB.
Sync Identifier
Sync Identifier
The bottom 11 bits of the 32 bit value contain the identifier (0x80=128 dec). Bit 30 indicates whether the device sends the SYNC telegram (1) or not (0). The CANopen I/O devices receive the SYNC telegram, and accordingly bit 30=0. For reasons of backwards compatibility, bit 31 has no significance.
Sync Interval
Sync Interval
If a value other than zero is entered here, the bus node will go into the fault state if, during synchronous PDO operation, no SYNC telegram is received within the watchdog time. The watchdog time corresponds here to 1.5 times the communication cycle period that has been set - the planned SYNC interval can therefore be entered.
The I/O update is carried out at the Beckhoff CANopen bus nodes immediately after reception of the SYNC telegram, provided the following conditions are satisfied:
- Firmware status C0 or above (CANopen Version 4.01 or higher).
- All PDOs that have data are set to synchronous communication (0..240).
- The sync interval has been entered in object 0x1006 and (sync interval x lowest PDO transmission type) is less than 90ms.
The modules are then synchronised throughout.
Device name
Device name
Since the returned value is longer than 4 bytes, the segmented SDO protocol is used for transmission.
Hardware version
Hardware version
Since the returned value is longer than 4 bytes, the segmented SDO protocol is used for transmission.
Software version
Software version
Since the returned value is longer than 4 bytes, the segmented SDO protocol is used for transmission.
Node number
Node number
The node number is supported for reasons of compatibility.
Guard time
Guard time
Life time factor
Life time factor
If a guarding telegram is not received within the life time, the node enters the error state. If the life time factor and/or guard time = 0, the node does not carry out any life guarding, but can itself be monitored by the master (node guarding).
Guarding identifier
Guarding identifier
The guarding identifier is supported for reasons of compatibility. Changing the guarding identifier has no longer been permitted since version 4 of CANopen.
Save parameters
Save parameters
By writing the string save in ASCII code (hexadecimal 0x65766173) to sub-index 1, the current parameters are placed into non-volatile storage. (The byte sequence on the bus including the SDO protocol: 0x23 0x10 0x10 0x01 0x73 0x61 0x76 0x65).
The storage process takes about 3 seconds, and is confirmed, if successful, by the corresponding TxSDO (0x60 in the first byte). Since the Bus Coupler is unable to send or receive any CAN telegrams during the storage process, saving is only possible when the node is in the pre-operational state. It is recommended that the entire network is placed into the pre-operational state before such storage. This avoids a buffer overflow.
Data saved includes:
- ▪
- The terminals currently inserted (the number of each terminal category)
- ▪
- All PDO parameters (identifier, transmission type, inhibit time, mapping).
- ▪
- All SYNC parameters
- ▪
- All guarding parameters
- ▪
- Limit values, delta values and interrupt enables for analog inputs
Parameters directly stored in the terminals by way of register communication are immediately stored there in non-volatile form.
Load default values
Load default values
Writing the string load in ASCII code (hexadecimal 0x64616F6C) into sub-index 1 resets all parameters to default values (as initially supplied) at the next boot (reset).
(The byte sequence on the bus including the SDO protocol: 0x23 0x11 0x10 0x01 0x6C 0x6F 0x61 0x64).
This makes the default identifiers for the PDOs active again.
Emergency identifier
Emergency identifier
The bottom 11 bits of the 32 bit value contain the identifier (0x80=128 dec). The MSBit can be used to set whether the device sends (1) the emergency telegram or not (0).
Alternatively, the bus node's diagnostic function can also be switched off using the Device diagnostics bit in the K-Bus configuration (see object 0x4500).
Consumer heartbeat time
Consumer heartbeat time
The 32-bit value is used as follows:
The monitored identifier can be obtained from the node ID by means of the default identifier allocation: Guard-ID = 0x700 + Node-ID.
As is usual in CANopen, the LSB is transferred first, followed by the MSB.
Producer heartbeat time
Producer heartbeat time
Device identifier (identity object)
Device identifier (identity object)
Server SDO parameters
Server SDO parameters
This is contained in the object directory for reasons of backwards compatibility.
Communication parametersfor the 1st RxPDO
for the 1st RxPDOCommunication parameters
Sub-index 1 (COB-ID): The bottom 11 bits of the 32 bit value (bits 0-10) contain the CAN identifier. The MSB (bit 31) indicates whether the PDO exists currently (0) or not (1). Bit 30 indicates whether an RTR access to this PDO is permissible (0) or not (1). Changing the identifier (bits 0-10) is not allowed while the object exists (bit 31=0). Sub-index 2 contains the type of the transmission (see introduction to PDOs).
Communication parametersfor the 2nd RxPDO
for the 2nd RxPDOCommunication parameters
Communication parametersfor the 3rd RxPDO
for the 3rd RxPDOCommunication parameters
Communication parametersfor the 4th RxPDO
for the 4th RxPDOCommunication parameters
Communication parametersfor the 5th-16th RxPDOs
for the 5th-16th RxPDOsCommunication parameters
The number of RxPDOs for each bus node type can be found in the technical data.
Mapping parametersfor the 1st RxPDO
for the 1st RxPDOMapping parameters
The first receive PDO (RxPDO1) is provided by default for digital output data. Depending on the number of outputs inserted, the necessary length of the PDO is automatically determined, and the corresponding objects are mapped. Since the digital outputs are organised in bytes, the length of the PDO in bytes can be found directly at sub-index 0.
Changes to the mapping
The following sequence must be observed in order to change the mapping (specified as from CANopen, version 4):
- 1.
- Delete PDO (set bit 31 in the identifier entry (sub-index 1) of the communication parameters to 1)
- 2.
- Deactivate mapping (set sub-index 0 of the mapping entry to 0)
- 3.
- Change mapping entries (sub-indices 1...8)
- 4.
- Activate mapping (set sub-index 0 of the mapping entry to the correct number of mapped objects)
- 5.
- Create PDO (set bit 31 in the identifier entry (sub-index 1) of the communication parameters to 0)
Mapping parametersfor the 2nd RxPDO
for the 2nd RxPDOMapping parameters
The second receive PDO (RxPDO2) is provided by default for analog outputs. Depending on the number of outputs inserted, the necessary length of the PDO is automatically determined, and the corresponding objects are mapped. Since the analog outputs are organised in words, the length of the PDO in bytes can be found directly at sub-index 0.
A specific sequence must be observed in order to change the mapping (see object index 0x1600).
Mapping parametersfor the 3rd-16th RxPDO
for the 3rd-16th RxPDOMapping parameters
The 3rd to 16th receive PDOs (RxPDO3ff) are automatically given a default mapping by the bus node depending on the attached terminals (or depending on the extension modules). The procedure is described in the section on PDO Mapping.
A specific sequence must be observed in order to change the mapping (see object index 0x1600).
Communication parametersfor the 1st TxPDO
for the 1st TxPDOCommunication parameters
Sub-index 1 (COB-ID): The bottom 11 bits of the 32 bit value (bits 0-10) contain the CAN identifier. The MSB (bit 31) indicates whether the PDO exists currently (0) or not (1). Bit 30 indicates whether an RTR access to this PDO is permissible (0) or not (1). Changing the identifier (bits 0-10) is not allowed while the object exists (bit 31=0). Sub-index 2 contains the type of transmission, sub-index 3 the repetition delay between two PDOs of the same type, while sub-index 5 contains the event timer. Sub-index 4 is retained for reasons of compatibility, but is not used. (See also the introduction to PDOs.)
Communication parametersfor the 2nd TxPDO
for the 2nd TxPDOCommunication parameters
The second transmit PDO is provided by default for analog inputs, and is configured for event-driven transmission (transmission type 255). Event-driven mode must first be activated (see object 0x6423), otherwise the inputs can only be interrogated (polled) by remote transmission request (RTR).
Communication parametersfor the 3rd TxPDO
for the 3rd TxPDOCommunication parameters
The third transmit PDO contains analog input data as a rule (see Mapping). It is configured for event-driven transmission (transmission type 255). Event-driven mode must first be activated (see object 0x6423), otherwise the inputs can only be interrogated (polled) by remote transmission request (RTR).
Communication parametersfor the 4th TxPDO
for the 4th TxPDOCommunication parameters
The fourth transmit PDO contains analog input data as a rule (see Mapping). It is configured for event-driven transmission (transmission type 255). Event-driven mode must first be activated (see object 0x6423), otherwise the inputs can only be interrogated (polled) by remote transmission request (RTR).
Communication parametersfor the 5th-16th TxPDOs
for the 5th-16th TxPDOsCommunication parameters
Mapping 1st TxPDO
Mapping 1st TxPDO
The first transmit PDO (TxPDO1) is provided by default for digital input data. Depending on the number of inputs inserted, the necessary length of the PDO is automatically determined, and the corresponding objects are mapped. Since the digital inputs are organised in bytes, the length of the PDO in bytes can be found directly at sub-index 0.
A specific sequence must be observed in order to change the mapping (see object index 0x1600).
Mapping 2nd TxPDO
Mapping 2nd TxPDO
The second transmit PDO (TxPDO2) is provided by default for analog input data. Depending on the number of inputs inserted, the necessary length of the PDO is automatically determined, and the corresponding objects are mapped. Since the analog inputs are organised in words, the length of the PDO in bytes can be found directly at sub-index 0.
A specific sequence must be observed in order to change the mapping (see object index 0x1600).
Mapping 3rd-16th TxPDO
Mapping 3rd-16th TxPDO
The 3rd to 16th transmit PDOs (TxPDO3ff) are automatically given a default mapping by the bus node depending on the attached terminals (or depending on the extension modules). The procedure is described in the section on PDO Mapping.
A specific sequence must be observed in order to change the mapping (see object index 0x1600).
For the sake of completeness, the following object entries are also contained in the object directory (and therefore also in the EDS files):
3-byte special terminals, input data
3-byte special terminals, input data
Example of special terminals with 3-byte input data (in the default setting): KL2502 (PWM outputs, 2 x 3 bytes)
3-byte special terminals, output data
3-byte special terminals, output data
Example of special terminals with 3-byte output data (in the default setting): KL2502 (PWM outputs, 2 x 3 bytes)
4-byte special terminals, input data
4-byte special terminals, input data
Examples of special terminals with 4-byte input data (in the default setting): KL5001, KL6001, KL6021, KL6051
4-byte special terminals, output data
4-byte special terminals, output data
Examples of special terminals with 4-byte output data (in the default setting): KL5001, KL6001, KL6021, KL6051
5-byte special terminals, input data
5-byte special terminals, input data
Example of special terminals with 5-byte input data (in the default setting): KL1501
5-byte special terminals, output data
5-byte special terminals, output data
Example of special terminals with 5-byte output data (in the default setting): KL1501
6-byte special terminals, input data
6-byte special terminals, input data
Example of special terminals with 6-byte input data (in the default setting): KL5051, KL5101, KL5111
6-byte special terminals, output data
6-byte special terminals, output data
Example of special terminals with 6-byte output data (in the default setting): KL5051, KL5101, KL5111
8-byte special terminals, input data
8-byte special terminals, input data
Example for special terminals with 8-byte input data: KL5101 (with word alignment, not according to the default setting)
8-byte special terminals, output data
8-byte special terminals, output data
Example for special terminals with 8-byte output data: KL5101 (with word alignment, not according to the default setting)
Bus node register communication
Bus node register communication
The 32 bit value is composed as follows:
As is usual in CANopen, the LSB is transferred first, followed by the MSB.
Accessing index 0x4500 allows any registers in the bus station to be written or read. The channel number and the register are addressed here with a 32 bit data word.
Reading the register value
The coupler must first be informed of which register is to be read. This requires an SDO write access to the appropriate index/sub-index combination, with:
- table number (access bit = 0) in byte 3
- register address in byte 2 of the 32-bit data value.
Bytes 1 and 0 are not evaluated if the access bit (MSB of byte 3) equals 0. The register value can then be read with the same combination of index and sub-index.
After the writing of the register address to be read, the coupler sets the access bit to 1 until the correct value is available. Thus an SDO read access must check that the table number lies in the range from 0...0x7F.
An access error during register communication is indicated by the corresponding return value in the SDO protocol (see the SDO section, Breakdown of parameter communication).
An example of reading register values
It is necessary to determine which baud rate index has been assigned to switch setting 1,1 (DIP 7,8). (See the section covering Network addresses and baud rates). To do this, the value in table 100, register 3, must be read. This means that the following SDO telegrams must be sent:
Write access (download request) to index 4500, sub-index 0, with the 32 bit data value 0x64 03 00 00.
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 00 00 03 64
Then a read access (upload request) to the same index/sub-index. The data value sent here is irrelevant (00 is used here).
Id=0x600+Node-ID DLC=8; Data=40 00 45 00 00 00 00 00
The coupler responds with the upload response telegram:
Id=0x580+Node-ID DLC=8; Data=43 00 45 00 04 00 03 64
This tells us that the value contained in this register is 4, and this baud rate index corresponds to 125 kbit/s (the default value).
Writing register values
SDO write access to the corresponding combination of index and sub-index with:
- table number + 0x80 (access bit = 1) in byte 3
- register address in byte 2
- high byte register value in byte 1
- low byte register value in byte 0 of the 32-bit data value.
Remove coupler write protection
Before the registers of the Bus Coupler can be written, the write protection must first be removed. In order to do this, the following values must be written in the given sequence to the corresponding registers:
Remove coupler write protection (CAN representation)
In order to remove the coupler write protection, the following SDO telegrams (download requests) must thus be sent to the coupler:
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 FE AF 02 E3
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 01 00 01 E3
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 01 01 00 E3
An example of writing register values
After the write protection has been removed, the baud rate index for DIP switch setting 1,1 is to be set to the value 7. This will assign a baud rate of 20 kbaud to this switch setting.
This requires the value 7 to be written into table 100, register 3. This is done with an SDO write access (download request) to index 0x4500, sub-index 0 with the 32 bit value E4 03 00 07 (0xE4 = 0x64+0x80):
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 07 00 03 E4
Identify terminals
The identifier of the coupler (or of the bus station) and of the attached Bus Terminals can be read from the Bus Coupler's table 9. Register 0 then contains the identifier of the Bus Coupler itself, register 1 the identifier of the first terminal and register n the identification of the nth terminal:
The Bus Coupler description in register number 0 contains 5120 = 0x1400 for the BK5120, 5110 = 0x13F6 for the BK5110 and 5100 = 0x13EC for the LC5100. The Fieldbus Box modules contain the identifier 510 dec = 0x1FE in register 0.
In the case of analog and special terminals, the terminal identifier (dec) is contained in the extension module identifier or the terminal description.
Example: if a KL3042 is plugged in as the third terminal, then register 3 contains the value 3042dec (0x0BE2).
The following bit identifier is used for digital terminals:
s6...s1: data width in bits; a=1: output terminal; e=1: input terminal
This identifier scheme results in the terminal descriptions listed below:
General coupler configuration (table 0)
Table 0 of the Bus Coupler contains the data for the general coupler configuration. It is not, as a general rule, necessary to change this; however, for special applications it is possible to change the settings using the KS2000 configuration software, or through direct access via register communication. The write protection must first be removed in order to do this (see above).
The relevant register entries are described below:
K-Bus configuration
Table 0, register 2, contains the K-Bus configuration, and is coded as follows (default value: 0x0006):
A: Auto-reset
If there is a K-Bus error, attempts are made cyclically to start the K-Bus up again through a reset. If emergency telegrams and guarding are not evaluated, activation of auto-reset can lead to output and input information being lost without that loss being noticed.
0: No auto-reset (default)
1: Auto-reset active
G: Device diagnostics
Reporting (by means of emergency telegram), that, for example
- a current input is open circuit (with diagnostics)
- 10 V exceeded at a 1-10V input terminal
0: Device diagnostics switched off
1: Device diagnostics active (default)
D: Diagnostic data
from digital terminals is included in the process image (e.g. KL2212). This flag is only evaluated when device diagnostics is active (see above).
0: Do not display
1: Display (default)
Process image description
Table 0, register 3, contains the process image description, and is coded as follows (default value: 0x0903):
k0...k1: Reaction to K-Bus errors
0,2: Inputs remain unchanged (default = 2);
1: Set inputs to 0 (TxPDO with zeros is sent)
f0...f1: Reaction to fieldbus error
0: Stop the K-Bus cycles, watchdog in the terminals triggers, fault output values become active. The old output values are initially set during a restart.
1: Set outputs to 0, then stop the K-Bus cycles (default). 2: Outputs remain unchanged.
a: Word alignment (of analog and special terminals)
0: No alignment (default)
1: Map data to word boundaries (process data always starts on an even address in the PDO)
d: Data format for complex terminals (analog and special terminals)
0: Intel format (default)
1: Motorola format
k: Evaluation of complex terminals (analog and special terminals)
0: User data only (default)
1: Complete evaluation (note: analog channels then, for example, need 3 input and 3 output bytes instead of, e.g., 2 input bytes; instead of 4 channels per PDO, 2 channels require a RxPDO and a TxPDO)
Bus Terminal / Extension Box register communication
Bus Terminal / Extension Box register communication
The 32 bit value is composed as follows:
As is usual in CANopen, the LSB is transferred first, followed by the MSB.
Accessing index 0x4501 allows the user registers in the bus terminal or extension module to be written or read. The modules have a set of registers for each input or output channel. The modules are addressed by means of the sub-index; the channel number and register are addressed in the 32-bit data value. Channel number 0 corresponds here to the first channel, 1 to the second channel, and so forth.
Reading the register value
The coupler must first be informed of which register is to be read. This requires an SDO write access to the appropriate index/sub-index combination, with:
- channel number (access bit = 0) in byte 3
- register address in byte 2 of the 32-bit data value.
Bytes 1 and 0 are not evaluated if the access bit (MSB of byte 3) equals 0. The register value can then be read with the same combination of index and sub-index.
After the writing of the register address to be read, the coupler sets the access bit to 1 until the correct value is available. Thus an SDO read access must check that the table number lies in the range from 0...0x7F.
An access error during register communication is indicated by the corresponding return value in the SDO protocol (see the SDO section, Breakdown of parameter communication).
An example of reading register values
The thermocouple type to which the second input channel of a KL3202 Thermocouple Input Terminal has been set is to be determined. This requires feature register 32 to be read. The terminal is located in the fifth slot, next to the Bus Coupler. This means that the following SDO telegrams must be sent:
Write access (download request) to index 4501, sub-index 5 with 32 bit data value 01 20 00 00 (0x01 = 2nd channel, 0x20 = register 32)
Id=0x600+Node-ID DLC=8; Data=23 01 45 05 00 00 20 01
Then a read access (upload request) to the same index/sub-index. The data value sent here is irrelevant (0x00 is used here).
Id=0x600+Node-ID DLC=8; Data=40 01 45 05 00 00 00 00
The coupler responds with the upload response telegram:
Id=0x580+Node-ID DLC=8; Data=43 01 45 05 06 31 20 01
This means that the feature register contains the value 31 06. The upper 4 bits indicate the thermocouple type. Their value here is 3, which means that PT500 is the type that has been set for this channel (see the KL3202 documentation).
Writing register values
SDO write access to the corresponding combination of index and sub-index with:
- channel number + 0x80 (access bit = 1) in byte 3
- register address in byte 2
- high byte register value in byte 1
- low byte register value in byte 0 of the 32-bit data value.
Remove terminal write protection
Before the user registers in the Bus Terminal (register 32-xx, depending on terminal type or extension module) can be written to, it is first necessary for write protection to be removed. The following codeword is written for this purpose into register 31 of the channel concerned:
Remove terminal write protection (CAN representation)
In order to remove the terminal's write protection, the following SDO telegram must thus be sent to the coupler:
Id=600 + Node-ID DLC=8; Data=23 01 45 xx 35 12 1F 8y
where xx is the terminal's slot, and y indicates the channel.
An example of removing write protection
Suppose that a KL3202 Thermocouple Input Terminal is inserted into slot 5 of a BK5120 that has node address 3, then the write protection for the first channel can be removed as follows:
Id=0x603 DLC=8; Data=23 01 45 05 35 12 1F 80
The following telegram is sent for the second channel:
Id=0x603 DLC=8; Data=23 01 45 05 35 12 1F 81
An example of writing register values
The type of thermocouple attached to the second channel of the KL3202 Terminal in slot 5 is now to be changed to PT1000. For this purpose, the value 2 must be written into the upper 4 bits (the upper nibble) of the feature register. It is assumed to that the default values are to be supplied for all the other bits in the feature register. Once the write protection has been removed, SDO write access (download request) is used to write the following 32 bit value into index 0x4501, sub-index 05: 81 20 21 06 (0x81=01+0x80; 0x20=32;0x2106 = register value).
The corresponding telegram on the bus looks like this:
Id=0x600+Node-ID DLC=8; Data=23 01 45 05 06 21 20 81
Activate PDOs
Activate PDOs
CANopen defines default identifiers for 4 transmit (Tx) and 2 receive (Rx) PDOs, all other PDOs being initially deactivated after the nodes have started up. Index 0x5500 can activate all the PDOs that, in accordance with the terminals inserted, are filled with process data (manufacturer-specific default mapping). A manufacturer-specific default identifier allocation is carried out here for PDO5…11, while the transmission type and a uniform inhibit time is set for PDO2…11. PDOs that do not have process data (and which are thus superfluous in the present configuration) are not activated.
The 32-bit value is used as follows:
As is usual in CANopen, the LSB is transferred first, followed by the MSB.
Example
Activate PDOs for bus node number 1, set inhibit time to 10ms (=100 x 100µs), set transmission type for TxPDOs to 255, and set transmission type for RxPDOs to 1. The following telegram must be sent:
Id=0x601 DLC=8; Data=23 00 55 00 64 00 FF 01
The node responds with the following telegram:
Id=0x601 DLC=8; Data=60 00 55 00 00 00 00 00
Identifiers used
The default identifier allocation for the additional PDOs leaves the pre-defined regions for guarding, SDOs etc. free, assumes a maximum of 64 nodes in the network with PDO6 as the next node, and proceeds according to the following scheme:
For the sake of clarity, the default identifiers defined according to CANopen are also listed here:
The identifiers that result from the DIP switch settings on the coupler are given, as are the identifier regions for the node addresses 64...127 (not settable in Bus Couplers BK5110, BK5120 and LC5100) in square brackets. Addresses 1…99 can be set for the Fieldbus Box modules and the BK515x Bus Couplers.
The appendix contains a tabular summary of all the identifiers.
Digital inputs
Digital inputs
Interrupt mask
Interrupt mask
By default, every change in the value in an event-driven PDO causes a telegram to be sent. The interrupt mask makes it possible to determine which data changes are evaluated for this purpose. By clearing the appropriate ranges within the PDOs they are masked out for event-driving purposes (interrupt control). The interrupt mask does not just govern all the PDOs with digital inputs, but all the TxPDOs that are present. If the TxPDOs are shorter than 8 bytes, then the superfluous part of the IR mask is not evaluated.
The interrupt mask only has an effect on TxPDOs with transmission types 254 and 255. It is not stored in the device (not even through object 0x1010). Changes to the mask at runtime (when the status is operational) are possible, and are evaluated starting from the next change of input data.
The interrupt mask for TxPDOs with analog input data is not evaluated if either limit values (0x6424, 0x6425) or the delta function (0x6426) have been activated for the inputs.
This entry has been implemented in firmware C3 and above.
Example of data assignment
Application example
The value contained in a fast counter input is only to be transmitted when bits in the status word (the latch input, for instance) have changed. This requires the 32 bit counter value to be masked out (zeroed) in the interrupt mask. The status is located in byte 0, while the counter value is, by default, contained in bytes or 1..4 of the corresponding PDOs (TxPDO3 in this example, because < 65 digital and < 5 analog inputs are present).
This means that index 0x6126, sub-index5 must receive the value 0x0000 00FF and that sub-index6 must have 0xFFFF FF00 written into it.
The corresponding SDOs therefore appear as follows:
Digital outputs
Digital outputs
Analog inputs
Analog inputs
The analog signals are displayed left aligned. The representation in the process image is therefore independent of the actual resolution. Detailed information on the data format can be found at the relevant signal type.
Analog outputs
Analog outputs
The analog signals are displayed left aligned. The representation in the process image is therefore independent of the actual resolution. Detailed information on the data format can be found at the relevant signal type.
Event driven analog inputs
Event driven analog inputs
Although, in accordance with CANopen, the analog inputs in TxPDO2..4 are by default set to transmission type 255 (event driven), the event (the alteration of an input value) is suppressed by the event control in object 0x6423, in order to prevent the bus from being swamped with analog signals. It is recommended that the flow of data associated with the analog PDOs is controlled either through synchronous communication or through using the event timer. In event-driven operation, the transmission behavior of the analog PDOs can be parameterized before activation by setting the inhibit time (object 0x1800ff, sub-index 3) and/or limit value monitoring (objects 0x6424 + 0x6425) and/or delta function (object 0x6426).
Upper limit value analog inputs
Upper limit value analog inputs
Values different from 0 activate the upper limit value for this channel. A PDO is then transmitted if this limit value is exceeded. In addition, the event driven mode must be activated (object 0x6423). The data format corresponds to that of the analog inputs.
Lower limit value analog inputs
Lower limit value analog inputs
Values different from 0 activate the lower limit value for this channel. A PDO is then transmitted if the value falls below this limit value. In addition, the event driven mode must be activated (object 0x6423). The data format corresponds to that of the analog inputs.
Delta function for analog inputs
Delta function for analog inputs
Values different from 0 activate the delta function for this channel. A PDO is then transmitted if the value has changed by more than the delta value since the last transmission. In addition, the event driven mode must be activated (object 0x6423). The data format corresponds to that of the analog inputs (delta value: can only have positive values).