Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

[Do-more H2-DM1E] Зависание вычислений LERP

 Ответить Ответить
Автор
Сообщение
FPavel Смотреть выпадающим
Новичок
Новичок


Присоединился: 22 Июнь 2009
Категория: Russian Federation
Online Status: Offline
Публикации: 19
Свойства публикации Свойства публикации   Ответить, цитируя автора - FPavel Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: [Do-more H2-DM1E] Зависание вычислений LERP
    Опубликовано: 31 Август 2018 20:30
При использовании инструкции LERP прекратились вычисления с её применением.

Программа корректно работала с некорректными данными (три одинаковых первых входных значения) примерно неделю.

Потребовалось обновить программу в RUN mode. После обновления вычисления прекратились.

Стал искать причину, и после ввода уникальных входных значений всё заработало.

В справке нашёл:
"Each of the data pairs must have a unique Input Point value, and must be sorted into increasing order by those Input Point values."

Понятно, что теплотехник при наладке с панели ввел некорректные данные. Потом всё работало неделю и, после обновления в RUN mode, вычисления обнаружили некорректные данные и стали пропускать инструкцию LERP, прекратилось обновление выходной переменной.

Вопрос в следующем - как программно диагностировать некорректные данные? Есть встроенные средства или нужно для каждой инструкции LERP набирать цикл проверки возрастания входных данных?
Наверх
Astilya Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 18 Декабрь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 275
Свойства публикации Свойства публикации   Ответить, цитируя автора - Astilya Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Сентябрь 2018 11:48
Павел, добрый день!

Абсолютной защиты "от дурака", увы, не существует.
Оффтоп: кто Вам запрещает на "механике" с пятой скорости врубить первую? Что будет с машиной при этом?
Или на "автомате" - на ходу в 100км/ч уйти в режим "парковка"?

Вы, безусловно, можете попробовать анализировать каждую константу на совпадение с прочими заданными. И это можно сделать только частью прикладной программы (встроенных функций такого анализа нет). Но насколько разумен такой подход? Отяготите программу панели или контроллера большими кусками кода - начнутся претензии к скорости реакции. Более того, вот тот же самый оператор начнет вводить так же с ошибкой. Программа не воспримет - видимо, Вы запрограммируете, чтобы оператору выдавалось сообщение об ошибке ввода, потому что константы не должны совпадать и проч.
Так мб все же разумней операторов научить как следует? Вернее, потребовать с них в должностной инструкции определенных правил по вводу параметров? Под их, естественно, ответственность!
Иначе все равно же тупик! Программа за оператора данные не придумает - она сможет только ругаться на неправильный ввод. Если оператор не понимает - что вводить, то это "клинч".
Другими словами, приходим в любом случае к тому, что оператор должен понимать технологический процесс и его отображение на панели.
Наверх
FPavel Смотреть выпадающим
Новичок
Новичок


Присоединился: 22 Июнь 2009
Категория: Russian Federation
Online Status: Offline
Публикации: 19
Свойства публикации Свойства публикации   Ответить, цитируя автора - FPavel Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 03 Сентябрь 2018 21:02
Astilya, добрый день!

Жаль. Я надеялся на собственную невнимательность - что пропустил какой-нибудь флаг состояния (деление на ноль или подобное), который нужно проверять сразу после LERP - ведь LERP диагностирует нарушение (хоть и не сразу, а лишь после обновления ПО) и пропускает вычисления (именно пропускает, т.к. выходная переменная не обновляется), может быть и "наружу" как-то об этом сообщает.

Но-нет, значит нет.

Непредсказуемость момента зависания вычислений страшнее. Сделаю циклы проверки возрастания элементов для каждой таблицы. Их можно не в каждом цикле сканирования проверять, а с некоторой периодичностью. При нарушении - сообщение в соответствующем экране панели, чтобы при вводе сразу обратить внимание.
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz