Сравнительный обзор существующих реализаций протокола BACNet

Название	Homepage	Состояние	Технология	Лицензия
bacnet	http://bacnet.sourceforge.net/	Разрабатывается (с 2002)	С; POSIX	GPL/MIT
bacnet4linux	http://bacnet4linux.sourceforge.net/	Разрабатывается (с 2004)	C; POSIX	LGPL
bacpypes	http://bacpypes.sourceforge.net/	Разрабатывается (с 2006)	Python;	Public domain
bacnet-sim	http://sourceforge.net/projects/bacnet-sim/	Разрабатывается (с 2005)	C	GPL

Ключевые позиции для сравнения реализаций

Затронутые уровни стека BACNet (п. 4.1)

Типы физического носителя

Типы поддерживаемых данных (п. 2.1)

Поддерживаемые примитивы взаимодействия

Поддерживаемые прикладные сервисы

Затронутые уровни стека

Название	Data link	Network	Application
bacnet	+	?	?
bacnet4linux	?	?	?
bacpypes	?	?	?
bacnet-sim

Типы физического носителя

Название	IEEE 802.3	ARCNET	MS/TP (EIA-485)	PTP (EIA-232)	LonTalk	IP
bacnet	+	+	+	-	-	+
bacnet4linux	+	-	+	-	-	+
bacpypes	?	?	?	?	?	?
bacnet-sim	-	-	+	+	-	-

Прикладные сервисы

Обозначения:

I – посылка сообщения

E – получение сообщения

Сервис	bacnet	bacnet4linux	bacpypes	bacnet-sim
Сигналы и события
AcknowledgeAlarm	-	-	?	-
ConfirmedCOVNotification	I/E	-	?	-
UnconfirmedCOVNotification	I/E	E	?	-
ConfirmedEventNotification	-	-	?	-
UnconfirmedEventNotification	-	-	?	-
GetAlarmSummary	-	-	?	-
SetEnrollmentSummary	-	-	?	-
GetEventInformation	-	-	?	-
LifeSafetyOperation	-	-	?	-
SubscribeCOV	-	I	?	-
SubscribeCOVProperty	-	-	?	-
Файлы
AtomicReadFile	I/E	-	?	-
AtomicWriteFile	I/E	-	?	-
ПравитьДоступ к объектам
AddListElement	-	-	?	-
RemoveListElement	-	-	?	-
CreateObject	-	-	?	-
DeleteObject	-	-	?	-
ReadProperty	I/E	I/E	?	E
ReadPropertyConditional	-	-	?	-
ReadPropertyMultiple	E	-	?	-
ReadRange	-	-	?	-
WriteProperty	I/E	I	?	E
WritePropertyMultiple	-	-	?	-
Управление устройством
DeviceCommunicationControl	I/E	-	?	-
ConfirmedPrivateTransfer	-	-	?	-
UnconfirmedPrivateTransfer	-	-	?	-
ReinitializeDevice	I/E	-	?	-
ConfirmedTextMessage	-	-	?	-
UnconfirmedTextMessage	-	-	?	-
TimeSynchronization	I/E	I	?	-
UTCTimeSynchronization	I/E	-	?	-
Who-Has	I/E	-	?	E
I-Have	I/E	-	?	E
Who-Is	I/E	I	?	E
I-Am	I/E	I/E	?	E
Виртуальный терминал
VT-Open	-	-	?	-
VT-Close	-	-	?	-
VT-Data	-	-	?	-