Страница 569 из 713 ПерваяПервая ... 69469519559567568569570571579619669 ... ПоследняяПоследняя
Показано с 5,681 по 5,690 из 7128

Тема: CODESYS V3.5. Вопросы и ответы

  1. #5681

    По умолчанию

    Добрый вечер. Подскажите где можно подробно почитать про Алармы? как настраивать, как сбрасывать и т.д.

  2. #5682
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,207

    По умолчанию

    Цитата Сообщение от sco-scorpion Посмотреть сообщение
    Добрый вечер. Подскажите где можно подробно почитать про Алармы? как настраивать, как сбрасывать и т.д.
    Добрый день.
    Начать можно с этого видео:
    https://youtu.be/LlLMSElG59I

    Подробнее здесь в п. 7.8:
    https://ftp.owen.ru/CoDeSys3/11_Docu..._Visu_v3.0.pdf

  3. #5683

    По умолчанию

    Добрый день. Подскажите есть код:
    //Сброс ошибки
    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[1-50].xAlarm присваивается ошибка, а xResetErrorMessage соответственно сброс. Как или с помощью чего можно сделать проверку на исключение чтобы astErrorData[0].xAlarm присвоить значение которое сообщает что нету ошибок?

  4. #5684

  5. #5685

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Нужно, чтобы astErrorData[0].xAlarm имело значение TRUE только в том случае, если все astErrorData[1-50].xAlarm равны FALSE?
    да, все верно

  6. #5686
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,207

    По умолчанию

    Код:
    //Сброс ошибки
    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

  7. #5687

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Код:
    //Сброс ошибки
    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 сразу присваивается TRUE. Есть ли разница где будет установлен обработчик этого события в начале кода или в конце?

  8. #5688
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,207

    По умолчанию

    До проверки всего массива вы не можете однозначно утверждать, какое значение должен иметь astErrorData[0].xAlarm.
    Так что, на мой взгляд, обработчик должен быть не в начале кода.

  9. #5689

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    До проверки всего массива вы не можете однозначно утверждать, какое значение должен иметь astErrorData[0].xAlarm.
    Так что, на мой взгляд, обработчик должен быть не в начале кода.
    Переместил в конец и все тоже самое. astErrorData[0].xAlarm принимает значение TRUE хотя другие значения тоже TRUE

  10. #5690
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,207

    По умолчанию

    Цитата Сообщение от sco-scorpion Посмотреть сообщение
    Переместил в конец и все тоже самое. astErrorData[0].xAlarm принимает значение TRUE хотя другие значения тоже TRUE
    Выложите простейший проект, в котором можно будет это воспроизвести.

Страница 569 из 713 ПерваяПервая ... 69469519559567568569570571579619669 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3209
    Последнее сообщение: 06.05.2024, 14:34
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 826
    Последнее сообщение: 30.04.2024, 20:16
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •