|int||customFunction (int slaveAddr, int functionCode, void *requestData, size_t requestLen, void *responseData, size_t *responseLenPtr)|
|User Defined Function CodeThis method can be used to implement User Defined Function Codes. More...|
|int||adamSendReceiveAsciiCmd (const char *const commandSz, char *responseSz)|
|Send/Receive ADAM 5000/6000 ASCII command. More...|
Some device specific or vendor specific functions and enhancements are supported.
User Defined Function CodeThis method can be used to implement User Defined Function Codes.
The caller has only to pass the user data to this function. The assembly of the Modbus frame (the so called ADU) including checksums, slave address and function code and subsequentially the transmission, is taken care of by this method.
The modbus specification reserves function codes 65-72 and 100-110 for user defined functions.
|slaveAddr||Modbus address of slave device or unit identifier (Range: 1 - 255 for serial, 0 - 255 for TCP)|
|functionCode||Custom function code to be used for Modbus transaction (1-127)|
|requestData||Pointer to data sent as request (not including slave address or function code)|
|requestLen||Length of request data structure (0-252)|
|responseData||Pointer to data structure which holds response data|
|responseLenPtr||Length of response data buffer (0-252). This value will be adjusted should the actual response data be less. A FTALK_INSUFFICIENT_BUFFER error code will be returned in case the allocated buffer size was insufficient.|
|int adamSendReceiveAsciiCmd||(||const char *const||commandSz,|
Send/Receive ADAM 5000/6000 ASCII command.
Sends an ADAM 5000/6000 ASCII command to the device and receives the reply as ASCII string. (e.g. "$01M" to retrieve the module name)
|commandSz||Buffer which holds command string. Must not be longer than 255 characters.|
|responseSz||Buffer which holds response string. Must be a buffer of 256 bytes. A possible trailing CR is removed.|