Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Bacnet связь между контроллером Siemens и сторонним контроллером
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем > BACnet по-русски
PuzanZero

Уважаемые знатоки. Вот у меня есть некий сторонний контроллер (системы EXact) который поддерживает связь по BACNet (см.его документацию "BMS BACnet.pdf" в приложении). Через роутер он подключен к системе контролера PXC100.E.D (см.скриншот 1).

Ранее мне доводилось делать BACnet-связь между двумя контроллерами Siemens PXC100.E.D (см.скриншот 2 в приложении), но можно ли каким-то похожим образом сделать BACnet-связь между контроллером Siemens PXC100.E.D и сторонним контроллером системы EXact? Или хотя бы получить значение регистров контроллера EXact на компьютере с DesigoInsight?

begem
Это случайно не тот же прибор, что и Modbus)))
Можно подключится по Bacnet как напрямую в контроллер, так и в Desigo Insight. Смотрите Вашу инструкцию, настраивайте Bacnet на устройстве. Ищете список BAcnet переменных с их номерами (bacnet instance number) и интрегрируете согласно документации Siemens.
PuzanZero
Подскажите, хотя бы, на каком сайте искать эту документацию Siemens, согласно которой нужно интегрировать различные контроллеры?
Это вот этот сайт: http://www.buildingtechnologies.siemens.com ?

И нужен ли маршрутизатор Siemens PXG80-N, или можно обойтись обычным роутером, как в моём примере?
begem
А Вы в Siemens не пробовали обращаться???
Если у Вас контроллеры Bacnet/IP, тогда необходимо обеспечить только сеть между ними. Допустим, сконфигурировать IP адреса, чтобы устройства видели друг друга. Также иногда на WEB интерфейсе контроллера нужно настроить параметры Bacnet. Маршрутизатор от Siemens не нужен.
Вы куда интегрировать в итоге будете? В контроллер или Insight?
PuzanZero
Лучше бы, конечно, интегрировать переменные контроллера EXact в контроллер Siemens. Я в таком случае смогу их самостоятельно на станцию автоматизации DesigoInsight вывести.
begem
Если напрямую в контроллер, тогда мануал Вам в помощь. Там все довольно просто.
PuzanZero
Спасибо, begem.
Мне ещё один очень хороший человек много документации на эту тему прислал. Скачать можно по ссылке https://yadi.sk/d/kfPmh5kPfqAW3 или в приложении.

Но вот ещё что. Связь с контроллера Siemens PXC100E.D и EXact нормальная (см. скриншот). Но взаимодействие контроллеров начинается только минут через 10 после их соединения через роутер. Хотя подключение EXact к SCADA Siemens DesigoInsight происходило мгновенно...
Может в XWORKS NW Configurator'e надо ещё что-то настроить?
И надо ли менять Character Set из ISO-8859-1 на ANSI-X3.4 (ASCII) ?
begem
Задержка связана скорее всего с контроллером Exact (почитайте доку по ним) или роутером. Во всяком случае у меня ничего такого не было. Можете еще попробовать подключится без роутера - напрямую.
И еще, не очень понял, зачем Вам делать 2 переменные на одну уставку, по тому же адресу, это же не модбас. Может я ошибаюсь (товарищи поправят), но для общения нужна одна переменная типа AO. Попробуйте убрать дубликаты и посмотрите, как будет работать.
Кодировки я не трогал.
MOTYA77PRO
Нужна помощь по Xworks 5
http://forum.abok.ru/index.php?showtopic=103201
PuzanZero
Begem, вы правы. Можно использовать только только один блок АО, но работает он так. Если я в среде XWORKS - CFC в режиме отладки ввожу значение уставки температуры (см. скриншот 2 сверху), то оно меняется и в системе контроллера EXact.
Но если я меняю уставку в системе EXact, то в блоке АО меняется только выход FbVal (см. скриншот 2 снизу). Я в обще то не против, но какой citect-тег мне тогда использовать в среде DesigoInsight ?
Я могу сделать как показано на скриншоте 1, но тогда у темп.уставки будет 2 значения...
begem
Также хотелось бы узнать в чем дело... Если узнаете ответ - продублируйте здесь.
З.Ы. Но опять же, зачем вы завели значение FbVal? Удалите и попробуйте без него.
PuzanZero
Менять уставку температуры можно, например, с помощью входа ValPgm в блоке АО (даже если он не имеет выходов FbVal и FbAddr), но при изменении уставки на пульте системы EXact эти изменения никак не отображаются на блоке АО в среде XWORKS - CFC.
begem
Сейчас, к сожалению, протестировать не могу, так что спросите в Сименсе.
PuzanZero
Скажите, а можно ли сделать так, чтобы в случае когда контроллеры не соединены, на диспетчерской не возникало бы аварийных сигналов (см.скриншот 1).
Блоки (они и генерируют эти аварии), которые предназначены для обмена данными между контроллерами, настроены примерно одинаково (см.скриншот 2). Хотя [EnAlm] (разрешение тревоги) у них всех = "Нет", это не мешает им вылезать на DesigoInsight.
Djon_79
Как вариант можно попробовать, пока не установлена связь, включить OoServ. Второй вариант в свойстве EnEvt снять отметки. Оба совета к сожалению теоритические.
PuzanZero
А я вот убрал все галочки в свойстве EnEvt, как вы и советовали (см.скриншот 1), потом перезалил программу в контроллер и в ImpotrDB, но ошибка с этого блока всё равно приходит на DesigoInsight (см.скриншот 2).

