Download as pdf or txt
Download as pdf or txt
You are on page 1of 64

AXSCOM

User Manual

AXSCOM – Automation Interface

Original Instructions

XRD
Innovation with Integrity
The reproduction, transmission or use of this document or its contents is not permitted without express written
authority. Offenders will be liable for damages. All rights reserved.
We have checked the contents of this manual for agreement with the hardware and software described. Since
deviations cannot be precluded entirely, we cannot guarantee full agreement. However, the data in this manual are
reviewed regularly and any necessary corrections are included in subsequent editions. Suggestions for improvement
are welcome.
All configurations and specifications are subject to change without notice.
Order no. DOC-M87-EXX001 V6. Updated: Nov 20, 2012.
© 2001 - 2012 Bruker AXS GmbH, Karlsruhe, Germany.
All trademarks and registered trademarks are the sole property of their respective owners.
Printed in the Federal Republic of Germany.

Bruker AXS GmbH


Östliche Rheinbrückenstr. 49
76187 Karlsruhe, Germany
Tel. +49 721 5 09 97-0
Fax +49 721 5 09 97-56 54
info@bruker-axs.de
www.bruker.com
User's Manual AXSCOM

Bruker AXS AXSCOM Automation


Interface
Table of Contents

Bruker AXS AXSCOM Automation Interface ........................................................... 1


Introduction to Bruker AXS AXSCOM ...........................................................................................1
Communication ...............................................................................................................................3
Communication via TCP/IP .......................................................................................................3
Communication via Serial Interface ..........................................................................................4
AXSCOM Commands ......................................................................................................................8
AXSCOM V1 Commands ..........................................................................................................8
AXSCOM V2 Commands ........................................................................................................23
Additional Commands for Semiconductor devices .................................................................40
Set up AXSCOM .............................................................................................................................48
Prepare Job Templates for AXSCOM .....................................................................................50
Frequently Asked Questions .......................................................................................................54
Logging ..........................................................................................................................................55

Bruker AXS LABLIMS Interface .............................................................................. 56


Introduction .............................................................................................................................56
Syntax of the control files ........................................................................................................56
Meaning of the entries.............................................................................................................57
Error conditions .......................................................................................................................58
Configuring LABLIMS..............................................................................................................58
Licence Notes ................................................................................................................................59
Index ...............................................................................................................................................60

DOC-M87-EXX001 V6 – 11.2012 i
AXSCOM User's Manual

(intentionally left blank)

ii DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Bruker AXS AXSCOM Automation


Interface
Introduction to Bruker AXS AXSCOM
AXSCOM allows linking the Bruker X-ray analysis devices with an external computer for automation
control. Commands and requests, such as status control, measurement starts and result transmission
can be exchanged with the host system via TCP/IP port connection or via a serial interface. The com-
mands that are supported at AXSCOM version 1 are compatible since the DOS version HOSTCOM
V3.2A. The same is valid for the two protocols for the serial port (Standard, 3964R).

For serial connections, each instrument must be connected by an own RS232 line the PC with the
automation control software, e. g. AXSLAB.

Sample
Preparation

AXSCOM (RS232)
Automation
Control

Backend
(LIMS etc.)

Fig. 1: Connection of Instruments by Serial connection.

Of course, it is also possible to connect some of your instruments by serial line and others by TCP/IP,
for example when a new instrument should be connected by TCP/IP and the existing RS232 connec-
tion to the remaining old devices should not be changed.

DOC-M87-EXX001 V6 – 11.2012 1
AXSCOM User's Manual

Sample
Preparation

AXSCOM (TCP/IP)
Automation
Control

Backend
(LIMS etc.)
Fig. 2: Connection of Instruments by TCP/IP.

2 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Communication
AXSCOM is an asynchronous protocol for data transfer. An external automation host can send com-
mands to the instrument and will receive an answer – either an acknowledgement of the command,
the requested data or an error message for the command. It is not allowed to send another command
to the instrument as long as the answer for the previous command has not been received.
A device can only send one answer to an AXSCOM request from the host system. It is not possible to
subscribe a topic or to get a message on an event that happened at the device.

Host Instrument

Send request or command

Receive request
Send answer
Receive answer

Fig. 3: Schematic representation of an AXSCOM data transfer (application level)

AXSCOM protocol has been implemented for two connection types: Serial interface and TCP/IP. For
the Serial interface, AXSCOM supports a standard protocol as well as the Siemens 3964R protocol.
TCP/IP connection is the common way for most projects nowadays.
The AXSCOM commands are case insensitive. Data parts like sample ID, measurement program etc.
are case sensitive. In previous implementations, some fixed parameters like $ALL or $FREE at the
status command have been case sensitive, too.

Communication via TCP/IP


AXSCOM via TCP/IP has been realized as transfer of plain ASCII commands. Everything you need to
implement in an AXSCOM client is the possibility to open a TCP port and send and receive ASCII
strings through this port. Debugging and testing may be done with any telnet program that is able to
send and receive raw data, e. g. PuTTY.
The AXSCOM command syntax for the TCP/IP protocol is compatible with the two protocols for the
serial port with the following exceptions:
 There is neither a handshake nor a checksum
 The separator between data items in the commands is the space character, not the NUL byte.
 Commands are terminated by <CR> (decimal code 13), optionally followed by <LF> (decimal
code 10)
 Data items which contain a space character have to be embedded in quotes, e.g. “sample id
with space character”
 Quotes are not allowed in data items

Note
The separator between the data items in the data resp. parameter blocks is the space
character for communication via TCP/IP.

Example
The following example shows the TCP/IP communication when the host requests a sample s1 on po-
sition 1A02 of the device to be measured with the method “clinker”. The command gets accepted by
the instrument, measurement will start.

DOC-M87-EXX001 V6 – 11.2012 3
AXSCOM User's Manual

Host Instrument

Send command
MEASMP s1 clinker 1A02 UN 0 1 0 10 1
Send answer
MEASMP 00

Fig. 4: Schematic representation of an AXSCOM data transfer via TCP/IP

Communication via Serial Interface


Transmission and reception of commands occurs based on the parameters defined at the AXSCOM
setup. For every transfer of information the transmitter has to establish the line. After a positive answer
from the receiver, a data block can be transmitted.
A complete data string must contain no more than 256 digits. If greater amounts of data are to be
transmitted, the data have to be divided into blocks of the maximum length of 256 digits which then
have to be transmitted one after the other. In this case, the block code (ETB) has to be inserted at the
end of each block instead of the ending code (ETX). The last block, however, receives the ending
code (ETX). For each single block, the line has to be established again. After faulty transmission, the
block has to be transmitted again.

Note
The separator between the data items in the data resp. parameter blocks is the <NUL>
byte for communication via serial line.

Standard Procedure
Transmission requires the following parameters:
Name Description Default
Establishing connection Control character to establish connection ENQ (ASCII 5)
Start code Control character to identify beginning of data string STX (ASCII 2)
Ending code Control character to identify ending of data string ETX (ASCII 3)
Block code Control character to identify ending of data block ETB (ASCII 23)
Positive answer Control character indicating that connection has been ACK (ASCII 6)
established
Negative answer Control character indicating that connection has not NAK (ASCII 21)
been established
Repetitions Number of transmission attempts after negative an-
swer
Timeout Maximum waiting time between two characters, after
which transmission will be interrupted.

After a communication link has been established, a data block consisting of “start code”, data, check-
sum (2 digits) and “end code” or “block code” can be transmitted.

4 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Transmission Protocol
Byte Description
STX Start code
DAT1 1st data byte
… …
… …
DATn nth data byte
BC1 1st byte of checksum
BC2 2nd byte of checksum
ETX End code

The check sum (two bytes BC1, BC2) consists of the sum of characters “Start” to “DATn” modulo
4096. The first byte BC1 is the result of the addition of the six bits of higher valence from the sum plus
the space character (2016). The second byte BC2 is the result of the addition of the six bits of lower
value from the sum plus the space character (2016).
The control of the data flux can be done via “software handshake” or via “hardware handshake”.
Example
The following example shows the serial communication when the host requests a sample s1 on posi-
tion 1A02 of the device to be measured with the method “clinker”. The command gets accepted by the
instrument, measurement will start.

Host Instrument

Send enquiry
<ENQ>
Send acknowledge
<ACK>

Send data
<STX>MEASMP<NUL>s1<NUL>clinker
<NUL>1A02<NUL>UN<NUL>0<NUL>1<
NUL>0<NUL>10<NUL>1<BC1><BC2><
Send acknowledge
ETX>
<ACK>

Send enquiry
<ENQ>

Send acknowledge
<ACK>

Send data
<STX>MEASMP<NUL>00<BC1><BC2>
<ETX>
Send acknowledge
<ACK>

Fig. 5: Schematic representation of an AXSCOM data transfer via serial interface (standard).

DOC-M87-EXX001 V6 – 11.2012 5
AXSCOM User's Manual

Siemens 3964R Procedure


Transmission requires the following parameters:
Name Description Default
Establishing connection Control character to establish connection STX (ASCII 2)
Ending code Control character to identify ending of data string ETX (ASCII 3)
Block code Control character to identify ending of data block ETB (ASCII 23)
Positive answer Control character indicating that connection has been DLE (ASCII 16)
established
Negative answer Control character indicating that connection has not NAK (ASCII 21)
been established
Repetitions Number of transmission attempts after negative an-
swer
Timeout Maximum waiting time between two characters, after
which transmission will be interrupted.

After the communication link has been established, a data block consisting of data, “end code” or
“block code” and check sum (1 character) can be transmitted.

The data flux control is to be done via the “hardware handshake”. This means:
 The signal CTS and/or DTS has to be established so that data can be transmitted

 The signal RTS and/or DSR becomes deactivated when the data entering buffer has been
filled up to 90 %, and it becomes activated again when the buffer has been emptied down to
10 %.
The check sum BCC (one byte) consists of the sum of the bits of equal valence of all the digits of a
block. The checksum is transmitted at the end of a block.

Transmission Protocol
Byte Description
DAT1 1st data byte
… …
… …
DATn nth data byte
DLE Terminate link
ETX End code
BCC Checksum

Example
The following example shows the serial communication when the host requests a sample s1 on posi-
tion 1A02 of the device to be measured with the method “clinker”. The command gets accepted by the
instrument, measurement will start.

6 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Host Instrument

Establish link
<STX>
Send acknowledge
<DLE>

Send data
MEASMP<NUL>s1<NUL>clinker<NUL>
1A02<NUL>UN<NUL>0<NUL>1<NUL>0
<NUL>10<NUL>1<DLE><ETX><BCC>
Send acknowledge
<DLE>

Establish link
<STX>

Send acknowledge
<DLE>

Send data
MEASMP<NUL>00<DLE><ETX><BCC>

Send acknowledge
<DLE>

Fig. 6: Schematic representation of an AXSCOM data transfer via serial interface (3964R).

DOC-M87-EXX001 V6 – 11.2012 7
AXSCOM User's Manual

AXSCOM Commands
The AXSCOM commands are the same for TCP/IP communication and serial connection. There are
only two small differences you have to take care about:

Description TCP/IP Serial


Separator be- Space character (ASCII 32) NULL character (ASCII 0)
tween parameters
Blank spaces at Allowed. As the space character is Allowed
parameter names the delimiter between parameters, a
parameter containing space charac-
ters must be surrounded by double
quotes (ASCII 34), e. g.
"sample name including space"

Note
All syntax descriptions and examples in the following command descriptions have been
done with the TCP/IP syntax (space character as separator between the parameters). No
parameters with space characters have been used at the description - don’t forget to take
care of the quotes if you are using such parameters.

All commands may return with status 10 if an unexpected exception has happened during the handling
of the command.

Note
If a command returns a syntax error, further parameters of the syntax of the return com-
mand may not be sent.

AXSCOM V1 Commands
AXSCOM V1 commands have been kept compatible since HOSTCOM V3.2A. It should never be a
problem to replace an older Bruker AXS device by a newer one without changes at the automation
host.
Transmission of status
The status command can fulfil four different needs:
 Get the current state of the instrument
 Get the state of a sample
 Get a list with the names and state of all AXSCOM samples
 Get the number of free buffer positions
Some operations at the X-ray instrument, such as loading a sample into the measuring position, un-
loading the sample and others are not instantaneous but need some time to complete. It is recom-
mended to have some delays between the STATUS requests.
Instrument Status
Syntax
Command:
STATUS
Return:
STATUS NN SAMPLENAME PROGRAM POS MODE REP TIME TRANSFER FORMAT PRIO STA-
TUS ERROR

8 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Parameters
Command:
This command does not require any parameter.
Return:
Parameter Value Description
NN 00 Command accepted. Instrument status.
SAMPLENAME Sample name Name of the sample
PROGRAM Analytical program Name of the Jobtemplate.
POS Magazine Position For magazine samples: 1A01…
For conveyor samples: 0.
MODE Mode UN = Routine samples
RE = sample for drift correction
REP Repetitions Fixed to 0.
TIME Time Scale Factor for the measurement time, can be between
0.01 and 10.
If the Time Scale leads to a too fast hardware
movement, the sample may get interrupted.
TRANSFER Transfer Position For conveyor samples: Z01 ... Z04
For magazine samples: 0
FORMAT Format of Results Result format (1, 2, 8, 9 or 10).
PRIO Priority 00 highest, 99 lowest
STATUS Status of instrument:
00 Instrument off line
01 No measurement active (instrument idle)
02 Local sample activated, can be cancelled
03 Local sample activated, cannot be cancelled
04 Sample from conveyor belt activated (HOST)
05 Sample from loader activated (HOST)
13 No sample in selected position
15 Measurement cancelled, device blocked.
ERROR Error code:
00 No error
01 Measurement interrupted by operator
02 Measurement interrupted cause of hardware error
03 No sample in selected position
05 Instrument warning
10 Temperature warning
20 Cover of magazine open
30 Generator off

Sample Status
Syntax
Command:
STATUS SAMPLENAME
Return:
STATUS NN SAMPLENAME PROGRAM POS MODE REP TIME TRANSFER FORMAT PRIO STA-
TUS ERROR

DOC-M87-EXX001 V6 – 11.2012 9
AXSCOM User's Manual

Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample

Return:
Parameter Value Description
NN 01 Command accepted, sample status.
12 Sample unknown
SAMPLENAME Sample name Name of the sample
PROGRAM Analytical program Name of the Jobtemplate.
POS Magazine Position For magazine samples: 1A01…
For conveyor samples: 0.
MODE Mode UN = Routine samples
RE = sample for drift correction
REP Repetitions Fixed to 0.
TIME Time Scale Fixed to 1.
TRANSFER Transfer Position For conveyor samples: Z01 ... Z04
For magazine samples: 0
FORMAT Format of Results Result format (1, 2, 8, 9 or 10).
PRIO Priority 00 highest, 99 lowest
STATUS Status of sample:
01 Waiting for takeover from the conveyor belt
02 Waiting for measurement start (sample in loader)
03 Waiting for SMPUNL from
05 Sample interrupted cause of a sample with higher
priority
06 Sample suspended
07 Sample stopped
10 Measurement running
11 Measurement finished, waiting for evaluation
12 Measurement finished, results available
13 Measurement cancelled (error detected)
14 Measurement cancelled (by HOST)
15 Measurement cancelled by operator or defect in
device. Device blocked (operator required)
16 At least one of x measurements for this sample fin-
ished
20 Delete active job
21 Unload sample from magazine onto conveyor belt
ERROR Error code:
If STATUS =12:
10 Temperature warning
If STATUS =13:
02 Analytical Program unknown
03 No sample in position

10 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

04 Invalid measurement method


If STATUS =15:
01 Measurement cancelled by operator
02 Measurement interrupted cause of hardware error

Sample Status List


Syntax
Command:
STATUS $ALL
Return:
STATUS 02[ SAMPLENAME STATUS POS]n
The part [ SAMPLENAME STATUS POS] will occur n times with n as the number of currently defined
samples. The brackets [ and ] are only to clarify which part will be repeated, they will not appear at the
communication. See the examples.
Parameters
Command:
Parameter Value Description
$ALL $ALL Sub-command to get the list of all samples.

Return:
Parameter Value Description
NN 03 Command accepted, sample list.
SAMPLENAME Sample name Name of the sample
STATUS Status of the sample See chapter “Sample Status”
POS Magazine Position For magazine samples: 1A01…
For conveyor samples: Currently assigned maga-
zine position.

Examples for possible returns:


STATUS 02
STATUS 02 sample1 10 1A01 “sample name 2” 02 1A02
Number of free reserved positions
Syntax
Command:
STATUS $FREE
Return:
STATUS 03 XX
Parameters
Command:
Parameter Value Description
$FREE $FREE Sub-command to get the number of free reserved
positions.

Return:

DOC-M87-EXX001 V6 – 11.2012 11
AXSCOM User's Manual

Parameter Value Description


NN 03 Command accepted number of free positions.
XX Number of free positions Number of free reserved positions at the Magazine

12 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Measure a Sample
The measurement of a sample is requested by command MEASMP (Measure Sample).
The parameter Sample name is used to identify each sample in the job list. The sample name must
therefore be unique in the job list.
After the measurement request for an automatic sample from the transfer position (conveyor), the host
has to wait until the status of this sample has changed from Status=1 to Status=2 or 10 before feeding
the next sample via the conveyor.
Syntax
Command:
MEASMP SAMPLENAME PROGRAM POS MODE REP TIME TRANSFER FORMAT PRIO
Return:
MEASMP NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample
PROGRAM Analytical program Name of the Jobtemplate as defined at the Start
Jobs plugin of the Measurement suite.

For older devices:


XRD: Name of the QPF file
XRF: Name of the EVM or QAN file
POS Magazine Position For magazine samples: 1A01 …
For conveyor samples: 0. AXSCOM will automati-
cally assign one of the currently free positions out
of the reserved positions.
MODE Mode UN = Routine samples
RE = sample for drift correction
REP Repetitions Fixed to 0.
Value ignored, kept at syntax for compatibility with
previous versions.
TIME Time Scale Fixed to 1.
Value ignored, kept at syntax for compatibility with
previous versions.
TRANSFER Transfer Position For conveyor samples: Z01 ... Z04
For magazine samples: 0
FORMAT Format of Results 5 different formats supported (1, 2, 8, 9 or 10), see
the documentation of the READRS command (next
chapter).
PRIO Priority 00 highest, 99 lowest

Return:

DOC-M87-EXX001 V6 – 11.2012 13
AXSCOM User's Manual

Parameter Value Description


NN 00 Command accepted.
10 Syntax error or Analytical Program unknown
11 Invalid position selected
13 Sample rejected, sample exists already in job list
14 Job list or buffer positions full
15 Transfer position occupied by another sample
18 Sample is moved from transfer position
35 Sample interrupted, instrument blocked
53 Automation disabled (off line).
54 Measurement start failed because of an instrument
alarm.

Examples
MEASMP Sample1 Clinker 1A01 UN 0 1 0 10 50
MEASMP “Sample with blanks” Clinker 0 UN 0 1 Z01 1 50

14 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Read Results
With the command READRS (Read Results) the analysis results can be transmitted. The transmission
occurs according to the format defined in the measurement request.
Syntax
Command:
READRS SAMPLENAME
Return:
READRS NN SAMPLE PROGRAM TIME[ COMPONENT_INFO]n
The part [ COMPONENT_INFO] will occur n times with n as the number of components that have
been evaluated. The brackets [ and ] are only to clarify which part will be repeated, they will not ap-
pear at the communication. See the examples.
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample.

Return:
Parameter Value Description
NN 00 Command accepted.
12 Sample does not exist in job list.
13 Invalid result format requested
40 No results saved
41 No results available (status != 12)
SAMPLENAME Sample name Name of the sample
PROGRAM Analytical program Name of the Jobtemplate
TIME Date and time Date and time of the measurement.
Format: dd-Mmm-yyyy hh:mm:ss
Example: 15-Dec-2011 10:40:15

The part COMPONENT_INFO will depend on the result format that has been selected for the meas-
urement. It contains the following parts, all separated by blanks space (TCP/IP) or <NUL> (serial line).

DOC-M87-EXX001 V6 – 11.2012 15
AXSCOM User's Manual

Result format Contains Description


1 Element / Component Only concentrations. The format for the concen-
Concentration tration values are fixed to 8.3, normed in percent-
age. Unit is fixed to “%”
Unit
2 Element / Component Only concentrations. The format for the concen-
Concentration tration values is variable, will be sent in the way
the evaluation has generated it.
Unit
8 Element / Component Only intensities in Kcps.
intensity
9 Element / Component Concentrations and intensities. The format for the
Concentration concentration values are fixed to 8.3, normed in
percentage.
Unit
Unit is fixed to “%”
Intensity
10 Element / Component Concentrations and intensities. The format for the
Concentration concentration values is variable, will be sent in the
way the evaluation has generated it.
Unit
Intensity

Examples
Format 1:
READRS 00 Sample1 Clinker “15-Dec-2011 10:40:15” CaO 12.200 %
Format 10:
READRS 00 Sample2 Clinker “15-Dec-2011 10:42:15” Al 0.683 % 45.731 Sum 0.683 % -900.000

16 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Sample removed by Host


After the sample has been placed on the conveyor belt, the host computer has the control over further
processing of the sample. The driver has to be notified that the take-over has occurred. This is done
through the SMPUNL (Sample unloaded) command.
Syntax
Command:
SMPUNL SAMPLENAME
Return:
SMPUNL NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample as defined at the MEASMP or
LOADSM command.

Return:
Parameter Value Description
NN 00 Command accepted.
12 Sample does not exist in job list.
43 Sample not clear (status != 03), SMPUNL not al-
lowed.

DOC-M87-EXX001 V6 – 11.2012 17
AXSCOM User's Manual

Loading a sample
The command LOADSM (Load Sample) is used to load specific samples from the transfer position to
a reserved magazine position without starting the measurement automatically, for instance to use the
magazine as a buffer for any kind of samples, e.g. to keep a buffer for empty steel rings or empty
cups. These could then be supplied back to the transfer position at any time using the UNLOAD com-
mand. It is also possible to start a measurement for this sample later at any time using command
MEASMP for a magazine sample.
Syntax
Command:
LOADSM SAMPLENAME TRANSFER MAGAZINE
Return:
LOADSM NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name The parameter Sample name is used to identify
each sample in the job list. The sample name must
therefore be unique in the job list.
TRANSFER Transfer position Transfer position, Z01 - Z04.
MAGAZINE Magazine position Parking position at the magazine, e. g. 1A01.

Note
As a change towards previous implementations of AXSCOM, the parameter MAGAZINE is
not mandatory for Instruments with DIFFRAC.MEASUREMTSUITE V3 or later. If no maga-
zine position is given at the command, AXSCOM will put the sample on a free buffer posi-
tion.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
13 A sample with the same name already exists.
14 No free buffer position available
15 Transfer position occupied by another sample.

18 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Unloading a sample
After the measurement of a sample, the sample is put into the parking position in the magazine. The
unloading of the sample occurs through the UNLOAD command. This command is also used to put
back specific samples from the magazine position to the transfer position (see command LOADSM).
The sample is back on the conveyor belt when code 03 appears in the status field. Sample can be
removed by the host.
Syntax
Command:
UNLOAD SAMPLENAME or
UNLOAD SAMPLENAME TRANSFER
Return:
UNLOAD NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample as defined at the MEASMP or
LOADSM command.
TRANSFER Transfer position Transfer position, Z01 - Z04.
The parameter transfer position is optional. If more
than one transfer position is defined, the default
position is the transfer position used in MEASMP
for this sample, i.e. Z01 in most cases.
This parameter is mandatory if UNLOAD is used
for samples which were loaded with command
LOADSM from the transfer position to a reserved
position in the magazine.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
12 Sample does not exist in job list.
15 Transfer position occupied by another sample.
16 Sample not yet taken over (status=01).
17 Sample already unloaded, waiting for confirmation.
19 Unloading activated (status=21).
20 Sample waiting for measurement start (status=02).
21 Sample should be deleted (status=20).
30 Sample currently active.

DOC-M87-EXX001 V6 – 11.2012 19
AXSCOM User's Manual

Cancel a sample
The CANCEL command is used either to cancel a running measurement or to delete a sample from
the sample job list, e.g. after the completion of a measurement of a magazine sample.
Syntax
Command:
CANCEL SAMPLENAME
Return:
CANCEL NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample as defined at the MEASMP or
LOADSM command.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
12 Sample does not exist in job list.
17 Sample waiting for unloading.
19 Sample being transported to conveyor belt.
21 Sample marked for deletion.
34 Sample already cancelled.
35 Sample cancelled, device blocked.

Note
A sample can only be cleared if it is currently inactive. If a sample is currently measured or
at the preload position (if the device has a preload position), the CANCEL command will
abort the operation for this sample and the sample changer will move it to its magazine
position, but it is still known at the device. As soon as it has arrived there, you can send a
second CANCEL command to delete it.

20 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Reset driver
The RESETD command (Reset Driver) resets the driver to its basic status (sample list empty).
Syntax
Command:
RESETD
Return:
RESETD NN
Parameters
Command:
This command does not require any parameter.
Return:
Parameter Value Description
NN 00 Command accepted
50 Error, basic status could not be established

Note
A sample can only be cleared if it is currently inactive. If a sample is currently measured or
at the preload position (if the device has a preload position), the RESETD command will
abort the operation for this sample and the sample changer will move it to its magazine
position, but it is still known at the device. As soon as it has arrived there, you can send a
CANCEL command or a second RESETD command to delete it.

DOC-M87-EXX001 V6 – 11.2012 21
AXSCOM User's Manual

Sending of Acoustic Alarms


As the driver program does not allow for text display, alarms can only be emitted acoustically. This is
done with the SOUNDX command.
Syntax
Command:
SOUNDX DD FFFF
Return:
SOUNDX NN
Parameters
Command:
Parameter Value Description
DD Duration (Integer value) Value ignored, kept at syntax for compatibility with
previous versions.
FFFF Frequency (Integer value) Value ignored, kept at syntax for compatibility with
previous versions.

Return:
Parameter Value Description
NN 00 Command accepted

Note
Due to operating system restrictions, it is not possible to play an acoustic alert through the
PC speaker if the measurement server is running on a 64bit Windows system. AXSCOM
will accept the command but not play the alarm.

22 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

AXSCOM V2 Commands
All AXSCOM V2 commands that are documented in this file are implemented in the DIF-
FRAC.MEASUREMENTSUITE version 3 or higher.
GETPARAM and SETPARAM are also available for D4, S4 and S8 devices and can also be used with
AXSCOM level 1 due to compatibility with these devices. START / STOP / SUSPEND are also availa-
ble at S4, D4 and S8 devices when set to AXSCOM level 2.
Other commands that have been implemented at some older devices and that are not mentioned here
will not be supported in the future. Please do not use them!
Extensions to V1 commands
Create a measurement suspended
With the new optional 10th parameter CREATE_SUSPENDED, a measurement job will be created but
not started. The start of this experiment can then be requested by the START command, e. g. after
additional parameters have been set with the SETPARAM command.
Examples
MEASMP Sample1 Clinker 1A01 UN 0 1 0 10 50 CREATE_SUSPENDED
Measure a sample with multiple programs
From V2 on, MEASMP supports to start several measurements for one prepared sample at the same
device. To start more than one measurement, you just have to send a comma-separated list of job-
templates with the MEASMP command.
Examples
MEASMP Sample1 “Clinker,freelime measurement” 1A01 UN 0 1 0 10 50
Note
If one of the jobtemplate names contains a blank, the whole parameter must be in quotes,
not the single jobtemplate that contains the blank space.

The status of a sample with multiple analytical jobs will switch to the new state 16 as soon as the first
measurement has been done and to 12 as soon as all measurements are finished.
Read results with different formats
If the results should be read with a different format than defined in the MEASMP command, you can
provide the requested format as an additional parameter to the READRS command.
Examples
READRS Sample2 10
READRS 00 Sample2 Clinker “15-Dec-2011 10:42:15” Al 0.683 % 45.731 Sum 0.683 % -900.000
READRS Sample2 1
READRS 00 Sample2 Clinker “15-Dec-2011 10:42:15” Al 0.683 % Sum 0.683 %
Read results of multiple measurements
For a sample that has been measured with multiple analytical programs, READRS will return the re-
sults of all measurements that have been finished until the moment READRS is called. The returned
list of analytical programs will be as received from the MEASMP command. Timestamp will always be
the one from the first analysis. At the compound list, the compounds of all evaluations will be added in
the order of the evaluations.

DOC-M87-EXX001 V6 – 11.2012 23
AXSCOM User's Manual

Get information
With the GETINFO command, the host system can retrieve the current information about several top-
ics of the device.
AXSCOM version
Get the currently configured AXSCOM version
Syntax
Command:
GETINFO AXSCOM
Return:
GETINFO NN AXSCOM VERSION LEVEL
Parameters
Command:
Parameter Value Description
AXSCOM AXSCOM The requested topic (AXSCOM).

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
AXSCOM AXSCOM The requested topic (AXSCOM).
VERSION V=2.0 Currently configured version (2.0)
LEVEL L=2 Level 2 without extensions.
L=XFAB Additional commands for semiconductor devices
available.

Instrument joblist
Get information about all jobs currently defined in the joblist of the instrument. This command returns
all samples, no matter if they have been started through AXSCOM or not.
Syntax
Command:
GETINFO INSTRUMENT_JOBLIST
Return:
GETINFO NN INSTRUMENT_JOBLIST [ SAMPLENAME STATUS POS]n
The part [ SAMPLENAME STATUS POS] will occur n times with n as the number of currently defined
samples. The brackets [ and ] are only to clarify which part will be repeated, they will not appear at the
communication. See the examples.
Parameters
Command:
Parameter Value Description
INSTRUMENT_JOBLIST INSTRUMENT_JOBLIST The requested topic (INSTRU-
MENT_JOBLIST).

Return:

24 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Parameter Value Description


NN 00 Command accepted.
10 Syntax error.
INSTRUMENT_JOBLIST INSTRUMENT_JOBLIST The requested topic (INSTRU-
MENT_JOBLIST).
SAMPLENAME Sample name Name of the sample
STATUS Status of the sample See chapter “Sample Status”
POS Magazine Position For magazine samples: 1A01…
For conveyor samples: Currently assigned
magazine position.

Examples for possible returns:


GETINFO 00 INSTRUMENT_JOBLIST
GETINFO 00 INSTRUMENT_JOBLIST sample1 10 1A01 “sample name 2” 02 1A02
Note
The format of the returned sample list is the same as at the STATUS $ALL command. The
difference between both commands is, that STATUS $ALL returns only AXSCOM samples
while GETINFO INSTRUMENT_JOBLIST returns a list with all samples defined at the in-
strument.

Available Jobtemplates
Get a list with all available Jobtemplates
Syntax
Command:
GETINFO ANALYTICAL_PROGRAMS
Return:
GETINFO NN ANALYTICAL_PROGRAMS[ TEMPLATENAME]n
The part [TEMPLATENAME] can occur n times with n as the number of Jobtemplates that are availa-
ble. The brackets [ and ] are only to clarify which part will be repeated, they must not appear at the
communication!
Parameters
Command:
Parameter Value Description
ANALYTICAL_PROGRAMS ANALYTICAL_PROGRAMS The requested topic (ANALYTI-
CAL_PROGRAMS).

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
ANALYTICAL_PROGRAMS ANALYTICAL_PROGRAMS The requested topic (ANALYTI-
CAL_PROGRAMS).
TEMPLATENAME Name of the template Name of the template as defined at the
Startjobs plugin of the Measurement
Center.

DOC-M87-EXX001 V6 – 11.2012 25
AXSCOM User's Manual

Set measurement parameter


Allows to define additional parameters which are not contained in the standard MEASMP command,
i.e. variable items required for certain analytical program, such as weights, LOI, ... . It is important that
the measurement must be started suspended and all parameters defined before the sample is started
with command START.
Syntax
Command:
SETPARAM SAMPLENAME[ PARAM=VALUE]n
The part [PARAM=VALUE] can occur n times with n as the number of parameters that have to be set.
The brackets [ and ] are only to clarify which part will be repeated, they must not appear at the com-
munication! See the examples.
It is possible to set n parameters at the same time. But it is also possible to set n different parameters
by calling SETPARAM for n times.
Return:
SETPARAM NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample.
PARAM Parameter name Name of the parameter to be set
VALUE Parameter value Value of the parameter to be set.

Return:
Parameter Value Description
NN 00 Command accepted
12 Sample unknown
91 Parameter does not match existing parameter type
in database (Only Spectraplus)
93 Failed to write into database (Only Spectraplus)

Examples
SETPARAM sample1 LOI=20.5
SETPARAM sample2 LOI=20.5 added-g=12.23 ignited-g=33.33
SETPARAM sample1 "MeasurementMethodFile=file://PCNAME/C:/ProgramData/example.bsml"

26 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Note
For the measurement method (parameter MeasurementMethodFile), script file (ScriptFile)
and user task file (UserTaskFile), the host has to use the following two valid parameter
formats:
Database mode:
database:// followed by the IP address of the database server followed by the port of the
database followed by
/BAXSdb/MeasurementMethod/MeasurementMethodId/@LargeobjectId/
followed by the database id of the method followed by **. E. g.:
data-
base://127.0.0.1/5432/BAXSdb/MeasurementMethod/MeasurementMethodId/@Largeobjec
tId/10**
File mode:
File:// followed by the name of the PC followed by / followed by the complete path and
name of the file. E. g.:
file://PC-Name/C:/ProgramData/Bruker AXS/Experiments/example.bsml

DOC-M87-EXX001 V6 – 11.2012 27
AXSCOM User's Manual

Get measurement parameter


Check the additional parameters which have been defined for a measurement.
Syntax
Command:
GETPARAM SAMPLENAME[ PARAM]
The part [ PARAM] is optional. If PARAM is present at the command, only the value of this parameter
will be returned. Otherwise, a list with all parameters will be returned.
Return:
GETPARAM NN SAMPLENAME[ PARAM=VALUE]n
The part [ PARAM=VALUE] can occur n times with n as the number of parameters that are available
for the measurement. The brackets [ and ] are only to clarify which part will be repeated, they must not
appear at the communication! See the examples.
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample.
PARAM Parameter name Name of the parameter to be set

Return:
Parameter Value Description
NN 00 Command accepted
12 Sample unknown
92 Parameter unknown
SAMPLENAME Sample name Name of the sample.
PARAM Parameter name Name of the parameter.
VALUE Parameter value Value of the parameter.

Examples
GETPARAM sample2
GETPARAM 00 sample2 LOI=20.5 added-g=12.23 ignited-g=33.33
GETPARAM sample2 LOI
GETPARAM 00 sample2 LOI=20.5
Note
The GETPARAM command may also return some parameters that have not been set by
using the SETPARAM command if these parameters have been part of the measurement
definition.

28 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Get template parameter


Check the default parameters which have been defined for a template.
Syntax
Command:
GETTEMPLATEPARAM TEMPLATENAME
Return:
GETTEMPLATEPARAM NN TEMPLATENAME[ PARAM=VALUE]n
The part [ PARAM=VALUE] can occur n times with n as the number of parameters that are available
for the template. The brackets [ and ] are only to clarify which part will be repeated, they must not ap-
pear at the communication! See the examples.
Parameters
Command:
Parameter Value Description
TEMPLATEENAME Template name Name of the template.

Return:
Parameter Value Description
NN 00 Command accepted
12 Template unknown
TEMPLATEENAME Template name Name of the template.
PARAM Parameter name Name of the parameter.
VALUE Parameter value Value of the parameter.

Examples
GETTEMPLATEPARAM template1
GETTEMPLATEPARAM 00 template1 LOI=20.5 added-g=12.23 ignited-g=33.33

Note
The GETPARAM command may also return some parameters that have not been set by
using the SETPARAM command if these parameters have been part of the measurement
definition.

DOC-M87-EXX001 V6 – 11.2012 29
AXSCOM User's Manual

Stop a measurement
Command to interrupt a running sample, status of sample is set to 07. Command possible only for
samples with Status=05, 10 or 16.
Syntax
Command:
STOP SAMPLENAME
Return:
STOP NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample.

Return:
Parameter Value Description
NN 00 Command accepted.
72 Sample status does not allow STOP.

30 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Start a measurement
Start a measurement. Command only possible for samples with status=06, 07, 14 or 15.
Syntax
Command:
START SAMPLENAME
Return:
START NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample.

Return:
Parameter Value Description
NN 00 Command accepted.
70 Sample status does not allow START.

DOC-M87-EXX001 V6 – 11.2012 31
AXSCOM User's Manual

Suspend a measurement
Command to suspend (deactivate) a sample, status of sample is set to 06. Command possible only for
samples with Status= 02, 07 or 09, that means all samples waiting for measurement start.
Syntax
Command:
SUSPEND SAMPLENAME
Return:
SUSPEND NN
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample.

Return:
Parameter Value Description
NN 00 Command accepted.
72 Sample status does not allow SUSPEND.

32 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Upload a File
A possibility for the exchange of files, for example with special measurement scripts, between the host
and the instrument PC.
Syntax
Command:
UPLOADFILE FILENAME LENGTH FILECONTENT
Return:
UPLOADFILE NN[ DESCRIPTION]
The part [ DESCRIPTION] is optional. The brackets [ and ] are only to clarify which part is optional,
they must not appear at the communication!
Parameters
Command:
Parameter Value Description
FILENAME File name Name of the file that should be uploaded. The file
will be stored in the Bruker AXS folder at the appli-
cation data directory. It is possible to save the file
at a subfolder of the Bruker AXS folder, but this
folder must already exist. It is not allowed to navi-
gate out of the Bruker AXS folder by using “..\“ in
the filename.
LENGTH Length Length of the transferred file content.
FILECONTENT Base64 encoded file con- The content of the transferred file. The content
tent must be Base64 encoded and must not contain
linefeeds.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error. See DESCRIPTION.
101 File or directory unknown.
102 A security Exception occurred while handling the
command.
103 An I/O Exception occurred while handling the
command.
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

Examples
UPLOADFILE “\file transfer\test.txt” 36 VGhpcyBpcyBhbiB1cGxvYWRlZCBmaWxlLg==
This command will lead AXSCOM to create a new file with name test.txt at the folder %ALLUSER-
SPROFILE%\Bruker AXS\file transfer with the content “This is an uploaded file.”.

DOC-M87-EXX001 V6 – 11.2012 33
AXSCOM User's Manual

Download a File
A possibility for the exchange of files, for example with special measurement scripts, between the host
and the instrument PC.
Syntax
Command:
DOWNLOADFILE FILENAME
Return:
DOWNLOADFILE NN LENGTH FILECONTENT[ DESCRIPTION]
The part [ DESCRIPTION] is optional. The brackets [ and ] are only to clarify which part is optional,
they must not appear at the communication!
Parameters
Command:
Parameter Value Description
FILENAME File name Name of the file that should be downloaded. The
file must be stored at the Bruker AXS folder at the
application data directory or a subfolder. It is not
allowed to navigate out of the Bruker AXS folder by
using “..\“ at the filename.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error. See DESCRIPTION.
101 File or directory unknown.
102 A security Exception occurred while handling the
command.
103 An I/O Exception occurred while handling the
command.
LENGTH Length Length of the transferred file content.
FILECONTENT Base64 encoded file con- The content of the transferred file. The content
tent must be Base64 encoded and must not contain
linefeeds.
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

34 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Download status file


With this command, the host system can request the measurement server to create a status file and
transfer it to the host. The host can then forward this file to the Bruker service team, e. g. by email.
Syntax
Command:
DOWNLOADSTATUSFILE
Return:
DOWNLOADSTATUSFILE NN LENGTH FILECONTENT
Parameters
Command:
This command does not require any parameter.
Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error. See DESCRIPTION.
LENGTH Length Length of the transferred file content.
FILECONTENT Base64 encoded file con- The content of the transferred status file. The con-
tent tent must be Base64 encoded and must not con-
tain linefeeds.

DOC-M87-EXX001 V6 – 11.2012 35
AXSCOM User's Manual

Save a measurement template


With this command, the host system can save a finished measurement of a sample as a template. It
can either be used to modify an existing template or to save the measurement as a new template.
Existing templates will be overwritten.
Syntax
Command:
SAVETEMPLATE SAMPLENAME TEMPLATENAME
Return:
SAVETEMPLATE NN[ DESCRIPTION]
Parameters
Command:
Parameter Value Description
SAMPLENAME Sample name Name of the sample that should be saved as a new
template
TEMPLATENAME Name of the new tem- A string with the name of the new template.
plate

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error. See DESCRIPTION.
12 The sample that should be saved as a template is
unknown.
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

Note
Only finished samples can be saved as a template.

36 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Delete a measurement template


With this command, the host system can delete measurement template.
Syntax
Command:
DELETETEMPLATE TEMPLATENAME
Return:
DELETETEMPLATE NN[ DESCRIPTION]
Parameters
Command:
Parameter Value Description
TEMPLATENAME Name of the template The name of the template that should be deleted

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error. See DESCRIPTION.
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

DOC-M87-EXX001 V6 – 11.2012 37
AXSCOM User's Manual

Set value for hardware component


With this command, the host system can set new target values for specified logical drive.
Syntax
Command:
SETDEVICEPARAM COMPONENT VALUE
Return:
SETDEVICEPARAM NN
Parameters
Command:
Parameter Value Description
COMPONENT Name of the component The name of the logical drive that should be
moved.
VALUE New value for the compo- The value that should be set for the component.
nent

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
92 Component not supported

38 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Get value for hardware component


With this command, the host system can get the current values for specified logical drives.
Syntax
Command:
GETDEVICEPARAM COMPONENT
Return:
GETDEVICEPARAM NN VALUE
Parameters
Command:
Parameter Value Description
COMPONENT Name of the component The name of the logical drive where the value
should be read from.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
92 Component not supported
VALUE Current value for the The current value of the requested logical drive.
component

Note
If the requested drive is currently moving, the command will return the position where the
component is in the moment of the request and not the target position.

DOC-M87-EXX001 V6 – 11.2012 39
AXSCOM User's Manual

Additional Commands for Semiconductor devices


The following commands offer some functions that are only available for semiconductor devices.
Open a door
Before a wafer can be transferred between two chambers, the door between these chambers has to
be opened. With the XFABOPENDOOR command, the host system can request such a door to get
open.
Syntax
Command:
XFABOPENALL DOORID
Return:
XFABOPENDOOR NN[ DESCRIPTION]
Parameters
Command:
Parameter Value Description
DOORID Door id ID of the door that is requested to get opened.

Return:
Parameter Value Description
NN 00 Command accepted, the chambers next to the door
will be set to the same air pressure and the door
opened. Sample stage will be moved to park posi-
01 tion if the door is the door of a measurement
chamber.
10
Door is already open.
11
Syntax error. See description for more details.
Requested door cannot be opened as another door
is still open. Please close all other doors of a
chamber before request opening a door. This will
only occur if at least one chamber is currently on
vacuum. If all chambers are on ambient pressure,
all doors can be opened
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

Note
A return code 00 indicates that the door will get opened now, not that the door already
reached the requested position. Please watch the state of the door using the XFABDOOR-
STATE command before moving the waver!

40 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Close a door
After a wafer has been transferred between two chambers, the door has to be closed again. With the
XFABCLOSEDOOR command, the host system can request such a door to get closed.
Syntax
Command:
XFABCLOSEDOOR DOORID
Return:
XFABCLOSEDOOR NN[ DESCRIPTION]
Parameters
Command:
Parameter Value Description
DOORID Door id ID of the door that is requested to get closed.

Return:
Parameter Value Description
NN 00 Command accepted. Door will be closed.
01 Door is already closed.
10 Syntax error. See description for more details
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

DOC-M87-EXX001 V6 – 11.2012 41
AXSCOM User's Manual

Open all doors


A command, especially for emergency stops, that sets the pressure of all chambers to ambient pres-
sure and opens all doors.
Syntax
Command:
XFABOPENALL
Return:
XFABOPENALL NN[ DESCRIPTION]
Parameters
Command:
This command does not require any parameter.
Return:
Parameter Value Description
NN 00 Command accepted. All doors will be opened.
01 All doors are already open.
10 Syntax error. See description for more details
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

42 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Request the state of a door


Check the state of a door to see if it is necessary to order a change of its state or to see if a requested
change of the state has already finished.
Syntax
Command:
XFABDOORSTATE DOORID
Return:
XFABDOORSTATE NN DOORID DOORSTATE[ DESCRIPTION]
Parameters
Command:
Parameter Value Description
DOORID Door id ID of the door that should be checked.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error. See description for more details.
20 Pressure level of at least one of the according
chambers cannot be set. See Error description for
more details.
21 Door cannot be closed due to a collision. See Error
description for more details
22 Sample stage not ready for transfer
DOORID Door id ID of the door.
DOORSTATE Door state:
00 Undefined state
01 Door open.
02 Door closed.
DESCRIPTION Error description A string with additional information about the rea-
son why the command could not be executed.

DOC-M87-EXX001 V6 – 11.2012 43
AXSCOM User's Manual

Check if a wafer is present


Check if a wafer is currently present in a chamber.
Syntax
Command:
XFABWAFERPRESENT CHAMBERID
Return:
XFABWAFERPRESENT NN CHAMBERID
Parameters
Command:
Parameter Value Description
CHAMBERID Chamber id ID of the chamber where the presence of a waver
should be checked.

Return:
Parameter Value Description
NN 00 Command accepted, no wafer present.
01 Command accepted, wafer present.
10 Unknown chamber or syntax error.
20 Wafer presence unknown.
CHAMBERID Chamber id ID of the chamber.

44 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Move pins
Move the pins of the stage up or down.
Syntax
Command:
XFABPINMOVE PINPOSITION
Return:
XFABWAFERPRESENT NN
Parameters
Command:
Parameter Value Description
PINPOSITION 0 Move pins down.
1 Move pins up.

Return:
Parameter Value Description
NN 00 Command accepted, pins will be moved.
01 Command accepted, pins already in position
10 Syntax error.
11 No pin present at system.

DOC-M87-EXX001 V6 – 11.2012 45
AXSCOM User's Manual

Check pin state


Check the current stat of the pins at the stage.
Syntax
Command:
XFABPINSTATE
Return:
XFABPINSTATE NN STATE
Parameters
Command:
This command does not require any parameter.
Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.
11 No pin present at system.
STATE 0 Pins are down.
1 Pins are up.
2 Pins in undefined state, probably currently moving.

46 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Control the ESDChuck


Enable or Activate the ESD Chuck.
Syntax
Command:
XFABESDCHUCK VALUE
Return:
XFABESDCHUCK NN
Parameters
Command:
Parameter Value Description
VALUE ON Activate the ESD Chuck.
OFF Deactivate the ESD Chuck.

Return:
Parameter Value Description
NN 00 Command accepted.
10 Syntax error.

Note
In case the ESD Chuck gets switched off, the return is delayed by 2.5 seconds to make
sure that the electrostatic filed has been shut down completely.

DOC-M87-EXX001 V6 – 11.2012 47
AXSCOM User's Manual

Set up AXSCOM
The first step is to make sure that AXSCOM in enabled. Since AXSCOM requires an additional license
fee, enabling AXSCOM is only possible for Bruker AXS service personal. Please start Dif-
frac.Maintenance, go to DB Management and open the Tab General Settings. Here you can find the
Setting “Axscom Enabled” that must be switched to “True” (Bruker AXS service personal only).

Fig. 7: General Settings

After Axscom Enabled is set to true, the Measurement Server has to be restarted. After the restart,
there will be a new Button AXSCOM at the Status Window of the Measurement Server.

48 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Fig. 8: Measurement Server Status Window

Please select the device to configure AXSCOM for and click this button to open the AXSCOM Setup
dialog for this device.

Fig. 9: AXSCOM Setup

The first tab contains the settings for TCP/IP connections. The only two settings that can be done here
are to activate the TCP/IP channel and to set a port number.

DOC-M87-EXX001 V6 – 11.2012 49
AXSCOM User's Manual

At the second tab, settings for serial connection can be made. It contains the technical settings for the
communication like COM port, baud rate etc., the decision which protocol should be used (standard or
3964R) and the values for the communication parameters as described at the chapter “Serial commu-
nication”. When changing between standard and 3964R protocol, the values for the communication
parameters will be set to the default values for this protocol.

At the general settings tab, some general settings for the AXSCOM communication like the used ver-
sion, send a line feed after each command etc. can be set.

After the settings are made, click OK to save these. AXSCOM will be enabled immediately. If
AXSCOM is already running, AXSCOM will be stopped and re-started with the new settings.

