PDA

Просмотр полной версии : ИПП 120 и ПР200



Jakan
14.10.2019, 08:18
Добрый день всем. Для работы ИПП120 с ПР200 (мастер и слейв) обязательно программу грузить в оба? или в ПР200 (слейв) не обязательно грузить прогу?
И можно ли сделать чтобы ИПП120 был мастером и подцепить управление еще с OwenCloud? Тогда у ПР200 оба 485 выхода будут слейвом?

petera
14.10.2019, 10:01
ПР200 можно использовать БЕЗ ПРОГРАММЫ, как модуль ввода/выывода для ИПП120
45097
Для этого нужно установить перемычку XP2 в режим Run-Stop
45098

Теперь ИПП120 сможет читать из ПР200 ВСЕ физические входы
45099

45100

и читать/писать ВСЕ физические выходы по этим адресам
45101

Только вот в таком режиме сетевые переменные в ПР200 не работают и OwenCloud с таким ПР не дружит.

Сергей0308
14.10.2019, 12:27
ПР200 можно использовать БЕЗ ПРОГРАММЫ, как модуль ввода/выывода для ИПП120
45097
Для этого нужно установить перемычку XP2 в режим Run-Stop
45098

Теперь ИПП120 сможет читать из ПР200 ВСЕ физические входы
45099

45100

и читать/писать ВСЕ физические выходы по этим адресам
45101

Только вот в таком режиме сетевые переменные в ПР200 не работают и OwenCloud с таким ПР не дружит.

Я так понимаю, что состояния входов-выходов можно читать всегда, вне зависимости от положения джамперов(перемычки ХР2) и наличия программы в ПР200!

petera
14.10.2019, 12:50
Я так понимаю, что состояния входов-выходов можно читать всегда, вне зависимости от положения джамперов(перемычки ХР2) и наличия программы в ПР200!

Конечно можно
Однако ТС спрашивал:

обязательно программу грузить в оба? или в ПР200 (слейв) не обязательно грузить прогу?

По этому и сказал, что если в ПР программы нет, то будут доступны только физ.входы и физ.выходы

Pvalp
15.10.2019, 13:41
Добрый день.
А возможно показать пример соединения и обмена данными между ИПП120 и ПР102?

Jakan
30.10.2019, 14:12
Добрый день. Вообщем вышло так. Прога загруженна в ПР200 но в ИПП120 загружена программа только для запуска и ввода уставок и данных. Но приоритет стоит на ПР200 если вдруг ипп сгорит или сломается. Можно управление перевести в ПР200. Так же с овен клауд возможно управление вплоть до остановки системы принудительно. Вообщем все работает только вот ПЕ210 глючит то работает то не работает.

