Professional Documents
Culture Documents
Bruker AXS AXSCOM User Manual DOC-M87-EXX001 V6 Complete
Bruker AXS AXSCOM User Manual DOC-M87-EXX001 V6 Complete
User Manual
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.
DOC-M87-EXX001 V6 – 11.2012 i
AXSCOM User's Manual
ii DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM
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.)
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
Receive request
Send answer
Receive answer
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.
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
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
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:
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
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.
Return:
DOC-M87-EXX001 V6 – 11.2012 11
AXSCOM User's Manual
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.
Return:
DOC-M87-EXX001 V6 – 11.2012 13
AXSCOM User's Manual
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
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
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
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
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
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
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
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
DOC-M87-EXX001 V6 – 11.2012 35
AXSCOM User's Manual
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
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
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
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
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
42 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM
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
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
46 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM
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).
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
Please select the device to configure AXSCOM for and click this button to open the AXSCOM Setup
dialog for this device.
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.
50 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM
After the job has finished, go to the Start Job templates tab of the START JOBS plugin and press the
button “New Template”
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.
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. 14: Start Job templates with columns for dqn Files and Topas BBQ Files.
DOC-M87-EXX001 V6 – 11.2012 53
AXSCOM User's Manual
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
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>
56 DOC-M87-EXX001 V6 – 11.2012
User's Manual AXSCOM
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
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
<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.
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