PDA

Просмотр полной версии : Шел 2019, а М02 еще не умел сохранять RETAIN без "костылей"



p_dima90
23.04.2019, 18:09
Добрый день!
Собственно проблема. RETAIN стандартным способом работать отказывается, через костыль, в виде сохранения по времени - работает. Особо стандартным сохранением не пользуюсь, просто так, для справки.
Прошивка 1.0.4

Евгений Багаев
23.04.2019, 21:04
Добрый день!
Собственно проблема. RETAIN стандартным способом работать отказывается, через костыль, в виде сохранения по времени - работает. Особо стандартным сохранением не пользуюсь, просто так, для справки.
Прошивка 1.0.4

Здравствуйте.
Обновите прошивку до v1.0.5. Либо на v1.0.4 вручную активируйте режим записи по событию. Для этого в ПЛК-браузер сначала введите команду SetCyclicMode 100, перезагрузите ПЛК, а затем введите команду SetCyclicMode 0.
Руководство по работе с Retain-переменными
(https://www.owen.ru/uploads/149/rukovodstvo_po_rabote_s_retain_peremennymi_plk110_ 160_v1.1.pdf)
Скачать и посмотреть историю изменений по ссылке: https://www.owen.ru/forum/showthread.php?t=31023

WELL
24.06.2019, 15:04
Добрый день! Пишу программу теплосчетчика с использованием ФБ HEAT_METER из библиотеки oscat building и ФБ FLOW_METER из библиотеки oscat basic. В этих ФБ счетчик литров и счетчик тепла (джоули) в виде переменной IN_OUT находятся с левой стороны ФБ. Туда пишется значение, и туда же можно записать свое значение, обнулить счетчик. Эти данные мне необходимо сохранять как retain в энергонезависимой памяти. В счетчике расходомера переменная имеет тип данных UDINT, и прекрасно сохраняется после обесточивание, а в счетчике тепла переменная имеет тип данных REAL и обнуляется что бы я не делал. Переменные в коде находятся после "VAR RETAIN PERSISTENT"
Прошивка последняя, 1.0.06

MikeF
25.06.2019, 12:16
Кстати, ПЛК старой версии автоматически (без каких-либо доп. действий со стороны пользователя) сохраняли все переменные объявленные в Modbus Slave, M02 так может?

Sulfur
25.06.2019, 12:34
MikeF
Да. Проверено в железе. Только следует учитывать, что перезалив программы или сброс переключателем на ПЛК обнуляет все данные.
WELL
Ответил в другой теме.

MikeF
25.06.2019, 12:52
У меня почему-то не сохраняет, но свежие прошивки я ещё не пробовал.
Переключатель никак на работу не влияет, в любом положении исполняет программу, возможно его нужно объявлять в конфигурации, не изучал ещё.

Sulfur
25.06.2019, 13:10
Вроде как для того, что бы сбросить ПЛК, его необходимо включить с прижатым переключателем в положении "Сброс".
Не сохранять может по причине перезаписи в эти регистры из других мест программы.

MikeF
25.06.2019, 13:16
Не сохранять может по причине перезаписи в эти регистры из других мест программы.
Может конечно, но я понятно дело говорю не об этом. У меня просто все накопленные значения после сброса питания обратились в ноль.
Попробую прошить.

Филоненко Владислав
25.06.2019, 20:26
У меня почему-то не сохраняет, но свежие прошивки я ещё не пробовал.
Переключатель никак на работу не влияет, в любом положении исполняет программу, возможно его нужно объявлять в конфигурации, не изучал ещё.

BooеProject нужен.

MikeF
26.06.2019, 04:58
BooеProject нужен.

Разверните свою мысль, а то не совсем понятно. Вы про переключатель?

Sulfur
26.06.2019, 05:57
MikeF
Вероятно имелось в виду "Создание загрузочного проекта", BootProject.

MikeF
26.06.2019, 06:08
Да, иногда на форумах трудно общаться :)
Я понимаю что это опечатка.
Интересно к чему он это написал (думаю что относительно переключателя).
На ПЛК первого поколения, кстати говоря, рекомендовалось кнопку старта добавлять в конфиг во избежание глюков с произвольной остановкой.
Здесь если я её добавлю, но не буду использовать в программе, она потеряет своё действие описанное в руководстве?
Дабы шаловливыми руками кто не дернул её и не остановил конвейер.

Sulfur
26.06.2019, 08:26
На старых ПЛК я самолично ловил этот глюк. На новых такой проблемы не наблюдалось, и необходимости назначать\конфигурировать не было.

Филоненко Владислав
26.06.2019, 18:40
На старых ПЛК я самолично ловил этот глюк. На новых такой проблемы не наблюдалось, и необходимости назначать\конфигурировать не было.

Мы долго не могли отловить этот глюк с кнопкой, пока у меня не появился очередной ПЛК, при прохождении рядом с которым определённого человека кнопка срабатывала :)
Оказалось, что если её слишком сильно нажать пружинка в ней ослабляется и возможны на редких экземплярах ложные срабатывания от вибраций.

А по поводу вопросов топикстартёра - retain работают только вместе с BootProject и тумблером в Start.

MikeF
26.06.2019, 19:20
Я бы вообще хотел отключить этот переключатель, нужно просто добавить его в конфигурацию?

MikeF
27.06.2019, 07:49
Да. Проверено в железе.
Проверил ещё раз. В Modbus slave не сохраняются данные, объявленные как retain сохраняются.
Прошивка старая, версия не совсем понятна, т.к. сейчас совсем другая нумерация https://www.owen.ru/forum/showthread.php?t=31023
У меня вот:
PLC model MODEL PLC 110-60
Binary VERSION 0.3.67
Need Target version >= 3.10
Compiled: 13:05:36 Feb 8 2017
STM32 binary version 114

Таргет 3.11.

Выключатель кстати добавлен в конфигурацию, возвращает 1, значит в положении Работа.

Sulfur
27.06.2019, 08:36
В Modbus slave не сохраняются данные, объявленные как retain сохраняются.
Я не объявляю специально как ретайн. Просто создаю переменную в конфиге в МодбасСлейв и всё. На версии прошивок вообще не обращал внимания.
А что используется в качестве мастера?

MikeF
27.06.2019, 09:35
Так и я не объявляю, создал одну retain переменную для проверки, сохраняется при перезагрузке, нет проблем. В modbus slave переменные не сохраняется.
Мастером является панель оператора, OPC или другое удаленное устройство опроса если есть.
На старых контроллерах это работало, здесь нет.

Филоненко Владислав
27.06.2019, 11:28
Я бы вообще хотел отключить этот переключатель, нужно просто добавить его в конфигурацию?
Нет, полностью его никогда нельзя было отключить. И в M02 он уже выведен в конфигурацию.
Просто у тумблера нет проблемы со случайными нажатиями.
Хотя, у одного клиента тумблера "самопроизвольно" переключались внутри закрытых шкафов. Даже прессформу поменяли, добавил по бокам губы для защиты тумблера.
Помогло :)

Филоненко Владислав
27.06.2019, 11:30
Так и я не объявляю, создал одну retain переменную для проверки, сохраняется при перезагрузке, нет проблем. В modbus slave переменные не сохраняется.
Мастером является панель оператора, OPC или другое удаленное устройство опроса если есть.
На старых контроллерах это работало, здесь нет.

Ну так вот и причина. панель перетирает. Отключите панель и проверьте

MikeF
27.06.2019, 11:47
ИП320 не в первый раз использую, вроде раньше не перетирала.
Да и это какой-то космический сценарий. Панель стоит работает, потом внезапно самопроизвольно затирает адресное пространство, как её продавать такую :)
Создал отдельный slave к которому ничего не подключено. Та же история, не сохраняет, reset из-под codesys удаленно делаю.

Sulfur
27.06.2019, 14:01
Странно. У меня сейчас в разработке как раз связка ПЛК110+ИП320, таких глюков не замечено. Да и ранее не замечал. С СП307 работал по такой же схеме, нет проблем. Когда экспериментировал, делал панель слейвом, то да всё терялось.

Филоненко Владислав
28.06.2019, 07:41
Та же история, не сохраняет, reset из-под codesys удаленно делаю.

??? Reset ПЛК? После сброса retain не сохраняются.

MikeF
28.06.2019, 08:42
Может не так поняли друг друга. Я имею ввиду: Онлайн->Cброс.
Как я уже писал выше, специально объявленная для тестов retain переменная при этом сбросе сохраняется.
А в Modbus slave нет, хотя, как также написано выше, к этому порту с отдельным тестовым модбасом вообще ничего не подключено.

Sulfur
28.06.2019, 12:07
Всё правильно. При любом сбросе ПЛК регистры модбас обнуляются.

Филоненко Владислав
28.06.2019, 12:15
Да, и это абсолютно правильное и ожидаемое поведение.
И при аппаратном сбросе по любой причине retain будет взят из предыдущей копии (если она была)

MikeF
28.06.2019, 12:21
Ладно, а почему при пропадании питания в модбасе так же всё обнуляется? Речь то об этом, должно сохранятся судя по ПЛК первой версии.

Филоненко Владислав
28.06.2019, 17:44
Ладно, а почему при пропадании питания в модбасе так же всё обнуляется? Речь то об этом, должно сохранятся судя по ПЛК первой версии.

Бутпроджект есть? тумблер при следующем включении в Start, панель не подключена и данные теряются?

MikeF
28.06.2019, 18:53
Ну, бут конечно есть, без него даже и не посмотришь сохранилось у тебя что-то или нет :)
С панелью пока не могу экспериментировать, всё приходится делать удаленно, если только в конце месяца смогу проверить.
ИП320 не часто использовали, но например Delta серии DOP в таком режиме никогда модбас не обнуляли при подаче питания.
Вы хотите сказать что ИП320 при старте берет и по всем адресам (сколько регистров 100, 1500?) отправляет команду записи, это мягко скажем странное поведение.

Филоненко Владислав
28.06.2019, 20:37
Ну, бут конечно есть, без него даже и не посмотришь сохранилось у тебя что-то или нет :)
С панелью пока не могу экспериментировать, всё приходится делать удаленно, если только в конце месяца смогу проверить.
ИП320 не часто использовали, но например Delta серии DOP в таком режиме никогда модбас не обнуляли при подаче питания.
Вы хотите сказать что ИП320 при старте берет и по всем адресам (сколько регистров 100, 1500?) отправляет команду записи, это мягко скажем странное поведение.

как настроить