TCOM6. Функции модуля описания протокола

  TCOM6 Open_yyy. Функция инициализации

  TCOM6 zCompare_yyy. Функция сравнения

  TCOM6 Set_yyy. Функция формирования посылаемого сообщения

  TCOM6 Check_yyy. Функция проверки

  TCOM6 Get_yyy. Функция расшифровки принятого сообщения

  TCOM6 Close_yyy. Функция завершения обмена

  TCOM6. Функция-признак интерфейса TCOM6

В данном разделе описаны отличия функций TCOM6 от одноименных функций TCOM5. Общие параметры функций описаны в разделе TCOM5. Функции модуля описания протокола .

TCOM6 Open_yyy. Функция инициализации

 

int Open_yyy(int &media, char *str, int &q_in, int &q_out, int &q_data);

 

Данная функция идентична функции Open_yyy TCOM5.

TCOM6 zCompare_yyy. Функция сравнения

 

int zCompare_yyy(IA &ia0, IA &ia1, int &count, void *ext_data0, void *ext_data1, DEF_MAINFLAG flags0, DEF_MAINFLAG flags1);

 

Параметры:

   ia0 – удаленный адрес первого канала;

   ia1 – удаленный адрес сравниваемого канала;

   count – число каналов в блоке;

   ext_data – дополнительная информация для первого канала;

   ext_data1 – дополнительная информация для сравниваемого канала;

   flags0 – битовая структура, набор значений основных атрибутов первого канала;

   flags1 – битовая структура, набор значений основных атрибутов сравниваемого канала.

Параметр ext_data является указателем на строку, заданную пользователем в поле Дополнительно, т.е.

const char* szExtString0 = *(char**)ext_data0;

Значения полей битовой структуры DEF_MAINFLAG описаны в заголовочном файле (см. TCOM6. Заголовок драйвера t12 ). Остальные параметры имеют такое же назначение, как и в интерфейсе TCOM5.

TCOM6 Set_yyy. Функция формирования посылаемого сообщения

 

int Set_yyy(IA &ia, int &max_send, int &max_rec, RSDATA *p, char *sbuf, void *ext_data, DEF_MAINFLAG flags, int &q_rec);

 

Параметры:

   ia – удаленный адрес канала;

   max_send – количество байтов для посылки;

   max_rec – количество байтов в ответе;

   p – указатель на массив структур RSDATA, содержащий данные и их форматы;

   sbuf – буфер для посылки;

   ext_data – дополнительная информация для канала;

   flags – битовая структура, набор значений основных атрибутов канала;

   q_rec – число посылаемых или запрашиваемых значений (передается в драйвер).

Если канал имеет тип OUTPUT, элемент 0 массива p содержит значение для записи в контроллер. Формат значения определяется флагом p[0].F.fmt[0]:

   p[0].F.fmt[0]=0 для данных в формате FLOAT; тогда p[0].V.v содержит посылаемое значение,

   p[0].F.fmt[0]=0x40 для 16-разрядных целочисленных данных, p[0].V.i[0] – посылаемое значение,

   p[0].F.fmt[0]=0x80 для 32-разрядных целочисленных данных, p[0].V.d – посылаемое значение.

Параметр ext_data является указателем на строку, заданную пользователем в поле Дополнительно, т.е.

const char* szExtString = *(char**)ext_data;

Значения полей битовой структуры DEF_MAINFLAG описаны в заголовочном файле (см. TCOM6. Заголовок драйвера t12 ). Остальные параметры имеют такое же назначение, как и в интерфейсе TCOM5.

TCOM6 Check_yyy. Функция проверки

 

int Check_yyy(IA &ia, int &count_rec, int &max_rec, char *rbuf, void *ext_data, DEF_MAINFLAG flags, int q_rec);

 

Параметры:

   ia – удаленный адрес канала;

   count_rec – число принятых байтов;

   max_rec – количество байтов в ответе;

   rbuf – буфер, содержащий принятое сообщение;

   ext_data – дополнительная информация для канала;

   flags – битовая структура, набор значений основных атрибутов канала;

   q_rec – число посылаемых или запрашиваемых значений.

Параметры ext_data, flags и q_rec аналогичны одноименным параметрам функции Set_yyy() TCOM6. Остальные параметры имеют такое же назначение, как и в интерфейсе TCOM5.

TCOM6 Get_yyy. Функция расшифровки принятого сообщения

 

int Get_yyy(IA &ia, int &count_rec, int &q_rec, RSDATA *p, char *rbuf, int &type_cnv, void *ext_data, DEF_MAINFLAG flags);

 

Параметры:

   ia – удаленный адрес канала;

   count_rec – число принятых символов;

   q_rec – число посылаемых или запрашиваемых значений;

   p – указатель на массив структур RSDATA, содержащий данные и их форматы;

   rbuf – буфер, содержащий принятое сообщение;

   type_cnv – тип разборки принятых данных;

   ext_data – дополнительная информация для канала;

   flags – битовая структура, набор значений основных атрибутов канала.

Параметры ext_data и flags аналогичны одноименным параметрам функции Set_yyy() TCOM6. Остальные параметры имеют такое же назначение, как и в интерфейсе TCOM5.

TCOM6 Close_yyy. Функция завершения обмена

Данная функция идентична функции Close_yyy TCOM5:

 

int Close_yyy();

 

TCOM6. Функция-признак интерфейса TCOM6

 

void zzTM6Stub();

 

Функция не имеет параметров, служит только для указания МРВ использовать интерфейс TCOM6 и никогда не вызывается.