Function for reading DISCRETE INPUTS on specified modbus servers via a pass-through mode support structure.
|
i32 mbc_read_discr_inp_s (i32 mbc, modbus stru, dest)
|
|
Handle value returned by mbc_init()
|
|
Structure type stru_modbus containing the parameters
|
|
Area where to put read data.
Can be i16/u16/i32 or array of i16/u16/i32
|
|
Returns:
|
|
1 [MBC_WAIT]
|
Command waiting for response
|
0 [MBC_OK]
|
Command executed
|
-1 [MBC_INVAL]
|
Invalid arguments
|
-2 [MBC_BUSY]
|
Resource occupied
|
-3 [MBC_PERM]
|
Permission denied
|
-4 [MBC_CONN]
|
Connection failed
|
-5 [MBC_NOBUFS]
|
Buffer exhausted
|
-6 [MBC_NOMEM]
|
Insufficient memory
|
-7 [MBC_TX_ERR]
|
Transmission error
|
-8 [MBC_RX_ERR]
|
Receive error
|
-9 [MBC_TIMEOUT]
|
Blocking command timeout
|
-10 [MBC_EXC_CODE_1]
|
Response with exception 1 (function code not supported by server)
|
-11 [MBC_EXC_CODE_2]
|
Response with exception 2 (invalid address)
|
-12 [MBC_EXC_CODE_3]
|
Response with exception 3 (invalid quantity or value)
|
-13 [MBC_EXC_CODE_4]
|
Response with exception 4 (operation failed)
|
-14 [MBC_WRONG_ANSWER]
|
Invalid response
|
-15 [MBC_INVAL_MBC]
|
Invalid mbc id
|
|
|
Task
|
|
The function is pass-through. As long as it returns MBC_WAIT, it must be continuously called within the task
|