Mettlertoledo r00 Man Ug Sai en
Mettlertoledo r00 Man Ug Sai en
User's Guide
Version 2.0.00
Contents
1 General Overview ........................................................................ 1-1
1.1. Introduction .................................................................................. 1-2
1.2. General Data Types ....................................................................... 1-2
1.2.1. Cyclic Data ......................................................................................................... 1-2
1.2.2. Acyclic Data........................................................................................................ 1-3
1.2.3. Acyclic Commands transmitted Cyclically .............................................................. 1-3
1. A common data layout for load cells, terminals, and other devices regardless of the physical
interface or automation network used.
2. A protocol that is optimized for machine-to-machine communication along with meaningful
condition monitoring.
3. A protocol covering sensors with a capacity of 10g up to scales in the thousands of kilograms.
4. A single protocol for the convenience of automation integrators, control system programmers,
and our automation customers
5. A tiered approach to create a flexible protocol for diverse devices.
In this document, we will refer to the METTLER TOLEDO product using SAI to communicate as "the
device". The "controller", or "control system" will be used to designate an automation system such
as a Programmable Automation Controller (PAC), a Programmable Logic Controller (PLC), a
Distributed Control System (DCS) or an Industrial PC (IPC).
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 1-1
1.1. Introduction
The SAI protocol is intended for use with weighing devices connected to control systems. The
primary weight data is based on 32-bit floating point; allowing our users to use their same
Overview
program no matter which sensor, transmitter, terminal, scale or software they select. SAI provides
Condition Monitoring, called “status” in each cyclic message. Even though SAI is a standard,
METTTLER TOLEDO products have more or less features depending on their level of performance.
These features are described in each sensor's individual documentation.
Products using the SAI protocol, when configured, will immediately begin transmitting rounded
gross weight as a floating-point value. Byte order called Endianness is automatically set for
PROFIBUS, PROFINET and EtherNet/IP. For other controller types, there is an automatic order
detection feature built-in. This eliminates the necessity to perform byte swapping in the controller.
This manual contains specific information about how SAI is constructed. METTLER TOLEDO
recommends that you use the appropriate device drivers available either from ODVA, Rockwell
Automation, PROFIBUS International or directly from METTLER TOLEDO. Currently, METTLER
TOLEDO supports EDS (EtherNet/IP), Custom AOP (EtherNet/IP), GSD (PROFIBUS DP) and GSDML
(PROFINET) device drivers. Sample programming code is available for selected products and
control systems.
SAI is managed as a standard at METTLER TOLEDO and this protocol is tested and proven for each
product as well as the target network with approved components. METTLER TOLEDO strongly
recommends that automation infrastructure components, such as cables and switches, are those
recommended by the automation supplier (e.g. Rockwell or Siemens) to avoid startup problems or
network performance risks
1-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Cyclic data is used when the controller requires constantly updating data from the sensor or scale.
The cyclic data is refreshed by the scale or sensor at the fastest rate possible. In those instances
where the data refresh rate is too high, the controller can send a command to reduce the speed. The
cyclic data is broken in sections of data called blocks. Each block of data is 4 words (16 bits per
word) in length. The data within these blocks expresses numeric values, string values, or individual
bits representing state/command depending on the type of block specified. The number of input
words (data sent from the device to the process controller) and output words (data sent from the
process controller to the device) always match. This limits the number of configurations in the
controller to a reasonable amount.
Fixed formats are provided for applications requiring smaller amounts of data with little to no
device configuration. A custom format selection is optionally provided to allow the user to select
the types and number of blocks required. See Section 2 for more information on block formats.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 1-3
2 Block Formats
Block formats are based on device/application functionality. Data type and space required are
dependent on the selected format. All devices use either the 1 block format or 2 block format as
their default. Any other format, such as an 8 block, is optional based on a device’s functional
capabilities.
The 1 Block Format always consists of a single Read Floating-Point Block and a single Write
Floating Point Block.
Block format Write data (Control system to device) Read data (Device to control system)
1 Block Format Floating Point Block Floating Point Block
Word 0 Floating point value (32 bit), Requested floating point value (32 bit)
Word 1 optionally used as parameter
with command
Word 2 16 bit channel mask 16 bit device status
Word 3 Command Response
The cyclic data of the 2 Block Format supports a single Floating Point Block (Identical to the 1
Block) and a single Status Block for each of the read and write data areas.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 2-1
Block format Write data (Control system to device) Read data (Device to control system)
2 Block Format Floating Point Block Floating Point Block
Word 0 Floating point value (32 bit), Requested floating point value (32 bit)
optionally used as parameter
Block Formats
Word 1
with command
Word 2 16 bit Channel Mask 16 bit device status
Word 3 Command Response
Status/Command Block Status Block
Word 4 Reserved or optional Status Status/Command Group 1
Word selection
Word 5 Reserved or optional Status Status Group 2
Word selection
Word 6 Reserved or optional Status Status Group 3
Word selection
Word 7 Command Response
The cyclic data of the 8 Block Format supports seven instances of a Floating Point Block and one
instance of a Status/Command Block for each of the read and write data areas.
2-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
3 Block Types
SAI supports two block types – floating point and status/command. Both block formats are
composed of one or multiple of these blocks.
1. 32 bits for a Floating Point value that can optionally be used as a “command” argument.
(Words 0-1)
2. 16 bits that provide the ability to send a single command (such as zero or tare) to multiple
channel scales (word 2)
3. 16 bits for the “Command value” used to identify the data desired by the control system (Word
3). Refer to Appendix A for details
3.1.1.1. Floating Point Value (Word 0 & 1)
The floating point value is single precision. Layout of floating point value bits are described in the
byte order section. Note that the 32-bit precision causes truncation of the 8th most significant digit
on very precise sensors and balances.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 3-1
3.1.1.2. Channel Mask (Word 2)
A Channel Mask is used to target a “command” to a particular device in multiple channel devices. If
the command shall only be applied to one particular channel, the channel mask should have a “1”
in the channel to be affected position all other positions shall remain “zero”. Current devices only
Block Types
support one chanel so channel 1 is the only channel that should be modified via the PLC. The
actual command that is applied to is defined as part of the Command Word.
Bits 0-15 independently apply to channels 1-16 of the device as appropriate. If a command is
issued for a specific device channel and includes the channel mask, all channels included in both
words (the command word AND the mask) shall have the command applied to them.
For example, if a command should apply to Channel 1, Channel 2, and Channel 3, bits 0-2 should
be set to 1 and all others would remain set to 0.
This word is used to send commands to the device on a selected channel. The value used in this
word is a combination of the command and the channel value. This combination informs the
device where the specified command should be used when more than one measurement channel is
present (for example, some terminals support multiple scales). Layout of this word is described in
the Command & Response Word section.
3-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
The Command value consists of three sets of bits: bits 0-10 are used to indicate what command is
sent. Bits 11-14 indicate which device is providing the data and Bit 15 is always 0 to keep the
overall value of this word positive unless the device cannot provide the desired data or comply with
the requested command.
Cycle x Cycle x + 1
Floating Point Block (Write) Floating Point Block (Read)
Word 0 Word 0
0000000000000000 Rounded Gross Weight
Word 1 Word 1
Word 2 Channel mask = 0000000000000000 Word 2 Device status bits (Scale 1)
Word 3 Send Gross Weight = 0000000000000000 Word 3 00000000 = Gross Scale 1
Cycle x Cycle x + 1
Floating Point Block (Write) Floating Point Block (Read)
Word 0 Word 0
0000000000000000 Rounded Gross Weight
Word 1 Word 1
Word 2 Channel mask = 0000000000000000 Word 2 Device status bits (Scale 1)
Word 3 Tare Scale Word 3 00000000 = Gross Scale 1
Cycle x + 2 Cycle x + 3
Floating Point Block (Write) Floating Point Block (Read)
Word 0 Word 0
0000000000000000 Rounded Gross Weight
Word 1 Word 1
Word 2 Channel mask = 0000000000000000 Word 2 Device status bits (Scale 1)
Word 3 Load Rounded Net Weight Word 3 00000000 = Rounded Net Scale 1
Figure 3-6: Example 3 – Selecting Net Weight and Viewing Gross Weight
1. 32 bits representing the floating point value (Words 0-1) that the Control device requested in
the previous cycle
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 3-3
2. 16 bits to provide Scale status bits (Word 2) which are defined below
3. 16 bits for the “response value” (Word 3).
By default, if the control system sends no data in its Floating Point Block Write (the write data is all
Block Types
zeroes), the device will send its default data for channel 1 (rounded gross weight), the scale
status word for this channel, and a response value word with all bits set to 0.
3.1.2.1.1. Floating Point Value (Word 0 & 1)
The floating point value is single precision. The order of the data in the floating point value will be
determined by byte order configuration of the device (big endian and little endian are also
possible). The default setting of these parameters is automatically selected for Profibus, PROFINET
and Ethernet/IP. There is also the capability for automatic detection of Endianness.
In certain special cases, the floating-point value may be used to send a different type of numeric
data (for example, a long integer). All special cases note the expected data type with the command
request.
3.1.2.1.2. Device Status (Word 2)
The device status is a composite status word that contains individual bits to indicate the state of
various scale or device specific binary (on/off) values. This includes error and data validation bits
to determine when the data received is good and is safely used. It also contains command status
bits to provide information on the state of an issued command in the Floating Point (write) Block.
The following table explains the bits. For information on how a specific device implements these
bits, please see the "Device Status Bits" section of the corresponding SAI device manual.
Bit 0 Sequence bits: As commands are sent by the control system (and seen by the device), the
device increments their value as an indication that a command has been seen and acted
Bit 1
upon.
These bits are used during a sequence of commands to ensure that there have been no
sequencing errors in the request and the response. They are updated on every NEW
command
Bit 2 Heartbeat: Is a security mechanism that ensures that the device is working as expected and
updating data in Words 0, 1 and 2, this heartbeat bit is toggled between off and on states at
a rate of 1 time per second or less. Should this bit stop toggling, this indicates that the device is
no longer operating and the weight value is incorrect.
3-4 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Bit 3 Data Okay: This bit gets set to 0 when the device is still operational but the value being
reported cannot be guaranteed to be valid.
The following conditions cause the Data Okay bit to be set to 0:
Device is powering up
Device is in setup mode
Device is in test mode
Over capacity condition occurs
When the A/D converter is at its limit
Product dependent over capacity that occurs when the device determines it cannot
trust the weight
Under capacity condition occurs
When the A/D converter is at its limit
Product dependent under capacity that occurs when the device determines it
cannot trust the weight
Bit 4 RedAlert Alarm Condition: This bit is true when the weight value is invalid and the weighing
process shall be stopped. If this bit is true it is an indication that the control system must stop
until the source of the alarm is evaluated and corrected. The control system should evaluate
the RedAlert status block to determine the nature of the alarm. Refer to RedAlert Alarms in
section 6.1 of this document for more information.
Bit 5 Center of Zero: This bit is true when the gross weight value is at a value of zero +/- one
quarter of a weights and measures verification interval denoted as "e"
Bit 6 Motion: This bit is true when the weight reported by the device is unstable the sensitivity of this
bit is influenced both by electronic filtering and the motion sensitivity setting of each product -
see individual product documentation for details.
Bit 7 Net Mode: This bit is true when the unit is operating in “Net” mode (Gross-Tare). This bit
indicates that a tare command is successful.
Note: Tare is the weight of the container, pallet, or other mass that is excluded from the
measurement of the item to be weighed.
Bit 8 Alternate weight unit: This bit indicates when a weight unit other than the primary weight unit
is being used by the device (normally for the operator). This bit is set to “1” to indicate that an
alternate weight unit is in use; however, the weight value in the Floating Point Block remains
in the original unit of measure unless “displayed weight” is selected.
Bit 9 -15 Device Specific bits: These bits are used to provide device specific status information Please
refer to the Device Specific Bits section of each device’s corresponding SAI device manual for
information on the implementation of these bits.
This is the response sent by the device to indicate the status of command execution. The structures
of Response Value (in this block) and Command Value in the Write block should match, unless an
error has occurred. The device responds as follows:
• Once a command is successfully sent by the control system and completed by the device, this
Response value will include exactly the same value, plus an indication of the device address
(usually 0000) for a single scale device or sensor.
• In case of an error (unknown command, error condition): the device responds with an error
code indicating the nature of the error.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 3-5
The Response value consists of three sets of bits: bits 0-10 are used to indicate what command is
sent. Bits 11-14 indicate which device is providing the data and Bit 15 is always 0 to keep the
overall value of this word positive unless the device cannot provide the desired data or comply with
the requested command. Then this bit is set to a "1"
Block Types
Two types of command structures are supported in the Status Block Write data. In the first type, a
single command is sent that requests a specific pre-configured combination of status data. In order
to maintain a consistent layout (input vs. output block size), words 0 - 2 are not used.
Send commands to the device on a selected channel. The value used in this word is a combination
of the command and the device value. This combination informs the device where the specified
command should be used when more than one measurement channel is present (for example,
some terminals support multiple scales). Layout of this word is described in the Command &
Response Word section.
3-6 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
3.2.2.1. Status Group 1 -3 (Word 0 - 2)
The Status/Command Group 1, Status Group 2, and Status Group 3 words contain specially
grouped bits of status information. The Status/Command Value word in the Write Status Block is
used by the control system to tell the device what data is desired in these words. By default, the
device will send RedAlert, Scale Status Group2, and I/O Group1.
Each command used to request status data in these words represent a particular combination (refer
to Appendix A, Cyclic Commands).
Command response sent by the device to indicate the status of command execution. The structures
of Response Value in the Read block and Command Value in the Write block match. The device
responds as follows:
• Once the command is successfully completed by the device: command issued in the Write will
have the same exact value in the Read response (command value and channel). The device
begins sending data.
• In case of an error (unknown command, error condition): device responds with error code.
3.2.3. Command/Response Word
The command word and the command response word for all blocks follow the same structure:
• Bit 15 is always 0 to keep the overall value of this word positive unless the device cannot
provide the desired data or comply with the requested command. Then this bit is set to a "1" to
indicate an error. A full description of the possible error codes is described in the Commands
section.
• Bits 11-14, used to indicate which channel of the device is providing the data. The channel
indicator bits are intended for devices that support multiple sensors or scales, allowing an
individual device to support up to a maximum of 16 channels. Single channel (scale or load
cell) devices will always use 0000 as their default channel value.
• Bits 0-10, used to indicate the command or response value.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 3-7
Word 3 Channel Indicator
Bit # Data 0000 Channel 1
15 MSB always 0 0001 Channel 2
Block Types
The Channel bits are mapped as shown above. The Command bits 0-10 are used by the control
system to select the reported data from the device data in the Floating Point (Read) Block, change
device data values, or issue operational commands such as tare, zero, etc. Details of this structure
are provided in the command section of this document. The Response bits 0-10 are sent by the
device to indicate the status of the command or to identify the data being sent in the read block.
The value used in this word is a combination of the command/response and the channel value.
This combination informs the device where the specified command should be used when more than
one measurement channel is present (for example, some terminals support multiple scales) or
which measurement channel is providing the data in the response.
To calculate the word’s complete integer value, the command/response value should be added to
the channel value:
Send command "report rounded net weight" on channel number 3 to the device. The resulting 16-
bit command word is "4098" and calculated as follows:
3-8 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Dec Command words bits
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Command 2 0 0 0 0 0 0 0 0 0 1 0
Channel number 3 4096 0 0 1 0
Command word 4098 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 3-9
4 Acyclic Format
The SAI Acyclic Format operates significantly different from cyclic data exchange. This format was
designed for one-time read or write data that occurs outside of the normal scan cycle. This is
typically used for setup data before the operation “starts” or other special information that is not
needed as frequently. Acyclic messaging is typically not used for "real-time" activities and is
generally used for non-repetitive or low repetition requests, from a control system. Simply stated, the
control system sends a request and the device responds to the request. A device can support this
format along with one or more of the cyclic data formats.
• Direct access through a unique name or number defined by the control system's acyclic
message block
Direct Access Level 1: mandatory instruction set required by devices supporting
asynchronous data exchange. Mostly weight related data
Direct Access Level 2: optional instruction set extending direct access level 1. Adds
application data (e.g. piece counting)
• Indirect access through a variable name provided in the data structure of two generic message
blocks reserved for this purpose (one for read, one for write).
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 4-1
4.2.1. Direct Access
Each variable is assigned its own unique address inside the address space of the control system.
Example:
Acyclic Format
4-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
4.4. PROFIBUS/PROFINET Acyclic Messages
For most control systems using PROFIBUS or PROFINET networks, there are two types of
commands that can be used to execute acyclic messages: RDREC (SFB52) and WRREC (SFB53).
The index and length parameters within these blocks are used to specify what variable (for Direct
Access) or what command (for Indirect Access) is required. To read a variable, a combination of
RDREC and WRREC commands are used. To write a value to a variable, the WRREC command is
used. Index numbers used are interface dependent due to the restrictions of the particular network
type.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 4-3
5 Commands
The commands available for the control system to use in Write blocks are grouped according to
block type and command type. All commands are considered "one-shot" – meaning that the
command is only triggered once even if it remains in the command word for multiple scans until
another command is sent. In order to permit a command to be issued a second time, a no-op
command is provided.
No more than one command per block is permitted (the only exception is a cancel operation
command to abort the previously sent command). All other commands to this block will be ignored
until its active command is completed (either successfully or not). Specifically, additional
commands sent before completion are not "stored" to be acted upon completion of the prior
command.
All responses to commands for the cyclic data blocks are provided through the command word.
Several command values are reserved – these are used for all command types to indicate special
state responses to any given command or for special sequencing commands when multiple steps
are required. Bit 15 of the response word is used to indicate a failure or error in the command
sent. This bit along with the value in the response bits (0-10) should be used to determine if the
command was successfully executed or not; and if not, why the command failed.
The table below shows which responses are possible for each command type.
Successful /
Step Failed
Next Value
Successful
Command
Command
Command
Command
Command
Command
Command
Command
Command
Response
Response
Response
Response
Response
Response
Response
Response
Unknown
Respose
Timeout
Aborted
Invalid
Invalid
Valid
Data
Data
Step
Step
Command Type
Floating Point Report x x x x x x
Floating Point Write x x x x x x x x
Floating Point Operation x x x x x x x x x
Status Block x x x x x x
Variable Block x x x x x x x x x
1. Place the "in process" response in the response word and begin processing the command.
2. Execute the command (report the data, write the value, etc.).
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 5-1
3. For multiple step commands only, report "step complete" when current step is finished
successfully. Report "step failed" when current step is unsuccessful. Wait for Continue or Abort
command from control system to start next step. Repeat as many times as required. If the
process is complete, continue to step 4.
Commands
1. Place the "in process" response in the response word and begin processing the command …
2. Update the response word to indicate invalid command (Bit 15 = 1, error value = 1, Total
Response = 0x8001)
3. Increment the sequence bits in the status word.
5.1.3. Unknown Command Response
An unknown command response is sent when the device does not support this information (for
example requesting rate values from a device that does not provide rate functionality). When an
unsupported command is received, the device should do the following:
1. Place the "in process" response in the response word and begin processing the command …
2. Update the response word to indicate unsupported command (Bit 15 = 1, error value = 4,
Total Response = 0x8004)
3. Increment the sequence bits in the status word.
5.1.4. Invalid Command Data Response
An invalid command data response is sent when a valid write command is received with an invalid
argument (for example one that is smaller or larger than the allowed value). When invalid
command data is received, the device should do the following:
1. Place the "in process" response in the response word and begin processing the command …
2. Update the response word to indicate invalid command value (Bit 15 = 1, error value = 8,
Total Response = 0x8008)
3. Increment the sequence bits in the status word.
5.1.5. Timeout Command Response
A timeout command response is sent when the valid command that is received by the device is
unable to execute within a pre-determined time. This might occur for commands that require stable
5-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
weight before execution, for example. When the command timeout occurs, the device should do the
following:
1. Place the "in process" response in the response word and begin processing the command …
2. Update the response word to indicate command timeout failure value (Bit 15 = 1, error value =
2, Total Response = 0x8002)
3. Increment the sequence bits in the status word.
5.1.6. Aborted Command Response
If the control system chooses to abort the previous command, it can issue a special command to
cancel operation of this previous command as long as its status is in process or during any step of
a multiple step sequence. The device will provide a response to indicate the initial command has
been aborted.
A command failed - aborted response is sent once a second command to cancel the prior
command has been received and processed. This can only occur if the original command 1)
permits cancellation, 2) has not already completed successfully, and 3) has not already failed.
When the command abort occurs, the device should do the following:
1. Place the "abort in process" response (2004) in the response word and begin processing the
command …
2. Update the response word to indicate command abort failure value (Bit 15 = 1, error value =
16, Total Response = 0x8010)
3. Increment the sequence bits in the status word.
Refer to Appendix A for a flow chart of the abort process and Appendix B for an example of this
command sequence..
Commands for procedures that have multiple steps have some special responses:
1. Place the "in process" response in the response word and begin processing the command …
2. Update the response word to indicate step successful when ready to execute next step (value =
2046)
3. Increment the sequence bits in the status word.
The control system should send one of the next step commands to continue with the next step in
the process.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 5-3
acknowledgement to start the next step in the process. When a previous step completes and the
next step in the sequence requires another value to execute the next step in the process, the device
should do the following:
1. Place the "in process" response in the response word and begin processing the command …
Commands
2. Update the response word to indicate step successful and next value is needed when ready to
execute next step (value = 2045)
3. Increment the sequence bits in the status word.
The control system should send one of the next step commands with the required value in the
floating point words to continue with the next step in the process.
1. Place the "in process" response in the response word and begin processing the command …
2. Update the response word to indicate step failed (Bit 15 = 1, error value = 32, Total Response
= 0x8020)
3. Increment the sequence bits in the status word.
At this point the control system will need to decide whether to abort the sequence (command =
2004), to retry the step (command = 2005), or to skip this step (command = 2006) and try to
perform the next step. Not all processes will allow all three of these options – those not permitted
will have an invalid command response when the next step command is sent.
5-4 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
5.2.3. Floating Point Operation Commands
Floating Point Operation Commands are used to trigger an operation. These commands may or
may not require a sequence of responses. Simple operations may execute immediately and require
no additional sequence steps. More complex operations may take multiple steps to execute and
require additional commands from the control system to continue through the entire process.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 5-5
6 Status/Command Block Word
Types
6.1. RedAlert Alarms (default, word 0)
These status bits are critical alarm status bits sent as part of the default status block when a status
block command "0" is sent. If the control system does not place any data in the Write
Status/Command word, the device will send this data in word 0. For information on how a specific
device implements these bits, please refer to the RedAlert Alarms section of the corresponding SAI
device manual.
Bit 0 Calibration Error: Indicates that the weight data can no longer be trusted, could be a
result of loss of calibration data or an algorithm running in the product to detect
weighing irregularities
Bit 1 Out of A/D range over/or under: A "1" state occurs when A/D value is at or beyond its
absolute maximum value or at or below its minimum value.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 6-1
Bit 2 Checksum Failure: A checksum analysis of memory does not yield the expected
result.
Bit 3 Weight Blocked: The weight data does not change appreciably over a defined period.
The assumption is that all scales have drift and noise from the environment, a non-
Status/Command Block Word Types
changing condition would indicate that the scale is not moving as expected because
it is either blocked or is not responding to the MCU (under conditions when there are
no proactive diagnostics available to discover the root cause).
Bit 4 Load Cell / Sensor Comm Failure: Many MT products contain "Smart" or networked
load cells which operate independently from the MCU. This bit changes state when
one or more sensors fail to respond to the MCU.
Bit 5 Customer-Defined Overload: The weight is equal to or greater than a "customer-
programmed" limit either on the scale or individual sensor's capacity (in a multi-
sensor system). Overload is a conditional limit but in many cases can lead to
catastrophic errors such as mechanical breakage or personal injury
Bit 6 Customer-Defined Under load: The weight is under the "customer-programmed" limit
on the scale / sensor (under zero but still within A/D range)
Bit 7 Network Failure: On multi-cell networks indicates failure of the entire network. No Cells
are responding
Bit 8 Zero Out of Range: A control system, or an operator attempts a zero command and
the device does not accept the command because the weight is outside of the
specified (setup) limits or the weights and measures limits. This typically occurs
when the user inadvertently attempts to zero the scale when the object being
measured has not been removed.
Bit 9 Symmetry errors: TraxDSP function that detects significant errors between load cells
and their peers.
Bit 10 Temperature error normal range: Many sensors and scales include sensors for
temperature compensation of the weight value. These sensors can also indicate that
the weight value is outside of acceptable tolerances and either the weight value
could be affected or the components could prematurely fall (in extreme cases)
Bit 11 Weights and Measures failure: An algorithm in the sensor or scale detects that the
product is no longer in compliance with weights and measures regulations
Bit 12 Incompatible Device Detected: A non-matching MT device or a foreign device is
attached to the system.
Bit 13 Test Mode: This bit is set to 1 when the device is in a mode in which live data is
replaced with special test data.
Bit 14 Temperature error operation range: This bit is set to 1 when at least one loadcell has
a temperature outside the rated operation temperature range
Bit 15 LC parameters block checksum error: This bit is set to 1 if a checksum error occurs
with the loadcell parameters block.
6-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
these bits, please refer to the Status Group 2 - Alarms section of the corresponding SAI device
manual.
Bit 0 Rate of Change: product, application or user defines a weight / time scenario as a
method of assurance that the scale is detecting weight. A typical application would be
a filling system where either the material is not available for filling or a feeding system
is not transporting material to the scale (slow fill timeout)
Bit 1 Communication errors: relates to a device that is connected to a sensor or terminal
and the necessary communication is not functioning according to specification
Bit 2 Over or Under Voltage (s): relates to a device that supports dynamic measurement of
system power. For example - POWERCELL CAN network voltages
Bit 3 Weight Drift: relates typically to a strain gage sensor that either has a broken bridge or
is damaged by water or lightning. The drift weight vs. time is outside of acceptable
tolerances.
Bit 4 Breach: the sensor's enclosure has been compromised and therefore vulnerable to
outside influences such as moisture / water. In most cases, a failure will occur if the
breach is not corrected or the sensor is not replaced
Bit 5 Calibration Expired: User / technician determines the maximum number of
transactions, or a time limit to occur before a preventative service or recalibration – the
alarm will toggle on N+1 weighing transactions
Bit 6 – 15 Open (application defined if needed, 0 if not used). Refer to the Application Specific
Alarms section of the corresponding SAI device manual for more information on these
application specific alarms.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 6-3
6.3. Scale Group 2 Status (default word 1)
These status bits are sent as part of the default status block when a status block command "0" is
sent. If the control system does not place any data in the Write Status command word, the device
Status/Command Block Word Types
will send this data in word 1. For information on how a specific device implements these bits, please
see the "Scale Group 2" section of the corresponding SAI device manual.
Bit 0-3 Unit bits 1-4: these bits are used to indicate the weight unit based on this chart:
Table 6-4: Weight Unit Bits 1 to 4
6-4 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Bit 4 MinWeigh Error: 1 = scale below acceptable minimum weighing range
Bit 5 & 6 Range bits 1 & 2: these bits are used to indicate the weight range or interval based on
this chart:
Table 6-5: Weight Range Bits 1 to 2
Bit # Data
0 Feed
1 Fast Feed
2 Coarse Feed
3 Feed stage 2
4 Feed stage 1
5 Tolerance OK
6 Over Zone
7 Under Zone
8 Heavy Zone
9 Light Zone
10 Open
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 6-5
Table 6-7: Target Status Bit Description
Bit # Description
0 Feed bit: turns ON when target feed is active (before final cutoff)
Status/Command Block Word Types
Bit # Data
0 Comparator 1
1 Comparator 2
2 Comparator 3
3 Comparator 4
4 Comparator 5
5 Comparator 6
6 Comparator 7
7 Comparator 8
8 Comparator 9
9 Comparator 10
10 Comparator 11
11 Comparator 12
12 Comparator 13
13 Comparator 14
14 Comparator 15
6-6 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Bit # Data
15 Comparator 16
There are two groups of these bits. The second group contains the status of the remaining
comparators.
Bit # Data
0 Comparator 17
1 Comparator 18
2 Comparator 19
3 Comparator 20
4 - 15 Open
The comparator status bits turn ON for the listed comparator when the assigned comparison logic
is true. For example, if a comparator were configured for less than 100 kg, when the weight value
is less than 100 kg the bit would be ON.
Bit # Data
0 In 1
1 In 2
2 In 3
3 In 4
4 In 5
5 In 6
6 In 7
7 In 8
8 Out 9
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 6-7
Bit # Data
9 Out 10
10 Out 11
Status/Command Block Word Types
11 Out 12
12 Out 13
13 Out 14
14 Out 15
15 Out 16
The Input status bits reflect the state of the associated input (ON when ON, OFF when OFF). The
output status bits reflect the state of the associated output (ON when ON, OFF when OFF).
The custom application status bits are sent when a status block command that contains one of
these status words in its combination is sent in the Write Status command word. For information on
how a specific device implements these bits, please refer to the Custom Application Status Group
section of the corresponding SAI device manual.
Bit # Data
0 Custom Bit 1
1 Custom Bit 2
2 Custom Bit 3
3 Custom Bit 4
4 Custom Bit 5
5 Custom Bit 6
6 Custom Bit 7
7 Custom Bit 8
8 Custom Bit 9
9 Custom Bit 10
10 Custom Bit 11
11 Custom Bit 12
12 Custom Bit 13
6-8 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Bit # Data
13 Custom Bit 14
14 Custom Bit 15
15 Custom Bit 16
Bit # Data
0 Custom Bit 17
1 Custom Bit 18
2 Custom Bit 19
3 Custom Bit 20
4 Custom Bit 21
5 Custom Bit 22
6 Custom Bit 23
7 Custom Bit 24
8 Custom Bit 25
9 Custom Bit 26
10 Custom Bit 27
11 Custom Bit 28
12 Custom Bit 29
13 Custom Bit 30
14 Custom Bit 31
15 Custom Bit 32
Refer to the product documentation for mapping and operation of these bits.
In devices that support buffering more than one error message, this command also uses optional
status word 4 to indicate which error message is requested. The default value (0) in word 4 and
devices that only support a single error message will report the last error code. For devices that
support an error code buffer, the word 4 parameter is used to indicate which message in the buffer
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 6-9
to report. If word 4 is set to 1, the device will report the previous error code. If word 4 is set to 2, it
will send the next previous error code and continue in this manner as the value is incremented. For
information on how a specific device implements these bits, please refer to the Last Error Message
Status Group section of the corresponding SAI device manual.
Status/Command Block Word Types
If fewer than the maximum possible number of attached devices are i n u s e , any unused
values should be set to 0. For information on how a specific device implements these bits, please
refer to the Custom Application Group 2 section of the corresponding SAI device manual.
Each status bit should be 0 when no error has occurred and 1 when an error is present.
6-10 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
7 Test Mode
In test mode, the device sends predefined data and allows toggling certain bits for verification
purposes. The test mode can be also used to confirm that the device is communicating with the
control system even when other parts of the device may not be configured or operational (for
example, the scale not yet calibrated).
The Test Mode bit (13) of the RedAlert status bits will turn on and the Data OK bit will turn off when
the device is in the test mode. In this state, the device will also accept the other test commands and
respond with pre-defined test data instead of normal operational data. For example, when in test
mode, the device will respond with an expected fixed weight value instead of the actual weight so
that test scripts can be written against these known values. This also provides methods for the
control system to force status bits to a specific state for the same reason.
Word 0
FP value = 2.76
Word 1
Word 2 Byte 2 = 80 Byte 1 = 80
Word 3 Byte 4 = 80 Byte 3 = 80
To exit test mode, the control system must send the Exit Test Mode command by sending 88h in
both bytes of Word 3.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 7-1
Word 0
FP value = 2.76
Word 1
Word 2 Byte 2 = N/A Byte 1 = N/A
Test Mode
If the Custom Format is used and there is no Floating Point Block, the Test Command can be sent
through the Write Status Block. If both block types are present, only one command in one of the
blocks is required to place the device in or out of test mode.
If a fixed byte order is selected, the control system is responsible for sending the data in the correct
byte order. If there is a byte order mismatch, communication in test mode may not be possible.
For example, if the command to report gross weight is sent after the device is placed in test mode,
the device should provide the proper response value and its floating point value for gross weight
should be 5000.11 (5000.11 + 0 = 5000.11). If Net weight is requested, the device should send
5003.11 (5000.11 + 3 = 5003.11).
7-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
7.5. Floating Point Test Commands for Scale Status
bits
Special test commands are available to turn on and off the scale status bits provided in the floating
point blocks when the device has been placed in test mode. See the list provided in the Commands
section.
For Indirect Access and Variable Block tests, two reserved variable names are assigned (see
Commands). These variables have no other functional purpose except to respond to test read and
test write commands. Each read variable always returns the same value and does not permit a new
value to be written to it. Each write variable expects a specific value to be sent and will return an
error state if any other value is sent.
Once in this mode, the device will then report the updated count value in the floating point read
block at the specified rate.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide 7-3
A Cyclic Commands
The commands available for the control system to use in Write blocks are grouped according to
block type and command type. All commands are considered "one-shot" – meaning that the
command is only triggered once even if it remains in the command word for multiple scans until
another command is sent. In order to permit a command to be issued a second time, a no-op
command is provided.
All responses to commands for the cyclic data blocks are provided in the same manner – through
the field indicator / channel value. During the process of receiving and executing the operation
required for a command, the device will follow a defined sequence, as shown in Figure A-1.
Command
received by device
through cyclic data
Device puts
“in process”
status in
field
indicator
Device begins
processing
command
Is command
valid?
No
Yes
Device executes
command
Does
command Device does not
No
execute execute command
successfully
Yes
Device puts
command value Device puts
into field indicator failure status in
(as ack command field indicator
complete)
Device
increments
sequence
bits
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-1
If a command is aborted, it will follow the sequence shown in Figure A-2.
Command
received by device
Cyclic Commands
Control System
sends second
command to
cancel prior
command
Is cancel
command No
valid?
Yes
For multi-step commands, special commands are used to advance to the next step, to retry a failed
step, or to abort the entire process. There are also corresponding status values to indicate when the
device is ready to execute the next step or when the step has failed.
A-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
During a stepped procedure, the commands follow the procedure shown in Figure A-3.
Multi-step
command received
by device through
cyclic data
Device puts
Device puts original
“in process”
Command value in the field
indicator and increments
status in 1
field
the sequence bits
indicator
Device begins
processing
Yes command step
Yes
Device executes
command cancellation
Skip Step process
Retry Step
Go to Device does not advance to
1 next step
Abort completes
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-3
A.1. Special Commands
For all block types, there are some reserved commands used for unique status or command
sequencing.
Cyclic Commands
A-4 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
A.3. Floating Point block Commands
A.3.1. Weight Report Commands
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-5
A.3.3. Zone Report Commands
A-6 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Command Description Value
Report Comparator 15 High Limit 69
Report Comparator 16 Limit 70
Report Comparator 16 High Limit 71
Report Comparator 17 Limit 72
Report Comparator 17 High Limit 73
Report Comparator 18 Limit 74
Report Comparator 18 High Limit 75
Report Comparator 19 Limit 76
Report Comparator 19 High Limit 77
Report Comparator 20 Limit 78
Report Comparator 20 High Limit 79
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-7
Command Description Value
Report Custom Field 11 Application Data Field 11 111
Report Custom Field 12 Application Data Field 12 112
Cyclic Commands
A-8 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Command Description Value
Write Comparator 1 High Limit 241
Write Comparator 2 Limit 242
Write Comparator 2 High Limit 243
Write Comparator 3 Limit 244
Write Comparator 3 High Limit 245
Write Comparator 4 Limit 246
Write Comparator 4 High Limit 247
Write Comparator 5 Limit 248
Write Comparator 5 High Limit 249
Write Comparator 6 Limit 250
Write Comparator 6 High Limit 251
Write Comparator 7 Limit 252
Write Comparator 7 High Limit 253
Write Comparator 8 Limit 254
Write Comparator 8 High Limit 255
Write Comparator 9 Limit 256
Write Comparator 9 High Limit 257
Write Comparator 10 Limit 258
Write Comparator 10 High Limit 259
Write Comparator 11 Limit 260
Write Comparator 11 High Limit 261
Write Comparator 12 Limit 262
Write Comparator 12 High Limit 263
Write Comparator 13 Limit 264
Write Comparator 13 High Limit 265
Write Comparator 14 Limit 266
Write Comparator 14 High Limit 267
Write Comparator 15 Limit 268
Write Comparator 15 High Limit 269
Write Comparator 16 Limit 270
Write Comparator 16 High Limit 271
Write Comparator 17 Limit 272
Write Comparator 17 High Limit 273
Write Comparator 18 Limit 274
Write Comparator 18 High Limit 275
Write Comparator 19 Limit 276
Write Comparator 19 High Limit 277
Write Comparator 20 Limit 278
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-9
Command Description Value
Write Comparator 20 High Limit 279
A-10 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
A.3.13. Weight Operation Immediate Commands
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-11
A.3.17. Display / Keyboard Operation Immediate Commands
A-12 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
A.3.20. Discrete Output Operation Immediate Commands
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-13
Command Description Value
Turn 1st internal Output 4 ON 1104
Turn 1st internal Output 5 ON 1105
Cyclic Commands
A-14 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Command Description Value
Custom Application Command 7 Application Command trigger 7 1207
Custom Application Command 8 Application Command trigger 8 1208
Custom Application Command 9 Application Command trigger 9 1209
Custom Application Command 10 Application Command trigger 10 1210
Custom Application Command 11 Application Command trigger 11 1211
Custom Application Command 12 Application Command trigger 12 1212
Custom Application Command 13 Application Command trigger 13 1213
Custom Application Command 14 Application Command trigger 14 1214
Custom Application Command 15 Application Command trigger 15 1215
Custom Application Command 16 Application Command trigger 16 1216
Custom Application Command 17 Application Command trigger 17 1217
Custom Application Command 18 Application Command trigger 18 1218
Custom Application Command 19 Application Command trigger 19 1219
Custom Application Command 20 Application Command trigger 20 1220
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-15
A.3.23. CalFREE Setup Commands
A-16 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
A.4. Status/Command block Commands
Status/Command block commands are unique to this block type and not ALL block types. So for
example, a command value of 0 in the status/command block will report the default status words
(RedAlert, I/O Group 1, Scale Group 2 Status bits).
The default for terminals and sensors is the same as command 1. This allows devices which need
to support a different default to provide it at a later date.
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-17
* When the Report Last Error Code command is sent, an optional value in word 4 is used to indicate which
error message is desired when the device supports buffering more than one error code message. The
default value (0) will report the last error message. Any other value will request the message at n + the
value's position in the buffer. For example, if 3 is placed in the word 4 value, the device should respond
with the error code that occurred three spots ahead of the last error message.
Cyclic Commands
When the user selected status word commands are sent, the values below are placed in Words 0 –
2 of the Write block to indicate which status words are wanted:
A-18 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
Optional status word selection value Description
72 Custom App Group 2
73 Load Cell Errors Group 1
74 Load Cell Errors Group 2
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide A-19
B Acyclic (Explicit) Commands
Asynchronous message commands are similar in structure to variable block commands. However,
these are control system interface dependent. Typically these support only two types of commands:
a read (or get) and a write (or set).
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide B-1
B.1.1. Report Weight Values
Command Description index (hex) 0,1 index (hex) attribute (hex) Data Type
Report Default Data For terminals & sensors this is Gross weight
14 2000 300 , 001 Floating Point
data in displayed resolution
Report Rounded Gross Weight Gross Weight data is displayed resolution 15 2001 300 , 002 Floating Point
Report Rounded Tare Weight Tare weight data in displayed resolution 16 2002 300 , 003 Floating Point
Report Rounded Net Weight Net weight data in displayed resolution 17 2003 300 , 004 Floating Point
Report Gross Weight Gross weight data in internal resolution 18 2004 300 , 005 Floating Point
Report Tare Weight Tare weight data in internal resolution 19 2005 300 , 006 Floating Point
Report Net Weight Net weight data in internal resolution 1A 2006 300 , 007 Floating Point
Report Tare Status State of tare command progress 1F 2008 300, 016 Floating Point
Report Zero Status State of zero command progress 24 2009 300 , 017 Floating Point
B-2 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
ProfiNET EIP class,
Profibus Slot 1 Slot,subslot = instance,
Command Description index (hex) 0,1 index (hex) attribute (hex) Data Type
Zero Immediate Zero scale (no motion check) 23 2014 300 , 015 Binary
Select Scale (Channel) Selects scale/channel if device supports multi-
32 200B 300, 019 Integer
channel/multi-scale operation
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide B-3
B.1.5. Status Group Information
Command Description index (hex) 0,1 index (hex) attribute (hex) Data Type
Report Scale Status Group 1 Reports scale status bits (group 1) 27 2040 302 , 001 Bit Level
Report Alarm Status Group Reports alarm status bits 28 2041 302 , 002 Bit Level
Report RedAlert Status Group Reports RedAlert status bits 29 2042 302 , 003 Bit Level
Report Scale Status Group 2 Reports scale status bits (group 2) 2A 2043 302 , 004 Bit Level
B-4 METTLER TOLEDO Standard Application Interface User's Guide 30588288 | 00 | 03/2020
B.2. Direct Level 2
The direct level variables are application and device specific and provided as part of the device documentation.
ProfiNET
Slot,subslot = EIP class,
Profibus Slot 1 0,1 index instance,
Command Description index (hex) (hex) attribute (hex) Data Type
Read Variable Read a variable specified by prior Request Varies by type
0 0 and 1, 3000 310 , 001
Read of variable
Write Variable Write value into variable specified Varies by type
1 1 and 3001 310 , 002
of variable
(Write) Request Read Variable Specify variable that will be used in Read Varies by type
2 2 and 3003 310 , 003
command of variable
30588288 | 00 | 03/2020 METTLER TOLEDO Standard Application Interface User's Guide B-5
www.mt.com
For more information
Mettler-Toledo, LLC
1900 Polaris Parkway
Columbus, OH 43240
Phone 800 438 4511
Fax 614 438 4900