1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

ControlLogix и ControlNet

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Ответить

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

ControlLogix и ControlNet

Сообщение tank_urg »

Проектируется блочная установка водоочистки с локальной системой управления на базе ControlLogix 1756-L71.
Заказчик требует реализовать обмен с верхним уровнем (вывод информации с возможностью управления) по резервированной сети ControlNet.
Для этих целей в общий крейт был закуплен модуль 1756-CNBR.
Никогда раньше с указанным протоколом обмена я дела не имел.
На просторах интернета нашел руководство "Конфигурация сети ControlNet".
Из этого руководства выяснил, что данный протокол отличается от привычного мне Modbus, так как имеет сетевую модель "производитель-потребитель".
После прочтения документа остались некоторые вопросы:
1) Есть ли возможность запрограммировать мой контроллер на обмен с верхним уровнем по ControlNet, не зная, какие еще элементы кроме него будут в общей сети? В RSLogix 5000 при добавлении модуля 1756-CNBR в нем появляется подсеть ControlNet, остальные элементы которой мне неизвестны. Каким образом это реализуется, если это возможно?
2) Для "потребления" моим контроллером какой-нибудь переменной нужно, чтобы кто-нибудь ее "произвел". Непонятно, каким образом переменная передается от "производителя" к "потребителю". Если в Modbus мы определяем область памяти, адрес которой запрашивает master, а slave возвращает содержимое, то для ControlNet нам необходимо знать имя переменной и в протоколе обмена указывать имена переменных для "производства" и "потребления"?
3) Сколько указывать "потребителей" для производимой моим контроллером переменной, если на данном этапе мне это неизвестно?
4) Необходимо ли мне назначать модуль 1756-CNBR keeper-ом? Должны ли в нем храниться параметры сети, если мой контроллер является одним из элементов общей сети ControlNet?

Может быть кто-нибудь решал аналогичную задачу и может пояснить, как в его случае реализовывался обмен с верхним уровнем?

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5623
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 546 раз
Поблагодарили: 706 раз

ControlLogix и ControlNet

Сообщение Ryzhij »

Резервирования сеть ControlNet используется для связи с периферией, тащить ее же на верхний уровень - плохая идея. Туда лучше Ethernet завести
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
Аватара пользователя

Looker
эксперт
эксперт
Сообщения: 1105
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 255 раз
Поблагодарили: 184 раза

ControlLogix и ControlNet

Сообщение Looker »

1). Что в качестве верхнего уровня? RSLinx Classic + 1784-PCIC => OPC сервер.
2). Программировать не надо, верхний уровень сам будет брать нужное (имена тегов контроллера) в режиме unsheduled.
tank_urg писал(а): Непонятно, каким образом переменная передается от "производителя" к "потребителю"
Процессор будет "потреблять" данные от модулей из дерева I/O.
tank_urg писал(а): появляется подсеть ControlNet
или от других процессоров ControlLogix (опять же прописанных в дереве I/O).
3). Это требуется для обмена между несколькими контроллерами ControlLogix.
4). Нужно иметь ПО для настройки сети "RSNetworkx for ControlNet".

Вячеслав прав лучше Ethernet.
Для ContrlNet: ответвители, инструмент для заделки BNC на кабель, ну и сам кабель "правильный".
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5623
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 546 раз
Поблагодарили: 706 раз

ControlLogix и ControlNet

Сообщение Ryzhij »

Евгений задал ключевой вопрос:
Looker писал(а): Что в качестве верхнего уровня?
Если там персоналка, то в связке
Looker писал(а): RSLinx Classic + 1784-PCIC => OPC сервер.
интерфейсная плата для ControlNet 1784-PCIC стОит дороже приличного промышленного ПК, и не в каждый форм-фактрор влезает, а Ethernet-порт сейчас есть везде.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
tank_urg
почётный участник форума
почётный участник форума
Сообщения: 193
Зарегистрирован: 25 фев 2013, 07:14
Имя: Шамилов Данис
Страна: Россия
город/регион: Уфа
Благодарил (а): 10 раз
Поблагодарили: 1 раз

ControlLogix и ControlNet

Сообщение tank_urg »

Спасибо!
Резервирования сеть ControlNet используется для связи с периферией, тащить ее же на верхний уровень - плохая идея. Туда лучше Ethernet завести
Я предлагал им, но получил отказ. ControlNet по коаксиальному кабелю, других вариантов нет.
Программировать не надо, верхний уровень сам будет брать нужное (имена тегов контроллера) в режиме unsheduled.
Где включается режим unsheduled?
Процессор будет "потреблять" данные от модулей из дерева I/O.
А есть ли возможность в таком случае передать не тег, привязанный к физическому входу или выходу, а какую-то виртуальную внутреннюю переменную, например, переполнение какого-нибудь счетчика. Как это сделать?

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5623
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 546 раз
Поблагодарили: 706 раз

ControlLogix и ControlNet

Сообщение Ryzhij »

tank_urg писал(а): Я предлагал им, но получил отказ. ControlNet по коаксиальному кабелю, других вариантов нет.
Хозяин - барин...
tank_urg писал(а):Где включается режим unsheduled?
Он скорее "выключается" ;) т.к по умолчанию под коннекшены вне расписания время в цикле ControlNet отведено, и именно по этим коннекшенам к сети подключается SCADA через RSLinx.
Процессор будет "потреблять" данные от модулей из дерева I/O.
А есть ли возможность в таком случае передать не тег, привязанный к физическому входу или выходу, а какую-то виртуальную внутреннюю переменную, например, переполнение какого-нибудь счетчика. Как это сделать?
Можно. Семейство Logix5000 вообще оперирует только с тегами. И структуры типа "счётчик" здесь тоже являются тегами.
В SCADA надо просто прописать интересующий Вас тег внутри контроллера.
Лишь сравнительно недавно, в последних прошивках, появилась возможность делать теги невидимыми извне, назначая им права доступа.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
Аватара пользователя

Looker
эксперт
эксперт
Сообщения: 1105
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 255 раз
Поблагодарили: 184 раза

ControlLogix и ControlNet

Сообщение Looker »

tank_urg писал(а): Где включается режим unsheduled?
Для модулей I/O и общения процессоров между собой по технологии Produser-Consumer (настройка тегов и никакого программирования) применяется Sheduled. RSLinx хоть для SCADA, хоть для RSLogix всегда Unsheduled, также Unsheduled - при общении процессоров посредством команд MSG.
Sheduled данные всегда и все передаются в цикле NUT (время обновления сети), для Unsheduled - сколько получится, но как минимум один обмен будет.
ИзображениеИзображение
Ryzhij писал(а): ...появилась возможность делать теги невидимыми извне
У него эта возможность будет, т.к. 1756-L71.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5623
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 546 раз
Поблагодарили: 706 раз

ControlLogix и ControlNet

Сообщение Ryzhij »

Looker писал(а): У него эта возможность будет, т.к. 1756-L71.
После того, как к новому контроллеру оне прикупили старый модуль CN, я не удивлюсь и старой прошивке ;)
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»