kernelv_sync_read_write_req()
Prototype
signed long int | kernelv_sync_write_req (unsigned short port, |
Description
Synchronous writing and reading of variables. The variables are identified by Port, indexGroup and indexOffset.
When called, the data pointer contains the data to be written. Specify in writeLength the length of the data area to be written in bytes. Enter the number of bytes to be read in the realLength pointer.
The data read is saved to the memory to which the data pointer points and the number of bytes written is written to *readLength.
At present, the following ports are supported:
Port number | CNC task |
551 | GEO task |
552 | SDA task |
The meaning of indexGroup and indexOffset depends on the addressed port and can be found in the documentation.
An error code is returned if the function is called while the CNC kernel has not yet started.
Parameter
Name | Type | Meaning |
port | unsigned short | Port from which the data is to be read. |
indexGroup | unsigned long | Index group of the data item to be read. |
indexOffset | unsigned long | Index offset of the data item to be read. |
readLength | unsigned long* | Pointer to the return value for the number of bytes returned. |
writeLength | unsigned long | Length of the data area to be written. |
data | void* | Pointer to memory for the data to be read or written. |
Return values
Symbol | Value | Meaning |
| 0 | The function was executed without error. |
| -3 | The simulation CNC kernel was not yet initialised. |
ERR_CNC_RET_MEMORY | -4 | The return value(s) does/do not fit into the memory provided. |
| 6 | The transferred port number is not known. |
| 0x701 | The requested service is not supported. |
| 0x702 | Index group is invalid |
| 0x703 | Index offset is invalid |
| 0x704 | The variable addressed must not be written. |
| 0x705 | The data to be written does not match the addressed variable. |