Note
If a Measurement Server is controlling more than one device and the AXSCOM is activated
for more than one of these devices, please make sure that you do not use the same
TCP/IP port or the same COM interface for more than one device. If you configure two or
even more devices, you will not be able to control which of these devices will receive the
commands.

Note
At older devices, port 1904 has been the default port for the TCP/IP interface of AXSCOM.
With the new Bruker AXS Measurement Suite, the Measurement Server itself uses port
1904 for internal communication. Please do not configure AXSCOM to use port 1904 with
the Bruker AXS Measurement Suite.

Note
If you cannot connect to the AXSCOM interface from your automation system, please make
sure that the TCP/IP port you have selected is not blocked by your local Firewall.

Prepare Job Templates for AXSCOM


A MEASMP command sent to an AXSCOM device will start a measurement that has been configured
as a Jobtemplate in the DIFFRAC.SUITE. To configure a Jobtemplate, first save an Experiment from
the COMMANDER or the WIZARD. After that, the Experiment can be started from the START JOBS
plugin.

50 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Fig. 10: Start Job templates

After the job has finished, go to the Start Job templates tab of the START JOBS plugin and press the
button “New Template”

Fig. 11: Batch Template Dialog

DOC-M87-EXX001 V6 – 11.2012 51
AXSCOM User's Manual

The Batch Template Dialog will open. Select the Job in the list on the left side and add it to the tem-
plate. Type in at least the Template Name (in the list on the right side) and the Button Label. Press OK
to save the template.
Now there is a button for the new template in the Start Job templates tab and this template can be
started by using either the Template Name or the TemplateID as the second parameter of a MEASMP
command. If the MEASMP command is sent with the second parameter only containing numbers,
AXSCOM will first try to find a template with this TemplateID. If there is no such template, AXSCOM
will try to find a template with a name that only contains this number. If there are any characters at the
second parameter, AXSCOM will only try to find a template with this name.
Create a Jobtemplate with DQuant or TopasBBQ
If an XRD instrument is used, and also the results of the measurement shall be read, the evaluation
software e.g. DQuant or TopasBBQ must be configured accordingly.

To use TopasBBQ, enable the column for Topas BBQ Files (activate the Checkbox for “Use column”)
using the Column editor (see Section START JOBS Fehler! Verweisquelle konnte nicht gefunden
werden.on page 50 above).

After the column settings has been saved, a new job can be started, selecting the Script
ScriptTopasBBQEnh.cs (do not use the other TopasBBQ script as only ScriptTopasBBQEnh.cs will
make the results available for AXSCOM) and select your INP file at the column Topas BBQ File.

After this job has been run once, it can be used for a new job template as before.

Fig. 12: Column Editor

For DQuant , a new column with type File Name and ParameterName DQNFile (spelled exactly as
here) has to be configured. The column title and default value can be configured free of your choice.
After the new column has been saved, the new job can be started selecting the Script ScriptD-
QuantPSDEnh.cs and the DQN file in the new column DQNFile.

After this job has been run once, it can be used for a new job template as before.

52 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Fig. 13: Column Editor

Fig. 14: Start Job templates with columns for dqn Files and Topas BBQ Files.

DOC-M87-EXX001 V6 – 11.2012 53
AXSCOM User's Manual

Frequently Asked Questions


Some questions appear regularly in mails for service requests. Probably it helps faster to have them
collected here…
Which steps should I do to get a sample from the conveyor measured and put back to the con-
veyor?
To measure a conveyor sample, host software like should do the following steps:
1) Send the sample on the conveyor to the input position of a Bruker instrument.
2) As soon as the sample has received the input position of the instrument, tell the instrument to
measure the sample (MEASMP command). The device will then check if there is currently an-
other measurement running or not and put the sample either on its buffer position or it will im-
mediately start the measurement of the sample. After the measurement has been finished, the
sample will be put on its reserved buffer position again.
3) Check the status of the sample until measurement has been completed (STATUS command).
4) Get the results of the measurement by using the READRS command.
5) Check if the conveyor is ready to move the sample to the next device.
6) Tell the device to put the sample on the conveyor again using the UNLOAD command. The
device will then put the sample on the conveyor belt again.
7) Tell the device that the host has successfully taken over the control of the sample again by the
SMPUNL command.
AXSCOM always returns code 14 although no sample is present at the device. What’s wrong?
The error code 14 of the MEASMP command tells you, that either the joblist or the reserved buffer
area is full. We can ignore the possibility of the full joblist here as this has only been relevant for older
devices.
What does it mean, that the buffer area is full and why do we need a buffer area? As the instrument
has no control over the conveyor belt, it is only allowed to put a sample back to the conveyor after the
host system (“owner” of the conveyor) has asked the instrument for. As the instrument should be able
to measure the next sample after one sample has been finished as soon as possible, it needs a possi-
bility to clear the sample from the measurement position no matter if the conveyor is ready for the
transport of the sample or not. Cause of that, we have a set of reserved positions at the magazine,
where such samples can be stored.
Each conveyor sample will get one of these positions assigned before it is loaded. This buffer position
will be assigned to the sample during the whole time the sample is inside the device (normally, as long
as the host confirms the control of the sample with the SMPUNL command. Or if deleted by the CAN-
CEL or RESETD command in case of an abnormal termination of the sample).
Before accepting a new sample from the conveyor via MEASMP command, AXSCOM checks if there
is a free buffer position that can be assigned to the sample. If not, the MEASMP command is rejected
with return code 14.
If this happens, there are two possible reasons:
1) Older samples have been unloaded, but the overtaking of these samples has not been con-
firmed with the SMPUNL command. You can check this very easy by sending a STATUS
$ALL command.
2) The buffer area is too small or probably not even defined. Please use the configuration of the
instrument to define a (larger) buffer area.
There is still a sample defined in the sample list after I have sent RESETD. Shouldn’t it be emp-
ty?
If you want to clear all samples that are currently hold by the AXSCOM interface, you can use the
RESETD command. This will delete all sample information for samples that are finished or where the
measurement has not yet been started. But it will not delete samples that are currently measured! If
you send a RESETD command (or a CANCEL command) for a sample that is currently measured, the
measurement will be aborted and the sample will be put back to its magazine position. As soon as it
has arrived there, you can send the CANCEL or RESETD a second time to delete it.

54 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Logging
AXSCOM logs all received and sent commands in two locations:
1) Logging in the database of the Measurement Center. All entries that contain AXSCOM com-
munication data begin with “AXSCOM has received” or “AXSCOM has sent”.
2) A logfile that is located in the Bruker AXS\Logs folder. The measurement server will create
one logfile for each day with the date contained in the filename. “<<<” at the line indicates that
this line has been received by the measurement server coming from the automation host,
“>>>” at the line indicates that the line has been sent from the measurement server to the au-
tomation host.
Both of these sources will be included when you create a statusfile for the Bruker service. This can
either be done through the Measurement Center (please see the documentation of the Measurement
Center for more information) or by the DOWNLOADSTATUSFILE command of AXSCOM.

Note
This chapter is only valid for instruments with the Bruker DIFFRAC.MEASUREMENTSUITE
V3 or later. Please see the documentation of the instrument to get information where to find
logs at older instruments.

DOC-M87-EXX001 V6 – 11.2012 55
AXSCOM User's Manual

Bruker AXS LABLIMS Interface


Introduction
The LABLIMS interface is designed to allow automatically starting of measurement jobs by copying or
created a control file in a special folder that is watched by the “Measurement Server”.
Jobs that are finished are moved to a backup folder and deleted from there after a configurable period.

Syntax of the control files


The control file is in xml format and must fit in the file pattern “job*.xml” (The pattern is configurable.
“job*.xml” is the default pattern).

Here is an example of a fully defined file. Missing entries have suitable defaults that are explained
later.

