TIODRV – The REXYGEN system input/output driver with tasks
Block SymbolLicensing group: STANDARD
Function Description
The TIODRV block is used for configuration of special drivers of the REXYGEN system which
are able to execute tasks defined by the IOTASK blocks. See the corresponding
driver documentation.
The prev input of the IOTASK block must be connected with the Tasks output of the TIODRV block. If the driver allows so, the next output of a TIODRV block which is already included in the configuration can be used to add more tasks. The next output of the last task remains unconnected. On the contrary to standard tasks, the number and order of the driver’s tasks are not checked by the REXYGEN Compiler compiler but by the input-output driver itself.
If the driver cannot guarantee periodic execution of some task (e.g. task is triggered by an external event), a corresponding flag is set for the given task. Such a task cannot contain blocks which require constant sampling period (e.g. the majority of controllers). If some of these restricted blocks are used, the executive issues a task execution error, which can be traced using the Diagnostics section of the REXYGEN Studio program. The cpu parameter can be used to specify where the driver thread should run on multi-CPU devices.
Input
prev | Input for connecting the driver with the Drivers output of the EXEC block or with the next output of the preceding driver | Long (I32) |
Outputs
next | Output for connecting to the prev input of the succeeding driver | Long (I32) |
Tasks | The IOTASK blocks executed by the driver are connected to this output using the prev input | Long (I32) |
Parameters
module | Name of the module, which includes the input/output driver (mandatory only if module name differs from classname) | String |
classname | Name of the driver class; case sensitive! DrvClass | String |
cfgname | Name of the driver configuration file iodrv.rio | String |
factor | Multiple of the EXEC block’s tick parameter defining the driver’s task execution period 1 10 | Long (I32) |
stack | Stack size of the driver’s task in bytes 1024 10240 | Long (I32) |
pri | Logical priority of the driver’s task 1 31 3 | Long (I32) |
cpu | CPU core assigned to driver thread (-1=default, 0=core 0, 1=core 1, ...) -1 127 -1 | Long (I32) |
[Previous] [Back to top] [Up] [Next]
2023 © REX Controls s.r.o., www.rexygen.com