Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

iqInterface FW Version 1.2.3.20 is required

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

...

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 %

Code Block
languagecppc
/**
 * \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);