
Сообщение от
Нидвораич
я только начинаю въезжать в Кодесис, поэтому не полностью пока что очевидна внутренняя кухня работы её частей. Вы к список тревог получаете через какую-то библиотеку? Или просто при возникновении/снятии тревоги вызываете самописные ФБ для подсчёта активных тревог?
Все самописное. Не привык разбираться в чужих кодах, тем более мне такой функционал не нужен. Лог тоже самописный.
Вот пример (на механизм 32 ошибки с квитированием, можно и больше, а механизмов столько, сколько потянет ПЛК):
11111.png
Активные аварии темнокрасные с миганием, пассивные (квитированные) вот такие...
PS Пример кода для квитирования аварий:
Код:
//Обработка аварий в полуавтоматическом режиме
//FOR ix:= 1 TO 4 DO
// MU210_402[ix]:= FALSE; //Блокировка управления питателем №ix от пульта
//END_FOR
FOR ix:= 1 TO 8 DO
TMP_STA_ALA[ix]:= FALSE; //Сброс бита аварии
IF NOT MV210_204_2[ix] THEN TMP_ALA_MEM[ix]:= TRUE; END_IF //Взвод бита аварии в память
IF TMP_ALA_MEM[ix] AND TMP_COM_RES THEN TMP_ALA_CON[ix]:= TRUE; END_IF //Взвод бита подтветждения аварии
IF TMP_ALA_CON[ix] AND MV210_204_2[ix] THEN
TMP_ALA_MEM[ix]:= FALSE; //Сброс бита аварии из памяти при отсутствии аварии после подтверждения
TMP_ALA_CON[ix]:= FALSE; //Сброс бита подтветждения аварии при отсутствии аварии после подтверждения
END_IF
IF TMP_ALA_MEM[ix] THEN
TMP_STA_ALA[ix]:= TRUE; //Взведение бита аварии
END_IF
END_FOR
TMP_COM_RES:= FALSE; //Сброс аварии - сбросить бит
FOR ix:= 1 TO 4 DO
MU210_402[ix]:= TMP_STA_ALA[1 + (ix - 1) * 2] OR TMP_STA_ALA[2 + (ix - 1) * 2]; //Блокировка управления питателем №ix от пульта
END_FOR
//Обработка аварий в полуавтоматическом режиме
Тут не для механизма, а в кучу все...