spectrolino spectroscan - x-rite · spectrolino spectroscan serial interface ... this makes it...

86
GretagMacbeth 98.42.59 SI 0202 en Printed in Switzerland Spectrophotometer & XY Table Spectrolino SpectroScan SERIAL INTERFACE Edition 5

Upload: lamdung

Post on 08-Jul-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

GretagMacbeth 98.42.59 SI 0202 en Printed in Switzerland

Spectrophotometer & XY Table

Spectrolino SpectroScan

SERIAL INTERFACE

Edition 5

Page 2: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 3: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Table of contents

3

Table of contents

1 GENERAL 5

1.1 Compatibility to the SPM family 5

1.2 Short introduction in the principles of communication 5

1.3 Data transmission format 7 1.3.1 The decimal format 7 1.3.2 The hexadecimal format 8

2 PROGRAMMING THE SPECTROLINO 9

2.1 Procedure to initialize the Spectrolino 9

2.2 Procedure to execute measurements 10 2.2.1 Procedure to execute reflectance measurements 10 2.2.2 Procedure to execute emission measurements 11

2.3 Execute measurements and read values 12 2.3.1 Reading measurements values with printout 12 2.3.2 Query measurement values with protocol 14

3 SPECTROLINO COMMUNICATION PROTOCOL 17

3.1 The Spectrolino communication functions 17 3.1.1 Measurements 17 3.1.2 Printout of measurement values 1) 19 3.1.3 Optical parameters 21 3.1.4 Query measuring results 22 3.1.5 White reference values 25 3.1.6 Photometric mode 26 3.1.7 Table values 27 3.1.8 Device data's 29 3.1.9 Several other instructions 30 3.1.10 Error messages 33

4 PROGRAMMING THE SPECTROSCAN 35

4.1 Procedure to initialize the SpectroScan 35

4.2 Procedure to perform measurements on the SpectroScan 36 4.2.1 Procedure to execute reflectance measurements 36 4.2.2 Procedure to execute transmission measurements 37

4.3 Timeouts 38

5 SPECTROSCAN COMMUNICATION PROTOCOL 39

5.1 The SpectroScan communication functions 39 5.1.1 Moving the axis of the XY table 39 5.1.2 Query actual position 40

Page 4: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Table of contents

4

5.1.3 Initialization 42 5.1.4 Setting device ON or OFF 43 5.1.5 Hold or release paper 43 5.1.6 Set table mode T): 44 5.1.7 Set light level T) tr): 44 5.1.8 Set transmission standby position T) tr): 44 5.1.9 Digitizing mode 45 5.1.10 Change interface settings 45 5.1.11 Several other instructions 46 5.1.12 Identification data's 48 5.1.13 Error messages 49

6 ALL COMMUNICATION TYPES 51 6.1.1 General 51 6.1.2 Alphabetical listing and description of all types 51

APPENDIX A -CONNECTIONS 69

APPENDIX B -INTERFACE SPECIFICATION 71

APPENDIX C -SPECTROLINO BACKUP DATA 75

APPENDIX D -SPECTROLINO COMMAND SUMMARY 77

APPENDIX E -SPECTROSCAN COMMAND SUMMARY 83

Page 5: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

General

5

1 General This manual contains specifications, protocol and functional descriptions of the serial interface of the Spectrolino spectrophotometer and the SpectroScan XY table. All commands for the Spectrolino are listed in chapter 3, page 17. The commands for the SpectroScan are in chapter 5, page 39. Each command is built up with different types. Detailed description of each type can be found in chapter 6 listed in alphabetical order.

1.1 Compatibility to the SPM family The communication protocol of the Spectrolino is compatible to the protocol of the SPM spectrophotometers. This makes it possible to use former programs written for the SPM. However, a few new commands have been introduced for the Spectrolino, which are not valid for the SPM. This commands are specially marked. The protocol for the SpectroScan is based on the SPM. Thus, all definition of the protocol for the Spectrolino are also valid for the SpectroScan.

1.2 Short introduction in the principles of communication Data transmission is performed using the query / reply principle: For each query sent from the host computer, the Spectrolino (and the SpectroScan) sends the respective reply. - Each query from the host begins with a start character. - Each reply from the Spectrolino begins with a start character. Queries and replies are concluded with "<CR><LF>". (<CR> = ASCII (13)) and (<LF> = ASCII (10)). After each query has been terminated with "<CR><LF>" the Spectrolino executes the command and sends the respective reply. All data are transmitted in ASCII code. Only printable characters are used which facilitates monitoring of data line communication.

Page 6: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 1

6

A complete query from the host is structured as followed: <Start character> <Message Number> [no, one or more parameters] <CR><LF>

↑ ↑ ↑ ↑ a) b) c) d)

where

a) <Start character> → Host start mark: Each query from the host starts with a special character to indicate the beginning.

b) <Message Number> → Each message has its message number to determine the function of the query.

c) [no, one or more parameters] → Some queries need no additional parameters, others need one or more parameters. Refer to section 3 for more detailed information about the function of the queries.

d) <CR><LF> → Each message has to be terminated by the stop mark <CR><LF>.

A complete reply from the Spectrolino is structured as followed:

<Start character> <Message Number> [one or more parameters] <CR><LF>

↑ ↑ ↑ ↑ a) b) c) d)

where

a) <Start character> → Spectrolino start mark: Each reply from the Spectrolino starts with a special start sign to indicate the beginning.

b) <Message Number> → Each reply has its message number to determine the function of the reply.

c) [one or more parameters] → The results of the reply.

d) <CR><LF> → Each reply will be terminated by the stop mark <CR><LF>.

Page 7: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

General

7

1.3 Data transmission format Two data formats, i.e. the hexadecimal and decimal formats are available for data transmission. In the hexadecimal format, a copy of the memory contents is transferred, while in the decimal format, values are converted into readable ones. The Spectrolino answers each query in the format in which it was received. 1.3.1 The decimal format The Spectrolino will read the parameters of a query as decimal values if the first character after the start mark is a blank. At least one blank (' ' = ASCII(32)) must be sent prior to each parameter in order to separate individual values. Each value may only be displayed with a maximum of 12 characters (excluding blanks). If a value has more than 12 characters, the Spectrolino considers only the first 12 characters. The device replies with the same format as the query was. Different data types are coded as follows: One byte types: (e.g. BOOLEAN, CHAR, tabulation types) Decimal value: 81 Perm. query formats: ' 81', ' 000000000081 ', ' 081', ' +81', ... Reply format: ' 81' (= ASCII(32, 32, 56, 49)) Two byte types: (e.g. INTEGER, CARDINAL, SET) Decimal value: 1234 Perm. query formats: ' 1234', ' 1234', ' +00000001234', ... CARDINAL reply format: ' 1234' (= ASCII(32, 32, 49, 50, 51, 52)) INTEGER reply format: ' 1234' (= ASCII(32, 32, 32, 49, 50, 51, 52)) Four byte type: (SREAL) Decimal value: -3.456 Perm. query formats: ' -3.456', ' -0000003.456', ' -3456E-03', ... Reply format: ' -3.4560' (= ASCII(32, 32, 32, 32, 45, 51, 46, 52, 53, 54, 48)) Example of a complete query and the respective reply: Query: '; 3 9<CR><LF>' Reply: ': 14 9 1.2712 1.2229 1.3888 2.3538 3 1 0<CR><LF>' The above-mentioned query/reply in ASCII: Query: ASCII( 59, 32, 51, 32, 57, 13, 10) Reply: ASCII( 58, 32, 32, 49, 52, 32, 32, 32, 57, 32, 32, 32, 32, 32, 49, 46, 50, 55, 49, 50, 32,

32, 32, 32, 32, 49, 46, 50, 50, 50, 57, 32, 32, 32, 32, 32, 49, 46, 51, 56, 56, 56, 32, 32, 32, 32, 32, 51, 46, 51, 53, 51, 56, 32, 32, 32, 51, 32, 32, 32, 49, 32, 32, 32, 32, 32, 48, 13, 10)

(The meaning of the above-mentioned query will be explained later).

Page 8: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 1

8

1.3.2 The hexadecimal format The hexadecimal format will be recognized when the message value starts immediately after the start character ';'. No Space is required between two message parameters. The answer of a query will also be in hexadecimal format. Note: The Spectrolino uses the INTEL format. For all data which consists of more than one

byte, the least significant byte is always transferred first. Different Data Types are coded as followed: One byte types: (e.g. BOOLEAN, tabulation types) Decimal value: 181 Hexadecimal value: B5 Transmitted as: 'B5' (= ASCII(66,53)) Two byte types: (e.g. INTEGER, CARDINAL, SET) Decimal value: 2346 Hexadecimal value: 092A Transmitted as: '2A09' (= ASCII(50,65,48,57)) Four byte type: (SREAL) The SREAL type corresponds to the IEEE 754 single precision real format and is defined as follows: SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM (32 Bit) S-field: (Sign) 1: negative; 0: positive E-field: exponent + 127 (E-field: 0..255 ➙ exponent: -127..128) M-field: Mantisse standardized, 23 bit (MSB is always 1 and is therefore omitted) Example: value: 0.1516 Hexadecimal value: 3E1B3D07 Transmitted as: '073D1B3E' (= ASCII(48,55,51,68,49,66,51,69)) Example of a complete query and the respective reply: Query: ';0309<CR><LF>' Reply: ':0E0918B6A23FD6869C3F37C5B13FE3A4164003010000<CR><LF>' The above-mentioned query/reply in ASCII: Query: ASCII( 59, 48, 51, 48, 57, 13, 10) Reply: ASCII( 58, 48, 69, 48, 57, 49, 56, 66, 54, 65, 50, 51, 70, 68, 54, 56, 54, 57, 67, 51, 70,

51, 55, 67, 53, 66, 49, 51, 70, 69, 51, 65, 52, 49, 54, 52, 48, 48, 51, 48, 49, 48, 48, 48, 48, 13, 10)

(The meaning of the above-mentioned query will be explained later.)

Page 9: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Programming the Spectrolino

9

2 Programming the Spectrolino

2.1 Procedure to initialize the Spectrolino When starting a program, it is recommended to do an initialization sequence at first to make sure the measuring device is in a defined state.

Correct answer ?

Check baud rateChange baud rate of

the host

All baud rates checked ?

Start initialization routine

No

Yes

Check connection

End of initialization routine

Yes

No

Device is a Spectrolino ?Refer to the manual of

the deviceNo

Reset the Spectrolino

Check baud rate: • Send the instruction "ParameterRequest" (<;00>/{; 0}) to the

Spectrolino. If the reply starts with "ParameterAnswer" (<;0B>/{;11}), the baud rate is correct. If not, change the baud rate of thecomputer and try again until the correct answer is received.

• It is recommended to scan for the baud rate in the following order: 9600, 19200, 57600, 28800, 4800, 2400, 1200, 600, 300, 150, 110 Baud.

Device is a Spectrolino: • Send the instruction "TargetIdRequest" (<;2B>/{; 43}) and check

the <TargetTechType> (refer to section 3.1.8.2). Reset the Spectrolino: • Send the instruction "ResetStatusDownload" (<;5A010405>/

{; 90 1 4 5}) and reset the parameters to default values (without the baud rate and the handshake). (refer to section 3.1.9.8).

Page 10: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 2

10

2.2 Procedure to execute measurements With the Spectrolino you can execute reflectance and emission measurements. The procedure to initialize a reflectance measurement (2.2.1) is not the same as the procedure to initialize an emission measurement (refer to 2.2.2). 2.2.1 Procedure to execute reflectance measurements To execute reflectance measurements it is recommended to use the following sequence:

Start of remission measurement procedure

End of remission measurement routine

Yes

No

First remission measurement after starting

host application ?

Physical filter correct ?

Advise user to change physical filter

Advise user to check white reference

Perform a measurement and read values

Execute more measurements ?

No

No

Yes

Yes

Set measurement type

Advise user to place unit on white reference

Perform a white calibration

Set white base to absolute

Set measurement type: • Send the instruction "MeasControlDownload" (<;4D9B>/

{; 77 155}) and set the measurement type to reflectance measurement (refer to section 3.1.9.3).

First reflectance measurement after starting host application ?: • Control with the host application, if this is the first reflectance

measurement after starting the application. If the first reflectance measurement will be executed, the white calibration must be executed.

Set white base to absolute: • Send the instruction "ParameterDownload" (<;16.....>/{; 22 ....}) and

set the white base to absolute (refer to section 3.1.3.2). Advise user to check white reference: • Send the instruction "WhiteReferenceRequest" (<;B3....>/

{; 179 ...}) (refer section 3.1.5.1). Get the white reference name in the "Name18Type" of the answer and write it on the display. Advise the user to check the name with the one on his white reference for correspondence.

Advice user to check physical filter: • The user must be advised to change the physical filter (No-filter,

polarization-filter, .. ), if the wrong is adapted to the Spectrolino. Advice user to change physical filter: • The user must be advised to change the physical filter of the

Spectrolino. Advice user to place unit on white reference: • The user must be advised to place the Spectrolino on the white

reference. Perform a white calibration: • Send the instruction "ExecRefMeasurement" (<;220907>/

{; 34 9 7}). The reply should be <:2513>/{: 37 19} (refer to section 3.1.1.2).

Physical filter correct ?: • Send the instruction "ParameterRequest" (<;00>/{; 0}) and check if

the <ActualFilterType> is set to the desired physical filter (No-filter, polarization-filter, .. ) (refer to section 3.1.3.1).

Perform a measurement and read values: • (refer to section 2.3). If you use paper white, in advance set the

white base to paper and perform a paper white measurement. Execute more measurements ?: • Only if relevant parameter (such as the measurement type, the white

base or the physical filter) are changed during the application, a new white calibration has to be performed.

Page 11: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Programming the Spectrolino

11

2.2.2 Procedure to execute emission measurements To execute emission measurements it is recommended to use the following sequence:

Start of emission measurement procedure

End of emission measurement routine

Yes

No

Physical filter is no-filter ?

Advise user to check white reference

Perform a measurement and read values

Execute more measurements ?

No

Yes

Advise user to place unit on white reference

Perform an emission calibration

Perform a white calibration

Set white base to absolute

Set measurement type to remission

Set measurement type to emission

Set photometric mode to absolute or relative

Advice user to adapt no-filter tubus

Set white base to absolute: • Send the instruction "ParameterDownload" (<;16....>/

{; 22 .......}) and set the white base to absolute (refer to section 3.1.3.2).

Advice user to adapt No-filter tubus: • The user must be advised to adapt the No-filter tubus to the

Spectrolino. Set measurement type to reflectance: • Send the instruction "MeasControlDownload" (<;4D9B>/

{; 77 155}) and set the measurement type to reflectance measurement (refer to section 3.1.9.3).

Advise user to check white reference: • Send the instruction "WhiteReferenceRequest" (<;B3>/

{; 179}) (refer section 3.1.5.1). Get the white reference name in the "Name18Type" of the answer and write it on the display. Advise the user to check the name with the one on his white reference for correspondence.

Advice user to place unit on white reference: • The user must be advised to place the Spectrolino on the

white reference. Perform a white calibration: • Send the instruction "ExecRefMeasurement" (<;220907>/

{; 34 9 7}). The reply should be <:2513>/{: 37 19} (refer to section 3.1.1.2).

Physical filter is No-filter ?: • Send the instruction "ParameterRequest" (<;00>/{; 0}) and

check if the <ActualFilterType> is set to "NoFilter".(refer to section 3.1.3.1).

Set measurement type to emission: • Send the instruction "MeasControlDownload" (<;4D9D>/

{; 77 157}) and set the measurement type to emission measurement (refer to section 3.1.9.3).

Perform an emission calibration (dark measurement): • Send the instruction "ExecRefMeasurement" (<;220908>/

{; 34 9 8}). The reply should be <:2534>/{: 37 52} (refer to section 3.1.1.2). For this step, the Spectrolino must be placed on a white reference.

Set photometric mode to absolute or relative: • Send the instruction "MeasControlDownload" (<;4D9E>/

{; 77 158}, resp. (<;4D9F>/{; 77 159). (refer to section 3.1.6.1). If it is set to relative, the reference value should be set with the command "FloatDownload" (<;C2 ....>/{; 194 ....). (refer to section 3.1.6.3)

Perform a measurement and read values: • (refer to section 2.3). Execute more measurements ?: • If the measurement type is changed during the application, a

new emission calibration has to be performed.

Page 12: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 2

12

2.3 Execute measurements and read values There are different methods to get measurement values of a color field. A measurement can be performed by the computer or by pressing the measurement key of the Spectrolino. The measurement values are either returned after each measurement (refer to 2.3.1) or on special request (refer to 2.3.2). 2.3.1 Reading measurements values with printout The easiest way to read the values of a color field is by processing the printout. The printout can be defined by modifying the "OutputSet" with the command "MeasurementOutput" (refer section 3.1.2). Now, the desired values will be sent to the serial interface each time a measurement has been executed. If no printout is required, all "OutputSet" should be set to zero. Note: This method can not be used with the SPM! 2.3.1.1 Executing measurement by computer

Start of perform measurement

and read values

End of perform measurement

and read values

Execute more measurements ?

No

Yes

Perform measurement and get printout

Define "OutputSet"

Define "OutputSet": • Send the instruction "SetMeasurementOutput" (<;B1....>/{; 177 ......}) and

set the OutputSet to the desired measuring results (refer to section 3.1.2). Perform a measurement and get values: • Send the instruction "ExecMeasurement" (<;20>/{; 32}) (refer to section

3.1.1.1). With the answer the defined measuring results will be sent. Execute more measurements ?: • Another measurement may be performed.

Example 1: (hexadecimal protocol) ;B10202<CR><LF> Define output: Lab � :1F0000<CR><LF> ;20<CR><LF> Perform a measurement � :2500<CR><LF>:BE02029B3F054218AA2A428E367441FF00<CR><LF> ;20<CR><LF> Perform next measurement � :2500<CR><LF>:BE02026A2C034619332B449E161854FF00<CR><LF> Example 2: (decimal protocol) ; 177 2 3<CR><LF> Define output: xyY, Lab � : 31 0<CR><LF> ; 32<CR><LF> Perform measurement � : 37 0<CR><LF>: 190 2 1 0.5359 0.3201 7.6821 <CR> 2 2 33.3121 42.6661 15.2633 <CR> 255 0<CR><LF>

Page 13: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Programming the Spectrolino

13

2.3.1.2 Executing measurement by pressing measurement key A measurement can also be executed at the measurement key. Therefore, define the desired "OutputSet". After that the values will be sent after each measurement.

Start of perform measurement

and read values

End of perform measurement

and read values

Execute more measurements ?

No

Yes

Define "OutputSet"

Printout detected ?No

Yes

Define "OutputSet": • Send the instruction "SetMeasurementOutput" (<;B1....>/{; 177 ......}) and

set the OutputSet to the desired measuring results (refer to section 3.1.2). Printout detected: • If a Printout has been sent from the Spectrolino, a measurement has been

executed by pressing the measurement key. The printout includes the defined measuring results.

Execute more measurements ?: • Another measurement may be performed.

Page 14: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 2

14

2.3.2 Query measurement values with protocol 2.3.2.1 Executing measurement by computer After performing a measurement with 'ExecMeasurement', the values of the color field can be queried. See section 3.1.4 for further information.

Start of perform measurement

and read values

End of perform measurement

and read values

Execute more measurements ?

No

Yes

Query the measuring result

Perform a measurement

Perform a measurement: • Send the instruction "ExecMeasurement" (<;20>/{; 32}) (refer to section

3.1.1.1). Query the measuring result: • Query the desired measuring result (e.g.: Lab, Spetrum). (refer to section

3.1.4) Execute more measurements ?: • Another measurement may be performed.

Example 1: (hexadecimal protocol) ;20<CR><LF> Perform a measurement � :2500<CR><LF> ;BA0903<CR><LF> Query 'CIE-Luv' � :BB09039B3F054247D68B423A7391400010301020000<CR><LF> ;BA0900<CR><LF> Query 'CIE-xyY' � :BB09008131093FF4DEA33EC4D4F540010301020000<CR><LF> Example 2: (decimal protocol) ; 32<CR><LF> Perform a measurement � : 37 0<CR><LF> ; 186 9 3<CR><LF> Query 'CIE-Luv' � : 187 9 3 33.3121 69.9185 4.5453 1 3 1 2 0<CR><LF> ; 186 9 0<CR><LF> Query 'CIE-xyY' � : 187 9 0 0.5359 0.3201 7.6822 1 3 1 2 0<CR><LF>

Page 15: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Programming the Spectrolino

15

2.3.2.2 Executing measurement by pressing measurement key If a measurement should be executed directly at the device, the handling is a little bit more difficult. Here, the computer has to poll with the command 'NewMeasureRequest' until a measurement has been executed. Then, further commands can be sent by the computer in order to get the desired values.

Start of perform measurement

and read values

End of perform measurement

and read values

Execute more measurements ?

No

Yes

Query the measuring result

Query if new measurement done ?

No

Yes

Query if new measurement done ?: • Send the instruction "NewMeasureRequest" (<;07>/{; 7}) and check if a

new measurement has be performed by pressing the measurement key (refer to section 3.1.9.1).

Query the measuring result: • Query the desired measuring result (e.g.: Lab, Spetrum). (refer to section

3.1.4) Execute more measurements ?: • Another measurement may be performed.

Example: (hexadecimal protocol) ;07<CR><LF> Measurement performed since the last query? � :120109<CR><LF> No � ask again / Yes � continue ;BA0900<CR><LF> Query 'CIE-xyY' � :BB09008131093FF4DEA33EC4D4F540010301020000<CR><LF> ;BA0903<CR><LF> Query 'CIE-Luv' � :BB09039B3F054247D68B423A7391400010301020000<CR><LF>

Page 16: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 17: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

17

3 Spectrolino communication protocol

3.1 The Spectrolino communication functions All queries and instructions, that can be performed using the serial interface, are listed in this section. The types (building blocks of the instructions) are listed in alphabetical order in section 6. When type names are written within the characters "<" and ">" (e.g. <ErrorType>) the values consist of one byte. Names within brackets (e.g. [SpectrumType]) consist of more than one byte. 3.1.1 Measurements 3.1.1.1 Perform measurement Performs a measurement. It is possible to perform either emission measurements (e.g. monitors) or reflectance measurement (e.g. color fields on paper). Therefore, the measurement type has to be defined prior to a measurement with the command "MeasControlDownload" (refer to section 3.1.9.3). (Message numbers <20>/{32}, <25>/{37})

ExecMeasurement ;<20> <CR><LF> ExecError :<25> <ErrorType> <CR><LF>

Example: Hexadecimal query --> ;20<CR><LF>Hexadecimal reply --> :2500<CR><LF>Decimal query --> ; 32<CR><LF>Decimal reply --> : 37 0<CR><LF>

Meaning of the reply: Measurement performed, no error occurred.

Page 18: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

18

3.1.1.2 Perform white measurement If "MeasurementModeType" is set to "WhiteCalWithWarn", a white measurement will be performed and the spectrophotometer checks automatically if the device is set on the white reference field. If not, a warning will be returned. (Message numbers <22>/{34}, <25>/{37})

ExecRefMeasurement ;<22> <09> <MeasurementModeType> <CR><LF> ExecError :<25> <ErrorType> <CR><LF>

Example: Hexadecimal query --> ;220907<CR><LF>Hexadecimal reply --> :2532<CR><LF>Decimal query --> ; 34 9 7<CR><LF>Decimal reply --> : 37 50<CR><LF>

Meaning of the reply: White measurement done. A warning has been returned: The device might not been set on the white reference field.

For reasons of compatibility to the SPM family, the following command can be used as well to perform a white measurement. For new developments, it is recommended to use the command "ExecRefMeasurement". (Message numbers <21>/{33}, <25>/{37})

ExecWhiteMeasurement ;<21> <CR><LF> ExecError :<25> <ErrorType> <CR><LF>

Page 19: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

19

3.1.2 Printout of measurement values 1) Sometimes it might be useful to get the output values directly each time a measurement has been performed. This values can be defined with "OutputSet". After a reset, no output will be sent. To define the printout, the following command has to be used: (Message numbers <B1>/{177}, <1F>/{31})

SetMeasurementOutput ;<B1> <OutputSetType> <OutputSet> <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

For each "OutputSetType", the "OutputSet" should be defined. After the definition of the printout, after every measurement the values will be sent as followed:

<:> <BE> [type of output] [output values] <CR> [next output] .... <FF> <ErrorType> <CR><LF>

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ a) b) c) d) e) f) g) h)

where

a) <Start character> → Start mark: Each printout starts, like any other reply, with a semicolon (<;>) to indicate the beginning.

b) <Message Number> → The message number of the printout is <BE>/{190}.

c) [type of output] → for each defined output, the "OutputSetType" and the "OutputSet" are sent first

d) [output values] → the measurement values are sent depending on the type

e) <value separation> → each measurement value is separated by a <CR>

f) [next output] → for each defined Output, the measurement value will be sent, according to number c), d) and e).

g) <ErrorType> → at last an error is returned

h) <CR><LF> → The printout is terminated by the stop mark <CR><LF>. To reset the printout of measurement values, the "OutputSet" of each "OutputSetType" should be set to zero. Remarks: If the output is sent in decimal or hexadecimal format depends on the last remote command sent to the device.

Page 20: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

20

Example 1: Hexadecimal query --> ;B10406<CR><LF>Hexadecimal reply --> :1F0000<CR><LF>Decimal query --> ; 177 4 6<CR><LF>Decimal reply --> : 31 0<CR><LF>

Meaning of the reply: After each measurement, the Density value of cyan and magenta will be sent. The output is defined as followed: Hexadecimal output: :BE0402D6869C3F<CR>040437C5B13F<CR>FF00<CR><LF>Decimal output: : 190 4 2 1.2229<CR> 4 4 1.3888 <CR>

255 0<CR><LF> If the output is sent in decimal or hexadecimal format depends on the last remote command sent to the device. So this output says: Dc = 1.2229, Dm = 1.3888, no error occurred

Example 2: Query 1 --> ;B1000E<CR><LF>Reply 1 --> :1F0000<CR><LF>Query 2 --> ;B1020A<CR><LF>Reply 2 --> :1F0000<CR><LF>

Meaning of the reply: After each measurement, the parameters "White reference", "Illuminant type" and "observer angle" and the colorimetry values "Lab" and "Luv" will be sent. The output is defined as followed: Hexadecimal output: :BE000201<CR>000403<CR>000800<CR>

02029B3F054218AA2A428E367441<CR>02089B3F054247D68B423A739140<CR>FF00<CR><LF>

Decimal output: : 190 0 2 1<CR> 0 4 3<CR> 0 8 0<CR>2 2 33.3121 42.6661 15.2633<CR>2 8 33.3121 69.9185 4.5453 255 0<CR><LF>

This output says: White reference is absolute, Illuminant type is D50, Observer angle is 2°, Lab = 33.3121 42.6661 15.2633, Luv =33.3121 69.9185 4.5453.

Page 21: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

21

3.1.3 Optical parameters 3.1.3.1 Query colorimetric parameters Queries on the parameters density standard, white reference, illuminant, observer angle, physical filter setting: (Message numbers <00>/{0}, <0B>/{11})

ParameterRequest ;<00> <CR><LF> ParameterAnswer :<0B> <DStdType> <WBaseType> <IllumType> <ObserverType>

<ActualFilterType> <CR><LF>

Example: Hexadecimal query --> ;00<CR><LF>Hexadecimal reply --> :0B0001000002<CR><LF>Decimal query --> ; 0<CR><LF>Decimal reply --> : 11 0 1 0 0 2<CR><LF>

Meaning of the reply: Density standard = ANSI A; White base = Absolute; Actual filter = Pol; Illuminant type = Illuminant A; Observer angle = 2°

3.1.3.2 Sets the colorimetric parameters Set parameters density standard, white reference, illuminant, observer angle. (Message numbers <16>/{22}, <1F>/{31})

ParameterDownload ;<16> <DStdType> <WBaseType> <IllumType> <ObserverType> <CR><LF>

DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Page 22: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

22

3.1.4 Query measuring results 3.1.4.1 Query of spectral measuring results

Unit for emission measuring results: mW

m sr nm2* *

3.1.4.1.1 Query of spectral measuring results and belonging parameters 1) Queries the spectrum of the last measured field and the actual parameters: (Message numbers <B8>/{184}, <B9>/{185}).

SpecParameterRequest ;<B8> <09> <SpectType> <CR><LF> SpecParameterAnswer :<B9> <09> <SpectType> [SpectrumType] <RefValidType>

<ActualFilterType> <WBaseType> <02> [RemoteErrorSet] <CR><LF>

Example: Hexadecimal query --> ;B80901<CR><LF>Hexadecimal reply --> :B9090141498940F8E2634032F04740E8613540930F2A40F5DA20408C27174

0E8FF0E407BBA0840955902405774F93FC054F03FDA0EE63FA381D83F8265CA3F6FD6BD3FBE97B53F0B6FB03F9CA3AD3F37A6A83F28A6A33FAEBEA23F4E00A43FB277A63F6B4FA93FCBB0AC3F9A09B03FC87CB33FC8DDB63F9271BA3F128DBE3F99ACC33FFB22C93FDE90CF3F1B40D73F72EFE03F010301020000<CR><LF>

Decimal query --> ; 184 9 1<CR><LF>Decimal reply --> : 185 9 1 4.2902 3.5607 3.1240 2.8341 2.6572 2.5134 2.3618

2.2344 2.1364 2.0367 1.9489 9.8776 1.7973 1.6915 1.5812 1.48311.4187 1.3784 1.3566 1.3176 1.2785 1.2714 1.2813 1.3005 1.32271.3491 1.3753 1.4022 1.4286 1.4566 1.4887 1.5287 1.5714 1.62161.6816 1.7573 1 3 1 2 0<CR><LF>

Meaning of the reply: Density spectrum of measured field: D[380] = 4.2902; .. D[730] = 1.7573; the measured values are valid; Actual filter is D65; White base is absolute; no communication error reported.

3.1.4.1.2 Query of spectral measuring results Similar to the upper command "SpecParameterRequest" this command queries the spectrum of a measured field, but without the measurement parameter. This command is also valid for the SPM family. For new developments, the command "SpecParameterRequest" is recommended. (Message numbers <05>/{5},<10>/{16}).

SpectrumRequest ;<05> <09> <SpectType> <CR><LF> SpectrumAnswer :<10> <09> <SpectType> [SpectrumType] <RefValidType>

[RemoteErrorSet] <CR><LF>

Page 23: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

23

3.1.4.2 Query of colorimetric measuring results 3.1.4.2.1 Query of colorimetric measuring results and belonging parameters 1) Query of all 3 parameters (e.g. L, a, b) in the respective color space for the last measured field and the actual parameters: (Message numbers <BA>/{186}, <BB>/{187})

CParameterRequest ;<BA> <09> <CType> <CR><LF> CParameterAnswer :<BB> <09> <CType> [ColorType] <RefValidType> <ActualFilterType>

<WBaseType> <02> <IllumType> <ObserverType> [RemoteErrorSet] <CR><LF>

Example: Hexadecimal query --> ;BA0903<CR><LF>Hexadecimal reply --> :BB090311178D421305B642B5E30F420102010200000000<CR><LF>Decimal query --> ; 186 9 3<CR><LF>Decimal reply --> : 187 9 3 70.5451 91.0099 35.9724 1 2 1 2 0 0 0<CR><LF>

Meaning of the reply: Luv values of a measured field: L = 70.5451, u = 91.0099, v = 35.9724; the measured value is valid; Actual filter is Pol; White base is absolute; Illuminant is Illuminant A; Observer angle is 2°, no communication error.

3.1.4.2.2 Query of colorimetric measuring results and belonging parameters Similar to the upper command "CParameterRequest" this command queries all 3 parameters (e.g. L, a, b) in the respective color space for the last measured field, but without the measurement parameter. This command is also valid for the SPM family. For new developments, the command "CParameterRequest" is recommended. (Message numbers <06>/{6}, <11>/{17})

CRequest ;<06> <09> <CType> <CR><LF> CAnswer :<11> <09> <CType> [ColorType] <RefValidType> [RemoteErrorSet]

<CR><LF>

Page 24: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

24

3.1.4.3 Query of densitometric measuring results 3.1.4.3.1 Query of densitometric measuring results and belonging parameters 1) Query density of the last measured field and the actual parameters: (Message numbers <BC>/{188}, <BD>/{189})

DensityParameterRequest ;<BC> <09> <CR><LF> DensityParameterAnswer :<BD> <09> [DensityFilterArrayType] <StdDensityFilterType>

<RefValidType> <ActualFilterType> <WBaseType> <02> <DStdType> [RemoteErrorSet] <CR><LF>

Explanation: StdDensityFilterType → filter selected from automatic filter selection

Example: Hexadecimal query --> ;BC09<CR><LF>Hexadecimal reply --> :BD0918B6A23FD6869C3F37C5B13FE3A416400301020002020000<CR><LF>Decimal query --> ; 188 9<CR><LF>Decimal reply --> : 189 9 1.2712 1.2229 1.3888 2.3538 3 1 2 0 2 2 0<CR><LF>

Meaning of the reply: Density value: Db = 1.2712; ... Dy = 2.3538; Automatic filter selection: Dy; Measuring value is valid; Actual filter is Pol; White base is paper; Density standard is DIN; no communication error

3.1.4.3.2 Query of densitometric measuring results Similar to the upper command "DensityParameterRequest" this command queries the density of the last measured field, but without the measurement parameter. This command is also valid for the SPM family. For new developments, the command "DensityParameterRequest" is recommended. (Message numbers <03>/{3}, <0E>/{14})

DensityRequest ;<03> <09> <CR><LF> DensityAnswer :<0E> <09> [DensityFilterArrayType] <StdDensityFilterType>

<RefValidType> [RemoteErrorSet] <CR><LF>

3.1.4.4 Queries regarding the maximum density values of a sample (Message numbers <04>/{4}, <0F>/{15}).

DmaxRequest ;<04> <09> <CR> <LF> DmaxAnswer :<0F> <09> <DmaxType> <LambdaType> <DmaxokType>

<RefValidType> [RemoteErrorSet] <CR> <LF>

Page 25: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

25

3.1.5 White reference values 3.1.5.1 Reflection spectra of the white reference 1) Queries for the spectra of the white reference for the desired filter. "OriginalWhiteRef" specifies whether the original or user data's are valid. If user data's are valid, the "Name18Type" contains the name of the data table. If original data's are valid, the white reference number will be given in the string. (Message numbers <B3>/{179}, <B4>/{180})

WhiteReferenceRequest ;<B3> <ActualFilterType> <CR><LF> WhiteReferenceAnswer :<B4> <ActualFilterType> [SpectrumType] <OriginalWhiteRefType>

[Name18Type] <CR><LF>

3.1.5.2 Load spectra of a user defined white reference from the host 1) Load the spectra of a user defined white reference for the desired filter. A name can be given to the white reference with the "Name18Type". (Message numbers <B7>/{183}, <1F>/{31})

WhiteReferenceDownld ;<B7> <ActualFilterType> [SpectrumType] [Name18Type] <CR><LF> DownloadError :<1F> [RemoteErrorSet]<CR><LF>

3.1.5.3 Reset spectra of the respective white reference to original data (Message numbers <4A>/{74},<25>/{37})

ExecWhiteRefToOrigDat ;<4A> <CR><LF> ExecError :<25> <ErrorType><CR><LF>

Page 26: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

26

3.1.6 Photometric mode If you execute emission measurements and get colorimetric results, the photometric mode should be defined. Photometric absolute: The colorimetric values are absolute in cd/m2. Photometric relative: The colorimetric values are relative to the downloadable luminance reference

value (e.g. for the luminance of 80 cd/m2, Y = 100). 3.1.6.1 Load for the photometric mode This instruction permits to set the photometric mode to absolute or relative: (Message numbers <4D>/{77}, <1F>/{31})

MeasControlDownload ;<4D> <ControlType> <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

3.1.6.2 Query for the photometric mode This instruction permits to ask for the current setting of the photometric mode. In the "MeasControlAnswer", the first <ControlType> is set to the value of the "MeasControlRequest", the second <ControlType> is set to the value according to the actual setting of the measuring device: (Message numbers <5B>/{91}, <5C>/{92})

MeasControlRequest ;<5B> <ControlType> <CR><LF> MeasControlAnswer :<5C> <ControlType> <ControlType> [RemoteErrorSet] <CR><LF>

3.1.6.3 Queries the photometric reference value Queries the reference value for relative photometric measurements. (Message numbers <C0>/{192},<C1>/{193})

FloatRequest ;<C0> <COMFloatType> <CR><LF> FloatAnswer :<C1> <COMFloatType> [COMFloatValueType] [RemoteErrorSet]

<CR><LF>

3.1.6.4 Load the photometric reference value Load the reference value for relative photometric measurements. (Message numbers <C2>/{194},<1F>/{31})

FloatDownload ;<C2> <COMFloatType> [COMFloatValueType] <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Page 27: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

27

3.1.7 Table values 3.1.7.1 Query standard or user definable illuminant tables (Colorimetry) Queries of the illuminant tables: (Message numbers <38>/{56}, <39>/{57})

IllumTabRequest ;<38> <00> <IllumType> <CR><LF> IllumTabAnswer :<39> <00> <IllumType> [SpectrumType] [RemoteErrorSet] <CR><LF>

3.1.7.2 Load user definable illuminant tables (Colorimetry) from the Host Load user definable illuminant tables: (Message numbers <3A>/{58},<1F>/{31})

IllumTabDownload ;<3A> <08> [SpectrumType] <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

3.1.7.3 Queries for color temperature of daylight illuminant Dxx This query permits access of color temperature divided by 100 of the freely programmable daylight illuminates: (Message numbers <47>/{71},<48>/{72})

GetValNr ;<47> <60> <CR><LF> ValNrAnswer :<48> <60> [DxxTempNrType] [RemoteErrorSet] <CR><LF>

3.1.7.4 Loading of color temperature of daylight illuminant Dxx This instruction permits to store the color temperature divided by 100 of the freely programmable daylight illuminates in the unit: (Message numbers <49>/{73},<1F>/{31}.)

SetValNr ;<49> <60> [DxxTempNrType] <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Page 28: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

28

3.1.7.5 Queries slope values of densitometry Query slope values: (Message numbers <01>/{1}, <0C>/{12})

SlopeRequest ;<01> <CR><LF> SlopeAnswer :<0C> [DensityFilterArrayType] <CR><LF>

Example: Hexadecimal query --> ;01<CR><LF>Hexadecimal reply --> :0CFEA9813FE97C7F3F86EB813F0000A03F<CR><LF>Decimal query --> ; 1<CR><LF>Decimal reply --> : 12 1.0130 0.9980 1.0150 1.2500<CR><LF>

Meaning of the reply: Slope factor: Db = 1.0130 ... Dy = 1.2500 3.1.7.6 Load slope values of densitometry Load slope values: (Message numbers <17>/{23}, <1F>/{31})

SlopeDownload ;<17> [DensityFilterArrayType] <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

3.1.7.7 Queries of the standard or user definable densitometric tables Queries of the densitometric corrected value tables: (Message numbers <3B>/{59}, <3C>/{60})

DensTabRequest ;<3B> <00> <DStdType> <CR><LF> DensTabAnswer :<3C> <00> <DStdType> [DensFilSpecArrayType] [RemoteErrorSet]

<CR><LF>

3.1.7.8 Load user definable densitometric tables from the host (Message numbers <3D>/{61}, <1F>/{31})

DensTabDownload ;<3D> [DensFilSpecArrayType] <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Page 29: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

29

3.1.8 Device data's 3.1.8.1 Query for specific device data 1) Query for device data's such as serial number, software release. (Message numbers <B5>/{181}, <B6>/{182})

DeviceDataRequest ;<B5> <CR><LF> DeviceDataAnswer :<B6> [DeviceNameType] <DeviceNumberType> [ArticleNumberType]

[SerialNumberType] [SoftwareReleaseType] [ReserveType] <CR><LF>

3.1.8.2 Query special device data's This command gives more special data's about the device. It is manly introduced because of compatibility reasons. Therefore, the above command 'DeviceDataRequest' should be used for future applications. (Message numbers <2B>/{43}, <31>/{49})

TargetIdRequest ;<2B> <CR><LF> TargetIdAnswer :<31> [DeviceNameType] [TargetIdType] [TargetTechType]

[TargetSpecType] <CR><LF>

Page 30: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

30

3.1.9 Several other instructions 3.1.9.1 Queries whether a new measurement was performed since the last access The commands returns, whether a new measurement was performed since the last query. The answer indicates the type of the last measurement. (Message numbers <07>/{7}, <12>/{18})

NewMeasureRequest ;<07> <CR><LF> NewMeasureAnswer :<12> <NewMeasurementType> <09> <CR><LF>

Example: Hexadecimal query --> ;07<CR><LF>Hexadecimal reply --> :120109<CR><LF>Decimal query --> ; 7<CR><LF>Decimal reply --> : 18 1 9<CR><LF>

Meaning of the reply: One measurement was performed since the last query. 3.1.9.2 Queries whether or not a key was pressed since the last access (Message numbers <08>/{8},<13>/{19})

NewKeyRequest ;<08> <CR><LF> NewKeyAnswer :<13> <NewKeyType> [KeySet] <CR><LF>

3.1.9.3 Set measurement type This instruction permits to set the measurement type to reflectance or emission: (Message numbers <4D>/{77}, <1F>/{31})

MeasControlDownload ;<4D> <ControlType> <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

3.1.9.4 Query for the current measurement type This instruction permits to ask for the measurement type. In the "MeasControlAnswer", the first <ControlType> is set to the value of the "MeasControlRequest", the second <ControlType> is set to the value according to the actual setting of the spectrophotometer: (Message numbers <5B>/{91}, <5C>/{92})

MeasControlRequest ;<5B> <ControlType> <CR><LF> MeasControlAnswer :<5C> <ControlType> <ControlType> [RemoteErrorSet] <CR><LF>

Page 31: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

31

3.1.9.5 Set interface parameters This instruction permits to set the interface parameters, (baud rate. and handshake): (Message numbers <4D>/{77}, <1F>/{31})

MeasControlDownload ;<4D> <ControlType> <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Note: If you change the baud rate (communication speed of the serial interface), the answer of the

command will already be sent in the new baud rate. Therefore, it is recommended to ignore the answer of the spectrophotometer and change the baud rate of the host after a delay of 1 second.

3.1.9.6 Query for the current interface parameters This instruction permits to ask for the current interface parameters of the Spectrolino. In the "MeasControlAnswer", the first <ControlType> is set to the value of the "MeasControlRequest", the second <ControlType> is set to the value according to the actual setting of the spectrophotometer: (Message numbers <5B>/{91}, <5C>/{92})

MeasControlRequest ;<5B> <ControlType> <CR><LF> MeasControlAnswer :<5C> <ControlType> <ControlType> [RemoteErrorSet] <CR><LF>

3.1.9.7 Set target status This instruction allows to lock the key function of the device: (Message numbers <33>/{51}, <1F>/{31})

TargetOnOffStDownload ;<33> [TargetOnOffStatusType] <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

3.1.9.8 Total reset of the device Perform a total reset to get the same status like after the startup (backuped values will be reseted to default values (refer to Appendix C). (Message numbers <5A>/{90},<1F>/{31})

ResetStatusDownload ;<5A> <01> <04> <StatusModeType> <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Page 32: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

32

3.1.9.9 Set the speaker *)1.20 This instruction allows to switch the speaker On and Off. After a measurement by the measure key the speaker sounds normally. This sound can be switched On and Off. (Message numbers <4D>/{77}, <1F>/{31})

MeasControlDownload ;<4D> <ControlType> <CR><LF> DownloadError :<1F> [RemoteErrorSet] <CR><LF>

3.1.9.10 Query for the speaker setting *)1.20 This instruction permits to ask for the setting of the speaker (refer to 3.1.9.9). In the "MeasControlAnswer", the first <ControlType> is set to the value of the "MeasControlRequest", the second <ControlType> is set to the value according to the actual setting of the spectrophotometer: (Message numbers <5B>/{91}, <5C>/{92})

MeasControlRequest ;<5B> <ControlType> <CR><LF> MeasControlAnswer :<5C> <ControlType> <ControlType> [RemoteErrorSet] <CR><LF>

Page 33: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Spectrolino communication protocol

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

33

3.1.10 Error messages 3.1.10.1 Reply to an erroneous query The measuring device always sends a reply when it receives a <CR><LF>. The unit replies with "COMErr" if this query was incomplete or invalid: (Message number <26>/{38})

xxxx ;<??> <??> <CR><LF> COMErr :<26> <DTCOMErrType> <CR><LF>

Example: Hexadecimal query --> ;<CR><LF>Hexadecimal reply --> :2604<CR><LF>Decimal query --> ; <CR><LF>Decimal reply --> : 38 4<CR><LF>

Meaning of the reply: The Spectrolino indicates that no valid message number was received. 3.1.10.2 Query for the general error status (Message numbers <29>/{41}, <2F>/{47})

ActErrorRequest ;<29> <CR><LF> ActErrorAnswer :<2F> [ErrorType] <00> <00> <CR><LF>

Page 34: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 35: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Programming the SpectroScan

35

4 Programming the SpectroScan

4.1 Procedure to initialize the SpectroScan When starting a program, it is recommended to do an initialization sequence at first to make sure the SpectroScan and the Spectrolino are in a defined state.

Check baud rate

Start of initialisation routine

Reset the GRETAG Spectrolino

Initialize the GRETAG Spectrolino connection

Set white base to absolut

End of initialisation routine

Correct answer ?All baud rates

checked ?

Change baud rate of the host

Check connection

Set measurement type

No

Yes

No

Check baud rate: • Send the instruction "OutputStatus" (<;D024>/{; 208 36}) to

the SpectroScan. If the reply starts with "StatusAnswer"(<;D1>/{; 209}), the baud rate is correct. If not, change thebaud rate of the computer and try again until the correctanswer is received.

• It is recommended to scan for the baud rate in the following order: 9600, 57600, 28800, 19200, 4800, 2400, 1200, 600, 300, 150, 110 Baud.

Initialize the Spectrolino connection: • Send the instruction "ScanSpectrolino" (<;D00B>/

{; 208 11}). (refer to section 5.1.3.2). Reset the Spectrolino: • Send the instruction "ResetStatusDownload" (<;5A010405>/

{; 90 1 4 5}) and reset the parameters to default values (without the baud rate and the handshake). (refer to section 3.1.9.8).

Set measurement type: • Send the instruction "MeasControlDownload" (<;4D9B>/

{; 77 155}) and set the measurement type to reflectance measurement (refer to section 3.1.9.3).

Set white base to absolute: • Send the instruction "ParameterDownload" (<;16.....>/{; 22

....}) and set the white base to absolute (refer to section 3.1.3.2).

Page 36: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

36

4.2 Procedure to perform measurements on the SpectroScan 4.2.1 Procedure to execute reflectance measurements To execute measurements with the Spectrolino adapted to the SpectroScan it is recommended to use the following sequence, after the execution of the initialisation routine (refer to section 4.1):

Start of measurement procedure on the

GRETAG SpectroScan

Move GRETAG Spectrolino to the white

reference

Move GRETAG Spectrolino down

Perform a white calibration

Move GRETAG Spectrolino to position

X/Y

Move GRETAG Spectrolino down

Perform a measurement and read values

Execute more measurements ?

End of measurement procedure on the

GRETAG SpectroScan

Physical filter correct ?

Advise user to change physical filter

50 measurements

done ?

Move GRETAG Spectrolino to the white

reference

Move GRETAG Spectrolino down

Perform a white calibration

No

Yes

Yes

No

No

Yes

Move GRETAG Spectrolino to home

position

Set table mode to reflectance: • If SpectroScanT is set to transmission mode send the

instruction "SetTableMode" (<;D00D00>/ {; 208 13 10}) (refer to section 5.1.6).

Move Spectrolino to the white reference: • Send the instruction "MoveToWhiteRefPos" (<;D006..>/

{; 208 6 ..}). The reply should be <:D18000>/{: 209 128 0} (refer to section 5.1.1.6).

Move Spectrolino down: • Send the instruction "MoveDown" (<;D004>/

{; 208 4}). The reply should be <:D18000>/{: 209 128 0} (refer to section 5.1.1.5).

Advice user to change physical filter: • The user must be advised to change the physical filter of the

Spectrolino. Perform a white calibration: • Send the instruction "ExecRefMeasurement" (<;220907>/

{; 34 9 7}). The reply should be <:2513>/{: 37 19} (refer to section 3.1.1.2).

Physical filter correct ?: • Send the instruction "ParameterRequest" (<;00>/{; 0}) and

check if the <ActualFilterType> is set to the desired physical filter (No-filter, polarization-filter, .. ) (refer to section 3.1.3.1).

Move Spectrolino to position X/Y: • Send the instruction "MoveAbsolut" (<;D000....>/

{; 208 0 .....}). The reply should be <:D18000>/{: 209 128 0} (refer to section 5.1.1).

Move Spectrolino down: • Send the instruction "MoveDown" (<;D004>/

{; 208 4}). The reply should be <:D18000>/{: 209 128 0} (refer to section 5.1.1.5).

Perform a measurement and read values: • Send the instruction "ExecMeasurement" (<;20>/{; 32})

(refer to section 3.1.1.1). Query the desired measuring result (e.g.: Lab, Spetrum). (refer to section 3.1.4)

50 measurements done ?: • In order to enhance the accuracy, a new white calibration

should be performed every 50 measurements. Execute more measurements ?: • When all measurements are performed, move the

Spectrolino to the home position. Move Spectrolino to home position: • Send the instruction "MoveHome" (<;D002>/

{; 208 2}). The reply should be <:D18000>/{: 209 128 0} (refer to section 5.1.1).

Page 37: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Programming the SpectroScan

37

4.2.2 Procedure to execute transmission measurements To execute transmission measurements using SpectroScanT it is recommended to use the following sequence:

End of transmission measurement routine

Perform a white calibration

10 measurements

done?

No

Execute more measurements ?

No

Start of mesurement procedure on SpectroScanT

Set SpectroScanT to transmission mode

Yes

No

Physical filter correct ?

No

Perform repositioning

Perform a measurement and read values

Yes

Yes

Advise user to change physical filter

Advise user to insert the aperture on

SpectroScanT

Change aperture?

Advice user to adapt No-filter tubus: • The user must be advised to adapt the No-filter

tubus to the Spectrolino. Advice user to insert an aperture on SpectroScanT • The user must be advised to insert an aperture on

SpectroScanT before the device is set to transmission mode.

Set table mode to transmission: • Send the instruction "SetTableMode" (<;D00D01>/

{; 208 13 1}) (refer to section 5.1.6). An optimum position for the Spectrolino relative to the lamp for transmission measurements is searched.

• The table mode can also be changed manually by pressing <Zero> and <Measure> simultaneously. When switched to transmission mode, lights are turned on and Spectrolino is moved to find the optimum position for transmission measurements. It is then moved to a standby position. When switched to reflectance mode, Spectrolino is moved to home position.

Perform a white calibration: • Send the instruction "ExecRefMeasurement"

(<;220907>/ {; 34 9 7}). The reply should be <:2513>/{: 37 19} (refer to section 3.1.1.2).

• A white calibration can also be executed manually by pressing the <Zero> key shortly.

Perform repositioning and white calibration: • Press <Zero> key on SpectroScanT until device

starts moving. The optimum position for the Spectrolino relative to the lamp for transmission measurements is searched. A white calibration is done afterwards. Pressing the <Zero> key shortly only executes a white calibration.

Perform a measurement and read values: • (refer to section 2.3). • A measurement can also be executed manually by

pressing the <Measure> key. 10 measurements done ?: • In order to enhance the accuracy, a new white

calibration should be performed every 10 measurements.

Execute more measurements ?: • If the measurement type is changed during the

application, a new emission calibration has to be performed.

Page 38: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 4

1): These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

38

4.3 Timeouts After every query the host software must wait, until it receives the answer from the connected device. This duration (Timeout) varies for the different commands. It is recommended to use the following timeouts:

Command Timeout [seconds]

Initialisation commands (InitializeDevice, ScanSpectrolino, InitMotorPosition, ...)

18

Move-commands (MoveAbsolut, MoveRelative, ...)

10

All other commands 6 Remark: When performing the command "InitializeDevice" (refer to section 5.1.3) of the SpectroScan, the device restarts completely and initializes all the hardware. Because of that, the device sends the reply (<:D18000>/{: 209 128 0}) before executing the reset command. Right after that reply, the hardware is still starting up and therefore not ready to receive a command. Two seconds after the reset command, the device will be ready again.

Page 39: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

SpectroScan communication protocol

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

39

5 SpectroScan communication protocol

5.1 The SpectroScan communication functions All queries and instructions, that can be performed using the serial interface, are listed in this section. Instructions for the SpectroScan are always starting with the number <D0>/{208}, the answer with <D1>/{209}. The second value gives the instruction number. The types (building blocks of the instructions) are listed in alphabetical order in section 6. When type names are written within the characters "<" and ">" (e.g. <ErrorType>) the values consist of one byte. Names within brackets (e.g. [XKoordinateType]) consist of more than one byte. 5.1.1 Moving the axis of the XY table 5.1.1.1 Move the axis of the XY table to an absolute position re) Set either the sight or the sensor to an absolute position. This command is not valid when the device is offline: (Message number <00>/{0}, <80>/{128})

MoveAbsolut ;<D0><00> <ReferenceType> [XkoordinateType] [YKoordinateType] <CR><LF>

ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Example: Hexadecimal query --> ;D00000F401F401<CR><LF>Hexadecimal reply --> :D18000<CR><LF>Decimal query --> ; 208 0 0 500 500<CR><LF>Decimal reply --> : 209 128 0<CR><LF>

Meaning of the reply: The sight has been moved to the position 500/500 5.1.1.2 Move the axis of the XY table to a relative position re) Move the axis a desired distance from the actual position. This command is not valid when the device is offline: (Message number <01>/{1}, <80>/{128})

MoveRelative ;<D0><01> [XDistanceType] [YdistanceType] <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 40: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 5

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

40

5.1.1.3 Move the axis to home position re) Move the axis to the home position. This command is equivalent to the command MoveAbsolut to position 0/0: (Message number <02>/{2}, <80>/{128})

MoveHome ;<D0><02> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.1.4 Move the sensor up re) Move the sensor to an upward position. This command is not valid when the device is offline: (Message number <03>/{3}, <80>/{128})

MoveUp ;<D0><03> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.1.5 Move the sensor down re) Move the sensor to a downward position. This command is not valid when the device is offline: (Message number <04>/{4}, <80>/{128})

MoveDown ;<D0><04> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.1.6 Move the sensor to the white reference re) Move the sensor to the position of the ceramic reference tiles. This command is not valid when the device is offline: (Message number <06>/{6}, <80>/{128})

MoveToWhiteRefPos ;<D0><06> <WhiteRefPosType><CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.1.7 Move and measure This command combines instructions for moving the sensor to the coordinates x and y, moving down, executing a measurement, moving up again and simultaneously sending spectral measurement results. (section 3.1.4.1.2). (Message number <07>/{7}, <10>/{16} (answer form Spectrolino) or <80>/{128} in case of a SpectroScan error)

MoveAndMeasure ;<D0><07> [XkoordinateType] [YKoordinateType] <CR><LF> SpectrumAnswer :<10> <09> <00> [SpectrumType] <RefValidType>

[RemoteErrorSet] <CR><LF> (section 3.1.4.1.2)

ErrorAnswer (in case of a SpectroScan error)

:<D1><80> <ScanErrorType> <CR><LF>

5.1.2 Query actual position

Page 41: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

SpectroScan communication protocol

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

41

5.1.2.1 Queries the actual position of the axis of the XY table Get either the absolute position of the sight or the sensor: (Message number <05>/{5}, <81>/{129})

OutputActualPosition ;<D0><05> <ReferenceType> <CR><LF> PositionAnswer :<D1><81> <ReferenceType> [0000] [XKoordinateType]

[YkoordinateType] <ZKoordinateType> <CR><LF>

Example: Hexadecimal query --> ;D00501<CR><LF>Hexadecimal reply --> :D181010000F401400101<CR><LF>Decimal query --> ; 208 5 1<CR><LF>Decimal reply --> : 209 129 1 0 500 320 1<CR><LF>

Meaning of the reply: The actual position of the sensor is 500/320 and the head is in down position

Page 42: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 5

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

42

5.1.3 Initialization 5.1.3.1 Perform an initialization of the device The command "InitializeDevice" performs a software reset. This has the same effect as when the power is switched on or the keys "Enter" and "Online" are pressed at the same time: The motor positions are initialized and the Spectrolino will be scanned (refer to section 5.1.3.2). The answer is sent before the command is performed. Therefore, it is necessary to wait for some seconds after this command to make sure the device is ready again. This command is not valid when the device is offline. (Message number <0A>/{10}, <80>/{128})

InitializeDevice ;<D0><0A> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.3.2 Scan for the Spectrolino The connected Spectrolino is communicating with the highest possible baud rate in order to safe time. This makes it necessary to scan first the actual baud rate of the device. Therefore, perform this command or a reset after connecting a Spectrolino. When the spectrophotometer is found or a communication has failed on all baud rates, an error answer is sent. This command is not valid when the device is offline. (Message number <0B>/{11}, <80>/{128})

ScanSpectrolino ;<D0><0B> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.3.3 Initialize motor positions re) The zero position of the motors will be scanned and the device set to position 0/0. This command is not valid when the device is offline. (Message number <0C>/{12}, <80>/{128})

InitMotorPosition ;<D0><0C> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 43: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

SpectroScan communication protocol

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

43

5.1.4 Setting device ON or OFF 5.1.4.1 Set the device online re) Sets the device online. All moving keys on the XY table are disabled: (Message number <10>/{16}, <80>/{128})

SetDeviceOnline ;<D0><10> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.4.2 Set the device offline re) Sets the device offline. All keys on the XY table are enabled. All remote commands which are moving the axis of the XY table will not be executed: (Message number <11>/{17}, <80>/{128})

SetDeviceOffline ;<D0><11> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.5 Hold or release paper 5.1.5.1 Hold paper re) Switch on high voltage in order to attract paper to the XY table. This command is not valid when the device is offline: (Message number <12>/{18}, <80>/{128})

HoldPaper ;<D0><12> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.5.2 Release paper re) Switch off high voltage. The attraction will be released and the paper can be removed. This command is not valid when the device is offline: (Message number <13>/{19}, <80>/{128})

ReleasePaper ;<D0><13> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 44: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 5

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

44

5.1.6 Set table mode T):

Sets SpectroScanT to reflectance or transmission measurements. SpectroLino is automatically set to the corrseponding measurement mode: (Message number <0D>/{13}, <80>/{128})

SetTableMode ;<D0><0D> <TableModeType> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.7 Set light level T) tr):

Sets the intensity of the lights to off or low level during standby : (Message number <0E>/{14}, <80>/{128})

SetLightLevel ;<D0><0E> <LightLevelType> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.8 Set transmission standby position T) tr):

Sets the standby position (where the measuring head moves after performing a transmission measurement) to a user defined position. The position is reset when power is turned off and defaults to a short distance from the transmission module: (Message number <0F>/{15}, <80>/{128})

SetTransmStandbyPos ;<D0><0F> <ReferenceType>[XKoordinateType][YKoordinateType] <CR><LF>

ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 45: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

SpectroScan communication protocol

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

45

5.1.9 Digitizing mode 5.1.9.1 Set digitizing mode This command clears the buffer holding the position stored with the ENTER key. Then, the device is set offline. After that, the user can move the sensor to a position in order to digitize it with the ENTER key. The so stored positions can be queried with the command "OutputDigitizedValues": (Message number <14>/{20}, <80>/{128})

SetDigitizingMode ;<D0><14> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.9.2 Get last digitized position Query the position of either the sight or the sensor when the ENTER key has been pressed: (Message number <15>/{21}, <81>/{129})

OutputDigitizedValues ;<D0><15> <ReferenceType> <CR><LF> PositionAnswer :<D1><81> <ReferenceType> [RemainingPositionsType]

[XKoordinateType] [YKoordinateType] <ZKoordinateType> <CR><LF>

5.1.10 Change interface settings 5.1.10.1 Change baud rate of the serial interface Changes the actual baud rate to a new one. The reply will already be sent in the new baud rate. This makes it advisable not to wait for the answer, for synchronization problems may occur. After changing the baud rate, the baud rate of the measuring device will be changed as well to the same one. (Message number <20>/{32}, <80>/{128})

ChangeBaudrate ;<D0><20> <BaudrateType> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.10.2 Change handshake mode of the serial interface Changes the actual handshake mode to a new one: (Message number <21>/{33}, <80>/{128})

ChangeHandshake ;<D0><21> <HandshakeType> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 46: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 5

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

46

5.1.11 Several other instructions 5.1.11.1 Get actually pressed keys Query for the key(s) that are pressed at the moment: (Message number <22>/{34}, <82>/{130})

OutputActualKey ;<D0><22> <CR><LF> KeyAnswer :<D1><82> <ScanKeySet> <PressTimeType> <CR><LF>

5.1.11.2 Get last pressed keys Query for the key(s) that have last been pressed: (Message number <23>/{35}, <82>/{130})

OutputLastKey ;<D0><23> <CR><LF> KeyAnswer :<D1><82> <ScanKeySet> <PressTimeType> <CR><LF>

5.1.11.3 Get status register The XY table has a status register which shows the actual status of the device: (Message number <24>/{36}, <83>/{131})

OutputStatus ;<D0><24> <CR><LF> StatusAnswer :<D1><83> <StatusSet> <CR><LF>

5.1.11.4 Clear status register Clear the bits in "StatusType" in the internal status register. The status register is divided in two parts of 4 bits. The lower 4 bits are accessible for the user, the upper can only be read. (Message number <25>/{37}, <80>/{128})

ClearStatus ;<D0><25> <StatusSet> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.11.5 Set key acknowledge mode When this mode is set a “KeyAnswer” as discribed in 5.1.11.2 is sent via the serial inteface everytime a key is pressed. (Message number <16>/{22}, <80>/{128})

SetkeyAcknowledgeMode ;<D0><16> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 47: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

SpectroScan communication protocol

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

47

5.1.11.6 Reset key acknowledge mode Turns the key acknowledge mode off. (Message number <17>/{23}, <80>/{128})

ResetkeyAcknowledge Mode

;<D0><17> <CR><LF>

ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.11.7 Set special status register The SpectroScan has, in addition to the normal status register, a special register for special functions. On startup, all bits of the register are cleared. With this command, specific bits can be set. (Message number <26>/{38}, <80>/{128})

SetSpecialStatus ;<D0><26> <SpecialStatusSet> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.11.8 Clear special status register Clear the bits of the special status register. (Message number <27>/{39}, <80>/{128})

ClearSpecialStatus ;<D0><27> <SpecialStatusSet> <CR><LF> ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

5.1.11.9 Output special status register Query the bits of the special status register. (Message number <28>/{40}, <83>/{131})

OutputSpecialStatus ;<D0><28> <CR><LF> StatusAnswer :<D1><83> <SpecialStatusSet> <CR><LF>

Page 48: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 5

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

48

5.1.12 Identification data's 5.1.12.1 Query the type Query the name of the XY table: (Message number <30>/{48}, <90>/{144})

OutputType ;<D0><30> <CR><LF> TypeAnswer :<D1><90> [Name18Type] <CR><LF>

5.1.12.2 Query the serial number Query the serial number of the XY table: (Message number <31>/{49}, <91>/{145})

OutputSerialNumber ;<D0><31> <CR><LF> SerialNumberAnswer :<D1><91> [SerialNumberType] <CR><LF>

5.1.12.3 Query the part number Query the part number of the XY table: (Message number <32>/{50}, <92>/{146})

OutputArticleNumber ;<D0><32> <CR><LF> ArticleNumberAnswer :<D1><92> [ArticleNumberType] <CR><LF>

5.1.12.4 Query the production date Query the production date of the XY table: (Message number <33>/{51}, <93>/{147})

OutputProductionDate ;<D0><33> <CR><LF> ProductionDateAnswer :<D1><93> [DateType] <CR><LF>

5.1.12.5 Query the software version Query the release of the software: (Message number <34>/{52}, <94>/{148})

OutputSoftwareVersion ;<D0><34> <CR><LF> SoftwareVersionAnswer :<D1><94> [SoftwareReleaseType] <CR><LF>

Page 49: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

SpectroScan communication protocol

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

49

5.1.13 Error messages 5.1.13.1 Reply of the SpectroScan to an erroneous query The SpectroScan always processes the reply when it receives a <CR><LF>. If the first message number after the semicolon is not <D0>/{208}, the hole message will be passed to the measuring device. If the message number <D0>/{208} was recognized after the semicolon, the instruction is analyzed by the XY table. The unit replies with "COMErr" if the query was incomplete or invalid: (Message number <??>/{?}, <A0>/{160})

xxxx ;<D0><??> <CR><LF> COMError :<D1><A0> <DTCOMErrType> <CR><LF>

Example 1: Hexadecimal query --> ;<CR><LF>Hexadecimal reply --> :2604<CR><LF>Decimal query --> ; <CR><LF>Decimal reply --> : 38 4<CR><LF>

Meaning of the reply: The SpectroScan cannot detect a correct message number. The query is passed to the measuring device. The answer comes from there.

Example 2: Hexadecimal query --> ;D0<CR><LF>Hexadecimal reply --> :D1A004<CR><LF>Decimal query --> ; 208<CR><LF>Decimal reply --> : 209 160 4<CR><LF>

Meaning of the reply: The SpectroScan indicates that no valid message number was received.

Page 50: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 51: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

51

6 All communication types 6.1.1 General The communication types are represented in hexadecimal format and in decimal format: Hexadecimal format: Decimal format: <00>-<FF>: value in HEX {0}-{65535} or {-9999.9999}-{+9999.9999}: Decimal value <..>: one byte {..}: one value [..]: several bytes [..]: several values 6.1.2 Alphabetical listing and description of all types All types used for the commands of the Spectrolino and the SpectroScan in the sections 3 and 5 are listed below in alphabetical order. ActualFilterType: Actual physical filter.

<00>/{0} NoDefined --> Filter type has not been defined

<01>/{1} NoFilter --> No physical filter

<02>/{2} PolFilter --> Polarizer filter

<03>/{3} D65Filter --> Filter type 'D65'

<05>/{5} UVCutFilter --> Filter type 'UVCut'

<06>/{6} CustomFilter --> Filter type Custom (no automatic filter recognition) *)1.30

ArticleNumberType: Article number: String of 8 characters. (8 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> Article number with a length of 8 characters

Page 52: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

52

BaudrateType:

<00>/{0} Baud rate 110

<01>/{1} Baud rate 150

<02>/{2} Baud rate 300

<03>/{3} Baud rate 600

<04>/{4} Baud rate 1200

<05>/{5} Baud rate 2400

<06>/{6} Baud rate 4800

<07>/{7} Baud rate 9600

<08>/{8} Baud rate 19200

<09>/{9} Baud rate 28800

<0A>/{10} Baud rate 57600

ColorType: The 3 values of a colorimetric space. (3 x 4 bytes / 3 SREAL)

<..><..><..><..>/{..} --> 1. Color value as SREAL (e.g. x or L)

<..><..><..><..>/{..} --> 2. Color value as SREAL (e.g. y or a)

<..><..><..><..>/{..} --> 3. Color value as SREAL (e.g. Y or b)

COMFloatType: The respective float must be addressed with COMFloatType.

<00>/{0} vPhotometricYRef --> Reference for relative photometric measurements (e.g. 80 cd/m2)

COMFloatValueType: Float value. (4 bytes / SREAL)

<..><..><..><..>/{..} --> SREAL

Page 53: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

53

ControlType: Indicates the Baudrate, Handshake, Measurement mode and the Photometric mode.

<1E>/{30} ProtokolWithXonXoff --> XON/XOFF handshake

<1F>/{31} ProtokolWithoutXonXoff

ProtokolHardwareHS --> see no. <CF>/{207} 1)

<20>/{32} SetBaud110 --> Data transmission speed of serial communication

<21>/{33} SetBaud150

<22>/{34} SetBaud300

<23>/{35} SetBaud600

<24>/{36} SetBaud1200

<25>/{37} SetBaud2400

<26>/{38} SetBaud4800

<27>/{39} SetBaud9600

<28>/{40} SetBaud19200

SetBaud28800 --> see no. <98>/{152} 1)

SetBaud57600 --> see no. <99>/{153} 1)

<54>/{84} SpeakerON --> Sounds after measurement by the measure key 1)*)1.20

<55>/{85} SpeakerOFF --> No sound after measurement by the measure key 1)*)1.20

<98>/{152} SetBaud28800 1)

<99>/{153} SetBaud57600 1)

<9B>/{155} RemissionMeas --> Set measurement type to reflectance measurement

1)

<9C>/{156} TransmissionMeas --> Set measurement type to transmission measurement

1)

<9D>/{157} EmissionMeas --> Set measurement type to emission measurement 1)

<9E>/{158} PhotometricAbsolute --> Set photometric colorimetric values for emission measurements absolute [cd/m2]

1)

<9F>/{159} PhotometricRelative --> Set photometric colorimetric values for emission measurements relative []

1)

<A0>/{160} SetCustomFilter --> Disables automatic filter recognition. ActualFilterType is set to CustomFilter

1) *)1.30

<A1>/{161} ReleaseCustomFilter --> Re-enables automatic filter recognition. ActualFilterType is set to NotDefined

1) *)1.30

<CF>/{207} ProtokolHardwareHS --> Hardware handshake on serial interface 1)

CType: Different color spaces supported by the Spectrolino.

<00>/{0} XyY --> CIE-xyY

<01>/{1} Lab --> CIE-Lab

<02>/{2} LChab --> CIE-LCh(ab)

<03>/{3} Luv --> CIE-Luv

<04>/{4} XYZ --> Standard color values

<05>/{5} RxRyRz --> Reflection values

<06>/{6} HLab --> Hunter Lab

<0B>/{11} LABmg --> LAB mg

<0C>/{12} LCHmg --> LCH mg

<0D>/{13} LChuv --> CIE-LCh(uv)

Page 54: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

54

DateType: Date and time when the device was produced: 6 bytes

1. card: <..>/{..} --> Day of production 2. card: <..>/{..} --> Month of production 3. card: <..>/{..} --> Year of production

DensFilSpecArrayType: One set of 4 [Db .. Dy] tables for densitometric calculations (Spectral product = illuminant A * densitometer filter). These tables can be queried or programmed. (4 x 36 x 4 bytes / 4 x 36 SREAL) Note: Rounding-off errors (insignificant for calculations) occur when these tables are

accessed since they are stored as compressed files.

<..><..><..><..>/{..} --> Db Spectrum[380] as SREAL

... ...

<..><..><..><..>/{..} --> Db Spectrum[730] as SREAL

<..><..><..><..>/{..} --> Dc Spectrum[380] as SREAL

... ...

<..><..><..><..>/{..} --> Dc Spectrum[730] as SREAL

<..><..><..><..>/{..} --> Dm Spectrum[380] as SREAL

... ...

<..><..><..><..>/{..} --> Dm Spectrum[730] as SREAL

<..><..><..><..>/{..} --> Dy Spectrum[380] as SREAL

... ...

<..><..><..><..>/{..} --> Dy Spectrum[730] as SREAL

DensityFilterArrayType: Four measuring or slope values (SREAL) for Db, Dc, Dm and Dy. (4 x 4 bytes / 4 SREAL)

<..><..><..><..>/{..} --> Db as SREAL

<..><..><..><..>/{..} --> Dc as SREAL

<..><..><..><..>/{..} --> Dm as SREAL

<..><..><..><..>/{..} --> Dy as SREAL

Page 55: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

55

DensityFilterType: Densitometric filter for measuring the respective color

<00>/{0} Db --> V lambda filter for black measurement

<01>/{1} Dc --> red filter for cyan measurement

<02>/{2} Dm --> green filter for magenta measurement

<03>/{3} Dy --> blue filter for yellow measurement

<04>/{4} Dmax --> Maximum filter for measurement of special colors

<05>/{5} Dauto --> Automatic filter selection for measurement of Db .. Dy

DeviceNameType: String with name of the device: 18 characters as ASCII. (18 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> String with 18 characters

DeviceNumberType: Each measurement device has a specific number.

<00>/{0} SPM10 --> SPM 10

<01>/{1} SPM50 --> SPM 50

<02>/{2} SPM55 --> SPM 55

<03>/{3} SPM60 --> SPM 60

<04>/{4} SPM100 --> SPM 100

<05>/{5} SPM100II --> SPM 100-II without Library

<06>/{6} SPM100II --> SPM 100-II

<10>/{16} D196 --> D196

<11>/{17} D19C --> D19C

<12>/{18} D118C --> D118C

<13>/{19} DM620 --> DM 620

<20>/{32} SPECTROLINO --> Spectrolino

<21>/{33} SPECTROLINO8 --> Spectrolino 8mm

<30>/{48} VIDEOLINO --> Videolino

<40>/{64} SPECTROSCAN --> SpectroScan

DmaxokType: Indicates whether an optimal filter could be found.

<00>/{0} FALSE --> Dmax not OK

<01>/{1} TRUE --> Dmax OK

DmaxType: Value of maximum density. (4 bytes / SREAL)

<..><..><..><..>/{..} --> Dmax as SREAL

Page 56: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

56

DStdType: Standard according to which densitometric calculations are performed.

<00>/{0} ANSIA --> Tables as defined in ANSI Status A

<01>/{1} ANSIT --> Tables as defined in ANSI (ISO) Status T

<02>/{2} DIN --> Tables as defined in DIN 16536

<03>/{3} DINNB --> Narrowband tables as defined in DIN 16536

<08>/{8} DS1 --> Freely programmable tables

DTCOMErrType: The Spectrolino always sends a reply if both stop characters <CR><LF> are properly received (1 byte). In the event of an error, it indicates what was wrong with the received message.

<00>/{0} DTCOMNoError --> No error

<01>/{1} StopButNoStart --> No start character received

<02>/{2} IllegalCharInRec --> Invalid character received

<03>/{3} IncorrectRecLen --> Transmitted record length incorrect

<04>/{4} IllegalRecType --> Invalid message number

<06>/{6} NoTagField --> No message number received

<07>/{7} ConvError --> Received data could not be converted

<08>/{8} InvalForEmission --> Invalid message number for emission measurements

<10>/{16} NoAccess --> Failure in user identification

DxxTempNrType: Color temperature of daylight Dxx. (2 bytes / CARDINAL)

<..><..>/{..} --> Color temp. in 100 Kelvin steps as CARDINAL

Page 57: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

57

ErrorType:

<00>/{0} NoError --> No error

<01>/{1} MemoryFailure --> Memory failure

<02>/{2} PowerFailure --> Power failure

<04>/{4} LampFailure --> Lamp failure

<05>/{5} HardwareFailure --> Hardware failure (contact your GretagMacbeth representative)

<06>/{6} FilterOutOfPos --> Filter wheel out of position

<07>/{7} SendTimeout --> Data transmission error

<08>/{8} DriveError --> Drive defect

<09>/{9} MeasDisabled --> Measuring error

<0A>/{10} DensCalError --> Incorrect input during densitometric calibration

<0D>/{13} EPROMFailure --> Defective EPROM (contact your GretagMacbeth representative)

<0E>/{14} RemOverFlow --> Too much light or wrong white calibration

<10>/{16} MemoryError --> Checksum error in memory (contact your GretagMacbeth representative)

<11>/{17} FullMemory --> Memory full

<13>/{19} WhiteMeasOK --> White measurement OK

<15>/{21} NotReady --> The Spectrolino is not ready, please wait

<32>/{50} WhiteMeasWarn --> White measurement warning *)1.20

<33>/{51} ResetDone --> Reset done

<34>/{52} EmissionCalOK --> Emission Calibration OK

<35>/{53} OnlyEmission --> Only for emission (not reflectance)

<36>/{54} CheckSumWrong --> Wrong checksum

<37>/{55} NoValidMeas --> No valid measurement (e.g. no white measurement)

<38>/{56} BackupError --> Error by backup values (contact your GretagMacbeth representative)

<3C>/{57} ........ <40>/{64}

ProgramROMError --> Errors by programming ROM (contact your GretagMacbeth representative)

HandshakeType:

<00>/{0} No handshake

<01>/{1} Handshake Xon/Xoff

<02>/{2} Hardware Handshake

Page 58: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

58

IllumType: Illuminant according to which colorimetric calculations are performed.

<00>/{0} IlluminantA --> Illuminant A

<01>/{1} IlluminantC --> Illuminant C

<02>/{2} IlluminantD65 --> Illuminant D65

<03>/{3} IlluminantD50 --> Illuminant D50

<08>/{8} Il1 --> User defineable illuminant table

<10>/{16} Dxx1 --> Variable daylight table

<18>/{24} IlluminantF1 --> CIE illuminant F1

<19>/{25} IlluminantF2 --> CIE illuminant F2

<1A>/{26} IlluminantF3 --> CIE illuminant F3

<1B>/{27} IlluminantF4 --> CIE illuminant F4

<1C>/{28} IlluminantF5 --> CIE illuminant F5

<1D>/{29} IlluminantF6 --> CIE illuminant F6

<1E>/{30} IlluminantF7 --> CIE illuminant F7

<1F>/{31} IlluminantF8 --> CIE illuminant F8

<20>/{32} IlluminantF9 --> CIE illuminant F9

<21>/{33} IlluminantF10 --> CIE illuminant F10

<22>/{34} IlluminantF11 --> CIE illuminant F11

<23>/{35} IlluminantF12 --> CIE illuminant F12

KeySet: Type of key that has been pressed. (2 bytes)

<00><00>/{0} No key

<80><00>/{32768} Measurement key

LambdaType: Wavelength in nm, where maximum density was measured. (2 bytes / CARDINAL)

<..><..>/{..} --> Lambda in nm as CARDINAL

LightLevelType:

<00>/{0} All lights off --> All lights are turned off <01>/{1} LightsStandby1 --> The surrounding light is turned on, the lamp for transmission

measurements is off during standby

<02>/{2} LightsStandby2 --> The surrounding light is turned on, the lamp for transmission measurements is at low intensity during standby

Page 59: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

59

MeasurementModeType: Indicates the type of measurement that must be done.

<00>/{0} NormalMeas --> Perform measurement

<01>/{1} WhiteCalibration --> Perform a white calibration

<07>/{7} WhiteCalWithWarn --> Perform a white calibration, returns a warning if the Spectrolino is not set on the correct white reference field

<08>/{8} EmissionCal Perform a emission calibration

Name18Type: String specifies a name: 18 characters as ASCII. (18 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> String with 18 characters

NewKeyType: Indicates whether a new key was pressed since the last NewKeyType.

<00>/{0} FALSE --> No key pressed

<01>/{1} TRUE --> Key pressed

NewMeasurementType: Indicates whether a new measurement was performed since the last NewMeasureRequest and the type of the last measurement.

<00>/{0} NoNewMeas --> No new measurement performed <01>/{1} NewMeas --> New measurement performed <02>/{2} NewWhiteCal --> White calibration performed (Reflectance) 1) <03>/{3 NewWhiteCalWW --> White calibration with warning performed (returns this warning

if the Spectrolino is not set on the correct white reference field)1)

<04>/{4} NewEmissionCal --> Emission calibration performed 1) ObserverType: Observer angle for colorimetric calculations.

<00>/{0} TwoDeg --> 2° observer angle

<01>/{1} TenDeg --> 10° observer angle

OriginalWhiteRefType 1): Indicates whether the white reference spectrum is the original, defined by the user or not defined.

<00>/{0} OriginalWhiteRef --> white reference is original

<01>/{1} UserWhiteRef --> white reference is defined by user

<02>/{2} NotDefWhiteRef --> white reference is not defined

Page 60: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

60

OutputSetType 1): Defines the modifying OutputSet.

<00>/{0} ParameterSet --> Set to define measurement parameters for output

<01>/{1} SpectrumSet --> Set to define spectra for output

<02>/{2} CMetry1Set --> Set to define colorimetry values for output

<03>/{3} CMetry2Set --> Set to define colorimetry values for output

<04>/{4} DensitySet --> Set to define densitometry values for output

<FF>/{255} ErrorType --> Type to get the error of the measurement

OutputSet 1): With the setting of the "OutputSetType" one of the following "OutputSet" is selected:

OutputSetType OutputSet ParameterSet OutputParameterSet SpectrumSet OutputSpectrumSet CMetry1Set OutputCMetry1Set CMetry2Set OutputCMetry2Set DensitySet OutputDensitySet

OutputCMetry1Set 1): Define colorimetry values to be sent after a measurement. (1 bytes / 1 SET, Sum of individual elements)

<01>/{1} xyY --> CIE-xyY

<02>/{2} Lab --> CIE-Lab

<04>/{4} LChab --> CIE-LCh(ab)

<08>/{8} Luv --> CIE-Luv

<10>/{16} XYZ --> Standard color values

<20>/{32} RxRyRz --> Reflection values

<40>/{64} HLab --> Hunter Lab

Example: Lab <02>/{2} + Luv <08>/{8} + HLab <40>/{64} = OutputCMetry1Set <4A>/{74}

OutputCMetry2Set 1): Define colorimetry values to be sent after a measurement. (1 bytes / 1 SET, Sum of individual elements)

<01>/{1} LABmg --> LAB mg

<02>/{2} LCHmg --> LCH mg

<04>/{4} LChuv --> CIE-LCh(uv)

Example: LABmg <01>/{1} + LChuv <04>/{4} = OutputCMetry2Set <05>/{5}

Page 61: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

61

OutputDensitySet 1): Define densitometry values to be sent after a measurement. (1 bytes / 1 SET, Sum of individual elements)

<01>/{1} DensityBlack --> Density of the black filter

<02>/{2} DensityCyan --> Density of the cyan filter

<04>/{4} DensityMagenta --> Density of the magenta filter

<08>/{8} DensityYellow --> Density of the yellow filter

<10>/{16} DensityMax --> maximum density for special colors

<20>/{32} DensityAuto --> Density of the automatic selected filter

Example: DensityBlack <01>/{1} + DensityAuto <20>/{32} = OutputDensitySet <21>/{33}

OutputParameterSet 1): Define parameters to be sent after a measurement. (1 bytes / 1 SET, Sum of individual elements)

<01>/{1} DStdType --> Density standards

<02>/{2} WBase --> White reference

<04>/{4} Illuminant --> Illuminant

<08>/{8} Observer --> Observer angle

<10>/{16} ActualFilter --> Physical filter

Example: WBase <02>/{2} + Illuminant <04>/{4} + Observer <08>/{8} + ActualFilter <10>/{16} = OutputParameterSet <1E>/{30}

OutputSpectrumSet 1): Define spectra to be sent after a measurement. (1 bytes / 1 SET, Sum of individual elements)

<01>/{1} Spectrum --> Spectrum

<02>/{2} DensitySpectrum --> Density spectrum

Example: Spectrum <01>/{1} = OutputSpectrumSet <01>/{1}

Page 62: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

62

PressTimeType:

<00>/{0} ShortPressed --> The keys have been pressed for a short time

<01>/{1} LongPressed --> The keys have been pressed for a long time (> 2s)

ReferenceType:

<00>/{0} SensorRef --> Values are referred to sensor head

<01>/{1} SightRef --> Values are referred to sight

RefValidType: Indicates valid reference values

<00>/{0} FALSE --> Reference value not valid

<01>/{1} TRUE --> Reference value valid

RemainingPositionsType: Cardinal number defining the number of positions that have been digitized and that can be queried. (2 bytes / CARDINAL)

<..><..>/{..} --> Number of positions in the memory as CARDINAL

RemoteErrorSet: Error in communication instruction. (2 bytes / 1 SET, Sum of individual elements)

<00><00>/{0} NoError

<00><01>/{1} SlopeOutOfRange

<00><02>/{2} DorIOutOfRange

<00><04>/{4} ReflectanceOutOfRange

<00><08>/{8} Color1OutOfRange

<00><10>/{16} Color2OutOfRange

<00><20>/{32} Color3OutOfRange

<00><40>/{64} NotAnSROrBoolean

<00><80>/{128} NoValidValOrRef

<01><00>/{256} NoValidDStd

<02><00>/{512} NoValidWhite

<04><00>/{1024} NoValidIllum

<08><00>/{2048} NoValidObserver

<10><00>/{4096} NoValidMaxLambda

<20><00>/{8192} NoValidSpect

<40><00>/{16384} NoValidColSysOrIndex

<80><00>/{32768} NoValidChar

Example: NoValidDStd <01><00>/{256} + NoValidIllum <04><00>/{1024} + NoValidObserver <08><00>/{2048} = RemoteErrorSet <0D><00>/{3328}

Page 63: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

63

ReserveType 1): Reserved space for future applications: 16 bytes

<..><..> ... <..>/{..}{..} ... {..} --> Reserved space with a length of 16 bytes

ScanErrorType:

<00>/{0} NoError --> No error

<01>/{1} DeviceIsOffline --> Device has been set offline

<02>/{2} OutOfRange --> A parameter of the command is out of range

<03>/{3} ProgrammingError --> Error has occurred when writing data in Flash-EPROM

<04>/{4} NoUserAccess --> A command has been sent which is for internal use only

<05>/{5} NoValidCommand --> An unknown command has been sent

<06>/{6} NoDeviceFound --> An error has occurred by scanning the Spectrolino

<07>/{7} MeasurementError --> Measurement error sent from the Spectrolino

<08>/{8} NoTransmTable --> A command has been sent which is valid for SpectroScanT only

<09>/{9} NotInTransmMode --> A command has been sent which is valid when SpectroScanT is set to transmission mode only

<0A>/{10} NotInReflectMode --> A command has been sent which is valid when SpectroScanT is set to reflectance mode only

ScanKeySet:

<01>/{1} EnterKey --> The "Enter"-Key is actually pressed

<02>/{2} PaperKey --> The "Paper"-Key is actually pressed

<04>/{4} OnlineKey --> The "Online"-Key is actually pressed

<08>/{8} UpDownKey --> The "UpDown"-Key is actually pressed

<10>/{16} MoveRightKey --> The "MoveRight"-Key is actually pressed

<20>/{32} MoveLeftKey --> The "MoveLeft"-Key is actually pressed

<40>/{64} MoveDownKey --> The "MoveDown"-Key is actually pressed

<80>/{128} MoveUpKey --> The "MoveUp"-Key is actually pressed

Example: MoveDownKey <40>/{64} + MoveUpKey <80>/{128} + OnlineKey <04>/{4} = KeySet <C4>/{196}

Page 64: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

64

SerialNumberType 1): Serial number: 2 CARDINAL. (4 bytes)

1. CARD.: <..><..>/{..} --> Lower word of serial number (Serial number mod 65536) 2. CARD.: <..><..>/{..} --> Higher word of serial number (Serial number div 65536)

The effective serial number is calculated as followed: Serial number = Higher word x 65536 + lower word SoftwareReleaseType 1): String specifies the release of the software: 12 characters as ASCII. (12 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> String with 12 characters

SpecialStatusSet:

<01>/{1} HeadDwnOnMove -->

The head of the spectrophotometer is not lifted before moving. Note that if this bit is set, the head will rub on the table. The color sheet might be scratched. Furthermore, extended moves can wear out the tubus of the spectrolino.

<10>/{16} TableInTransMode --> SpectroScanT has been set to transmission mode <20>/{32} All lights turned on --> The surrounding light is turned on and the lamp for

transmission measurements is at low intensity during standby

SpectrumType: Spectral data from 36 scale points. (36 x 4 bytes / 36 SREAL)

<..><..><..><..>/{..} --> Spectrum[380] as SREAL

... ...

<..><..><..><..>/{..} --> Spectrum[730] as SREAL

Page 65: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

65

SpectType: Different spectral measuring parameters of the Spectrolino.

<00>/{0} RS --> Spectrum

<01>/{1} DS --> Density spectrum

StatusModeType: Indicates part of status to be reset

<00>/{0} InitAll --> Total Status

<05>/{5} InitWithoutRemote --> Total Status without remote (baud rate and handshake)

StatusSet:

<01>/{1} EnterKeyPressed --> The "Enter"-Key has been pressed since the status bit has been cleared

<10>/{16} DeviceIsOnline --> The device is online

<20>/{32} DigitizingModeOn --> The device is in the digitizing mode

<40>/{64} KeyAckModeOn --> Each pressed key sends a "KeyAnswer" to the serial interface

<80>/{128} PaperIsHolded --> The "Hold paper" function is set

StdDensityFilterType: Same as DensityFilterType but only Db .. Dy. TableModeType:

<00>/{0} reflectance --> SpecroScanT is set to reflectance measurements <01>/{1} transmission --> SpecroScanT is set to transmission measurements

TabValueType: The respective value must be addressed with TabValueType.

<60>/{96} vDxx1 --> Variable daylight table

Page 66: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Section 6

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

66

TargetIdType: Identification information of a Spectrolino (7 x 2 bytes / 7 CARDINAL)

1. CARD.: <..><..>/{..} --> Serial number (1 - 65535)

2. CARD.: <..><..>/{..} --> Software Release

3. CARD.: <..><..>/{..} --> Year of production (e.g. 1996)

4. CARD.: <..><..>/{..} --> Month of production (1 - 12)

5. CARD.: <..><..>/{..} --> Day of production (1 - 31)

6. CARD.: <..><..>/{..} --> Hour of production (0 - 23)

7. CARD.: <..><..>/{..} --> Minute of prod. (0 - 59)

TargetOnOffStatusType: Activate or deactivate the measurement key. (3 bytes, only the second byte is relevant)

1. byte: <00>/{0} --> no function

2. byte: <00>/{0} --> Measurement key is activated (default)

<01>/{1} --> Measurement key is deactivated

3. byte: <00>/{0} --> no function

TargetSpecType: Specification of a Spectrolino. (3 x 2 bytes / 3 CARDINAL)

1. CARD.: <..><..>/{..} --> FirstSpecWaveL as CARD. -> 1. spectral data point [nm] 2. CARD.: <..><..>/{..} --> NoOfSpecData as CARD. -> Number of spectral data

points

3. CARD.: <..><..>/{..} --> SpecDistance as CARD. -> Distance between spectral data points

TargetTechType: Information on the type of connected unit

<00>/{0} SPM --> Instrument is a SPM

<01>/{1} D190 --> Instrument is a D190

<02>/{2} Spectrolino --> Instrument is a Spectrolino

<03>/{3} Videolino --> Instrument is a Videolino <04>/{4} SpectroScan --> Instrument is a SpectroScan

ValNrType: Cardinal number of a value. (2 bytes / CARDINAL)

<..><..>/{..} --> ValNr as CARDINAL

Page 67: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

All communication types

1) These types are not valid for the SPM *)x.xx: These features are not available for Software-Releases earlier than x.xx

67

WBaseType: White base on which the spectrum is based.

<00>/{0} Pap --> Paper white reference

<01>/{1} Abs --> Absolute white reference

WhiteRefPosType: Selection of the ceramic reference tiles on the SpectroScan.

<00>/{0} RefTile1 --> Reference tile 1: the tile further from the keyboard

<01>/{1} RefTile2 --> Reference tile 2: the tile closer to the keyboard

XDistanceType: Distance to be moved in the horizontal axis in 1/10 millimeter. The value plus the actual position has to be between 0 and 3100.

<..><..>/{..} X Coordinate

XKoordinateType: Horizontal coordinate in 1/10 millimeter (0 ... 3100)

<..><..>/{..} X Coordinate

YDistanceType: Distance to be moved in the vertical axis in 1/10 millimeter. The value plus the actual position has to be between 0 and 2300.

<..><..>/{..} Y Coordinate

YKoordinateType: Vertical coordinate in 1/10 millimeter (0 ... 2300)

<..><..>/{..} Y Coordinate

ZKoordinateType: Indicates whether the sensor is in up or in down position

<00>/{0} SensorUp --> Sensor is in up position

<01>/{1} SensorDown --> Sensor is in down position

Page 68: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 69: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix A - Connections

69

Appendix A - Connections On the following pages, you will find the following system configuration diagrams: • Connecting Spectrolino to a PC or MAC

Page 70: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 71: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix B - Interface specification

71

Appendix B -Interface specification The Spectrolino and the SpectroScan are equipped with a serial interface. Serial interface RS-232, bipolar, +/-5V level Input Output logic 0 -15.0 V ... +0.8 V -8.0 V ... -5.0 V for load < 1.6 mA logic 1 +2.4 V ... +15.0 V +8.0 V ... +5.0 V for load < 1.6 mA Input resistance > 3 kOhm Interface parameters Data transmission rate: 110 ... 57600 Baud (GretagMacbeth factory setting: 9600 Baud) Data bit: 8 Parity bit: no Stop bit: 1 Handshake: Xon/Xoff (Software handshake) <Xon> = ASCII(17) <Xoff> = ASCII(19)

Page 72: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix B - Interface specification

72

Lead designations on the DIN socket

21

3 54

6 8

7

1 2 3 4 5 6 7 *) 8 *)

HS_OUT DATA_IN GND DATA_OUT HS_IN POWER + (+ 10 ... 24V) POWER - (GND)

pin no pin name function

2 HS_OUT Spectrolino is ready to receive data on positive voltage level

3 DATA_IN Data input of the Spectrolino 4 GND 5 DATA_OUT Data output of the Spectrolino 6 HS_IN Input interrupts the data transmission between

Spectrolino and computer on negative voltage

7 POWER + Positive voltage: 10 ... 24 V / max. 4 Watt *) 8 POWER - Negative voltage: GND *)

*) only Spectrolino

Page 73: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix B - Interface specification

73

Configuration of the SpectroScan Before a communication can be started, make sure that the baud rate and the handshake mode are correct. Therefore, a DIP switch is located on the back side of the XY table. Refer to the following table for a detailed description:

S3 S4 S5 Default settings: Baud rate: 9600 Handshake: Xon/Xoff

Baud rate:

Handshake:

300 600 1200 2400 9600 19200 28800 57600

No handshake Xon/Xoff Hardware

OFF OFF OFF OFF ON ON ON ON

S1

OFF OFF ON

OFF OFF ON ON OFF OFF ON ON

S2

OFF ON OFF

OFF ON OFF ON OFF ON OFF ON

The configuration of the DIP switches will take effect on power on. Then, the device will go to zero position and the baud rate of the measuring device will be set by the SpectroScan.

Page 74: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 75: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix C - Spectrolino Backup data

*)x.xx: These features are not available for Software-Releases earlier than x.xx

75

Appendix C -Spectrolino Backup data The following data are battery backuped in the Spectrolino. They can be reseted to the default values by pressing the measuring key approximately 10 seconds or by executing the command "ResetStatusDownload" (refer to 3.1.9.8) Data Default value Command to define data Message Name Cap. Measuring mode (reflectance or emission)

Reflectance MeasControlDownload 3.1.9.3

Illuminant D50 ParameterDownload 3.1.3.1 Observer angle 2° ParameterDownload 3.1.3.1 White base Abs ParameterDownload 3.1.3.1 Density standard DIN NB ParameterDownload 3.1.3.1 Physical filter not defined ExecRefMeasurement 3.1.1.2 Density slope all values of the spectrum: 1.0 SlopeDownload 3.1.7.6 User white spectrum original white reference

(GretagMacbeth-White ref.) WhiteReferenceDownld 3.1.5.2

User illuminant spectrum all values of the spectrum: 1.0 IllumTabDownload 3.1.7.2 User density standard all values of the spectrum: 1.0 DensTabDownload 3.1.7.8 Baudrate 9600 MeasControlDownload 3.1.9.3 Handshake Xon/Xoff MeasControlDownload 3.1.9.3 White calibration not defined ExecRefMeasurement 3.1.1.2 Emission calibration not defined ExecRefMeasurement 3.1.1.2 Photometric mode Absolute MeasControlDownload 3.1.6.1 Speaker ON/OFF SpeakerON MeasControlDownload 3.1.9.11 Remark: After the reset by the measuring key, a new white calibration will be done. The Spectrolino should be placed on the white reference.

Page 76: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 77: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix C - Spectrolino command summary

1) These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

77

Appendix D -Spectrolino command summary Listing of all instructions of the Spectrolino protocol grouped according to meaning All instructions of the Spectrolino protocol are listed below according to their meaning. Numbers indicated are the message numbers; names designate the instructions. Refer to Section 3 for a detailed description. Topic Subtopic Short Description Message Name M. No. Cap. Measuring results

Densitometric Query of densitometric measuring results

DensityParameterRequest <BC> 3.1.4.3.1 1)

Query of densitometric measuring results

DensityRequest <03> 3.1.4.3.2

Query for the maximum density DmaxRequest <04> 3.1.4.4 Spectral Query of spectra and parameters SpecParameterRequest <B8> 3.1.4.1.1 1) Query of spectra SpectrumRequest <05> 3.1.4.1.2 Colorimetric Query of colorimetric results and

parameters CParameterRequest <BA> 3.1.4.2.1 1)

Query of colorimetric results CRequest <06> 3.1.4.2.2 Status Colorimetric and

densitometric Queries on parameters ParameterRequest <00> 3.1.3.1

parameters Set parameters ParameterDownload <16> 3.1.3.2 Emission Query the photometric mode MeasControlRequest <5B> 3.1.6.2 1) measurement Load the photometric mode MeasControlDownload <4D> 3.1.6.1 1) parameter Query the reference for relative

photometric measurements FloatRequest <C0> 3.1.6.3 1)

Load the reference for relative photometric measurements

FloatDownload <C2> 3.1.6.4 1)

Output measure- ment values

Defines the measured values to be send to the serial interface

SetMeasurementOutput <B1> 3.1.2 1)

Instructions Measurements Perform measurement ExecMeasurement <20> 3.1.1.1 Perform measurements and

calibrations ExecRefMeasurement <22> 3.1.1.2

Perform white calibration ExecWhiteMeasurement <21> 3.1.1.2 Query and White reference Query spectra of the white reference WhiteReferenceRequest <B3> 3.1.5.1 1) load Load spectra of the white reference WhiteReferenceDownld <B7> 3.1.5.2 1) Spectrolino tables

Reset spectra of the white reference to original data

ExecWhiteRefToOrigDat <4A> 3.1.5.3

Slope values for Query of slope values SlopeRequest <01> 3.1.7.5 densitometry Load slope values SlopeDownload <17> 3.1.7.6 Densitometric Query of the densitometric tables DensTabRequest <3B> 3.1.7.7 filter tables Load freely programmable

densitometric tables DensTabDownload <3D> 3.1.7.8

Illuminant tables Query illuminant tables IllumTabRequest <38> 3.1.7.1 (colorimetry) Load freely programmable illum. tab. IllumTabDownload <3A> 3.1.7.2 Queries for color temperature of

daylight illum. Dxx GetValNr <47> 3.1.7.3

Loading of color temperature of daylight illum. Dxx

SetValNr <49> 3.1.7.4

Error messages

Erroneous query Reply of the Spectrolino after an erroneous query

COMErr <26> 3.1.10.1

Error after measurement

Queries for the error status after the last measurement

ActErrorRequest <29> 3.1.10.2

Page 78: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix C - Spectrolino command summary

1) These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

78

Topic Subtopic Short Description Message Name M. No. Cap.

Other instructions

Measuring mode Query the current measurement mode

MeasControlRequest <5B> 3.1.9.4

Set the current measurement mode MeasControlDownload <4D> 3.1.9.3

Interface Query the interface configuration MeasControlRequest <5B> 3.1.9.6

Load the interface configuration MeasControlDownload <4D> 3.1.9.5

Target status Set target status TargetOnOffStDownload <33> 3.1.9.7

Speaker Query the speaker setting MeasControlRequest <5B> 3.1.9.10 *)1.20

Switch the speaker On and OFF MeasControlDownload <4D> 3.1.9.9 *)1.20

Reset device Reset the device ResetStatusDownload <5A> 3.1.9.8

Simultaneous operation via

Measurement Query whether a new measurement was performed

NewMeasureRequest <07> 3.1.9.1

keyboard and interface

Key Query whether a new key was pressed

NewKeyRequest <08> 3.1.9.2

Device data Specific device data

Query for device data DeviceDataRequest <B5> 3.1.8.1 1)

Special device data

Additional data of the device TargetIdRequest <2B> 3.1.8.2

Page 79: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix C - Spectrolino command summary

1) These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

79

Numerical listing of all instructions of the Spectrolino protocol The following is a listing of all queries of the Spectrolino protocol according to message numbers. Refer to Section 3 for query definitions and examples. Refer to Section 6 for definitions of types. Values of type numbers are given in hexadecimal format. When the decimal format is used, the value must be converted accordingly. Types are listed as follows: Upper type � sent from host computer Lower type � respective reply from the Spectrolino

Message Name Message Cap. ParameterRequest ;<00> <CR><LF> 3.1.3.1 ParameterAnswer :<0B> <DStdType> <WBaseType> <IllumType> <ObserverType>

<ActualFilterType> <CR><LF>

SlopeRequest ;<01> <CR><LF> 3.1.7.5 SlopeAnswer :<0C> [DensityFilterArrayType] <CR><LF> DensityRequest ;<03> <09> <CR><LF> 3.1.4.3.2 DensityAnswer :<0E> <09> [DensityFilterArrayType] <StdDensityFilterType>

<RefValidType> [RemoteErrorSet] <CR><LF>

DmaxRequest ;<04> <09> <CR><LF> 3.1.4.4 DmaxAnswer :<0F> <09> <DmaxType> <LambdaType> <DmaxokType><RefValidType>

[RemoteErrorSet] <CR> <LF>

SpectrumRequest ;<05> <09> <SpectType> <CR><LF> 3.1.4.1.2 SpectrumAnswer :<10> <09> <SpectType> [SpectrumType] <RefValidType>

[RemoteErrorSet] <CR><LF>

CRequest ;<06> <09> <CType> <CR><LF> 3.1.4.2.2 CAnswer :<11> <09><CType> [ColorType] <RefValidType>[RemoteErrorSet]

<CR><LF>

NewMeasureRequest ;<07> <CR><LF> 3.1.9.1 NewMeasureAnswer :<12> <NewMeasurementType> <09> <CR><LF> NewKeyRequest ;<08> <CR><LF> 3.1.9.2 NewKeyAnswer :<13> <NewKeyType> [KeySet] <CR><LF> ParameterDownload ;<16> <DStdType> <WBaseType> <IllumType> <ObserverType>

<CR><LF> 3.1.3.2

DownloadError :<1F> [RemoteErrorSet] <CR><LF> SlopeDownload ;<17> [DensityFilterArrayType] <CR><LF> 3.1.7.6 DownloadError :<1F> [RemoteErrorSet] <CR><LF> ExecMeasurement ;<20> <CR><LF> 3.1.1.1 ExecError :<25> <ErrorType> <CR><LF> ExecWhiteMeasurement ;<21> <CR><LF> 3.1.1.2 ExecError :<25> <ErrorType> <CR><LF> ExecRefMeasurement ;<22> <09> <MeasurementModeType> <CR><LF> 3.1.1.2 ExecError :<25> <ErrorType> <CR><LF> ActErrorRequest ;<29> <CR><LF> 3.1.10.2 ActErrorAnswer :<2F> [ErrorType] <00> <00> <CR><LF> TargetIdRequest ;<2B> <CR><LF> 3.1.8.2 TargetIdAnswer :<31> [DisplayStringType] [TargetIdType] [TargetTechType]

[TargetSpecType] <CR><LF>

TargetOnOffStDownload ;<33> [TargetOnOffStatusType] <CR><LF> 3.1.9.7 DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Page 80: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix C - Spectrolino command summary

1) These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

80

Message Name Message Cap.

IllumTabRequest ;<38> <00> <IllumType> <CR><LF> 3.1.7.1 IllumTabAnswer :<39> <00> <IllumType> [SpectrumType] [RemoteErrorSet] <CR><LF> IllumTabDownload ;<3A> <08> [SpectrumType] <CR><LF> 3.1.7.2 DownloadError :<1F> [RemoteErrorSet] <CR><LF> DensTabRequest ;<3B> <00> <DStdType> <CR><LF> 3.1.7.7 DensTabAnswer :<3C> <00> <DStdType> [DensFilSpecArrayType] [RemoteErrorSet]

<CR><LF>

DensTabDownload ;<3D> [DensFilSpecArrayType] <CR><LF> 3.1.7.8 DownloadError :<1F> [RemoteErrorSet] <CR><LF> GetValNr ;<47> <TabValueType> <CR><LF> 3.1.7.3

ValNrAnswer :<48> <TabValueType> [ValNrType] [RemoteErrorSet] <CR><LF> SetValNr ;<49> <TabValueType> [ValNrType] <CR><LF> 3.1.7.4 DownloadError :<1F> [RemoteErrorSet] <CR><LF> ExecWhiteRefToOrigDat ;<4A> <CR><LF> 3.1.5.3 ExecError :<25> <ErrorType> <CR><LF> MeasControlDownload ;<4D> <ControlType> <CR><LF> 3.1.6.1

3.1.9.3 3.1.9.5

DownloadError :<1F> [RemoteErrorSet] <CR><LF> ResetStatusDownload ;<5A> <01> <04> <StatusModeType> <CR><LF> 3.1.9.8 DownloadError :<1F> [RemoteErrorSet] <CR><LF> MeasControlRequest ;<5B> <ControlType> <CR><LF> 3.1.6.2

3.1.9.4 3.1.9.6

MeasControlAnswer :<5C> <ControlType> <ControlType> [RemoteErrorSet] <CR><LF>

Page 81: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix C - Spectrolino command summary

1) These functions are only valid for the Spectrolino *)x.xx: These features are not available for Software-Releases earlier than x.xx

81

Message Name Message Cap. SetMeasurementOutput ;<B1> <OutputSetType> <OutputSet> <CR><LF> 3.1.2 1) DownloadError :<1F> [RemoteErrorSet] <CR><LF> WhiteReferenceRequest ;<B3> <ActualFilterType> <CR><LF> 3.1.5.1 1) WhiteReferenceAnswer :<B4> <ActualFilterType> [SpectrumType] <OriginalWhiteRefType>

[Name18Type] <CR><LF> 1)

DeviceDataRequest ;<B5> <CR><LF> 3.1.8.1 1) DeviceDataAnswer :<B6> [DeviceNameType] <DeviceNumberType> [ArticleNumberType]

[SerialNumberType] [SoftwareReleaseType] [ReserveType] <CR><LF>

1)

WhiteReferenceDownld ;<B7> <ActualFilterType> [SpectrumType] [Name18Type] <CR><LF> 3.1.5.2 1) DownloadError :<1F> [RemoteErrorSet] <CR><LF> SpecParameterRequest ;<B8> <09> <SpectType> <CR><LF> 3.1.4.1.1 1) SpecParameterAnswer :<B9> <09> <SpectType> [SpectrumType] <RefValidType>

<ActualFilterType> <WBaseType> <02> [RemoteErrorSet] <CR><LF>

1)

CParameterRequest ;<BA> <09> <CType> <CR><LF> 3.1.4.2.1 1) CParameterAnswer :<BB> <09><CType> [ColorType] <RefValidType> <ActualFilterType>

<WBaseType> <02> <IllumType> <ObserverType> [RemoteErrorSet] <CR><LF>

1)

DensityParameterRequest ;<BC> <09> <CR><LF> 3.1.4.3.1 1) DensityParameterAnswer :<BD> <09> [DensityFilterArrayType] <StdDensityFilterType>

<RefValidType> <ActualFilterType> <WBaseType> <02> <DStdType> [RemoteErrorSet] <CR><LF>

1)

Perform a measurement 3.1.2 1) Printout :<BE> <OutputSetType> <OutputSet> ........ <ErrorType> <CR><LF> 1) FloatRequest ;<C0> <COMFloatType><CR><LF> 3.1.6.3 1) FloatAnswer :<C1> <COMFloatType><COMFloatValueType><CR><LF> 1) FloatDownload ;<C2> <COMFloatType><COMFloatValueType><CR><LF> 3.1.6.4 1) DownloadError :<1F> [RemoteErrorSet] <CR><LF> xxxx ;<??> <??> <CR><LF> COMErr :<26> <DTCOMErrType> <CR><LF> 3.1.10.1

Page 82: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →
Page 83: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix D - SpectroScan command summary

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

83

Appendix E -SpectroScan command summary Listing of all instructions of the SpectroScan protocol grouped according to their meaning All instructions of the SpectroScan protocol are listed below according to their meaning. Numbers indicated are the message numbers; names designate the instructions. Refer to Section 3 for a detailed description. Topic Subtopic Short Description Message Name M. No. Cap. Initialize device Software reset Initializes the software of the device

(same state as after power up) InitializeDevice <D0><0A> 5.1.3.1

Scan Spectrolino

Scans the baud rate of the Spectrolino an set it to the highest possible one

ScanSpectrolino <D0><0B> 5.1.3.2

Initialize motor positions

Initializes the motor positions of the device and moves to the position 0/0.

InitMotorPosition <D0><0C> 5.1.3.3 re)

Set mode of SpectroScanT

Sets mode of device for either reflectancce or transmission measurements

SetTableMode <D0><0D> 5.1.6 T)

Moving the measuring

Moving absolute Moves the measuring device to a new position

MoveAbsolut <D0><00> 5.1.1.1 re)

device Moving relative Moves the measuring device a defined distance

MoveRelative <D0><01> 5.1.1.2 re)

Moving home Moves the measuring device to home position (Coordinate 0/0)

MoveHome <D0><02> 5.1.1.3 re)

Moving up Moves the measuring device up MoveUp <D0><03> 5.1.1.4 re) Moving down Moves the measuring device down MoveDown <D0><04> 5.1.1.5 re) Moving home Moves the measuring device to home

position (Coordinate 0/0) MoveHome <D0><02> 5.1.1.3 re)

Moving and measuring

Moves the measuring device to a new position and performs a measurement

MoveAndMeasure <D0><07> 5.1.1.7 re)

Set standby position

Sets a user defined position for the measuring device when a transmission measurement is done

SetTransmStandbyPos <D0><0F> 5.1.8 T) tr)

Query position Get the actual position

Queries the actual position of the measuring device

OutputActualPosition <D0><05> 5.1.2.1

Get the digitized positions

Query the positions that have been digitized

OutputDigitizedValues <D0><15> 5.1.9.2

Page 84: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix D - SpectroScan command summary

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

84

Topic Subtopic Short Description Message Name M. No. Cap. Status Set device on or Set device online SetDeviceOnline <D0><10> 5.1.4.1 re) offline Set device offline SetDeviceOffline <D0><11> 5.1.4.2 re) Hold or release Hold paper HoldPaper <D0><12> 5.1.5.1 re) paper Release paper ReleasePaper <D0><13> 5.1.5.2 re) Set or reset the Set digitizing mode SetDigitizingMode <D0><14> 5.1.9.1 digitizing mode Reset digitizing mode SetDeviceOnline <D0><10> 5.1.4.1 Keys Query the actually pressed key OutputActualKey <D0><22> 5.1.11.1 Query the last pressed key OutputLastKey <D0><23> 5.1.11.2 Key acknowledge mode on SetKeyAcknowledge

Mode <D0><16> 5.1.11.5

Key acknowledge mode off ResetKeyAcknowledge Mode

<D0><17> 5.1.11.6

Status register Get the actual status of the device GetStatus <D0><24> 5.1.11.3 Clear the status bits ClearStatus <D0><25> 5.1.11.4 Special status Set the special status of the device SetSpecialStatus <D0><26> 5.1.11.7 register Clear the special status of the device ClearSpecialStatus <D0><27> 5.1.11.8 Get the special status of the device OutputSpecialStatus <D0><28> 5.1.11.9 Set level of

lights Sets the inensity of the surrounding light and of the light source for transmission measurement

SetLightLevel <D0><0E> 5.1.7 T) tr)

Interface Change baud rate

Change the actual baud rate of the serial interface to a new one

ChangeBaudrate <D0><20> 5.1.10.1

Change handshake

Change the actual handshake mode of the serial interface to a new one

ChangeHandshake <D0><21> 5.1.10.2

Identification Device type Query the name (type) of the device OutputSerialNumber <D0><30> 5.1.12.1 data Serial number Query the serial number of the device OutputSerialNumber <D0><31> 5.1.12.2 Article number Query the article number of the

device OutputArticleNumber <D0><32> 5.1.12.3

Software release Query the software release of the device

OutputSoftwareVersion <D0><34> 5.1.12.5

Page 85: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix D - SpectroScan command summary

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

85

Numerical listing of all instructions of the SpectroScan protocol The following is a listing of all queries of the SpectroScan protocol according to message numbers. Refer to Section 3 for query definitions and examples. Refer to Section 6 for definitions of types. Values of type numbers are given in hexadecimal format. When the decimal format is used, the value must be converted accordingly. Types are listed as follows: Upper type � sent from host computer Lower type � respective reply from the SpectroScan

Message Name Message Cap. MoveAbsolut ;<D0><00> <ReferenceType> [XKoordinateType] [YKoordinateType]

<CR><LF> 5.1.1.1 re)

ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> MoveRelative ;<D0><01> [XDistanceType] [YDistanceType] <CR><LF> 5.1.1.2 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> MoveHome ;<D0><02> <CR><LF> 5.1.1.3 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> MoveUp ;<D0><03> <CR><LF> 5.1.1.4 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> MoveDown ;<D0><04> <CR><LF> 5.1.1.5 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> OutputActualPosition ;<D0><05> <ReferenceType> <CR><LF> 5.1.2.1 re) PositionAnswer :<D1><81> <ReferenceType> [0000] [XKoordinateType] [YKoordinateType]

<ZKoordinateType> <CR><LF>

MoveToWhiteRefPos ;<D0><06> <WhiteRefPosType><CR><LF> 5.1.1.6 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> MoveAndMeasure ;<D0><07> [XdistanceType] [YDistanceType] <CR><LF> 5.1.1.7 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SpectrumAnswer :<10> <09> <00> [SpectrumType] <RefValidType> [RemoteErrorSet]

<CR><LF> 3.1.4.1.2

InitializeDevice ;<D0><0A> <CR><LF> 5.1.3.1 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> ScanSpectrolino ;<D0><0B> <CR><LF> 5.1.3.2 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> InitMotorPosition ;<D0><0C> <CR><LF> 5.1.3.3 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetTableMode ;<D0><0D> <TableModeType> <CR><LF> 5.1.6 T) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetLightLevel ;<D0><0E> <LightLevelType> <CR><LF> 5.1.7 T) tr) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetTransmStandbyPos ;<D0><0F> <ReferenceType>[XKoordinateType][YKoordinateType]

<CR><LF> 5.1.8 T) tr)

ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetDeviceOnline ;<D0><10> <CR><LF> 5.1.4.1 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetDeviceOffline ;<D0><11> <CR><LF> 5.1.4.2 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF>

Page 86: Spectrolino SpectroScan - X-Rite · Spectrolino SpectroScan SERIAL INTERFACE ... This makes it possible to use former programs written for the SPM. ...  →

Appendix D - SpectroScan command summary

*)x.xx: These features are not available for Software-Releases earlier than x.xx T) : This command is valid for SpectroScanT only tr): This command is valid when SpectroScanT is in transmission mode only re): This command is valid when SpectroScanT is in reflectance mode only

86

Message Name Message Cap. HoldPaper ;<D0><12> <CR><LF> 5.1.5.1 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> ReleasePaper ;<D0><13> <CR><LF> 5.1.5.2 re) ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetDigitizingMode ;<D0><14> <CR><LF> 5.1.9.1 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> OutputDigitizedValues ;<D0><15> <ReferenceType> <CR><LF> 5.1.9.2 PositionAnswer :<D1><81> <ReferenceType> [RemainingPositionsType]

[XkoordinateType] [YkoordinateType] <ZKoordinateType> <CR><LF>

SetKeyAcknowledgeMode ;<D0><16> <CR><LF> 5.1.11.5 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> ResetKeyAcknowledge

Mode ;<D0><17> <CR><LF> 5.1.11.6

ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> ChangeBaudrate ;<D0><20> <BaudrateType> <CR><LF> 5.1.10.1 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> ChangeHandshake ;<D0><21> <HandshakeType> <CR><LF> 5.1.10.2 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> OutputActualKey ;<D0><22> <CR><LF> 5.1.11.1 KeyAnswer :<D1><82> <KeySet> <PressTimeType> <CR><LF> OutputLastKey ;<D0><23> <CR><LF> 5.1.11.2 KeyAnswer :<D1><82> <KeySet> <PressTimeType> <CR><LF> OutputStatus ;<D0><24> <CR><LF> 5.1.11.3 StatusAnswer :<D1><83> <StatusSet> <CR><LF> ClearStatus ;<D0><25> <StatusSet> <CR><LF> 5.1.11.4 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> SetSpecialStatus ;<D0><26> <SpecialStatusSet> <CR><LF> 5.1.11.7 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> ClearSpecialStatus ;<D0><27> <SpecialStatusSet> <CR><LF> 5.1.11.8 ErrorAnswer :<D1><80> <ScanErrorType> <CR><LF> OutputSpecialStatus ;<D0><28> <CR><LF> 5.1.11.9 StatusAnswer :<D1><83> <SpecialStatusSet> <CR><LF> OutputType ;<D0><30> <CR><LF> 5.1.12.1 TypeAnswer :<D1><90> [Name18Type] <CR><LF> OutputSerialNumber ;<D0><31> <CR><LF> 5.1.12.2 SerialNumberAnswer :<D1><91> [SerialNumberType] <CR><LF> OutputArticleNumber ;<D0><32> <CR><LF> 5.1.12.3 ArticleNumberAnswer :<D1><92> [ArticleNumberType] <CR><LF> OutputProductionDate ;<D0><33> <CR><LF> 5.1.12.4 ProductionDateAnswer :<D1><93> [DateType] <CR><LF> OutputSoftwareVersion ;<D0><34> <CR><LF> 5.1.12.5 SoftwareVersionAnswer :<D1><94> [SoftwareReleaseType] <CR><LF> xxxx ;<D0><??> <CR><LF> 5.1.13.1 COMError :<D1><A0> <DTCOMErrType> <CR><LF>