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 и никогда не вызывается.