| ioPAC RTU Controllers C/C++ Sample Code Programming Guide

- Main Page
- Modules
- Data Structures
- Files

Modules | Functions
DI
Library » IO

## Modules
| DI_MODE
| DI_TOGGLE

## Functions
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Value_Get (UINT8 slot, UINT32 *value, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Filter_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Trigger_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Overflow_Get (UINT8 slot, UINT32 *overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Measurement_Time_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Enable_Get (UINT8 slot, UINT32 *enable)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Time_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Ext_Power_Get (UINT8 slot, UINT32 *value)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Filter_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Trigger_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Value_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Overflow_Reset (UINT8 slot, UINT32 overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Measurement_Time_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Enable_Set (UINT8 slot, UINT32 enable)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Time_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)

## Detailed Description

Sample Code:
di.c

## Function Documentation

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Value_Get | ( | UINT8 | slot,
|  | UINT32 * | value,
|  | struct Timestamp * | time
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [out] | value | A bitwise value to indicate all channels' values. The bit 0 represents channel 0's value and so on.
  [out] | time | Timestamp of DI value.

Returns
  MODULE_RW_ERR_CODE

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Mode_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT8 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The DI modes for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Filter_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT32 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The DI filter values for the corresponding channels. 85M-1602: One unit = 100us. 86M-1832D: One unit = 100us. ioPAC 5542: One unit = 500us. ioPAC 5542-HSPA: One unit = 500us.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Start_Get | ( | UINT8 | slot,
|  | UINT32 * | start
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [out] | start | A bitwise value to indicate all channels counters' status. The bit 0's value represents channel 0's counter is started or not and so on (0: stop, 1: start).

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Trigger_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT8 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The DI counter trigger conditions for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Value_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT32 * | buf,
|  | struct Timestamp * | time
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The counter values for the corresponding channels.
  [out] | time | The Timestamp of di counter values.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Overflow_Get | ( | UINT8 | slot,
|  | UINT32 * | overflow
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [out] | overflow | A bitwise value to indicate all channels' overflow status. The bit 0's value represents channel 0's counter is overflowed or not and so on (0: ok, 1: overflow).

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Frequency_Start_Get | ( | UINT8 | slot,
|  | UINT32 * | start
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [out] | start | A bitwise value to indicate all channels counters' status. The bit 0's value represents channel 0's counter is started or not and so on (0: stop, 1: start).

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Frequency_Measurement_Time_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT32 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The measurement time for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Frequency_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | float * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The frequency for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Debouncing_Enable_Get | ( | UINT8 | slot,
|  | UINT32 * | enable
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [out] | enable | A bitwise value to indicate that the DI channels' debouncing function is enabled or not. The bit 0 represents channel 0's value and so on.

Returns
  MODULE_RW_ERR_CODE

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Debouncing_Time_Get | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | float * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to get.
  [in] | count | The number of channels to get.
  [out] | buf | The debouncing time for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Ext_Power_Get | ( | UINT8 | slot,
|  | UINT32 * | value
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [out] | value | A bitwise value to indicate all external power values. The bit 0 represents channel 0's value and so on.

Returns
  MODULE_RW_ERR_CODE

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Mode_Set | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT8 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | the first channel to set.
  [in] | count | the number of channels to set.
  [in] | buf | the DI modes for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Filter_Set | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT32 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | the first channel to set.
  [in] | count | the number of channels to set.
  [in] | buf | The DI filter values for the corresponding channels. 85M-1602: One unit = 100us. 86M-1832D: One unit = 100us. ioPAC 5542: One unit = 500us. ioPAC 5542-HSPA: One unit = 500us.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Start_Set | ( | UINT8 | slot,
|  | UINT32 | start
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | A bitwise value to indicate all channels counters' status. The bit 0's value represents channel 0's counter will start or not and so on (0: stop, 1: start).

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Trigger_Set | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT8 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to set.
  [in] | count | The number of channels to set.
  [in] | buf | The DI counter trigger conditions for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Value_Set | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT32 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to set.
  [in] | count | The number of channels to set.
  [in] | buf | The counter values for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Counter_Overflow_Reset | ( | UINT8 | slot,
|  | UINT32 | overflow
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | overflow | A bitwise value to specify that the channel's overflow flag to be reset. The bit 0's value is 1 represents channel 0's counter overflow flag will be reset and so on.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Frequency_Start_Set | ( | UINT8 | slot,
|  | UINT32 | start
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | A bitwise value to indicate all channels counters' status. The bit 0's value represents channel 0's counter will start or not and so on (0: stop, 1: start).

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Frequency_Measurement_Time_Set | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | UINT32 * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to set.
  [in] | count | The number of channels to set.
  [in] | buf | The measurnment time for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE

Note
  This function is not support in 86M-1620D.

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Debouncing_Enable_Set | ( | UINT8 | slot,
|  | UINT32 | enable
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | enable | A bitwise value to indicate that the DI channels' debouncing function is enabled or not. The bit 0 represents channel 0's value and so on.

Returns
  MODULE_RW_ERR_CODE

MODULE_RW_ERR_CODE MX_RTU_Module_DI_Debouncing_Time_Set | ( | UINT8 | slot,
|  | UINT8 | start,
|  | UINT8 | count,
|  | float * | buf
| ) |  |

Parameters

  [in] | slot | slot 0: Built-in IO Ports, slot 1 ~ 12: Expansion IO Ports.
  [in] | start | The first channel to set.
  [in] | count | The number of channels to set.
  [in] | buf | The debouncing time for the corresponding channels.

Returns
  MODULE_RW_ERR_CODE