Добрый вечер. Подскажите где можно подробно почитать про Алармы? как настраивать, как сбрасывать и т.д.
Вид для печати
Добрый вечер. Подскажите где можно подробно почитать про Алармы? как настраивать, как сбрасывать и т.д.
Добрый день.
Начать можно с этого видео:
https://youtu.be/LlLMSElG59I
Подробнее здесь в п. 7.8:
https://ftp.owen.ru/CoDeSys3/11_Docu..._Visu_v3.0.pdf
Добрый день. Подскажите есть код:
к astErrorData[1-50].xAlarm присваивается ошибка, а xResetErrorMessage соответственно сброс. Как или с помощью чего можно сделать проверку на исключение чтобы astErrorData[0].xAlarm присвоить значение которое сообщает что нету ошибок?Цитата:
//Сброс ошибки
IF xResetErrorMessage THEN
FOR i := 0 TO c_ierrorCount DO
astErrorData[i].xAlarm := FALSE;
END_FOR
END_IF
FOR i := 1 TO c_ierrorCount DO
IF NOT astErrorData[i].xAlarm THEN
astErrorData[0].xAlarm := TRUE;
astErrorData[0].wsMessage := MB_ERROR_PLC_TO_WSTRING(ErrorCode.Error00);
END_IF
END_FOR
Добрый день.
Нужно, чтобы astErrorData[0].xAlarm имело значение TRUE только в том случае, если все astErrorData[1-50].xAlarm равны FALSE?
Или в чем именно задача?
Код://Сброс ошибки
IF xResetErrorMessage THEN
FOR i := 0 TO c_ierrorCount DO
astErrorData[i].xAlarm := FALSE;
END_FOR
END_IF
FOR i := 1 TO c_ierrorCount DO
IF NOT astErrorData[i].xAlarm THEN
astErrorData[0].xAlarm := TRUE;
astErrorData[0].wsMessage := MB_ERROR_PLC_TO_WSTRING(ErrorCode.Error00);
ELSE
// есть ошибка
astErrorData[0].xAlarm := FALSE;
astErrorData[0].wsMessage := MB_ERROR_PLC_TO_WSTRING(...); // укажите код нужной ошибки
END_IF
END_FOR
До проверки всего массива вы не можете однозначно утверждать, какое значение должен иметь astErrorData[0].xAlarm.
Так что, на мой взгляд, обработчик должен быть не в начале кода.