ISDU fast processing

iqInterface FW Version 1.2.3.20 is required

This mode decreases a request time for ISDU Read/Write.

The difference with and without fast processing mode

Mode

Device: COM3

Min. cycle time:           1 ms

On Request length:     2 bytes

Process Data Length: 4 bytes

Sequence Read/Write “Application tag”
32 bytes (100 times)

Normal mode

Fast processing ON

Improvement

16,5 sec

11,3 sec

32 %

Read only “Application tag” 32 bytes
(100 times)

7,62 sec

6,40 sec

17 %

Write only “Application tag” 32 bytes  
(100 times)

8,18 sec

4,27 sec

48 %

Sequence Read/Write 1 byte integer (50 times)

4,83 sec

2,40 sec

50,32 %

Read only 1 byte integer (50 times)

4,80 sec

3,20 sec

33,33 %

Write only 1 byte integer (50 times)

4,82 sec

1,60 sec

66,77 %

/** * \brief Activate fast processing * * \param[in] uiPortNo COM or virtual ethernet port number of iqInterface * \param[out] cpErrMsg an error message (minimum 256 symbols!) * * \return error code */ DLL_API int16 fast_processing_Activate( uint16 uiPortNo, char08* cpErrMsg); /** * \brief Deactivate fast processing * * \param[in] uiPortNo COM or virtual ethernet port number of iqInterface * \param[out] cpErrMsg an error message (minimum 256 symbols!) * * \return error code */ DLL_API int16 fast_processing_Deactivate( uint16 uiPortNo, char08* cpErrMsg); /** * \brief Read on-request data * * Short hand for mst_StartReadOD() + mst_WaitODRsp() + mst_GetReadODRsp() * * \param[in] uiPortNo COM or virtual ethernet port number of iqInterface * \param[in] uiIndex an IO-Link parameter index * \param[in] ucSubindex an IO-Link parameter sub-index * \param[out] ucpBuf a data buffer * \param[in] uiBufSize a data buffer size * \param[out] uipISDUErr a pointer to store an ISDU error code * \param[out] cpErrMsg an error message (minimum 256 symbols!) * * \return the actual size of readed on-request data bytes */ DLL_API int16 fast_processing_ReadOD(uint16 uiPortNo, uint16 uiIndex, uchar08 ucSubindex, uchar08* ucpBuf, uint16 uiBufSize, uint16* uipISDUErr, char08* cpErrMsg); /** * \brief Write on-request data * * Short hand for mst_StartWriteOD() + mst_WaitODRsp() + mst_GetWriteODRsp() * * \param[in] uiPortNo COM or virtual ethernet port number of iqInterface * \param[in] uiIndex an IO-Link parameter index * \param[in] ucSubindex an IO-Link parameter sub-index * \param[in] ucpBuf a data buffer * \param[in] ucBytesCount a count of bytes to send * \param[out] uipISDUErr a pointer to store an ISDU error code * \param[out] cpErrMsg an error message (minimum 256 symbols!) */ DLL_API int16 fast_processing_WriteOD(uint16 uiPortNo, uint16 uiIndex, uchar08 ucSubindex, uchar08* ucpBuf, uint16 uiBytesCount, uint16* uipISDUErr, char08* cpErrMsg);