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