PDA

Просмотр полной версии : ПР205 Слетают значения переменных на исходные



zakhar81
24.11.2023, 04:35
Приветствуем всех!
Есть три вида переменных для каждого параметра, сетевая, экранная и энергонезависимая
В энергонезависимой переменной забито стартовое значение параметра, т.е. при прошивке оно загружается в ПЛК ПР205
Сетевая с внешнего сервера, а экранная это та что к экрану привязана.
Задача такая: необходимо обновлять все три переменные до значения которое было введено последним и отличалось по значению от всех остальных.
Для этого решено организовать обновления каждой из трех переменных с помощью блока вывода последнего изменного значения, на входе которого в первом случае сетевая и экранная переменные, а на выходе энергонезависимая (та что содержит предустановленное значение в проекте при прошивке), во втором случае на выходе экранная а на входах энергонезависимая и сетевая , и в третьем случае: на выходе сетевая а на входах энергонезависимая и экранная, таким образом происходит обновление двух из трех если обновилась любая из трех.
Все это дело успешно работает.
Но, есть одно Но. С течением времени все эти переменки разом могут обновится до тех, что были при последней прошивке непосредственно из owenlogic, т.е. тупо на те значения которые были в переменках энергонезависимых.
Такое впечатление что плк перезагружается и обновляет от куда то из своих недр ту прошивку что заливали в последний раз, так как только при перепрошивке может быть такое, поскольку именно энергонезависимая переменная при прошивке залетает как самая последняя измененная.
Если просто перезагружать (не перепрошивать) то во всех перемнках остается то, что меняли в последний раз, хоть с экрана хоть посети.

Королев Кирилл
24.11.2023, 09:57
Такая работа наблюдается на этом же приборе (https://owen.ru/forum/showthread.php?t=37840&page=28&p=422877&viewfull=1#post422877)? Если нет, то просьба та же - присылайте версию прошивки, заводской номер и проект на почту (в подписи).

zakhar81
19.12.2023, 18:27
В продолжении этой темы
Наши страдания не закончились
После последнего обновления прошивки до 1.2.1, на одном из ПР205 наблюдается что то невообразимое:
Настройки слетают прибор перезагружается несколько раз подряд 3-5 раз и переменные слетают вообще на те которые были в старой версии проекта, который был в ПЛК до обновления прошивки.
Это как такое может быть?)))
Откуда там старые значения переменных то берутся?
Где они вообще могут остаться то?
При этом не все что отмечены там как энергонезависимы а некоторые.
Они получается где то в памяти остаются и при обновлении проекта как то залетают обратно.
При этом если его перезагрузить из конфигуратора или на месте любыми методами то значения охраняются именно те что были внесены последними, хоть с экрана, хоть по сети.
В программе сделали счетчик перезагрузок для сбора информации на предмет что же происходит
На всех используются ФБ на основе блоков (SelChgF) что обсуждались в ветке https://owen.ru/forum/showthread.php?t=37840&p=422878&viewfull=1#post422878
Проект отправил на почту вместе с открытым из интернета адресом ПЛК если вдруг нужно будет протестировать
На других с подобным проектом и с теми же функциональными блоками на основе блока (SelChgF) такого не наблюдаем
Контроллер меняли, не помогло

zakhar81
21.12.2023, 06:02
Добрый день
Еще, прошу обратить внимание:
Если подключиться овен конфигуратором, то во вкладке логика отображение имен переменных некорректное
Можете сами проверить, я дал вам адрес контроллера в письме

Бой Лыканах
21.12.2023, 13:54
72536
Добрый день!
Если переменные создавали путём дублирования, то у дублированных переменных будет имя как у "родителя". Исправить отображаемое имя переменной можно через ОЛ

zakhar81
28.12.2023, 04:36
Спасибо, действительно там есть кнопка которая раскрывает доп менюшку с этим делом

