Обозначение:
Описание:
Блок IECBufIn используется совместно с блоками IEC101uni, IEC104uni и IEC104Server
как входной буфер.
Назначение входов и выходов:
Входы:
-
itr – вход для подключения к блоку IEC104uni.
tid – тип ASDU (Type ID). Определяется протоколом. Допустимые значения на входе описаны на странице: Описание
adr – общий адрес ASDU (Common Address of ASDU).
itg – группа общего опроса станции (Interrogation Group) (не используется).
dcl – класс данных (Data Class) (не используется).
ioai – адрес объекта информации.
tpi – тип данных на выходах*. Определяется средой Polygon. Допустимые значения на входе:
- DO (char), uDO (unsigned char)
- IO (short), uIO (unsigned short)
- LO (long), uLO (unsigned long), LX (int32_t), uLX (uint32_t)
- AO (float)
flgi – флаги (не используется).
inii – вход данных для начальной инициализации выхода.
ctli – управление (не используется).
Выходы:
-
bi – (не используется).
oi – выход данных.
qlfi – выход имеет различные функции, в зависимости от типа объекта информации:
1 – для типов M_* (кроме M_IT_*) - как выход значения квалификатора, определяется протоколом:
- бит 0 – OV (переполнение) (для типов M_ME_xx_1).
- бит 4 – BL (блокировка) (для типов M_xx_xx_1).
- бит 5 – SB (проведено замещение) (для типов M_xx_xx_1).
- бит 6 – NT (неактуальное значение) (для типов M_xx_xx_1).
- бит 7 – IV (недействительное значение) (для типов M_xx_xx_1).
2 – для типов M_IT_* - как выход вспомогательных полей данных**, определяется протоколом:
- бит 0 - бит 4 – SQ (номер последовательности).
- бит 5 – CY (блокировка).
- бит 6 – CA (счетчик установлен).
- бит 7 – IV (недействительно).
tm1i – выход времени, младшее слово***.
tm2i – выход времени, старшее слово***.
stsi – статус (не используется).
- бит 0 – выход обновился (строб 100мс).
Замечания
Все значения на входах блоков, за исключением входов данных и управления, фиксируются при компиляции проекта. Это
означает,
что изменение значений на этих входах в режиме отладки не будут иметь эффекта.
*Для типов ASDU M_EP_* необходимо использовать базовый тип uLX на входе tpi, т.к. выходные данные для данного ASDU структурированны. Для расшифровки структуры используется блок IECEPFromInt.
Необходимо следить за тем, что бы тип данных на входе tpi соответствовал типу данных, передаваемых протоколом. Например: для типов ASDU C_BO_*_1, M_BO_*_1, следует установить тип выхода uLX (uint32_t), т.к. для инкапсуляции передаваемых данных в протоколе используется структура данных типа uint32_t, для типов ASDU M_ME_NB_1, M_ME_TB_1, M_ME_TE_1, следует установить тип выхода II (short), т.к. для инкапсуляции используется структура данных типа int16_t. При несоответствии типов данных произойдет явное преобразование выходного типа к тому, которое использует протокол.
**Для расшифровки вспомогательных полей данных типов M_IT_* используется блок IECSQITIn.
***Для расшифровки данных о времени на выходах tm1i и tm2i используется блок IECTransTime.
*Для типов ASDU M_EP_* необходимо использовать базовый тип uLX на входе tpi, т.к. выходные данные для данного ASDU структурированны. Для расшифровки структуры используется блок IECEPFromInt.
Необходимо следить за тем, что бы тип данных на входе tpi соответствовал типу данных, передаваемых протоколом. Например: для типов ASDU C_BO_*_1, M_BO_*_1, следует установить тип выхода uLX (uint32_t), т.к. для инкапсуляции передаваемых данных в протоколе используется структура данных типа uint32_t, для типов ASDU M_ME_NB_1, M_ME_TB_1, M_ME_TE_1, следует установить тип выхода II (short), т.к. для инкапсуляции используется структура данных типа int16_t. При несоответствии типов данных произойдет явное преобразование выходного типа к тому, которое использует протокол.
**Для расшифровки вспомогательных полей данных типов M_IT_* используется блок IECSQITIn.
***Для расшифровки данных о времени на выходах tm1i и tm2i используется блок IECTransTime.