Просмотр полной версии : ПР100 + ИП320 + Сохранение параметров
keysansa
14.05.2021, 19:35
В проект выбрана конфигурация ПР100 и ИП320.
С ПР100 работал, с ИП320 - нет
Проект написан, графика так же, связь налажена, в целом все интуитивно, понятно. Обмен в режиме ПР100 - мастер, ИП320 - слейв, работает.
Но.
Необходимо сохранять параметры.
Сначала думал хранить их в ИП320, но обнаружил, что она не умеет.
Тогда решил хранить в ПР100, а задавать их через ИП320. Это в принципе и лучше, при отказе панели можно продолжать работать некоторое время. Поменял, режим - ПР100 - мастер, ИП320 слейв.
Но совсем не понятно, как по старту программы передать данные из реле в панель, а потом читать из панели в реле. Управление чтением/записью отсутствует.
Как это планировали разработчики?
Не лучше панель мастер а реле слейв ? умрет панель, просто подключаетесь при помощи ПК и меняете уставку, если необходимо.
keysansa
15.05.2021, 08:51
А как хранить значения в панели?
А как хранить значения в панели?
А кто мешает хранить значения в ПР? Перед стартом читаете значения из области хранения и пишете как оперативный параметр с изменением или без, потом запуск
keysansa
17.05.2021, 21:15
А кто мешает хранить значения в ПР? Перед стартом читаете значения из области хранения и пишете как оперативный параметр с изменением или без, потом запуск
Это ПР100, тут нет секции Init. Тут только FBD и только один cyclic task. Перед стартом не получится прочитать.
Но даже, если заморочиться, и пока нет обмена, пересылать в параметры значения из этих же параметров, а при появлении обмена, переслать значения из параметров в сетевые переменные, и с некоторой задержкой, начать присваивать параметрам значения из сетевых.... Но нет признака начала обмена...
Вроде распространенный кейс, реле и панель, логично при этом изменять параметры, тем более, что в ПР есть их поддержка, а использовать даже с костылями не получается...
Ревака Юрий
18.05.2021, 10:19
Это ПР100, тут нет секции Init. Тут только FBD и только один cyclic task. Перед стартом не получится прочитать.
Но даже, если заморочиться, и пока нет обмена, пересылать в параметры значения из этих же параметров, а при появлении обмена, переслать значения из параметров в сетевые переменные, и с некоторой задержкой, начать присваивать параметрам значения из сетевых.... Но нет признака начала обмена...
Вроде распространенный кейс, реле и панель, логично при этом изменять параметры, тем более, что в ПР есть их поддержка, а использовать даже с костылями не получается...
Если у Вас панель мастер, то она сама должна вычитать при запуске обмена данные из ячеек ПР100, и далее при изменении записать их обратно в ПР. Не вижу проблем в таком кейсе.
Сергей0308
18.05.2021, 10:27
Это ПР100, тут нет секции Init. Тут только FBD и только один cyclic task. Перед стартом не получится прочитать.
Но даже, если заморочиться, и пока нет обмена, пересылать в параметры значения из этих же параметров, а при появлении обмена, переслать значения из параметров в сетевые переменные, и с некоторой задержкой, начать присваивать параметрам значения из сетевых.... Но нет признака начала обмена...
Вроде распространенный кейс, реле и панель, логично при этом изменять параметры, тем более, что в ПР есть их поддержка, а использовать даже с костылями не получается...
Может проблема с панелью? С ПР не вижу никаких проблем, ПР может хранить переменные в энергонезависимой памяти(сетевые переменные в режиме подчинённого устройства тоже энергонезависимые) С панели можно их читать и писать, не понятно в чём проблема! Вроде как элементарные функции!
Сергей0308 сетевые переменные не имеют уже инициализации, видимо это и волнует автора. Но тут на помощь приходят макросы SelChange
Сергей0308
18.05.2021, 13:24
Сергей0308 сетевые переменные не имеют уже инициализации, видимо это и волнует автора. Но тут на помощь приходят макросы SelChange
Мне кажется у ТС не проблема первого включения после заливки программы в ПР!
Если это так, то это не проблема, я много раз показывал как это поправить:
55151
И есть внутренние энергонезависимые переменные, зачем упираться рогами в ворота:
55152
keysansa
20.05.2021, 20:24
Если у Вас панель мастер, то она сама должна вычитать при запуске обмена данные из ячеек ПР100, и далее при изменении записать их обратно в ПР. Не вижу проблем в таком кейсе.
Да, именно так в итоге и получилось. Спасибо.
Но все равно, в кейсе проблема, которую опишу ниже.
keysansa
20.05.2021, 20:45
Может проблема с панелью? С ПР не вижу никаких проблем, ПР может хранить переменные в энергонезависимой памяти(сетевые переменные в режиме подчинённого устройства тоже энергонезависимые) С панели можно их читать и писать, не понятно в чём проблема! Вроде как элементарные функции!
Согласен, это даже не функции, а конфигурация.
ПР-то может хранить. С этим нет проблем, я же писал. Проблема в изменении их из панели. Да, их можно читать, а вот с изменением - беда... И после прочтения всего похожего на форуме (а так же советов в этой ветке) вырисовывается вот такое:
1. Изменение параметров "искаропки" - никак. Везде нужно кодить. Хотя, повторюсь - кейс один из самых распространенных. Распространённее только просто отображение состояния. На которое панель и рассчитана (видимо).
2. Наиболее легкий вариант реализации кейса - панель "мастер", ПР - "слейв". Не подходит, если у вас есть удаленный ввод/вывод, либо есть две панели, расположенные в разных концах установки. Но кодить нужно (SEL)
3. В конфигурации панель "слейв", ПР "мастер" - пока так и не удалось запустить. При изменении значения, на панели моргают значения (установленное из панели и установленное в ПР, возможно, виноват мой кодинг).
4. Кажется, было бы гораздо проще, если бы сетевые переменные имели галочку "энергонезависимость". В режиме панель "мастер", это бы значительно упростило бы реализацию (да, на ПК у меня 4К моник, там нет проблем с тасканием связей по экрану, а вот на ноуте только FullHD, не всегда схема помещается даже с макросами, приходится переменные заводить).
Вроде пока все, огромное спасибо за советы. Этот проект закрою, вроде, но далее будет проект с удаленным ВВ.
keysansa
20.05.2021, 20:46
Сергей0308 сетевые переменные не имеют уже инициализации, видимо это и волнует автора. Но тут на помощь приходят макросы SelChange
Совершенно верно, спасибо!
keysansa
20.05.2021, 21:00
Мне кажется у ТС не проблема первого включения после заливки программы в ПР!
Если это так, то это не проблема, я много раз показывал как это поправить:
Это не проблема для панели - "мастер". Я к сожалению, не писал сразу все свои шаги. Вот например, пришлось городить:
55204
И это еще не треть даже. Как писал выше - галочка "Retain" на сетевых переменных облегчила бы на порядок работу. Ну или, поле "адреса" у обычных переменных...
И есть внутренние энергонезависимые переменные, зачем упираться рогами в ворота:
Я упирался во внутренние переменные панели ИП320, мне о них намекали, но я видел только ворота.
А как хранить значения в панели?
keysansa
20.05.2021, 21:10
Но больше всего волнует, что не могу отследить наличие обмена.
Да, были идеи с вычитаниями значений, мне понравились в первом приближении.
ЗЫ. Вспомнил еще... Тоже из похожего. У ИП320 есть элемент графики "индикатор". Но ПР в режиме слейва не поддерживает биты...
Ревака Юрий
21.05.2021, 09:02
Но больше всего волнует, что не могу отследить наличие обмена.
Да, были идеи с вычитаниями значений, мне понравились в первом приближении.
ЗЫ. Вспомнил еще... Тоже из похожего. У ИП320 есть элемент графики "индикатор". Но ПР в режиме слейва не поддерживает биты...
Поддерживает он биты, но если таких бит много, это плохой вариант.
keysansa
22.05.2021, 13:54
Поддерживает он биты, но если таких бит много, это плохой вариант.
При попытке создать битовую переменную - так и пишет, битовые переменные не поддерживаются в режиме слейв.
keysansa они поддерживаются, но не в явном виде, для хранения все равно используется регистр целиком но использовать можно любой. Лучше упаковывать.
keysansa
23.05.2021, 14:28
keysansa они поддерживаются, но не в явном виде, для хранения все равно используется регистр целиком но использовать можно любой. Лучше упаковывать.
По моему, если они поддерживаются, то их можно создать в списке переменных. Тут нельзя.
То, что лучше упаковывать, это ясно. Но вот панель 320, для элемента графики "Индикатор" хочет именно битовую переменную.
Сергей0308
23.05.2021, 16:44
По моему, если они поддерживаются, то их можно создать в списке переменных. Тут нельзя.
То, что лучше упаковывать, это ясно. Но вот панель 320, для элемента графики "Индикатор" хочет именно битовую переменную.
Такое впечатление, Вы принципиально не читаете РЭ на прибор(пытаетесь заменить сведения из РЭ своими догадками), там дополнительно ничего и не надо создавать, всё(биты целочисленного регистра) автоматически дублируется, как рассчитать адрес битовой переменной указано на стр.17.
55249
Ревака Юрий
24.05.2021, 09:56
При попытке создать битовую переменную - так и пишет, битовые переменные не поддерживаются в режиме слейв.
C 5.30 как раз этот момент разобран.
https://www.youtube.com/watch?v=NMTvVy9ABVc
keysansa
26.05.2021, 17:30
Такое впечатление, Вы принципиально не читаете РЭ на прибор(пытаетесь заменить сведения из РЭ своими догадками), там дополнительно ничего и не надо создавать, всё(биты целочисленного регистра) автоматически дублируется, как рассчитать адрес битовой переменной указано на стр.17.
55249
Прошу прощения, но это вы не читаете. Поддержка означает, что я могу создать битовую переменную в списке переменных, и прочитать/записать ее функциями 1 и 5. Огородами - это не поддержка.
Сергей0308
26.05.2021, 18:58
Прошу прощения, но это вы не читаете. Поддержка означает, что я могу создать битовую переменную в списке переменных, и прочитать/записать ее функциями 1 и 5. Огородами - это не поддержка.
Вы сначала сделайте, а свои умозаключения приберегите на потом, короче, для начала РЭ прочитайте! Я так понимаю, Вы даже скриншот не посмотрели, что я выложил, коли всякую лабуду пишите!
keysansa
01.06.2021, 13:32
Вы сначала сделайте, а свои умозаключения приберегите на потом, короче, для начала РЭ прочитайте! Я так понимаю, Вы даже скриншот не посмотрели, что я выложил, коли всякую лабуду пишите!
Я не знаю, какое вы отношение имеете к Овен. Но реакция на отсутствие заявленной поддержки битовых переменных (при этом целочисленные - поддерживаются, как и заявлено) в виде "вы вот тут на FBD колхоз для обхода сделайте" - это как раз лабуда.
ЗЫ. Сергей0308, вас как специалиста - уважаю, ваши ответы всегда в тему и закрывают вопрос. Но они не отвечают на мои вопросы, хоть и работающие. Потому, что это "огородами".
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot