Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 25

Тема: Проблемы после замены контроллера

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

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

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Случайно эти переменные на панель не выводятся?
    Случайно выводятся, но только когда не запущена программа
    для того чтоб эти же переменные ввести или проверить

    PS На протяжении недели збоев не наблюдалось, надеюсь так будет и дальше

  2. #2

    По умолчанию

    Не не не. Тут Retain, скорее всего, не причем.
    Не раз уже писалось - повторюсь.
    Когда контроллер Slave а панель Master, а я подозреваю ИП320, есть нюанс.
    Работа с областью ввода\вывода начинается раньше, чем выполнение программы, и, соответственно считывания программой Retain.
    В это время панель начав обмен видя отличные значения записывает в контроллер значения переменных при включении. А они... правильно - 0.
    Случается не всегда и не со всеми переменными - сколько успела панель записать - столько и успела.
    Как лечится.
    Добавляется модуль Statistica. В ней опрашивается переменная Power.
    В начале программы (в самом самом верху):
    if R_TRIG(power) then
    Присваиваем переменным, которые созданы для обмена с панелью, значения промежуточных, специально для этого созданных Retain переменных.
    a:=a_prom;
    ...
    end_if;

    ВАША ПРОГРАММА

    if F_TRIG(power) then
    Присваиваем промежуточным переменным значения наших переменных на момент снятия с ПЛК питания...
    a_prom:=a;
    end_if;

    Лечится 100% - сам проверял на паре объектов.

  3. #3

    По умолчанию

    Спасибо за информацию очень информативно

    Но все совсем не так .

    Панель СП270 стоит не мастером (в мастере постоянно выводилась табличка про потерю связи), поетому переменные опрашивать не может (если я правильно понимаю).

    Модуль статистики тоже стоит но показывает нереальные числа а пропадание питания вобще не видит. Ну да ладно, это не важно.

    А про Retain есть мысль одна, не знаю на сколько правильная, Дело в том что установку никто никогда не выключает и, возможно, учитивая полный заряд аккумулятора, контроллер не успевал начать сохранение переменных при выключении питания на 15-25 минут??? А в оперативке информация за это время мола и пропасть??? Хотелось бы знать ваше мнение про эту теорию

  4. #4

    По умолчанию

    Да кстати, если я правильно понял ваш пример, то при работе с ИП320 нужно было бы создавать два набора энергонезависимых переменных?

    Если так то мне бы этот вариант и не подошел переменные уже занимают 86% енергонезависимой памяти

  5. #5

    По умолчанию

    1.Набор переменных для Retain - один. Как раз для промежуточных переменных.
    К тому же есть пара обсуждений как уменьшить трафик за счет создания массивов в ПЛК, и записи значений в переменные обмена с панелью в зависимости от номера экрана панели.
    А закончилось у Вас 4КБ или 16 Retain памяти?
    2. Не появление таблички потеря связи ведет к невозможности опроса. А отсутствие ответа на запросы хотя бы по одному из расположенных на действующем экране элементов... То есть, скорее всего, в настройке обмена. (ИП320 или СП270 в данном случае без разницы). Так что рекомендую, если это конечно возможно вернуться в режим Панель - мастер. Это и трафик экономит (опрашиваются\записываются только параметры, используемые на действующем окне.

    Про работу на аккумуляторе.
    1.Ну во первых контроллер 25 минут на аккумуляторе вряд ли проработает.
    2. Ваше предположение на 90% может быть вероятным. И его легко проверить. Так как после пропадания питания программа продолжает выполнятся (пока аккумулятор не сядет) нужно понять: может ли программа присвоить вышеобсуждаемой переменной значение 0. Если не может - не оно...

  6. #6

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    1.
    А закончилось у Вас 4КБ или 16 Retain памяти?
    4 КВ, наверно, настройки не менял

    2. Не появление таблички потеря связи ведет к невозможности опроса. А отсутствие ответа на запросы хотя бы по одному из расположенных на действующем экране элементов... То есть, скорее всего, в настройке обмена. (ИП320 или СП270 в данном случае без разницы). Так что рекомендую, если это конечно возможно вернуться в режим Панель - мастер. Это и трафик экономит (опрашиваются\записываются только параметры, используемые на действующем окне.
    А появление таблички ведет к невозможно нудным вопросам заказчика

    На самом деле тормозит модуль МВУ8+МР1, что только не делали и скорость ему меняли, и кабели разные в него тыкали а он .... ошибка 81 .... по этому панель в мастер низя, тем более что прогу переписывать надо под мастера а ехать то заливать далеко да и влом

    Про работу на аккумуляторе.
    1.Ну во первых контроллер 25 минут на аккумуляторе вряд ли проработает.
    2. Ваше предположение на 90% может быть вероятным. И его легко проверить. Так как после пропадания питания программа продолжает выполнятся (пока аккумулятор не сядет) нужно понять: может ли программа присвоить вышеобсуждаемой переменной значение 0. Если не может - не оно..
    теоретически, прграмма может присвоить значение 0 только в следующих случаях:

    1 - если внутренняя переменная контроллера, которая осталась от наладки и не используется вобще (не энергонезависимая) станет =1

    2 - если бит из панели будет =1, + 3 бита из модуля ввода (МВ110-16 или где-то так) будут = 1, и если все это произойдет не во время процесса.

    думаю 1-й вариант вероятнее


    А про проверить теорию - не так уж и легко.
    Ехать мне туда 2 дня ну и назад столько же, а на месте некому.
    Но после первого выключения 15 минут точно держал (после включения сохранилось состояние выходов), 25 уже вроде нет, подключение через Ethernet выбивало секунд через 30 и повторно не конектилось поэтому не скажу.

  7. #7

    По умолчанию

    Уважаемый Николаев Андрей, не могли бы Вы ответить по поводу моих размышлений

    теоретически, прграмма может присвоить значение 0 только в следующих случаях:

    1 - если внутренняя переменная контроллера, которая осталась от наладки и не используется вобще (не энергонезависимая) станет =1

    2 - если бит из панели будет =1, + 3 бита из модуля ввода (МВ110-16 или где-то так) будут = 1, и если все это произойдет не во время процесса.
    извините что отвлекаю, но на выходных опять был прицидент

  8. #8

    По умолчанию

    Честно? Не знаю. Склоняюсь к неточности в программе... если бы аккумулятор сдох, или память - сбрасывались бы все переменные, а не 1-2.
    Надо проверять все постепенно.
    Завести пустой проект, в нем Retain и погонять на вопрос сохранения переменных. Если все ок - смотрим программу (без сетевого обмена с панелью и модулями, просто задав переменным, отвечающим за обмен какие то значения).
    На Ваш вопрос ответить не могу, так как не знаю особенностей Вашей программы.

  9. #9

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Честно? Не знаю. Склоняюсь к неточности в программе... если бы аккумулятор сдох, или память - сбрасывались бы все переменные, а не 1-2.
    Надо проверять все постепенно.
    Завести пустой проект, в нем Retain и погонять на вопрос сохранения переменных. Если все ок - смотрим программу (без сетевого обмена с панелью и модулями, просто задав переменным, отвечающим за обмен какие то значения).
    На Ваш вопрос ответить не могу, так как не знаю особенностей Вашей программы.
    В связи с не постоянностью ошибки проверить путем прогонки несколько затруднительно
    Программа не очень большая, но одна программа Вам мало что скажет, потому как есть еще прога для панели, где сохраняется часть переменных . Но во вложении часть кода, которая отвечает за сохранение Retain-массива + блок работы с массивом. В коментах к переменным я попробовал более-менее подробно описать их функции, но если что - задавайте
    Буду очень признателен за любые, даже невероятные, предположения
    Например диверсия (видят то только последствия), но проверить не помешает.
    Вложения Вложения
    • Тип файла: rar kod.rar (1.9 Кб, Просмотров: 23)

  10. #10

    По умолчанию

    Уважаемый Николаев Андрей, удалось установить фактор, который влияет на сохраненные в энергонезависимой памяти переменные.

    Кроме проблемы с стиранием данных, есть еще проблема зависания панели СП270 (про это я писал в отдельной теме и мне посоветовали полностью переконфигурировать панель). Так вот, при зависании панели оператор просто выключает рубильник и сразу включает. При этом процесс не останавливается, но после его завершения запущенная программа стирается полностью или частично.

    Вы уже писали про проблему с ИП320, когда она является мастером, но у меня СП270 и режим СЛЕЙВ. Программный код я выкладывал в предыдущем посте, может там действительно есть ошибка?

    Подскажите, как избавится от данной проблемы и почему контроллер записывает нули в память?

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Ваши права

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