MXIO Software Development Kit
C++ Sample Code Programming Guide
 All Classes Files Functions Variables Typedefs Macros Groups Pages
Classes | Macros | Typedefs | Functions
MXIO_V3_4500.h File Reference

Moxa MXIO Library More...

#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <time.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <ctype.h>
#include <arpa/inet.h>

Go to the source code of this file.

Classes

class  CMXIO_V3_4500
 
struct  CMXIO_V3_4500::_MX_STRU_CDA_DEVICE_INFO
 
struct  CMXIO_V3_4500::_MX_VERSION
 
struct  CMXIO_V3_4500::_MX_DATE
 
struct  CMXIO_V3_4500::_MX_TIME
 
struct  CMXIO_V3_4500::_MX_CMD_BLOCK_HEADER
 
struct  CMXIO_V3_4500::_MX_RECV_BLOCK_HEADER
 
struct  CMXIO_V3_4500::_MX_CLEAR_OBJ_DATA
 
struct  CMXIO_V3_4500::_MX_RECV_CLEAR_BLOCK_DATA
 
struct  CMXIO_V3_4500::_RW_BINARY_VALUE
 
union  CMXIO_V3_4500::UN_BLOCK_VALUE
 
struct  CMXIO_V3_4500::_MX_RW_OBJ_DATA
 
struct  CMXIO_V3_4500::_MX_WRITE_BLOCK_DATA
 
struct  CMXIO_V3_4500::_MX_READ_BLOCK_DATA
 
struct  CMXIO_V3_4500::_MX_WRITE_OBJ_DATA
 
struct  CMXIO_V3_4500::_MX_RECV_WRITE_BLOCK_DATA
 
struct  CMXIO_V3_4500::_MX_RECV_READ_BLOCK_DATA
 
struct  CMXIO_V3_4500::_MX_ACCOUNT_DATA
 
struct  CMXIO_V3_4500::_MX_MAC_ADDRESS
 
struct  CMXIO_V3_4500::_MX_STR_CMD
 
struct  CMXIO_V3_4500::_MX_READ_STR_DATA
 
struct  CMXIO_V3_4500::_MX_WRITE_STR_DATA
 
struct  CMXIO_V3_4500::_MX_RECV_STR_CMD
 
struct  CMXIO_V3_4500::_MX_RECV_STR_WRITE_DATA
 
struct  CMXIO_V3_4500::_MX_RECV_STR_READ_DATA
 
struct  CMXIO_V3_4500::_MX_RECV_STR_CLEAR_DATA
 

Macros

#define BOOL   bool
 
#define WORD   unsigned short
 
#define DWORD   unsigned int
 
#define LONG   long
 
#define BYTE   unsigned char
 
#define UINT   unsigned int
 
#define MXIO_V3_API
 
#define CALLBACK
 
#define G_PACKED   __attribute__ ((packed))
 
#define FD_SETSIZE   1024
 
#define UINT8   unsigned char
 
#define UINT16   unsigned short
 
#define UINT32   unsigned int
 
#define MAX_PATH   256
 
#define TRUE   1
 
#define FALSE   0
 
#define MXIO_V3_MAX_BLOCK_SIZE   1
 
#define MXIO_V3_MAX_TOTAL_CH   500
 
#define MXIO_V3_AGENT_PORT   10124
 
#define MXIO_V3_DEFAULT_CDA_PORT   9400
 
#define MXIO_V3_IP_ADDRESS_LENGTH   16
 
#define MXIO_V3_MAC_ADDRESS_LENGTH   6
 
#define MXIO_V3_SERVER_NAME_LENGTH   256
 
#define MXIO_V3_DESCRIPTION_LENGTH   256
 
#define MXIO_ACCOUNT_NAME_LENGTH   30
 
#define MXIO_ACCOUNT_PASSWORD_LENGTH   30
 
#define MXIO_V3_OK   0x0000
 
#define MXIO_V3_ERR_INVALID_REQ   0x8000
 
#define MXIO_V3_ERR_ACCESS_FS   0x8001
 
#define MXIO_V3_ERR_RESTART   0x8002
 
#define MXIO_V3_ERR_RESET   0x8003
 
#define MXIO_V3_ERR_SET_TIME   0x8004
 
