Journal - BACnet Interest Group Europe eV
Journal - BACnet Interest Group Europe eV
Journal - BACnet Interest Group Europe eV
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Die <strong>BACnet</strong> Dienste teilen sich in<br />
zwei Klassen, A-Seite und B-Seite.<br />
Wie wir gesehen haben, lässt sich<br />
das sehr leicht mit A=Anforderer<br />
(Client) und B=Bereitsteller (Server)<br />
merken. Im <strong>BACnet</strong>-Standard<br />
wird auch von dem Begriff „Initiate<br />
= auslösen, initiieren“ für die<br />
A-Seite bzw. „Execute = bearbeiten,<br />
erledigen“ für die B-Seite gesprochen.<br />
Abbildung 2 zeigt die funktionale<br />
Gruppe DS-RP-A und DS-RP-<br />
B, die Abkürzung DS steht hier<br />
für Data-Sharing, also Datenaustausch<br />
und RP für den Dienst<br />
ReadProperty, mit dem eine einzelne<br />
Eigenschaft eines Objektes gelesen<br />
wird, z. B. der aktuelle Wert.<br />
Gibt es in der Kommunikation<br />
zweier Geräte eines, das die Funktion<br />
DS-RP-A als Anforderer und<br />
das andere die Funktion DS-RP-B<br />
als Bereitsteller unterstützt, können<br />
auf diese Weise Daten zwischen<br />
den beiden ausgetauscht<br />
werden.<br />
Conformance Classes /<br />
Functional <strong>Group</strong>s<br />
In der ersten Ausgabe des <strong>BACnet</strong><br />
Standards 1995 wurde bereits der<br />
Versuch unternommen, die verschiedenen<br />
Funktionen zu Funktionsblöcken<br />
als Geräteprofile zu<br />
verankern. Dabei wurden die verschiedenen<br />
Funktionalitäten in<br />
Konformitätsklassen aufsteigend<br />
eingeordnet, wobei jedes Gerät<br />
einer höheren Klasse die Funktionen<br />
der niedrigeren Klassen beinhaltete.<br />
Es gab 5 Klassen für<br />
Controller und eine Klasse für<br />
Leittechnikprodukte sowie zusätzliche<br />
Funktionsgruppen. Diese<br />
Einteilung war jedoch sehr<br />
strikt und hat sich in der Praxis<br />
als wenig tauglich erwiesen. Dazu<br />
kam, dass meist die höchste Konformitätsklasse<br />
(Klasse 6) ausgeschrieben<br />
wurde, hierbei handelte<br />
es sich jedoch um das Profil einer<br />
Leittechnik und wurde irrtümlich<br />
auch für die Anforderungen an<br />
Controller interpretiert.<br />
Dieses Modell wurde daher ersetzt<br />
und heute dienen die BIBBS,<br />
<strong>BACnet</strong> Interoperability Building<br />
Blocks oder auch Interoperabilitätsbausteine<br />
genannt, zur Festlegung<br />
des funktionalen Rahmens.<br />
Im zweiten Teil dieses Artikels,<br />
der demnächst hier erscheint, erfahren<br />
Sie daher mehr über die<br />
Möglichkeiten, anhand der BIBBs<br />
Geräte und deren Funktionen<br />
komfortabel miteinander zu vergleichen.<br />
Gleichzeitig lernen Sie<br />
die neuen Anforderungen an die<br />
Leittechnikprofile kennen (vom<br />
B-OD = Operator Display über B-<br />
OWS = Operator Workstation bis<br />
zur B-AWS = Advanced Operator<br />
Workstation).<br />
Wenn Sie aktuell Fragen zur Interoperabilität<br />
und deren Bewertung<br />
haben und nicht bis zur nächsten<br />
Ausgabe des <strong>BACnet</strong> <strong>Europe</strong><br />
<strong>Journal</strong> warten können, steht Ihnen<br />
der Autor gerne per E-Mail<br />
zur Verfügung.<br />
Interoperability, means the correct<br />
interaction between different devices,<br />
plays a major role especially<br />
in multi-vendor projects. While in<br />
homogeneous projects with only<br />
one manufacturer functional interaction<br />
can be easily expected, in<br />
heterogeneous projects missing interoperability<br />
may cause trouble.<br />
To assure the best possible integration<br />
<strong>BACnet</strong> already provides<br />
methods to illustrate and compare<br />
the supported functionality.<br />
What is interoperability?<br />
Interoperability describes the correct<br />
interaction between two or<br />
more devices within the range of<br />
functionality supported by all devices.<br />
Picture 1 shows according<br />
to simple theory of sets that even<br />
with a large set of functions in<br />
each device, the common functional<br />
range supported by all devices<br />
may be only very small. Only<br />
the functions supported by all devices<br />
can be used congruously.<br />
In worst case two devices cannot<br />
inter-operate at all if there is no<br />
common functionality.<br />
To achieve the best possible depth<br />
of integration it is necessary to find<br />
the highest matching functionality<br />
when selecting the devices.<br />
Another aspect of interoperability<br />
is the question of standardconformance.<br />
Two devices may be<br />
easily interoperable, but could still<br />
violate the standard (if both manufacturers<br />
made the same mistake).<br />
Successful conformance testing<br />
(this means strict compliance to<br />
the standard) is the basic prerequisite<br />
for subsequent interoperability.<br />
Comparing the interoperability<br />
w / o prior conformance testing is<br />
useless!<br />
PICS<br />
From the first revision of the<br />
standard <strong>BACnet</strong> covered the<br />
functional comparison of BAC-<br />
Anforderer<br />
Initiator / Client<br />
DS-RP-A<br />
<strong>BACnet</strong>-Service Initiate Execute<br />
Read Property X<br />
Bereitsteller<br />
Executor / Server<br />
DS-RP-B<br />
<strong>BACnet</strong>-Service Initiate Execute<br />
Read Property X<br />
Abbildung/Picture 2<br />
net components. The PICS (Protocol<br />
implementation Conformance<br />
Statement) as a self-declaration<br />
by the manufacturer describes the<br />
functional range of a device, so<br />
it covers aspects like “how much<br />
<strong>BACnet</strong> is in a device” and which<br />
functions are supported. Beyond<br />
characteristics like the supported<br />
character sets, segmentation<br />
(transporting larger telegrams in<br />
small segments), routing functions,<br />
etc. first of all the supported<br />
network media (data-link-layers),<br />
the services and the object types<br />
are referenced in this document.<br />
For example in describing the object<br />
types, the PICS illustrates if<br />
dynamic object creation and deletion<br />
is supported, a list of optionally<br />
supported properties and the<br />
capability to write certain properties.<br />
With this questions like “Can<br />
limits be changed via <strong>BACnet</strong>?” or<br />
“Can a new schedule object be created<br />
using <strong>BACnet</strong> services?” can<br />
be clearly answered.<br />
In many cases PICS documents are<br />
required in quotations and are often<br />
described as a prerequisite in<br />
tenders. So they become a guarantee<br />
of performance.<br />
Testing the conformance of devices<br />
the electronic form EPICS is<br />
used as a prerequisite for handing<br />
over the device to the laboratory.<br />
Beyond all information contained<br />
in a PICS, the EPICS additionally<br />
contains a copy of the object database<br />
of the device with all property<br />
values.<br />
A-Side / B-Side<br />
<strong>BACnet</strong> is based upon the client<br />
/ server model. A client is the<br />
requester of the data provided by<br />
a server. If there is only a provider<br />
but no user (requester) or if there<br />
is a requester but no provider the<br />
<strong>BACnet</strong> insight<br />
functional conformance is missing<br />
and so this function cannot be<br />
used for interoperability.<br />
The services are specified in Aside<br />
and B-side functions, while<br />
A is the client and B is the server.<br />
The client is the one initiating a request,<br />
while the server executes it.<br />
Picture 2 shows the functional<br />
group DS-RP-A and DS-RP-B, the<br />
short cut DS stands for Data-Sharing<br />
and RP represents the service<br />
ReadProperty (reads a single property<br />
value from an object, e.g. the<br />
present value).<br />
If in a device relationship there is<br />
one supporting DS-RP-A and the<br />
other supports DS-RP-B both devices<br />
can exchange values using<br />
this service.<br />
Conformance classes /<br />
functional groups<br />
In the first revision of the <strong>BACnet</strong><br />
standard in 1995 the first approach<br />
was to define device profiles<br />
as functional blocks using<br />
conformance classes. The classes<br />
were defined hierarchically where<br />
higher classes contained all functions<br />
of lower classes. A total of<br />
5 classes represented controller<br />
profiles, while class 6 represented<br />
a workstation plus additionally a<br />
few extra functional groups were<br />
specified. This model was too<br />
strict though and did not work<br />
well in practice. Additionally class<br />
6 was often used erroneously in<br />
tenders to describe a controller<br />
where class 6 actually specified a<br />
workstation and not a controller.<br />
This model was replaced and today<br />
the so-called BIBBS = <strong>BACnet</strong><br />
Interoperability Building Blocks<br />
are used to specify the functional<br />
range.<br />
In the upcoming second part of<br />
this article you will learn more<br />
about how to compare devices and<br />
functions using the BIBBs plus it<br />
will provide an overview about<br />
the new requirements for workstations<br />
(from B-OD = Operator Display<br />
to B-OWS = Operator Workstation<br />
to B-AWS = Advanced Operator<br />
Workstation).<br />
If you have current questions<br />
about interoperability and cannot<br />
wait for the second part issued in<br />
the next <strong>BACnet</strong> <strong>Europe</strong> <strong>Journal</strong>,<br />
don’t hesitate to contact the author<br />
by E-Mail.<br />
<strong>BACnet</strong> <strong>Europe</strong> <strong>Journal</strong> 14 03/11 37