Полная версия этой страницы:
Bacnet
Sasha_24
6.12.2012, 12:31
Господа специалисты,
Возможно ли к контроллерам сети BACnet IP подключиться из двух разных приложений одновременно.
например отладчик (среда разработки для контроллеров сети BACNET IP - например XWORKS),
и какого нить OPC Server'a (например SCADA Engine), или службы Cimetrix bacstac.
Порт доступа к контроллерам - BAC0 (47808). И только через него можно подключатся в сеть.
По отдельности все хорошо работает, но одновременно - второе по запуску приложение "вываливается" в тайм аут. Неужели если приложение занимает этот порт, то у других нет никакого способа к нему подключится - что то похожее на виртуальный COM (правда там нельзя подключится и с других машин тоже)
Спасибо всем!
виртуальную машину запустите
Цитата(GYUR22 @ 6.12.2012, 18:05)

виртуальную машину запустите
на контроллере?
На PC еесесвенно один порт 47808 поэтому он занят одним приложением - как например компорт
shylock
11.12.2012, 15:47
Порт 47808 -- это "серверный" порт, т.е. по нему контроллер принимает запросы. Проблем с одновременным подключением быть (в теории) не должно -- точно так же веб-сервер работает через 80 порт с многими клиентами одновременно.
Другое дело, что встроенные системы ограничены в ресурсах и слишком много клиентов могут не потянуть (хотя 2 -- это не слишком много). Попробуйте поискать в софте настройки с названиями типа APDU max timeout и увеличить их. Возможно, контроллер отвечает, но недостаточно быстро.
Имелось ввиду если запустить 2 проги хотящие 47808 на одной машине то ничего не выйдет
shylock
11.12.2012, 20:12
Это верно. Но в данном случае, если я правильно понял, имеется в виду серверный порт (на контроллере). А программы подключаются с клиентского компьютера, где они берут любые свободные клиентские порты.
Разумеется, если порт 47808 открывается обеими программами на клиентском компьютере, то получится это только у первой.
Что за бред про сервисный порт?! UDP 47808 - это BAC0 в HEX!!! Первый порт BACnet, который используется по-молчанию. Самое простое - это поставить две сетевые карточки, ну и с виртуалкой тоже хорошее и современное решение...
Sasha_24
14.12.2012, 14:08
Сразу после создание топика опробывал вариант в котором был почти уверен - две сетевые карты, естественно заработало.
Все возможные попытки подключить два приложения на одном компьютере через одну сетевую карту к сети бакнет результатов не дали:
Манипулировал так:
Отладчиком XWORKS пытался подключится в онлайн режим мониторинга параметров контроллеров сети bacnet.
Контроллеры были прошиты на порт BAC0 (47808) .
При этом в активном режиме была запущена всем известная служба bacstac, в которой я манипулировал разными настройками:
менял порт ID, UDP Port, менял найтроки BBMB. Естественно данная служба использовала IP адрес существующей сетевой карты.
При любых комбинациях со стороны bacstac при попытке поключиться отладчиком XWORKS к сети bacnet выдавалось сообщение типа "Cannot bind BACNet IP - UDP Port combination [192.168.1.115 - ...] ".
То есть однозначно сеть bacnet устроена на подобии технологии COM, за исключением того что с другого сетевого устройства порт все таки доступен.
всем спасибо!
shylock
14.12.2012, 15:53
Цитата(SAB @ 14.12.2012, 8:20)

Что за бред про сервисный порт?!
1. "Сервисный" порт никто не упоминал.
2. Если чего-то не понимаете, то спросите. А не начинайте хамить незнакомым людям.
shylock
14.12.2012, 15:59
Цитата(Sasha_24 @ 14.12.2012, 15:08)

При любых комбинациях со стороны bacstac при попытке поключиться отладчиком XWORKS к сети bacnet выдавалось сообщение типа "Cannot bind BACNet IP - UDP Port combination [192.168.1.115 - ...] ".
Похоже, что обе программы действительно пытались занять один и тот же порт на компьютере. Если у них в настройках была бы возможность изменить этот порт (например, на следующий BAC1), то они смогли бы существовать на одном IP и подключаться к одному и тому же удалённому порту.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.