This manual details the communications protocol (COMM) of the indicator.
This protocol is used by the Viewer program to calibrate and configure the instrument.
The ViewerTEST tab can be used as a convenient terminal to test the instrument
communications.
The indicator is fitted with opto-LINK communications as standard. This allows a
temporary isolated communications link to be established with a PC permitting the
instrument software to be upgraded. It also allows the use of computerised setup and
calibration via the Viewer software. The instrument also has an RS-232 port, which may
be used for printing, connection to a remote display or control using COMM. The
instrument can utilise the protocol to fully control the indicator.
Figure 1: Weight Indicator
1.1. Intended Audience
This manual is aimed at the designer or installer who is familiar with the operation
and setup of the instrument.
1.2. Scope
This manual lists the commands and registers for the protocol. In practice, only a
small subset of these commands would be used to control operational parameters.
This manual is part of a set of manuals covering the setup and operation of the
instrument. The set includes the following:
•Reference Manual - Contains detailed information on calibration and setup.
This manual is intended for use by Scale Technicians who are installing the
instrument.
•Operator Manual - Aimed at the operation of the instrument, and covers the
day-to-day operation of the instrument.
•Quick Start Manual - Intended for Scale Technicians who are familiar with the
instrument and simply need a quick reference to menu options and connection
diagrams, etc.
•Communications Manual - Contains details on the extended networking
capabilities (communications protocol).
1.4. Document Conventions
The following document conventions (typographical) are used throughout this
Communications Manual.
Bold Text
Bold text denotes words and phrases to note.
^ This symbol denotes one space (used in Commands)
… Ellipses indicate an incomplete listing. For space considerations in this
Manual complete listings of returned Command responses may not be
shown.
1234
H
The subscript H indicates numerical values expressed in hexadecimal
(radix 16).
1010 b The subscript b indicates a numerical value expressed in binary (radix
2). Also, typically, spaces are used every 4 bits to break the string up
visually, e.g., 1100 1101
.
b
[…] Items enclosed in square brackets are optional.
<char> <char> denotes a special character value. eg. <CR> is carriage return.
This symbol indicates a <CR><LF> pair of characters.
1234
1234
This font indicates message sent to an indicator.
This font indicates a response from an indicator.
“string” String values are enclosed in double quotes “”
⊗Items marked with ⊗ indicate that the setting is available only in Full
Setup and is trade critical. When trade critical settings are changed the
calibration counter will be incremented.
REG_... Register name. Refer to Register Identifiers page 37
A temporary infrared communications link can be
established between any
instrument and a PC using
an optional opto-LINK cable.
The opto-LINK cable can be
used to transfer setup
information from a PC and
download software upgrades
to the instrument. This setup
information can be stored for
later use and/or transferred
to other instruments.
The PC end of the opto-LINK cable is a standard COM port (female DB9) or USB
connector. The instrument end of the cable consists of an infrared transceiver,
which attaches to the left side of the instrument display. To facilitate a quick and
simple connection, the infrared transceiver is secured in place by a permanent
magnet located within the head of the opto-LINK.
WARNING
The opto-LINK head contains a strong magnet and care should be taken with
its proximity to electronic media (eg. credit cards, floppy disks, etc.) and/or
other electronic instrumentation.
Note: The serial connection for the opto-LINK is standard to this instrument.
2.1.1. opto-LINK Activation
This feature is used to temporarily connect a PC to the instrument for calibration and
setup purposes.
A long press of the GROSS/NET key will toggle the opto-LINK infrared
communications On/Off.
When the opto-LINK has been enabled the following will occur:
• The instrument briefly displays the prompt opto-L.
• The editing annunciators (ie. GRP, ITM, etc.) will flash while the instrument
searches for activity. During this period, the instrument also disables the RS232 communications.
•Activity Located: If the instrument is successful in locating activity, the editing
annunciators will continue to flash during the entire period of communications.
•No Activity Located: If the instrument fails to locate activity in five minutes, the
opto-LINK will be disabled and the editing annunciators will stop flashing. The
instrument will also revert back to the normal RS-232 communications (ie. the
SERIAL:TYPE setting will be re-activated).
2.1.2. opto-LINK Communications Settings
The communications settings for opto-LINK are 9600 baud, no parity, 8 data bits
and 1 stop bit. This is often referred to as 9600 N81.
Ring Networks: Multiple Instruments to PC (RXD, TXD, GND)
Instruments with K302 software revision V3.82+ can be configured in a Ring
Network. This also requires an enhancement in the PC’s software.
The Short Ring Network layout can be used in situations up to a total cable run
length of about 150 m (500 ft) at 9600 baud in a clean EMC environment. If
there are communications errors, or for longer cable runs, lower the baud rate
to 4800 or 2400, and/or
use the Long Ring Network in Figure 5 below, which
uses a separate return path from the ‘Last Instrument’ to the PC.
For DB25 connections at the PC connector, refer to Figure 3 above.
When operating in a Ring Network, the Instruments must have:
• same serial port options, i.e., baud, parity, data bits, stop bits;
• unique addresses.
Short Ring Network: Multiple Instruments to PC (RXD, TXD, GND)
Figure 4: RS-232 Short Cable Runs: Ring Network using COM Port (DB9)
Long Ring Network: Multiple Instruments to PC (RXD, TXD, GND)
The Long Ring Network layout can be used in situations where each leg of the
cable run can be up to about 150 m (500 ft) at 9600 baud. If there are
communications errors, lower the baud rate to 4800 or 2400.
Figure 5: RS-232 Long Cable Runs: Ring Network using COM Port (DB9)
Table 1 provides a summary of the differences between the two communications
links:
opto-LINK RS-232
Supports COMM protocol
Yes Yes
Supported indicators All R300 Series R320, R323 Only
Permanent connection No Yes
Communications settings 9600, N, 8, 1 Configurable via
SERIAL:BAUD,
SERIAL:BITS
Timeout with no use 5 minutes None
Software upgrade using FLASH Yes Yes
Remote display (Master) No Yes
Printing (Print) No Yes
Auto outputs (Auto.1, Auto.2) No Yes
NET mode (Network) When activated
This section gives a brief introduction to using the COMM protocol on the instrument. The
examples below use the broadcast address and assume that a PC is connected to the RS232 port as described in RS-232 Connection page 6. The indicator is assumed to be at
address 01.
From K302 software revision V3.82+, the instruments can be installed in a Ring Network,
see §3.7 below.
3.1. Using Viewer
• Start Viewer.
• Connect to the indicator.
• Select the Test page.
• The examples listed in this section may be entered directly in the edit box at the
top left of the screen.
• Press the Send button or press the ENTER key to send a command to the
indicator. The command that is sent is shown on the terminal screen after the
symbols >>>.
Note: The symbol below indicates <CR><LF>. Using ViewR300, this is
generated by pressing Send.
3.2. COMM Protocol Summary
NOTE: The values used with the Read Final and Write Final commands are
hexadecimal. Refer to Table 7: Decimal, Binary and Hexadecimal Conversion page
41 for information on conversions.
Figure 6 lists registers and commands for performing common tasks on the
instrument.
Address Field
20 mm rrrr :optional_value
Commands
Registers
Gross Weight 0026
Net Weight 0027
Setpoint1 - Type 0170
Setpoint1 - Source 0171
Setpoint1 - Target 0172
Key Press 0008
System Status 0021
Read Literal Value 05
Read Final Value 11 Value to write (in hexadecimal)
Type the following (without the “” quotes) and then press Send (which appends
<CR><LF>):
“20050026:”
The indicator will response with a message like:
“81050026:^^10.00^kg^G” (along with a trailing <CR><LF>)
3.4. Read Gross Weight as Final Value
Type the following and then press Send:
“20110026:”
The indicator will response with a message like:
“81110026:000003E8”
Where the value after the “:” is the hexadecimal value of the gross weight
without any decimal places or units. In decimal, this value is 1000. For
conversion between decimal and hexadecimal, refer to Table 7: Decimal, Binary
and Hexadecimal Conversion page 41.
3.5. Setting Values
For example, change Set Point Target 1 (overweight) to 500 kg in final form for an
indicator with units of kg.
Type the following and then press Send:
“20120171:1F4” (1F4 in hexadecimal = 500 decimal)
The indicator will respond with a message like:
“81120171:0000”
Where the “0000” value after the “:” indicates no errors.
3.6. Remote Key Press
For example, remotely press the TARE key on an indicator.
Type the following and then press Send:
“20120008:8003”
The indicator will respond with a message like:
“81120008:0000”
Note: For the ZERO key type “20120008:8002”.
3.7. RS-232 Ring Network Enhancement
From K302 software revision V3.82+, the instruments can be installed in a Ring
Network. The central computer’s software is required to send additional framing
characters, ‘Echo-On’ (=<DC2> =ASCII 12
around each command.
The instrument contains a number of registers. The indicator is configured by reading and
writing the information stored in these registers. Information such as gross weight is
obtained by reading these registers. The instrument has registers of different types to hold
weights, menu options, etc.
4.1. COMM Message Structure
The messages use ASCII characters. Almost all numeric values are transmitted in
hexadecimal form using uppercase HEX characters (ie. 0 to 9, A to F).
Commands from a Master (typically a PC) to a Slave (typically an Indicator) are of
the form:
Address
Field
Command
Field
Register Id [Optional
Parameter]
xx mm rrrr “:” [ppppp]
Table 2 COMM Command Format
Responses from Slave to Master are of the form:
Address
Field
Command
Field
Register Id Return value
yy mm rrrr “:” vvvvv
Table 3 COMM Response Format
Where:
xx is the Address Field sent to the indicator (Response bit = 0).
yy is the Address Field in the response from the indicator (Response bit = 1).
mm is the Command Field.
rrrr is the Register Id Field.
“:” is the separator between the command header and the parameter or return
value.
ppppp is the optional parameter value sent to the indicator.
vvvvv is the return value from the indicator.
is the two characters <CR><LF> (Carriage-Return, Line-Feed).
The address field is a two character hexadecimal field where:
Bit Field Name Description
7 Response Set by the slave to indicate that this message is a response
to a previous command.
6 Error Set to indicate that the data in this message is an error code
and not a normal response. Refer to Error Handling page
16.
5 Reply
Required
Set by the master to indicate that a reply to this message is
required by any slave to which it is addressed. If not set, the
slave should silently perform the command.
4 to 0 Indicator
Address
Valid unit addresses are 01 H to 1F H (1 to 31 in decimal).
00
is the broadcast address. All slaves must process
H
broadcast commands. When replying to a broadcast, slaves
replace the broadcast address with their own address in this
field. Set in the indicator menus with SERIAL:ADDRES.
4.1.2. Command Field
The command field is a two character, hexadecimal field holding the id of command
to be performed. The following commands are defined to read register values or
properties:
Command Description
CMD_READ_TYPE Read Type of register.
CMD_READ_RANGE_MIN Read Minimum valid register value.
CMD_READ_RANGE_MAX Read Maximum valid register value.
CMD_READ_LITERAL Read Literal value of register.
Note: Value will be converted to final value as
required (eg. 2.000 kg G for gross weight).
CMD_READ_DEFAULT Read Raw default register value.
CMD_READ_MENU_TEXT Read Menu Text name shown on indicator display
during setup menus.
CMD_READ_ITEM Return item from list. Only valid for
TYPE_MENU, TYPE_OPTION and
TYPE_BITFIELD.
CMD_READ_PERMISSION Read Permission string.
CMD_READ_FINAL Read Value of register converted to final value.
The following command is defined to write values to registers:
Command Description
CMD_WRITE_FINAL Write Final Value to register.
The following command is defined to execute on registers of TYPE_EXECUTE:
Command Description
CMD_EXECUTE Execute the function associated with a register.
4.1.3. Register Id Field
This is the four character hexadecimal register identifier. For the list of registers in
the instrument refer to Register Identifiers page 37.
The value here is dependent on the command and register being accessed. Not all
commands require a parameter (eg. CMD_READ_FINAL). Commands that write to
a register have the new value as the parameter.
4.1.5. Return Value
The value here is dependent on the command and register being accessed. If a
command does not return a value (eg. CMD_WRITE_FINAL), then the return value
will be an error code (eg. “0000” for no errors).
4.1.6. RS-232 Ring Network Enhancement
When the instruments are installed in a Ring Network, the central computer’s
software is required to send additional framing characters around each command.
Referring to Table 2 COMM Command Format above, the enhanced commands
from a Master (typically a PC) to the instruments are of the format:
Echo-On COMM Message Echo-Off
<DC2>
Command:
Address
Field
xx mm rrrr “:” [ppppp]
Command
Field
Register Id [Optional
Parameter]
<DC4>
Table 4 COMM Command Format with Ring Network Enhancement
Where:
<DC2> and <DC4> are the characters ASCII 12
and ASCII 14 H respectively,
H
here called ‘Echo-On’ and ‘Echo-Off’.
Each instrument echoes the command, which is passed on to the next instrument.
If the command’s Address Field is addressed to one of the instruments, or is a
broadcast (Address Field = 0), then the instrument will append a response ahead of
the ‘Echo-Off’-<DC4> character.
If the command is broadcast, every instrument will append a response: eg., 7
instruments will generate 7 responses.
Referring to Table 3 COMM Response Format above, the responses from each
instrument that are sent onto the next instrument, and so on up to the PC, are of the
format:
Echo-On COMM Message(s) Echo-Off
<DC2>
Command:
Address
Field
xx mm rrrr “:” [ppppp]
’n’ Responses:
Address
Field
yy mm rrrr “:” vvvvv
Table 5 COMM Response Format with Ring Network Enhancement
If a command cannot be processed, the indicator returns an error code. Typical
errors include:
• Register not implemented on indicator
• Register value out of range
• Command not implemented for register
An error response is indicated by setting the Error bit in the Address Field of the
reply.
The message returned by the indicator in response to an error will be of the form:
Address
Field
zz mm rrrr “:” wwwww
Command
Field
Register Id Error Code
An error code will consist of a hexadecimal value representing the specific error
code.
Note: When an error occurs, the most significant bit is 1 and other bits indicate the
specific problem. More than one error bit may set if more than one error is present.
Refer to Error Codes page 37.
For example, attempting to read the type of the register with Id = 0000
(not
H
implemented) will return:
C1010000:A000
which is interpreted as:
= 1100 0001 b
C1
H
• Response to a command
• Error
• Unit responding is address 01
01
= REG_READ_TYPE (the command that was sent).
H
0000
= Register Id.
H
H
A000
= 1010 0000 0000 0000 b is the error code which is interpreted as
Each register has permission levels required for reading, writing and executing.
These permission levels can be read using the CMD_READ_PERMISSION
command. The communications link has a permission level. Changing the current
permission level is achieved by writing a passcode to a permission register. If the
correct passcode has been given, future messages use that permission level. The
passcodes for SAFE and FULL are also used for SPEC:SAFE.PC and
SPEC:FULL.PC in the indicator’s setup menus. If more than one passcode register
has the correct passcode, the indicator uses the highest level (most powerful). The
instrument has the following permission levels:
Permission
Description Passcode Register
Level
None Lowest level permission.
NONE
Operation is always available
(eg. reading the gross weight).
Safe Operation is available if the safe
REG_ENTER_PASS_SAFE
passcode has been given. Used
for indicator settings that do not
affect trade certification of indicator
(eg. baud rate).
Full Operation is available if the FULL
REG_ENTER_PASS_FULL
passcode has been given. Used
for trade critical indicator settings
(eg. decimal places).
Factory Operation is available only to the
N/A
indicator’s internal operations
(eg. writing to the gross weight).
If a command cannot be performed because the register needs a higher permission,
the command will return an error code of REG_ERR_ACCESS_DENIED.
Within the instrument there are a number of trade critical registers that can affect the
calibration and/or legal for trade performance of the instrument. If any of these
registers are altered, the trade certification of the scale will be voided.
The instrument provides built-in calibration counters to monitor the number of times
the critical registers are altered. The value of the counter is stored within the unit
and can only be reset at the factory. Each time a critical register is altered, the
counter will increase. Whenever the instrument is powered up, or setup mode is
entered/exited, the current value in the counter is displayed briefly (eg. C00010).
Note: When the Scale Use is set to NTEP two counters will display. The table
below describes when the counter(s) will increment for Industrial, OIML or NTEP
modes.
Industrial OIML NTEP
The Calibration
Counter increments
when trade critical
settings, marked with ⊗,
are changed. An
example of the counter
is C.00019.
The Calibration Counter increments
when trade critical
settings, marked with ⊗,
are changed. An
example of the counter
is C.00019
The Calibration Counter
increments when trade critical
settings in the Calibration (CAL)
menu, marked with ⊗, are changed.
An example of the counter is
C.00010.
The Configuration Counter
increments when other trade critical
settings (ie. not in the CAL menu),
marked with ⊗, are changed. An
example of the counter is F.00009.
Internally, the instrument operates with two counters - the Calibration Counter
(REG_CAL_COUNT_NTEP) and the Configuration Counter
(REG_CFG_COUNT_NTEP). These correspond directly to the NTEP counters.
The Industrial/OIML Calibration Counter (REG_CAL_COUNT_OIML) is the sum of
these NTEP counters. Each register has a bit in the Permission property to indicate
if a counter will be incremented when the register’s value is modified. This counter
is incremented even if the values are not saved to EEPROM.
The Calibration counter is incremented for trade critical registers that affect
calibration parameters. The Configuration counter is incremented for trade critical
registers that affect configuration parameters.
The value(s) of the counter(s) is written on the tamperproof trade label on the front
of the indicator for trade-certified applications and functions as an electronic seal. If
any legal for trade settings are changed on the instrument, the current value of the
calibration counter will be different from the recorded value and the seal is broken.
In this manual, items marked with ⊗ indicate that the setting is a legal for trade
critical settings.
The basic operations that can be performed on values in registers are:
• Read the current value of the register as Final or Literal.
• Write a new value to the register as Final.
• Execute a function associated with a register.
If a command fails, the returned message will have the Error bit set in the Address
field to show that the return value is an error code. Not all indicators implement all
registers. If an indicator does not support a register or a particular command on a
register, it will return an error code of REG_ERR_NOT_IMPLEMENTED. If an
attempt is made to write to a register while the indicator is in the setup menus, the
indicator will return REG_ERR_MENU_IN_USE. If an attempt is made to access a
register without sufficient permission (refer to Register Access page 18), the
indicator will return REG_ERR_ACCESS_DENIED.
5.2. Common Properties
Each register stores information about itself. This information is referred to as
properties. The register properties differ depending on the type of the register.
Registers implement the following common properties, regardless of the register’s
type.
5.2.1. Type
Each indicator supports a finite set of register types. It is recommended that this
command be performed on a register (to check that it is supported) before
performing any other operation.
Command: CMD_READ_TYPE
Return: Register Type as a hexadecimal value eg. 01 =>
TYPE_BYTE
Error Code: REG_ERR_NOT_IMPLEMENTED
5.2.2. Menu Text
This property is the text shown on the indicator’s display while traversing the menus.
Command: CMD_READ_MENU_NAME
Return: The indicator will return a string. Some registers may return an
empty string in response to this command. The text may contain
leading or trailing spaces.
eg. The Menu Text for REG_DECIMAL_PLACES is “DP” and when accessed from
the BUILD menu the display shows DP.
This command reads one item from the list for the register. The item to be read is
given as a parameter to the command. Each value is returned as a string.
Command: CMD_READ_ITEM
Valid Types: TYPE_OPTION, TYPE_MENU, TYPE_BITFIELD
Parameter: RangeMin ≤ parameter ≤ RangeMax
Return: String value
Error Code: If no parameter is present, the indicator returns
The following table lists the values that the InternaErrorCode field may take. It lists
the error message that would be displayed on the indicator’s display if the operation
was being performed using the setup menus.
Display
Message
no error 00 Last operation was successful.
(SPAN) (LO) 01 The load cell signal range (span) is too small for these
(SPAN) (HI) 02 The load cell signal range (span) is too large for these
(RES) (LO) 03 The scale build is configured for less than 100
(RES) (HIGH) 04 The scale build is configured for more than 30,000
(PT.TOO)
(CLOSE)
06 The calibration (linearisation) point does not exist.
(LIN.PT) (LO) 07 An attempt has been made to place a linearisation point
(LIN.PT) (HI) 08 An attempt has been made to place a linearisation point
(RES) (LO) The scale build is configured for less than 100
Code
Value
05 An attempt has been made to place a calibration point too
(RES) (HIGH) The scale build is configured for more than 30,000
(ZERO) (LO) An attempt has been made to calibrate zero below -
(ZERO) (HI) An attempt has been made to calibrate zero above
Code
Value
6.2. REG_SYSTEM_ERROR
This register contains the error codes as displayed on the indicator’s LCD display.
The instrument continually monitors the condition of the internal circuits. Any faults
or out-of-tolerance conditions are shown on the display as an E type error message.
In the table below the following terms are used:
• Check: This item can be checked on site by service personnel.
• Return for Service: The instrument must be returned to the manufacturer for
factory service.
Error Description Resolution
(E0001) The power supply voltage is too low. Check supply
(E0002) The power supply voltage is too high. Check scale /
(E0010) The temperature is outside of allowable limits. Check location
(E0020) Scale build is incorrect. The number of
graduations has been set too low or too high.
(E0100) The digital setup information has been lost. Re-enter setup
(E0200) The calibration information has been lost. Re-calibrate
(E0300) All setup information has been lost Enter setup and
(E0400) The factory information has been lost. Return for Service
(E0800) The EEPROM memory storage chip has failed Return for Service
(E2000) ADC Out of Range Error. This may be caused
from a broken load cell cable.
(E4000) The battery backed RAM data has lost data. Re-enter setup
(E8000) The FLASH program memory is incorrect Return for Service
Description
graduations.
2mV/V.
+2mV/V.
cables
Fix up scale build
calibrate
Check
BUILD:CABLE
setting. Check load
cell cable, wiring,
etc.
The E type error messages are additive. For example if instrument is running off
batteries and the temperature drops, the battery voltage may be too low. The
resulting error messages will be E 0011 (0001 + 0010). The numbers add in
hexadecimal as follows:
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - A - B - C - D - E - F
The indicator polls the REG_KEYBOARD register looking for new key presses to act
upon. No new key press is indicated by a value of KEY_NONE in this register. After
reading the value, the unit sets REG_KEYBOARD to its default value (KEY_NONE).
Remote control of the indicator is achieved by writing to this register with the new
key-code. Priority is given to the local keyboard and the external key-code is lost.
7.2. Key-Codes
Key-codes are divided into physical, logical and ASCII codes and are represented
by an unsigned 16-bit value:
Code Type RangeMin RangeMax Notes
ASCII 0000 H 007F H Normal ASCII characters including
<NUL> 00
Reserved 0080 H 6FFF H Reserved for future use.
Logical 7000 H 7FFF H
Physical 8000 H FFFF H
H
Physical codes represent the physical keys on an indicator. Logical codes represent
an indicator function. ASCII codes are used to enter data using device independent
codes (eg. a numeric keypad could generate ASCII codes). Logical characters can
be considered to include the ASCII characters as a subset. Refer to Key Codes
page 40 for the list of codes.
7.2.1. Physical Codes
Physical keys are numbered from 1 to 63.
Physical codes are interpreted by the indicator in a device dependent manner.
Physical keys consist of the KEY_PHYSICAL bit ORed with the numeric value of
the key (1 to 63).
eg. (KEY_PHYSICAL + 1) = 1
st
physical key, . (KEY_PHYSICAL + 5) = 5th
physical key.
A long press is indicated by the KEY_PHYSICAL_LONG bit being set. If not set,
it is a short press.
To handle two simultaneous physical keys being pressed (to increase the
number of keys available), one key number is ORed into the upper byte of the
keycode and the other into the lower byte. The lower numbered key is shifted
into the MSByte.
Registers that respond to CMD_EXECUTE may use the optional parameter field
depending on the function involved. Execute functions are used to perform actions
(eg. calibration) within the indicator, as opposed to register values that can simply be read
or written (eg. changing the full-scale value).
8.1. Calibration
Calibration functions may take a number of seconds to complete. During this period
the indicator will display a message to show that it is calibrating. When the
calibration is complete, the indicator’s display will return to displaying the current
weight. To determine the progress of the calibration, read REG_SYSTEM_STATUS
until the Calibrating bit is 0 (refer to REG_SYSTEM_STATUS page 24). Then check
the InternalErrorCode field. A value of 0 indicates no errors with the last calibration.
Non-zero values indicate various errors such as span high or low, etc.
Zero calibration is performed using REG_CALIBRATE_ZERO as shown in the table
below.
Type of Calibration Parameter Other
Registers
Zero Calibration using Test Weights none none
Direct mV/V Zero Calibration (mV/V * 10,000) as
hexadecimal value
none
eg. Execute a Zero calibration using test weights.
Command = 10
Register Id = 0102
CMD_EXECUTE
H
REG_CALIBRATE_ZERO
H
Parameter Field = “” none
Remove all weight from scale
Complete Message
Sample Response
Check Status by reading
REG_SYSTEM_STATUS
Complete Message
Sample Response while
calibrating
Sample Response when complete
20100102:
81100102:0000
20040021:
81040021:00002000
81040021:00000C00
Indicator shows “Z. in P”
Indicator is Calibrating
Calibration finished, no errors
The return value of 0C00 H from REG_SYSTEM_STATUS is described in
REG_SYSTEM_STATUS page 24. In binary this value is 0000 1100 0000 0000
b
which has isCOZ=1 and isZero=1 showing that the indicator has been zeroed.
InternalErrorCode field = 0 showing that the calibration was successful.
Adding linearisation points is similar to span calibration using test weights.
The desired weight value is written to REG_WEIGHT_CALIBRATION. To delete a
point, set this value to zero.
Place the test weight on the scale.
Execute REG_CALIBRATE_LINx to add the point “x” to the calibration points (1 ≤ x
≤ 5).
Check REG_SYSTEM_STATUS for any errors.
eg. Assume an indicator that has been calibrated for zero and span at 3000 g. Add
a linearisation point L1 at 1000g.
Write calibration weight
Add calibration weight
Execute linearisation L1
Check status
20120100:3E8
81060100:0000
20040021:
81100104:0000
20040021:
81040021:00002000
20040021:
81040021:00000000
REG_WEIGHT_CALIBRATION
REG_CALIBRATION_LIN1
Unit shows “L. in P”
Busy Calibrating
Completed successfully
eg. Deleting Linearisation point L1.
Write calibration weight
Execute linearisation L1
Check status
8.2. Save Settings to EEPROM
When an indicator is switched on, it retrieves the last saved settings from EEPROM.
When settings are modified by writing to or executing a register, the value is not
automatically saved to EEPROM. If the unit is switched off or power is interrupted,
the new setting will be lost. Executing REG_SAVE_SETTINGS will save the current
settings to EEPROM.
The streaming facility in the instrument allows a master (PC) to quickly read a
number of registers (up to three) from a slave (indicator) with one command.
REG_STREAM_DATA contains the final value for the three registers. When new
weight data is available, REG_STREAM_DATA is updated with the latest final
values pointed to by REG_STREAM_REG1 to 3.
There is a list of registers that may be streamed. REG_STREAM_REG1,
REG_STREAM_REG2 and REG_STREAM_REG3 are used to select three
registers from this list. The raw value of each REG_STREAM_REG1 to 3 is an
index into this list.
9.2. Registers Available to Stream
The following table lists the registers able to be streamed:
Index into list Reg Id
0000 H REG_NONE
0001 H REG_ADC_SAMPLE_NUMBER
0002 H REG_SYSTEM_STATUS
0003 H REG_SYSTEM_ERROR
0004 H REG_ABSOLUTE_MVV
0005 H REG_WEIGHT_DISPLAY
0006 H REG_WEIGHT_USER
0007 H REG_WEIGHT_GROSS
0008 H REG_WEIGHT_NET
0009 H REG_WEIGHT_TARE
000A H REG_WEIGHT_PEAK
000B H REG_WEIGHT_HOLD
000C H REG_WEIGHT_TOTAL
000D H REG_WEIGHT_LIVESTOCK
000E H REG_WEIGHT_PT_TARE
000F H REG_FULLSCALE
Figure 8 below, demonstrates the use of the streaming registers. In this example,
REG_STREAM_REG1 contains the value 0003
of registers yields REG_SYSTEM_ERROR. So the 1
. Looking up this index into the list
H
st
position in
REG_STREAM_DATA is filled in with the contents of REG_SYSTEM_ERROR.
Similarly, REG_STREAM_REG2 contains 0004
REG_ABSOLUTE_MVV. So the 2
nd
position in REG_STREAM_DATA is filled in
with the contents of REG_ABSOLUTE_MVV. The 3
, which refers to
H
rd
position in
REG_STREAM_DATA is filled in with the contents of
REG_ADC_SAMPLE_NUMBER.
Figure 8: Streaming Registers Example
Read Stream Register
Final
Response 81110040:000000000000123400000001
There are two non-volatile registers available for user programmable print strings.
REG_PROG_PRINT with a capacity 80 ascii(160 hex) characters including tokens.
REG_PROG_PRINT_SUMMARY with a capacity of 20 ascii(40 hex) characters
including tokens. The REG_PROG_PRINT register is used if
SERIAL:FORMAT:CUSTOM is selected.when prints are activated for SERIAL:TYPE
settings of AUTO, SINGLE and AUTO.PR.
When SERIAL:TYPE:PRINT is selected a short press of the print key uses
REG_PROG_PRINT as the source for printing while the
REG_PROG_PRINT_SUMMARY register is used when prints are activated by a
long press of the print key.
FACTRY:DEFLT resets REG_PROG_PRINT to the standard short print press
printing, while REG_PROG_PRINT_SUMMARY is reset to the standard long print
press printing. Alternatively the standard formats can be set by writing the default
print tokens (indicated below) to the registers REG_PROG_PRINT and
REG_PROG_PRINT_SUMMARY respectively.
10.2. Tokens Available for Printing
The following table lists the tokens available for printing:
Token Corresponding Print Feature
7F H Default Print String (short print press)
8F H Default Print String (long print press)
CF H Gross Weight
D0 H Net Weight
D8 H Tare_Weight
D9 H Display Weight
F0 H Count (if counting is turned on)
C0 H Time
BF H Date
DA H Print Identifier
E8 H Streaming Register Literal
E9 H Streaming Register Raw
DB H Total Weight (total of Display Weight)
DD H Total Count (if counting is turned on)
DC H Items (No. of prints since last summary)
TYPE_CHAR 00 H 8-bit signed value (typically used for ASCII characters)
TYPE_UCHAR 01 H 8-bit unsigned value
TYPE_SHORT 02 H Signed 16-bit value
TYPE_USHORT 03 H Unsigned 16-bit value
TYPE_LONG 04 H Signed 32-bit value
TYPE_ULONG 05 H Unsigned 32-bit value
TYPE_STRING 06 H NULL terminated string of CHAR
TYPE_OPTION 07 H Selectable option.
TYPE_MENU 08 H Menu type
TYPE_WEIGHT 09 H Contains weight and status information
TYPE_BLOB 0A H Untyped block of memory
TYPE_EXECUTE 0B H Executable commands
TYPE_BITFIELD 0C H Options combined into a compressed field
12.2. Commands
Command Code Description
CMD_NONE 00 H
CMD_READ_TYPE 01 H Read the type of a register
CMD_READ_RANGE_MIN 02 H Read the minimum value allowed for this register
CMD_READ_RANGE_MAX 03 H Read the maximum value allowed for this register
CMD_READ_RAW 04 H Read internal raw value (typically for factory use only)
CMD_READ_LITERAL 05 H Read literal value.
CMD_WRITE_RAW 06 H Write internal raw value (typically for factory use only)
CMD_READ_DEFAULT 07 H Read default value
CMD_READ_MENU_TEXT 09 H Read Menu Text as used in the instrument menus
CMD_READ_ITEM 0D H Read Item from Option list
CMD_READ_PERMISSION 0F H Read register permission settings
CMD_EXECUTE 10 H Execute a command on a TYPE_EXECUTE register
CMD_READ_FINAL 11 H Read final register value
CMD_WRITE_FINAL 12 H Write final register value
The error code returned when a command is not processed correctly is a
hexadecimal value that is a combination of the following constants.
Error Code Description
REG_ERR_NONE 0000 H
REG_ERR_ERROR 8000 H Always set to show an error
REG_ERR_UNKNOWN 4000 H Unknown error – internal use only
REG_ERR_NOT_IMPLEMENTED 2000 H Feature not implemented on this device
REG_ERR_ACCESS_DENIED 1000 H Action not permitted for the current access rights
REG_ERR_UNDER_RANGE 0800 H Value less than RangeMin
REG_ERR_OVER_RANGE 0400 H Value greater than RangeMax
REG_ERR_ILLEGAL_VALUE 0200 H Value not compatible with data type
REG_ERR_ILLEGAL_OPERATION 0100 H Operation not defined
REG_ERR_CANNOT_SAVE 0080 H Write Operation failed
REG_ERR_BAD_PARAMETER 0040 H Parameter not valid
REG_ERR_MENU_IN_USE 0020 H Cannot modify register values while SETUP
menus are active
REG_ERR_RESERVED_4 0010 H
REG_ERR_RESERVED_3 0008 H
REG_ERR_RESERVED_2 0004 H
REG_ERR_RESERVED_1 0002 H
REG_ERR_DATA_ERROR 0001 H Internal data error
12.4. Register Identifiers
Register Code Type Example Description
REG_REGISTER_VERSION 0001 H STRING V1.0 Version of the
REG_COPYRIGHT 0002 H STRING (C) Rinstrum 2003 Copyright message
REG_UNIT_MODEL 0003 H STRING R320 Model of the
REG_SOFTWARE_VERSION 0004 H STRING V1.2 Software version
REG_UNIT_SERIAL_NO 0005 H ULONG 3106432 Instrument Serial
REG_KEYBOARD 0008 H USHORT KEY_TARE Write to simulate
REG_DISPLAY_RAW 0009 H BLOB 0100005B6D3F… Contents of LCD
REG_SAVE_SETTINGS 0010 H EXECUTE Save Settings
REG_MENU_MAIN 0011 H MENU Start of menu
REG_CAL_COUNT_OIML 0012 H USHORT 00000033 OIML Calibration
REG_CAL_COUNT_NTEP 0013 H USHORT 0000000D NTEP Calibration
REG_CFG_COUNT_NTEP 0014 H USHORT 00000014 NTEP Configuration
REG_ENTER_PASS_FULL 0019 H ULONG 000004D2
REG_ENTER_PASS_SAFE 001A H ULONG 000009A4
protocol
instrument
Number
key presses
display memory
command
definitions
counter
counter
counter
Write to attempt
Passcode
Read is only
allowed if correct
Write 0 to lock
instrument again
REG_ADC_SAMPLE_NUMBER 0020 H ULONG 00169196 Counts each new
reading
REG_SYSTEM_STATUS 0021 H ULONG 00000200 Instrument Status
REG_SYSTEM_ERROR 0022 H ULONG 00000000 Instrument Error
Status
REG_ABSOLUTE_MVV 0023 H WEIGHT 00006187 Absolute signal in
mV/V
REG_WEIGHT_DISPLAY 0024 H WEIGHT 000005DC Displayed weight
reading
REG_WEIGHT_USER 0025 H WEIGHT 000005DC Gross or Net weight
REG_WEIGHT_GROSS 0026 H WEIGHT 000005DC Gross weight
REG_WEIGHT_NET 0027 H WEIGHT 000001F4 Net weight
REG_WEIGHT_TARE 0028 H WEIGHT 000003E8 Tare weight
REG_WEIGHT_PEAK 0029 H WEIGHT 000009C4 Peak held weight
REG_WEIGHT_HOLD 002A H WEIGHT 00000000 Manual held weight
REG_WEIGHT_TOTAL 002B H WEIGHT 000009C4 Total weight reading
REG_WEIGHT_LIVESTOCK 002D HWEIGHT 000001F4 Livestock weight
REG_WEIGHT_PT_TARE 002E H WEIGHT 000003E8 Preset Tare weight
REG_FULLSCALE 002F H LONG 00000BB8 Fullscale setting
REG_WEIGHT_NET_TOTAL 0030 H LONG 00000208 Total Net Weight
Reading (K303 &
K307 only)
REG_WEIGHT_GROSS_TOTAL 0031 H LONG 0000020C Total Gross Weight
Reading (K303 &
K307 only)
REG_STREAM_DATA 0040 H BLOB 0017ABC0000A… Block of data
selected by
STREAM_REGs
REG_STREAM_MODE 0041 H OPTION
REG_STREAM_REG1 0042 H MENU 00000001 Index for first
register data
REG_STREAM_REG2 0043 H MENU 00000002 Index for second
register data
REG_STREAM_REG3 0044 H MENU 00000005 Index for third
register data
REG_PASSCODE_FULL 00D0 HULONG 000004D2 Actual Full
Passcode
REG_PASSCODE_SAFE 00D1 HULONG 000009A4 Actual Safe
Passcode
REG_MENU_1 ..
REG_MENU_10
REG_CAL_STAGE0 00F0 H BLOB 3D570025000EF… Data block for stage
REG_CAL_STAGE1 00F1 H BLOB 0BA302000FFFF… Data block for stage
REG_CAL_STAGE2 00F2 H BLOB 08E0000000000… Data block for stage
REG_CAL_STAGE3 00F3 H BLOB 00D8000D000E… Data block for stage
REG_WEIGHT_CALIBRATION 0100 H WEIGHT 000005DC Weight used for
REG_ZERO_MVV 0111 H WEIGHT FFFFFFFF Calibrated Zero
REG_SPAN_WEIGHT 0112 H WEIGHT 000009C4 Calibrated Span
REG_SPAN_MVV 0113 H WEIGHT 000061A8 Calibrated Span
REG_LIN1_WEIGHT ..
REG_LIN10_WEIGHT
REG_RESOLUTION 0122 H OPTION 00000000 Resolution setting
REG_GRADS 0123 H OPTION 00000BB8 Graduations setting
REG_DECIMAL_PLACES 0128 H OPTION 00000000 Decimal Point
REG_UNITS 0129 H OPTION 00000000 Units selection
REG_CABLE_MODE 012A H OPTION 00000000 4/6 wire operation
REG_HIRES_MODE 012B H OPTION 00000000 High resolution
REG_TRADE_USE 0130 H OPTION 00000000 Trade or Industrial
REG_FILTER 0131 H OPTION 00000000 Filtering setting
REG_MOTION 0132 H OPTION 00000000 Motion setting
REG_ZERO_RANGE 0133 H OPTION 00000000 Zero range setting
REG_ZERO_TRACKING 0134 H OPTION 00000000 Zero tracking setting
REG_ZERO_INIT 0135 H OPTION 00000000 Initial zero operation
REG_ZERO_BAND 0136 H LONG 00000000 Zero band setting
REG_AUTO_TARE_THRESH 0138 H LONG 00000000 Automatic tare
REG_SERIAL_TYPE 0140 H OPTION 00000000 Type of serial output
REG_SERIAL_FORMAT 0141 H OPTION 00000000 Format of serial
REG_SERIAL_BAUD 0142 H OPTION 00000000 Baud rate
REG_SERIAL_BITS 0143 H BITFIELD 00000000 Parity and Stop bits
REG_SERIAL_ADDRESS 0144 H BYTE 0000001F Network Address
REG_PRINTER_SEQUENCE 0145 H EXECUTE Reset Printer Seq.
REG_PROG_PRINT 0146 H BLOB 00D8000D000E… Programmable
REG_PROG_PRINT_SUMMARY 0147 H BLOB 00D8000D000E… Programmable
REG_CLOCK 0150 H STRING 16/10/2003 10:32 Full Date/Time
REG_CLOCK_FORMAT 0151 H OPTION 00000000 Date format
REG_DATA_DD 0152 H USHORT 00000011 Date
REG_DATA_MM 0153 H USHORT 0000000A Month
REG_DATE_YYYY 0154 H USHORT 000007D3 Year
REG_TIME_HH 0155 H USHORT 0000000A Hour
REG_TIME_MM 0156 H USHORT 00000020 Minute
REG_TIME_SS 0157 H USHORT 00000015 Second
REG_KEY_LOCK 0160 H BITFIELD 00000000 Key locking
REG_USER_KEY_FUNC 0161 H OPTION 00000000 Special Function
setting
REG_AUTO_OFF_TIME 0162 H OPTION 00000000 Auto power off
setting
REG_BACKLIGHT 0163 H OPTION 00000000 Backlight options
REG_REMOTE_KEY_FUNC 0164 H OPTION 00000000 Remote key function
setting
REG_BAT_VOLT 0165 H OPTION 00000000 Battery voltage
selection
REG_WD_KEY_LOCK 0166 H OPTION 00000000 Washdown Key
locking
(K304 & K306 only)
REG_SETPT_TYPE_1 0170 H OPTION 00000000 Setpoint 1 Type
REG_SETPT_SRC_1 0171 H OPTION 00000000 Data Source
Setpoint 1
REG_SETPT_TARGET_1 0172 H LONG 000003E8 Setpoint 1 Target
REG_SETPT_TYPE_2 0173 H OPTION 00000000 Setpoint 2 Type
REG_SETPT_SRC_2 0174 H OPTION 00000000 Data Source
Setpoint 2
REG_SETPT_TARGET_2 0175 H LONG 000003E8 Setpoint 2 Target
REG_COUNT_QTY 0180 H ULONG 0000000A Counting sample
quantity
REG_OVERLOAD_COUNT 0181 H ULONG 0000000D Input Overload
Count
REG_CLEAR_OVERLOAD 0182 H EXECUTE Reset Input
Overload Count
12.5. Key Codes
Key Code Code Description
KEY_NONE 0000 H No key pressed
KEY_SETUP_FULL 7001 H Access to Full setup menu
KEY_SETUP_SAFE 7002 H Access to Safe setup menu
KEY_ZERO 7201 H Zero function
KEY_TARE 7202 H Tare function
KEY_GROSS_NET 7203 H Gross/Net function
KEY_PRINT 7204 H Print function
KEY_USER_FN1 7205 H User F1 function
KEY_POWER_ON 7301 H Power key press
KEY_POWER_OFF 7302 H Power Off function
0 0000 0000 b 00 H
1 0000 0001 b 01 H
2 0000 0010 b 02 H
3 0000 0011 b 03 H
4 0000 0100 b 04 H
5 0000 0101 b 05 H
6 0000 0110 b 06 H
7 0000 0111 b 07 H
8 0000 1000 b 08 H
9 0000 1001 b 09 H
10 0000 1010 b 0A H
11 0000 1011 b 0B H
12 0000 1100 b 0C H
13 0000 1101 b 0D H
14 0000 1110 b 0E H
15 0000 1111 b 0F H
16 0001 0000 b 10 H
17 0001 0001 b 11 H
18 0001 0010 b 12 H
... ... ...
254 1111 1110 b FE H
255 1111 1111 b FF H
Table 7: Decimal, Binary and Hexadecimal Conversion
These messages show status messages or errors that may occur during the
instrument setup and calibration.
Error Description Resolution
(ENTRY)
(DENIED)
The instrument may be in Safe
Setup and an item that needs
Access Full Setup to edit the
item.
Full Setup has been selected for
editing.
(LIN.PT)
(LO)
(PT.TOO)
(CLOSE)
When accessing setup, more
than three attempts have been
made with the incorrect
passcode.
An attempt has been made to
place a linearisation point below
zero.
An attempt has been made to
place a calibration point too
close to an existing calibration
Turn the instrument off. When
the instrument is turned back on,
enter the correct passcode to
access setup.
Incorrect linearisation point
entered (must be between zero
and full scale).
Re-enter the calibration point.
Points must be spaced by at least
2% of full scale from each other.
point.
(RES)
(LO)
(RES)
(HIGH)
(SPAN)
(LO)
The scale build is configured for
less than 100 graduations.
The scale build is configured for
more than 30,000 graduations.
The load cell signal range
(span) is too small for these
settings.
Check the resolution (count-by)
and capacity settings.
Check the resolution (count-by)
and capacity settings.
Incorrect span weight entered
(must be between zero and full
scale). Scale wiring incorrect.
Wrong load cell capacity (too
large). Wrong or no calibration
weight added to scale.
(SPAN)
(HI)
The load cell signal range
(span) is too large for these
settings.
Incorrect span weight entered
(must be between zero and full
scale). Scale wiring incorrect.
Load cell capacity too small for
application.
(ZERO)
(LO)
(ZERO)
(HI)
An attempt has been made to
calibrate zero below -2mV/V.
An attempt has been made to
Count-by The smallest change in weight units that the display can show. See also
CRC Cyclic Redundancy Check
Division A single graduation.
EEPROM Electrically Erasable Programmable Read-Only Memory
FIR Finite Impulse Response
Full Scale The maximum gross weight allowed on the scale. This is used to detect
Graduations The maximum number of display steps between zero gross load and full
LED Light Emitting Diode
NTEP National Type Evaluation Program
OIML International Organization of Legal Metrolology
opto-LINK Cable opto-isolated infrared communications link cable
PLC Programmable Logic Controller
Range Total change in weight between zero gross load and full capacity gross load
Register
Resolution The smallest change in weight units that the display can show. See also
Ring Network A network of up to 31 Instruments connected to a central computer
RS-232 Standard for communications hardware layers.
Step-Response The step-response is the time between placing a weight on the scale and the
Transients A temporary voltage oscillation or spike caused by a sudden change of load (or
Units The actual units of measurement (kilograms, tonnes, pounds, etc.).
An adjustable parameter that can affect measurement or performance
accuracy and, due to its nature, needs to be updated on an ongoing basis to
maintain device accuracy, eg., span adjustments, linearisation factors, and
coarse zero adjustments
The communications protocol used to communicate with the R300 Series
An adjustable or selectable parameter for a device feature that can affect the
accuracy of a transaction or can significantly increase the potential for
fraudulent use of the device and, due to its nature, needs to be updated only
during device installation or upon replacement of a component, eg., division
value (increment), sensor range, and units of measurement.
Resolution.
overload and underload conditions, etc.
capacity gross load. It is equal to the full scale divided by the resolution.
(ie. the nominated total capacity of the scale). It is always given in displayed
weight units.