bayk
03.12.2019, 20:43
Продолжу тему! основываясь на уроке Юрия Реваки обмен данными между ИПП120 и ПР200 (https://www.youtube.com/watch?v=YibiaUavC20&t=354s)
хочу рассказать и спросить - если два устройства стартуют одновременно и работают постоянно вопросов никаких нет, а вот если в процессе работы панель ИПП120 отключается, а за это время в ПР200 произведены какие-то изменения, то в ПР200 прописывается то состояние бита, которое сейчас висит в ИПП120 независимо от того, что было установлено в Прке. с одной стороны я прекрасно понимаю, что это связано с работой selchgB, но я не знаю как с этим бороться.
у меня стоит задача сделать на базе панели ИПП120 дублер экрана Прки, но при этом чтобы не переживать, что если питание панели "срубится" неожиданно (будет стоять в другом шкафу), а в это время кто-то поменяет настройки в Прке то вновь включенная панель не "засадила" старые значения в Прку. я так подозреваю, что такое же поведение будет и для инт и флоат переменных...


Добавление: вроде бы я победил пропажу питания. я добавил таймер от момента включения и Sel, который обсасывает регистр, который мы читаем из ПР на регистр, который мы туда пишем (см фото) 45956
все стало хорошо, но теперь у меня другая проблема: если оборвалась связь, то, если я поменяю уставку в ИПП120 пока связи нет, то я не могу таким же классным образом при возобновлении питания "высосать" данные из Прки. Прка подбирает данные из ИПП, хотя я попробовал сделать как и с питанием, то-есть перекидывать в регистр записи в ПР то, что прочитал из того же регистра чтения, но я смотря в отладку вижу, что пока я пытаюсь зациклить запись в этот регистр - у меня и не читается ничего из этого регистра, а как только таймер зацикливаниея досчитывает, у меня сразу происходит запись и сразу за ней чтение этого регистра из ПР, в итоге данные, измененные в ИПП120 прямиком уезжают в ПРку.

Продолжаю извращаться. я победил этот нюанс добавив на вход SelChgB блок selB который на время отсутствия связи перенаправляет данные считанные из регистра считывания в блок SelChgB , что приводит к нужному результату - как только связь возобновляется состояние бита из Прки записываются в панель, независимо от того, что ты там пытаешься внести. только вот при потере связи (что естественно) в панели все связи обнуляются.
поэтому я вот думаю, а можно ли каким-либо образом блокировать переход с одного экрана на другой, по состоянию переменной? поскольку при потере связи я могу принудительно с любого экрана вернуться на "главный" но вот потом мне надо запретить с главного переходить на экран, где находятся настройки, в которые сейчас лезть не стоит, поскольку я боюсь, что при большом количестве переменных пиз-за дополнительных Sel программа не влезет в ИПП120

dan75
03.12.2019, 21:58
А мастером у нас ИП? Я бы, не мудрствуя лукаво, при обрыве связи выводил бы на экран ИП надпись "обрыв связи" без возможности перехода на любой другой экран.

petera
03.12.2019, 22:41
Продолжу тему! основываясь на уроке Юрия Реваки обмен данными между ИПП120 и ПР200 (https://www.youtube.com/watch?v=YibiaUavC20&t=354s)
хочу рассказать и спросить - если два устройства стартуют одновременно и работают постоянно вопросов никаких нет, а вот если в процессе работы панель ИПП120 отключается, а за это время в ПР200 произведены какие-то изменения, то в ПР200 прописывается то состояние бита, которое сейчас висит в ИПП120 независимо от того, что было установлено в Прке. с одной стороны я прекрасно понимаю, что это связано с работой selchgB, но я не знаю как с этим бороться.
у меня стоит задача сделать на базе панели ИПП120 дублер экрана Прки, но при этом чтобы не переживать, что если питание панели "срубится" неожиданно (будет стоять в другом шкафу), а в это время кто-то поменяет настройки в Прке то вновь включенная панель не "засадила" старые значения в Прку. я так подозреваю, что такое же поведение будет и для инт и флоат переменных...


Добавление: вроде бы я победил пропажу питания. я добавил таймер от момента включения и Sel, который обсасывает регистр, который мы читаем из ПР на регистр, который мы туда пишем (см фото) 45956
все стало хорошо, но теперь у меня другая проблема: если оборвалась связь, то, если я поменяю уставку в ИПП120 пока связи нет, то я не могу таким же классным образом при возобновлении питания "высосать" данные из Прки. Прка подбирает данные из ИПП, хотя я попробовал сделать как и с питанием, то-есть перекидывать в регистр записи в ПР то, что прочитал из того же регистра чтения, но я смотря в отладку вижу, что пока я пытаюсь зациклить запись в этот регистр - у меня и не читается ничего из этого регистра, а как только таймер зацикливаниея досчитывает, у меня сразу происходит запись и сразу за ней чтение этого регистра из ПР, в итоге данные, измененные в ИПП120 прямиком уезжают в ПРку.

Продолжаю извращаться. я победил этот нюанс добавив на вход SelChgB блок selB который на время отсутствия связи перенаправляет данные считанные из регистра считывания в блок SelChgB , что приводит к нужному результату - как только связь возобновляется состояние бита из Прки записываются в панель, независимо от того, что ты там пытаешься внести. только вот при потере связи (что естественно) в панели все связи обнуляются.
поэтому я вот думаю, а можно ли каким-либо образом блокировать переход с одного экрана на другой, по состоянию переменной? поскольку при потере связи я могу принудительно с любого экрана вернуться на "главный" но вот потом мне надо запретить с главного переходить на экран, где находятся настройки, в которые сейчас лезть не стоит, поскольку я боюсь, что при большом количестве переменных пиз-за дополнительных Sel программа не влезет в ИПП120
А все потому, что в примере Юрия много всякой лишней ерунды, по этому и пришлось всякие дополнительные selB и прочие извращения.

На самом деле для регистровых переменных (целые и с плавающей точкой) никаких макросов типа SelChgF или SelChgI ненужно ни в мастере(ИПП120) ни в слейве(ПР200)
И в мастере(ИПП120) даже ненужно разделять сетевые переменные на запись и чтение с одним и тем же регистром.
45961
единственный макрос SelChgI нужен для упакованных/распакованных в булевых переменных.
45958
Больше макросов, участвующих в обмене НЕТ!
m1 и m2 - булевы переменные на экране
45959
в свойствах m1 и m2 стоит запись в конце цикла
45960

Все прекрасно работает.
"если питание панели "срубится" неожиданно (будет стоять в другом шкафу), а в это время кто-то поменяет настройки в Прке то вновь включенная панель не "засаживает" старые значения в Прку, а читает из нее те данные, которые в ней есть на момент включения панели.

Аналогично в слейве (в ПР200), только один макрос
SelChgI нужен для упакованных/распакованных в булевых переменных.
45963
Это ВСЕ, что осталось от примера Юрия!

petera
04.12.2019, 02:02
Вот "правильные" проекты, без всякой ерунды. Фактически на схемах -пустота!
Причем
"если питание панели "срубится" неожиданно (будет стоять в другом шкафу), а в это время кто-то поменяет настройки в Прке то вновь включенная панель не "засаживает" старые значения в Прку, а читает из нее те данные, которые в ней есть на момент включения панели.
Для исключения возможности редактирования переменных в ИПП при отсутствии связи с ПР200 используется принудительный переход на экран "НЕТ СВЯЗИ"

Мастер
Регистровые переменные INT и FLOAT редактируются прямо с экрана! Ни каких промежуточных переменных не используются!
45968
По этому не нужны дополнительные макросы SelChg
Нужен только один макрос SelChgI - для упакованных/распакованных в булевых переменных.

Программа в мастере (ИПП). Слева мой вариант, справа вариант Юрия
45966 45969
для булевых переменных m0 и m1 задано свойство "Запись в конце цикла"
Сетевые настройки. Слева мой вариант, справа вариант Юрия
45967 45970
У всех переменные вкл. запись по изменению. Никакого "раздвоения" сетевых переменных на запись и чтение.

Слейв
Регистровые переменные INT и FLOAT редактируются прямо с экрана! Ни каких промежуточных переменных не используются!
45973
По этому не нужны дополнительные макросы SelChg
Нужен только один макрос SelChgI - для упакованных/распакованных в булевых переменных.

Программа в слейве (ПР200). Слева мой вариант, справа вариант Юрия
45971 45972
Сетевые настройки у меня и Юрия совпадают
45974

dan75
04.12.2019, 07:52
petera, прошу прощения за неграмотность, но где искать настройку "запись в конце цикла"? Я так понимаю, это важно, чтобы в слейв не прописывалось чёрт-те что при включении питания мастера. Задался этим вопросом, когда у меня ПР при включении изменил уставки ТРМа202. Хорошо заметил вовремя.

petera
04.12.2019, 10:35
petera, прошу прощения за неграмотность, но где искать настройку "запись в конце цикла"? Я так понимаю, это важно, чтобы в слейв не прописывалось чёрт-те что при включении питания мастера. Задался этим вопросом, когда у меня ПР при включении изменил уставки ТРМа202. Хорошо заметил вовремя.

В свойствах переменной на холсте
45977

Сергей0308
04.12.2019, 10:48
В свойствах переменной на холсте
45977

Для этого, как мне кажется, переменная(выходной блок переменной) должна быть не энергонезависимой и выведена на экран!

petera
04.12.2019, 11:07
Для этого, как мне кажется, переменная(выходной блок переменной) должна быть не энергонезависимой и выведена на экран!

Так и есть.

Переменная - не энергонезависимая
45978

И выведена на экран
45979

dan75
04.12.2019, 11:36
Для этого, как мне кажется, переменная(выходной блок переменной) должна быть не энергонезависимой и выведена на экран!

Важное уточнение. Спасибо.

bayk
04.12.2019, 23:19
Petera я попробовал соорудить ваш вариант, но у меня не завелись булевы переменные. Они прекрасно меняются с ипп, но я не могу их изменить в прке что при наличии связи что при ее отсутствии. На ваших скринах инт сетевая переменная к selchgi по выходу не светится жёлтой, а у меня светится. Может у вас какой-то selchg модифицированный? Уезжал на объект ваш тестовый проект прогрузить в железо не успел. Только по инструкции успел соорудить и получить залипон. О вспомнил у меня все битовые переменные которые участвуют в обмене при изменении с ПРки начинают колотиться туда-сюда

Сергей0308
04.12.2019, 23:34
Вот здесь уже подобная тема обсуждалась: https://owen.ru/forum/showthread.php?t=31564&page=2
И если что там не совсем так работает как Вы хотите, всегда можно поправить!

petera
05.12.2019, 09:50
Petera я попробовал соорудить ваш вариант, но у меня не завелись булевы переменные. Они прекрасно меняются с ипп, но я не могу их изменить в прке что прина Ливии связи что приее отсутствии. На ваших скринах инт сетевая переменная к selchgi по выходу не светится жёлтой, а у меня светится. Может у вас какой-то selchg модифицированный? Уезжал на объект ваш тестовый проект прогрузить в желехо не успел. Только по инструкции успел соорудить и получить залипон. О вспомнил у меня все битовые переменные которые учавствуют в обмене при изменении с ПРки начинают колотиться туда-сюда

Почему никто не хочет читать?
Только что выше на один пост!


в свойствах булевых переменных нужно включить запись в конце цикла, если у Вас сетевая переменная к selchgi по выходу светится жёлтой, значит Вы не включили запись в конце цикла.
- желтизна пропадет
- и изменятся в ПРке начнут
- и колотиться ничего не будет

включить запись в конце цикла нужно в обоих проектах! и для ИПП и для ПР!
не используйте для устранения "желтизны" обратную связь(линию задержки)! и все получится!
https://owen.ru/forum/attachment.php?attachmentid=45993&d=1575529270
https://owen.ru/forum/attachment.php?attachmentid=45994&d=1575529314

Ревака Юрий
05.12.2019, 14:52
Спасибо за подробный разбор, возможно что-то упустил в примере, прикреплю упрощенный вариант.

bayk
05.12.2019, 15:06
включить запись в конце цикла нужно в обоих проектах! и для ИПП и для ПР!

я почитал и сделал!, но почему-то подумал, что это надо сделать только для ИПП!!!

кстати вы забыли отметить, что сетевую переменную надо тоже настраивать как записываемую в конце цикла!

после этих манипуляций все прекрасно заработало!

tuma-andrej
07.10.2020, 16:40
Подскажите, пожалуйста, новичку. Первый раз подключаю ИПП120 к ПР200. Есть готовый проект. Залил в ПР и ИПП приведенные выше программы. Как соединить залитые программы с моим проектом? Необходимо связать переменные, которые будут считываться?

Alexey_Palich
07.10.2020, 17:56
Странная сборка, ПР200 тоже с экраном зачем ипп. Выкладывайте проект люди помогут.

bayk
07.10.2020, 22:30
Странная сборка, ПР200 тоже с экраном зачем ипп.
все просто - ПР200 стоит в щите, а ипп можно поставить на "морду лица". я конечно понимаю, что можно взять контейнер для размещения ПР200 на панели, но он не удобный, как в монтаже, так и в пусконаладке/обслуживании из-за отсутствия доступа к клемнику Прки без извращений, плюс значительно, вот прям раза в 2 растет расход кабеля на дверь щита, что приводит к несильно надежному жгуту при частых открытиях дверцы. я, парой сообщений выше делал так, чтобы собрать инфу с 2 ПРок, гдле каждая занималась своим делом, а на ИПП было бесшовное настраиваемое пространство. при этом ПРки остаются технологически независимыми и в случае выхода из строя одной из них функционал другой сохраняется. ну или панель может располагаться совсем не в шкафу управления, а например около оператора в маленьком боксе.

Ревака Юрий
08.10.2020, 09:31
Подскажите, пожалуйста, новичку. Первый раз подключаю ИПП120 к ПР200. Есть готовый проект. Залил в ПР и ИПП приведенные выше программы. Как соединить залитые программы с моим проектом? Необходимо связать переменные, которые будут считываться?

Вся суть работы, с любым устройством выступающим в качестве панели оператора для алгоритма загруженного в ПР, заключается в сопоставлении уставок которые необходимо регулировать, это могут быть битовые, целочисленные или с плавающей запятой, в зависимости что используется выделяются сетевые регистры для обмена. Если необходимо, а обычно это необходимо, чтобы изменения происходили из любого места как экран ПР так и ИПП120(облако, SCADA...) и при этом информация на всех устройствах обновлялась, то используется конструкция с макросами SelChgХ для разных типов, X=B битовые, X=I целые, X=F дробные.