Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: синхронизация Lon переменных Input-output
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем > LonWorks
mamena
Добрый день.

Есть небольшая LON сеть: Crestron CGELON-240, Daikin DMS504B51, Regin свободно программируемый контроллер с платой LON

Наблюдается следующая проблема: на выходе переменной DMS504 есть значение, на входе CGELON-240 - 0.
Это происходит с переменными, которые не меняют свое значение. Например, если при подключении DMS504 на нем уже есть определенное значение. Нужно ждать только смены значения.

В этой связке проблема решилась включением на DMS504 параметра HeartBeat (120 c). Случайно нашел в документации.

Не получается решить с контроллером ПВ установок.
Как вариант - хотел попробовать параметр
Polled Network Variable
Declares network variable as polled. If polled and the network variable is silent, the input sends a request to the output. An output network variable can only be bound to a polling input network variable. However, an input network variable declared as polled can be bound to either a polling output network variable or a non-polling output network variable.

Но не понимаю, где его установить для переменной. В окне Network Variable Properties этот параметр не активен (его нельзя изменить).

Вопроса 2.
1. Если кто-то знает, где в xif файле установить значение, чтобы объявить переменную с этим параметром - будем пробовать так.

2. Возможно кто-то сталкивался с такой проблемой и знает направление, куда копать. Готов выслушать варианты.

З.Ы. По Regin уточнял у разработчика. Он функцией heartbeat помочь не может. Говорит - нет у него такого.


Sun technik
То есть, данная ситуация наблюдается после включения питания устройств, проходит инициализация выходных переменных, но передача этих "стартовых" значений по сети не происходит? У Вас есть исходник программы для Regin? В свободно-программируемых контроллерах, если опция heartbeat не предусмотрена производителем в софте LON-карты, можно реализовать нечто похожее самому. В xif-е ничего не поправите, xif - это копия сетевого интерфейса железки для программ настройки LON-сети, т.е. просто некое описание, а нужно, чтобы реально в самом устройстве это поддерживалось.
mamena
Именно так.
Варианты, когда это происходит:
а) binding переменных. Не смотря на новую связь значение на входе не появляется.
б) после перезагрузки устройств.

По Regin исходники можем получить. Что там можем сделать?

Как я понимаю - нужно сделать poll со стороны CGELON-240. По сути это софтверный шлюз.
Можно задать вопрос на поставщика. Это как вариант.

И я где-то я находил в сети описание что можно poll сделать некими логическими модулями самого LONMaker. Только не понял как.

У меня еще есть такая железяка в сети: ELKA MidiSys. Там есть логика какая-то.
Sun technik
Сомневаюсь, что там poll можно сделать.
Первое, что приходит в голову. Я бы выходную переменную CGLON забиндил на входную Regin, причем чтобы со стороны Крестрона на этот выход подавалось ненулевое значение. В Regin'е по фронту апдейта данной переменной переключить выходные переменные в какое-либо другое значение и через 1с вернуть назад, т.е. появляется в онлайне CGLON и тут же отправляет значение на Regin, который в свою очередь как бы обновляет входные переменные CGLON rolleyes.gif Честно, я не программировал никогда Regin, но подозреваю, что там что-то вроде обычного FBD, но на разных контроллерах задачи рассинхронизации, когда нет возможности сделать нечто вроде propagate NV, решал похожими танцами с бубном. Вам же в Крестрон надо наверняка передавать различные команды, меняющиеся по команде пользователя и нечасто, вроде уставок, а также пару-тройку основных статусных значений, т.е. общий объем вот таких довольно "кривых" переделок получится не очень большим.
Chabol
Переменная heartbeat в Regin таки есть. Если есть исходники программы, то в одном из файлов есть поле для задания ненулевого значения этому параметру.
НО, есть нюанс. Программисты Regin подтверждают описанную Вами проблему, и она не решается вышеописанным способом, поскольку у Regin программно-аппаратная недоработка этого вопроса. Но все же попробуйте , может в Вашем проекте это что-то изменит.

Как вариант - опрос Regin по Modbus c последующей конвертацией в LON. Либо замена Regin на другое оборудование, которое в этом смысле функционирует нормально.
mamena
Переменная hearbeat Regin не решает эту проблему. sad.gif

Оборудование я бы давно уже поменял smile.gif Но с точки зрения автоматизации ПВ установки - особых проблем нет.
Поэтому аргументов для замены есть немного. Хотя такие попытки с моей стороны были.

Есть философское решение этой проблемы. если переменная не меняется, значит у нее все хорошо. Считаем ее значение дефолтным и отображаем как 0 или 1. В нормальном состоянии при отсутствии аварии значение =1
Это касается состояния по авариям.

Если авария произошла - значение изменится в любом случае. Вот его мы и будем отображать.

Но есть другая проблема. Серьезнее.
Второй раз в течении месяца устройство исчезает из сети LON (это уже другая тема и она обсуждалась в другой ветке).
И тогда все переменные остаются в том же состоянии, какими были на момент отключения.

А понять что устройства нет - нет никакой возможности.

Modbus уже встроен в устройство или нужна дополнительные модули?
Chabol
При наличии порта RS485 протоколы Modbus или EXO есть доступны на нем (на свободнопрограммируемых ПЛК протокол должен быть запрограммирован, на кофигурируемых протокольная часть есть по умолчанию в двух протоколах необходимо только выбрать через меню ПЛК какой протокол необходим)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.