一个客户端的BACnet用户使用基本读文件服务对某个文件进行一个“打开--读出--关闭”的操作。访问的文件可以是字节流,也可以是编号记录。以下是基本读文件的服务原语:
这是在基本读文件中定义的数据结构:
typedef struct BACnet_Atomic_Read_File_Data {
BACNET_OBJECT_TYPE object_type;
uint32_t object_instance;
BACNET_FILE_ACCESS_METHOD access;
union {
struct {
int32_t fileStartPosition;
uint32_t requestedOctetCount;
} stream;
struct {
int32_t fileStartRecord;
/* requested or returned record count */
uint32_t RecordCount;
} record;
} type;
BACNET_OCTET_STRING fileData;
bool endOfFile;
} BACNET_ATOMIC_READ_FILE_DATA;
在这个数据结构的定义中,包括了对象类型,对象实例,访问方法(access),一个联合体type,在联合体中包括了以下两个结构:stream 和 record。在VTS中,这两个结构代表了两种access: