Special external digital input and output boards with serial interfaces (SIO devices) can be used to expand the I/O capabilities of a PreciseFlex™ Controller by adding general and dedicated digital inputs and outputs to the system I/O signal map. Their hardware interface consists of a multi-drop RS485 connection to the controller over which is executed a proprietary communications protocol. One or more external I/O interface boards can simultaneously use this interface. An example of such a device is the PrecisePlace 2x00 robot's Z-axis I/O board (ZIO2).
The additional DIO signals only appear as installed when the corresponding SIO device is connected to the controller, configured, enabled and scanning. If the SIO device fails or is disabled, the signals are automatically uninstalled, and any programs that refer to them receive an exception when the uninstalled DIO are accessed.
Configuration
The SIO devices are configured using the configuration parameters shown in the table below:
Parameter Database ID | Parameter Name | Default Value | Description |
---|---|---|---|
570 |
SIO poll period in sec |
0.004 |
This parameter
specifies the polling period, in seconds, for all SIO devices.
Once each polling period, a message is sent to each external
SIO device and a reply is expected. If no reply is received
within 8 polling periods, a timeout error is counted. If 3
successive timeouts occur on the same device, the signals
associated with the device are uninstalled and depending on
the "SIO mode flags" (DataID 571) setting, the robot
power is optionally disabled. |
571 |
SIO mode flags |
|
An
array of numeric values that contain bit flags that specify
the operating modes for individual SIO devices. The SIO device
unit number is the array index. For example, the ZIO2 board
is unit 1 and is accessed as element 1 of this array. |
572 |
SIO error status |
0 |
An array of numeric values that contains the GPL error status for individual SIO devices. The SIO device unit number is the array index. A zero value indicates there is no error. Otherwise the value is a standard GPL negative error code. |