#define MXIO_V3_ERR_SET_IO   0x8005
 
#define MXIO_V3_ERR_FWR_UPGRADE   0x8006
 
#define MXIO_V3_ERR_RESP_SYS_CONFIG   0x8007
 
#define MXIO_V3_ERR_CALIBRATION   0x8008
 
#define MXIO_V3_ERR_SET_FWR_FILE_INFO   0x8009
 
#define MXIO_V3_ERR_INPUT_OVER_RANGE   0x800A
 
#define MXIO_V3_ERR_OUTPUT_OVER_RANGE   0x800B
 
#define MXIO_V3_ERR_SET_NETWORK   0x800C
 
#define MXIO_V3_ERR_FILE_NOT_EXIST   0x800D
 
#define MXIO_V3_ERR_ACCOUNT_ACCESS_RIGHT   0x8010
 
#define MXIO_V3_ERR_ACCOUNT_VERIFY_FAIL   0x8011
 
#define MXIO_V3_ERR_ENCRYPT_DEVICE_INFO_FAIL   0x8012
 
#define MXIO_V3_ERR_DECRYPT_DEVICE_INFO_FAIL   0x8013
 
#define MXIO_V3_ERR_PARSING_DEVICE_INFO_FAIL   0x8014
 
#define MXIO_V3_ERR_ENUM_NET_INTERFACE_FAIL   0x8050
 
#define MXIO_V3_ERR_SELECT_NET_INTERFACE_FAIL   0x8051
 
#define MXIO_V3_ERR_INVALID_HANDLE   0x8080
 
#define MXIO_V3_ERR_BLOCK_QUANTITY   0x8081
 
#define MXIO_V3_ERR_TOTAL_BLOCK_SIZE   0x8082
 
#define MXIO_V3_ERR_PARSE_XML_FAIL   0x8083
 
#define MXIO_V3_ERR_FUNCTION_NOT_SUPPORT   0x8100
 
#define MXIO_V3_ERR_IN_DEPLOY_PROCESS_MODE   0x8101
 
#define MXIO_V3_ERR_REACH_MXIO_LIMIT_CONNECTION   0x8110
 
#define MXIO_V3_ILLEGAL_FUNCTION   0x8201
 
#define MXIO_V3_ILLEGAL_DATA_ADDRESS   0x8202
 
#define MXIO_V3_ILLEGAL_DATA_VALUE   0x8203
 
#define MXIO_V3_SLAVE_DEVICE_FAILURE   0x8204
 
#define MXIO_V3_SLAVE_DEVICE_BUSY   0x8206
 
#define MXIO_V3_EIO_TIME_OUT   0x8210
 
#define MXIO_V3_EIO_INIT_SOCKETS_FAIL   0x8211
 
#define MXIO_V3_EIO_CREATING_SOCKET_ERROR   0x8212
 
#define MXIO_V3_EIO_RESPONSE_BAD   0x8213
 
#define MXIO_V3_EIO_SOCKET_DISCONNECT   0x8214
 
#define MXIO_V3_PROTOCOL_TYPE_ERROR   0x8215
 
#define MXIO_V3_EIO_PASSWORD_INCORRECT   0x8216
 
#define MXIO_V3_PRODUCT_NOT_SUPPORT   0x8217
 
#define MXIO_V3_HANDLE_ERROR   0x8218
 
#define MXIO_V3_SLOT_OUT_OF_RANGE   0x8219
 
#define MXIO_V3_CHANNEL_OUT_OF_RANGE   0x8220
 
#define MXIO_V3_COIL_TYPE_ERROR   0x8221
 
#define MXIO_V3_REGISTER_TYPE_ERROR   0x8222
 
#define MXIO_V3_FUNCTION_NOT_SUPPORT   0x8223
 
#define MXIO_V3_OUTPUT_VALUE_OUT_OF_RANGE   0x8224
 
#define MXIO_V3_INPUT_VALUE_OUT_OF_RANGE   0x8225
 
#define MXIO_V3_SLOT_NOT_EXIST   0x8226
 
#define MXIO_V3_FIRMWARE_NOT_SUPPORT   0x8227
 
#define MXIO_V3_CREATE_MUTEX_FAIL   0x8228
 
#define MXIO_V3_MEMORY_TOO_SMALL   0x8229
 
#define MXIO_V3_PARSING_DEVICE_NAME_ERROR   0x8240
 
#define MXIO_V3_PARSING_CHANNEL_NAME_ERROR   0x8241
 
#define MXIO_V3_PARSING_INPUT_NAME_ERROR   0x8242
 
#define MXIO_V3_BLOCK_OK   0x0000
 
#define MXIO_V3_BLOCK_ERR_SIZE   0x0001
 
#define MXIO_V3_BLOCK_ERR_SLOT   0x0002
 
#define MXIO_V3_BLOCK_ERR_TYPE   0x0003
 
#define MXIO_V3_BLOCK_ERR_SUBTYPE   0x0004
 
#define MXIO_V3_BLOCK_ERR_FUNCTION   0x0005
 
#define MXIO_V3_BLOCK_ERR_START_OBJ   0x0006
 
#define MXIO_V3_BLOCK_ERR_TOTAL_OBJ   0x0007
 
#define MXIO_V3_CH_OK   0x00
 
#define MXIO_V3_CH_ERR_LOCKED   0x01
 
#define MXIO_V3_CH_ERR_READ_ONLY   0x02
 
#define MXIO_V3_CH_ERR_SUBTYPE   0x03
 
#define MXIO_V3_CH_ERR_DATA_TYPE   0x04
 
#define MXIO_V3_CH_ERR_DATA   0x05
 
#define MXIO_V3_CH_ERR_DISABLE   0x06
 
#define MXIO_V3_CH_ERR_BOOLEAN_ONLY   0x07
 
#define MXIO_V3_CH_ERR_WRITE_FAIL   0x08
 
#define MXIO_V3_CH_ERR_PARSING_STR_FAIL   0x09
 
#define MXIO_AI_BURNOUT_STATUS_NORMAL   0
 
#define MXIO_AI_BURNOUT_STATUS_BURNOUT   1
 
#define MXIO_AI_BURNOUT_STATUS_OVER_RANGE   2
 
#define MXIO_AI_BURNOUT_STATUS_UNDER_RANGE   3
 
#define MXIO_TEMPERATURE_UNIT_C   0
 
#define MXIO_TEMPERATURE_UNIT_F   1
 
#define MXIO_TEMPERATURE_UNIT_MILLIVOLT   2
 
#define MXIO_TEMPERATURE_UNIT_RESISTANCE   3
 
#define MXIO_COUNTER_ACTIVE_MODE_RISING_EDGE   0
 
#define MXIO_COUNTER_ACTIVE_MODE_FALLING_EDGE   1
 
#define MXIO_COUNTER_ACTIVE_MODE_BOTH   2
 
#define IOTYPE_DI   0x000
 
#define IOTYPE_DO   0x100
 
#define IOTYPE_DIO   0x200
 
#define IOTYPE_RELAY   0x300
 
#define IOTYPE_AI   0x400
 
#define IOTYPE_AO   0x500
 
#define IOTYPE_TC   0x600
 
#define IOTYPE_RTD   0x700
 
#define IOTYPE_IR_WORD   0x800
 
#define IOTYPE_SERIALTAG   0x900
 
#define IOTYPE_SYS_SYSTEM   0xA00
 
#define IOTYPE_IR_FLOAT   0xC00
 
#define IOTYPE_IR_BOOL   0xE00
 
#define IOTYPE_IR_DWORD   0xF00
 
#define IOTYPE_POWER_EXT   0x1000
 
#define IOFUNC_DI_CH_MODE   1
 
#define IOFUNC_DI_DI_CH_VALUE   1000
 
#define IOFUNC_DI_COUNTER_CH_VALUE   2007
 
#define IOFUNC_DI_COUNTER_CH_START_STOP   2008
 
#define IOFUNC_DI_COUNTER_CH_OVERFLOW_FLAG   2010
 
#define IOFUNC_DO_CH_MODE   1
 
#define IOFUNC_DO_DO_CH_VALUE   1003
 
#define IOFUNC_DO_PULSE_CH_COUNT   2000
 
#define IOFUNC_DO_PULSE_CH_ON_WIDTH   2001
 
#define IOFUNC_DO_PULSE_CH_OFF_WIDTH   2002
 
#define IOFUNC_DO_PULSE_CH_STATUS   2006
 
#define IOFUNC_RELAY_CH_CURRENT_COUNT   2
 
#define IOFUNC_RELAY_CH_TOTAL_COUNT   3
 
#define IOFUNC_RELAY_RELAY_CH_VALUE   1003
 
#define IOFUNC_AI_CH_MODE   1
 
#define IOFUNC_AI_CH_BURNOUT_VALUE   5
 
#define IOFUNC_AI_CH_SCALED_VALUE   6
 
#define IOFUNC_AI_CH_MINIMUM_VALUE   7
 
#define IOFUNC_AI_CH_MAXIMUM_VALUE   8
 
#define IOFUNC_AI_CH_BURNOUT_STATUS   9
 
#define IOFUNC_AI_CH_RAW_VALUE   10
 
#define IOFUNC_AI_CH_MINIMUM_VALUE_RAW   12
 
#define IOFUNC_AI_CH_MAXIMUM_VALUE_RAW   13
 
#define IOFUNC_TC_CH_MODE   1
 
#define IOFUNC_TC_CH_VALUE_FLOAT   5
 
#define IOFUNC_TC_CH_MINIMUM_VALUE   6
 
#define IOFUNC_TC_CH_MAXIMUM_VALUE   7
 
#define IOFUNC_TC_CH_STATUS   9
 
#define IOFUNC_RTD_CH_MODE   1
 
#define IOFUNC_RTD_CH_VALUE_FLOAT   5
 
#define IOFUNC_RTD_CH_MINIMUM_VALUE   6
 
#define IOFUNC_RTD_CH_MAXIMUM_VALUE   7
 
#define IOFUNC_RTD_CH_STATUS   9
 
#define IOFUNC_IR_CH_VALUE   2
 
#define IOFUNC_SYS_LAN_IP   2
 
#define IOFUNC_SYS_SERVER_NAME   3
 
#define IOFUNC_SYS_FWR_VERSION   4
 
#define IOFUNC_SYS_LIVE_TIME_SEC   5
 
#define IOFUNC_SYS_DATETIME   15
 
#define IOFUNC_SYS_SERIAL_NUM   16
 
#define IOFUNC_SYS_ERROR   17
 
#define IOFUNC_SYS_LAN_MAC   18
 
#define IOFUNC_POWER_SP_STATUS   0
 
#define IOFUNC_POWER_SP_ALARM_VALUE   1
 
#define IOFUNC_POWER_FP_STATUS   2
 
#define DATA_TYPE_UNKNOWN   0
 
#define DATA_TYPE_BYTE   1
 
#define DATA_TYPE_WORD   2
 
#define DATA_TYPE_DWORD   3
 
#define DATA_TYPE_INT   4
 
#define DATA_TYPE_FLOAT   5
 
#define DATA_TYPE_STRING   6
 
#define DATA_TYPE_DATE   7
 
#define DATA_TYPE_TIME   8
 
#define DATA_TYPE_BINARY   9
 
#define CHINFO_DI_DI   0x001
 
#define CHINFO_DI_COUNTER   0x002
 
#define CHINFO_DO_DO   0x101
 
#define CHINFO_DO_PULSE   0x102
 
#define CHINFO_DIO_DI   0x201
 
#define CHINFO_DIO_COUNTER   0x202
 
#define CHINFO_DIO_DO   0x203
 
#define CHINFO_DIO_PULSE   0x204
 
#define CHINFO_RELAY_RELAY   0x301
 
#define CHINFO_RELAY_PULSE   0x302
 
#define CHINFO_AI_DISABLED   0x400
 
#define CHINFO_AI_150mV   0x401
 
#define CHINFO_AI_500mV   0x402
 
#define CHINFO_AI_5V   0x403
 
#define CHINFO_AI_10V   0x404
 
#define CHINFO_AI_0_20mA   0x405
 
#define CHINFO_AI_4_20mA   0x406
 
#define CHINFO_AI_0_10V   0x407
 
#define CHINFO_AI_4_20mA_BurnOut   0x408
 
#define CHINFO_AI_M10V_10V   0x409
 
#define CHINFO_AO_DISABLED   0x500
 
#define CHINFO_AO_4_20mA   0x501
 
#define CHINFO_AO_0_10V   0x502
 
#define CHINFO_TC_DISABLED   0x600
 
#define CHINFO_TC_J_TYPE   0x601
 
#define CHINFO_TC_K_TYPE   0x602
 
#define CHINFO_TC_T_TYPE   0x603
 
#define CHINFO_TC_E_TYPE   0x604
 
#define CHINFO_TC_R_TYPE   0x605
 
#define CHINFO_TC_S_TYPE   0x606
 
#define CHINFO_TC_B_TYPE   0x607
 
#define CHINFO_TC_N_TYPE   0x608
 
#define CHINFO_TC_VOL_78126   0x609
 
#define CHINFO_TC_VOL_39062   0x60A
 
#define CHINFO_TC_VOL_19532   0x60B
 
#define CHINFO_RTD_DISABLED   0x700
 
#define CHINFO_RTD_PT100   0x701
 
#define CHINFO_RTD_PT200   0x702
 
#define CHINFO_RTD_PT500   0x703
 
#define CHINFO_RTD_PT1000   0x704
 
#define CHINFO_RTD_JPT100   0x705
 
#define CHINFO_RTD_JPT200   0x706
 
#define CHINFO_RTD_JPT500   0x707
 
#define CHINFO_RTD_JPT1000   0x708
 
#define CHINFO_RTD_NI100   0x709
 
#define CHINFO_RTD_NI200   0x70A
 
#define CHINFO_RTD_NI500   0x70B
 
#define CHINFO_RTD_NI1000   0x70C
 
#define CHINFO_RTD_RES_310   0x70D
 
#define CHINFO_RTD_RES_620   0x70E
 
#define CHINFO_RTD_RES_1250   0x70F
 
#define CHINFO_RTD_RES_2200   0x710
 
#define CHINFO_RTD_PT50   0x711
 
#define CHINFO_RTD_NI120   0x712
 
#define CHINFO_IR_WORD   0x801
 
#define CHINFO_IR_FLOAT   0x802
 
#define CHINFO_IR_BOOL   0x803
 
#define CHINFO_IR_DWORD   0x804
 
#define CHINFO_SERIALTAG_BYTE   0x901
 
#define CHINFO_SERIALTAG_WORD   0x902
 
#define CHINFO_SERIALTAG_DWORD   0x903
 
#define CHINFO_SERIALTAG_INT   0x904
 
#define CHINFO_SERIALTAG_FLOAT   0x905
 
#define CHINFO_VC_MAXIMUM   0xB01
 
#define CHINFO_VC_MINIMUM   0xB02
 
#define CHINFO_VC_AVERAGE   0xB03
 
#define CHINFO_VC_ACCUMULATION   0xB04
 
#define CHINFO_VC_INSTANTANEOUS   0xB05
 
#define CHINFO_VC_INCREMENTAL   0xB06
 

Typedefs

typedef void(CALLBACKpfnREADCALLBACK )(WORD wBlockQuantity, int *pRecvReadBlockData, void *pParam)
 
typedef void(CALLBACKpfnWRITECALLBACK )(WORD wBlockQuantity, int *pRecvWriteBlockData, void *pParam)
 
typedef void(CALLBACKpfnCLEARCALLBACK )(WORD wBlockQuantity, int *pRecvClearBlockData, void *pParam)
 
typedef void(CALLBACKpfnSTRREADCALLBACK )(int *pRecvReadData, void *pParam)
 
typedef void(CALLBACKpfnSTRWRITECALLBACK )(int *pRecvWriteData, void *pParam)
 
typedef void(CALLBACKpfnSTRCLEARCALLBACK )(int *pRecvClearData, void *pParam)
 
typedef CMXIO_V3_4500 *(* PFNCREATEMXIO_V3_4500 )()
 
typedef void *(* PFNDESTROYMXIO_V3_4500 )(CMXIO_V3_4500 *pMXIO_V3_4500)
 

Functions

MXIO_V3_API CMXIO_V3_4500CreateMXIO_4500 ()
 
MXIO_V3_API void DestroyMXIO_4500 (CMXIO_V3_4500 *pMXIO_V3_4500)
 

Detailed Description

Moxa MXIO Library

Date
03-26-2019
Author
Daniel Chang
Version
V3.0.0