Сравнительный обзор существующих реализаций протокола 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	описание+комментарии

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

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

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

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

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

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

Название	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	-	-	?	-