<?xml version="1.0"?>
<MeasurementJob>
<JobId>1724</JobId>
<JobState>Suspended</JobState>
<Message>Script exception</Message>
<SampleID>A sample id</SampleID>
<Comment>A comment</Comment>
<ExperimentFileOrID>scdstill.bsml</ExperimentFileOrID>
<ResultFileOrID />
<SamplePosition>1A1</SamplePosition>
<InstrumentName></InstrumentName>
<MeasurementType>XRD</MeasurementType>
<ScriptFile>MyScript.cs</ScriptFile>
<UserTaskFile>MyUTFFile.utf</UserTaskFile>
<Priority>50</Priority>
<Permanent>true</Permanent>
<SampleParameterList>
<Parameter>
<Name>A_String</Name>
<Value>This is a string</Value>
</Parameter>
<Parameter>
<Name>N3</Name>
<Value>AQIDBAU=</Value>
<Binary>true</Binary>
<SaveDB>true</SaveDB>
</Parameter>
</SampleParameterList>
</MeasurementJob>

The shaded entries (“JobId”, “JobState”, “Message”) are filled automatically.

56 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

Meaning of the entries

 JobId
Unique id taken from the database. Filled in when the job is scheduled
 JobState
Filled in by the controller and can have the following entries:
None (for creating), Started, Finished, Suspended, Error
 Message
Contains an error message if the job could not be started or failed.
 SampleID
Description of the sample. Default is an empty string. If the text contains a “?”, than the job is
created “Suspended” which means that it does not start automatically.
 Comment
Default is empty. The text is written to the result file and can be viewed inside EVA
 ExperimentFileOrID
The file name of an experiment file (file extension normally “bsml”. If no path is provided, it is
searched in the “Application Experiments folder”.
If the text starts with a colon it is interpreted as database saved method (e.g. “:1234”).
 ResultFileOrID
The file name (or database id, see above) of the result file. If this entry is empty, a file name is
created using a configurable mask and saved in the “Application Results folder”.
The file name can also contain macros to fill in known values like the user name, the name of
the instrument, the sample position, the date, …
 SamplePosition
Position of the sample if a sample changer is present.
If the text contains a “?”, the sample position is cleared and the job started in “Suspended”
mode. You can fill in a valid position using “Start Jobs plugin”.
 InstrumentName
If the measurement server handles more than one instrument the control file must contain the
name of the instrument to use. You will receive an error if the instrument name is empty in this
case.
 MeasurementType
That value can be used to describe the type of measurement. It is visible in the “Job List
Plugin”
 ScriptFile
It is possible to use a different script file to execute the measurement. If no path is given, it is
searched in one of the “Application Script Folders”.
 UserTaskFile
Can contain actions which are executed before the measurement and after. See the manual
for a description of the file format
 Priority
A value between 0 and 200 whereas 0 has the lowest priority. Default is 50. Jobs with a higher
priority displace a running job with a lower priority.
 Permanent
A “permanent” job is started each time the measurement server starts. It is not moved to the
backup folder.
A “non-permanent” job is moved to the backup folder (the original file is deleted) after it is fin-
ished, suspended or produces an error after starting (control files with errors are not moved).
 SampleParameterList
Contain a list of parameters which can be used inside scripting.
Parameter can have string type (like “A_String” in the example) or are binary if the “Binary” at-
tribute is set to “true”. A value in binary format is “base64” formatted.

DOC-M87-EXX001 V6 – 11.2012 57
AXSCOM User's Manual

Error conditions

Syntax errors in the control file


An error file with the same name of the original file with the extension „.err“ is written containing infor-
mation about the error. Additionally a log entry in the application log with the same content is written
(use the “Logging Plugin” to view the messages).
The file is considered again if the measurement server starts. Sample content:

There is an error in XML document (2, 1).

Invalid entries in the control file


Example: Invalid sample changer position.

The state changes to “Suspended” and an error message is written to “Message” attribute.
The file is copied to the backup folder.

<JobState>Suspended</JobState>
<Message>Error calling method:createJob:Calling the method 'createJob' from
the object '/JobScheduler' returned the error: 'Invalid sample changer po-
sition '4711''</Message>
The job finished with an error
Example: Error in the script

Behaves like to former case.

<JobState>Suspended</JobState>
<Message>Script exception</Message>

Configuring LABLIMS
The LABLIMS module is started from the “measurement server”, which contains some configuration
values to control the behavior of the module.

The following values are contained in the file “MeasurementServer.exe.config” located in the program
folder. A description is above the specific entries.

<!‐‐ File mask of the files to examine ‐‐>


<setting name="LABLIMSMask" serializeAs="String">
<value>Job*.xml</value>
</setting>
<!‐‐ Finished jobs are copied to the backup folder and delete there after a specific time which is
configured here. Unit is seconds.
Special values: 0 = do not copy any files to the backup folder (finished jobs are removed)
<0 = never delete files from backup folder
‐‐>
<setting name="LABLIMSDeletePeriod" serializeAs="String">
<value>86400</value>
</setting>
<!‐‐ Set to false to deactivate LABLIMS ‐‐>
<setting name="LABLIMSActive" serializeAs="String">
<value>True</value>
</setting>
<!‐‐ How ofter should the LABLIMS folder tested. If 0 LABLIMS is also deactivated. Time is in ms ‐‐>
<setting name="LABLIMSPeriod" serializeAs="String">

58 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM

<value>5000</value>
</setting>
<!‐‐ Name of the subfolder below the LABLIMS folder to backup files ‐‐>
<setting name="LABLIMSBackupFolder" serializeAs="String">
<value>Finished</value>
</setting>

Licence Notes
The Bruker AXS Measurement Suite is protected by copyright law and international treaties.
Unauthorized reproduction or distribution of this program, or any portion of it, may result in severe civil
and criminal penalties, and will be prosecuted to the maximum extent possible under the law.

DOC-M87-EXX001 V6 – 11.2012 59
AXSCOM User's Manual

Index
Acoustic Alarms .................................................... 22 Download a File .................................................... 34
Available jobtemplates .......................................... 25 Download status file ............................................. 35
AXSCOM version ................................................. 24 Extensions to V1 commands ................................ 23
Cancel a sample ................................................... 20 Frequently Asked Questions ................................ 54
Check if a wafer is present ....................... 44, 46, 47 Get information ..................................................... 24
Close a door ......................................................... 41 Get measurement parameter ......................... 28, 29
Commands ............................................................. 8 Instrument joblist .................................................. 24
Commands (AXSCOM V1) ..................................... 8 Instrument Status ................................................... 8
CANCEL ........................................................... 20 Introduction............................................................. 1
LOADSM .......................................................... 18 Job Templates for AXSCOM ................................ 50
MEASMP .................................................... 13, 23 Licence Notes ....................................................... 59
READRS..................................................... 15, 23 Loading a sample ................................................. 18
RESETD ........................................................... 21 Logging................................................................. 55
SMPUNL........................................................... 17 Measure a Sample ............................................... 13
SOUNDX .......................................................... 22 Number of free reserved positions ....................... 11
STATUS ............................................................. 8 Open a door ......................................................... 40
UNLOAD........................................................... 19 Open all doors ...................................................... 42
Commands (AXSCOM V2) ................................... 23 Read Results ........................................................ 15
DOWNLOADFILE ............................................. 34 Request the state of a door .................................. 43
DOWNLOADSTATUSFILE ............................... 35 Reset driver .......................................................... 21
Extensions to V1 commands ............................ 23 Sample removed by Host ..................................... 17
GETINFO.......................................................... 24 Sample Status ........................................................ 9
GETPARAM ............................................... 28, 29 Sample Status List ............................................... 11
SETPARAM ...................................................... 26 Serial Interface ....................................................... 4
START .............................................................. 31 Serial Siemens 3964R Procedure .......................... 6
STOP ................................................................ 30 Serial Standard Procedure ..................................... 4
SUSPEND ........................................................ 32 Set measurement parameter ................................ 26
UPLOADFILE ................................................... 33 Set up AXSCOM .................................................. 48
Commands (Semiconductor) ................................ 40 Start a measurement ............................................ 31
XFABCLOSEDOOR ......................................... 41 Stop a measurement ............................................ 30
XFABDOORSTATE .......................................... 43 Suspend a measurement ..................................... 32
XFABOPENALL ................................................ 42 TCP/IP .................................................................... 3
XFABOPENDOOR ........................................... 40 Transmission of status............................................ 8
XFABWAFERPRESENT ...................... 44, 46, 47 Unloading a sample .............................................. 19
Communication....................................................... 3 Upload a File ........................................................ 33
CREATE_SUSPENDED ....................................... 23

60 DOC-M87-EXX001 V6 – 11.2012

You might also like