Data exchange

Data string from the DeviceNet master to the Bus Coupler

Data is transferred between masters and slaves in the form of objects. The Bus Coupler recognizes two objects: an input object and an output object. You can use the configuration software to map the input/output bytes onto specific memory areas in the controller. The Bus Coupler uses a consistent algorithm to correlate the object data to the peripherals. Various examples of correlations between addresses and peripherals are explained in the appendix. An object transmitted from the DeviceNet master to the Bus Coupler must first contain all byte-oriented values, which is the data for analog output terminals. The bit-oriented data for digital outputs may not be transmitted until all the byte-oriented values have been sent.

Analog outputs receive 16 bits of data, i.e. two bytes, per channel. An analog output terminal with 2 channels must therefore receive 4 bytes. A digital output terminal with 2 channels requires a total of 2 bits of data, 1 bit for each channel.

First the data from all the analog outputs

The first 4 bytes of an object transmitted to the terminal strip are assigned to the first analog output terminal, which is the analog output terminal closest to the Bus Coupler. Other terminals which are located between the Bus Coupler and the first analog output terminals are disregarded. The next four bytes of the object go to the second analog output terminal in the terminal strip. Any other terminals between the first and second analog output terminals are disregarded.

Then the data for the digital outputs is transmitted in bytes

When the last analog output terminal in the terminal strip has received its data, the digital outputs are served. Data is always transmitted byte-by-byte. The next byte from the data string contains the data for 8 digital outputs. Bit 0 and bit 1 are assigned to channels 1 and 2 of the first digital output terminal after the Bus Coupler. Other types of terminals which are located in between are ignored.

Bit 2 and bit 3 go to the 2 channels of the second digital output terminal, bit 4 and bit 5 to the third and bit 6 and bit 7 to the fourth. There may be other terminals located between these digital output terminals, and if so they will be disregarded.

Additional bytes are read from the data string until the last digital output in the terminal strip has been dealt with. If the total number of digital outputs is not a multiple of 8, there will be a number of bits left over in the last data byte; these will be discarded.

Data exchange 1:
Data exchange

Object from the Bus Coupler to the DeviceNet master for transferring the input data

The object sent by the Bus Coupler to the DeviceNet master also contains the byte-oriented data at the beginning, followed by the bit-oriented data. Transfers in this direction also include a status byte, which comes right at the end of the object.

The byte-oriented data contains the values from the analog inputs and the bit-oriented data the values from the digital inputs.

Byte-by-byte data

The first four bytes contain the data of the first analog input terminal in the terminal strip. 2 bytes form the 16-bit value of each input. The next four bytes correspond to the next analog input terminal and so on, analogously to the procedure described above.

Bit-by-bit data

After the byte-oriented data from all the analog inputs come the values from the digital inputs. Eight digital inputs are transferred in each byte. As before, if the total number of digital inputs in the terminal strip is not a multiple of 8, the last data byte will contain one or more unused bits.

An extra status byte is transferred at the end of each string sent by the Bus Coupler to the DeviceNet master, and this returns the status of the terminal strip. Its value corresponds to the status displayed on the I/O LEDs on the Bus Coupler. If the terminal strip is working without error, the I/O RUN LED is lit and the status byte contains the value 0. As soon as an error occurs, the I/O ERR LED lights up and the status byte contains the value 1.