Если включить OoServ ошибка не приходит, но и значение (PrVal) от этого блока не приходит тоже. Включать OoServ автоматически я не могу, т.к. даже если бы у меня в программе был бит, который равнялся бы 1, пока не установлена связь, я не смог бы его завязать на вход OoServ, т.к. при попытке это сделать возникает ошибка "Input or output cannot be interconnected!", а включать OoServ у 170 блоков в ручную (в режиме отладки) диспетчер не хочет...
Djon_79
А что если в чате Global в NOTIFCL отключить оповещение. Опять же в теории все аварии идут через них.
PuzanZero
Djon_79, я не совсем понял, что вы имели в виду, но я удалил блок NotifCl41 в чарте Global (он выделен на скриншоте 1).
Этот блок был удалён потому, что его характиристики Alarm class и Alarm function совпадали с типом Alarm'ов блоков, которые генерируют ненужные тревоги (см.скриншот 2).
После этого эти аварии перестали появляться на Desigo Insight, но контроллер PXC100-E.D (в который была залита эта программа) стал периодически зависать и самоперезапускаться (с интервалом 10-15 минут) , отключая на несколько всю периферию и пропадая на DesigoInsigh.
Когда я вернул в его программу блок NotifCl41 (в чарт Global) он стал стабильно работать, но аварии от дефектных точек данных посыпались на DesigoInsight снова.

Посоветуйте, пожалуйста, что можно с этим сделать? Может можно перенастроить блок NotifCl41 (см.скриншот 3) таким образом образом, чтобы он не отправлял аварии на DesigoInsight ? Или ещё что-нибудь?
begem
Предполагаю, что нужно сделать фильтр аварий.
Нужно разобраться конкретно, что это за тревога. Группа событий (системные, тревожные)? Какой приоритет ?? По какому событию? Отменить маршрутизацию этих тревог... Это первый вариант.
И второй вариант: поробовать сделать фильтрацию по тексту аварии.
Djon_79
Как вариант попробуйте в функции аварии блока (AlmFnct) выбрать тип "сообщение". Если я правильно понял из скриншотов, то в Distination list Вы уже указывали не существующую станцию управленеия и это не помогло?
Ещё одно теоритическое предположение. В чат с блоками, которые посылают Вам тревожные сообщения положить блок Common Alarm (CMN_ALM) и по приходу новых аварий их подтверждать этим же блоком.
В блоке CMN_ALM настраиваем фильтр 1 на все типы тревог и с выхода NewAlarm1 ставим R-тригер и по выходу из тригера заводим на вход Reset. Тем самым новые аварии будут сами автоматически подтверждаться.
Andrey N.
Попробуйте использовать блоки с окончанием RED (BO_RED, AO_RED). Это блоки с ограниченными функциями, скорее всего они не будут отправлять аварии при отсутствии связи.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.