Просмотр полной версии : ИПП 120 и ПР200
Добрый день всем. Для работы ИПП120 с ПР200 (мастер и слейв) обязательно программу грузить в оба? или в ПР200 (слейв) не обязательно грузить прогу?
И можно ли сделать чтобы ИПП120 был мастером и подцепить управление еще с OwenCloud? Тогда у ПР200 оба 485 выхода будут слейвом?
ПР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!
Я так понимаю, что состояния входов-выходов можно читать всегда, вне зависимости от положения джамперов(перемычки ХР2) и наличия программы в ПР200!
Конечно можно
Однако ТС спрашивал:
обязательно программу грузить в оба? или в ПР200 (слейв) не обязательно грузить прогу?
По этому и сказал, что если в ПР программы нет, то будут доступны только физ.входы и физ.выходы
Добрый день.
А возможно показать пример соединения и обмена данными между ИПП120 и ПР102?
Добрый день. Вообщем вышло так. Прога загруженна в ПР200 но в ИПП120 загружена программа только для запуска и ввода уставок и данных. Но приоритет стоит на ПР200 если вдруг ипп сгорит или сломается. Можно управление перевести в ПР200. Так же с овен клауд возможно управление вплоть до остановки системы принудительно. Вообщем все работает только вот ПЕ210 глючит то работает то не работает.
Продолжу тему! основываясь на уроке Юрия Реваки обмен данными между ИПП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
А мастером у нас ИП? Я бы, не мудрствуя лукаво, при обрыве связи выводил бы на экран ИП надпись "обрыв связи" без возможности перехода на любой другой экран.
Продолжу тему! основываясь на уроке Юрия Реваки обмен данными между ИПП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
Это ВСЕ, что осталось от примера Юрия!
Вот "правильные" проекты, без всякой ерунды. Фактически на схемах -пустота!
Причем
"если питание панели "срубится" неожиданно (будет стоять в другом шкафу), а в это время кто-то поменяет настройки в Прке то вновь включенная панель не "засаживает" старые значения в Прку, а читает из нее те данные, которые в ней есть на момент включения панели.
Для исключения возможности редактирования переменных в ИПП при отсутствии связи с ПР200 используется принудительный переход на экран "НЕТ СВЯЗИ"
Мастер
Регистровые переменные INT и FLOAT редактируются прямо с экрана! Ни каких промежуточных переменных не используются!
45968
По этому не нужны дополнительные макросы SelChg
Нужен только один макрос SelChgI - для упакованных/распакованных в булевых переменных.
Программа в мастере (ИПП). Слева мой вариант, справа вариант Юрия
45966 45969
для булевых переменных m0 и m1 задано свойство "Запись в конце цикла"
Сетевые настройки. Слева мой вариант, справа вариант Юрия
45967 45970
У всех переменные вкл. запись по изменению. Никакого "раздвоения" сетевых переменных на запись и чтение.
Слейв
Регистровые переменные INT и FLOAT редактируются прямо с экрана! Ни каких промежуточных переменных не используются!
45973
По этому не нужны дополнительные макросы SelChg
Нужен только один макрос SelChgI - для упакованных/распакованных в булевых переменных.
Программа в слейве (ПР200). Слева мой вариант, справа вариант Юрия
45971 45972
Сетевые настройки у меня и Юрия совпадают
45974
petera, прошу прощения за неграмотность, но где искать настройку "запись в конце цикла"? Я так понимаю, это важно, чтобы в слейв не прописывалось чёрт-те что при включении питания мастера. Задался этим вопросом, когда у меня ПР при включении изменил уставки ТРМа202. Хорошо заметил вовремя.
petera, прошу прощения за неграмотность, но где искать настройку "запись в конце цикла"? Я так понимаю, это важно, чтобы в слейв не прописывалось чёрт-те что при включении питания мастера. Задался этим вопросом, когда у меня ПР при включении изменил уставки ТРМа202. Хорошо заметил вовремя.
В свойствах переменной на холсте
45977
Сергей0308
04.12.2019, 10:48
В свойствах переменной на холсте
45977
Для этого, как мне кажется, переменная(выходной блок переменной) должна быть не энергонезависимой и выведена на экран!
Для этого, как мне кажется, переменная(выходной блок переменной) должна быть не энергонезависимой и выведена на экран!
Так и есть.
Переменная - не энергонезависимая
45978
И выведена на экран
45979
Для этого, как мне кажется, переменная(выходной блок переменной) должна быть не энергонезависимой и выведена на экран!
Важное уточнение. Спасибо.
Petera я попробовал соорудить ваш вариант, но у меня не завелись булевы переменные. Они прекрасно меняются с ипп, но я не могу их изменить в прке что при наличии связи что при ее отсутствии. На ваших скринах инт сетевая переменная к selchgi по выходу не светится жёлтой, а у меня светится. Может у вас какой-то selchg модифицированный? Уезжал на объект ваш тестовый проект прогрузить в железо не успел. Только по инструкции успел соорудить и получить залипон. О вспомнил у меня все битовые переменные которые участвуют в обмене при изменении с ПРки начинают колотиться туда-сюда
Сергей0308
04.12.2019, 23:34
Вот здесь уже подобная тема обсуждалась: https://owen.ru/forum/showthread.php?t=31564&page=2
И если что там не совсем так работает как Вы хотите, всегда можно поправить!
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
Спасибо за подробный разбор, возможно что-то упустил в примере, прикреплю упрощенный вариант.
включить запись в конце цикла нужно в обоих проектах! и для ИПП и для ПР!
я почитал и сделал!, но почему-то подумал, что это надо сделать только для ИПП!!!
кстати вы забыли отметить, что сетевую переменную надо тоже настраивать как записываемую в конце цикла!
после этих манипуляций все прекрасно заработало!
tuma-andrej
07.10.2020, 16:40
Подскажите, пожалуйста, новичку. Первый раз подключаю ИПП120 к ПР200. Есть готовый проект. Залил в ПР и ИПП приведенные выше программы. Как соединить залитые программы с моим проектом? Необходимо связать переменные, которые будут считываться?
Alexey_Palich
07.10.2020, 17:56
Странная сборка, ПР200 тоже с экраном зачем ипп. Выкладывайте проект люди помогут.
Странная сборка, ПР200 тоже с экраном зачем ипп.
все просто - ПР200 стоит в щите, а ипп можно поставить на "морду лица". я конечно понимаю, что можно взять контейнер для размещения ПР200 на панели, но он не удобный, как в монтаже, так и в пусконаладке/обслуживании из-за отсутствия доступа к клемнику Прки без извращений, плюс значительно, вот прям раза в 2 растет расход кабеля на дверь щита, что приводит к несильно надежному жгуту при частых открытиях дверцы. я, парой сообщений выше делал так, чтобы собрать инфу с 2 ПРок, гдле каждая занималась своим делом, а на ИПП было бесшовное настраиваемое пространство. при этом ПРки остаются технологически независимыми и в случае выхода из строя одной из них функционал другой сохраняется. ну или панель может располагаться совсем не в шкафу управления, а например около оператора в маленьком боксе.
Ревака Юрий
08.10.2020, 09:31
Подскажите, пожалуйста, новичку. Первый раз подключаю ИПП120 к ПР200. Есть готовый проект. Залил в ПР и ИПП приведенные выше программы. Как соединить залитые программы с моим проектом? Необходимо связать переменные, которые будут считываться?
Вся суть работы, с любым устройством выступающим в качестве панели оператора для алгоритма загруженного в ПР, заключается в сопоставлении уставок которые необходимо регулировать, это могут быть битовые, целочисленные или с плавающей запятой, в зависимости что используется выделяются сетевые регистры для обмена. Если необходимо, а обычно это необходимо, чтобы изменения происходили из любого места как экран ПР так и ИПП120(облако, SCADA...) и при этом информация на всех устройствах обновлялась, то используется конструкция с макросами SelChgХ для разных типов, X=B битовые, X=I целые, X=F дробные.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot