NE-4100 Series User’s Manual

DIO Commands

//define DIO Packet format

 

//Used for Command and ACK packet

 

typedef struct _DIO_Packet_Struct {

 

DIOHeaderStructheader;

 

char data[255];

 

} DIOPacketStruct, *pDIOPacketStruct;

 

Command Code Usage

1.Reading Single DIO Parameters:

Command code: 1(hex)

Version: 2(hex)

Command Status: doesn’t matter

Length of data: 1(hex), represents one byte.

data[0]: Fill in the number of the DIO you wish to access. The DIO number starts from 0(hex). Return:

Command Status: Check the Command Status code on the previous page.

Length of data: 3(hex). Must be 3 bytes of return code in this mode.

data[0]: The number of the DIO you wish to access.

data[1]: DIO mode(hex), 0 for IN, 1 for OUT

data[2]: DIO status(hex), 0 for LOW, 1 for HIGH

C code example:

BOOL ReadSingleDIO(int port, int *mode, int *status)

{

DIOPacketStruct packet;

packet.header.command = 1;

// read single DIO command

packet.header.version = 2;

// DIO protocol version

packet.header.length = 1;

// data length

packet.data[0] = (char)port;

// Number of the DIO

send(SocketFd, (char *)&packet, sizeof(DIOHeaderStruct)+1, 0); //Send TCP Packet

//Process the returned data here. return TRUE;

}

2.Writing a Single DIO Parameters:

Command code: 2(hex)

Version: 2(hex)

Command Status: doesn’t matter

Length of data: 3(hex); represents three bytes.

data[0]: The number of the DIO you wish to access.

data[1]: DIO mode(hex), 0 for IN, 1 for OUT

data[2]: DIO status(hex), 0 for LOW, 1 for HIGH Return:

Command Status: Check the Command Status code on the previous page.

Length of data: 3(hex). Must be 3 bytes of return code in this mode.

data[0]: The number of the DIO you wish to access.

data[1]: DIO mode(hex), 0 for IN, 1 for OUT

data[2]: DIO status(hex), 0 for LOW, 1 for HIGH

C-2

Page 82
Image 82
Moxa Technologies NE-4100 user manual Command Code Usage Reading Single DIO Parameters, Writing a Single DIO Parameters