Показано с 1 по 10 из 12

Тема: Обработка исключений

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Здравствуйте const3,
    Есть олимпиады/соревнования по программированию и в задании где необходимо было обработать ошибочные данные и тд. У победителя соревнований не было ни одного «try-catch-finally» и тд. все проверялось на предварительном этапе:
    1. Если корень квадратный из числа – с начало сравнивалось «число < нуля».
    2. Если надо было что-то перемножить сложить - проверялось «действительно ли число».
    и тд.

    Мораль сей басни такова: перепроверяйте все данные + исправность оборудования!!!
    Например:
    1. включили пускатель и через какое-то время должен замкнутся дополнительный контакт заведенный на ПЛК1хх, если не успел замкнутся неисправность! Выключение аналогично и тд.
    2. при преобразовании из DWORD (0-4294967295, 32 Bit) в WORD (0-65535, 16 Bit)
    Проверьте что бы Вам остались не только младшие биты, если DWORD>65535. Аналогично для REAL->WORD и тд.
    3. При включении программы или подачи питания на ПЛКххх подождите некоторое время прежде чем принимать решения, что давление/температура низкое и тд. Может просто данные не успели оцифровать или считать по RS485.
    4. Проверяйте данные на целостность если коэффициент пропорциональности для ПИД-регулятора = 0 значит что-то здесь не так. В этом случае заменить его своим значением подобранным после пусконаладки и дт.
    5. Если температура проветривания теплицы ниже задания значит надо либо задание температуры теплицы сделать ниже либо порог проветривания выше.
    6. Если неисправен датчик температуры наружного воздуха значит в автоматическом режиме прекратить управляющее воздействие на исполнительный механизм контура регулирования температуры подачи отопления. и тд.

    P. S. Функций обработки исключений в CoDeSys я тоже не встречал, но программы с таким подходом работают и ведут себя адекватно даже при неисправности датчиков и не верных уставок и тд :-)
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,256

    По умолчанию

    Цитата Сообщение от const3 Посмотреть сообщение
    Здраствуйте.
    Хорошим тоном для программиста является то, что в своей программе он должен предусмотреть все ситуации работы алгоритма, плохие данные и т.д. ... ...Как таковой обработки исключений я не нашел в CodeSys
    Цитата Сообщение от Gans Посмотреть сообщение
    P. S. Функций обработки исключений в CoDeSys я тоже не встречал, но программы с таким подходом работают и ведут себя адекватно даже при неисправности датчиков и не верных уставок и тд :-)
    Если брать языки высокого уровня для ПК, то в основном исключения касаются работы с файлами, с обменом по сети и т.п.. Подобные вещи в ПЛК работают посредством библиотек, К примеру берем документацию на бибку SysLibFile_RU и читаем что касается открытия файла
    SysFileOpen
    Функция типа DWORD, используется для открытия существующего или создания нового файла.Возвращает дескриптор файла, либо '0' в случае ошибки.
    Получая ноль это как раз и есть работа бибки обработавшей исключение
    SysLibMem_RU
    SysMemAlloc
    Функция типа DWORD, служит для динамического выделения памяти.
    Возвращаемое функцией значение есть указатель на выделенную память либо 0, если нет возможности выделить запрошенный объем памяти
    ну и так далее, кроме того к исключениям можно отнести и "злую собаку"

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 19.05.2012, 11:21
  2. плк110+мв110 обработка данных
    от woffka в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 19.02.2010, 16:45

Ваши права

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