TCOM6. Функции драйвера t11, вызываемые МРВ

  TCOM6 Prepare_xxx. Первое обращение к драйверу

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

  TCOM6 Set_xxx. Функция формирования сообщения

  TCOM6 zReadAny_xxx. Функция приема произвольного числа символов

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

  TCOM6 Get_xxx. Функция расшифровки сообщения

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

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

TCOM6 Prepare_xxx. Первое обращение к драйверу

 

int Prepare_xxx(int type, char *str, int &type_cnv, int &q_out);

 

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

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

 

int zCompare_xxx(int runtime, IA &ia0, IA &ia1, int &count, void *ext_data0, void *ext_data1);

 

Параметры:

   runtime – 0, если функция вызывается при старте МРВ на этапе формирования блоковых запросов; не 0 при разборе блоковых запросов;

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

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

   count – число каналов, уже попавших в текущий блок;

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

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

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

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

Параметры ia0, ia1, count имеют такое же назначение, как и в интерфейсе TCOM5.

TCOM6 Set_xxx. Функция формирования сообщения

 

void Set_xxx(IA &ia, unsigned int &max_send, unsigned int &max_rec, int &q_rec, RSDATA *p, char *sbuf, void *ext_data);

 

Параметры:

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

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

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

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

   p – указатель на массив структур RSDATA, содержащий данные и их форматы. Этот параметр требуется, если канал имеет тип OUTPUT, – в этом случае элемент 0 массива содержит значение для записи в контроллер;

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

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

Если канал имеет тип 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;

Остальные параметры имеют такое же назначение, как и в интерфейсе TCOM5.

TCOM6 zReadAny_xxx. Функция приема произвольного числа символов

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

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

 

int Check_xxx(IA &ia, unsigned int &count_rec, unsigned int &max_rec, unsigned int &max_send, char *rbuf, void *ext_data, int q_rec);

 

Параметры:

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

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

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

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

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

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

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

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

TCOM6 Get_xxx. Функция расшифровки сообщения

 

int Get_xxx(IA &ia, unsigned int &count_rec, int &q_rec, RSDATA *p, char *rbuf, int &type_cnv, void *ext_data);

 

Параметры:

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

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

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

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

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

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

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

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

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

 

void zzTM6Stub();

 

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