ioPAC RTU Controllers
C/C++ Sample Code Programming Guide
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
DIO

Functions

MODULE_RW_ERR_CODE MX_RTU_Module_DIO_Map_Get (UINT8 slot, UINT32 *map)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_Map_Set (UINT8 slot, UINT32 map)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Value_Get (UINT8 slot, UINT32 *value, struct Timestamp *time)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Filter_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Start_Get (UINT8 slot, UINT32 *start)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Trigger_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf, struct Timestamp *time)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Overflow_Get (UINT8 slot, UINT32 *overflow)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Filter_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Start_Set (UINT8 slot, UINT32 start)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Trigger_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Value_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Overflow_Reset (UINT8 slot, UINT32 overflow)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Value_Get (UINT8 slot, UINT32 *value)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_L_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_H_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Start_Get (UINT8 slot, UINT32 *start)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Config_Get (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Value_Set (UINT8 slot, UINT32 value)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_L_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_H_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Start_Set (UINT8 slot, UINT32 start)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Stop_Set (UINT8 slot, UINT32 stop)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Count_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
 
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Config_Set (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
 

Detailed Description

Sample Code:
dio.c

Function Documentation

MODULE_RW_ERR_CODE MX_RTU_Module_DIO_Map_Get ( UINT8  slot,
UINT32 map 
)

This function get the direction info of all DIO channels

Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[out]mapA bitwise value to indicate all DIO channels' direction. 1:DO, 0:DI
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_Map_Set ( UINT8  slot,
UINT32  map 
)

This function set the direction info of all DIO channels

Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]mapA bitwise value to indicate all DIO channels' direction. 1:DO, 0:DI
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Value_Get ( UINT8  slot,
UINT32 value,
struct Timestamp time 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[out]valueA bitwise value to indicate all channels' values. The bit 0 represents channel 0's value and so on.
[out]timeTimestamp of DI value.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Mode_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT8 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]bufThe DI modes for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Filter_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]bufThe DI filter values for the corresponding channels.
  • ioPAC 8500: One unit = 100us.
  • ioPAC 5542: One unit = 500us.
  • ioPAC 5542-HSPA: One unit = 500us.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Start_Get ( UINT8  slot,
UINT32 start 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[out]startA 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
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Trigger_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT8 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]bufThe DI counter trigger conditions for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Value_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf,
struct Timestamp time 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]bufThe counter values for the corresponding channels.
[out]timeThe Timestamp of di counter values.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Overflow_Get ( UINT8  slot,
UINT32 overflow 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[out]overflowA 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
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Mode_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT8 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startthe first channel to set.
[in]countthe number of channels to set.
[in]bufthe DI modes for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Filter_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startthe first channel to set.
[in]countthe number of channels to set.
[in]bufThe DI filter values for the corresponding channels.
  • ioPAC 8500: One unit = 100us.
  • ioPAC 5542: One unit = 500us.
  • ioPAC 5542-HSPA: One unit = 500us.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Start_Set ( UINT8  slot,
UINT32  start 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startA 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
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Trigger_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT8 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to set.
[in]countThe number of channels to set.
[in]bufThe DI counter trigger conditions for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Value_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to set.
[in]countThe number of channels to set.
[in]bufThe counter values for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DI_Counter_Overflow_Reset ( UINT8  slot,
UINT32  overflow 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]overflowA 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
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Value_Get ( UINT8  slot,
UINT32 value 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[out]valueA bitwise value to indicate all channels' values. The bit 0 represents channel 0's value and so on.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Mode_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT8 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]bufThe DO modes for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_L_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_H_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Start_Get ( UINT8  slot,
UINT32 start 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[out]startA bitwise value to indicate all channels PWMs' status. The bit 0's value represents channel 0's PWM is started or not and so on (0: stop, 1: start).
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Count_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]bufThe numbers of PWM count for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Config_Get ( UINT8  slot,
UINT8  start,
UINT8  count,
float *  frequency,
float *  dutyCycle 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[out]frequencyThe DO PWM frequency (Hz) for the corresponding channels. Range = 0.01Hz ~ MAX supported freqency.
[out]dutyCycleThe DO PWM ON duty cycle (%) for the corresponding channels. Range = 0.1% ~ 99.9%.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Value_Set ( UINT8  slot,
UINT32  value 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]valueA bitwise value to indicate all channels' values. The bit 0 represents channel 0's value and so on.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_Mode_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT8 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to set.
[in]countThe number of channels to set.
[in]bufThe DO modes for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_L_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_SigW_H_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Start_Set ( UINT8  slot,
UINT32  start 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startA bitwise value to indicate all channels PWMs' status. The bit 0's value represents channel 0's PWM will start or not and so on (0: stop, 1: start).
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Stop_Set ( UINT8  slot,
UINT32  stop 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]stopA bitwise value to indicate all channels PWMs' status. The bit 0's value represents channel 0's PWM will stop or not and so on (0: ignore, 1: stop).
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Count_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
UINT32 buf 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to set.
[in]countThe number of channels to set.
[in]bufThe numbers of PWM count for the corresponding channels.
Returns
MODULE_RW_ERR_CODE
MODULE_RW_ERR_CODE MX_RTU_Module_DIO_DO_PWM_Config_Set ( UINT8  slot,
UINT8  start,
UINT8  count,
float *  frequency,
float *  dutyCycle 
)
Parameters
[in]slotslot 0: Built-in IO Ports, slot 1 ~ 9: Expansion IO Ports.
[in]startThe first channel to get.
[in]countThe number of channels to get.
[in]frequencyThe DO PWM frequency (Hz) for the corresponding channels. Range = 0.01Hz ~ MAX supported freqency.
[in]dutyCycleThe DO PWM ON duty cycle (%) for the corresponding channels. Range = 0.1% ~ 99.9%.
Returns
MODULE_RW_ERR_CODE