Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: ПЛК110 + СП307-Б работа с энергонезависимой памятью

  1. #1

    По умолчанию ПЛК110 + СП307-Б работа с энергонезависимой памятью

    Добрый день!
    На форуме достаточно тем описывающих как работает данный вид памяти в различных устройствах.
    Основной посыл: при включении питания читаем значения переменных, при отключении\сбое питания пишем.

    Так же есть понимание, что при мастере панели и слайве ПЛК Modbus переменные в ПЛК пишутся в энергонезависимою память.

    Вопрос№1. Панель СП307-Б работает по такому же принципу?

    В ходе разработки заказчик попросил сохранять уставки на панели. Соответственно привязываем элемент ввод данных к переменной типа PFW300, через макросы организовываем сначала считывание из PWM300, затем запись в MODBUS регистр. Далее в ПЛК.

    Вопрос№2. С панелями особо не работал. Про энергонезависимость переменных по Modbus узнал не давно. Посоветуйте если ли другой, возможно более правильный, способ организации сохранения уставок.

    Далее заказчик захотел рецепты. Согласно хэлпу все работает и пишется. Но после добавления рецептов, механизм записи уставок начал сбоить. То есть раньше значения сохранялись. Теперь после отключения питания и панели и ПЛК пишется как будто какой-то цифровой мусор. Для уставок использовал PFW300 и т.д до PFW310. Для рецептов PFW800 и далее (до PFW851).

    Вопрос№3. Что пошло не так? В чем или куда(или что проверить) нужно смотреть?

    Жду вопросов и предложений!

  2. #2

    По умолчанию

    Макросы вообще тут не нужны, уставки копируются из регистров PFW сразу в регистры Модбас с помощью ФО. Всё.
    С307 Б не работал, вроде там только изернета нет и флешка не втыкается, надо уточнить.
    Рецепты возможно заработают если выкинуть макросы. А вообще проект надо выкладывать.

  3. #3

    По умолчанию

    Добрый!
    Вообще-то чтение и запись происходит сразу во Flash. В хелпе об этом говориться (правда косвенно).
    Flash.jpg

    И утвердение, что
    Цитата Сообщение от БугиВуги Посмотреть сообщение
    ... при мастере панели и слайве ПЛК Modbus переменные в ПЛК пишутся в энергонезависимою память.
    неверно.
    Чтобы значение из PFW попало в ПЛК, надо использовать либо функциональную кнопку, либо функциональную область, куда вписывается операция копирования регистров. И производить запись в ПЛК эти значения можно тогда, когда они действительно нужны, не используя RETAIN память.
    RETAIN-память в ПЛК нужна, когда необходимо запустить процесс автоматически без участия оператора.

  4. #4

    По умолчанию

    EFrol , если правильно понял, имеется ввиду все переменные в слейве ПЛК являются энергонезависимыми. А в панели флеш работает только, если в неё что то специально записать.
    Но у ТС есть задание сохранять уставки в панели.
    Их не надо (не желательно)часто перезаписывать. Один раз записал, потом только чтение при включении и копирование в модбас регистры.
    Последний раз редактировалось kondor3000; 22.12.2022 в 17:57.

  5. #5

    По умолчанию

    Вы, вероятно, путаете с сетевыми переменными в ПР.
    В инструкции на CoDeSys v2.3 написано:
    RETAIN.jpg
    Переменные объявленные в конфигурации, при сбросе питания обнуляются.

    Приведу свой пример:
    Централизованная мойка. Панель в регистрах PFW области хранит побитно состояние клапанов (что определяет маршрут подачи моющего раствора), а также его температуру и время подачи. Так как имеются разные растворы и разные объекты мойки, то оператор нажимает соответствующую ФК. Панель переносит соответствующие данные из PFW в ПЛК в одни и те же слэйв-переменные. Далее все делает ПЛК, но при сбое питания ПЛК все забывает. Чтобы запустить процесс снова, надо еще раз нажать нужную ФК на панели.

    Если Вы хотите, чтобы после восстановления питания процесс продолжился, то Вам необходимо все параметры переписывать в RETAIN-переменные.
    А в конфигурации задач указать вызов именованной процедуры при включении питания, в которой перенести из RETAIN-переменных обратно в слейв, чтобы ПЛК мог продолжить прерванный процесс.
    Если честно у меня еще никогда не было повода использовать RETAIN-память. А вот PFW использую постоянно.
    Хотя нет. Забыл. Храню в RETAIN значения счетчиков израсходованных растворов.
    Но после инкрементации RETAIN-переменной, переношу её значение в слэйв, чтобы Панель могла отобразить на экране.
    Последний раз редактировалось EFrol; 22.12.2022 в 19:13.

  6. #6

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Вы, вероятно, путаете с сетевыми переменными в ПР.
    В инструкции на CoDeSys v2.3 написано:
    RETAIN.jpg
    Переменные объявленные в конфигурации, при сбросе питания обнуляются.
    Ну вы даёте), это касается ПЛК мастера.
    В панели PFW тоже использую постоянно, только потому, что предпочитаю панель слейв.
    Сделал простой пример. В слейве ПЛК 2 регистра 0 и 1, панель мастер в эмуляции те же 2 регистра 4х0 и 4х1.
    Записал в ПЛК программу, подключился в Онлайн эмуляции к ПЛК. С панели записал в модбас регистры 123 и 234. Никаких регистров PFW в панели и Retain в ПЛК не использовано.
    Выключил эмуляцию панели и от ПЛК отключил питание, подождал 10 минут, включил и подключился снова. Вот скрин, как видите переменные в слейве ПЛК и считанные панелью сохранились. 1 ПЛК слейв.jpg
    Можете повторить пример на любом ПЛК и эмуляцией в Панели ( или в живой панели если есть, можете туда напихать хоть 100 регистров). Главное чтобы панель при включении на перезаписывала их, на то и уставки, чтобы их читать. Удивительно, что такие вещи надо ещё доказывать людям)))
    Вложения Вложения
    Последний раз редактировалось kondor3000; 22.12.2022 в 22:11.

  7. #7

    По умолчанию

    Вы знаете, иногда всплывают всякие необъяснимые или недокументированные эффекты - я к такому уже привык.
    Как вы думаете, что происходит когда в настройках целевой платформы включена вот эта опция?
    Zero.jpg

  8. #8

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Вы знаете, иногда всплывают всякие необъяснимые или недокументированные эффекты - я к такому уже привык.
    Как вы думаете, что происходит когда в настройках целевой платформы включена вот эта опция?
    Zero.jpg
    Посмотрел - у меня везде включена. Это относится к загрузке проекта?

  9. #9

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Вы знаете, иногда всплывают всякие необъяснимые или недокументированные эффекты - я к такому уже привык.
    Как вы думаете, что происходит когда в настройках целевой платформы включена вот эта опция?
    Zero.jpg
    Это начальное обнуление данных. Работает при загрузке проектов. В работе проекта уже не действует. В слейве переменные сохраняются.
    Так жек как и в ПР в режиме слейв не работают галки перестановки регистров (байт).
    Последний раз редактировалось kondor3000; 23.12.2022 в 09:16.

  10. #10

    По умолчанию

    Добрый день!
    Не ожидал такой реакции. Всем спасибо за Ваши ответы.
    Ваши ответы толкнули меня в нужном направлении и кое-что стало более понятно. Теперь просто хочу уточнить. Возможно кто-то прочитает и все сразу станет на свои места, как у меня.

    1. С помощью функциональной области с помощью функции "Копировать регистр" из PFW (энергонезависимых областей в панели) можно на прямую писать в регистры ПЛК по MODBUS (сами регистры в ПЛК могут быть не RETAIN). При этом макросы с командами Reads и Writes можно не использовать и убрать.

    2. Регистры панели PFW надо менять как можно реже, поэтому архитектурно "спрятать" их в окне под паролем и если надо просто читать. В руководстве пользователя обратить особое внимание на изменение. То есть сам факт изменения переменной в примитиве "ввод данных" должен происходить как можно реже.

    3. Так как функциональная область срабатывает только на открытом экране, то лучше сделать ее глобальной в проекте.

    Теперь все таки хотелось бы уточнить ряд вопросов о самой функциональной области. Ответы как бы очевидны, но опять кто-то прочитает и все сразу станет понятно.
    Вопрос №1. В одной области можно добавить разное количество функций. Но работать они будут только согласно настройке в закладке "Режим"?
    Вопрос №2. Если нужна сработка например не "Цикл", а "Непрерывно" добавляем новую функциональную область?
    Вопрос №3. Количество располагаемых функциональных областей (локальных) ограничено количеством режимов?
    Вопрос №4. Предыдущий вопрос относиться и к глобальным функциональным областям?

    Жду ответов и предложений! Еще раз всем спасибо!

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

Похожие темы

  1. Работа СП307 с блоками ввода/вывода без ПЛК
    от Metamorphogenesis в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 07.05.2019, 14:00
  2. Работа с памятью в макросах
    от Aleksandr в разделе Панели оператора (HMI)
    Ответов: 7
    Последнее сообщение: 26.06.2018, 10:42
  3. Помогите настроить СП307+ПЛК110+ПЛК110+ИП320
    от Stalker46k в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 13.11.2017, 11:45
  4. Проблемы с памятью ПЛК110-30 V2
    от p_dima90 в разделе ПЛК1хх [М02]
    Ответов: 3
    Последнее сообщение: 20.02.2017, 14:35
  5. Работа с внутренней памятью ПЛК
    от mp3moto в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 26.09.2008, 11:19

Ваши права

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