Показано с 1 по 5 из 5

Тема: Еще замечания

  1. #1

    По умолчанию Еще замечания

    Обнаруженные ошибки:

    1. Как пишет Евгений Пашигоров http://www.owen.ru/forum/showthread.php?t=345, имею ошибки при логине, хотя работаю через RS232. Иногда помогает только нажатие Reset на контроллере.

    2. При установке времени фильтрации по входу значение, похоже, задается в единицах мс, а не в 100мкс как написано в руководстве пользователя по конфигурированию области ввода/вывода ПЛК. Это ее исправили в прошивке v2.00.3?

    3. А, вот это уже очень неприятно: в процессе работы замечено кратковременное самопроизвольное переключение выхода! Код:
    LD %IX0.0 (* вход запуска – «выключатель» (не кнопка) *)
    AND %IX0.1 (* И н.з. контакт теплового реле – замкнут *)
    AND (%QX1.2 (* И выход уже установлен *)
    ORN FanOnFP (* ИЛИ пришел положительный фронт на вход запуска *)
    )
    ST %QX1.2 (* выход *)
    LD %IX0.0 (* вход запуска *)
    ST FanOnFP (* выделение положительного фронта *)
    Поясню: включаю выход только по фронту на входе, далее - пока на входе 1 - выход остается включен.
    Включаем, в процессе работы (без всяких переключений входа) несколько раз в сутки происходит отключение, и через промежуток в доли секунды – возврат выхода во включенное состояние .

    Предложения, пожелания, хотя все это и так должно быть:

    1. При переходе в "Стоп" контроллер должен переводить выходы в безопасное состояние (false - по умолчанию), понимаю, что это можно реализовать программно, но ИМХО контроллер это должен делать сам!

    2. При возникновении ошибки контроллер должен уходить в "Стоп", а не в перезагрузку! Только когда требуется обработка ошибок, в программе создаются специальные POU (и назначаются через Task configuration). При уходе в "Стоп" ПЛК должен сохранять (в энергонезависимой памяти) причину, и номер POU в котором произошла ошибка.

    3. Простое отключение питания (без буферизации, да и как часто она нужна?), с последующей полной загрузкой ПЛК при возобновлении питания. Лучше если использование аккумулятора для поддержания работы программы в ПЛК при перерывах в питании будет включаться (только при необходимости) программно, или через ПЛК-конфигуратор.

  2. #2

    По умолчанию

    Цитата Сообщение от Generator Посмотреть сообщение
    Обнаруженные ошибки:


    1. При переходе в "Стоп" контроллер должен переводить выходы в безопасное состояние (false - по умолчанию), понимаю, что это можно реализовать программно, но ИМХО контроллер это должен делать сам!

    2. При возникновении ошибки контроллер должен уходить в "Стоп", а не в перезагрузку! Только когда требуется обработка ошибок, в программе создаются специальные POU (и назначаются через Task configuration). При уходе в "Стоп" ПЛК должен сохранять (в энергонезависимой памяти) причину, и номер POU в котором произошла ошибка.

    3. Простое отключение питания (без буферизации, да и как часто она нужна?), с последующей полной загрузкой ПЛК при возобновлении питания. Лучше если использование аккумулятора для поддержания работы программы в ПЛК при перерывах в питании будет включаться (только при необходимости) программно, или через ПЛК-конфигуратор.
    1. Состояние STOP отличается от переключения в безопасное состояние именно тем, что происходит контролируемо программистом и может включать в себя не только выставление выходов в нужное состояние, но и подачу управляющих импульсов на др. приборы по сети, оповещение SCADA и многое другое. Как это реализовать нам, универсально и чтоб подходило для всех задач?
    А безопасное состояние - это критическая ситуация, когда контроль уже потерян.

    2. Те ошибки, к-е приводят к перезагрузке, уже не позволяют перейти в состояние СТОП. Это или WatchDog, или сбой по питанию или внешний резет.

    3. Возможно мы так и сделаем. Но как быть с Retain? Их записывать или нет? Что Вы понимаете под буфферизацией?


    По поводу фильтрации - см. пункт 2.1.1 все подробно описано.

    Время фильтрации – это период опроса состояния одного дискретного входа, задается в сотнях микросекунд (1 ед. = 100 мкс, 10 ед. = 1 мс).
    Принцип действия фильтрации:
    в сдвиговом регистре в драйвере каждого дискретного входа накапливаются значения восьми последних состояний, полученных в результате опроса с периодом, заданным в параметре «Время фильтрации»;
    если состояние битового канала дискретного входа равно 1 (TRUE), а количество единиц в сдвиговом регистре менее двух, то битовый канал переключается на 0 (FALSE);
    если состояние битового канала равно 0 (FALSE), а количество единиц в сдвиговом регистре больше пяти, то битовый канал переключается на 1 (TRUE);
    если количество единиц в сдвиговом регистре от 2 до 5, то состояние битового канала дискретного входа не меняется.
    Последний раз редактировалось Филоненко Владислав; 12.04.2007 в 16:36.
    Тролль-наседка, добрый, нежный и ласковый

  3. #3

    По умолчанию

    Цитата Сообщение от Generator Посмотреть сообщение
    Обнаруженные ошибки:

    3. А, вот это уже очень неприятно: в процессе работы замечено кратковременное самопроизвольное переключение выхода! Код:
    LD %IX0.0 (* вход запуска – «выключатель» (не кнопка) *)
    AND %IX0.1 (* И н.з. контакт теплового реле – замкнут *)
    AND (%QX1.2 (* И выход уже установлен *)
    ORN FanOnFP (* ИЛИ пришел положительный фронт на вход запуска *)
    )
    ST %QX1.2 (* выход *)
    LD %IX0.0 (* вход запуска *)
    ST FanOnFP (* выделение положительного фронта *)
    Поясню: включаю выход только по фронту на входе, далее - пока на входе 1 - выход остается включен.
    Включаем, в процессе работы (без всяких переключений входа) несколько раз в сутки происходит отключение, и через промежуток в доли секунды – возврат выхода во включенное состояние .
    Признанная производителем проблема железа(внутреннего ПО) ПЛК вроде бы уже решенная во вновь производимых приборах решайте этот вопрос через ваших поставщиков.
    Последний раз редактировалось Кулагин Павел; 12.04.2007 в 17:39. Причина: опечатка

  4. #4

    По умолчанию

    Владиславу - тогда еще вопросы:

    1.1. Ладно, это терпимо, хотя несколько непривычно. Значит, придется всегда писать отдельный POU для защиты оборудования от «электрика», который может нажать «стоп» не вовремя...
    1.2. А, в каких случаях ПЛК переходит в «безопасное состояние», что означает «потеря контроля», и потеря контроля чего?

    2. Как показывает практика ПЛК уходит в перезагрузку не только при WatchDog, сбое по питанию и внешнему сбросу… (можно форум почитать), думаю, что во всех отличных от трех перечисленных выше ситуаций было бы лучше предусмотреть «безопасный стоп», а не перезагрузку.

    3.1. Retain надо писать, на то он и retain. При следующем запуске ПЛК, в POU инициализации всегда можно будет проверить последний уход (а куда кстати?) по ошибке и сбросить ошибочные переменные. А при проверке лога (при отладке ошибок) это может облегчить задачу.
    3.2. да, правильность применения термина «буферизация» здесь под вопросом, сори. Скажем «без резервирования питания» или проще - «без питания от батарей»

    По фильтрации стало понятно – получается время обновления входа в программе равно восьми заданным периодам. Спасибо за разъяснения.

    Прошу проанализировать ситуацию с «морганием» выхода.



    Павлу - проблемы прошивок внутреннего ПО устраняются на месте, только бы в свежей прошивке эти ошибки учли. А, вот по проблеме железа пожалуйста поясните.

  5. #5

    По умолчанию

    Цитата Сообщение от Generator Посмотреть сообщение
    Владиславу - тогда еще вопросы:

    1.2. А, в каких случаях ПЛК переходит в «безопасное состояние», что означает «потеря контроля», и потеря контроля чего?

    2. Как показывает практика ПЛК уходит в перезагрузку не только при WatchDog, сбое по питанию и внешнему сбросу… (можно форум почитать), думаю, что во всех отличных от трех перечисленных выше ситуаций было бы лучше предусмотреть «безопасный стоп», а не перезагрузку.


    По фильтрации стало понятно – получается время обновления входа в программе равно восьми заданным периодам. Спасибо за разъяснения.

    Прошу проанализировать ситуацию с «морганием» выхода.
    .
    1.2 - в случае зависания и при загрузке после вкл. питания

    2. Именно по watchdog-у. Архитектура использованного процессора не позволяет опознать и правильно отобразить все случаи срабатывания watchdog.


    По фильтрации - не 8, а 6 тактов опроса.

    Моргает при переходе в безопасное состояние, был выставлен слишком маленький таймаут перехода в безопасное состояние. Необходимо перепрошить нижний PIC-сонтроллер. (к сожалению, пока только в сервис-центре)
    Тролль-наседка, добрый, нежный и ласковый

Ваши права

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