Просмотр полной версии : Управление потоками данных
Добрый день!
Подскажите, пожалуйста, по управлению потоками данных с двух PLC в MasterScada:
В проекте на уровне OPCServer имеется 2 группы PLC: PLC1 и PLC2, то есть ведущий и ведомый контроллеры (для определения данных состояний имеются две переменные беззнакового целового типа, счетчик вообщем). Появляются как бы два потока данных:
1) Первый поток: чтение в скаде диагностических тегов с обоих контроллеров. Ну и запись настроек тоже в оба контроллера. Здесь наверное просто забирать данные в скаду и писать отдельно в два тега? То есть записали данные в один PLC, записали те же данные во второй PLC. Или
есть контрол, посредством которого я буду писать данные сразу в два тега?
2) Второй поток: чтение данных от датчиков, сигнализаций защит и т.п., только с ведущего контроллера.
Каким образом организовать мажорирование сигналов? На уровне системы или объекта...Имеются в MasterScada стандартные средства для решения этой задачи?
3) Не загрузит ли MasterScad'у такая структура с разнопоточностью? Если конечно второй поток вобще можно организовать без сторонних
средств...
С уважением, Катерина.
SCADAMaster
25.05.2018, 09:37
Вообще это странная схема резервирования, и штатно мы ее не поддерживаем - для объединения нужно будет использовать проектные решения.
Как делается правильно можно посмотреть на примере Modbus Universal. Добавляется один узел, один контроллер. У узла включается резервирование, задаются IP. Далее при пропадании связи происходит переключение с основного на резервный узел. Ну или с помощью скрипта по любому алгоритму.
Какие контроллеры у вас используются? Они поддерживают Modbus TCP?
Под проектными решениями вы подразумеваете официальное обращение в компанию Инсат для разработки модуля под такую схему резервирования, которая допустим, будет использоваться только у нас?
Как делается правильно можно посмотреть на примере Modbus Universal.
Да, контроллеры поддерживают протокол Modbus TCP.
То есть в самом MasterOPC Universal Modbus реализовать резервирование? Будет своеобразная группа тегов Redundancy, которые я буду забирать в скаду только с ведущего?
А если в компьютер добавить выбрать "Masterlink", добавить 2 модбас устройства....так тоже не получится получить третью группу тегов, только от ведущего....там смотрю резервирование не настраивается.
Схема замудренная, потому что в первую очередь думала можно обойтись только OPC, не прибегая к Modbus, но и не совсем понимаю как в мастерскада с мажорированием тегов от двух контроллеров с идентичным составом тегов (хоть по OPC, хоть по Modbus), и как привязывать теги в объекты проекта, когда мне надо брать диагностику с обоих PLC, а остальные только от ведущего комплекта. В GateWay Codesys вроде можно так настроить, в котором будет происходить мажорирование тегов, и в скаду будут уходить только теги ведущего. Там создается третья группа тегов Redundancy. Но в этом варианте много задержек по времени накладывается. Что ни есть хорошо.
Таким образом, самым удобным вариантом остается использование MasterOPC Universal Modbus? Об этом написано в методических пособиях? Конкретно по резервированию, которое вы указываете
Добавляется один узел, один контроллер. У узла включается резервирование, задаются IP. Далее при пропадании связи происходит переключение с основного на резервный узел
И если реализовывать всё-таки схему мажорирования сигналов через скрипт, мне же его тоже надо будет тогда исполнять до попадания в мастерскаду? В том же самом MasterOPC Universal Modbus?
SCADAMaster
25.05.2018, 11:28
Под проектными решениями вы подразумеваете официальное обращение в компанию Инсат для разработки модуля под такую схему резервирования, которая допустим, будет использоваться только у нас?
Нет. Вам нужно будет на уровне проекта обрабатывать два источника входных данных, и на выход выдавать итоговый.
Вариантов много, но все они хуже чем использование ОРС с нормальным резервированием.
В проекте с количеством сигналов много превышающим 2,5К точек
обрабатывать два источника входных данных, и на выход выдавать итоговый. лучше конечно использовать стандартные средства, которые уже есть и используются вами. Да и к тому же 20% от всех тегов мне бы опрашивать с 20мсек-циклом...срабатывание всяких защит.
Поэтому и прошу у вас совета, так как в документации ничего не нашла по мажорированию сигналов, может быть не все методички просмотрела.
У нас контроллеры CPM723 Fastwel I/O.
С уважением, Катерина
SCADAMaster
25.05.2018, 12:05
В проекте с количеством сигналов много превышающим 2,5К точек лучше конечно использовать стандартные средства, которые уже есть и используются вами.
Нет готовых средств для этого.
Это делается проектными решениями. Например скрипт, который принимает 2 комплекса сигналов, а на выход дает 1.
Это делается проектными решениями. Например скрипт, который принимает 2 комплекса сигналов, а на выход дает 1.
Спасибо!
С резервированием контроллеров тоже выходит, что не получится, так как в списке доступных контроллеров нет CMP723.
SCADAMaster
25.05.2018, 12:30
С резервированием контроллеров тоже выходит, что не получится, так как в списке доступных контроллеров нет CMP723.
Поясните. В каком списке?
В списке "Система - Компьютер1 - Вставить контроллер..."
Как делается правильно можно посмотреть на примере Modbus Universal. Добавляется один узел, один контроллер. У узла включается резервирование, задаются IP. Далее при пропадании связи происходит переключение с основного на резервный узел.
я решила, что Вы говорите про резервирование на уровне контроллеров, которое доступно в самом проекте, если используются контроллеры из того списка. Нашла, где в Modbus Universal включается резервирование. Во вкладке резервные каналы надо поставить канал в True, тогда становится доступным ввод второго ip. ))
А это резервирование через "Система - Компьютер1 - Вставить контроллер..." похоже настраивает только работу самих контроллеров, а не OPC данных
В процессе работы резервированного комплекса каждому из контроллеров присваивается
один из двух взаимоисключающих статуса:
• Основной контроллер выполняет прикладной проект и осуществляет управление
объектом автоматизации;
• Резервный контроллер выполняет прикладной проект (периодически запрашивает
данные у основного контроллера), но не производит управление объектом.
Так-то у нас резервирование обоих полублоков уже настроено на нижнем уровне, при отказе того или иного. А вот два потока opc данных не разрулены до попадания в мастерскаду.
Буду пробовать скриптом их разрулить.
С уважением, Катерина
SCADAMaster
25.05.2018, 15:00
В списке "Система - Компьютер1 - Вставить контроллер..."
Это для контроллеров с MPLC - не ваш случай
Под Modbus Universal вы же имеете ввиду MAsterOPC Universal Modbus? Но там же нет параметра включить резервирование узла, когда он создается...поэтому я решила, что Вы говорите про резервирование на уровне контроллеров, которое доступно в самом проекте, если используются контроллеры из того списка.
См. приложение.
Версия должна быть Trial или Unl
См. приложение.
Версия должна быть Trial или Unl
Спасибо большое! Я немножко вперед вас обновила свое сообщение последнее, так как всё-таки нашла эти вкладки.
Можно ещё один вопрос на сегодня?))
Если я воспользуюсь Modbus Universal, добавлю два узла, одно устройство с всеми переменными, то в мастер скаду буду забирать эту группу переменных только от узла master? а когда произойдет переключение между узлами, то данные будут идти от резервного узла, который был slave, а станет master. Так?
SCADAMaster
25.05.2018, 15:15
Почему два узла то?
Один узел, один контроллер, один набор переменных.
Просто на уровне узла в ОРС будут решаться все вопросы резервирования, а скада будет получать уже готовые данные и не заботится о резервирвировании
добавлю два узла
В списке объектов один узел. А второй я имела ввиду тот, который у меня будет как "резервный канал". Я в вас в заблуждение ввела, что его тоже узлом назвала.
Добавлю один узел, одно устройство. Для узла включу канал 1 в true, настрою его IP. Добавлю список тегов. Дальше уже пойду в мастерскаду и буду получать данные только от ведущего.
SCADAMaster
25.05.2018, 15:24
Добавлю один узел, одно устройство. Для узла включу канал 1 в true, настрою его IP. Добавлю список тегов. Дальше уже пойду в мастерскаду и буду получать данные только от ведущего.
Да.
А при отказе от резеврного
А при отказе от резеврного
Не поняла...при отказе от резервного?
Поставить галочку Автоматическое переключение, чтобы обратно вернулся на ip первый, при отказе резервного канала, если он был матером? Поставлю. ))
SCADAMaster
25.05.2018, 15:37
Не поняла...при отказе от резервного?
Отказал основной (пропала связь) - будет идти опрос резервного.
Также можно вручную выполнять переключение на резервный, или используя какой то алгоритм (анализ какого тега) - с помощью специальных функций встроенных скриптов
Большое Вам спасибо! Всё стало более ясным. Испробую на деле и этот вариант. Он кажется более надежным, чем вариант с опросом двух входов и выдачу на выход значения переменной от ведущего контроллера, если бы ещё тегов было не так много.
С уважением, Катерина
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot