Direct mode

Direct mode can be used to load block of bytes as is without interpretation from Master to Device and back of maximum required speed. There are three speeds - COM1 (4.8 kBps), COM2 (38.4 kBps), COM3 (230.4 kBps).

Physical level - UART protocol, total identical with IO-Link (between Master and Device only):

Data level protocol is very simple (between PC, Master and Device):

  • Send direction - '[bytes count (N): from 1 to 255 bytes] [byte1] [byte2] ... [byteN]';
  • Receive direction - '[bytes count (N): from 1 to 255 bytes] [byte1] [byte2] ... [byteN]', usually, for example, just '0x01 0x00' as acknowledge;
  • There is only one special exit bytes combination in order to exit from direct mode - '0x00 0x56', it works only in the send direction.

Send and receive blocks of data happen together one after another in one cycle, IQ² Master at first collect all block of bytes and then send all of them father to Device without interpretation and at the end collect an answer from Device and recend them back to PC (DLL client). And so forth until exit from the direct mode.

Every devoloper can create a new protocol over direct mode, for example, a full-fledged bootloader protocol, with checksum and other metadata.


If using communication DLL should be avoided or not possible, raw communication can be used.

PC Serial port configuration:

Baudrate = 115200, No Parity, 8 bit, One stop bit


Raw command Messages:

First, the IO Link communication Speed should be set (COM1, COM2 or COM3)

send next command to set:

COM1: 0x04 0x43 0x11 0x06 0x00, expected response: 0x02 0x58 0x91

COM2: 0x04 0x52 0x11 0x06 0x01, expected response: 0x02 0x58 0x91

COM3: 0x04 0x62 0x11 0x06 0x02, expected response: 0x02 0x58 0x91

Enable Direct mode:

0x04 0x40 0x11 0x01 0xFD, expected response: 0x02 0x58 0x91

Send wanted data in format:

'[bytes count (N): from 1 to 255 bytes] [byte1] [byte2] ... [byteN]';

'[bytes count (N): from 1 to 255 bytes] [byte1] [byte2] ... [byteN]';

...

'[bytes count (N): from 1 to 255 bytes] [byte1] [byte2] ... [byteN]';

To exit from Direct mode:

0x00 0x56, expected response: 0x02 0x58 0x91