Building automation and control systems (BACS) — Part 6: Data communication conformance testing

This standard provides a comprehensive set of procedures for verifying the correct implementation of each capability claimed on a BACnet PICS including: (a) support of each claimed BACnet service, either as an initiator, executor, or both, (b) support of each claimed BACnet object-type, including both required properties and each claimed optional property, (c) support of the BACnet network layer protocol, (d) support of each claimed data link option, and (e) support of all claimed special functionality.

Systèmes d'automatisation et de gestion technique du bâtiment (BACS) — Partie 6: Essais de conformité de la communication de données

Cette norme est configurée sur un ensemble complet de procédures permettant de vérifier la mise en œuvre correcte de chaque capacité revendiquée sur un PICS BACnet, y compris : (a) la prise en charge de chaque service BACnet revendiqué, soit en tant que lanceur, soit en tant qu'exécuteur, soit les deux, (b) la prise en charge de chaque type d'objet BACnet revendiqué, y compris les propriétés obligatoires et chaque propriété facultative revendiquée, (c) la prise en charge du protocole de couche réseau BACnet, (d) la prise en charge de chaque option de liaison de données revendiquée, et (e) la prise en charge de toutes les fonctionnalités spéciales revendiquées.

General Information

Status
Published
Publication Date
05-Dec-2024
Current Stage
9092 - International Standard to be revised
Start Date
06-Oct-2025
Completion Date
13-Dec-2025
Ref Project

Relations

Standard
ISO 16484-6:2024 - Building automation and control systems (BACS) — Part 6: Data communication conformance testing Released:12/6/2024
English language
981 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 16484-6:2024 - Systèmes d'automatisation et de gestion technique du bâtiment (BACS) — Partie 6: Essais de conformité de la communication de données Released:14. 04. 2025
French language
1016 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


International
Standard
ISO 16484-6
Fifth edition
Building automation and control
2024-12
systems (BACS) —
Part 6:
Data communication
conformance testing
Systèmes d'automatisation et de gestion technique du
bâtiment —
Partie 6: Essais de conformité de la communication de données
Reference number
© ISO 2024
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
CONTENTS
CLAUSE          PAGE
FOREWORD . vi
1. PURPOSE . 1
2. SCOPE . 1
3. DEFINITIONS . 1
3.1 Terms Adopted from International Standardss . 1
3.2 Abbreviations and Acronyms Used in the Standard . 1
3.3 Common language used in tests . 1
4. ELECTRONIC PICS FILE FORMAT . 2
4.1 Character Encoding . 2
4.2 Structure of EPICS Files . 2
4.3 Character Strings . 3
4.4 Notational Rules for Parameter Values . 3
4.5 Sections of the EPICS File . 5
5. EPICS CONSISTENCY TESTS . 10
6. CONVENTIONS FOR SPECIFYING BACnet CONFORMANCE TESTS . 12
6.1 TCSL Components . 12
6.2 TCSL Statements . 13
6.3 Time Dependencies . 18
6.4 BACnet References . 19
6.5 TD Requirements . 19
6.6 Test Execution Considerations . 19
7. OBJECT SUPPORT TESTS . 21
7.1 Read Support for Properties in the Test Database . 21
7.2 Write Support for Properties in the Test Database . 23
7.3 Object Functionality Tests . 29
8. APPLICATION SERVICE INITIATION TESTS . 332
8.1 AcknowledgeAlarm Service Initiation Tests . 332
8.2 ConfirmedCOVNotification Service Initiation Tests . 334
8.3 UnconfirmedCOVNotification Service Initiation Tests . 348
8.4 ConfirmedEventNotification Service Initiation Tests . 352
8.5 UnconfirmedEventNotification Service Initiation Tests . 398
8.6 GetAlarmSummary Service Initiation Tests . 422
8.7 GetEnrollmentSummary Service Initiation Tests . 422
8.8 GetEventInformation Service Initiation Tests . 424
8.9 LifeSafetyOperation Service Initiation Tests . 425
8.10 SubscribeCOV Service Initiation Tests . 426
8.11 SubscribeCOVProperty Service Initiation Tests . 427
8.12 AtomicReadFile Service Initiation Tests . 432
8.13 AtomicWriteFile Service Initiation Tests . 432
8.14 AddListElement Service Initiation Tests . 433
8.15 RemoveListElement Service Initiation Tests . 433
8.16 CreateObject Service Initiation Tests . 434
8.17 DeleteObject Service Initiation Tests . 434
8.18 ReadProperty Service Initiation Tests . 435
8.19 ReadPropertyConditional Service Initiation Tests . 437
8.20 ReadPropertyMultiple Service Initiation Tests. 437
8.21 ReadRange Service Initiation Tests . 440
8.22 WriteProperty Service Initiation Tests . 443
8.23 WritePropertyMultiple Service Initiation Tests . 446
8.24 DeviceCommunicationControl Service Initiation Tests . 448
8.25 ConfirmedPrivateTransfer Service Initiation Test . 449
8.26 UnconfirmedPrivateTransfer Service Initiation Test . 450
8.27 ReinitializeDevice Service Initiation Tests . 450
8.28 ConfirmedTextMessage Service Initiation Tests . 451
8.29 UnconfirmedTextMessage Service Initiation Tests . 452
8.30 TimeSynchronization Service Initiation Tests . 452
8.31 UTCTimeSynchronization Service Initiation Tests . 452
8.32 Who-Has Service Initiation Tests . 453
iii
8.33 I-Have Service Initiation Tests . 454
8.34 Who-Is Service Initiation Tests . 454
8.35 I-Am Service Initiation Tests . 455
8.36 VT-Open Service Initiation Tests . 455
8.37 VT-Close Service Initiation Tests . 456
8.38 VT-Data Service Initiation Tests . 457
8.39 RequestKey Service Initiation Tests . 459
8.40 Authenticate Service Initiation Tests . 459
8.41 WriteGroup Service Initiation Tests . 462
8.42 SubscribeCOVPropertyMultiple Service Initiation Tests . 463
8.43 AuditLogQuery Initiation Tests . 467
9. APPLICATION SERVICE EXECUTION TESTS . 468
9.1 AcknowledgeAlarm Service Execution Tests . 468
9.2 ConfirmedCOVNotification Service Execution Tests . 493
9.3 UnconfirmedCOVNotification Service Execution Tests . 498
9.4 ConfirmedEventNotification Service Execution Tests . 501
9.5 UnconfirmedEventNotification Service Execution Tests . 505
9.6 GetAlarmSummary Service Execution Tests . 507
9.7 GetEnrollmentSummary Service Execution Tests . 508
9.8 GetEventInformation Service Execution Tests. 511
9.9 LifeSafetyOperation Service Execution Test . 513
9.10 SubscribeCOV Service Execution Tests . 517
9.11 SubscribeCOVProperty Service Execution Tests . 527
9.12 AtomicReadFile Service Execution Tests . 538
9.13 AtomicWriteFile Service Execution Tests . 544
9.14 AddListElement Service Execution Tests . 553
9.15 RemoveListElement Service Execution Tests . 556
9.16 CreateObject Service Execution Tests. 557
9.17 DeleteObject Service Execution Tests. 562
9.18 ReadProperty Service Execution Tests . 563
9.19 ReadPropertyConditional Service Execution Tests . 568
9.20 ReadPropertyMultiple Service Execution Tests . 568
9.21 ReadRange Service Execution Tests . 577
9.22 WriteProperty Service Execution Tests . 589
9.23 WritePropertyMultiple Service Execution Tests . 596
9.24 DeviceCommunicationControl Service Execution Test . 611
9.25 ConfirmedPrivateTransfer Service Execution Tests . 618
9.26 UnconfirmedPrivateTransfer Service Execution Tests . 619
9.27 ReinitializeDevice Service Execution Tests . 619
9.28 ConfirmedTextMessage Service Execution Tests . 623
9.29 UnconfirmedTextMessage Service Execution Tests . 624
9.30 TimeSynchronization Service Execution Tests . 625
9.31 UTCTimeSynchronization Service Execution Tests . 625
9.32 Who-Has Service Execution Tests . 626
9.33 Who-Is Service Execution Tests. 633
9.34 VT-Open Service Execution Tests . 636
9.35 VT-Close Service Execution Tests . 637
9.36 VT-Data Service Execution Tests . 639
9.37 RequestKey Service Execution Test . 639
9.38 Authenticate Service Execution Tests . 641
9.39 General Testing of Service Execution . 644
9.40 AuditLogQuery Service Execution Tests . 645
9.41 WriteGroup Tests . 647
9.42 SubscribeCOVPropertyMultiple Service Execution Tests . 651
10. NETWORK LAYER PROTOCOL TESTS . 665
10.1 General Network Layer Tests . 665
10.2 Router Functionality Tests . 666
10.3 Half-Router Functionality Tests . 690
10.4 B/IP PAD Tests . 697
10.5 Initiating Network Layer Messages . 699
10.6 Non-Router Functionality Tests . 700
iv
10.7 Route Binding Tests . 703
10.8 Virtual Routing Functionality Tests . 707
11. LOGICAL LINK LAYER PROTOCOL TESTS . 726
11.1 UI Command and Response . 726
11.2 XID Command and Response . 726
11.3 TEST Command and Response . 727
12. DATA LINK LAYER PROTOCOLS TESTS . 728
12.1 MS/TP State Machine Tests . 728
12.2 PTP State Machine Tests . 786
12.3 BACnet/IP Functionality Tests . 818
12.4 BACnet/IPv6 Functionality Tests . 849
12.5 Secure Connect Functionality Tests . 863
13. SPECIAL FUNCTIONALITY TESTS . 912
13.1 Segmentation . 912
13.2 Time Master . 920
13.3 Character Sets . 925
13.4 Malformed PDUs . 925
13.5 Slave Proxy Tests . 926
13.6 Automatic Network Mapping . 928
13.7 Automatic Device Mapping. 929
13.8 Backup and Restore Procedure Tests . 929
13.9 Application State Machine Tests . 943
13.10 Workstation Scheduling Tests . 943
14. Reporting Test Results . 961
ANNEX A – EXAMPLE EPICS (INFORMATIVE) . 962
HISTORY OF REVISIONS . 977

v
FOREWORD
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO
member bodies). The work of preparing International Standards is normally carried out through ISO technical
committees. Each member body interested in a subject for which a technical committee has been established has the right
to be represented on that committee. International organizations, governmental and non-governmental, in liaison with
ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on
all matters of electrotechnical standardization.
The procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC
Directives, Part 1. In particular, the different approval criteria needed for the different types of ISO document should be
noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part 2 (see
www.iso.org/directives).
ISO draws attention to the possibility that the implementation of this document may involve the use of (a) patent(s). ISO
takes no position concerning the evidence, validity or applicability of any claimed patent rights in respect thereof. As of
the date of publication of this document, ISO had not received notice of (a) patent(s) which may be required to implement
this document. However, implementers are cautioned that this may not represent the latest information, which may be
obtained from the patent database available at www.iso.org/patents. ISO shall not be held responsible for identifying any
or all such patent rights.
Any trade name used in this document is information given for the convenience of users and does not constitute an
endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions related to
conformity assessment, as well as information about ISO's adherence to the World Trade Organization (WTO) principles
in the Technical Barriers to Trade (TBT), see www.iso.org/iso/foreword.html.
This document was prepared by Technical Committee ISO/TC 205, Building environmental design, in collaboration with
the European Committee for Standardization (CEN) Technical Committee CEN/TC 247, Building Automation, Controls
and Building Management, in accordance with the Agreement on technical cooperation between ISO and CEN (Vienna
Agreement) and with the American Society of Heating, Refrigerating and Air-Conditioning Engineers, Inc. (ASHRAE).
This fifth edition cancels and replaces the fourth edition (ISO 16484-6:2020), which has been technically revised.
The main changes are as follows:
— See the detailed list of changes on pages 977 to 981.
Any feedback or questions on this document should be directed to the user’s national standards body. A complete listing
of these bodies can be found at www.iso.org/members.html.

vi
International Standard ISO 16484-6:2024(en)
1. PURPOSE
Building automation and control systems (BACS) —
Part 6:
Data communication conformance testing
1. PURPOSE
To define a standard method for verifying that an implementation of the BACnet protocol provides each capability
claimed in its Protocol Implementation Conformance Statement (PICS) in conformance with the BACnet standard.
2. SCOPE
This standard provides a comprehensive set of procedures for verifying the correct implementation of each capability
claimed on a BACnet PICS including:

(a) support of each claimed BACnet service, either as an initiator, executor, or both,
(b) support of each claimed BACnet object-type, including both required properties and each claimed optional
property,
(c) support of the BACnet network layer protocol,
(d) support of each claimed data link option, and
(e) support of all claimed special functionality.
3. DEFINITIONS
All definitions from ANSI/ASHRAE Standard 135-2020 also apply to this addendum.
3.1 Terms Adopted from International Standardss
local network: the network to which a BACnet device is directly connected.

remote network: a network that is accessible from a BACnet device only by passing through one or more routers.

test database: a database of BACnet functionality and objects created by reading the contents of an EPICS.
3.2 Abbreviations and Acronyms Used in the Standard
BNF Backus-Naur Form syntax
EPICS electronic protocol implementation conformance statement
IUT implementation under test
TCSL testing and conformance scripting language
TD testing device
TPI text protocol information
3.3 Common language used in tests
'any valid value': Any valid value refers to any value of the correct data type and within the vendor's range specified for
the property this is applied to.

'any appropriate password': Any password that meets the Configuration Requirements specified in the test or test
section. Passwords when required by the vendor are required to be no more than 20 characters.

'reset': Some tests require to reset the IUT. Reset includes power cycle via switch, power cycle via loss of power, and
reinitializeDevice WARMSTART. As defined by the BACnet standard, "WARMSTART shall mean to reboot the device
and start over, retaining all data and programs that would normally be retained during a brief power outage."

4. ELECTRONIC PICS FILE FORMAT
4. ELECTRONIC PICS FILE FORMAT
An electronic protocol implementation conformance statement (EPICS) file contains a BACnet protocol implementation
conformance statement expressed in a standardized text form. EPICS files are machine and human readable
representations of the implementation of BACnet objects and services within a given device. EPICS files shall use the
extension ".TPI" (text protocol information) and contain normal editable text lines consisting of text character codes
ending in carriage return/linefeed pairs (X'0D', X'0A').

EPICS files are used by software testing tools to conduct and interpret the results of tests defined in this standard. An
EPICS file shall accompany any device tested according to the procedures of this standard.
4.1 Character Encoding
BACnet provides for a variety of possible character encodings. The character encodings in BACnet fall into three groups:
octet streams, double octet streams and quad octet streams. Octet streams represent characters as single octet values. In
some cases, such as Microsoft DBCS and JIS C 6226, certain octet values signal that the second octet which follows
should be viewed along with the leading octet as a single value, thus extending the range to greater than 256 possible
characters. In contrast, double octet streams view pairs of octets as representing single characters. The ISO 10646 UCS-
2 encoding is an example. The first or leading octet of the pair is the most significant part of the value. Quad octet streams,
such as ISO 10646 UCS-4, treat tuples of four octets at a time as single characters with the first or leading octet being
the most significant.
To accommodate the various encodings that may be used with BACnet device descriptions, EPICS files begin with a
header that serves both to identify the file as an EPICS file, and to identify the particular encoding used. The header
begins with the string "PICS #" where # is replaced by a numeral representing the character set as shown in Table 4-1.

Table 4-1. Character Set Codes
code character set
0 ANSI X3.4
1 Microsoft DBCS
2 JIS C 6226
3 ISO 10646 (UCS-4)
4 ISO 10646 (UCS-2)
5 ISO 8859-1
An octet stream format can be recognized by examining the first eight octets of the EPICS file. Using ANSI X3.4
encoding as an example these eight octets will contain: X'50' X'49' X'43' X'53' X'20' X'30' X'0D' X'0A'. This represents
the text "PICS 0" followed by carriage return and linefeed.

A double octet stream format can be recognized by examining the first 16 octets of the EPICS file. Using ISO 10646
UCS-2 encoding as an example these 16 octets will contain:

X'00' X'50' X'00' X'49' X'00' X'43' X'00' X'53'
X'00' X'20' X'00' X'34' X'00' X'0D' X'00' X'0A'

This represents the text "PICS 4" followed by carriage return and linefeed.

A quad octet stream format can be recognized by examining the first 32 octets of the EPICS file. Using ISO 10646 UCS-
4 as an example these 32 octets will contain:

X'00' X'00' X'00' X'50' X'00' X'00' X'00' X'49'
X'00' X'00' X'00' X'43' X'00' X'00' X'00' X'53'
X'00' X'00' X'00' X'20' X'00' X'00' X'00' X'33'
X'00' X'00' X'00' X'0D' X'00' X'00' X'00' X'0A'

This represents the text "PICS 3" followed by carriage return and linefeed.
4.2 Structure of EPICS Files
EPICS files consist of text lines ending in carriage return/linefeed pairs (X'0D', X'0A') encoded as octet, double octet or
quad octet streams as defined in 4.1. In the rest of this standard, the term "character" will be used to mean one symbol
4. ELECTRONIC PICS FILE FORMAT
encoded as one, two, or four octets based on the character encoding used in the EPICS file header. For example, the
character space may be encoded as X'20' or X'0020' or X'00000020'. In this standard all characters will be shown in their
single octet form.
The special symbol ↵ is used in this Clause to signify the presence of a carriage return/linefeed pair (X'0D0A'). Except
within character strings, the character codes tab (X'09'), space (X'20'), carriage return (X'0D') and linefeed (X'0A') shall
be considered to be white space. Any sequence of 1 or more white space characters shall be equivalent to a single white
space character. Except within a character string, a sequence of two dashes (X'2D') shall signify the beginning of a
comment which shall end with the next carriage return/linefeed pair, i.e., the end of the line upon which the -- appears.
Comments shall be considered to be white space, and may thus be inserted freely.

EPICS files shall have, as their first line following the header, the literal text:
BACnet Protocol Implementation Conformance Statement ↵
This text serves as a signature identifying the EPICS file format.

Lines that define the sections of the EPICS (see 4.5) and the particular implementation data for a given device follow the
signature line.
The EPICS file ends with a line containing the following literal text:
End of BACnet Protocol Implementation Conformance Statement ↵
4.3 Character Strings
The occurrence of a double quote (X'22'), single quote (X'27') or accent grave (X'60') shall signify character strings. For
double quotes, the end of the string shall be signified by the next occurrence of a double quote, or the end of the line. For
single quote or accent grave, the end of the string shall be signified by the next occurrence of a single quote (X'27'), or
the end of the line. Thus strings which need to include a single quote or accent grave as a literal character in the string
shall use the double quote quoting method, while strings which need to include double quote shall use the single quote
or accent grave quoting method.
4.4 Notational Rules for Parameter Values
Within each section, parameters may need to be expressed in one of several forms. The following rules govern the format
for parameters:
(a) key words are case insensitive so that X'41' through X'5A' are equivalent to X'61' through X'7A';
(b) null values are shown by the string "NULL";
(c) Boolean values are shown by the strings "T" or "TRUE" if the value is true, or "F" or "FALSE" if the value is
false;
(d) integer values are shown as strings of digits, possibly with a leading minus (-): 12345 or -111;
(e) real values are shown with a decimal point, which may not be the first or last character: 1.23, 0.02, 1.0 but not
.02;
(f) octet strings are shown as pairs of hex digits enclosed in either single quotes (X'2D') or accent graves (X'60'),
and preceded by the letter "X": X'001122';
(g) character strings are represented as one or more characters enclosed in double, single or accent grave quotes as
defined in 4.3: 'text' or 'text' or "text";
(h) bitstrings are shown as a list, enclosed by curly brackets ({ } or X'7B' and X'7D'), of true and false values:
{T,T,F} or {TRUE, TRUE, FALSE}. When the actual value of a bit does not matter, a question mark is used:
{T,T,?};
(i) enumerated values are represented as named, rather than numeric, values. Enumeration names are case
insensitive so that X'41' through X'5A' are equivalent to X'61' through X'7A'. The underscore (X'5F') and dash
(X'2D') are considered equivalent in enumeration names. Proprietary values are shown as a named text with no
whitespace and ending in a non-negative decimal numeric. Each must start with the word "proprietary":
Object_Type, proprietary-object-type-653;
(j) dates are represented enclosed in parenthesis: (Monday, 24-January-1998). Any "wild card" or unspecified field
is shown by an asterisk (X'2A'): (Monday, *-January-1998). The omission of day of week implies that the day
is unspecified: (24-January-1998);
(k) times are represented as hours, minutes, seconds, hundredths in the format hh:mm:ss.xx: 2:05:44.00,
16:54:59.99. Any "wild card" field is shown by an asterisk (X'2A'): 16:54:*.*;
(l) object identifiers are shown enclosed by parentheses, with commas separating the object type and the instance
number: (analog-input, 56). Proprietary object types replace the object type enumeration with the word
"proprietary" followed by the numeric value of the object type: (proprietary 700,1);
4. ELECTRONIC PICS FILE FORMAT
(m) constructed data items are represented enclosed by curly brackets ({ } or X'7B' and X'7D'), with elements
separated by commas. If an element is itself a constructed value, then that element shall be enclosed in curly
brackets.
4.4.1 Complex Parameter Values
Some parameter values, notably property values for constructed or CHOICE types of encoded values, need to use a more
complex notation to represent their values. This notation is tied to the ASN.1 encoding for those property values and may
appear obscure out of context. These additional rules govern the presentation of those types of parameter values:

(a) values which are a CHOICE of application-tagged values are represented by the value of the chosen item
encoded as described in 4.4;
(b) values which are a CHOICE of context-tagged values are represented by the context tag number enclosed in
square brackets, followed by the representation of the value of the chosen item;
(c) list values (ASN.1 "SEQUENCE OF") are represented enclosed in parenthsis, with the elements of the list
separated by commas. If an element is itself a constructed value, then that element shall be enclosed in curly
brackets;
(d) array values are represented enclosed in curly brackets, with the elements of the array separated by commas. If
an element is itself a constructed value, then that element shall be enclosed in curly brackets.
4.4.2 Specifying Limits on Parameter Values
Some properties may have restrictions on the range or resolution of their values. In order to correctly interpret the results
of tests in which the value of a property is changed using WriteProperty, WritePropertyMultiple, or AddListElement then
read back using ReadProperty or ReadPropertyMultiple, it is necessary to know what these restrictions are. The test
database may contain restriction statements that define these constraints. The permissible restrictions and the datatypes
they apply to are:
(a) minimum - the minimum value for Unsigned, Integer, Real, or Double datatypes. The earliest date for the Date
datatype;
(b) maximum - the maximum value for Unsigned, Integer, Real, or Double datatypes. The latest date for the Date
datatype;
(c) resolution - the minimum guaranteed resolution for Real and Double datatypes. The minimum time resolution
in seconds for the Time datatype;
(d) maximum length string - the maximum length of a CharacterString or OctetString;
(e) maximum length list - the maximum number of elements guaranteed to fit in a list;
(f) maximum length array - the maximum number of elements in an array;
(g) allowed values - a comma-delimited list of supported enumerations for an Enumerated datatype. A comma-
delimited list of object types for properties that reference an external object identifier.

Restriction statements shall be listed within pointed brackets (< and >) following the default value. If there are multiple
restrictions within a single set of angle brackets, then the restrictions shall be separated by a semicolon (;). A restriction
statement consists of the restriction name followed by a colon (:) followed by the restriction value or, where appropriate,
a comma-delimited list of possible values.

Here are some examples of property values with restriction statements as they could appear in the test database.

present-value: 13.4
description: "this is a description"
units: milliamperes
object-property-reference: (analog input, 12)

The Units property is a special case, because changing the units can change the value of the Present_Value property as
well as any restrictions on its value. Therefore, minimum, maximum, and resolution restrictions are only valid for the
default value of the Units property.

It is possible to specify default restrictions for most datatypes as described in 4.5.8. Restriction statements in the test
database override the default restrictions for the individual property that contains the restriction statement.
4. ELECTRONIC PICS FILE FORMAT
4.5 Sections of the EPICS File
Each section of the EPICS file begins with a section name followed by a colon ( : or X'3A'). After the colon is a set of
one or more parameters delimited by a set of curly braces ({ } or X'7B' X'7D').

The following symbols are used as placeholders to indicate the presence of parameter information:
(a) the open box symbol inside quotation marks, "", is used to indicate that a character string parameter shall be
present;
(b) the open box symbol with no quotation marks, , is used to indicate that a parameter with a datatype other than
a character string shall be present;
(c) a question mark, ?, is used in the test database to indicate that the property is present but the value is unknown
because it depends on hardware input or is being changed by an internal algorithm.

An example EPICS file may be found in Annex A.
4.5.1 General Information Sections
These sections provide general information about the BACnet device. The syntax for these sections is shown below.

Vendor Name: ""↵
Product Name: ""↵
Product Model Number: ""↵
Product Description: ""↵
4.5.2 Conformance Sections
These sections provide information about the BACnet functionality that the device claims to support.
4.5.2.1 BIBBs Supported
This section indicates which BIBBs are supported. The syntax is shown below. Each BIBB shall be listed, one per line
between the curly braces. An empty list indicates that no BIBBs are supported.

BIBBs Supported: ↵
{↵
↵
}↵
The BIBBs may be any of those BIBBs described in Annex K. The format in the EPICS shall be to use the short acronym
described in the title for each BIBB. For example: A device which supports 'Data Sharing - ReadProperty - B' should
include 'DS-RP-B' in this section.

For example:
BIBBS Supported: ↵
{↵
DS-RP-B↵
DS-WP-B↵
DS-RPM-B↵
DM-DOB-B↵
DM-DDB-B↵
DM-DDB-A↵
}↵
4.5.3 Application Services Supported
This section indicates which standard application services are supported. The syntax is shown below. Each supported
service shall be listed between curly braces one service per line, followed by the words "Initiate" or "Execute" to indicate
whether the service can be initiated, executed, or both.

BACnet Standard Application Services Supported: ↵
{↵
4. ELECTRONIC PICS FILE FORMAT
 Initiate↵
 Execute↵
 Initiate Execute↵
}
The standard services may be any of the services listed in the Clause 21 production BACnetSer
...


