1.  **Control, Status and Hot Swap**

    1.  **Control**

Control commands are divided into two categories, standard and
manufacturer defined. The standard control commands are defined in the
standard. Some of the standard commands are only loosely defined and
others are more specific. For example the run diagnostic command is only
loosely defined because the details of the diagnostics are not known. A
method of extending the command set by adding manufacturer-defined
commands is defined utilizing the eXtensible Markup Language (XML) to
describe the commands.

1.  **Standard Control Commands**

The control function allows commands to be sent to the TBIM as a whole,
or to each transducer individually that effect their state or operation.
The list of standard commands is given in . The command shall consist of
two bytes in the Command Field of the Data Link Layer Frame Format as
described in 4.5. The destination address is used to determine the
device or devices to which the command will be applied. If the most
significant byte of the address is zero then the address applies to a
group of transducers. The special case where the lower byte of the
address is also zero means that the group includes all transducers on
the bus and is said to be a \"global\" command. If the most significant
address byte is non-zero and the least significant address byte is zero
then the command is directed to a particular TBIM and may impact the
core logic for the TBIM or all transducers in the TBIM. If bith bytes of
the address are non-zero then the command is addressed to a particular
transducer.

The two bytes of the control command each have a separate function. The
most significant byte shall be used to define the class of the command
and the least significant byte shall identify the specific command
within the class. For example the most significant byte could define the
Read TEDS class of commands. The least significant byte would then
select the TEDS to be read. A command with zero in the most significant
byte shall identify the class of commands that do not have any arguments
in the command word. They may however have arguments in the data field.
An example of this could be a write transducer data command. The
argument will often be greater than one byte wide so it will be in the
data field.

# Figure Address and Command Format

The TBIM shall respond to all unimplemented commands by setting the
*TBIM invalid command bit* in the status register. See for a complete
description of this bit.

1.  **Write Transducer Data**

There are four commands that are used to write data sets to actuators in
the TBIMs. They are as follows:

Single frame-write transducer data

First frame-write transducer data

Intermediate frame-write transducer data

Last frame-write transducer data

Frame sizes are limited by a number of different aspects of the system.
The ?? TEDS field lists the number of bytes that a TBIM may receive in a
single frame. This is related to the design of the TBIM and will be
different with different TBIM designs. The number of bytes that the TBC
can transmit in a single frame is also a limiting factor on the frame
size. The other factor that limits the frame size is the data link layer
frame format. For the primary frame format only allows 256 bytes in the
data field for one frame. The alternate frame format limits the data
field to 65,536 bytes. If the data set is small enough to fit within a
single frame then the single frame - write transducer data command shall
be selected. This command does not contain an offset into the data set.
The data field in the frame is similar to that shown in but the byte
offset into the data set is not used.

The remaining three commands are used when the data set cannot be
transmitted within a single frame. They differ only in the information
that is contained in the Function field of the command. shows the two
arguments that are contained within the data field for these commands. A
First frame-write transducer data command labels the frame as being the
first frame of a multiple frame transmission. The last frame-write
transducer data command is associated with the last frame that is
required to transmit the entire data set. This is the only frame that
should be padded with zeros to make the transmission contain an integer
multiple of eight bits. The intermediate frame-write transducer data
command is associated with any frames that are required to transmit the
entire data set other than the first and last frame. If a second frame
is received with the same byte offset into the data set as a frame that
has already been received the second frame shall overwrite the
previously received data. The TBIM shall set the *TBIM bad frame
received *status bit when this condition occurs.

Normal operation using the multiple frame transmission capability is for
a frame to be received at the TBIM with the first frame-write transducer
data command in it. The TBC then waits for the time specified in the ??
TEDS field before transmitting another frame. This is then followed by
zero to as many frames as are required with intermediate frame-write
transducer data commands. After transmitting each frame the TBC waits
for the time specified in the ?? TEDS field before transmitting another
frame. The last frame that is required to complete the data set uses the
last frame-write transducer data command. If another frame with a start
frame-read data command is received before a frame with the last
frame-read data command in it the TBIM will discard the partial data set
and sets the* TBIM bad frame received *status bit. If possible it should
then correctly receive the new data set.

# [Table ]{#_Ref485452082}---Data field for the write transducer data command with multiple frame transmissions

  ------- ---------------- --------------------------------
  Field   Number of bits   Function
  1       32               Byte offset into the data set.
  2       N\*8             A block of data.
  ------- ---------------- --------------------------------

Normally these commands are expected to be used to write data to a
single actuator. However, the standard does not limit the system in this
area. Data sets may be written to groups or globally if the user so
desires. When used to write to multiple actuators, there are limitations
on the data. All devices must have the same data model and use the same
size data set otherwise errors will occur and the results will be
unpredictable. This also means that TBIMs with both sensors and
actuators must be able to respond correctly to this command. A sensor
should ignore the command but should set the *transducer invalid
command* bit when it is received.

1.  **Write Service Request Mask**

The service request mask is used to select which status bits are allowed
to generate a service request. A \'1\' in a bit in the mask means that
if the corresponding bit in the status register is also a \'1\' then a
service request will be generated. shows functionally how the mask will
be used. The mask contains 32 bits. Each bit corresponds to one of the
bits in . The Write Service Request Mask command is used to write the
service request mask for the transducer(s). The TBIM will contain
separate service request masks for the TBIM and for each transducer
within the TBIM. This means that separate commands will need to be
issued to the TBIM and to each transducer within a TBIM to write all of
the masks. If this command is issued globally it will write the service
request mask in all TBIMs on the bus with the same value. The use of
this command with groups needs discussion. It would complicate the
hardware and/or software some to allow these registers to be addressed
in groups. The default value for all of these masks upon power up or
after a reset is all ones.

1.  **Read Transducer Data**

The read transducer data command is used by the TBC to read a data set
from a sensor or event sensor. For small data sets, i.e. less than 256
bytes, this is a simple problem. However the data set size is allowed to
be 65,536 words long so TBIMs can be designed that cannot always be
transmit a data set in a single frame and the problem becomes much more
complex. There is also streaming mode operation to consider where a
single read command is issued by the TBC and the TBIM then sends the
data when it becomes available and continues to do so until it is
disabled. The fact that not all data sets can be transmitted in a single
frame means that the data set must be broken up before transmission.
Streaming operation means that the TBIM needs to be responsible for
breaking up the data set for transmission. The TBIM knows how many words
are in the data set but it must also be able to count the number of bits
to be transmitted and to pad it with zero\'s if it does not contain an
integer multiple of eight bits. The TBC may or may not need to know the
number of words in the data set. It could be just collecting a block of
bytes and passing them on to some other process some where else in the
system for interpretation. A solution is to allow the TBIM to break the
data set up into smaller pieces and to provide enough additional
information in the data field to make the operation robust. To
accomplish this the read data command has one sixteen bit argument. That
argument gives the maximum number of bytes in the data field that the
TBC can handle. There are four reply commands as described in that the
TBIM uses to tell the TBC what is happening.

This command is used to read data from a sensor or event sensor. It may
only be addressed to a single transducer. This command expects a reply
from the transducer. The command field in the reply to this command
shall have the class of reply and a function field of \"data\"
(Enumeration 1).

This command is used to read data from a sensor or event sensor. As
shown in there are two sixteen-bit arguments to this command. The first
is the offset into the data set where reading should start. The second
is the maximum number of bytes of data that the reply should contain.
For transmissions using the primary frame format the number of bytes
must be 256 or less. For transmissions using the alternate frame format
a 65,536-byte reply can be requested. The reply to this command shall as
described in .

# [Table ]{#_Ref485434414}---Data field for a Read Transducer Data Command

  ------- ---------------- --------------------------------------------------
  Field   Number of bits   Function
  1       16               Maximum number of bytes in the reply data field.
  ------- ---------------- --------------------------------------------------

For Tier 2 and higher TBIMs it would be possible to allow this command
to be applied to groups. For this to work it would require that each
TBIM containing members of the group have a separate data transfer
channel or a separate spreading code for use on a CDMA channel. This
adds another level of complication on the setup of the bus that may not
be worth it in the long run. What do we want to specify?

1.  **Read Status**

This command is used to read the status from a transducer. It may only
be addressed to individual transducers. The command field in the reply
to this command shall have the class of \"reply\" and a function field
of \"status\" (Enumeration 2). The data field in the reply contains the
thirty-two status bits with unimplemented bits set to zero.

1.  **Read Mask**

This command is used to read the service request mask from a transducer
or TBIM. The command field in the reply to this command shall have the
class of \"reply\" and a function field of \"mask.\" The data field in
the reply contains the thirty-two status bits with unimplemented bits
set to zero. Note that this leaves the possibility that the user may
write a mask of all ones and read back a word containing some zeros.

How do we tell the system what mask bits are implemented and which are
not?

1.  **Read TBIM Version**

Each TBIM has a sixteen-bit version number. Manufacturers may assign
these bits in any fashion that they want as long as a consistent method
is used. This command is used to read the version number from a TBIM.
The reply to this command shall have the class of reply and a function
field of \"TBIM version.\" The sixteen bits of the TBIM version shall be
in the data field of the reply.

1.  **Enable transducer**

An enabled transducer will respond to triggers and read or write data
commands. This command is used to enable a transducer as described in
4.3.1.1. There are no arguments in the data field of this command. How
this command is implemented within the transducer and exactly what it
enables is up to the manufacturer. For example, it is acceptable for the
disable command to power down portions of the transducer. In this case
the enable command should power up the portions of the transducer that
were powered down by the disable command.

1.  **Disable transducer**

A disabled transducer will not respond to triggers and read or write
data commands. This command is used to disable a transducer as described
in 4.3.1.1. There are no arguments in the data field of this command.
How this command is implemented within the transducer and exactly what
it disables is up to the manufacturer. See the discussion in for more
data on disabling transducers.

1.  **Set transducer data repetitions**

The Transducer Data Repetitions field in the Transducer Specific TEDS
defines the maximum number of words in a data set. The manufacturer
defines this number based upon the designed in capabilities of a TBIM.
This command allows the user to lower the number of data samples in a
data set. Writing a number in this field that is larger than the number
in the Transducer Data Repetitions field is not allowed by the TBIM and
should result in setting the *TBIM invalid command* bit in the status
register. If a command is issued that attempts to set the transducer
data repetitions to a number higher than that in the TEDS the transducer
will use the number in the TEDS. This command has one argument and that
is a sixteen-bit integer defining the number of words in the data set.

# [Table ]{#_Ref483897625}---Standard control commands

  ----------- ---------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ----------------------- ----- ----- ----- ----- ---------- --- --- ---------------------------- ----- ----- ----- ----- ------------------------------------------------------------ --- --- ---------------------- ---- ----- ---- ---- ------------ --- --- ---------------------- ----- ----- ---- ---- --------------------------------------------- --- --- ----------- ----- ----- ---- ---- -------------------------------------------- --- --- ------------------- ----- ---- ---- ---- --- --- --- -------- ----- ----- ----- ----- --- --- --- --------- ----- ----- ----- ----- --- --- --- --------------------------------- ----- ----- ----- ----- -------------------- --- ---- ------- ----- ----- ----- ----- --- --- ---- ---------------------- ----- ----- ----- ----- --- --- ---- ----------------- ----- ----- ----- ----- --- --- ---------- ---------- -- -- -- -- -- --- ----------- ------------------ -- -- -- -- -- --- --- ------------ ----- ----- ---- ---- ----- --- --- ------------- ----- ----- ---- ---- ----- --- --- ------------------ ----- ----- ---- ---- ----- --- --- ----------------- ----- ----- ---- ---- ----- --- --- ------- ----- ----- ---- ---- --- --- --- ---------------- ----- ----- ----- ----- ---------------------- --- --- ----------------- ---- ----- ---- ---- --- --- --- ----------------- ----- ----- ----- ----- --- --- --- ------------------ ----- ----- ----- ----- --- ---- --- ---------------------- ----- ---- ---- ---- ------------------ ---- --- ----------- ----- ---- ---- ---- ------------------ ---------- --- ---------- -- -- -- -- --
  Class       Function   Command            TBIM   Transducer   Global   Group   Number of Arguments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
  0           0          Reserved                                                                      0   1   write transducer data   Yes   Yes   Yes   Yes   variable   0   2   write service request mask   Yes   Yes   Yes   Yes   1 (4 byte integer)( I combined the standard and aux masks)   0   3   read transducer data   No   Yes   No   No   Four bytes   0   4   read standard status   Yes   Yes   No   No   0 ( I combined the standard and aux status)   0   5   read mask   Yes   Yes   No   No   0 ( I combined the standard and aux masks)   0   6   read TBIM version   Yes   No   No   No   0   0   7   Enable   Yes   Yes   Yes   Yes   0   0   8   Disable   Yes   Yes   Yes   Yes   0   0   9   Set Transducer Data Repetitions   Yes   Yes   Yes   Yes   1 (2 byte integer)   0   10   reset   Yes   Yes   Yes   Yes   0   0   11   Calibrate Transducer   Yes   Yes   Yes   Yes   0   0   12   Zero Transducer   Yes   Yes   Yes   Yes   0   0   13 - 127   reserved                  0   128 - 256   Open to industry                  1   x   Query TEDS   See   See   No   No   See   2   x   Update TEDS   See   See   No   No   See   3   x   write TEDS block   See   See   No   No   See   4   x   read TEDS block   See   See   No   No   See   5   x   reply   Yes   Yes   No   No   0   6   x   Set Attributes   Yes   Yes   Yes   Yes   1 (one byte integer)   7   x   Read Attributes   No   Yes   No   No   1   8   x   Run Diagnostics   Yes   Yes   Yes   Yes   1   9   x   trigger Commands   Yes   Yes   Yes   Yes   0   10   x   Communications Setup   Yes   No   No   No   Needs definition   11   x   Discovery   Yes   No   No   No   Needs definition   12 - 127   x   Reserved               
  128 - 255   x          Open to Industry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
  ----------- ---------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ----------------------- ----- ----- ----- ----- ---------- --- --- ---------------------------- ----- ----- ----- ----- ------------------------------------------------------------ --- --- ---------------------- ---- ----- ---- ---- ------------ --- --- ---------------------- ----- ----- ---- ---- --------------------------------------------- --- --- ----------- ----- ----- ---- ---- -------------------------------------------- --- --- ------------------- ----- ---- ---- ---- --- --- --- -------- ----- ----- ----- ----- --- --- --- --------- ----- ----- ----- ----- --- --- --- --------------------------------- ----- ----- ----- ----- -------------------- --- ---- ------- ----- ----- ----- ----- --- --- ---- ---------------------- ----- ----- ----- ----- --- --- ---- ----------------- ----- ----- ----- ----- --- --- ---------- ---------- -- -- -- -- -- --- ----------- ------------------ -- -- -- -- -- --- --- ------------ ----- ----- ---- ---- ----- --- --- ------------- ----- ----- ---- ---- ----- --- --- ------------------ ----- ----- ---- ---- ----- --- --- ----------------- ----- ----- ---- ---- ----- --- --- ------- ----- ----- ---- ---- --- --- --- ---------------- ----- ----- ----- ----- ---------------------- --- --- ----------------- ---- ----- ---- ---- --- --- --- ----------------- ----- ----- ----- ----- --- --- --- ------------------ ----- ----- ----- ----- --- ---- --- ---------------------- ----- ---- ---- ---- ------------------ ---- --- ----------- ----- ---- ---- ---- ------------------ ---------- --- ---------- -- -- -- -- --

1.  **Reset Command**

This is one of the \"loosely\" defined commands in the standard. The
manufacturer defines most of what happens as a result of a device
receiving a reset command. In general it is expected that the transducer
and/or TBIM should revert to the defaults that are assigned at power up.
However this behavior is not required. It is allowable for some
registers to be left in the state that they were in before the reset
occurred. In most cases it is assumed that there will be little, if any,
difference between a power up condition and a reset. The two conditions
that the standard places upon a TBIM after coming out of reset are that
the transducer shall be disabled and shall no longer have a logical TBIM
number assigned. Additionally all communications channels except the Bus
Management Communications channel must be disabled.

1.  **Calibrate Transducer Command**

The Calibrate Transducer Command is another of the \"loosely\" defined
commands in the standard. Many transducers and measurement systems
require some method of \"calibrating\" or at least functionally testing
a transducer. A \"shunt Cal\" where a resistor of known value is applied
across one leg of a wheatstone bridge is a common form of what is
expected when this command is executed. Since the standard does not
concern itself with the transducers it is not possible for the standard
to dictate what the Calibrate transducer command should do. The general
idea is to provide the command and allow the manufacturer to define what
action is taken as a result of this command. This also means that the
standard cannot specify what information will be passed back to the
system as a result of this command. A response back to the system is
expected as a result of sending this command. It could be a simple
\"pass/fail\" indication or it could be a data value depending upon the
design of the transducer. The nature of the reply can be specified to
the system by using XML to describe the form of response.

1.  **Zero Transducer Command**

The Zero Transducer Command is another of the \"loosely\" defined
commands in the standard. This Zero Transducer command is used to cause
the transducer to run a procedure to zero it\'s input or output. A
common result of executing this command is to have the transducer output
go to zero and to use this value as a zero reference. Since the standard
does not concern itself with the transducers it is not possible for the
standard to dictate what the Zero transducer command should do. The
general idea is to provide the command and allow the manufacturer to
define what action is taken as a result of this command. This also means
that the standard cannot specify what information will be passed back to
the system as a result of this command. A response back to the system is
expected as a result of sending this command. It could be a simple
\"pass/fail\" indication or it could be a data value depending upon the
design of the transducer. The nature of the reply can be specified to
the system by using XML to describe the form of response.

1.  **Query TEDS Command**

The Query TEDS command is always the first command sent by the TBC to
the TBIM when reading or writing a TEDS. The reply to this command gives
the TBC enough information to decide whether or not to proceed with the
read or write operation. lists the possible TEDS and shows the class and
function codes that are to be used when accessing one of these TEDS.
Note that group or global addressing is never used when accessing TEDS.
Whether to use a TBIM or a transducer address is a function of the
specific TEDS.

This class of commands is used to define to the TBC the information
required to read or write TEDS. The function field identifies the
specific TEDS to be written. Some of these TEDS apply to the entire TBIM
and others to a specific transducer. They may not be addressed to groups
or globally.

A Query TEDS command with a Function in the range of 128 to 255 shall
define to the TBC the normal information if the TEDS exists. If the
function indicates a TEDS that does not currently exist in the TBIM the
attributes in the reply shall indicate to the TBC whether or not the
TBIM can accept a new TEDS.

A reply is always generated when this command is received.

# [Table ]{#_Ref485288173}---Query TEDS Commands

  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- ------ --- --- -------------------------- ---- ----- ---- ---- ------ --- --- -------------------------- ----- ---- ---- ---- ------ --- --- -------------------------------- ---- ----- ---- ---- ------ --- --- ------------------ ---- ----- ---- ---- ------ --- --- --------------------------------- ---- ----- ---- ---- ------ --- --- -------------------------------------- ----- ----- ---- ---- ------ --- --- -------------------------- -- -- ---- ---- ------ --- --- ------------------------ ---- ----- ---- ---- ------ --- ---- --------------------- ---- ----- ---- ---- ------ --- ---- --------------- ----- ---- ---- ---- ------ --- ---------- ---------- -- -- -- -- ------
  Class   Function    TEDS               TBIM   Transducer   Global   Group   Number of Arguments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
  1       0           Reserved                                                                      1   1   Module META-TEDS   Yes   No   No   No   None   1   2   Transducer Specific TEDS   No   Yes   No   No   None   1   3   Meta-Identification TEDS   Yes   No   No   No   None   1   4   Transducer Identification TEDS   No   Yes   No   No   None   1   5   Calibration TEDS   No   Yes   No   No   None   1   6   Calibration-Identification TEDS   No   Yes   No   No   None   1   7   End Users' Application Specific TEDS   Yes   Yes   No   No   None   1   8   Industry extensions TEDS         No   No   None   1   9   Transfer Function TEDS   No   Yes   No   No   None   1   10   Digital Filter TEDS   No   Yes   No   No   None   1   11   Commands TEDS   Yes   No   No   No   None   1   12 - 127   Reserved               None
  1       128 - 255   open to industry                                        None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- ------ --- --- -------------------------- ---- ----- ---- ---- ------ --- --- -------------------------- ----- ---- ---- ---- ------ --- --- -------------------------------- ---- ----- ---- ---- ------ --- --- ------------------ ---- ----- ---- ---- ------ --- --- --------------------------------- ---- ----- ---- ---- ------ --- --- -------------------------------------- ----- ----- ---- ---- ------ --- --- -------------------------- -- -- ---- ---- ------ --- --- ------------------------ ---- ----- ---- ---- ------ --- ---- --------------------- ---- ----- ---- ---- ------ --- ---- --------------- ----- ---- ---- ---- ------ --- ---------- ---------- -- -- -- -- ------

1.  **Update TEDS Command**

This command is used to cause a TEDS that was previously written into a
TBIM to be copied into non-volatile memory, the checksum verified and
the reply sent to the TBC. If the TEDS was written into non-volatile
memory as it was received then the checksum shall be verified and the
reply sent to the TBC. Once the checksum for the entire TEDS is verified
as being correct in the non-volatile memory the TEDS may be marked as
Valid. lists the possible TEDS and shows the class and function codes
that are to be used when updating one of these TEDS. Note that group or
global addressing is never used when accessing TEDS. Whether to use a
TBIM or a transducer address is a function of the specific TEDS.

A reply is always generated when this command is received.

# [Table ]{#_Ref485288592}---Update TEDS Commands

  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- ------ --- --- -------------------------- ---- ----- ---- ---- ------ --- --- -------------------------- ----- ---- ---- ---- ------ --- --- -------------------------------- ---- ----- ---- ---- ------ --- --- ------------------ ---- ----- ---- ---- ------ --- --- --------------------------------- ---- ----- ---- ---- ------ --- --- -------------------------------------- ----- ----- ---- ---- ------ --- --- -------------------------- -- -- ---- ---- ------ --- --- ------------------------ ---- ----- ---- ---- ------ --- ---- --------------------- ---- ----- ---- ---- ------ --- ---- --------------- ----- ---- ---- ---- ------ --- ---------- ---------- -- -- -- -- ------
  Class   Function    TEDS               TBIM   Transducer   Global   Group   Number of Arguments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
  2       0           Reserved                                                                      2   1   Module META-TEDS   Yes   No   No   No   None   2   2   Transducer Specific TEDS   No   Yes   No   No   None   2   3   Meta-Identification TEDS   Yes   No   No   No   None   2   4   Transducer Identification TEDS   No   Yes   No   No   None   2   5   Calibration TEDS   No   Yes   No   No   None   2   6   Calibration-Identification TEDS   No   Yes   No   No   None   2   7   End Users' Application Specific TEDS   Yes   Yes   No   No   None   2   8   Industry extensions TEDS         No   No   None   2   9   Transfer Function TEDS   No   Yes   No   No   None   2   10   Digital Filter TEDS   No   Yes   No   No   None   2   11   Commands TEDS   Yes   No   No   No   None   2   12 - 127   Reserved               None
  2       128 - 255   open to industry                                        None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- ------ --- --- -------------------------- ---- ----- ---- ---- ------ --- --- -------------------------- ----- ---- ---- ---- ------ --- --- -------------------------------- ---- ----- ---- ---- ------ --- --- ------------------ ---- ----- ---- ---- ------ --- --- --------------------------------- ---- ----- ---- ---- ------ --- --- -------------------------------------- ----- ----- ---- ---- ------ --- --- -------------------------- -- -- ---- ---- ------ --- --- ------------------------ ---- ----- ---- ---- ------ --- ---- --------------------- ---- ----- ---- ---- ------ --- ---- --------------- ----- ---- ---- ---- ------ --- ---------- ---------- -- -- -- -- ------

1.  **Write TEDS block Command**

The write TEDS block commands were placed into a class by themselves to
allow the maximum amount of flexibility in defining TEDS. There are a
number of TEDS that are defined by the standard and procedures are
outlined for the manufacturer to define others (see ??). The TEDS may be
used to define to the system how to use a particular TBIM or transducer
or they may be used for the system to define to the TBIM or transducer
how the system wants it to operate. In some cases the same TEDS can be
used for both purposes. For example a calibration TEDS can be used to
describe to the system how to convert the output of a transducer to
engineering units. In this case it is used to tell the system how to use
the transducer output. However, if the TBIM contains the engineering
units converter then the calibration TEDS is used by the system to tell
the transducer how to make the conversion. The function codes for the
TEDS described in the standard are also defined in the standard. This
leaves a large number of unused function codes and many of them are open
to industry to allow manufacturers to define other TEDS. The use of
these non-standard TEDS will generally require some special software to
be written to support them so their use should be minimized but they are
available.

If the design of the TBIM allows it a Write TEDS block command with a
function code of 128 or higher will allow either the manufacturer or the
user to define a new TEDS and store it in the TBIM. This capability
could be used to allow the manufacturer to describe features and
limitations of the TBIM that were not covered in other TEDS. The user
could use it to describe the installation of the TBIM and to explain
what information can be derived from it. Where these applications are
intended to display information to the user they can be written in XML
and displayed with little special software. They do however require that
non-volatile memory be provided in the TBIM to store the information and
this will not be available in all TBIMs.

The TEDS is written into the TBIM or transducer by first breaking it up
into small enough pieces that it can be handled. The block size is not
defined in the standard to avoid putting restrictions on what the
manufacturer could achieve. The way the block size is determined is by
the TBC issuing a Query TEDS command. One of the fields in the reply to
this command is the maximum block size that the TBIM can accept. It is
assumed that the TBC knows the maximum block size that it can support.
The other limitation on the block size is in the data count sub-field of
the format field. This limits the block size to 256 bytes for the
primary frame format and to 65,536 for the alternate frame format. The
TBC then uses the smaller of these three block sizes or less to break up
the TEDS into acceptable size pieces. The data field for a write TEDS
block command is shown in .

# [Table ]{#_Ref484935261}---Data field for a write TEDS block command

  ------- ---------------- -----------------------------------------
  Field   Number of bits   Function
  1       32               TEDS offset (0 to \[current size - 1\])
  2       N\*8             Data block
  ------- ---------------- -----------------------------------------

The TEDS Offset is included in the data field to allow the TBC to back
up and overwrite a block previously written to correct a problem with
the data. This feature is not intended to allow writing of partial TEDS
although it makes it possible. The number of data bytes in the block (N
in field 2 of ) is determined by subtracting four from the data count
sub-field in the format field.

A write TEDS block command with a Function in the range of 128 to 255 is
used to create a new TEDS if one does not already exist with that
function. If the TBIM is not designed to allow the additional TEDS to be
written then the unimplemented command status bit shall be set upon
receipt of this command and the TBIM will discard the data block. If the
TBIM does not have enough memory to store the new TEDS it shall set the
number of bytes received to zero in the reply to the command and not
overwrite an existing TEDS. This is not the cleanest way to implement
this error condition but if the protocol was being properly followed
this fact would have been discovered when the query was issued and the
write TEDS block command would not have been issued. A more likely
scenario that would cause this condition would be if the command was
corrupted and went to the wrong device. Under this condition
retransmitting the block is the appropriate response.

When the TBIM begins to overwrite the existing TEDS the TEDS shall be
marked as invalid. It shall remain marked as invalid until the Update
TEDS command is received as described in .

# [Table ]{#_Ref484934726}---Write TEDS block commands

  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- --------------------------- --- --- -------------------------- ---- ----- ---- ---- -- --- --- -------------------------- ----- ---- ---- ---- -- --- --- -------------------------------- ---- ----- ---- ---- -- --- --- ------------------ ---- ----- ---- ---- -- --- --- --------------------------------- ---- ----- ---- ---- -- --- --- -------------------------------------- ----- ----- ---- ---- -- --- --- -------------------------- -- -- ---- ---- -- --- --- ------------------------ ---- ----- ---- ---- -- --- ---- --------------------- ---- ----- ---- ---- -- --- ---- --------------- ----- ---- ---- ---- -- --- ---------- ---------- -- -- -- -- --
  Class   Function    TEDS               TBIM   Transducer   Global   Group   Number of Arguments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  3       0           Reserved                                                                      3   1   Module META-TEDS   Yes   No   No   No   Needs protocol definition   3   2   Transducer Specific TEDS   No   Yes   No   No      3   3   Meta-Identification TEDS   Yes   No   No   No      3   4   Transducer Identification TEDS   No   Yes   No   No      3   5   Calibration TEDS   No   Yes   No   No      3   6   Calibration-Identification TEDS   No   Yes   No   No      3   7   End Users' Application Specific TEDS   Yes   Yes   No   No      3   8   Industry extensions TEDS         No   No      3   9   Transfer Function TEDS   No   Yes   No   No      3   10   Digital Filter TEDS   No   Yes   No   No      3   11   Commands TEDS   Yes   No   No   No      3   12 - 127   Reserved               
  3       128 - 255   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- --------------------------- --- --- -------------------------- ---- ----- ---- ---- -- --- --- -------------------------- ----- ---- ---- ---- -- --- --- -------------------------------- ---- ----- ---- ---- -- --- --- ------------------ ---- ----- ---- ---- -- --- --- --------------------------------- ---- ----- ---- ---- -- --- --- -------------------------------------- ----- ----- ---- ---- -- --- --- -------------------------- -- -- ---- ---- -- --- --- ------------------------ ---- ----- ---- ---- -- --- ---- --------------------- ---- ----- ---- ---- -- --- ---- --------------- ----- ---- ---- ---- -- --- ---------- ---------- -- -- -- -- --

1.  **Read TEDS block command**

[As shown in ]{#_Ref484935272} there are two entries in the data field
for this command, the maximum block size that the bus controller can
support and the offset into the TEDS to begin reading. The specified
TBIM or transducer responds by attempting to return as much of the TEDS
as possible starting with the beginning of the TEDS plus the offset. The
size of the response is limited by the smaller of four factors. The
"Maximum block size of response" field in the read TEDS block command,
the maximum size block that the TBIM can transmit, 256 if the primary
data link layer frame format is used or 65,536 if the alternate frame
format is being used. Regardless of which factor limits the size the
TEDS must be broken into pieces that are this size or smaller. The first
two bytes in the reply contain the number of bytes in the block,
exclusive of the byte count field itself. This field will be zero if the
TEDS is not supported, if the TEDS is invalid, or if the offset is
greater than or equal to the current TEDS size. The total number of
bytes in the response (including the byte count and the checksum) shall
be equal to or less than the maximum block size specified in the
arguments to the command. lists the class and function codes along with
the devices that this command can be addressed to. Note that group or
global addressing is never used when accessing TEDS. Whether to use a
TBIM or a transducer address is a function of the specific TEDS.

# [Table ]{#_Ref485280560}---Data field for a read TEDS block command

  ------- ---------------- -----------------------------------------
  Field   Number of bits   Function
  1       32               TEDS offset (0 to \[current size - 1\])
  2       16               Maximum block size of response.
  ------- ---------------- -----------------------------------------

**[Table ]{#_Ref484934742}---Read TEDS block commands**

  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- ------- --- --- -------------------------- ---- ----- ---- ---- ------- --- --- -------------------------- ----- ---- ---- ---- ------- --- --- -------------------------------- ---- ----- ---- ---- ------- --- --- ------------------ ---- ----- ---- ---- ------- --- --- --------------------------------- ---- ----- ---- ---- ------- --- --- -------------------------------------- ----- ----- ---- ---- ------- --- --- -------------------------- ----- ----- ---- ---- ------- --- --- ------------------------ ---- ----- ---- ---- ------- --- ---- --------------------- ---- ----- ---- ---- ------- --- ---- --------------- ----- ---- ---- ---- ------- --- ---------- ---------- -- -- -- -- --
  Class   Function    TEDS               TBIM   Transducer   Global   Group   Number of Arguments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  4       0           Reserved                                                                      4   1   Module METS-TEDS   Yes   No   No   No   See .   4   2   Transducer Specific TEDS   No   Yes   No   No   See .   4   3   Meta-Identification TEDS   Yes   No   No   No   See .   4   4   Transducer Identification TEDS   No   Yes   No   No   See .   4   5   Calibration TEDS   No   Yes   No   No   See .   4   6   Calibration-Identification TEDS   No   Yes   No   No   See .   4   7   End Users' Application Specific TEDS   Yes   Yes   No   No   See .   4   8   Industry extensions TEDS   Yes   Yes   No   No   See .   4   9   Transfer Function TEDS   No   Yes   No   No   See .   4   10   Digital Filter TEDS   No   Yes   No   No   See .   4   11   Commands TEDS   Yes   No   No   No   See .   4   12 - 127   Reserved               
  4       128 - 255   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- ------------------ ----- ---- ---- ---- ------- --- --- -------------------------- ---- ----- ---- ---- ------- --- --- -------------------------- ----- ---- ---- ---- ------- --- --- -------------------------------- ---- ----- ---- ---- ------- --- --- ------------------ ---- ----- ---- ---- ------- --- --- --------------------------------- ---- ----- ---- ---- ------- --- --- -------------------------------------- ----- ----- ---- ---- ------- --- --- -------------------------- ----- ----- ---- ---- ------- --- --- ------------------------ ---- ----- ---- ---- ------- --- ---- --------------------- ---- ----- ---- ---- ------- --- ---- --------------- ----- ---- ---- ---- ------- --- ---------- ---------- -- -- -- -- --

1.  **Reply Command**

All transmissions on the bus must use the data link layer frame format.
Since one of the fields that is required in this frame format is a
sixteen bit command field all transmissions must have this field.
However when the TBIM is responding to a TBIM it is not issuing a
command in the sense that it is initiating an activity in another
device. The reply command is what the TBIM puts into the command field
when replying to a command from the TBC. The function identifies the
command that the reply is associated with.

Note that the command identifiers do not correspond numerically with the
command classes.

We could require that the first byte in most (all) replies should be a
status byte that contained as a minimum the service request bit for the
TBIM. Other status bits would be important for data replies such as the
over and under range flags.

# Table ---Reply Commands

  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- -------- ---- ----- ---- ---- ------------------ --- --- ------ ---- ----- ---- ---- ------------------ --- --- ----------------- ---- ----- ---- ---- ----- --- --- ------------------------- ---- ----- ---- ---- ----- --- --- ----------------------- ---- ----- ---- ---- ----- --- --- ------------------------------ ---- ----- ---- ---- ----- --- --- ---------------------- ---- ----- ---- ---- ----- --- --- ------------ ---- ----- ---- ---- ------------------ --- --- -------------- ----- ---- ---- ---- ------------------ --- ---- ------------ ----- ----- ---- ---- ----- --- ---- ------------- ----- ----- ---- ---- -------------------------- --- ---- ------------------ ----- ----- ---- ---- ----- --- ---- ----------------- ----- ----- ---- ---- ----- --- ---- ---------------------- ---- ----- ---- ---- -------------------------- --- ---- ----------------- ---- ----- ---- ---- -------------------------- --- ---------- ---------- -- -- -- -- --
  Class   Function    Reply Command      TBIM   Transducer   Global   Group   Number of Arguments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  5       0           Reserved                                                                      5   1   status   No   Yes   No   No   Needs definition   5   2   mask   No   Yes   No   No   Needs definition   5   3   Retransmit data   No   Yes   No   No   Two   5   4   single frame -read data   No   Yes   No   No   One   5   5   First frame-read data   No   Yes   No   No   Two   5   6   Intermediate frame-read data   No   Yes   No   No   Two   5   7   Last frame-read data   No   Yes   No   No   Two   5   8   Attributes   No   Yes   No   No   Needs definition   5   9   TBIM version   Yes   No   No   No   Needs definition   5   10   Query TEDS   Yes   Yes   No   No   See   5   11   Update TEDS   Yes   Yes   No   No   One byte as described in   5   12   Write TEDS block   Yes   Yes   No   No   See   5   13   Read TEDS block   Yes   Yes   No   No   See   5   14   Calibrate Transducer   No   Yes   No   No   To be defined using XML.   5   15   Zero Transducer   No   Yes   No   No   To be defined using XML.   5   16 - 127   Reserved               
  5       128 - 255   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
  ------- ----------- ------------------ ------ ------------ -------- ------- --------------------- --- --- -------- ---- ----- ---- ---- ------------------ --- --- ------ ---- ----- ---- ---- ------------------ --- --- ----------------- ---- ----- ---- ---- ----- --- --- ------------------------- ---- ----- ---- ---- ----- --- --- ----------------------- ---- ----- ---- ---- ----- --- --- ------------------------------ ---- ----- ---- ---- ----- --- --- ---------------------- ---- ----- ---- ---- ----- --- --- ------------ ---- ----- ---- ---- ------------------ --- --- -------------- ----- ---- ---- ---- ------------------ --- ---- ------------ ----- ----- ---- ---- ----- --- ---- ------------- ----- ----- ---- ---- -------------------------- --- ---- ------------------ ----- ----- ---- ---- ----- --- ---- ----------------- ----- ----- ---- ---- ----- --- ---- ---------------------- ---- ----- ---- ---- -------------------------- --- ---- ----------------- ---- ----- ---- ---- -------------------------- --- ---------- ---------- -- -- -- -- --

1.  **Replies to read status command**

The data field for the reply to the read status command has only one
argument. That is the 32 bits of the status word. This command may be
addressed to either the TBIM or to an individual transducer.

1.  **Replies to read mask command**

The data field for the reply to the read mask command has only one
argument. That is the 32 bits of the mask word. This command may be
addressed to either the TBIM or to an individual transducer.

1.  **Replies to read transducer data command**

There are four possible reply commands for the read data command. They
are as follows:

1\. First frame-read data

2\. Intermediate frame-read data

3\. Last frame-read data

4\. Single frame-read data

There is a fifth reply command that may be used and that is the reply to
the retransmit data command. It has the format shown in . This command
is used when the TBC detects a bad frame in a multiple frame data
transmission. The reason for using a separate command for this function
is to allow a portion of a data set to be overwritten. The user of the
system may choose to request a retransmission of a data frame or to
simply ignore the bad data. Whether retransmissions are used or not will
depend upon the application and just how reliable individual
transmissions are. Another factor that will need to be considered is the
size of the frame. Small frames mean that less data is lost when a bad
frame is received and it may then become more practical to ignore them.

The first three commands differ only in the information that is
contained in the Function field of the command. shows the two sub-fields
that are contained within the data field for these commands. A First
block-read data command labels the reply as being the first frame of a
multiple frame reply. For this reply command the offset field is not
essential since it can be assumed to contain zero but it is there to
make the first three commands as similar as possible. The last
frame-read data command is associated with the last frame that is
required to transmit the entire data set. This is the only frame that
should be padded with zeros to make the transmission contain an integer
multiple of eight bits. The intermediate frame-read data command is
associated with any frames that are required to transmit the entire data
set other than the first and last frame.

If the data set is small enough to fit within a single frame then the
single frame-read data command should be selected. This command does not
contain an offset into the data set. This is to allow the maximum
utilization of the data field especially in the primary data link layer
frame format.

The TBIM determines the number of bytes of data in each transmission by
picking the smallest of several possible numbers. The read transducer
data command contained a number giving the maximum number of bytes that
the TBC can handle in a single frame. The primary frame format limits
the frame length to 256 bytes and the alternate frame format limits it
to 65,536 bytes. The other consideration is how many bytes the TBIM
itself can handle in a single frame.

# [Table ]{#_Ref485444504}---Read transducer data command response in the data field

  ------- ---------------- --------------------------------
  Field   Number of bits   Function
  1       32               Byte offset into the data set.
  2       N\*8             A block of data.
  ------- ---------------- --------------------------------

1.  **Reply to Query TEDS command**

The reply to a Query TEDS shall contain the information listed in . The
TEDS attributes are given in .

# [Table ]{#_Ref485274696}---Query TEDS response in the data field

  ------- ---------------- ------------------------------------------- --- ---- -------------------------- --- ---- -------------------
  Field   Number of bits   Function                                                                                 
  1       8                TEDS Attributes (See )                      2   32   Current size of the TEDS   3   32   Maximum TEDS Size
  4       16               Maximum block size for TEDS Write Command                                                
  ------- ---------------- ------------------------------------------- --- ---- -------------------------- --- ---- -------------------

**[Table ]{#_Ref485274623}---TEDS Attributes**

  ----- ------------------------------------------------------------------- -- -------------------------------------------------------------------- -- --------------------------------------------------------------- -- ----------------------------------------------------------------------------- -- ---------- -- ---------- -- ----------
  Bit   Definition                                                                                                                                                                                                                                                                                                                     
  lsb   **READ Only** -- Set to a one if TEDS can be read but not written      **Unsupported** - Set to one if TEDS is not supported by this TBIM      **Invalid** - Set to one if the current TEDS image is invalid      **New TEDS Support **- Set to one if the TEDS can support writing new TEDS.      reserved      reserved      reserved
  msb   reserved                                                                                                                                                                                                                                                                                                                       
  ----- ------------------------------------------------------------------- -- -------------------------------------------------------------------- -- --------------------------------------------------------------- -- ----------------------------------------------------------------------------- -- ---------- -- ---------- -- ----------

1.  **Reply to the Update TEDS Command**

The reply to an Update TEDS command shall contain a single byte in the
data field as described in .

# [Table ]{#_Ref485275381}---Update TEDS response

  ----- -------------------------------------------------------------- -- --------------------------------------------------------- -- ---------------------------------------------------------------- -- -------------------------------------------------------- -- ---------- -- ---------- -- ----------
  Bit   Definition                                                                                                                                                                                                                                                                                 
  lsb   **OK** -- Set to a one if the update was completed normally.      **Unsupported** - Access Error the TEDS is unsupported.      **Invalid** - Set to one if the current TEDS image is invalid.      **Write Error **- Set to one if the TEDS is read only.      reserved      reserved      reserved
  msb   reserved                                                                                                                                                                                                                                                                                   
  ----- -------------------------------------------------------------- -- --------------------------------------------------------- -- ---------------------------------------------------------------- -- -------------------------------------------------------- -- ---------- -- ---------- -- ----------

1.  **Reply to read TEDS block command**

The reply to a read TEDS block shall contain a variable number bytes in
the data field. The first two bytes shall contain a binary number giving
the number of bytes in the remainder of the data field. The size of the
response is limited by the smaller of either the "Maximum block size of
response" field in the read TEDS block command or the maximum size block
that the TBIM can transmit. The first two bytes in the response shall
contain the number of bytes in the block, exclusive of the byte count
field itself. This field will be zero if the TEDS is not supported, if
the TEDS is invalid, or if the offset is greater than or equal to the
current TEDS size. The total number of bytes in the response (including
the byte count and the checksum) shall be equal to or less than the
maximum block size specified in the read TEDS block command.

# Table Read TEDS response

  ------- ---------------- --------------------------
  Field   Number of bits   Function
  1       16               Length of data block (N)
  2       N\*8             Data block
  ------- ---------------- --------------------------

1.  **Reply to write TEDS block command**

The reply to a write TEDS block shall contain the two bytes in the data
field. These two bytes shall contain a binary number giving the number
of bytes correctly received with the write TEDS block command. The two
bytes shall contain the number zero if any of the following conditions
apply:

The TEDS is read only

The TEDS is not supported

The offset is greater than or equal to the maximum TEDS size

The data block placed at the specified offset exceeds the maximum TEDS
size

The checksum is incorrect.

1.  **Set Attributes Command**

There are a number of attributes defined for the transducers in
subclause 4.3.6 of the standard. These attributes may be used in several
different ways. For example, the manufacturer can build a sensor without
any buffers in it. Another way to say this is to say that the transducer
would be built with the buffers attribute permanently turned OFF.
Another model of this transducer might have buffers present and be able
to turn them on or off depending upon the user requirements. This class
of commands supports transducers that allow the attributes to be
changed. The function identifies the particular attribute to be changed
and the argument in the data field gives the value for that particular
attribute. The attributes defined in the standard and the value to be
used to set the particular attribute are shown in . If other attributes
are needed for a transducer then the techniques outlined in may be used
to extend this class of commands. If this type of extension is done it
should use the same class of commands for setting the attributes.

# Table ---Set Attributes Commands

  ------- ----------- ------------------ ------ ------------ -------- ------- ----------------------------------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------- ---- ----- ---- ---- -------- --- --- --------------------------- ---- ----- ---- ---- -------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------------- ---- ----- ---- ---- -------- --- --------- ---------- -- -- -- -- --
  Class   Function    Attribute          TBIM   Transducer   Global   Group   Number of Arguments in Data Field                                                                                                                                                                                                                                                                                                                                                              
  6       0           Reserved                                                                                    6   1   sampling attributes   No   Yes   No   No   1 byte   6   2   Buffered attribute   No   Yes   No   No   1 byte   6   3   End of data set operation   No   Yes   No   No   1 byte   6   4   Streaming attribute   No   Yes   No   No   1 byte   6   5   Edge-to-report attribute   No   Yes   No   No   1 byte   6   6 - 127   Reserved               
  6       128 - 255   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                       
  ------- ----------- ------------------ ------ ------------ -------- ------- ----------------------------------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------- ---- ----- ---- ---- -------- --- --- --------------------------- ---- ----- ---- ---- -------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------------- ---- ----- ---- ---- -------- --- --------- ---------- -- -- -- -- --

**[Table ]{#_Ref485461621}---Set Attributes Commands**

  ------------------ ------------------ ------- --------------------- ------------------- ----------- -- -------------- ----------- -------------------- ----- ----------- -- ---- ----------- --------------------------- ------ ----------- -- ------------- ----------- --------------------- ----- ----------- -- ---- ----------- -------------------------- -------- ----------- -- --------- ----------- -- ------ ----------- ---------- ---------- --
  Attribute Class    Attribute          Value                                                                                                                                                                                                                                                                                                                                                                                                               
  Reserved           Reserved                   sampling attributes   Trigger Initiated   0000 0001      Free running   0000 0010   Buffered attribute   Off   0000 0001      On   0000 0010   End of data set operation   Hold   0000 0001      Recirculate   0000 0010   Streaming attribute   Off   0000 0001      On   0000 0010   Edge-to-report attribute   Rising   0000 0001      Falling   0000 0010      both   0000 0011   Reserved   Reserved   
  open to industry   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                       
  ------------------ ------------------ ------- --------------------- ------------------- ----------- -- -------------- ----------- -------------------- ----- ----------- -- ---- ----------- --------------------------- ------ ----------- -- ------------- ----------- --------------------- ----- ----------- -- ---- ----------- -------------------------- -------- ----------- -- --------- ----------- -- ------ ----------- ---------- ---------- --

1.  **Read Attributes Command**

As was discussed in the standard defines a number of attributes that can
be used to describe the capabilities of a transducer or to change those
characteristics. The read attributes command has a command class of 7
and a function field that is used to select the particular attribute to
read. If the transducer does not support changing the value of an
attribute it should still reply to a read attribute command with the
correct value for that attribute. For example if the transducer does not
support streaming it should always report that the streaming attribute
is turned OFF. If the attribute is not one that is not supported by the
transducer it should return all zero\'s. An example of this situation
would be if a request to read the edge-to-report attribute was sent to
an actuator. The attributes defined in this standard and the value to be
read when a particular attribute is set are shown in .

# Table ---Read Attributes Commands

  ------- ----------- ------------------ ------ ------------ -------- ------- ----------------------------------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------- ---- ----- ---- ---- -------- --- --- --------------------------- ---- ----- ---- ---- -------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------------- ---- ----- ---- ---- -------- --- --------- ---------- -- -- -- -- --
  Class   Function    Attribute          TBIM   Transducer   Global   Group   Number of Arguments in Data Field                                                                                                                                                                                                                                                                                                                                                              
  7       0           Reserved                                                                                    7   1   sampling attributes   No   Yes   No   No   1 byte   7   2   Buffered attribute   No   Yes   No   No   1 byte   7   3   End of data set operation   No   Yes   No   No   1 byte   7   4   Streaming attribute   No   Yes   No   No   1 byte   7   5   Edge-to-report attribute   No   Yes   No   No   1 byte   7   6 - 127   Reserved               
  7       128 - 255   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                       
  ------- ----------- ------------------ ------ ------------ -------- ------- ----------------------------------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------- ---- ----- ---- ---- -------- --- --- --------------------------- ---- ----- ---- ---- -------- --- --- --------------------- ---- ----- ---- ---- -------- --- --- -------------------------- ---- ----- ---- ---- -------- --- --------- ---------- -- -- -- -- --

1.  **Run Diagnostic Command**

The TBC uses this class of commands when executing diagnostics for a
transducer or TBIM. This is another one of those areas where the
standard is necessarily vague. The diagnostics are clearly a function of
the individual design and not really subject to much standardization. It
is very important that each TBIM have a set of diagnostics that can be
run to verify correct operation. As a minimum the self test should set
the TBIM failed self-test bit in the status register if a test fails.
The working group cannot define what the tests should be or how to run
them. However the techniques defined in can be used to describe the
exact commands that need to be issued to run a particular test and what
the expected results should be.

# Table ---Run Diagnostic Commands

  ------- ---------- ---------------------- ------ ------------ -------- ------- -----------------------------------
  Class   Function   Diagnostic             TBIM   Transducer   Global   Group   Number of Arguments in Data Field
  8       0          Test All               Yes    Yes          Yes      No      0
  8       1 - 255    Manufacturer defined   Yes    Yes          Yes      No      
  ------- ---------- ---------------------- ------ ------------ -------- ------- -----------------------------------

1.  **Trigger Commands**

The TBC shall use this class of commands when triggering transducers.
The triggers are discussed in more detail in subclause 4.6 of the
standard. The unusual way of breaking up this group of commands is to
make the hardware simpler. If the trigger requires an acknowledgement
then the most significant bit of the function field is set to one. If an
acknowledgement is not required then this bit is set to a zero. The
abort trigger command is used to cancel a trigger that has already been
issued. If this command is issued to a group of transducers then some of
them may have completed the operation before the abort trigger is
received. Others may still be acting on the trigger. This means that the
state of the system and who has already processed the trigger is not
known to the system. It may be necessary to disable and then enable the
transducers to get all devices operating in synchronization after
aborting a trigger.

# Table ---Trigger Commands

  ------- ----------- ------------------ ------ ------------ -------- ------- ----------------------------------- --- --- ---------------------------------------- ---- ----- ----- ----- --- --- --- ---------------------------------------- ---- ----- ---- ---- --- --- --- --------------------------------------- ---- ----- ---- ---- --- --- ------- ---------- -- -- -- -- -- --- ---------- ------------------ -- -- -- -- -- --- ----- -------------------------------------- ----- ----- ---- ---- --- --- ----- --------------------------------------- ----- ----- ----- ----- --- --- ----- ------------------------------------- ---- ----- ---- ---- --- --- ----- ------------------------------------ ---- ----- ---- ---- --- --- ----------- ---------- -- -- -- -- --
  Class   Function    Trigger Command    TBIM   Transducer   Global   Group   Number of Arguments in Data Field                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
  9       0           Abort Trigger      No     No           Yes      Yes     0                                   9   1   trigger transducer without acknowledge   No   Yes   Yes   Yes   0   9   2   write with trigger without acknowledge   No   Yes   No   No   0   9   3   trigger with read without acknowledge   No   Yes   No   No   0   9   4 -63   Reserved                  9   64 - 127   open to industry                  9   128   Set channel to acknowledge for group   Yes   Yes   No   No   1   8   129   trigger a transducer with acknowledge   Yes   Yes   Yes   Yes   0   9   130   write with trigger with acknowledge   No   Yes   No   No   0   9   131   trigger with read with acknowledge   No   Yes   No   No   0   9   132 - 191   Reserved               
  9       192 - 255   open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
  ------- ----------- ------------------ ------ ------------ -------- ------- ----------------------------------- --- --- ---------------------------------------- ---- ----- ----- ----- --- --- --- ---------------------------------------- ---- ----- ---- ---- --- --- --- --------------------------------------- ---- ----- ---- ---- --- --- ------- ---------- -- -- -- -- -- --- ---------- ------------------ -- -- -- -- -- --- ----- -------------------------------------- ----- ----- ---- ---- --- --- ----- --------------------------------------- ----- ----- ----- ----- --- --- ----- ------------------------------------- ---- ----- ---- ---- --- --- ----- ------------------------------------ ---- ----- ---- ---- --- --- ----------- ---------- -- -- -- -- --

1.  **Set transducer to acknowledge for group command**

When a trigger command requiring an acknowledgement is sent to a group
of transducers only one of the transducers can return the
acknowledgement. This command selects the transducer to acknowledge the
trigger for a group trigger. It has a single argument in the data field
and that is the transducer address for the transducer that will generate
the acknowledgement. By issuing this command to the group (Global being
a special case of a group) all of the transducers in the group will
receive the command. If the address that is in the argument matches the
address of the transducer then that transducer will generate the
acknowledgement. All other devices in the group will know that they are
not supposed to acknowledge the trigger.

1.  **Communications Setup Commands**

The TBC shall use this class of commands when setting up or changing the
communications features of a TBIM. These commands are executed from the
Bus Management and TBIM communications channels only.

We have a long way to go to complete this table.

# Table ---Communications Setup Commands

  ------- ---------- ---------------------------- ------ ------------ -------- ------- ----------------------------------- ---- --- -------------------- ----- ---- ---- ---- ------------------------------------ ---- --- --------------------- ----- ---- ---- ---- ------------------------------------ ---- --- -- ----- ---- ---- ---- -- ---- -- ------------------------------------------- ----- ----- ---- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  Class   Function   Operation                    TBIM   Transducer   Global   Group   Number of Arguments in Data Field                                                                                                                                                                                                                                                                                                                                                  
  10      0          Reserved                                                                                              10   1   Enable Transmitter   Yes   No   No   No   1 byte to identify the transmitter   10   2   Disable Transmitter   Yes   No   No   No   1 byte to identify the transmitter   10   3      Yes   No   No   No      10      Assign output to a communications channel   Yes   Yes   No   No                                                   
  10      x - 255    Manufacturer defined tests   Yes    No           No       No                                                                                                                                                                                                                                                                                                                                                                                         
  ------- ---------- ---------------------------- ------ ------------ -------- ------- ----------------------------------- ---- --- -------------------- ----- ---- ---- ---- ------------------------------------ ---- --- --------------------- ----- ---- ---- ---- ------------------------------------ ---- --- -- ----- ---- ---- ---- -- ---- -- ------------------------------------------- ----- ----- ---- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

1.  **Discovery Commands**

The TBC shall use this class of commands when attempting to learn which
TBIM\'s exist on a bus or during hot swap to learn if any new devices
have been added. These commands are executed on the Bus Management
communications channel only.

We have a long way to go to complete this table and/or to decide if
these commands even fit the standard format.

# Table ---Discovery Commands

  ------- ---------- ----------- ------ ------------ -------- ------- ----------------------------------- ---- --- -- ----- ---- ---- ---- -- ---- --- -- ----- ---- ---- ---- -- ---- --- -- ----- ---- ---- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  Class   Function   Operation   TBIM   Transducer   Global   Group   Number of Arguments in Data Field                                                                                                                                                            
  11      0                      Yes    No           No       No                                          11   1      Yes   No   No   No      11   2      Yes   No   No   No      11   3      Yes   No   No   No                                                   
  11      x - 255                Yes    No           No       No                                                                                                                                                                                                   
  ------- ---------- ----------- ------ ------------ -------- ------- ----------------------------------- ---- --- -- ----- ---- ---- ---- -- ---- --- -- ----- ---- ---- ---- -- ---- --- -- ----- ---- ---- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

1.  **Manufacturer defined commands**

For commands that can be executed with an operator in the loop the
eXtensible Markup Language (XML) can be used to define additional
commands. XML can also be used to define extensions to the set of
commands defined in the standard. In order to use these commands a web
browser can display the contents of the commands TEDS. This will allow
the operator, with the aid of a small amount of additional software, to
select the command that needs to be executed, the arguments for that
command and to issue that command to the transducer, TBIM or group.
Annex 1 to this document lists the XML code that would be required to
describe all of the commands that are included in the standard.

1.  **Status**

There are requirements in the standard for status registers at both the
TBIM and the transducer level. Provisions are made for each register to
be up to thirty-two bits long but not all bits are used. Status bits are
shown in . An examination of will reveal that only fifteen of the
thirty-two bits are used. Of the remaining seventeen bits nine are
reserved and eight are open to industry. All status bits that are not
implemented in a TBIM or transducer are to be set to zero when they are
reported. A status bit set to one indicates that there is something in
the device that needs attention.

Most of the status bits at the TBIM level are simply the logical OR of
the corresponding status bits at the transducer level. The two
exceptions to this rule are the two status bits that do not apply at the
transducer level. This was done to allow a TBC that is polling to
determine if there are any status bits set in the system to determine
with a single read if any of the transducers within a TBIM have a status
bit set. To make this work any condition that might require the
attention of the system or the operator must cause the related status
bit to be a one. When the condition requiring attention is removed or
read the status bit should be set to zero.

Some status bits are present as long as the condition that is causing
them is present. The data available bit is an example of this type of
status bit. It will set when data becomes available and be cleared when
that data is read whether or not the status has been read. There are
other status bits that will remain set until read and the condition
causing them goes away. The TBIM invalid command bit is an example of
this type of status bit. If it went away after the condition went away
or when another command was received then it could never be read. This
type of status bit must be read to be cleared. All but two of the bits
in the TBIM status register are of the type that they will be there as
long as the condition that is causing them persists. That is because the
condition that is causing them is a bit set in a transducer status
register.

The status bits along with the service request masks are used to
implement the service request function. As shown in each status bit is
associated with a service request mask bit. Each pair of bits are
combined in an AND function and the outputs of the AND functions are
ORed together to produce the Service Request bit. This same logic is
used regardless of the level of the status register. is intended to show
the concepts that are behind the status registers not the physical
implementation. In many systems they will be implemented in software and
that is fine. Hardware implementations will rarely look like the circuit
shown in the figure. For status bits that are not implemented why should
a register be included. For mask bits that correspond to unused status
bits it may not be necessary to actually have a bit in a register.
Certainly the AND gate for ANDing the mask bit with an unimplemented
status bit is not needed and the OR gate input for the unimplemented
status bits are not needed. The only reason for having mask bits
implemented for status bits that are not implemented is that they can be
both read and written. If a TBC should issue a mask word of all ones and
read something back with some zeros in it someone would conclude that
there was a problem. A physical register for the TBIM status may only
need two bits in it. The remaining bits could be OR gates on the
corresponding bits in the transducer status registers.

# [Figure ]{#_Ref484072937}---TBIM or transducer service request masking

Status bits defined by the standard are tabulated below. Some status
bits are *reserved* for future versions of the specification. These bits
should not be used in any TBIMs. Some bits are optional and the TBIM
manufacturer may choose not to implement them. The eight bits designated
as *open* *to industry* may be used to report conditions not represented
by bits that are already defined. Status bits labeled *reserved,* and
unimplemented *optional* and *open to industry* status bits, shall be
reported as zero when read.

Bits that are described as open to industry may be defined to the
system, at least for display purposes, by redefining the Response to the
Status read command in a commands TEDS. A command in the command TEDS
that has the same class and function as a command that is defined by the
standard will supercede the standard command. This will allow the
manufacturer to define a command with a class of \"5\" and a function
equal to \"1\" that contains a text description for each of the bits in
the status word. This can be used to redefine the standard status bits
as well but this is highly discouraged since any software that was using
those status bits would be very confused. It will also allow the
manufacturer to use the reserved bits but this is also highly
discouraged. The reasoning is similar. If the working group revises the
standard and utilizes a reserved bit that you are using can cause the
system to become very confused. This is particularly true if the
software uses this bit to make an operational decision.

The status register can be accessed by the read status command described
in . The returned status should be four bytes wide.

# Table ---Status bits

  --------- -------------------------- --------------------------------------- -------------- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ----------------------------------------- ----------------------------------------------- ---------- ---- -------------------------------- -------------------------------------- ---------- ---- --------------------------- --------------------------------- ---------- ---- ----------------------------- ----------------------------------- ---------- ---- --------------- --------------------- ---------- --- --------------------- --------------------------- ---------- --- ------------------------- ---------- ----------- --- ---------------------- ---------------------------- ----------- --- -------------------------- ------------------------------- ----- --- ----------------------- ---------------------------- ----- --- -------------------------------- ------------------------------------- ----- --- -------------------------- ---------- ----------- --- ------------------------- ------------------------------- ----------- --- ------------------------------- ------------------------------------- -----------
  **Bit**   **TBIM Status Bits**       **Individual transducer Status Bits**   **Required**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  31        open to industry           open to industry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
  30        open to industry           open to industry                                       29   open to industry   open to industry      28   open to industry   open to industry      27   open to industry   open to industry      26   open to industry   open to industry      25   open to industry   open to industry      24   reserved   reserved      23   reserved   reserved      22   reserved   reserved      21   reserved   reserved      20   reserved   reserved      19   reserved   reserved      18   reserved   reserved      17   reserved   reserved      16   reserved   reserved      15   reserved   reserved      14   TBIM data over range or under range bit   transducer data over range or under range bit   optional   13   TBIM consumables exhausted bit   transducer consumables exhausted bit   optional   12   TBIM failed self-test bit   transducer failed self-test bit   optional   11   TBIM failed calibration bit   transducer failed calibration bit   optional   10   TBIM busy bit   transducer busy bit   optional   9   TBIM data available   transducer data available   optional   8   TBIM bad frame received   reserved   mandatory   7   TBIM operational bit   transducer operational bit   mandatory   6   TBIM hardware error bits   transducer hardware error bit   See   5   TBIM data /event bits   transducer data /event bit   See   4   TBIM missed data or event bits   transducer missed data or event bit   See   3   TBIM invalid command bit   reserved   mandatory   2   TBIM has been reset bit   transducer has been reset bit   mandatory   1   TBIM trigger acknowledged bit   transducer trigger acknowledged bit   mandatory
  0         TBIM service request bit   transducer service request bit          mandatory                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
  --------- -------------------------- --------------------------------------- -------------- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ------------------ ------------------ -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ---------- ---------- -- ---- ----------------------------------------- ----------------------------------------------- ---------- ---- -------------------------------- -------------------------------------- ---------- ---- --------------------------- --------------------------------- ---------- ---- ----------------------------- ----------------------------------- ---------- ---- --------------- --------------------- ---------- --- --------------------- --------------------------- ---------- --- ------------------------- ---------- ----------- --- ---------------------- ---------------------------- ----------- --- -------------------------- ------------------------------- ----- --- ----------------------- ---------------------------- ----- --- -------------------------------- ------------------------------------- ----- --- -------------------------- ---------- ----------- --- ------------------------- ------------------------------- ----------- --- ------------------------------- ------------------------------------- -----------

1.  **Service request bits**

The service request bit is similar to an interrupt in a computer. It
goes true when some condition in the TBIM or transducer requires the
attention of the system. Generally it means that some error has
occurred. As was discussed in , is a functional diagram of the logic
that is expected to be used to generate a service request. The system
may use the mask to inhibit conditions from generating a service
request. The TBIM service request will be set when either of bits 3 or 8
in the TBIM status register or any of the transducer service request
bits are set and not masked off.

The *TBIM service request bit* is set whenever the TBIM is requesting
service, as defined by the TBIM masks and the bits in the status
registers. It is cleared when read, unless a condition requiring service
persists.

There is a *transducer service request bit *for each transducer in a
TBIM. A *transducer service request bit *is set when any of the
transducer status bits are set and not masked off. It is cleared when
read unless the condition causing it persists.

This is a mandatory status bit and must be implemented in all TBIMs and
transducers.

1.  **Trigger acknowledged bits**

The *transducer trigger acknowledged bit* is set by the transducer when
it acknowledges the trigger if an acknowledgement is required. If an
acknowledgement is not required the *transducer trigger acknowledged bit
*is still set. This allows the system to determine by polling that the
action initiated by the trigger has been completed or at least started.
The *transducer trigger acknowledged bit* is cleared when read. The
*TBIM trigger acknowledged bit* is the OR of all of the *transducer
trigger acknowledged bits* in the TBIM. After global triggers or group
triggers the appropriate *transducer trigger acknowledged bit(s)* are
set by the TBIM for each effected transducer when it would have
acknowledged the trigger.

The *transducer trigger acknowledged bit *shall be cleared when read.
The* TBIM trigger acknowledged bit *shall be set as long as any
transducer within the TBIM has it\'s *transducer trigger acknowledged
bit *set.

This is a mandatory status bit and must be implemented in all TBIMs and
transducers.

1.  **Device has been reset bit**

This is a holdover from IEEE 1451.2. It may not make any sense in the
IEEE 1451.3 environment. We haven\'t decided as a group whether or not
we want to mandate that the device will remember its logical address
when powered down and back up. If it does not remember it then the fact
that a power cycle has occurred can be inferred by the fact that the
device is no longer responding to commands. This would mean the
discovery process had to be repeated after a device was reset. If we
mandate that devices remember their setup through a power cycle then if
a device is removed from one bus and later inserted into another bus it
will remember the setup that applied on the previous bus and special
procedures will be required to clear the previous setup and install a
new one. It would be cleaner then if devices did not remember their
logical address assignment through a power cycle. The question then is
do we want to make a difference between a reset and a power cycle?

The *TBIM has been reset bit* is set after the TBIM or transducer has
been reset for any reason, including, power up resets, watchdog timer
resets, or in response to a reset command. It is cleared when read.

The *transducer has been reset bit* shall be set after the transducer
has been reset for any reason. It shall be cleared when read.

The *Transducer has been reset bit* status bit is mandatory and must be
implemented for each transducer and the *TBIM has been reset bit *must
be implemented for the TBIM.

The *transducer has been reset* *bit* status bit is mandatory and must
be implemented for each transducer and the *TBIM has been reset* *bit
*must be implemented for the TBIM.

1.  **Invalid command bit**

This bit indicates that a transducer or TBIM has received a command that
is not implemented in that device. This does not necessarily mean that
the command is not a valid command but that it is not valid for that
device. For example it could be a write data command but be addressed to
a sensor or event sensor. Another example would be if a set attribute
command is sent to a transducer that does not support that attribute or
does not support changing that attribute then the TBIM invalid command
bit in the status word shall be set. This status bit is required in all
TBIMs and transducers. It is cleared when it is read.

The set transducer data repetitions command if the number that is issued
is greater than the number in the transducer data repetitions field in
the transducer specific TEDS. The use of this status bit for this error
may be questionable because the command is valid but the argument is
not. However to change it would involve another status bit and we need
to decide whether or not it is worth it. We could also change the name
of this bit.

1.  **Data available bit**

In applications that are sampling or applying data in a regular time
dependent manner this bit is not particularly useful. However, when
dealing with event sensors or sensors with the series units field in the
transducer specific TEDS to something other than time, It is used to
determine when the transducer has data available to read.

The *transducer data available bit* is set whenever a sensor has data
available to be read. The *TBIM data available bit *is the logical OR of
all of the *transducer data available bits* within the TBIM. The
*transducer data available bit* is cleared when read but the *TBIM data
available bit* goes away when all of the *transducer data available
bits* within the TBIM are read and thus cleared.

This status is particularly important for transducers that have series
units set to something other than seconds.

1.  **Hardware error bit**

The only place in the standard where this bit is required to be used is
in event sensors that do consistency checking. If an event sensor has
the ability to change the threshold and hysteresis values and does
consistency checking then the status bit should be set if the
consistency check fails. In the case of a digital input to an event
sensor if the bit pattern selected is not allowed then the consistency
check would fail and the hardware error status bit would be set. Other
applications that can use this bit are up to the manufacturer to define.

The *transducer hardware error bit* is set when the condition it reports
becomes valid. It is cleared when read provided the condition it reports
is no longer valid. This means that it may be necessary to read this bit
twice to change it. For example if the system wrote an unacceptable
value of hysteresis to an event sensor the consistency check would fail
and the transducer hardware error bit would be set. IF the event sensor
accepts the incorrect value for the hysteresis then the condition that
caused the error would still persist and the *transducer hardware error
bit* would remain set until an acceptable value of hysteresis was
written to the transducer. Then reading the status again would clear the
status bit. The first read of the status would not clear the status bit.
The read of the status after an acceptable value is written to the
device would clear the status.

The *Transducer hardware error bit* is set whenever a device has
detected a hardware error. The *TBIM hardware error bit *is the logical
OR of all of the *transducer hardware error bits* within the TBIM. The
*transducer hardware error bit* is cleared when read but the *TBIM
hardware error bit* goes away when all of the *transducer hardware error
bits* within the TBIM are read and thus cleared.

1.  **Missed data or event bit**

This status bit is used to notify the system that some data or event has
been missed. For event sensors there are two requirements that must be
met before this bit will be set. First the transducer must have been
enabled and second it must have received at least one trigger since
being enabled. The idea here being that the device will be enabled but
will not really be in use until after it receives the first trigger.
Once it receives the first trigger it will be expected to capture every
event and report it until it is disabled. If the system does not read
the data before another event occurs then this status bit will be set.
For sensors with the sampling attribute set to free running the
operation is very similar. Once the sensor has been enabled and received
the first trigger then it will set this status bit anytime it samples
data that the system does not read before it is disabled.

The *Transducer missed data or event bit* is set whenever a device has
detected that an event or a data sample has been missed by the system.
The *TBIM missed data or event bit *is the logical OR of all of the
*transducer missed data or event bits* within the TBIM. The *transducer
missed data or event bit* is cleared when read but the *TBIM missed data
or event bit* goes away when all of the *transducer missed data or event
bits* within the TBIM are read and thus cleared.

1.  **Data/event bit**

The *transducer data/event bit* is set at the data sample time for an
enabled sensor with the sampling attribute set to free running or when
an enabled event sensor detects an event regardless of the status of the
trigger. The *Transducer data or event bit* is set whenever a device has
detected that an event or a data sample has been missed by the system.
The *TBIM data or event bit *is the logical OR of all of the *transducer
data or event bits* within the TBIM. The *transducer data or event bit*
is cleared when read but the *TBIM data or event bit* goes away when all
of the *transducer data or event bits* within the TBIM are read and thus
cleared.

This status bit is required for any event sensor or any sensor capable
of operating with the sample initiated attribute set to the free running
state.

1.  **Not operational bit**

This status bit is required for all transducers and TBIMs. The
*transducer not operational bit* is cleared when the transducer is fully
powered up and complies with the manufacturers specifications. This bit
is set during warm-up or any other condition when the transducer does
not comply with specifications or is not operational. For example if the
transducer detects that the operating temperature is outside of the
acceptable operating limits it may set this bit. If some consumables are
required for operation and they are not available it should set this bit
as well as the *consumables exhausted bit*. This status bit is intended
as a warning to the system that the data being received from this device
or applied by this device may not meet the limits defined in the
manufacturers specification. It can also be used to warn the system that
it can not acquire or apply more data until the situation is corrected.

The *TBIM not operational bit* is set when all *transducer not
operational bits* are set. The TBIM operational bit may be set if the
TBIM is not operational due to any other condition.

1.  **Busy bit**

The *transducer busy bit* is set whenever a transducer cannot support
read or write access of transducer data. Commands that can cause this
condition include transducer self-test, transducer calibration,
transducer reset, zero transducer, or any other commands that interfere
with the transducers ability to support data transport. For non-buffered
devices triggers can cause the transducer not to be able to transport
data. The transducer can be using the data set memory and not allow data
access during the time that the memory is being used by the transducers.
This bit is only while the condition that it reports persists. The *TBIM
busy bit* is the OR of all of the *transducer busy bits* in a TBIM.

1.  **Failed calibration bit**

Many TBIMs are expected to have some capability to check the calibration
of the transducer. A common function that would fall into this
classification would be a shunt resistor that could be applied across
one leg of a wheatstone bridge. When the shunt resistor is applied there
is a predefined change in the output of the bridge. If the change in the
output is not what was expected then this status bit should be set.
There are many other techniques that transducer manufacturers can use
and the standard does not dictate what technique will be used. However,
regardless of the technique used, if the transducer can do a calibration
check it should set this status bit in the transducer when the unit
fails the test. These type of self-checks are normally run on command so
the condition that causes the status to be set will only exist
periodically. IEEE 1451.2 says that this status bit shall be set as long
as the condition persists but once the test is complete the condition
will be gone so the status bit will go away. The *transducer failed
calibration bit* should remain set until read. The *TBIM failed
calibration bit* shall be the OR of all of the *transducer failed
calibration bits* in a TBIM. This status bit shall only be set while the
failed calibration condition persists.

1.  **Failed self-test bit**

This bit is very similar to the failed calibration bit described in
except that the range of tests being run is more complete.

1.  **Data over range or under range bits**

This is an optional status bit. If the transducer has the capability to
detect over and under range condition, the *transducer over range or
under range bit* is set anytime the transducer detects an over range or
under range condition. This status bit remains set until read. This
means that reading the status and finding this bit set will only tell
the system that an over range or under range condition existed at some
time in the past. Reading it twice in rapid succession will tell the
system if the condition still exists. The *TBIM* *data over range or
under range bit *shall be the OR of all of the *transducer over range or
under range bits* in a TBIM.

1.  **Consumables exhausted bit**

Some types of transducers will require some chemicals or other
consumables be supplied for them to operate. This status bit is intended
to inform the system that this transducer needs its supply of
consumables replenished. The *transducer consumables exhausted bit* is
set when the transducer can no longer obtain the consumables that it
requires to continue operation. The manufacturer of the transducer
should determine just when to set this bit. If it is desirable to set
this bit some time in advance of the consumable being completely
exhausted to allow the condition to be corrected before it becomes a
problem to the system that will be acceptable. The *TBIM* *consumables
exhausted bit *shall be the OR of all of the *transducer consumables
exhausted bits* in a TBIM. This status bit shall be set as long as the
condition persists.

1.  **Service request Logic**

Service requests are sent from a TBIM to the TBC when some condition
exists within the TBIM that requires attention. They are roughly
analogous to interrupts in computers. However, unlike computer
interrupts, service requests have no direct mechanism for communicating
with the TBC that the condition exists. It must be polled by the TBC or
be able to \"piggy-back\" on some other communications. This means that
the TBC will not be able to respond within some minimum time to a
service request.

1.  **Service request masks **

The TBIM shall contain both a service request mask register and a status
register. These registers are thirty-two bits wide. Writing a one to any
bit position in the service request mask register allows the service
request bit to be set when the corresponding bit in the status register
is set. See for details.

The service request mask register bit positions correspond one-to-one
with the bit positions in the status register. See . For example, bit 4
of the transducer mask resister can mask the transducer data available
bit. The value placed into the bit 0 position of the service request
mask register is not used as this corresponds to the service request
bit. Since the service request bit directly generates the service
request it cannot be masked. The default power up value for the service
request mask registers is all ones (i.e. all status bits can generate
service requests). A TBIM or transducer reset command shall not affect
the value of this register.

Do we want this last sentence?

1.  **TBIM service requests**

The TBIM service request is the OR of all of the service request signals
from all of the transducers plus bit 0 of the TBIM status register.
shows the logic used to generate the TBIM service request.

# [Figure ]{#_Ref484076386}---TBIM Service request generation and masking

1.  **Hot-swap capability**

Hot-swap capability exists within the system on two levels. It shall be
possible to disconnect a TBIM from the bus or to connect a TBIM to the
bus without powering down the bus and without damage to either the TBIM
being inserted or anything else connected to the bus. However, there is
no mechanism within this standard that will allow the TBIM to notify the
TBC when it has been connected. If it is required that the system be
able to detect devices being added or removed from the bus while it is
operational, it must be accomplished by the TBC querying the devices on
the bus.

To detect devices being added to the bus the TBC needs to issue a
discovery command and the TBIMs on the bus that have not been set up
will all respond. Detecting a device that has been removed from the bus
requires that the TBIM send a command that requires a reply, such as a
read status command, and to wait for the TBIM to respond. If the TBIM
does not respond within a time out period then the device has been
removed from the bus. For Tier 1 and higher devices these operations can
be performed using the Bus Management Communications channel without
impacting normal operation on the bus.

1.  **TBIM version**

Each TBIM has a sixteen-bit version number. Manufacturers may assign
these bits in any fashion that they want as long as a consistent method
is used. It is intended that both the manufacturer and the user may be
able to use these bits to verify that this device is functionally
identical to other TBIMs with the same model and version numbers.

**Annex 1 XML code for the standard command set**

The following XML code was written by someone who knows very little
about XML so it really can\'t be very hard to do. The first section is
the Document Type Description or DTD that defines the things that must
be included in an XML statement of the type cmd. It also lists what
elements are optional. The last part of the document gives all of the
commands that are defined in the standard plus a couple of others that
were just thrown in to see what could be accomplished.

## Document Type Description Design

The Document Type Description (DTD) describes the element **cmd**. Cmd
has two required attributes. They are the **cmd_class** and the
**cmd_function**. These numbers need to be converted into eight bit
integers and concatenated to form the command code that is placed in the
command field of the data frame. Cmd has two required arguments. They
are the **cmd_name** and the **applicability**.

The **cmd_name** is a text string that can be displayed to an operator
to identify the command.

The applicability is an enumeration with five possible values as
follows:

**transducer** means that the command is only applicable to the
transducer. When transducer is used the physical transducer number
within the TBIM must be supplied. A physical transducer number of zero
indicates that this command can be addressed to any transducer in the
TBIM.

**TBIM** means that the command is only applicable to the TBIM

**Both** means that the command is applicable to both the transducer and
the TBIM.

**all** means that the command is applicable to the transducer, a TBIM
or a group (includes global).

**all_TBIMs** means that the command is applicable to a TBIM or
globally.

Cmd has two other arguments that may be present zero or more times. They
are the **argument** and the **possibilities**.

The argument identifies the information that needs to be included in the
data field of the command frame. It has one optional element and two
required elements. They are the **argument_title**, the
**argument_form** and the **number_of_words**.

**argument_title **is a text string that is meant to be displayed to the
operator.

The **argument_form **is an enumeration with** **five possible entries
as follows:

The **interger** means that the argument will be an integer number and
the number of bits must be supplied.

The type **single** is a single precision floating point number in the
IEEE 754 format. The number of bits is always thirty-two for this type
and does not need to be supplied.

The type **double** is a double precision floating point number in the
IEEE 754 format. The number of bits is always sixty-four for this type
and does not need to be supplied.

The type **model** indicates that the transducer data model from the
Transducer Specific TEDS should be used to determine the form of the
word. This value is known to the TBIM manufacturer and could be replaced
with the appropriate integer, single or double however that means that
this information is defined twice in two different TEDS and that seems
undesireable.

The type **file** is used to write and read TEDS information and similar
structures.

The **number_of_words** is an enumeration that declares the number of
words of the type described by the argument_form that are used in the
argument. For example if the argument_form is single and the
number_of_words is sixteen then sixteen single precision floating point
words which require sixty-four bytes will be placed into the data field.
The number_of_words is an enumeration with two possible entries. In the
case where the element **Quantity** is selected an actual number is
supplied. In the case of **transducer_data_reps** and
**reciever_block_size** the number will need to be supplied by software
in the T-Block or elsewhere in the system. They are as follows:

**Quantity** means that a number will be supplied.

**transducer_data_reps** means that the value being used for the
transducer data repetitions will dictate the number of arguments. The
transducer_data_repetitions from the transducer specific TEDS may be
being used or a number that is less than the field in the TEDS. The TBC
or software elsewhere in the system must know the number of transducer
data repititions that is being used for the specific transducer being
addressed and supply the correct value for the number_of_words.

**reciever_block_size **is a number that is a function of the hardware
in the TBC. It will not be known to the TBIM manufacturer so it cannot
be expected to be in the TEDS. The TBC or software elsewhere in the
system must know the block size that the TBC can support and supply the
correct value for the number_of_words.

**transducer_block_size **is a number that is a function of the hardware
in the TBIM. It will be known to the TBIM manufacturer and is expected
to be in the TBIM Meta-TEDS. The TBC or software elsewhere in the system
must have read the block size from the TEDS and supply the correct value
for the number_of_words.

The last argument for **cmd** is **possibilities**.

**Possibilities** is an enumeration with three possible entries. They
are **pos_list,** **pos_desc** and **bit_list**. There can be zero or
more possiblities.

**pos_list** means that a list of possible values will be provided. For
each item in the list a **list_value** and a **list_code** must be
provided. Lets consider an example of a transducer with possible gain
settings of 1, 2, 4, and 8. To select the gain of one a binary pattern
of 00 (decimal 0) will need to be issued to the transducer.
Correspondingly the gain of 2 would be selected with a code of 01, the
gain of 4 with 10 and the gain of 8 with 11.

The **list_value** give a value for the item. For our example the unit
has four gain possibilities say 1, 2, 4 and 8. Then each one of these
would be entered in a separate pos_list as a list value.

The **list_code** gives the code that needs to be sent to the transducer
to cause the specified list_value to be selected. For the example used
above the list_value of 1 would have a list_code of 1. The list_value 2
would have a code of 1. The list_value 4 would have a list_code gain of
2 and the list_value of 8 would have a list_code of 3.

**pos_desc** means that a the variable is given as a linear range of
values with a step size. Any integer value within the range of the
variable can be used. Pos_desc has three required arguments. They are
**low_limit**, **high_limit** and **step_size**. As an example consider
a transducer with an offset that could range from 0.25 volts to 4.75
volts. Lets further assume that the resolution with which the offset can
be set is 0.0195 volts. To further describe this transducer the code to
set the low limit is 13 and the code to set the high limit is 243.

**low_limit** gives the lowest possible value for this term. It requires
two elements to describe this term. They are **low** and **low_code**.

**Low** gives the lowest allowable value for this input to the
transducer. For our example this would be 0.25 volts and would be
entered as a text string.

**Low_code** gives the number that must be sent to the transducer to
cause the value low to be selected. For the example the code for the
low_value would be 13. It would be entered as text and converted to an
integer before being issued to the transducer.

**high_limit **gives the highest possible value for this term. It
requires two elements to describe this term. They are **high** and
**high_code**.

**High** gives the highest allowable value for this input to the
transducer. For the example this would be 4.75 volts and would be
entered as text.

**High_code** gives the number that must be sent to the transducer to
cause the value high to be selected. For the example this would be 243.
It would be entered as text and converted to an integer before being
sent to the transducer.

**step_size **gives the change in the value that corresponds to the
smallest increment in change for the value being actually sent to the
transducer. For our example the voltage difference of 0.0195 would
correspond to a change of one in the code sent to the transducer.

**bit_list **is used to define the meaning of each bit in a word. It
always refers to the argument immediately preceding it. There are two
elements to a bit_list. They are as follows:

The** mask **defines the bit in the word to which the text string in
**word** applies. It needs to be a number that when converted to binary
contains a single \'1\'. The mask is ANDed with the preceding argument
and if the result is non-zero then the text string in **word** should be
displayed.

The **word** gives a text string that explains the condition that is
implied by the bit if it is true.

## Document Type Description Code

\<?xml version=\'1.0\' encoding=\'us-ascii\' standalone = \'yes\' ?\>

\<!\-- The Document type definition is embedded in this document \--\>

\<!DOCTYPE command \[

\<!ELEMENT command (cmd)\* \>

\<!ELEMENT cmd (cmd_name, applicability, (argument, possibilities?)\* )
\>

\<!\-- cmd has two attributes command_class and cmd_function. These two
attributes are each eight bit integers and are concatenated to form the
sixteen bit command word required for the data link layer. The cmd_class
is the most significant eight bits.

\--\>

\<!ELEMENT cmd_name (#PCDATA) \>

\<!ELEMENT applicability (transducer \| TBIM \| both \| all \| all_TBIMs
)\* \>

\<!\-- applicability has five legal values as follows:

**transducer** means that the command is only applicable to the
transducer. When transducer is used the physical transducer number
within the TBIM must be supplied. A physical transducer number of zero
indicates that this command can be addressed to any transducer in the
TBIM.

**TBIM** means that the command is only applicable to the TBIM both
means that the command is applicable to both the transducer and the
TBIM.

**all** means that the command is applicable to the transducer, a TBIM
or a group (includes global).

**all_TBIMs** means that the command is applicable to a TBIM or
globally.

\--\>

\<!ELEMENT transducer (#PCDATA)\>

\<!ELEMENT TBIM (#PCDATA)\*\>

\<!ELEMENT both (#PCDATA)\*\>

\<!ELEMENT all (#PCDATA)\*\>

\<!ELEMENT all_TBIMs (#PCDATA)\*\>

\<!ELEMENT argument (argument_title ? , argument_form, number_of_words )
\>

\<!\-- The argument_title is optional and gives the name of the
argument. \--\>

\<!ELEMENT argument_title (#PCDATA)\>

\<!ELEMENT argument_form (integer \| single \| double \| model \| file )
\>

\<!\-- The argument_form describes the form that the argument will take
if one is required.

The **interger** requires that the number of bits be entered.

The type **single** is a single precision floating point number in the
IEEE 754 format.

The type **double** is a double precision floating point number in the
IEEE 754 format.

The type **model** indicates that the transducer data model from the
Transducer Specific TEDS should be used to determine the form of the
word.

The type **file** is used to write and read TEDS information and similar
structures.

\--\>

\<!ELEMENT integer (#PCDATA)\>

\<!ELEMENT single (#PCDATA)\*\>

\<!ELEMENT double (#PCDATA)\*\>

\<!ELEMENT model (#PCDATA)\*\>

\<!ELEMENT file (#PCDATA)\*\>

\<!ELEMENT number_of_words (quantity \| transducer_data_reps \|
transducer_block_size \| receiver_block_size ) \>

\<!\-- The **number_of_words** gives the number of words in the argument
form that are used in the argument for this field to have any meaning
there must be an argument_form \--\>

\<!ELEMENT quantity (#PCDATA)\*\>

\<!ELEMENT transducer_data_reps (#PCDATA)\*\>

\<!ELEMENT receiver_block_size (#PCDATA)\*\>

\<!ELEMENT transducer_block_size (#PCDATA)\*\>

\<!ELEMENT possibilities (pos_list \| pos_desc \| bit_list)\* \>

\<!\-- The possibilities gives the possible arguments to this command
and the code that corresponds to each one \--\>

\<!ELEMENT pos_list (list_value, list_code)\* \>

\<!\-- The pos_list lists all possible arguments to this command and the
code that corresponds to each one \--\>

\<!ELEMENT list_value (#PCDATA) \>

\<!ELEMENT list_code (#PCDATA) \>

\<!\-- The **list_code** gives the binary code that will be issued to
select the value specified by the **list_value**. \--\>

\<!ELEMENT pos_desc (low_limit, high_limit, step_size) \>

\<!\--

The **pos_desc** gives a lower limit and an upper limit along with the
code that is used to assign them. The codes are similar to the list code
described above.

It also lists the step size that is represented by a change in the code
of one.

\--\>

\<!ELEMENT low_limit (low, low_code) \>

\<!ELEMENT high_limit (high, high_code) \>

\<!ELEMENT step_size (#PCDATA) \>

\<!ELEMENT low (#PCDATA) \>

\<!ELEMENT high (#PCDATA) \>

\<!ELEMENT low_code (#PCDATA) \>

\<!ELEMENT high_code (#PCDATA) \>

The **bit_list** is used to give meaning to individual bits in a word.
The most common use for this feature is to define status bits.

\<!ELEMENT bit_list (mask, word) \>

\<!ELEMENT mask (#PCDATA) \>

\<!ELEMENT word (#PCDATA) \>

\<!ATTLIST cmd cmd_class CDATA #REQUIRED

cmd_function CDATA #REQUIRED \>

\]\>

## XML Code for cmd

The XML for the commands starts here.

\<command\>

\<!\-- The next twelve commands are the standard commands \--\>

\<cmd cmd_class=\'0\' cmd_function=\'1\' \>

\<cmd_name\> write service request mask \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\<argument\>

\<argument_title\> service request mask \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'2\' \>

\<cmd_name\> read transducer data \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Maximum number of bytes TBC can receive
\</argument_title\>

\<argument_form\> \<integer\> \'16\' \</integer\> \</argument_form\>

\<number_of_words\>

\<quantity\> \'1\' \</quantity\>

\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'3\' \>

\<cmd_name\> retransmit data frame \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the data set \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\>

\<quantity\> \'1\' \</quantity\>

\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> Maximum number of bytes TBC can receive
\</argument_title\>

\<argument_form\> \<integer\> \'16\' \</integer\> \</argument_form\>

\<number_of_words\>

\<quantity\> \'1\' \</quantity\>

\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'4\' \>

\<cmd_name\> single frame-write transducer data \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\<argument\>

\<argument_form\> \<model\> \</model\> \</argument_form\>

\<number_of_words\>

\<transducer_data_reps\> \</transducer_data_reps\>

\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'5\' \>

\<cmd_name\> first frame-write transducer data \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\>

\<quantity\> \'1\' \</quantity\>

\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<model\> \</model\> \</argument_form\>

\<number_of_words\>

\<transducer_block_size\> \</transducer_block_size \>

\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'6\' \>

\<cmd_name\> intermediate frame-write transducer data \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\>

\<quantity\> \'1\' \</quantity\>

\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<model\> \</model\> \</argument_form\>

\<number_of_words\>

\<transducer_block_size\> \</transducer_block_size \>

\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'7\' \>

\<cmd_name\> last frame-write transducer data \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\>

\<quantity\> \'1\' \</quantity\>

\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<model\> \</model\> \</argument_form\>

\<number_of_words\>

\<transducer_block_size\> \</transducer_block_size \>

\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'8\' \>

\<cmd_name\> read standard status \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'9\' \>

\<cmd_name\> read mask \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'10\' \>

\<cmd_name\> read TBIM version \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'11\' \>

\<cmd_name\> enable \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'12\' \>

\<cmd_name\> disable \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'13\' \>

\<cmd_name\> Set Channel Data Repetitions \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'16\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'14\' \>

\<cmd_name\> reset \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'15\' \>

\<cmd_name\> calibrate transducer \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'16\' \>

\<cmd_name\> zero transducer \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<!\-- The next two commands are the examples of manufacturer supplied
commands \--\>

\<!\-- For this example exact values of gain are given. It could include
the nominal values of 1, 2, 4 and 8. If all transducers in the TBIM had
similar amplifiers it might be better to set the transducers attribute
to zero and use the nominal gains.

\--\>

\<cmd cmd_class=\'0\' cmd_function=\'128\' \>

\<cmd_name\> First stage gain \</cmd_name\>

\<applicability\> \<transducer\> \'1\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> List of possible gain settings \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"0.93\" \</list_value\>

\<list_code\> \"0\" \</list_code\>

\<list_value\> \"1.98\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"3.88\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\<list_value\> \"6.75\" \</list_value\>

\<list_code\> \"3\" \</list_code\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<cmd cmd_class=\'0\' cmd_function=\'129\' \>

\<cmd_name\> First stage offset \</cmd_name\>

\<applicability\> \<transducer\> \'1\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> range of possible offsets \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_desc\>

\<low_limit\>

\<low\> \"0.5 volts\"\</low\>

\<low_code\> \"48\" \</low_code\>

\</low_limit\>

\<high_limit\>

\<high\> \"4.5 volts\" \</high\>

\<high_code\> \"207\" \</high_code\>

\</high_limit\>

\<step_size\> \"25.16 millivolts\" \</step_size\>

\</pos_desc\>

\</possibilities\>

\</cmd\>

\<!\-- The next eleven commands are the standard commands used to Query
the TEDS \--\>

\<cmd cmd_class=\'1\' cmd_function=\'1\' \>

\<cmd_name\> query Module META TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'2\' \>

\<cmd_name\> query Transducer Specific TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'3\' \>

\<cmd_name\> query META Identification TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'4\' \>

\<cmd_name\> query Transducer Identification TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'5\' \>

\<cmd_name\> query Calibration TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'6\' \>

\<cmd_name\> query Calibration Identification TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'7\' \>

\<cmd_name\> query End Users Application Specific TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'8\' \>

\<cmd_name\> query Industry extensions TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'9\' \>

\<cmd_name\> query transfer function TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'10\' \>

\<cmd_name\> query Digital Filter TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'1\' cmd_function=\'11\' \>

\<cmd_name\> query Command TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<!\-- The next eleven commands are the standard commands used to update
the TEDS in

non-volatile memory \--\>

\<cmd cmd_class=\'2\' cmd_function=\'1\' \>

\<cmd_name\> update Module META TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'2\' \>

\<cmd_name\> update Transducer Specific TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'3\' \>

\<cmd_name\> update META Identification TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'4\' \>

\<cmd_name\> update Transducer Identification TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'5\' \>

\<cmd_name\> update Calibration TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'6\' \>

\<cmd_name\> update Calibration Identification TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'7\' \>

\<cmd_name\> update End Users Application Specific TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'8\' \>

\<cmd_name\> update Industry extensions TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'9\' \>

\<cmd_name\> update transfer function TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'10\' \>

\<cmd_name\> update Digital Filter TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'2\' cmd_function=\'11\' \>

\<cmd_name\> update Command TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<!\-- The next eleven commands are the standard commands used to write
TEDS \--\>

\<cmd cmd_class=\'3\' cmd_function=\'1\' \>

\<cmd_name\> write TEDS block-Module META TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'2\' \>

\<cmd_name\> write TEDS block- Transducer Specific TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'3\' \>

\<cmd_name\> write TEDS block-META Identification TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'4\' \>

\<cmd_name\> write TEDS block-Transducer Identification TEDS
\</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'5\' \>

\<cmd_name\> write TEDS block-Calibration TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'6\' \>

\<cmd_name\> write TEDS block-Calibration Identification TEDS
\</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'7\' \>

\<cmd_name\> write TEDS block-End Users Application Specific TEDS
\</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'8\' \>

\<cmd_name\> write TEDS block- Industry extensions TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'9\' \>

\<cmd_name\> write TEDS block-transfer function TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'10\' \>

\<cmd_name\> write TEDS block-Digital Filter TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'3\' cmd_function=\'11\' \>

\<cmd_name\> write TEDS block-Command TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<!\-- The next eleven commands are the standard commands used to read
TEDS \--\>

\<cmd cmd_class=\'4\' cmd_function=\'1\' \>

\<cmd_name\> read TEDS block-Module META TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'2\' \>

\<cmd_name\> read TEDS block-Transducer Specific TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'3\' \>

\<cmd_name\> read TEDS block-META Identification TEDS \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'4\' \>

\<cmd_name\> read TEDS block-Transducer Identification TEDS
\</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'5\' \>

\<cmd_name\> read TEDS block-Calibration TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'6\' \>

\<cmd_name\> read TEDS block-Calibration Identification TEDS
\</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'7\' \>

\<cmd_name\> read TEDS block-End Users Application Specific TEDS
\</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'8\' \>

\<cmd_name\> read TEDS block-transfer function TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'9\' \>

\<cmd_name\> read TEDS block-Industry extensions TEDS \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'10\' \>

\<cmd_name\> read TEDS block-Digital Filter TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'4\' cmd_function=\'11\' \>

\<cmd_name\> read TEDS block-Command TEDS \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Offset into the TEDS for this block
\</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<!\-- The next class of commands are the standard commands used to by
the TBIMs to reply to commands

received from the TBC \--\>

\<cmd cmd_class=\'5\' cmd_function=\'1\' \>

\<cmd_name\> reply with status \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Status word \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\>

\<transducer_data_reps\> \</transducer_data_reps\>

\</number_of_words\>

\</argument\>

\<possiblities\>

\<bit_list\>

\<mask\> \'0x00000001\' \</mask\>

\<word\> Service Request Bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000002\' \</mask\>

\<word\> trigger acknowledged bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000004\' \</mask\>

\<word\> device has been reset bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000008\' \</mask\>

\<word\> TBIM invalid command bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000010\' \</mask\>

\<word\> missed data or event bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000020\' \</mask\>

\<word\> data /event bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000040\' \</mask\>

\<word\> hardware error bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000080\' \</mask\>

\<word\> operational bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000100\' \</mask\>

\<word\> TBIM bad frame received \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000200\' \</mask\>

\<word\> data available \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000400\' \</mask\>

\<word\> busy bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00000800\' \</mask\>

\<word\> failed calibration bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00001000\' \</mask\>

\<word\> failed self-test bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00002000\' \</mask\>

\<word\> consumables exhausted bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00004000\' \</mask\>

\<word\> data over range or under range bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00008000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00010000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00020000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00040000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00080000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00100000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00200000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00400000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x00800000\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x01000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x02000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x04000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x08000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x10000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x20000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x40000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x80000000\' \</mask\>

\<word\> unused bit \</word\>

\</bit_list\>

\</possiblities\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'2\' \>

\<cmd_name\> reply with mask \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Mask word \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'3\' \>

\<cmd_name\> reply to retransmit data \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> offset into the data set in bytes \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> A block of data \</argument_title\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'4\' \>

\<cmd_name\> reply to single frame-read data \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> A block of data \</argument_title\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'5\' \>

\<cmd_name\> reply to first frame-read data \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> offset into the data set in bytes \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> A block of data \</argument_title\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'6\' \>

\<cmd_name\> reply to intermediate frame-read data \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> offset into the data set in bytes \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> A block of data \</argument_title\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'7\' \>

\<cmd_name\> reply to last frame-read data \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> offset into the data set in bytes \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> A block of data \</argument_title\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'8\' \>

\<cmd_name\> reply with attributes \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_title\> Attribute code \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> Attribute \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'9\' \>

\<cmd_name\> reply with TBIM Version \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\<argument\> \<!\-- Major version number \--\>

\<argument_title\> Major version number \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\> \<!\-- Minor version number \--\>

\<argument_title\> Minor version number \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'10\'\>

\<cmd_name\> Response to Query TEDS command \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> TEDS Attributes \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possiblities\>

\<bit_list\>

\<mask\> \'0x01\' \</mask\>

\<word\> TEDS is read only \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x02\' \</mask\>

\<word\> This TEDS is not supported \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x04\' \</mask\>

\<word\> This TEDS is invalid \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x08\' \</mask\>

\<word\> This TBIM will support adding new TEDS \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x10\' \</mask\>

\<word\> reserved \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x20\' \</mask\>

\<word\> reserved \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x40\' \</mask\>

\<word\> reserved \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x80\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\</possiblities\>

\<argument\>

\<argument_title\> Current size of the TEDS \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> Maximum TEDS Size \</argument_title\>

\<argument_form\> \<integer\> \'32\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<argument\>

\<argument_title\> Maximum block size for TEDS Write Command
\</argument_title\>

\<argument_form\> \<integer\> \'16\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'11\' \>

\<cmd_name\> Response to Update TEDS command \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> Update status \</argument_title\>

\<argument_form\> \<integer\> \'8\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possiblities\>

\<bit_list\>

\<mask\> \'0x01\' \</mask\>

\<word\> The update was completed normally \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x02\' \</mask\>

\<word\> Access Error the TEDS is not supported \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x04\' \</mask\>

\<word\> The current TEDS image is invalid \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x08\' \</mask\>

\<word\> TEDS is read only \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x10\' \</mask\>

\<word\> reserved \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x20\' \</mask\>

\<word\> reserved \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x40\' \</mask\>

\<word\> reserved \</word\>

\</bit_list\>

\<bit_list\>

\<mask\> \'0x80\' \</mask\>

\<word\> reserved bit \</word\>

\</bit_list\>

\</possiblities\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'12\' \>

\<cmd_name\> Response to write TEDS block command \</cmd_name\>

\<applicability\> \<both\> \</both\> \</applicability\>

\<argument\>

\<argument_title\> number of bytes correctly received
\</argument_title\>

\<argument_form\> \<integer\> \'16\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'13\' \>

\<cmd_name\> Response to read TEDS block command \</cmd_name\>

\<applicability\> \<TBIM\> \</TBIM\> \</applicability\>

\<argument\>

\<argument_title\> data block \</argument_title\>

\<argument_form\> \<file\> \</file\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'14\' \>

\<cmd_name\> Response to Calibrate Transducer command \</cmd_name\>

\<applicability\> \<transducer\> \</transducer\> \</applicability\>

\<!\-- The remaining data will be supplied by the manufacturer \--\>

\</cmd\>

\<cmd cmd_class=\'5\' cmd_function=\'16\' \>

\<cmd_name\> Response to Zero Transducer command \</cmd_name\>

\<applicability\> \<transducer\> \</transducer\> \</applicability\>

\<!\-- The remaining data will be supplied by the manufacturer \--\>

\</cmd\>

\<!\-- The next five commands are the set attributes commands \--\>

\<cmd cmd_class=\'6\' cmd_function=\'1\' \>

\<cmd_name\> set sampling attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'2\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"trigger initiated\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"free running\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<cmd cmd_class=\'6\' cmd_function=\'2\' \>

\<cmd_name\> set buffered attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'2\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"off\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"on\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<cmd cmd_class=\'6\' cmd_function=\'3\' \>

\<cmd_name\> set End of data set operation attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'2\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"hold\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"recirculate\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<cmd cmd_class=\'6\' cmd_function=\'4\' \>

\<cmd_name\> set streaming attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'2\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"off\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"on\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<cmd cmd_class=\'6\' cmd_function=\'5\' \>

\<cmd_name\> set edge-to-report attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'2\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"rising\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"falling\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\<list_value\> \"both\" \</list_value\>

\<list_code\> \"3\" \</list_code\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<!\-- The next five commands are the read attributes commands \--\>

\<cmd cmd_class=\'7\' cmd_function=\'1\' \>

\<cmd_name\> read sampling attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'7\' cmd_function=\'2\' \>

\<cmd_name\> read buffered attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'7\' cmd_function=\'3\' \>

\<cmd_name\> read End of data set operation attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'7\' cmd_function=\'4\' \>

\<cmd_name\> read streaming attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'7\' cmd_function=\'5\' \>

\<cmd_name\> read edge-to-report attribute \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<!\-- The next command is the run diagnostics command \--\>

\<cmd cmd_class=\'8\' cmd_function=\'0\' \>

\<cmd_name\> run diagnostics \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<!\-- The next class of commands are the trigger commands \--\>

\<cmd cmd_class=\'9\' cmd_function=\'0\' \>

\<cmd_name\> abort trigger \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'1\' \>

\<cmd_name\> trigger a transducer without acknowledge \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'2\' \>

\<cmd_name\> write data with trigger without acknowledge \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'3\' \>

\<cmd_name\> trigger with read without acknowledge \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'128\' \>

\<cmd_name\> set transducer to acknowledge for the group \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'129\' \>

\<cmd_name\> trigger a transducer with acknowledge \</cmd_name\>

\<applicability\> \<all\> \</all\> \</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'130\' \>

\<cmd_name\> write with trigger with acknowledge \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<cmd cmd_class=\'9\' cmd_function=\'131\' \>

\<cmd_name\> trigger with read with acknowledge \</cmd_name\>

\<applicability\> \<transducer\> \'0\' \</transducer\>
\</applicability\>

\</cmd\>

\<!\-- The next set of commands are the communications control commands
\--\>

\<cmd cmd_class=\'8\' cmd_function=\'1\' \>

\<cmd_name\> Enable Transmitter \</cmd_name\>

\<applicability\> \<all_TBIMs\> \</all_TBIMs\> \</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'3\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"all transmitters\" \</list_value\>

\<list_code\> \"0\" \</list_code\>

\<list_value\> \"bus management\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"TBIM\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\<list_value\> \"data transfer #1\" \</list_value\>

\<list_code\> \"3\" \</list_code\>

\<list_value\> \"data transfer #2\" \</list_value\>

\<list_code\> \"4\" \</list_code\>

\<list_value\> \"data transfer #3\" \</list_value\>

\<list_code\> \"5\" \</list_code\>

\<list_value\> \"data transfer #4\" \</list_value\>

\<list_code\> \"6\" \</list_code\>

\<list_value\> \"data transfer #5\" \</list_value\>

\<list_code\> \"7\" \</list_code\>

\<!\-- If more or less data transfer channels exist the manufacturer
should change this command as appropriate \--\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\<cmd cmd_class=\'8\' cmd_function=\'1\' \>

\<cmd_name\> Disable Transmitter \</cmd_name\>

\<applicability\> \<all_TBIMs\> \</all_TBIMs\> \</applicability\>

\<argument\>

\<argument_form\> \<integer\> \'3\' \</integer\> \</argument_form\>

\<number_of_words\> \<quantity\> \'1\' \</quantity\>
\</number_of_words\>

\</argument\>

\<possibilities\>

\<pos_list\>

\<list_value\> \"all transmitters\" \</list_value\>

\<list_code\> \"0\" \</list_code\>

\<list_value\> \"bus management\" \</list_value\>

\<list_code\> \"1\" \</list_code\>

\<list_value\> \"TBIM\" \</list_value\>

\<list_code\> \"2\" \</list_code\>

\<list_value\> \"data transfer #1\" \</list_value\>

\<list_code\> \"3\" \</list_code\>

\<list_value\> \"data transfer #2\" \</list_value\>

\<list_code\> \"4\" \</list_code\>

\<list_value\> \"data transfer #3\" \</list_value\>

\<list_code\> \"5\" \</list_code\>

\<list_value\> \"data transfer #4\" \</list_value\>

\<list_code\> \"6\" \</list_code\>

\<list_value\> \"data transfer #5\" \</list_value\>

\<list_code\> \"7\" \</list_code\>

\<!\-- If more or less data transfer channels exist the manufacturer
should change this command as appropriate \--\>

\</pos_list\>

\</possibilities\>

\</cmd\>

\</command\>