Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите чайнику :)
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем > LonWorks
alex.kora
Сегодня возник спор.
Один сослуживец сказал, что можно на LonWorks собрать систему управления вентиляцией используя исключительно модули ввода и модули вывода, а в качестве устройства обработки данных исключительно ресурсы нейрончипа.
Такое в принципе возможно? Я имею ввиду управлять вентустановкой не используя специализированный (regin corrigo e15d-lon etc.) или свободнопрограммируемый (wago) контроллеры.
Еще раз извиняюсь, просто вопрос не особо критичный, а рыть доки не хоцца.
Тем более, что человек понимающий в вопросе, сразу скажет да или нет.
Заранее спасибо.
Reefer
C NodeBuilder можно ффффсё!
alex.kora
Не, ну это инструмент разработчика железа, я так понял. Это как самостоятельно корригу собрать...
Vasiliy
Nodebuilder софт для программирования Нейрончипа и им можно и готовый контроллер программировать, не обязательно схемотехникой заниматься.
alex.kora
Цитата(Vasiliy @ 2.9.2008, 17:53) [snapback]287894[/snapback]
готовый контроллер программировать

На каком уровне программировать? Можно вписать алгоритм работы вентустановки в нейрончип? И будет работать? Почему тогда так никто не делает, платят деньги за корриги те же самые?
И, если и правда так возможно, дайте ссылочку на изделие конкретное, с которым так можно сделать.
Sun technik
Цитата(alex.kora @ 3.9.2008, 10:37) [snapback]288110[/snapback]
На каком уровне программировать?


На языке Neuron C.
Программировать придется и работу с аппаратными входами-выходами контроллера, через I/O пины нейрон-чипа (хотя производители, разрешающие рядовым пользователям программить их железо на neuron C, обычно дают код).
PID-регуляторы итд - всё тоже придется писать руками.

Цитата
Можно вписать алгоритм работы вентустановки в нейрончип?


В 3120 - вряд ли уместится, а в 3150 - можно.

Цитата
И будет работать?


От мастерства зависит smile.gif

Цитата
Почему тогда так никто не делает, платят деньги за корриги те же самые?


Почему никто, делают некоторые.
Но накидать приточку на FBD гораздо быстрее, чем писать всё на NC.
Да даже если все блоки типа PID уже написаны, сторонний спец потом вряд ли быстро разберется в коде.

Цитата
И, если и правда так возможно, дайте ссылочку на изделие конкретное, с которым так можно сделать.


LK Netlon MB-2, Lonix, Smartcontrols, некоторые железяки у Gesytec и многое другое...
Vasiliy
Все по делу, респект!
Добавлю, что мне 1 раз понадобился Neuron C для модуля 8DI8DO на чипе 3120 с 2 кБ памяти. Ну никак при помощи FBD не уложиться было в 2кБ.
Punchito
Т.е. имея исподники программ от производителей оборудования + NodeBuilder + знание основ языка Денниса Ричи (кстати в чём отличие С от Neuron C?) можно создать свой алгоритм работы контроллера и соответственно свой XIF для параметров ввода-вывода?
Vasiliy
Цитата(Punchito @ 3.9.2008, 22:35) [snapback]288383[/snapback]
Т.е. имея исподники программ от производителей оборудования + NodeBuilder + знание основ языка Денниса Ричи (кстати в чём отличие С от Neuron C?) можно создать свой алгоритм работы контроллера и соответственно свой XIF для параметров ввода-вывода?

Ну вообщем верно, только не понял при чем тут XIF? Можно сделать так, чтобы XIF вообще был не нужен, т.е. имена переменных будут в нейрон чипе храниться.
Вообще кто-нибудь может рационально объяснить для чего программировать на Neuron C???
Punchito
XIF для связи с другими Lon контроллерами в сетке, Neuron C для создания своего алгоритма работы.
alex.kora
Ага, спасибо, все понятно. Для разрешения конфликта еще хотелось бы увидеть ценник на указанные контроллеры, тот же lonix. Сколько там закупка и розница? И кто ими торгует, разумеется smile.gif
Vasiliy
Цитата(Punchito @ 4.9.2008, 0:12) [snapback]288415[/snapback]
XIF для связи с другими Lon контроллерами в сетке...

Еще раз говорю, что если контроллер есть вживую и для нейрон чипа используется самодокументация переменных, то имена итак есть в контроллере и XIF не нужен. Если самодокументация не включена, то при инициализации подсовывается XIF и получаются имена переменных. Еще XIF может понадобится если живого контроллера нет, а хочется его добавить в сеть или настроить обмен, но Вы часто такое делаете?
Цитата(Punchito @ 4.9.2008, 0:12) [snapback]288415[/snapback]
... Neuron C для создания своего алгоритма работы.

Я же написал, что как раз нодбилдером и пользовался и книжку по NC изучал. Вопрос то в том, что неужели NC удобнее FBD? Я ту программку неделю делал, т.к. пока вник в NC, пока с вводом-выводом разобрался. На FBD у меня это заняло бы максимум полчаса. Просто ситуация была безвыходная, вот и пришлось выкручиваться, кстати, NodeBuilder был лицензионный за тучу денег!!! blink.gif
Цитата(alex.kora @ 4.9.2008, 9:23) [snapback]288460[/snapback]
Ага, спасибо, все понятно. Для разрешения конфликта еще хотелось бы увидеть ценник на указанные контроллеры, тот же lonix. Сколько там закупка и розница? И кто ими торгует, разумеется smile.gif

Тут гляньте http://www.lonix.com/ru/partners.shtml
Sun technik
Цитата(Vasiliy @ 4.9.2008, 9:52) [snapback]288511[/snapback]
Вопрос то в том, что неужели NC удобнее FBD? Я ту программку неделю делал, т.к. пока вник в NC, пока с вводом-выводом разобрался. На FBD у меня это заняло бы максимум полчаса.


Из личного опыта, для чего нужен был Neuron C.
На одном из объектов была куча контроллеров (штук 150), в которых нужно было организовать ряд функций, которые во многом повторялись (управление 2 или 4-трубным фэнкойлом, навороченное освещение, включение-выключение чего-либо по времени, обработка тревог, мониторинг каких-либо входов и многое другое), т.е. в каждом из контроллеров было несколько каких-либо функций из этого набора, причем во многом настройки каждой функции должны были быть индивидуальными. От самого тупого - в одном случае контакт NC, в другом NO, Т.е. на объект реально получалось минимум штук 40 конфигураций.
Поэтому решено было склепать единую программу, состоящую из штук 15 functional blocks, а на объекте инсталяторы конфигурировали каждый контроллер индивидуально при помощи кучи configuration properties и binding'ов.
Ну и некоторые технические аспекты.
1. Как известно, большинство графических языков типа FBD, LD итд - работают на логике состояний (state driven), а события не поддерживаются. Это важно в первую очередь при работе с сетью. Например, есть у нас переменная SNVT_scene, вызвали мы вторую сцену командой scene_recall 2. А потом повторно хотим вызвать эту вторую сцену, но программа на FBD это не отработает, поскольку значение переменной не изменилось. В Neuron C же есть событие when NV updates.
Конечно у некоторых контроллеров есть возможность настроить функцию receive heartbeat, в результате которой значение входной переменной через определенное время после апдейта автоматически становится "инвалидным", а в программе на FBD соответственно сделать проверку на "инвалидность". Но если эта входная переменная должна мониториться Скадой, то этот трюк уже не прокатит.
Гораздо хуже, когда нужно делать обновления выходной переменной, не автоматически с интервалом send heartbeat, а по какому-то событию в программе. В neuron C для этого есть функция propagate NV.
2. Вообще некоторые программы с использованием событий на текстовых языках писать проще. Например, стандартная функция диммера: короткое нажатие на клавишу - включение на 0% или 100% по заднему фронту, длительное - плавное регулирование. А также такие вещи как циклы, обработка массивов итд.
3. Не видел ни одного лоновского свободно-программируемого контроллера с нормальной поддержкой UCPT. А также с возможностью создавать собственные functional block.
4. Именно на NC можно добиться самого оптимального кода. Как-то пришлось сражаться за каждый байт оперативной памяти контроллера MB-2, для этого некоторые битовые значения пришлось объявлять как одну байтовую переменную и индивидуально оперировать каждым битом. Потом в коде на FBD каждый блок обязательно выполняется за цикл процессора один раз (если нет чего-то типа task'ов как в Codesys), что может сказаться на проивзводительности, а также вызывать всякие lost messages.
5. Меня очень бесит, что в большинстве случаев у свободно-программируемых контроллеров при изменении состава NV и/или CP приходится в проекте сети удалять устройство и создавать заново, вместе со всеми биндингами. Хорошо сделано у Wago, что можно менять NV/CP в плагине, но если например выбранный шаблон 26_26 на определенном этапе работы надо заменить на другой, тады ой.
6. Если нужно использовать для обмена данными не только SNVT, но и messages, то боюсь здесь только Neuron C.

Да, понимаю, что некоторое из вышеописанного - вещи довольно экзотические. И такие "классические" системы как вентустановки, тепловые пункты на мой взгляд незачем реализовывать на Neuron C. Но в случае какой-то продвинутой автоматизации помещений (фэнкойлы-освещение-жалюзи, с применением датчиков движения, освещенности, с функциями сцен итд) - NC может оказаться существенно лучше.

P.S. А никто не пробовал ковырять Wago'вский 750-819 на NC с использованием соответствующих библиотек с сайта wagotoplon.com ?
ggg__ggg
Мне кажется, что NC нужен больше для программирования схем взаимодействия ОСНОВНОГО процессора и N-Chip, т.е. для организации взаимодействия по обмену данными. Тот же WAGO 750. Плагином отображаем SNVT на адресное пространство и поддерживаем некоторую параметризацию (polling , и прочее). В некоторых контроллерах есть достаточный набор параметров для работы со SNVT. Остальное - собственными средствами. Я на WAGO (CoDeSys STL) и на ТАС автоматизировал ВСЕ что только можно придумать в АВОК, и описанных в посте Sun_technik проблем не видел.
А вот для устройств типа сенсорных панелей (ELKA), то бишь ИНТЕЛЛЕКТУАЛЬНЫХ девайсов для LON без NC просто не обойтись !!!!
Sun technik
Цитата(ggg__ggg @ 4.9.2008, 15:59) [snapback]288738[/snapback]
Мне кажется, что NC нужен больше для программирования схем взаимодействия ОСНОВНОГО процессора и N-Chip, т.е. для организации взаимодействия по обмену данными.

Ну это скорее задача производителя.
Здесь-то, как я понимаю, люди заинтересовались, чем для обычного интегратора/автоматчика NC будет лучше привычных для автоматики графических языков типа FBD.
А насчет основного процессора - мощности такой штуки как L-Chip должно хватить для 99% задач автоматизации и дополнительный проц там не нужен.

Цитата
Я на WAGO (CoDeSys STL) и на ТАС автоматизировал ВСЕ что только можно придумать в АВОК, и описанных в посте Sun_technik проблем не видел.

Проблемы с Wago всё же есть.
По пункту 1 - для обнаружения программой на Codesys повторного апдэйта входной SNVT можно использовать timeout в плагине. Но propagate выходной переменной из программы Codesys - не сделать никак.
UCPT - не поддерживаются,
собственных functional block - создать нельзя.
Еще мне очень не нравится в 750-819, что нельзя задать в плагине начальных значений входных SNVT, только внутри программы на Codesys. При этом естественно nvi не всегда правильно отображает то, как на самом деле работает контроллер, приходится для этого заводить nvo, а количество SNVT - ограничено 52 штуками.
К тому же начальные значения SNVT переменных - всегда нулевые, что не всегда совпадает с Invalid согласно Lonmark'овскому листу. Примеры - SNVT_switch должен изначально быть {0,0 -1}, а не {0,0 0}, SNVT_occupancy должен быть OC_NUL, а не OC_OCCUPIED, SNVT_setting - SET_NUL 0 0, а не SET_OFF 0 0, итд.
Не то, чтобы это прямо такие проблемы, вывернуться-то как правило можно, но несколько коряво.
Но в общем жаль, что создатели плагина для 750-819 не добавили еще немного опций, хотя бы начальные значения для nvi. И полноценный copy-paste.
Да, всё вышеописанное ессно можно подправить, если заморочиться и самому написать на NC ПО для нейрон-чипа у 750-819, но уж больно долго с этим разбираться + лишаемся возможности загрузки программы на Codesys в контроллер по сети LON.

Цитата
А вот для устройств типа сенсорных панелей (ELKA), то бишь ИНТЕЛЛЕКТУАЛЬНЫХ девайсов для LON без NC просто не обойтись !!!!


Вот здесь не понял... Чем инсталлятора не устраивает элковский плагин?
ggg__ggg
Проблема с количеством SNVT для WAGO имеет место быть, но для задач АВОК , как правило, хватает.
Инициализация SNVT - тут проблем особых нет.
Про сенсорные панели. Я имел ввиду случай РАЗРАБОТКИ устройств с небольшой функциональной нагрузкой. Как пример привел сенсорную панель
от ELKA.
shylock
Цитата(Sun technik @ 3.9.2008, 14:18) [snapback]288194[/snapback]
LK Netlon MB-2, Lonix, Smartcontrols, некоторые железяки у Gesytec и многое другое...

А тот же Lonix, скажем, предоставляет свои исходники и карту памяти? Или надо самим по схемам разбираться, куда что подключено и как из NeuronC добраться до входов/выходов?
Sun technik
Цитата(ggg__ggg @ 4.9.2008, 19:41) [snapback]288877[/snapback]
Проблема с количеством SNVT для WAGO имеет место быть, но для задач АВОК , как правило, хватает.

В 95% случаев - хватает.
Когда сеть нужна только для диспетчеризации, то всё замечательно - есть SNVT_state_64, SNVT_temp_setpt, а также ваговские UNVT_dio и многое другое.
Проблемы могут быть, когда нужно делать много управления по принципу "замкнутого контура" от различных лоновских устройств с не очень навороченными возможностями программирования. Например, от разных панелек - независимое управление 30 штуками различных цепей через SNVT_switch.

Цитата
Инициализация SNVT - тут проблем особых нет.

За исключением того, о чём писалось выше - при этом значение nvi и то значение, с которым работает кодесисовская программа, - не совпадают. А если требуется знать реальное значение, которое внутри, придется расходовать nvo. Не то, чтобы проблема, т.е. работать-то работает, но кривовато.
Хуже, когда значения входных SNVT надо сохранять в энергонезависимой памяти (retain). Например, если работающему контроллеру кто-то сделает comission, то перезагрузится только нейрон-чип, а не хост-процессор, в результате от нейрон-чипа в хост придут нули по всем nvi и retain перезапишется. Есть способ этого избежать, но для этого придется пожертвовать одной nvi.
Потому и считаю, что по-хорошему в плагине надо сделать колонку с инициализацией nvi (выбор - ввод конкретного значения или же сохренение в EEPROM) и в контроллере всё это должно отражаться в значении nvi.

Цитата(shylock @ 4.9.2008, 22:55) [snapback]288926[/snapback]
А тот же Lonix, скажем, предоставляет свои исходники и карту памяти? Или надо самим по схемам разбираться, куда что подключено и как из NeuronC добраться до входов/выходов?

Была такая древняя универсальная софтина для программирования контроллеров на базе нейрон-чипа, называлась Visual Control. Так с ней шла куча необходимых файлов для контроллеров разных производителей - и Lonix, и Gesytec и многое другое, т.е. данные по карте памяти, image version, а также управление хардваром - можно взять оттуда. Логично предположить, что сам Лоникс их и предоставил smile.gif
shylock
Цитата(Sun technik @ 5.9.2008, 10:24) [snapback]289080[/snapback]
Была такая древняя универсальная софтина для программирования контроллеров на базе нейрон-чипа, называлась Visual Control.

А нет ли информации, где эту штуку сейчас можно взять? Сайт уже не функционирует.
Кое-какие контроллеры Lonix у меня лежат, но программировать их официально предлагается только стандартными plug-in'ами.
Scribe
Цитата(shylock @ 5.9.2008, 21:02) [snapback]289352[/snapback]
А нет ли информации, где эту штуку сейчас можно взять? Сайт уже не функционирует.
Кое-какие контроллеры Lonix у меня лежат, но программировать их официально предлагается только стандартными plug-in'ами.
Мне ответили в этой Теме...
alex.kora
Цитата(Scribe @ 6.9.2008, 3:16) [snapback]289407[/snapback]
Мне ответили в этой Теме...

Почитал, интересные штучки они выпускают. Однако ссылок на дистрибьютеров не нашел. Кто этим всем здесь торгует?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.