Norme
internationale
ISO 16484-6
Cinquième édition
Systèmes d'automatisation et de
2024-12
gestion technique du bâtiment
(BACS) —
Partie 6:
Essais de conformité de la
communication de données
Building automation and control systems (BACS) —
Part 6: Data communication conformance testing
Numéro de référence
DOCUMENT PROTÉGÉ PAR COPYRIGHT
© ISO 2024
Tous droits réservés. Sauf prescription différente ou nécessité dans le contexte de sa mise en œuvre, aucune partie de cette
publication ne peut être reproduite ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique,
y compris la photocopie, ou la diffusion sur l’internet ou sur un intranet, sans autorisation écrite préalable. Une autorisation peut
être demandée à l’ISO à l’adresse ci-après ou au comité membre de l’ISO dans le pays du demandeur.
ISO copyright office
Case postale 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Genève
Tél.: +41 22 749 01 11
E-mail: copyright@iso.org
Web: www.iso.org
Publié en Suisse
ii
SOMMAIRE
CLAUSE PAGE
AVANT-PROPOS . vii
1. BUT .1
2. DOMAINE D'APPLICATION .1
3. DÉFINITIONS .1
3.1 Termes adoptés à partir de normes internationales . 1
3.2 Abréviations et acronymes utilisés dans la norme . 1
3.3 Langage commun utilisé dans les essais . 1
4. FORMAT DE FICHIER DES IMAGES ÉLECTRONIQUES.2
4.1 Codage des caractères . 2
4.2 Structure des fichiers EPICS . 3
4.3 Chaînes de caractères . 3
4.4 Règles de notation pour les valeurs des paramètres . 3
4.5 Sections du dossier EPICS . 5
5. EPICS TESTS DE COHÉRENCE . 10
6. CONVENTIONS POUR SPÉCIFIER LES ESSAIS DE CONFORMITÉ BACnet . 11
6.1 Composants du TCSL . 11
6.2 Instructions du TCSL . 12
6.3 Dépendances temporelles . 17
6.4 Références BACnet . 19
6.5 Exigences de la DT . 19
6.6 Considérations relatives à l'exécution des essais . 19
7. ESSAIS DE PRISE EN CHARGE EN CHARGE DES OBJETS . 19
7.1 Prise en charge de la lecture des propriétés dans la base de données des essais . 20
7.2 Prise en charge en écriture des propriétés dans la base de données des essais . 22
7.3 Essais de fonctionnalité des objets . 29
8. ESSAIS DE LANCEMENT DE SERVICES D'APPLICATION . 351
8.1 AcquittementAlarme Essais de lancement du service.3 52
8.2 ConfirmedCOVNotification Essais de lancement du service Soumettre à des essais. 354
8.3 UnconfirmedCOVNotification Essais de lancement du service .3 69
8.4 ConfirmedEventNotification Essais de lancement de services .3 73
8.5 UnconfirmedEventNotification Essais de lancement du service .423
8.6 Essais de lancement du service GetAlarmSummary .4 49
8.7 Essais de lancement du service GetEnrollmentSummary .4 49
8.8 Essais de lancement du service GetEventInformation .4 51
8.9 LifeSafetyOperation Essais de lancement de service .4 52
8.10 Essais de lancement du service SubscribeCOV .4 53
8.11 Essais de lancement du service SubscribeCOVProperty .4 54
8.12 Essais de lancement du service AtomicReadFile .4 58
8.13 Essais de lancement du service AtomicWriteFile .4 59
8.14 Essais de lancement du service AddListElement .4 60
8.15 Essais de lancement du service RemoveListElement .4 60
8.16 Essais de lancement du service CreateObject soumis à des essais .4 61
8.17 Essais de lancement du service DeleteObject.4 62
8.18 Essais de lancement du service ReadProperty .4 62
8.19 ReadPropertyConditional Essais de lancement du service .4 64
8.20 Essais de lancement du service ReadPropertyMultiple. .4 65
8.21 ReadRange Essais de lancement du service .4 67
8.22 Essais de lancement du service WriteProperty .4 74
8.23 Essais de lancement du service WritePropertyMultiple soumis à des essais .446
8.24 Essais de lancement du service DeviceCommunicationControl .4 76
8.25 ConfirmedPrivateTransfer Essai de lancement du service.4 77
8.26 UnconfirmedPrivateTransfer Service Initiation Test
(Essai de lancement du service de transfert privé non confirmé) .4 77
8.27 Essais de lancement du service ReinitializeDevice .4 78
8.28 ConfirmedTextMessage Essais de lancement du service .4 78
iii
8.29 UnconfirmedTextMessage Essais de lancement du service . 479
8.30 Essais de lancement du service de synchronisation temporelle . 480
8.31 Essais de lancement du service UTCTimeSynchronization . 480
8.32 Tests de lancement du service Who-Has . 480
8.33 Essais de lancement du service I-Have . 482
8.34 Tests de lancement du service Who-Is . 482
8.35 I-Am Service Lancer des essais . 483
8.36 Essais de lancement du service VT en espace ouvert . 483
8.37 VT-Close Service Lancer des essais . 484
8.38 Essais de lancement du service VT-Data . 485
8.39 Essais de lancement du service RequestKey . 487
8.40 Essais de lancement du service d'authentification . 487
8.41 Essais de lancement du service WriteGroup . 490
8.42 SubscribeCOVPropertyTests de lancement de services multiples . 491
8.43 Essais de lancement de l'AuditLogQuery . 495
9. ESSAIS D'EXÉCUTION DU SERVICE D'APPLICATION .4 96
9.1 Essais d'exécution du service Accusé de réceptionAlarme . 496
9.2 Essais d'exécution du service ConfirmedCOVNotification . 524
9.3 Tests d'exécution du service UnconfirmedCOVNotification . 529
9.4 ConfirmedEventNotification Essais d'exécution du service . 532
9.5 UnconfirmedEventNotification Essais d'exécution du service. 537
9.6 Essais d'exécution du service GetAlarmSummary . 538
9.7 Essais d'exécution du service GetEnrollmentSummary . 539
9.8 Essais d'exécution du service GetEventInformation . 543
9.9 LifeSafetyOperation Service Execution Test (essai d'exécution du service) . 545
9.10 Essais d'exécution du service SubscribeCOV . 549
9.11 Essais d'exécution du service SubscribeCOVProperty . 560
9.12 Tests d'exécution du service AtomicReadFile . 571
9.13 Essais d'exécution du service AtomicWriteFile . 577
9.14 Tests d'exécution du service AddListElement . 587
9.15 Tests d'exécution du service RemoveListElement . 590
9.16 Essais d'exécution du service CreateObject . 591
9.17 Essais d'exécution du service DeleteObject . 597
9.18 Essais d'exécution du service ReadProperty. 598
9.19 Essais d'exécution du service ReadPropertyConditional . 602
9.20 Essais d'exécution du service ReadPropertyMultiple . 603
9.21 Essais d'exécution du service ReadRange . 611
9.22 Tests d'exécution du service WriteProperty . 624
9.23 Essais d'exécution du service WritePropertyMultiple . 631
9.24 Test d'exécution du service DeviceCommunicationControl . 648
9.25 ConfirmedPrivateTransfer Essais d'exécution du service . 655
9.26 Tests d'exécution du service UnconfirmedPrivateTransfer . 656
9.27 Tests d'exécution du service ReinitializeDevice . 656
9.28 Tests d'exécution du service ConfirmedTextMessage . 659
9.29 Tests d'exécution du service UnconfirmedTextMessage . 660
9.30 Essais d'exécution du service de synchronisation horaire . 661
9.31 Essais d'exécution du service UTCTimeSynchronization . 662
9.32 Tests d'exécution du service Who-Has . 663
9.33 Tests d'exécution du service Who-Is . 670
9.34 Essais d'exécution du service VT en espace ouvert . 673
9.35 Essais d'exécution du service VT-Close . 674
9.36 Essais d'exécution du service VT-Data . 675
9.37 RequestKey Service Execution Test (essai d'exécution du service) . 675
9.38 Essais d'exécution du service d'authentification . 677
9.39 Généralités Soumettre à l'essai l'exécution des services . 681
9.40 Essais d'exécution du service AuditLogQuery . 682
9.41 Essais du groupe d'écriture . 684
9.42 SubscribeCOVPropertyTests d'exécution de services multiples . 688
10. ESSAIS DE PROTOCOLES DE LA COUCHE RÉSEAU .703
10.1 Généralités Essais de la couche réseau . 703
iv
10.2 Essais de fonctionnement du routeur .704
10.3 Essais de fonctionnement des demi-routeurs .729
10.4 B/IP PAD Essais .735
10.5 Lancer des messages de la couche réseau .737
10.6 Essais de fonctionnalité du non-routeur .739
10.7 Essais de liaison d'itinéraires .7 41
10.8 Essais de fonctionnalité du routage virtuel .7 45
11. ESSAIS DE PROTOCOLES DE LA COUCHE DE LIAISON LOGIQUE . 763
11.1 Commande et réponse de l'interface utilisateur .7 64
11.2 Commande et réponse XID .7 64
11.3 Commande et réponse du TEST .7 65
12. PROTOCOLES DE LIAISON DE DONNÉES ESSAIS . 765
12.1 Tests de la machine à états MS/TP .7 65
12.2 Tests de la machine à états de PTP .824
12.3 Essais de fonctionnalité BACnet/IP .8 58
12.4 Essais de fonctionnalité BACnet/IPv6 .8 87
12.5 Essais de fonctionnalité de Secure Connect .902
13. ESSAIS DE FONCTIONNALITÉ SPÉCIAUX . 950
13.1 Segmentation .9 50
13.2 Maître du temps .9 58
13.3 Jeux de caractères .9 63
13.4 PDUs malformées .9 63
13.5 Serveur esclave à l'essai .9 64
13.6 Mappage automatique des réseaux.9 66
13.7 Mappage automatique des appareils .9 67
13.8 Essais de procédures de sauvegarde et de restauration .9 67
13.9 Tests de la machine à états de l'application .9 78
13.10 Essais de programmation des postes de travail .979
14. Consigner les résultats des essais . 996
ANNEXE A - EXEMPLES D'EPICS (INFORMATIF) . 998
HISTORIQUE DES RÉVISIONS .1010

v
AVANT-PROPOS particulier
Le présent document européen a été initialement rédigé en langue anglaise. Les acteurs français ont participé
activement aux travaux de sa rédaction et ont voté favorablement pour le projet lors de l'enquête CEN.
Les utilisateurs de ce document n’exerçant pas sur le territoire français, tous les codes décrits dans ce document
sont intégrés en anglais et doivent l'être, ceci implique que l'intégration des codes doit se faire uniquement sur la
base de la version anglaise. La version française peut être utilisée uniquement comme document support
informatif pour les utilisateurs francophones
vi
AVANT-PROPOS
L'ISO (Organisation internationale de normalisation) est une fédération mondiale d'organismes nationaux de
normalisation (organismes membres de l'ISO). Les travaux d'élaboration des normes internationales sont
normalement menés par les comités techniques de l'ISO. Chaque organisme membre intéressé par un sujet
pour lequel un comité technique a été créé a le droit d'être représenté au sein de ce comité. Des organisations
internationales, gouvernementales et non gouvernementales, en liaison avec l'ISO, participent également aux
travaux. L'ISO collabore étroitement avec la Commission électrotechnique internationale (CEI) sur toutes les
questions de normalisation électrotechnique.
Les procédures utilisées pour l'élaboration du présent document et celles destinées à sa mise à jour ultérieure
sont décrites dans les Directives ISO/CEI, Partie 1. Il est à noter, en particulier, les différents critères
d'approbation nécessaires pour les différents types de documents ISO. Le présent document a été rédigé
conformément aux règles éditoriales des Directives ISO/CEI, Partie 2 (voir www.iso.org/directives).
L'ISO attire l'attention sur la possibilité que la mise en œuvre du présent document puisse impliquer
l'utilisation d'un (de) brevet(s). L'ISO ne prend pas position concernant la preuve, la validité ou l'applicabilité
de tout droit de brevet revendiqué à cet égard. À la date de publication du présent document, l'ISO n'a pas reçu
de notification de brevet(s) pouvant être nécessaire(s) à la mise en œuvre du présent document. Toutefois,
les personnes chargées de la mise en œuvre sont averties que ce document peut ne pas représenter
l'information la plus récente, qui peut être obtenue à partir de la base de données des brevets disponible à
l'adresse www.iso.org/patents. L'ISO ne peut être tenue responsable de l'identification de tout ou partie de
ces droits de brevet.
Tout nom de marque utilisé dans le présent document est une information donnée pour la commodité des
utilisateurs et ne constitue pas une approbation.
Pour une explication de la nature volontaire des normes, de la signification des termes et expressions
spécifiques à l'ISO relatifs à l'évaluation de la conformité, ainsi que pour des informations sur l'adhésion de
l'ISO aux principes de l'Organisation mondiale du commerce (OMC) dans le domaine des Obstacles techniques
au commerce (OTC), voir www.iso.org/iso/foreword.html.
Le présent document a été préparé par le Comité technique ISO/TC 205, Conception environnementale des
bâtiments, en collaboration avec le Comité technique CEN/TC 247 du Comité européen de normalisation
(CEN), Automatisation, régulation et gestion des bâtiments, conformément à l'accord de coopération technique
entre l'ISO et le CEN (accord de Vienne) et avec l'American Society of Heating, Refrigerating and Air-
Conditioning Engineers, Inc. (ASHRAE).
Cette cinquième édition annule et remplace la quatrième édition (ISO 16484-6:2020), qui a fait l'objet
d'une révision technique. Les principales modifications sont les suivantes :
-Voir la liste détaillée des modifications aux pages 1010 à 1016.
Tout commentaire ou question sur le présent document doit être adressé à l'organisme national de
normalisation de l'utilisateur. Une liste exhaustive de ces organismes est disponible à l'adresse suivante :
www.iso.org/members.html.
vii
Norme internationale ISO 16484-6:2024(fr)

Systèmes d'automatisation et de gestion technique du
bâtiment (BACS) -
Partie 6 :
Essais de conformité des communications de données
1. OBJECTIF
Définir une norme permettant de vérifier qu'une implémentation du protocole BACnet fournit chaque capacité
revendiquée dans sa déclaration de conformité d'implémentation de protocole (PICS) en conformité avec la
norme BACnet.
2. DOMAINE D'APPLICATION
Cette norme est configurée sur un ensemble complet de procédures permettant de vérifier la mise en œuvre
correcte de chaque capacité revendiquée sur un PICS BACnet, y compris :
(a) la prise en charge de chaque service BACnet revendiqué, soit en tant que lanceur, soit en tant
qu'exécuteur, soit les deux,
(b) la prise en charge de chaque type d'objet BACnet revendiqué, y compris les propriétés obligatoires et
chaque propriété facultative revendiquée,
(c) la prise en charge du protocole de couche réseau BACnet,
(d) la prise en charge de chaque option de liaison de données revendiquée, et
(e) la prise en charge de toutes les fonctionnalités spéciales revendiquées.
3. DÉFINITIONS
Toutes les définitions de la norme ANSI/ASHRAE 135-2020 s'appliquent également au présent addendum.
3.1 Termes adoptés à partir de normes internationales
réseau local : le réseau auquel un dispositif BACnet est directement connecté.
réseau distant : un réseau qui n'est accessible à partir d'un dispositif BACnet qu'en passant par un ou plusieurs
routeurs.
base de données d'essai : une base de données de fonctionnalités et d'objets BACnet créée en lisant le contenu
d'un EPICS.
3.2 Abréviations et acronymes utilisés dans la norme
BNF Syntaxe de la forme Backus-Naur
EPICS Instruction de conformité pour la mise en œuvre du protocole électronique
IUT mise en œuvre soumise à l'essai
TCSL langage de script d'essai et de conformité
TD dispositif d'essai
TPI information sur le protocole de texte
3.3 Langue commune utilisée dans les essais
toute valeur valide" : Toute valeur valide se réfère à toute valeur du type de données correct et dans la plage
du vendeur spécifiée pour la propriété à laquelle elle s'applique.
tout mot de passe approprié" : Tout mot de passe qui répond aux exigences de configuration spécifiées dans
l'essai ou la section d'essai. Les mots de passe exigés par le fournisseur ne doivent pas comporter plus de 20
caractères.
'reset' (réinitialisation) : Certains essais nécessitent de soumettre l'IUT à une réinitialisation. La
réinitialisation comprend le cycle d'alimentation par commutateur, le cycle d'alimentation par perte
d'alimentation et la réinitialisation du dispositif WARMSTART. Comme défini par la norme BACnet,
"WARMSTART signifie redémarrer l'appareil et recommencer, en conservant toutes les données et tous les
programmes qui seraient normalement conservés pendant une brève coupure d'alimentation."
4. FORMAT DE FICHIER DES IMAGES ÉLECTRONIQUES
Un fichier EPICS (Electronic Protocol Implementation Conformance Statement) contient une instruction de
conformité de la mise en œuvre du protocole BACnet exprimée sous forme de texte normalisé. Les fichiers
EPICS sont des représentations lisibles par la machine et par l'homme de la mise en œuvre des objets et
services BACnet au sein d'un appareil donné. Les fichiers EPICS doivent utiliser l'extension ".TPI" (text
protocol information) et contenir des lignes de texte éditables normales constituées de codes de caractères
textuels se terminant par des paires retour chariot/saut de ligne (X'0D', X'0A').
Les fichiers EPICS sont utilisés par les outils d'essai de logiciels pour réaliser et interpréter les résultats des
essais définis dans la présente norme. Un fichier EPICS accompagne tout appareil soumis à un essai
conformément aux procédures de la présente norme.
4.1 Codage des caractères
BACnet prévoit une variété de codages de caractères possibles. Les codages de caractères de BACnet se
répartissent en trois groupes : les flux d'octets, les flux de doubles octets et les flux de quadruples octets. Les
flux d'octets représentent les caractères sous forme de valeurs d'un seul octet. Dans certains cas, tels que
Microsoft DBCS et JIS C 6226, certaines valeurs d'octet indiquent que le deuxième octet qui suit doit être
considéré avec l'octet de tête comme une valeur unique, ce qui étend la plage à plus de 256 caractères
possibles. En revanche, les flux à double octet considèrent les paires d'octets comme représentant des
caractères uniques. Le codage ISO 10646 UCS- 2 en est un exemple. Le premier octet de la paire est la partie la
plus significative de la valeur. Les flux à quatre octets, tels que l'ISO 10646 UCS-4, traitent les tuples de quatre
octets à la fois comme des caractères uniques, le premier octet étant le plus significatif.
Pour tenir compte des divers codages qui peuvent être utilisés avec les descriptions de dispositifs BACnet, les
fichiers EPICS commencent par un en-tête qui sert à la fois à identifier le fichier en tant que fichier EPICS et à
identifier le codage particulier utilisé. L'en-tête commence par la chaîne "PICS #" où # est remplacé par un
chiffre représentant le jeu de caractères tel qu'indiqué dans le tableau 4-1.
Tableau 4-1. Codes des jeux de caractères
code jeu de caractères
0 ANSI X3.4
1 Microsoft DBCS
2 JIS C 6226
3 ISO 10646 (UCS-4)
4 ISO 10646 (UCS-2)
5 ISO 8859-1
Un format de flux d'octets peut être reconnu en examinant les huit premiers octets du fichier EPICS. En
utilisant le codage ANSI X3.4 comme exemple, ces huit octets contiendront : X'50' X'49' X'43' X'53' X'20' X'30'
X'0D' X'0A'. Cela représente le texte "PICS 0" suivi d'un retour chariot et d'un saut de ligne.
Un format de flux à double octet peut être reconnu en examinant les 16 premiers octets du fichier EPICS. En
utilisant le codage ISO 10646 UCS-2 comme exemple, ces 16 octets contiendront :
X'00' X'50' X'00' X'49' X'00' X'43' X'00' X'53'
X'00' X'20' X'00' X'34' X'00' X'0D' X'00' X'0A'
Cela représente le texte "PICS 4" suivi d'un retour chariot et d'un saut de ligne.
Un format de flux à quatre octets peut être reconnu en examinant les 32 premiers octets du fichier EPICS. En
prenant l'ISO 10646 UCS- 4 comme exemple, ces 32 octets contiendront :
X'00' X'00' X'00' X'50' X'00' X'00' X'00' X'00' X'49'
X'00' X'00' X'00' X'43' X'00' X'00' X'00' X'53'
X'00' X'00' X'00' X'20' X'00' X'00' X'00' X'33'
X'00' X'00' X'00' X'0D' X'00' X'00' X'00' X'0A'
Cela représente le texte "PICS 3" suivi d'un retour chariot et d'un saut de ligne.
4.2 Structure des fichiers EPICS
Les fichiers EPICS se composent de lignes de texte se terminant par des paires retour chariot/saut de ligne
(X'0D', X'0A') codées en flux d'octets, de doubles octets ou de quadruples octets, comme défini au point 4.1.
Dans la suite de la présente norme, le terme "caractère" sera utilisé pour désigner un symbole codé en un,
deux ou quatre octets reposant sur le codage des caractères utilisé dans l'en-tête du fichier EPICS. Par
exemple, l'espace de caractères peut être codé en X'20' ou X'0020' ou X'00000020'. Dans la présente norme,
tous les caractères sont présentés sous la forme d'un seul octet.
Le symbole spécial ↵ est utilisé dans le présent article pour signifier la présence d'une paire retour
chariot/saut de ligne (X'0D0A'). Sauf dans les chaînes de caractères, les codes de caractères tabulation (X'09'),
espace (X'20'), retour chariot (X'0D') et saut de ligne (X'0A') sont considérés comme des espaces blancs.
Toute séquence d'un ou plusieurs caractères d'espace blanc est équivalente à un seul caractère d'espace
blanc. Sauf à l'intérieur d'une chaîne de caractères, une séquence de deux séquencements (X'2D') indique le
début d'un commentaire qui se termine par la paire retour chariot / saut de ligne suivante, c'est-à-dire la fin
de la ligne sur laquelle le -- apparaît. Les commentaires sont considérés comme des espaces blancs et peuvent
donc être insérés librement.
Les fichiers EPICS comportent, sur la première ligne suivant l'en-tête, le texte littéral :
Déclaration de conformité de la mise en œuvre du protocole BACnet ↵
Ce texte sert de signature pour identifier le format de fichier EPICS.
Les lignes qui définissent les sections de l'EPICS (voir 4.5) et les données de mise en œuvre particulières pour un
appareil donné suivent la ligne de signature.
Le fichier EPICS se termine par une ligne contenant le texte littéral suivant :
Fin de l'instruction de conformité de la mise en œuvre du protocole BACnet ↵
4.3 Chaînes de caractères
L'apparition d'un guillemet double (X'22'), d'un guillemet simple (X'27') ou d'un accent grave (X'60') indique
qu'il s'agit d'une chaîne de caractères. Pour les guillemets doubles, la fin de la chaîne est indiquée par la
prochaine occurrence d'un guillemet double ou par la fin de la ligne. Pour les guillemets simples ou les
accents, la fin de la chaîne est indiquée par l'occurrence suivante d'un guillemet simple (X'27') ou par la fin de
la ligne. Ainsi, les chaînes qui doivent inclure un guillemet simple ou un accent grave comme caractère littéral
dans la chaîne doivent utiliser la méthode de citation par guillemets doubles, tandis que les chaînes qui
doivent inclure des guillemets doubles doivent utiliser la méthode de citation par guillemets simples ou
accent grave.
4.4 Règles de notation pour les valeurs des paramètres
Dans chaque section, les paramètres peuvent être exprimés sous plusieurs formes. Les règles suivantes
régissent le format des paramètres :
(a) Les mots clés sont insensibles à la casse, de manière à ce que X'41' à X'5A' soient équivalents à X'61' à
X'7A' ;
(b) Les valeurs nulles sont indiquées par la chaîne "NULL" ;
(c) Les valeurs booléennes sont représentées par les chaînes de caractères "T" ou "TRUE" si la valeur est
vraie, ou "F" ou "FALSE" si la valeur est fausse ;
(d) Les valeurs entières sont représentées par des chaînes de chiffres, éventuellement précédées d'un
moins (-) : 12345 ou -111 ;
(e) les valeurs réelles sont indiquées avec un point décimal, qui peut ne pas être le premier ou le dernier
caractère : 1.23, 0.02, 1.0 mais pas
.02 ;
(f) Les chaînes d'octets sont présentées sous forme de paires de chiffres hexadécimaux entre guillemets
simples (X'2D') ou entre guillemets accentués (X'60'), et précédées de la lettre "X" : X'001122' ;
(g) les chaînes de caractères sont représentées par un ou plusieurs caractères placés entre des
guillemets doubles, simples ou accentués, tels que définis au point 4.3 : "text" ou "text" ou "text" ;
(h) Les chaînes de bits sont présentées sous la forme d'une liste, répertoriée entre accolades ({ } ou X'7B' et
X'7D'), de valeurs vraies et fausses :
{T,T,F} ou {VRAI, VRAI, FAUX}. Lorsque la valeur réelle d'un bit n'a pas d'importance, on utilise un point
d'interrogation :
{T,T, ?} ;
(i) Les valeurs énumérées sont représentées par des noms plutôt que par des valeurs numériques. Les
noms d'énumération sont insensibles à la casse, de manière à ce que les valeurs X'41' à X'5A' soient
équivalentes aux valeurs X'61' à X'7A'. Le trait de soulignement (X'5F') et le tiret (X'2D') sont
considérés comme équivalents dans les noms d'énumération. Les valeurs propriétaires sont
présentées sous la forme d'un texte nommé sans espace blanc et se terminant par un nombre décimal
non négatif. Chaque valeur doit commencer par le mot "propriétaire" : Object_Type, proprietary-
object-type-653 ;
(j) les dates sont représentées entre parenthèses : (lundi 24 janvier 1998). Tout "joker" ou champ non
spécifié est représenté par un astérisque (X'2A') : (lundi, *-janvier-1998). L'omission du jour de la
semaine implique que le jour n'est pas spécifié : (24-janvier-1998) ;
(k) les heures sont représentées en heures, minutes, secondes, centièmes au format hh:mm:ss.xx :
2:05:44.00, 16:54:59.99. Tout champ "joker" est indiqué par un astérisque (X'2A') : 16:54:*.* ;
(l) Les identificateurs d'objets sont indiqués entre parenthèses, une virgule séparant le type d'objet et le
numéro d'instance : (analog-input, 56). Les types d'objets propriétaires remplacent l'énumération du
type d'objet par le mot "propriétaire" suivi de la valeur numérique du type d'objet : (propriétaire
700,1) ;
(m) Les éléments de données construites sont représentés entre accolades ({ } ou X'7B' et X'7D'), les
éléments étant séparés par des virgules. Si un élément est lui-même une valeur construite, il doit être
placé entre accolades.
4.4.1 Valeurs des paramètres complexes
Certaines valeurs de paramètres, notamment les valeurs de propriétés pour les valeurs encodées de type
construit ou CHOICE, doivent utiliser une notation plus complexe pour représenter leurs valeurs. Cette
notation est liée au codage ASN.1 de ces valeurs de propriété et peut sembler obscure hors contexte. Ces
règles supplémentaires régissent la présentation de ces types de valeurs de paramètres :
(a) les valeurs qui sont un CHOIX de valeurs codées par l'application sont représentées par la valeur de
l'élément choisi, codée comme décrit au point 4.4 ;
(b) les valeurs qui sont un CHOIX de valeurs étiquetées en fonction du contexte sont représentées par le
numéro de la balise de contexte entre crochets, suivi de la représentation de la valeur de l'élément
choisi ;
(c) Les valeurs de liste (ASN.1 "SEQUENCE OF") sont représentées entre parenthèses, les éléments de la
liste étant séparés par des virgules. Si un élément est lui-même une valeur construite, cet élément est
placé entre accolades ;
(d) Les valeurs des matrices sont représentées entre accolades, les éléments de la matrice étant séparés
par des virgules. Si un élément est lui-même une valeur construite, cet élément doit être placé entre
accolades.
4.4.2 Spécifier des limites aux valeurs des paramètres
Certaines propriétés peuvent avoir des restrictions sur la plage ou la résolution de leurs valeurs. Afin
d'interpréter correctement les résultats des essais dans lesquels la valeur d'une propriété est modifiée à
l'aide de WriteProperty, WritePropertyMultiple ou AddListElement, puis relue
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...