Publisher’s version / Version de l'éditeur:
Vous avez des questions? Nous pouvons vous aider. Pour communiquer directement avec un auteur, consultez la
première page de la revue dans laquelle son article a été publié afin de trouver ses coordonnées. Si vous n’arrivez pas à les repérer, communiquez avec nous à PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca.
Questions? Contact the NRC Publications Archive team at
PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca. If you wish to email the authors directly, please see the first page of the publication for their contact information.
https://publications-cnrc.canada.ca/fra/droits
L’accès à ce site Web et l’utilisation de son contenu sont assujettis aux conditions présentées dans le site LISEZ CES CONDITIONS ATTENTIVEMENT AVANT D’UTILISER CE SITE WEB.
Laboratory Memorandum; no. LM-2012-01, 2012-03-01
READ THESE TERMS AND CONDITIONS CAREFULLY BEFORE USING THIS WEBSITE. https://nrc-publications.canada.ca/eng/copyright
NRC Publications Archive Record / Notice des Archives des publications du CNRC :
https://nrc-publications.canada.ca/eng/view/object/?id=672502f6-a939-4748-9fde-6b24f0ba3c24
https://publications-cnrc.canada.ca/fra/voir/objet/?id=672502f6-a939-4748-9fde-6b24f0ba3c24
NRC Publications Archive
Archives des publications du CNRC
For the publisher’s version, please access the DOI link below./ Pour consulter la version de l’éditeur, utilisez le lien DOI ci-dessous.
https://doi.org/10.4224/21263089
Access and use of this website and the material on it are subject to the Terms and Conditions set forth at
GDAC DAQ file format Version 2
DOCUMENTATION PAGE
REPORT NUMBER NRC REPORT NUMBER DATE
LM-2012-01 March, 2012
REPORT SECURITY CLASSIFICATION DISTRIBUTION
UNCLASSIFIED UNLIMITED
TITLE
GDAC DAQ File Format Version 2
AUTHOR(S) Jason Mills
CORPORATE AUTHOR(S)/PERFORMING AGENCY(S) Institute for Ocean Technology (IOT)
PUBLICATION
N/A
SPONSORING AGENCY(S)
IOT PROJECT NUMBER NRC FILE NUMBER
KEYWORDS PAGES FIGS. TABLES
DAQ, DAQ file, GDAC, data acquisition, specification, file format ii, 8 0 0
SUMMARY
Version 2 of the GDAC DAQ file format is described.
ADDRESS National Research Council
Institute for Ocean Technology Arctic Avenue, P.O.Box 12093 St. John’s, NL A1B 3T5
National Research Council Canada Institute for Ocean Technology Conseil national de recherches Canada Institut des technologies océaniques UNCLASSIFIED
GDAC DAQ File Format Version 2
LM-2012-01
Jason Mills
Contents
1 Introduction . . . . 1
2 High Level Structure . . . . 1
3 DAQX File Structure . . . . 2
3.1 DAQX Formal Definition . . . 2
4 CDAT File . . . . 7
5 TDAT File . . . . 7
6 Version History . . . . 7
LM-2012-01 2 High Level Structure
1
Introduction
This document describes version 2 of the NRC-IOT GDAC DAQ file format. A DAQ file is (normally) produced from IOT’s GDAC for Windows (GDAC) data acquisition software and contains the results of a data acquisition test. Information includes project properties, test configuration properties, test properties, channel data, time data, channel calibration, channel properties, and metadata.
2
High Level Structure
A DAQ file (file extension✳❞❛q) is a compressed archive following the ZIP file format as defined by the PKZIP Application Note [1]. For DAQ files greater than 2 GB in size, the ZIP64 extensions are used. Being a ZIP file, a DAQ file can be decompressed to extract its contents using third party software such as 7-Zip [2] or Info-ZIP’s✉♥③✐♣ [3]. For some software, such as WinZIP or Windows Explorer, it might be necessary to change the file extension from✳❞❛q to ✳③✐♣.
Inside the archive there are three types of files: DAQX, CDAT, and TDAT. 1. There is exactly one DAQX file, always named♠❛✐♥✳❞❛q①.
2. CDAT files contain raw channel data. There will be one CDAT file for each channel in the data acquisition test. File names have the form:
hserver i_hporti_hchannelnumber i✳❝❞❛t
wherehserver i is the device server IP or host name, hporti is the device server port number, andhchannelnumber i is the channel number. This identifies the source of data in the file and the DAQX file uses it as a unique ID when referring to channel data. An example file name is ❉❆❙P❈✹✷❴✺✵✵✵✶❴✶✳❝❞❛t.
3. TDAT files contain raw time-stamp data. File names have the form: hserver i_hporti_hratei✳❝❞❛t
wherehserver i is the device server IP or host name, hporti is the device server port number, andhratei is the sampling rate for time data and at least one channel in the DAQX file. This name identifies the source of time data in the TDAT file and the DAQX XML file uses it as a unique ID when referring to time data. An example file name is❉❆❙P❈✹✷❴✺✵✵✵✶❴✺✵✳t❞❛t. There is one TDAT file for each unique rate on each device server contained in the data acquisition test. A server is included in the DAQ file if at least one channel from that server has been included in the data acquisition test.
Every channel has corresponding time data contained in a TDAT file. The TDAT file corre-sponding to a channel is identified using the server, port, and sampling rate of the channel. All channels of the same rate on the same server link to one and the same time data file. Example contents of a DAQ file with five channels with two rates spread across two servers is:
main.daqx
DASPC42_50001_1.cdat DASPC42_50001_3.cdat DASPC42_50001_4.cdat
LM-2012-01 3 DAQX File Structure DASPC42_50001_5.cdat DASPC42_50003_4.cdat DASPC42_50001_50.tdat DASPC42_50001_100.tdat DASPC42_50003_50.tdat
3
DAQX File Structure
A DAQX file is a XML formatted file that contains all data other than raw binary channel and time data, including test configuration properties, test properties, time synchronization information, chan-nel properties, calibrations, and chanchan-nel metadata. Chanchan-nel and time data are located in CDAT and TDAT files.
This file is a plain text file, so it can be opened in any text editor. Alternatively, changing the file extension from✳❞❛q① to ✳①♠❧ should make the file readable in most XML viewers, including web browsers.
3.1
DAQX Formal Definition
The DAQX file is described using the International Standard (ISO/IEC 19757-2) RELAX NG schema language [4, 5, 6, 7], the compact form [8, 9]. Comments have been inserted to help explain some of the structure and content when it’s not obvious from the RELAX NG syntax. Please note that the specification below is not strict enough for complete automated validation.
★ ❉❛t❛ t②♣❡s✿ ★ ①s❞ ❂ ✧❤tt♣✿✴✴✇✇✇✳✇✸✳♦r❣✴✷✵✵✶✴❳▼▲❙❝❤❡♠❛✲❞❛t❛t②♣❡s✧ ✭❛❧r❡❛❞② ❞❡❢✐♥❡❞ ❜② ❘❊▲❆❳ ◆●✮ st❛rt ❂ ❡❧❡♠❡♥t ❞❛q ④ ★ ❉❆◗ ❢✐❧❡ ✭✳❞❛q✮ ❢♦r♠❛t ✈❡rs✐♦♥ ♥✉♠❜❡r✳ ❛ttr✐❜✉t❡ ❢✐❧❡❴✈❡rs✐♦♥ ④ ①s❞✿✐♥t ⑥✱ ❡❧❡♠❡♥t ♣r♦❥❡❝t ④ ❡❧❡♠❡♥t t✐t❧❡ ④ t❡①t ⑥✱ ❡❧❡♠❡♥t ❝♦♥t❛❝t ④ t❡①t ⑥✱ ❡❧❡♠❡♥t ❢❛❝✐❧✐t② ④ t❡①t ⑥✱ ❡❧❡♠❡♥t ❝❧✐❡♥t ④ t❡①t ⑥✱ ❡❧❡♠❡♥t ❢✐❧❡ ④ ★ ●❉❆❈ ♣r♦❥❡❝t ✭✳❣❞❛❝✮ ❢✐❧❡ ✉s❡❞ ❞✉r✐♥❣ t❤❡ ❞❛t❛ ❛❝q✉✐s✐t✐♦♥ t❡st t❤❛t ❝r❡❛t❡❞ t❤✐s ❢✐❧❡✳ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥ ⑥ ⑥✱ ❡❧❡♠❡♥t t❡st❴♣r♦♣❡rt✐❡s ④ ❡❧❡♠❡♥t ❞❡s❝r✐♣t✐♦♥ ④ t❡①t ⑥✱ ❡❧❡♠❡♥t st❛rt❴t✐♠❡ ④ ❛ttr✐❜✉t❡ ✐s♦ ④ ■❙❖❉❛t❡❚✐♠❡▼ ⑥ ⑥✱ ★ ❆❝t✉❛❧ ❞✉r❛t✐♦♥ ♦❢ t❤❡ t❡st ✐♥ s❡❝♦♥❞s✱ ❡✳❣✳ ✸✵✳✷✳ ❡❧❡♠❡♥t ❞✉r❛t✐♦♥ ④ ❛ttr✐❜✉t❡ ✈❛❧✉❡ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ⑥✱ ❡❧❡♠❡♥t t❡st❴❝♦♥❢✐❣✉r❛t✐♦♥ ④ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥✱ ★ ❈♦♥❢✐❣✉r❡❞ ❞✉r❛t✐♦♥ ♦❢ t❡st ✐♥ ✇❤♦❧❡ s❡❝♦♥❞s✳ ❡❧❡♠❡♥t ❞✉r❛t✐♦♥ ④ ❛ttr✐❜✉t❡ ✈❛❧✉❡ ④ ①s❞✿✐♥t ⑥ ⑥✱ ★ ❈♦♥❢✐❣✉r❡❞ t❡st st❛rt ❞❡❧❛② ✐♥ ✇❤♦❧❡ s❡❝♦♥❞s✳ ❈❛♥ ❜❡ ♥❡❣❛t✐✈❡✳ ❡❧❡♠❡♥t ❞❡❧❛② ④ ❛ttr✐❜✉t❡ ✈❛❧✉❡ ④ ①s❞✿✐♥t ⑥ ⑥✱
LM-2012-01 3 DAQX File Structure ❡❧❡♠❡♥t ❝❤❛♥♥❡❧❴tr✐❣❣❡r ④ ❛ttr✐❜✉t❡ ❡♥❛❜❧❡❞ ④ ❇♦♦❧❡❛♥ ⑥✱ ❛ttr✐❜✉t❡ ♠♦❞❡ ④ ✧❯♣❴❈r♦ss✐♥❣✧ ⑤ ✧❉♦✇♥❴❈r♦ss✐♥❣✧ ⑥✱ ❛ttr✐❜✉t❡ ❝❤❛♥♥❡❧ ④ ❈❤❛♥♥❡❧❆❞❞r❡ss ⑤ ✧✧⑥✱ ❛ttr✐❜✉t❡ ❧❡✈❡❧ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ⑥✱ ❡❧❡♠❡♥t r❡♠♦t❡❴tr✐❣❣❡r ④ ❛ttr✐❜✉t❡ ❡♥❛❜❧❡❞ ④ ❇♦♦❧❡❛♥ ⑥✱ ★ ❍♦st ♥❛♠❡ ♦r ■P ❛❞❞r❡ss✱ ❡✳❣✳ ✧✶✷✼✳✵✳✵✳✶✧✱ ♦r ✧❧♦❝❛❧❤♦st✧✱ ♦r ✧❞❛s♣❝✵✵✸✳✐♦t✳♥r❝✳❝❛✧✳ ❛ttr✐❜✉t❡ ❤♦st ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ ♣♦rt ④ ①s❞✿✐♥t ⑥ ⑥✱ ❡❧❡♠❡♥t r❡♠♦t❡❴♥♦t✐❢② ④ ❛ttr✐❜✉t❡ ❡♥❛❜❧❡❞ ④ ❇♦♦❧❡❛♥ ⑥✱ ★ ❍♦st ♥❛♠❡ ♦r ■P ❛❞❞r❡ss✱ ❡✳❣✳ ✧✶✷✼✳✵✳✵✳✶✧✱ ♦r ✧❧♦❝❛❧❤♦st✧✱ ♦r ✧❞❛s♣❝✵✵✸✳✐♦t✳♥r❝✳❝❛✧✳ ❛ttr✐❜✉t❡ ❤♦st ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ ♣♦rt ④①s❞✿✐♥t ⑥ ⑥✱ ❡❧❡♠❡♥t ✉s❡r❴♣❛r❛♠❡t❡rs ④ ❡❧❡♠❡♥t ♣❛r❛♠ ④ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥✱ ★ ■❢ t②♣❡ ✐s ✧❜♦♦❧✧✱ ✈❛❧✉❡ ✇✐❧❧ ❜❡ ✧❚r✉❡✧ ♦r ✧❋❛❧s❡✧✳ ❛ttr✐❜✉t❡ t②♣❡ ④ Pr♦♣❡rt②❚②♣❡ ⑥✱ ★ ❚❤❡ ♣❛r❛♠❡t❡r ✈❛❧✉❡❀ s❤♦✉❧❞ ❜❡ ❝♦♥✈❡rt✐❜❧❡ t♦ ❛ t②♣❡ s♣❡❝✐❢✐❡❞ ❜② ❛ttr✐❜✉t❡ ❵t②♣❡❵✳ t❡①t ⑥✯ ⑥✱ ★ ❈❤❛♥♥❡❧s ✐♥❝❧✉❞❡❞ ✐♥ t❤❡ t❡st ❝♦♥❢✐❣✉r❛t✐♦♥ ❛♥❞ t❤❡✐r ❝♦♥❢✐❣✉r❡❞ r❛t❡s✳ ★ ❈❤❛♥♥❡❧s ❛r❡ s♦rt❡❞ ❜② s❡r✈❡r ❤♦st✴■P✱ s❡r✈❡r ♣♦rt✱ ❛♥❞ t❤❡♥ ❝❤❛♥♥❡❧ ♥✉♠❜❡r✳ ★ ❙❡❡ ❛❧s♦ ❡❧❡♠❡♥t ✧❝❤❛♥♥❡❧s✧ ❞❡❢✐♥❡❞ ❜❡❧♦✇✳ ❡❧❡♠❡♥t ❝❤❛♥♥❡❧s ④ ❡❧❡♠❡♥t ❝❤❛♥♥❡❧ ④ ❛ttr✐❜✉t❡ r❛t❡ ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ❛❞❞r❡ss ④ ❈❤❛♥♥❡❧❆❞❞r❡ss ⑥ ⑥✯ ⑥ ⑥ ⑥✱ ★ ❈❤❛♥♥❡❧s ❛r❡ s♦rt❡❞ ❜② s❡r✈❡r ❤♦st✴■P✱ s❡r✈❡r ♣♦rt✱ ❛♥❞ t❤❡♥ ❝❤❛♥♥❡❧ ♥✉♠❜❡r✳ ❡❧❡♠❡♥t ❝❤❛♥♥❡❧s ④ ❡❧❡♠❡♥t ❝❤❛♥♥❡❧ ④ ❛ttr✐❜✉t❡ ✐♥❞❡① ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥✱ ❡❧❡♠❡♥t s❡r✈❡r❴❛❞❞r❡ss ④ ❛ttr✐❜✉t❡ ❤♦st ④ t❡①t⑥✱ ❛ttr✐❜✉t❡ ♣♦rt ④ ①s❞✿✐♥t ⑥ ⑥✱ ❡❧❡♠❡♥t q✉❛♥t✐t② ④ ❛ttr✐❜✉t❡ ✉♥✐ts ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥ ⑥✱ 3
LM-2012-01 3 DAQX File Structure ❡❧❡♠❡♥t r❛✇❴r❛♥❣❡ ④ ❛ttr✐❜✉t❡ ♠❛① ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ♠✐♥ ④①s❞✿❞♦✉❜❧❡ ⑥ ⑥✱ ❡❧❡♠❡♥t r❛✇❴q✉❛♥t✐t② ④ ❛ttr✐❜✉t❡ ✉♥✐ts ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥ ⑥✱ ❡❧❡♠❡♥t ✉♥❝❛❧✐❜r❛t❡❞❴r❛♥❣❡ ④ ❛ttr✐❜✉t❡ ♠❛① ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ♠✐♥ ④①s❞✿❞♦✉❜❧❡ ⑥ ⑥✱ ❡❧❡♠❡♥t ✉♥❝❛❧✐❜r❛t❡❞❴q✉❛♥t✐t② ④ ❛ttr✐❜✉t❡ ✉♥✐ts ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥ ⑥✱ ❡❧❡♠❡♥t ❞❛t❛❴t②♣❡ ④ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ ❉❛t❛❚②♣❡ ⑥ ⑥✱ ❡❧❡♠❡♥t s❛♠♣❧❡❴r❛t❡ ④ ❛ttr✐❜✉t❡ ✈❛❧✉❡ ④ ①s❞✿✐♥t ⑥ ⑥✱ ❡❧❡♠❡♥t s❛t✉r❛t✐♦♥ ④ ❛ttr✐❜✉t❡ ❝♦✉♥t ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ♣❡r❝❡♥t ④ ①s❞✿❞♦✉❜❧❡ ⑥ ⑥✱ ❡❧❡♠❡♥t r❛✇❴t♦❴✉♥❝❛❧✐❜r❛t❡❞❴❝♦❡❢❢✐❝✐❡♥ts ④ ❈♦❡❢❢✐❝✐❡♥ts ⑥✱ ❡❧❡♠❡♥t ♣r♦♣❡rt✐❡s ④ ❡❧❡♠❡♥t ♣r♦♣❡rt② ④ ❛ttr✐❜✉t❡ ♥❛♠❡ ④ t❡①t ⑥✱ ★ ■❢ t②♣❡ ✐s ✧❜♦♦❧✧✱ t❤❡ ✈❛❧✉❡ ✇✐❧❧ ❜❡ ✧❚r✉❡✧ ♦r ✧❋❛❧s❡✧✳ ❛ttr✐❜✉t❡ t②♣❡ ④ Pr♦♣❡rt②❚②♣❡ ⑥✱ ★ ❚❤❡ ♣❛r❛♠❡t❡r ✈❛❧✉❡❀ s❤♦✉❧❞ ❜❡ ❝♦♥✈❡rt✐❜❧❡ t♦ ❛ t②♣❡ s♣❡❝✐❢✐❡❞ ❜② ❛ttr✐❜✉t❡ ❵t②♣❡❵✳ t❡①t ⑥✯ ⑥✱ ❡❧❡♠❡♥t ❝❛❧✐❜r❛t✐♦♥ ④ ★ ❈❛❧✐❜r❛t✐♦♥ t✐♠❡✳ ❡❧❡♠❡♥t t✐♠❡ ④ ★ ❲✐❧❧ ❜❡ ❡♠♣t② str✐♥❣ ✭❧❡♥❣t❤ ✵✮ ✐❢ t❤❡ ❝❛❧✐❜r❛t✐♦♥ ✐s ♥♦t ❞♦♥❡✳ ★ ❖t❤❡r✇✐s❡✱ t❤✐s ✐s ❛♥ ■❙❖ ❞❛t❡✲t✐♠❡ str✐♥❣✳ ❛ttr✐❜✉t❡ ✐s♦ ④ ■❙❖❉❛t❡❚✐♠❡ ⑤ ✧✧⑥ ⑥✱ ❡❧❡♠❡♥t ♣♦✐♥ts ④ ❡❧❡♠❡♥t ♣♦✐♥t ④ P♦✐♥t ⑥✯ ⑥✱ ★ ■❢ ✉♥❝❛❧✐❜r❛t❡❞✱ ❝♦❡❢❢✐❝✐❡♥ts ✇✐❧❧ ❜❡ ❝✵❂✧✵✳✵✧✱ ❝✶❂✧✶✳✵✧✱ ❢♦r♠✐♥❣ t❤❡ ★ ✧❞♦ ♥♦t❤✐♥❣✧ ❡q✉❛t✐♦♥ ②✭①✮ ❂ ①✳ ❡❧❡♠❡♥t ❝♦❡❢❢✐❝✐❡♥ts ④ ❈♦❡❢❢✐❝✐❡♥ts ⑥✱ ❡❧❡♠❡♥t r❡③❡r♦ ④
LM-2012-01 3 DAQX File Structure ❛ttr✐❜✉t❡ ♣❡r❢♦r♠❡❞ ④ ❇♦♦❧❡❛♥ ⑥✱ ❛ttr✐❜✉t❡ ♦❢❢s❡t ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ★ ❖♣t✐♦♥❛❧ ✭ ❡❧❡♠❡♥t t✐♠❡ ④ ❛ttr✐❜✉t❡ ✐s♦ ④ ■❙❖❉❛t❡❚✐♠❡ ⑥ ⑥✱ ❡❧❡♠❡♥t ♣♦✐♥t ④ P♦✐♥t ⑥ ✮❄ ⑥ ⑥✱ ❡❧❡♠❡♥t ❞❛t❛ ④ ★ ◆❛♠❡ ♦❢ t❤❡ ❛ss♦❝✐❛t❡❞ ❈❉❆❚ ❢✐❧❡ ❝♦♥t❛✐♥✐♥❣ t❤❡ ❝❤❛♥♥❡❧ ❞❛t❛✳ ❛ttr✐❜✉t❡ ❢✐❧❡❴♥❛♠❡ ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ s❛♠♣❧❡❴❝♦✉♥t ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ❞❛t❛❴t②♣❡ ④ ❉❛t❛❚②♣❡ ⑥ ⑥ ⑥✯ ⑥✱ ❡❧❡♠❡♥t t✐♠❡❴❞❛t❛ ④ ★ ❚❤❡r❡ ✐s ♦♥❡ ❣r♦✉♣ ❡❧❡♠❡♥t ❢♦r ❡✈❡r② s❡r✈❡r✲r❛t❡ ❝♦♠❜✐♥❛t✐♦♥✳ ❡❧❡♠❡♥t ❣r♦✉♣ ④ ❛ttr✐❜✉t❡ r❛t❡ ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ s❡r✈❡r ④ ❙❡r✈❡r❆❞❞r❡ss ⑥✱ ★ ❚✐♠❡ ❞✐❢❢❡r❡♥❝❡ st❛t✐st✐❝s✳ ❚❤❡s❡ ❛r❡ ❝❛❧❝✉❧❛t❡❞ ❢r♦♠ t✐♠❡ r❡❢❡r❡♥❝❡ ✐♥ t❤❡ s✉❜s❡q✉❡♥t ★ ❞❛t❛ ❡❧❡♠❡♥t✳ ❡❧❡♠❡♥t ❞t❴st❛ts ④ ★ ❚❤❡ ♥✉♠❜❡r ♦❢ t✐♠❡ ❞✐❢❢❡r❡♥❝❡s✳ ❛ttr✐❜✉t❡ s✐③❡ ④ ①s❞✿✐♥t ⑥✱ ★ ♠✐♥✱ ♠❛①✱ ♠❡❛♥✱ s❞ ❛r❡ ❜❛s✐❝ t✐♠❡ ❞✐❢❢❡r❡♥❝❡ st❛ts❀ ✉♥✐ts ❛r❡ ♠✐❝r♦s❡❝♦♥❞s✳ ❛ttr✐❜✉t❡ ♠✐♥ ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ♠❛① ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ♠❡❛♥ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ s❞ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ⑥✱ ❡❧❡♠❡♥t ❞❛t❛ ④ ★ ◆❛♠❡ ♦❢ t❤❡ ❛ss♦❝✐❛t❡❞ ❚❉❆❚ ❢✐❧❡ ❝♦♥t❛✐♥✐♥❣ t❤❡ t✐♠❡ ❞❛t❛✳ ❛ttr✐❜✉t❡ ❢✐❧❡❴♥❛♠❡ ④ t❡①t ⑥✱ ❛ttr✐❜✉t❡ s❛♠♣❧❡❴❝♦✉♥t ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ❞❛t❛❴t②♣❡ ④ ❉❛t❛❚②♣❡ ⑥ ⑥ ⑥✯✱ ★ ❚❤❡r❡ ✐s ♦♥❡ s❡r✈❡r❴s②♥❝ ❡❧❡♠❡♥t ❢♦r ❡❛❝❤ s❡r✈❡r ✐♥❝❧✉❞❡❞ ✐♥ t❤❡ t❡st ❝♦♥❢✐❣✉r❛t✐♦♥✳ ★ ❆ s❡r✈❡r ✐s ✐♥❝❧✉❞❡❞ ✐♥ t❤❡ t❡st ❝♦♥❢✐❣✉r❛t✐♦♥ ✐❢ ❛t ❧❡❛st ♦♥❡ ❝❤❛♥♥❡❧ ❢r♦♠ t❤❛t s❡r✈❡r ★ ✐s ✐♥❝❧✉❞❡❞ ✐♥ t❤❡ ❝♦♥❢✐❣✉r❛t✐♦♥✳ ❡❧❡♠❡♥t s❡r✈❡r❴s②♥❝ ④ ❛ttr✐❜✉t❡ st❛rt❴❞✐❢❢ ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ s❡r✈❡r ④ ❙❡r✈❡r❆❞❞r❡ss ⑥✱ ❛ttr✐❜✉t❡ tr✐❣❣❡r❴s②♥❝ ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ❡♥❞❴s②♥❝ ④ ①s❞✿✐♥t ⑥ ⑥✯ ⑥ ⑥ ❇♦♦❧❡❛♥ ❂ ✧❚r✉❡✧ ⑤ ✧❋❛❧s❡✧ ❉❛t❛❚②♣❡ ❂ ✧✐♥t✶✻✧ ⑤ ✧✉✐♥t✶✻✧ ⑤ ✧✐♥t✸✷✧ ⑤ ✧✉✐♥t✸✷✧ ⑤ ✧✐♥t✻✹✧ ⑤ ✧✉✐♥t✻✹✧ ⑤ ✧❢❧♦❛t✸✷✧ ⑤ ✧❢❧♦❛t✻✹✧ Pr♦♣❡rt②❚②♣❡ ❂ ✧❜♦♦❧✧ ⑤ ✧❢❧♦❛t✧ ⑤ ✧str✧ ⑤ ✧✐♥t✧ ★ ❙❡r✈❡r ❛❞❞r❡ss ❤❛s t❤❡ ❢♦r♠ ❁❤♦st❴♦r❴■P❃✿❁♣♦rt❃✱ ✇❤❡r❡ ❁❤♦st❴♦r❴■P❃ ✐s t❤❡ s❡r✈❡r ❤♦st ♥❛♠❡ ♦r ■P ★ ❛♥❞ ❁♣♦rt❃ ✐s t❤❡ s❡r✈❡r ♣♦rt✳ ❊①❛♠♣❧❡✿ ✧♣❝✵✵✸✵✻✼✿✺✵✵✵✶✧ ◆♦t❡✿ t❤❡ ♣❛tt❡r♥ ❜❡❧♦✇ ❛♣♣r♦①✐♠❛t❡s ❛♥ 5
LM-2012-01 3 DAQX File Structure ★ ❛❞❞r❡ss✱ ❜✉t ✐s ♥♦t str✐❝t ❡♥♦✉❣❤ ❢♦r ❝♦♠♣❧❡t❡ ✈❛❧✐❞❛t✐♦♥ ♦❢ ❤♦st✴■P ❛♥❞ ♣♦rt ♥✉♠❜❡rs✳ ❙❡r✈❡r❆❞❞r❡ss ❂ ①s❞✿str✐♥❣ ④ ♣❛tt❡r♥❂✧❬❆✲❩❛✲③✵✲✾✳❴❪✰✿❬✵✲✾❪④✶✱✺⑥✧ ⑥ ★ ❈❤❛♥♥❡❧ ❛❞❞r❡ss ❤❛s t❤❡ ❢♦r♠ ❁❤♦st❴♦r❴■P❃✿❁♣♦rt❃✿❁♥✉♠❜❡r❃✱ ✇❤❡r❡ ❁❤♦st❴♦r❴■P❃ ✐s t❤❡ s❡r✈❡r ❤♦st ♥❛♠❡ ★ ♦r ■P✱ ❁♣♦rt❃ ✐s t❤❡ s❡r✈❡r ♣♦rt✱ ❛♥❞ ❁♥✉♠❜❡r❃ ✐s t❤❡ ❝❤❛♥♥❡❧ ♥✉♠❜❡r✳ ❊①❛♠♣❧❡✿ ✧♣❝✵✵✸✵✻✼✿✺✵✵✵✶✿✶✧ ◆♦t❡✿ ★ t❤❡ ♣❛tt❡r♥ ❜❡❧♦✇ ❛♣♣r♦①✐♠❛t❡s ❛♥ ❛❞❞r❡ss✱ ❜✉t ✐s ♥♦t str✐❝t ❡♥♦✉❣❤ ❢♦r ❝♦♠♣❧❡t❡ ✈❛❧✐❞❛t✐♦♥ ♦❢ ❤♦st✴■P ★ ❛♥❞ ♣♦rt ♥✉♠❜❡rs✳ ❈❤❛♥♥❡❧❆❞❞r❡ss ❂ ①s❞✿str✐♥❣ ④ ♣❛tt❡r♥ ❂ ✧❬❆✲❩❛✲③✵✲✾✳❴❪✰✿❬✵✲✾❪④✶✱✺⑥✿❬✵✲✾❪✰✧ ⑥ ★ ❆♥ ■❙❖ ❞❛t❡✲t✐♠❡ ♦❢ t❤❡ ❢♦r♠ ❵❨❨❨❨✲▼▼✲❉❉ ❍❍✿▼▼✿❙❙❵✳ ■❙❖❉❛t❡❚✐♠❡ ❂ ①s❞✿str✐♥❣ ④ ♣❛tt❡r♥ ❂ ✧❭❞❭❞❭❞❭❞✲❭❞❭❞✲❭❞❭❞ ❭❞❭❞✿❭❞❭❞✿❭❞❭❞✧ ⑥ ★ ❆♥ ■❙❖ ❞❛t❡✲t✐♠❡ ♦❢ t❤❡ ❢♦r♠ ❵❨❨❨❨✲▼▼✲❉❉ ❍❍✿▼▼✿❙❙✳♠♠♠♠♠♠❵✳ ★ ■❢ ♠✐❝r♦s❡❝♦♥❞s ✐s ✵✱ ❵❨❨❨❨✲▼▼✲❉❉ ❍❍✿▼▼✿❙❙❵ ✐s ❛❧s♦ ❛❝❝❡♣t❛❜❧❡✳ ■❙❖❉❛t❡❚✐♠❡▼ ❂ ①s❞✿str✐♥❣ ④ ♣❛tt❡r♥ ❂ ✧❭❞❭❞❭❞❭❞✲❭❞❭❞✲❭❞❭❞ ❭❞❭❞✿❭❞❭❞✿❭❞❭❞✭✳❭❞❭❞❭❞❭❞❭❞❭❞✮❄✧ ⑥ P♦✐♥t ❂ ❛ttr✐❜✉t❡ ♠❡❛s✉r❡❞ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ♣❤②s✐❝❛❧ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ s❛♠♣❧❡❴❝♦✉♥t ④ ①s❞✿✐♥t ⑥✱ ❛ttr✐❜✉t❡ ♠✐♥ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ♠❛① ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ♠❡❛♥ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ s❞ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ s❛♠♣❧✐♥❣❴❞✉r❛t✐♦♥ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ s❛t✉r❛t✐♦♥❴❝♦✉♥t ④ ①s❞✿✐♥t ⑥ ★ ❚❤❡ ❢✐rst t✇♦ ❝♦❡❢❢✐❝✐❡♥ts✱ ❝✵ ❛♥❞ ❝✶✱ ❛r❡ ❛❧✇❛②s ♣r❡s❡♥t s♦ ❛ ✈❛❧✐❞ ❡q✉❛t✐♦♥ ★ ❝❛♥ ❛❧✇❛②s ❜❡ ❝r❡❛t❡❞✳ ❚❤❡ ❞❡❢❛✉❧t ✐s ❝✵❂✧✵✳✵✧✱ ❝✶❂✧✶✳✵✧ ❢♦r t❤❡ ✧❞♦ ♥♦t❤✐♥❣✧ ❡q✉❛t✐♦♥ ②✭①✮ ❂ ①✳ ❈♦❡❢❢✐❝✐❡♥ts ❂ ❛ttr✐❜✉t❡ ❝✵ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✶ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ✭ ✭ ❛ttr✐❜✉t❡ ❝✷ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ✮ ⑤ ✭ ❛ttr✐❜✉t❡ ❝✷ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✸ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ✮ ⑤ ✭ ❛ttr✐❜✉t❡ ❝✷ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✸ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✹ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ✮ ⑤ ✭ ❛ttr✐❜✉t❡ ❝✷ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✸ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✹ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✺ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ✮ ⑤ ✭ ❛ttr✐❜✉t❡ ❝✷ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✸ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✹ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✺ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✻ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ✮ ⑤ ✭ ❛ttr✐❜✉t❡ ❝✷ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✸ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✹ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✺ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✻ ④ ①s❞✿❞♦✉❜❧❡ ⑥✱ ❛ttr✐❜✉t❡ ❝✼ ④ ①s❞✿❞♦✉❜❧❡ ⑥ ✮ ✮❄
LM-2012-01 6 Version History
4
CDAT File
A CDAT file contains the raw channel data for one channel in binary format. The format is simply a sequence of samples of one type in little-endian byte-order; there is no header or footer. For example, a channel with 5 samples with values 32, 2, 1, 72, and 129 of type ✉✐♥t✶✻ would be stored in a CDAT file as follows:
✶ ⑤ ✷ ⑤ ✸ ⑤ ✹ ⑤ ✺ ✲ s❛♠♣❧❡ ♥✉♠❜❡r
✸✷ ⑤ ✷ ⑤ ✶ ⑤ ✼✷ ⑤ ✶✷✾ ✲ ✈❛❧✉❡
✵①✷✵ ✵①✵✵ ✵①✵✷ ✵①✵✵ ✵①✵✶ ✵①✵✵ ✵①✹✽ ✵①✵✵ ✵①✽✶ ✵①✵✵ ✲ ❜②t❡ ✈❛❧✉❡s
The properties of a channel are located in the associated DAQX file in the element ❝❤❛♥♥❡❧ (path ❞❛q✴❝❤❛♥♥❡❧s✴❝❤❛♥♥❡❧). The ❝❤❛♥♥❡❧ element contains information necessary to link to the correct CDAT file, including server, port and channel number. Moreover, ❝❤❛♥♥❡❧ has a child element❞❛t❛ with attributes ❢✐❧❡❴♥❛♠❡, s❛♠♣❧❡❴❝♦✉♥t and ❞❛t❛❴t②♣❡, where ❢✐❧❡❴♥❛♠❡ contains the channel’s data file name (Section 2).
To successfully read a channel, the data type and the number of samples gotten from the❞❛t❛ element attributes❞❛t❛❴t②♣❡ and s❛♠♣❧❡❴❝♦✉♥t are necessary. Sample data types and their size in bytes is shown in below. Thus, the number of bytes in a CDAT file is b = n × t, where b is the number of bytes, n is the sample count, and t is the number of bytes in a sample.
Type Name Description Bytes C/C++ Names
int16 integer 2 short
uint16 unsigned integer 2 unsigned short
int32 integer 4 int
uint32 unsigned integer 4 unsigned int int64 integer 8 long long
uint64 unsigned integer 8 unsigned long long
float32 real 4 float
float64 real 8 double
5
TDAT File
A TDAT file contains the time stamp data for one or more channels. All channels sampled at the same rate on the same server share one TDAT file; that is, there is one TDAT file per rate per server. The file consists of a sequence of time stamps in binary form. A time stamp is a 64-bit signed integer (✐♥t✻✹; see table Section 4) value which represents the number of microseconds since the UNIX epoch (1 January 1970) in UTC. Values have little-endian byte-order. There is one time stamp for each channel sample for all channels with the same rate on the same server.
Properties of the time data are located in the DAQX file in the element❣r♦✉♣ (path ❞❛q✴t✐♠❡❴❞❛t❛✴❣r♦✉♣). The❣r♦✉♣ element contains the information necessary to link to the correct TDAT file, including
server, port and sampling rate. Moreover, the ❣r♦✉♣ element has a child element ❞❛t❛ with at-tributes ❢✐❧❡❴♥❛♠❡, s❛♠♣❧❡❴❝♦✉♥t and ❞❛t❛❴t②♣❡, where ❢✐❧❡❴♥❛♠❡ contains the group’s time data file name (Section 2).
6
Version History
This is a list of changes to the file format.
LM-2012-01 References
Version 2, 1 March 2012
• Test configuration channels (element❝❤❛♥♥❡❧ at ❞❛q✴t❡st❴♣r♦♣❡rt✐❡s✴❝❤❛♥♥❡❧s) are sorted by address (host/IP, port, channel number).
• Channels (element ❝❤❛♥♥❡❧ at ❞❛q✴❝❤❛♥♥❡❧s) are sorted by server host/IP, port, and then channel number.
Version 1, 1 January 2011 • First release.
References
[1] .ZIP File Format Specification, PKWARE Inc., Sep 2007, version 6.3.2. [Online]. Available: http://www.pkware.com/documents/casestudies/APPNOTE.TXT
[2] “7-Zip,” 2011. [Online]. Available: http://www.7-zip.org/ [3] “Info-ZIP,” 2008. [Online]. Available: http://www.info-zip.org/
[4] ISO/IEC 19757-2:2003 - Information technology – Document Schema Definition Language
(DSDL) – Part 2: Regular-grammar-based validation – RELAX NG, ISO, 2003.
[Online]. Available: http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics. htm?csnumber=37605
[5] J. Clark and M. Makoto, RELAX NG Specification, OASIS, December 2001. [Online]. Available: http://relaxng.org/spec-20011203.html
[6] “RELAX NG home page,” 2011. [Online]. Available: http://relaxng.org/
[7] E. van der Vlist, RELAX NG. O’Reilly & Associates, 2003. [Online]. Available: http://books.xmlschemata.org/relaxng/
[8] J. Clark, RELAX NG Compact Syntax, OASIS, November 2002. [Online]. Available: http://relaxng.org/compact-20021121.html
[9] J. Clark, J. Cowan, and M. Makoto, RELAX NG Compact Syntax Tutorial, OASIS, March 2003, working Draft. [Online]. Available: http://relaxng.org/compact-tutorial-20030326.html