zakhar81
28.12.2023, 04:39
Еще добавлю информации
Избавиться от залета старых данных в те самые переменные, которые обновляются с использованием блоков SelChgF* удалось тупо записав пустой проект в контроллер и заново загрузив этот который вызывал проблемы
Но это не избавило от слетания этих переменных но теперь уже на ноль.
Т.е. до этого старые значения залетали не пойми от куда а теперь залетают нулевые значения
Провоцирует этот момент, но не всегда, попытка изменения этих переменных, как по сети так и с экрана, при этом контроллер перезагружается и все они на ноль уходят.
Но предыдущей версии прошивки (системной) эти перезагрузки были гораздо чаще и просто так, а сейчас иногда при попытке изменения этих переменных именно, но проблема осталась и причина этой проблемы видимо так и не выявлена
На почту проекты еще закинул другие , где подобный косяк возникает

zakhar81
29.12.2023, 04:25
Еще один интересный факт с блоками SelChgF
У нас в проектах (которые были отправлены вам на почту) используется самодельный блок из нескольких SelChgF которые определяют последнюю изменённую из трех переменную, с обновлением на это значение всех этих же трех переменных (энергонезависимая сетевая и связанная с экраном)
Так вот если ввести линии задержки с выхода каждого из блоков SelChgF, т.е. задержать на один цикл переприсваивание переменным значения с выхода этих блоков то наблюдается как бы автогенерация некоего ШИМ сигнала по этим переменным, т.е. цикличное падение на ноль и возврат на исходное значение переменной.
Вот я думаю куда копать нужно, ведь при работе возникает тоже самое (слетание на ноль этих переменных, которые связаны с блоками SelChgF) только очень редко, при чем сопровождается это еще и перезагрузкой ПЛК

zakhar81
29.12.2023, 04:27
У себя можете это воспроизвести и я думаю найдете причину этой проблемы

AlexCrane
29.12.2023, 08:01
Еще один интересный факт с блоками SelChgF
У нас в проектах (которые были отправлены вам на почту) используется самодельный блок из нескольких SelChgF которые определяют последнюю изменённую из трех переменную, с обновлением на это значение всех этих же трех переменных (энергонезависимая сетевая и связанная с экраном)
Так вот если ввести линии задержки с выхода каждого из блоков SelChgF, т.е. задержать на один цикл переприсваивание переменным значения с выхода этих блоков то наблюдается как бы автогенерация некоего ШИМ сигнала по этим переменным, т.е. цикличное падение на ноль и возврат на исходное значение переменной.
Вот я думаю куда копать нужно, ведь при работе возникает тоже самое (слетание на ноль этих переменных, которые связаны с блоками SelChgF) только очень редко, при чем сопровождается это еще и перезагрузкой ПЛК

Для переменной которую меняете с экрана нужно ставить запись в конце цикла и не нужно линий задержки, и не будет типа ШИМ.

zakhar81
29.12.2023, 10:40
Тут по другому:
Три переменки на входе: Vm энергонезависимая (с неё при старте берется значение) Vs с экрана и Vn сетевая
на выходе они же и при обновлении значения любой из них это значение перезаписывается в них же.
Для этого используется блок SelChgF, в котором с использованием задержек на один цикл сравниваются значения до и после двух переменных и выбирается значение которое прилетело самым последнем и записывается на выход блока. это готовый блок из библиотеки. А для трех переменных сделали тоже самое воспользовавшись этими же блоками.
Иногда плк перезагружается сбрасывая все эти перемнки в ноль.
Это происходило в основном при изменении значений с экрана, реже по сети.
А еще интересней были случаи когда залетали значения те что были в прошлой прошивке, откуда они брались не известно
Поэтому если на выходах задержать еще на один цикл перезапись во все переменные текущего значения то наблюдается циклическое сбрасывание на ноль
Экран уже связан с переменной своей и она обновляется сразу без задержек

Dimensy
29.12.2023, 11:19
Тут по другому:
Три переменки на входе: Vm энергонезависимая (с неё при старте берется значение) Vs с экрана и Vn сетевая
на выходе они же и при обновлении значения любой из них это значение перезаписывается в них же.
Для этого используется блок SelChgF, в котором с использованием задержек на один цикл сравниваются значения до и после двух переменных и выбирается значение которое прилетело самым последнем и записывается на выход блока. это готовый блок из библиотеки. А для трех переменных сделали тоже самое воспользовавшись этими же блоками.
Иногда плк перезагружается сбрасывая все эти перемнки в ноль.
Это происходило в основном при изменении значений с экрана, реже по сети.
А еще интересней были случаи когда залетали значения те что были в прошлой прошивке, откуда они брались не известно

Покажите скрин как вы подсоединили блоки

zakhar81
31.12.2023, 10:20
И вы мне скажите откуда взялись значения из прошлой прошивки?)
Теперь уже залетают ноли после записи пустого проекта видимо хвосты затерлись в памяти каки то\
Теперь двое трое суток полет нормальный, потом перезагруз и ноли во всех этих переменках, и все регуляторы уходят в аут вместе с объектом регулирования

zakhar81
31.12.2023, 10:25
Вот этот блок, никаких обратных связей нет, все переменки перезаписываются на самое последнее значение прилетевшее в любую из них

zakhar81
31.12.2023, 10:29
Если мы сами перезагружаем контроллер то во всех переменных этих сохраняется последнее значение которое было введено, хоть с экрана хоть по сети, так как оно перезаписывается в энергонезависимую, а при прошивке записывается значение то что в энергонезависимой прописано.
Все работает до волшебной перезагрузки самого ПР205 по непонятным причинам и вот только тогда ноли залетают во все переменные, а раньше залетали те что были записаны в предыдущей версии проекта в энергонезависимых переменных, вообще чертовщина!

zakhar81
31.12.2023, 10:35
Сейчас сделал вот так, через промежуточные локальные переменные, жду сколько так проработает
Хотя я не знаю почему контроллеры эти перезагружаются, и вообще дело может не в этом блоке, но косяк в нем или из за него есть в том что переменные слетают.
В техподдержку отправил все проекты которые залиты на ПР205, ответа пока нет

Dimensy
31.12.2023, 12:30
А так не проще?
72736

zakhar81
02.01.2024, 05:44
проще, только так стабильно не работает, с экрана может не обновляться или обновляться с пятой попытки

Dimensy
02.01.2024, 09:57
А вы не пробовали на экране в поле ввод/вывод указать сетевую переменную?

zakhar81
04.01.2024, 09:00
Сейчас один проект переделываем, загрузим на днях понаблюдаем как долго без перезагрузок проработает
Но если косяк не в этом то тогда не знаю что и делать дальше
Проекты все рабочие и такие глюки вызывают аварийные ситуации на всех объектах, это управление ИТП многоквартирных домов, система отопления и гвс, полный абзац короче
У заказчиков терпение не безграничное, мы их еле убедили что на сигнетиках не вариант делать, и тут сами с этим ПР205 встряли
У сигнетиков в прошлом году как раз проблемы были со сроками и с ценами, и мы решили что ПР205 как раз нам к стати, но мы же не знали что он на столько сырой
На 200-х куча проектв было сделано за 8 лет, все работает по сей день!

zakhar81
05.01.2024, 08:38
Не помогло это мероприятие!
Все переменки, те что с экрана доступны для редактирования (не запрещен ввод) перепривязаны на сетевые, и эти сетевые уже обновляют энергонезависимые, через блок SelChgF, они на его входе вместе с энергонезависимой, и они же на выходе. Только два типа теперь, экранной нет, ни на входе ни на выходе.
После перезагрузки эти сетевые переменные обновляются из энергонезависимых, с использованием вышеописанного блока, экранные (которые доступные для редактирования/ввода) ни где в программе не записываются вообще теперь, с экрана все попадает в сетевые и они обновляют энергонезависимые, они же являются входными в блоках SelChgF.
Но, при самостоятельной перезагрузке ПР205 после висяка теперь в сетевых оказываются на энергонезависимые, которые были записаны в самом проекте в табличке переменных как начальные значения
Может быть вообще сама логика когда с использованием блока SelChgF создает проблему, поскольку на входе и выходе пара одних и тех же переменных присутствует и они сами себя перезаписывают в каждом цикле исполнения программы. Но мы как я писал ранее задержку вводили, промежуточные переменные в блоке вводили, и толку нет.
Но напомню еще один факт, что когда мы задержку ввели с выхода SelChgF на переменную, значение начало на ноль циклически слетать, нечто вроде автогенерации ШИМ, если можно так образно выразиться.

В общем все комбинации перебрали, что дальше делать мы не знаем
Разработчики ждем от вас решение проблемы с зависанием и перезагрузкой ПР205

zakhar81
05.01.2024, 11:13
Вот конфигуратором пытаюсь подключиться к зависшему ПР205 он его как бы его инициализирует но подключиться не может
Я вот подумал, а может дело в вашем макросе PID регулятора, из библиотеки, который к стати на редактирование не открывается
У нас пару раз было когда на его входе была запись "не число", а входные значения были в рамках установленных диапазонов возможных значений, может от туда ноги растут?

zakhar81
05.01.2024, 11:47
Ранее в ПР200, например, я вообще не пользовался макросами из вашей библиотеки, все сами делали, проблем не было
А том мы зациклились на глюке с потерей значений переменных, а косяк в другом, ПР205 виснет и в перезагрузку уходит например из за блока ПИД регулятора а переменные съезжают уже в следствии этого глюка.
Не может так быть?

Dimensy
05.01.2024, 12:01
Вот ПИД из библиотеки без пароля https://owen.ru/forum/showthread.php?t=17974&p=294331&viewfull=1#post294331
А "не число", насколько я знаю, выскакивало на старых макросах низкоомных температурных датчиков типа Pt100

zakhar81
05.01.2024, 12:23
Спасибо за ссылку, попробую еще ПИД заменить
Ну вот тут мы не используем макрос для масштабирования сигнала датчика, ведь у ПР205 все настраивается, а у ПИДа вылетало такое
у на Pt1000 используются, с ними как раз проблемы были летом 2023, я писал в ветке "ПР205 ВАЖНО"

zakhar81
05.01.2024, 13:09
Сейчас как раз взял макросы ПИДов подменил, открыл на редактирование, подвигал туда сюда там, специально чтобы его сохранить для обновления на всякий случай
Загружаю и начинается дискотека, 4 раза перезагрузился и начал отваливаться, то есть связь то нет и т.д.
Я повторно его раза три перепрошил одним и тем же, и после этого работа стабилизировалась
Это тоже один из подозрительных моментов когда в памяти его что то остается, у меня такое впечатление, и только несколько загрузок подряд обеспечивают дальнейшую устойчивую работу
Так раз было что в значения переменных вдруг залетали старые значения, те что были в предыдущем проекте, который заливал в него два дня назад. Я от такой магии офигел честно говоря.
Про этот тоже обращал внимание техподдержки
И это все не привязано к одному ПР205 это возникало на разных ПЛК

zakhar81
05.01.2024, 13:24
И вот когда начинаются зависания и перезагрузки, после них при попытке подключиться для онлайн отладки ОЛ выдает сообщение о несоответствии программы в приборе и программы проекта, при чем тут же, я ни чего не двигал и не сохранял, прям тут же после загрузки проекта в ПР205, подвисания и его перезагрузки

Евгений_Пермь
05.01.2024, 16:31
А в свойствах экранной переменной на выходе блока SelChgF вы ставите флаг "Запись в конце цикла". Если этого не делать то, могут возникать забавные коллизии.72778

zakhar81
05.01.2024, 19:07
Блин какие интересные свойства есть оказывается, каждый день новые нюансы))
Спасибо! Поиграюсь и с этим еще до кучи, делать все равно нечего уже, так от безысходности...
У сетевой переменной в этой же вкладке расширенных настроек тоже есть параметр, но другой - точность 0,001, фиг знает за чем это

zakhar81
08.01.2024, 12:51
На всех переменках , связанных с экраном, в свойствах выбрал "обновление в конце цикла"
Но проблема не снялась, подвисание и самоперезагрузка ПЛК имеет место, вместе с этой картиной что в этом скриншоте: https://owen.ru/forum/attachment.php?attachmentid=72776&d=1704450136
Переменки правда остаются вроде бы те что из энергонезависимых, не те что были введены последними, но при этом при попытке отладки пишет что программа не та залита
Т.е. проблема системная и мы очень ждем её решения от Вас
С нас неустойку уже пытаются удержать из за этих косяков, ситуация печальная.

Евгений_Пермь
08.01.2024, 16:24
Интересно... Я почему так допытываюсь - тоже приобрел ПР205, и его буду ставить на котельную в глухомани, до которой просто так не доехать даже. Пока 2 недели у меня он стоит на стенде, все ок, никаких проблем не было. Но после таких сообщений как то боязливо его ставить...
Я в коде программы работаю только с переменными, которые никак не связанны с экраном. Экранные переменные фактически срабатывают только один раз при их изменение оператором. И на блок SelChgF на 1й вход строго подаю локальные энергонезависимые переменные, так как 1й вход имеет приоритет над 2м, если посмотреть внутреннее устройство этого блока. На 2й - переменные связанные с экраном.
И еще в Вашей программе заметил желтую окантовку - где то есть циклические связи.

zakhar81
08.01.2024, 16:56
После проделанных экспериментов с переменными и макросами есть подозрение что дело вовсе не в этом, ПР205 похоже не вывозит обмена через Modbus TCP
Так как те ПР205, что менее нагружены обменом и у которых список сетевых переменок мал те дольше работают без зависания и перезагрузок, а у тех что имеют списки сетевых раз в 5 и более у тех продолжительность работы не более 2 суток, у одного у которого самый большой список не более суток и потом висяк!
Отключить их от обмена нельзя с внешним сервером, поскольку там жилые дома и это управление их ИТП по погоде,
Частота опроса у всех одинаковая не чаще 1 сек, запросы групповые, не по одному регистру.
При этом одна группа на чтение, другая на запись, а запись только при изменении
И вот в некоторых случаях, как раз после запросов на запись происходит перезагрузка, а зависание иногда происходит после прошествии 1-2 суток, потом идет электрик и тупо перезагружает все, так как подключиться уже к ПР205 невозможно, он отваливается или вовсе не отвечает.
Вот скриншот из овен конфигуратора, при зависании ПР205: https://owen.ru/forum/attachment.php?attachmentid=72775&d=1704442720
Даже в нормальном режиме когда по сети их все из ОЛ пытаешься мониторить в онлайн отладке и то периодически отваливаются, а те что с большим списком сетевых вообще мигает коннект/дисконнект каждые 3- секунд, это явно косяк
Пробовал гасить сервак, мониторил связь с ПР205-ми, да чуть лучше связь была, видимо снимает часть нагрузки, но все равно разрывы.
В локалке тоже связь теряется и при отключенном и при включенном сервере, хотя чуть лучше чем через WAN.
Я думаю нужно новую тему про зависание открывать и туда перемещаться, дело не в переменных, переменные это уже последствия

liga_blunt
04.03.2024, 22:19
у ПР103 такая же проблема

Королев Кирилл
05.03.2024, 09:35
В ближайшем обновлении прошивки ПР103 и ПР205 будут изменения, которые скорректируют работу прибора при опросе по интерфейсу Ethernet