Jump to content
Форум по продукции MOXA

описание библиотеки MXIO


Recommended Posts

где можно найти информацию по структуре из библиотеки MXIO?

 

typedef struct _IOLOGIKSTRUCT

{

UINT8 BytMagic[4]; // "DAC?" //

UINT16 wVersion; // 0x0100 //struct define of version 1.0.0

UINT16 wLength; // nLength«бДтBytesјЖЎA§tCRC //

UINT16 wHWID; //for user to know which API to Read/write

 

UINT32 dwSrcIP;

UINT8 BytSrcMAC[6];

UINT8 BytMsgType; // for AP side to known what kind of Message return

UINT16 wMsgSubType; //

//------------------------

UINT16 wYear; // tag timestamp

UINT8 BytMonth;

UINT8 BytDay;

UINT8 BytHour;

UINT8 BytMin;

UINT8 BytSec;

UINT16 wMSec;

//-------------------------

UINT8 BytLastSlot; //add to notice the last slot, Range 0-16, 0=>myself only

UINT8 BytLastCh[sUPPORT_MAX_SLOT]; //add to notice the last Channel, Range 0-64, for each slot

//-------------------------

// support up to 16 slots and 64 channels //size:5408 bytes

UINT8 BytChType[sUPPORT_MAX_SLOT][sUPPORT_MAX_CHANNEL] ; // channel I/O type

UINT16 wSlotID[sUPPORT_MAX_SLOT]; // Slot Module ID

UINT8 BytChNumber[sUPPORT_MAX_SLOT][supportMaxChOfBit] ; // bitwised, 1=Enable, 0=Disable

_ANALOG_VAL dwChValue[sUPPORT_MAX_SLOT][sUPPORT_MAX_CHANNEL] ;

UINT8 BytChLocked[sUPPORT_MAX_SLOT][supportMaxChOfBit] ; // bitwised, 0=free, 1=locked

 

//-------------------------

//UINT8 BytCrc; //mark

} IOLOGIKSTRUCT, *pIOLOGIKSTRUCT;

Link to comment
  • 1 month later...
  • 3 weeks later...
  • 5 weeks later...

Здравствуйте!

Как такового описания нет. Однако, ниже приводится несколько реккомендаций, которые могут помочь Вам разобраться.

Можно посмотреть в примерах и «разведать» значение переменных в структуре.

 

Смотрим примеры для ioLogik E1200 Active Tag:

(\Program Files (x86)\MOXA\MXIO\example\VC\ioLogik 1200\ActiveTag\ActiveTag.cpp)

 

getActiveTagMessage() – Эта функция берет информацию по временным меткам и выводит на print.

 

void CALLBACK getActiveTagMessage( IOLOGIKSTRUCT data[], WORD* wMutex )

{

sprintf( DbgStr, "Recv Active Tag!***********************\n");

MOXA_PRINTF( DbgStr);

 

int g, f, iSlot;

if(data != NULL)

{

f=0;

CheckModuleType( data->wHWID, &DbgStr[f], f);

CheckMsgType( data->BytMsgType, &DbgStr[f], f);

 

f += sprintf( &DbgStr[f],"IP:%d.%d.%d.%d\n",

(data->dwSrcIP&0x000000FF),((data->dwSrcIP&0x0000FF00)>>8),

((data->dwSrcIP&0x00FF0000)>>16),((data->dwSrcIP&0xFF000000)>>24));

f += sprintf( &DbgStr[f],"MAC:%02X-%02X-%02X-%02X-%02X-%02X\n",

data->BytSrcMAC[0],data->BytSrcMAC[1],data->BytSrcMAC[2],

data->BytSrcMAC[3],data->BytSrcMAC[4],data->BytSrcMAC[5]);

f += sprintf( &DbgStr[f],"Time:%d/%02d/%02d %02d:%02d:%02d.%03d\n",

data->wYear,data->BytMonth,data->BytDay,

data->BytHour,data->BytMin,data->BytSec,data->wMSec);

MOXA_PRINTF( DbgStr);

 

Далее можно посмотреть соответствующую структуру в заголовке

 

typedef struct _IOLOGIKSTRUCT

{

UINT8 BytMagic[4]; // "DAC?" //

UINT16 wVersion; // 0x0100 //struct define of version 1.0.0

UINT16 wLength; // nLength Bytes tCRC //

UINT16 wHWID; //for user to know which API to Read/write

 

UINT32 dwSrcIP;

UINT8 BytSrcMAC[6];

UINT8 BytMsgType; // for AP side to known what kind of Message return

UINT16 wMsgSubType; //

//------------------------

UINT16 wYear; // tag timestamp

UINT8 BytMonth;

UINT8 BytDay;

UINT8 BytHour;

UINT8 BytMin;

UINT8 BytSec;

UINT16 wMSec;

//-------------------------

 

В принципе, все остальное должно быть ясно из комментариев. Но, если есть вопрсы по назначению конкретных переменных - можем их также запросить.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...