d190 serial interface edition 61 - x-rite · serial interface edition 06 d 196. table of contents 3...

48
GretagMacbeth 98.26.46 SI 9901 en Printed in Switzerland GretagMacbeth D190 Series Reflection Densitometer SERIAL INTERFACE Edition 06 D196

Upload: tranminh

Post on 08-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

GretagMacbeth 98.26.46 SI 9901 en Printed in Switzerland

GretagMacbeth D190 SeriesReflection Densitometer

SERIAL INTERFACE

Edition 06

D 196

Table of contents

3

Table of contents

1 GENERAL 5

1.1 Short introduction in the principles of communication 5

1.2 Start of communication 7

1.3 Communication protocols 7

2 INTERFACE SPECIFICATION 9

2.1 Serial interface RS-232, bipolar, +/-5V level 9

2.2 Interface parameters 9

2.3 Lead designations on the DIN socket 10

3 READING MEASUREMENT VALUES 11

3.1 Measuring by hand 11

3.2 Performing a measurement with a remote command 12

4 GRETAGMACBETH D180 COMMUNICATION PROTOCOL 13

4.1 Data transmission format 13

4.2 The GretagMacbeth D180 communication functions 154.2.1 Read/Write status and parameters 15

4.2.1.1 Query to write the status to the device 154.2.1.2 Query to read the status of the device 154.2.1.3 Query to set the parameter of the device 15

4.2.2 Send command to densitometer 164.2.2.1 Query to execute a command 16

4.2.3 Read/Write data 174.2.3.1 Query to read data of the device 174.2.3.2 Query to write data to the device 17

4.3 All GretagMacbeth D180 communication types 184.3.1 Alphabetical listing and description of all types 18

5 GRETAGMACBETH SPM COMMUNICATION PROTOCOL 25

5.1 Data transmission format 255.1.1 The decimal format 255.1.2 The hexadecimal format 26

5.2 The SPM communication functions 275.2.1 Querying and loading measuring results and references 27

5.2.1.1 Query of densitometric measuring results and references 275.2.1.2 Loading reference values from the host 27

Table of contents

4

5.2.2 Handling jobs and references 285.2.2.1 Query actual job 285.2.2.2 Set the actual job 285.2.2.3 Query name of the actual job 285.2.2.4 Download the name of the actual job 285.2.2.5 Query actual reference 285.2.2.6 Set the actual reference 285.2.2.7 Query name of a reference value 295.2.2.8 Download the name of a reference value 29

5.2.3 Densitometric parameters 295.2.3.1 Queries on GretagMacbeth D190 parameters 295.2.3.2 Set parameters in the GretagMacbeth D190 29

5.2.4 Send instructions to the D190, e.g. perform measurement 305.2.4.1 Perform measurement 305.2.4.2 Perform white measurement 305.2.4.3 Perform measurement and assign to selected value 30

5.2.5 Query and load GretagMacbeth D190 tables 315.2.5.1 Slope values of densitometer 315.2.5.2 Load slope values from host in the GretagMacbeth D190 31

5.2.6 Query and loading of user data 315.2.6.1 Query actual user 315.2.6.2 Set the actual user 315.2.6.3 Query name of actual user 325.2.6.4 Download name of the actual user 325.2.6.5 Query the firm address 325.2.6.6 Download the firm address 32

5.2.7 Several other instructions 335.2.7.1 Queries whether a new measurement was performed since the last access 335.2.7.2 Set current measuring mode from host 335.2.7.3 Query for the current measuring mode of the GretagMacbeth D190 335.2.7.4 Set target status in the GretagMacbeth D190 335.2.7.5 Write text (6 x 18 characters) on the display of GretagMacbeth D190 345.2.7.6 Queries for specific device data 345.2.7.7 Queries the actual time and date of the GretagMacbeth D190 345.2.7.8 Download the actual time and date of the GretagMacbeth D190 345.2.7.9 Query the trimming value of the clock in the GretagMacbeth D190 345.2.7.10 Load the trimming value of the clock in the GretagMacbeth D190 34

5.2.8 Error messages 355.2.8.1 Reply of the D190 to an erroneous query 355.2.8.2 Queries for the general error status of the GretagMacbeth D190 35

5.3 All GretagMacbeth SPM communication types 365.3.1 General 365.3.2 Alphabetical listing and description of all types 36

APPENDIX A 43

APPENDIX B 45

APPENDIX C 47

General

5

1 General

This manual contains specifications, protocol and a functional description of the serial interface of theGretagMacbeth D190 densitometer generation.

The use of the software driver is advisable for communications between a DOS computer and theGretagMacbeth D190.This driver solves certain problems associated with startup and synchronization, activation of the serialinterface, Xon/Xoff protocol and stop characters <CR> <LF>.

GretagMacbeth SPMDRIV.SYS PC DOS Driver part no. 34.22.12

1.1 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 GretagMacbeth D190 sends the respective reply.

- Each query from the host begins with a start character.- Each reply from the GretagMacbeth D190 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 GretagMacbeth D190 executes thecommand sends the respective reply.

All data are transmitted in ASCII code. Only printable characters are used (except for startup andsynchronization with ASCII (255)) which facilitates monitoring of data line communication.

Section 1

6

A complete query from the host is structured as followed:

[Wake up string] <Start character> <Message Number> [no, one or more parameters] <CR><LF>

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

where

a) [Wake up string] → Since the computer in the GretagMacbeth D190 switches offimmediately after every task, ASCII(255) must be transmittedfor 150 ms to initialize and synchronize the GretagMacbethD190 prior to every communication type. (Refer to section 1.2for more information about the wake up string.)If the PC DOS Driver (SPMDRIV.SYS) is in use, the [Wakeup string] is not necessary and the message can bestarted with b)!

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

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

d) [no, one or more parameters] → Some queries need no additional parameters, others need oneor more parameters. Refer to section 4 and 5 for more detailedinformation about the function of the queries.

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

A complete reply from the GretagMacbeth D190 is structured as follows:

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

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

where

a) <Start character> → GretagMacbeth D190 start mark: Each reply from theGretagMacbeth D190 starts with a special start sign to indicatethe beginning.

b) <Message Number> → Each reply has its message number to determine the functionof 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>.

General

7

1.2 Start of communication

The following items must be observed only when communication is not handled by means of the PCDOS Driver (SPMDRIV.SYS). Also refer to section 1.

Since the computer in the GretagMacbeth D190 switches off immediately after every task, ASCII(255)must be transmitted for 150 ms to initialize and synchronize the GretagMacbeth D190 prior to everycommunication type.

At least 2 characters must be sent when the data transmission rate is less than 300 Baud.

At 9600 Baud, this corresponds to a repetition of ASCII(255) 150 times.

The GretagMacbeth D190 must be queried immediately after these startup characters.

In general, the initializing characters must be sent before any query, and it must be ensured that thereis never an interruption during data transmission of a query. Otherwise, the GretagMacbeth D190 willswitch off immediately.

It is therefore advisable to first set up the query consisting of the startup characters and querycharacters in a string and then transfer the entire string.

1.3 Communication protocols

The GretagMacbeth D190 is able to work with 2 different protocol types:- GretagMacbeth D180 protocol- GretagMacbeth SPM protocol (densitometric functions)

Thus it is possible to use former programs used for densitometers of the D180 family or for the SPMfamily.Note: For new programs it is recommended to use the commands of the SPM protocol.

Please refer to section 4 for GretagMacbeth D180 function or section 5 for GretagMacbeth SPMfunctions.

The functions used only for the GretagMacbeth D190 are based on the GretagMacbeth SPM protocol.They have the message number 208...255 (hex D0...FF). Functions also used in the GretagMacbethSPM spectrophotometer have a number between 0 an 207.

Interface specification

9

2 Interface specification

All GretagMacbeth D190 Densitometer are equipped with a serial interface.

2.1 Serial interface RS-232, bipolar, +/-5V level

GretagMacbeth D190 Input GretagMacbeth D190 Outputlogic 0 -15.0 V ... +0.8 V -8.0 V ... -5.0 V for load < 1.6 mAlogic 1 +2.4 V ... +15.0 V +8.0 V ... +5.0 V for load < 1.6 mAInput resistance > 3kOhm

2.2 Interface parameters

Data transmission rate: 110 ... 19200 Baud (GretagMacbeth factory setting: 9600Baud)

Data bit: 8Parity bit: noStop bit: 1Handshake: Xon/Xoff (Software handshake)

<Xon> = ASCII(17)<Xoff> = ASCII(19)

Section 2

10

2.3 Lead designations on the DIN socket

21

3 54

6 8

7

12345678

HS_POWERHS_OUTDATA_INGNDDATA_OUTHS_INCRG+CRG-

pin no pin name function1 HS_POWER Auxiliary voltage to supply the output HS_OUT in case

of a switched off densitometer. Can be connected e.g.to the DTR pin which has a positive voltage level aslong as the other device is on line.

2 HS_OUT D190 is ready to receive data on positive voltage level3 DATA_IN Data input of the D1904 GND5 DATA_OUT Data output of the D1906 HS_IN Input interrupts the data transmission between D190

and computer on negative voltage7 CRG+ Positive pole of the GretagMacbeth charger8 CRG- Negative pole of the GretagMacbeth charger

Reading measurement values

11

3 Reading measurement values

Mainly, people are just interested in performing a measurement and process the values with acomputer. To do so, there are two different ways.

3.1 Measuring by hand

The easier way to read the measurement values is by using the printer protocol. Each time ameasurement is performed, the densitometer sends the measured values on the serial interface to thecomputer.

− Connect the interface cable as shown in Appendix A to the RS232 serial interface of the computer− Adjust the baudrate and the handshake type on your densitometer (refer to manual).− Switch on the "D180" printer protocol in the "printer" menu (refer to manual).− Select in the menu "printer/pc" the "PC".

If the densitometer has been set like this, a string will be sent to the computer after a measurement.The strings are structured as followed:

Density: 1:Y 1.34 <CR><LF>

All densities: V0.86 C0.13 M1.29 Y0.72 <CR><LF>V-.71 C?.?? M-.33 Y-.94 <CR><LF>

if a value is < -0.99, ?.?? will be sent

Density difference: 2:M-0.24<<| R 2.23 <CR><LF>

R Reference value<<| Out of tolerance: <| out of tolerance (density less than reference)

|> out of tolerance (density more than reference)<<| |>> value twice beyond tolerance

Dot gain: 3:C 1.57 <CR><LF> (solid tone)3:C 15% F1 80% <CR><LF> (1. halftone)3:C 17% F2 40% <CR><LF> (2. Halftone)

Dot area: 4:B 1.23 <CR><LF> (solid tone)4:B 55% <CR><LF> (halftone)

Contrast: 5:Y 1.57 H <CR><LF> (solid tone)5:Y 40% <CR><LF> (contrast)

Trapping: 6:C 1.84 <CR><LF> (2. solid tone)6:C 85% <CR><LF> (trapping)

Section 3

12

Hue error: 7:M 34% Abs <CR><LF> ("Abs" appears only if white base is set to absolute)

Greyness: 8:Y 22% <CR><LF>

White measurement: 1:Z 0.00 (performed in function "density")V0.00 C0.00 M0.00 Y0.00 ("all densities")

3.2 Performing a measurement with a remote command

The other way is to use the remote commands. On a first step, a command is sent to perform ameasurement. Then a query will be sent to get the values. For that, both protocols (D180 and SPM)can be used. The SPM protocol is recommended since it is easier to read the received values.

− Connect the interface cable as shown in Appendix A to the RS232 serial interface of the computer− Adjust the baudrate and the handshake type on your densitometer (refer to manual).

Example:

Perform a measurement: ; 32 <CR><LF>Answer: : 37 0 <CR><LF> (no error occurred)

Read values: ; 3 9 <CR><LF>Answer: : 14 9 0.1451 0.8345 1.6322 0.2743 2 1 0 <CR><LF>

↑ ↑ ↑ ↑Db Dc Dm Dy

GretagMacbeth D180 communication protocol

13

4 GretagMacbeth D180 communication protocol

The GretagMacbeth densitometers series D190 are compatible to the GretagMacbeth densitometersseries D180 and to the GretagMacbeth SPM spectrophotometers. This section describes the D180communication protocol.

4.1 Data transmission format

Data transmission is performed using the query/reply principle.

A query from the host starts with the start character ’:’ (= ASCII (58)). The reply starts with thecharacter ’0:’.

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 GretagMacbeth D190 executes thecommand sends the respective reply.

All data are transmitted in ASCII code. Only printable characters are used (except for startup andsynchronization with ASCII (255)) which facilitates monitoring of data line communication.

Section 4

14

A complete query from the host is structured as followed:

[Wake up string] : <Message Number> [no, one or more parameters] <CR><LF>

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

where

a) [Wake up string] → Since the computer in the GretagMacbeth D190 switches offimmediately after every task, ASCII(255) must be transmittedfor 150 ms to initialize and synchronize the GretagMacbethD190 prior to every communication type. (Refer to section 1.2for more information about the wake up string.)If the PC DOS Driver (SPMDRIV.SYS) is in use, the [Wakeup string] is not necessary and the message can bestarted with b)!

b) : → Host start mark: Each query from the host starts with thischaracter to indicate its beginning.

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

d) [no, one or more parameters] → Some queries need no additional parameters, others need oneor more parameters. Refer to section 4 and 5 for more detailedinformation about the function of the queries.

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

A complete reply from the GretagMacbeth D190 is structured as follows:

0: <Message Number> [one or more parameters] <CR><LF>

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

where

a) 0: → GretagMacbeth D190 start mark: This sign indicates thebeginning of a reply from the GretagMacbeth D190.

b) <Message Number> → Each reply has its message number to determine the functionof 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>.

GretagMacbeth D180 communication protocol

15

4.2 The GretagMacbeth D180 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) used in this section are listed in alphabetical order insection 4.3.When type names are written within the characters "<" and ">" (e.g. <KeyLockType>) the values consistof one byte. Names within brackets (e.g. [DataValueType]) consist of more than one byte.

4.2.1 Read/Write status and parameters

4.2.1.1 Query to write the status to the device

StatusDownload :0 <KeyLockType><MeasureLockType><PowerDownType>0 <LampType><MotorType><CR><LF>

DownloadAnswer 0:0 <FailureType><CR><LF>

Example:Query --> :0111010<CR><LF>Reply --> 0:00<CR><LF>

Meaning of the reply: Control ball and measurement key are locked and the lamp is switched on;The densitometer remains power on.

4.2.1.2 Query to read the status of the device

StatusRequest :1 <CR><LF>StatusAnswer 0:1 1 <ModeType><StepType><ColorType>

<AutoColorType><LowBatType><DisplayOrientationType><Key_FType><Key_ZeroType><Key_ColorType><Key_Mode-Type><Key_Mode+Type> 0<Key_SecurityType> <Key_MeasType><CR><LF>

Example:Query --> :1<CR><LF>Reply --> 0:1133210010000001<CR><LF>

Meaning of the reply: Densitometer has measured a cyan field half tone 1 in the mode "Dot gain".Automatic determination of the color is on; Battery is charged; Display is in normalorientation; Keys have been moved

4.2.1.3 Query to set the parameter of the device

SetParameter :9 0 0 <WhiteRefType> 0 <CR><LF>DownloadAnswer 0:0 <FailureType><CR><LF>

Example:Query --> :90010<CR><LF>Reply --> 0:00<CR><LF>

Meaning of the reply: The white base of the measurement are referred to absolute white

Section 4

16

4.2.2 Send command to densitometer

4.2.2.1 Query to execute a command

This command is mainly to perform a measurement. Depending on the command, the reply doesdistinguish: - If <DoMeasureType> is 0, the reply is a <DownloadAnswer>

- If <DoMeasureType> is 1, and no error occurs in the measurement, the reply is theprinter protocol

Command :2 <FunctionType><ModeType><StepType><FilterType><AutoColorType><DoMeasureType> 0 0<DisplayOrientationType><CR><LF>

DoMeasureType = <0> :DownloadAnswer

DoMeasureType = <1> :PrinterProtocol

0:0 <FailureType><CR><LF>

<ProtocolType><CR><LF>

Example 1:Query --> :2110010001<CR><LF>Reply --> 0:00<CR><LF>

Meaning of the reply: Set filter to automatic color determination and turn the display.

Example 2:Query --> :2110011000<CR><LF>Reply --> 1:C 1.45<CR><LF>

Meaning of the reply: Measure density of a color field with automatic determination of the color.Display orientation normal

Example 3:Query --> :2120011000<CR><LF>Reply --> 2:M-0.08 <| R 1.40<CR><LF>

Meaning of the reply: Measure density difference of a color field with automatic determination

Example 4:Query --> :2010011000<CR><LF>Reply --> 1:Z 0.00<CR><LF>

Meaning of the reply: Measure paper white

GretagMacbeth D180 communication protocol

17

4.2.3 Read/Write data

4.2.3.1 Query to read data of the device

DataRequest :3 [DataNrType]<DataModeType><FilterType><CR><LF>DataAnswer 0:2 [DataNrType]<DataModeType><ColorType>

[DataValueType]<CR><LF>

Example 1:Query --> :32001<CR><LF>Reply --> 0:220021570<CR><LF>

Meaning of the reply: Request the density of cyan of the last measured field with slope: Dc = 1.34

(1570hex = 5488 → 5488 / 4096 = 1.34)

Example 2:Query --> :30303<CR><LF>Reply --> 0:203040EE1<CR><LF>

Meaning of the reply: Request the value of the yellow reference (Ref 3): Dy(Ref 3) = 0.93

(0EE1hex = 3809 → 3809 / 4096 = 0.93)

4.2.3.2 Query to write data to the device

DataDownload :4 [DataNrType]<FilterType>[DataValueType]<CR><LF>DownloadAnswer 0:0 <FailureType><CR><LF>

Example:Query --> :400010CC<CR><LF>Reply --> 0:00<CR><LF>

Meaning of the reply: Download slope of the "black" filter: Sb = 1.05

(1.05 x 4096 = 4300.80 → 4300 = 10CChex)

Section 4

18

4.3 All GretagMacbeth D180 communication types

4.3.1 Alphabetical listing and description of all types

All types used in the messages in section 4.2 are listed below in alphabetical order.

AutoColorType:

Indicates whether the densitometer determines the color automatically.

<0> The automatic determination is switched off<1> The automatic determination is switched on >1 no change

ColorType:

Color of the belonging value.

<0> Value with no color reference<1> Black<2> Cyan<3> Magenta<4> Yellow

DataModeType:

Indicates whether the data is a value or a test code.

<0> Value of data<1> Test code of data (bit wise complement of the data word)

GretagMacbeth D180 communication protocol

19

DataNrType:

Data number referring to value: 2 bytes

<0><0> Slope value 1)

<0><1> White reference 1)

<0><2> Last measured density 1)

<0><3> Reference (reference 0...3) 1)

<0><4> Tolerance of reference (reference 0...3) 1)

<0><6> Calibration density 1)

<0><8> Absolute density 1)

<0><9> Pulse number of measured value 1)

<1><0> Screen percent 1<1><1> Screen percent 2<2><3> Screen percent 3<1><2> Dark pulse 1)

<1><3> AD test pulse<1><4> Motor speed<1><5> Software version<1><6> Test data 1<1><7> Test data 2<1><8> Test data 3<1><9> Reference value with slope 1)

<2><0> Last measures value with slope 1)

<2><1> Offset value of absolute white 1)

<2><2> Absolute white 1)

1) The values are referred to a color (B, C, M, Y).

DataValueType:

The value of the requested data is a decimal number. To transmit this number it has first to bemodified:

1. multiply the number with 40962. convert the result in a hexadecimal number (4 figures)3. transmit these 4 figures (these figures correspond to the nibbles of these 2 bytes. Just transform

the value of a nibble (0..F) in an ASCII character ’0’...’F’ (ASCII(48)...ASCII(70)).

Example 1: value = 1.68 1.68 x 4096 = 6881.28 → 6881 ≡ 1AE1hex (Byte1 = 26 ; Byte2 = 225)result = ’1’ ’A’ ’E’ ’1’ (ASCII(49) ASCII(65) ASCII(69) ASCII(49))

Example 2: value = 0.87 0.87 x 4096 = 3563.52 → 3563 ≡ DEBhex (Byte1 = 13 ; Byte2 = 235)result = ’0’ ’D’ ’E’ ’B’ (ASCII(48) ASCII(68) ASCII(69) ASCII(66))

To convert received data back into a decimal number proceed backwards:

Example 1: value = ’1’ ’C’ ’8’ ’3’ 1C83hex ≡ 7299 → 7299 / 4096 = 1.78result = 1.78

Example 2: value = ’0’ ’9’ ’F’ ’9’9F9hex ≡ 2553 → 2553 / 4096 = 0.62result = 0.62

Section 4

20

DisplayOrientationType:

Indicates whether the display is normal or reverse.

<0> The display is normal (for right-handed persons)<1> The display is reverse (for left-handed persons) >1 no change

DoMeasureType:

Indicates whether a measurement will be performed.

<0> No measurement will be performed<1> Do measurement

FailureType:

Error in communication instruction.

<0> No error<1> AD failure<2> Lamp failure<3> Division by zero<4> Motor blocked<5> Not calibrated<6> Battery empty<7> Communication error

FilterType:

Color of the belonging value.

<0> Black<1> Cyan<2> Magenta<3> Yellow >3 no change

FunctionType:

Gives the function of the command.

<0> Measure paper white<1> Measure field<2> Measure reference (only with 4 references) >7 no change

GretagMacbeth D180 communication protocol

21

KeyLockType:

Indicates whether keys (measurement key and control ball) are locked.

<0> Keys are unlocked<1> Keys are locked

Key_ColorType:

GretagMacbeth D180: Indicates whether the "Color" key has been pressed since the last query.GretagMacbeth D190: Not used - always 0.

<0> "Control" key has not been pressed.<1> "Control" key has been pressed.

Key_FType:

GretagMacbeth D180: Indicates whether the "F" key has been pressed since the last query.GretagMacbeth D190: Indicates whether the control ball has been moved since the last query.

<0> D180: "F" key has not been pressed.D190: Control ball has not been moved

<1> D180: "F" key has been pressed.D190: Control ball has been moved

Key_MeasType:

Indicates whether the measurement key has been pressed since the last query.

<0> Measurement key has not been pressed.<1> Measurement key has been pressed.

Key_Mode-Type:

GretagMacbeth D180: Indicates whether the "Mode-" key has been pressed since the last query.GretagMacbeth D190: Not used - always 0.

<0> "Mode-" key has not been pressed.<1> "Mode-" key has been pressed.

Key_Mode+Type:

GretagMacbeth D180: Indicates whether the "Mode+" key has been pressed since the last query.GretagMacbeth D190: Not used - always 0.

<0> "Mode+" key has not been pressed.<1> "Mode+" key has been pressed.

Section 4

22

Key_SecurityType:

GretagMacbeth D180: Indicates whether the security button (red) has been pressed since the lastquery.GretagMacbeth D190: Not used - always 0.

<0> Security button has not been pressed.<1> Security button has been pressed.

Key_ZeroType:

GretagMacbeth D180: Indicates whether the "Zero" key has been pressed since the last query.GretagMacbeth D190: Not used - always 0.

<0> "Zero" key has not been pressed.<1> "Zero" key has been pressed.

LampType:

Indicates whether the lamp is switched on or off.

<0> Lamp is switched off<1> Lamp is switched on

LowBatType:

Indicates whether the battery voltage is low.

<0> Battery is charged<1> Battery voltage is low

MeasureLockType:

Indicates whether the measurement is locked.

<0> Measurement is unlocked<1> Measurement is locked

ModeType:

Gives the mode of the command.Note: For the D190, the display will not change by changing the mode!

<1> Density<2> Density difference<3> Dot gain<4> Dot area<5> Contrast<6> Trapping<7> Hue error<8> Greyness >8 no change

GretagMacbeth D180 communication protocol

23

MotorType:

Indicates whether the motor is switched on or off.

<0> Motor is switched off<1> Motor is switched on

PowerDownType:

Indicates whether the device will turn the power off after the measurement or a key movement.

<0> Power down after measurement or key movement<1> Device remains power on

ProtocolType:

After a measurement command, the densitometer sends the printer protocol:

FunctionType ModeType D190 output

0 1 1:Z 0.00 <CR><LF> (the first value is the mode type)

1 1 1:C 1.23 Abs <CR><LF> ("Abs" appears only if white base is set to absolute)

0 2 2:Z 0.00 <CR><LF>

1 2 2:M-0.19<<| R 1.43 <CR><LF>

1 3 3:Y 1.03 <CR><LF>

1 4 4:B 1.74 <CR><LF>

1 5 5:C 1.22 H <CR><LF>

1 6 6:M 1.18 <CR><LF>

1 7 7:M 34% <CR><LF>

1 8 8:Y 18% <CR><LF>

StepType:

Determines the step of the command. It is depending on the ’ModeType’.

Dot gain: <1> Solid tone<3> 1. half tone field<5> 2. half tone field<7> 3. half tone field

Dot area: <3> Solid tone<1> Half tone field

Contrast: <1> Solid tone<3> Half tone field

Trapping: <1> 1. Solid tone<3> 2. Solid tone<5> Overprint field

WhiteRefType:

White base on which the values are based.

<0> Pap Paper white reference<1> Abs Absolute white reference

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

25

5 GretagMacbeth SPM communication protocol

5.1 Data transmission format

Two data formats, i.e. the hexadecimal and decimal formats are available for data transmission. In thehexadecimal format, a copy of the memory contents is transferred, while in the decimal format, valuesare converted into readable ones.The GretagMacbeth D190 answers each query in the format in which it was received.

5.1.1 The decimal format

The GretagMacbeth D190 will read the parameters of a query as decimal values if the firstcharacter after the start mark is a blank. At least one blank (’ ’ = ASCII(32)) must be sent prior toeach parameter in order to separate individual values. Each value may only be displayed with amaximum of 12 characters (excluding blanks). If a value has more than 12 characters, theGretagMacbeth D190 considers only the first 12 characters. The D190 replies with the same format asthe query was.

Different data types are coded as follows:

One byte types: (e.g. BOOLEAN, CHAR, tabulation types)Decimal value: 81Perm. query formats: ’ 81’, ’ 000000000081 ’, ’ 081’, ’ +81’, ...Reply format: ’ 81’ (= ASCII(32, 32, 56, 49))

Two byte types: (e.g. INTEGER, CARDINAL, SET)Decimal value: 1234Perm. 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.456Perm. 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).

Section 5

*)xx These functions are not available for software releases earlier than xx

26

5.1.2 The hexadecimal format

The hexadecimal format will be recognized when the message value starts immediately afterthe start character ’;’. No Space is required between two message parameters.The answer of a query will also be in hexadecimal format.

Note: The GretagMacbeth D190 uses the INTEL format. For all data which consists of more thanone 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: 181Hexadecimal value: B5Transmitted as: ’B5’ (=ASCII(66,53))

Two byte types: (e.g. INTEGER, CARDINAL, SET)Decimal value: 2346Hexadecimal value: 092ATransmitted as: ’2A09’ (=ASCII(50,65,48,57))

Four byte type: (SREAL)

The SREAL type corresponds to the IEEE 754 single precision realformat and is defined as follows:

SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM (32 Bit)

S-field: (Sign) 1: negative; 0: positiveE-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.1516Hexadecimal value: 3E1B3D07Transmitted 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.)

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

27

5.2 The SPM 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 5.3.When type names are written within the characters "<" and ">" (e.g. <ValueType>) the values consist ofone byte. Names within brackets (e.g. [DensityFilterArrayType]) consist of more than one byte.

5.2.1 Querying and loading measuring results and references

Measuring results and references of the GretagMacbeth D190 can be queried by the host computer.They can also be downloaded from the host to the GretagMacbeth D190. References refer always tothe current job.

5.2.1.1 Query of densitometric measuring results and references

Query for the last measuring result or a reference value:(Message numbers <03>/{3}, <0E>/{14})

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

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

Explanation: StdDensityFilterType → filter selected from automatic filter selection

Example:Hexadecimal query --> ;0309<CR><LF>Hexadecimal reply --> :0E0918B6A23FD6869C3F37C5B13FE3A4164003010000<CR><LF>Decimal query --> ; 3 9<CR><LF>Decimal reply --> : 14 9 1.2712 1.2229 1.3888 2.3538 3 1 0<CR><LF>

Meaning of the reply: Density value: Db = 1.2712; ... Dy = 2.3538;Automatic filter selection: Dy; Measuring value is valid;no communication error

5.2.1.2 Loading reference values from the host

A selected reference can be loaded from the host:(Message numbers <18>/{24}, <1F>/{31})

DensityDownload ;<18> <ReferenceType>[DensityFilterArrayType]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

Section 5

*)xx These functions are not available for software releases earlier than xx

28

5.2.2 Handling jobs and references

5.2.2.1 Query actual job *)11

Query the actual job of the GretagMacbeth D190.(Message numbers <47>/{71},<48>/{72})

GetValNr ;<47> <JobType><CR><LF>ValNrAnswer :<48> <JobType> [ValNrType][RemoteErrorSet] <CR><LF>

5.2.2.2 Set the actual job *)11

Set the actual job of the GretagMacbeth D190. There are 4 jobs that can be set (Job1 ... Job4)(Message numbers <49>/{73},<1F>/{31})

SetValNr ;<49> <JobType>[ValNrType]<CR><LF>DownloadError :<1F> [RemoteErrorSet<CR><LF>

The following queries always refer to the actual job. If data from an other job are required, change firstthe actual job with the command "SetValNr".

5.2.2.3 Query name of the actual job *)11

This permits the query of the actual job name.(Message numbers. <44>/{68}, <45>/{69})

Name16Request ;<44> <JobType> <CR><LF>Name16Answer :<45> <JobType> [Name16Type] [RemoteErrorSet] <CR><LF>

5.2.2.4 Download the name of the actual job *)11

Jobs can be named with a 16 character string (although only 9 character are shown on the display) :(Message numbers <46>/{70}, <1F>/{31})

Name16Download ;<46> <JobType>[Name16Type]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

5.2.2.5 Query actual reference *)11

Query the actual reference of the GretagMacbeth D190.(Message numbers <47>/{71},<48>/{72})

GetValNr ;<47> <ReferenceType><CR><LF>ValNrAnswer :<48> <ReferenceType> [ValNrType][RemoteErrorSet] <CR><LF>

5.2.2.6 Set the actual reference *)11

Set the actual reference of the GretagMacbeth D190. There are max 8 references that can be set(Message numbers <49>/{73},<1F>/{31})

SetValNr ;<49> <ReferenceType>[ValNrType]<CR><LF>DownloadError :<1F> [RemoteErrorSet<CR><LF>

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

29

5.2.2.7 Query name of a reference value

This permits the name of a reference value to be queried. An error message occurs when querying asample since only reference values are named:(Message numbers. <44>/{68}, <45>/{69})

Name16Request ;<44> <ValueType> <CR><LF>Name16Answer :<45> <ValueType> [Name16Type] [RemoteErrorSet] <CR><LF>

5.2.2.8 Download the name of a reference value

References can be named with a 16 character string (although only 9 character are shown on thedisplay) :(Message numbers <46>/{70}, <1F>/{31})

Name16Download ;<46> <ReferenceType>[Name16Type]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

The job and reference names can also be handled with the commands "Name18Request" and"Name18Download". Here the last two characters will be cut.

5.2.3 Densitometric parameters

5.2.3.1 Queries on GretagMacbeth D190 parameters

Queries on the parameters density standard, white reference and actual filter setting:(Message numbers <00>/{0}, <0B>/{11})

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

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

Meaning of the reply: DStd = DIN; WBase = Abs; ActualFilter = Pol

5.2.3.2 Set parameters in the GretagMacbeth D190

Sets the white reference.(Message numbers <16>/{22}, <1F>/{31})

ParameterDownload ;<16> 0 <WBaseType> 0 0 <CR><LF>DownloadError :<1F> [RemoteErrorSet] <CR><LF>

Section 5

*)xx These functions are not available for software releases earlier than xx

30

5.2.4 Send instructions to the D190, e.g. perform measurement

5.2.4.1 Perform measurement

After this instruction has been performed the measured value can be queried with the "DensityRequest"instruction ("ValueType = Meas"):(Message numbers <20>/{32}, <25>/{37})

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

5.2.4.2 Perform white measurement

A white measurement will be preformed. All measured values will be deleted:(Message numbers <21>/{33}, <25>/{37})

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

Example:Hexadecimal query --> ;21<CR><LF>Hexadecimal reply --> :2513<CR><LF>Decimal query --> ; 33<CR><LF>Decimal reply --> : 37 19<CR><LF>

Meaning of the reply: White measurement is OK. All measured values have been deleted

5.2.4.3 Perform measurement and assign to selected value

The value will be assigned either to the selected reference or the sample value, depending on"ValueType".(Message numbers <22>/{34}, <25>/{37})

ExecRefMeasurement ;<22> <ValueType> 0 <CR><LF>ExecError :<25> <ErrorType><CR><LF>

Example:Hexadecimal query --> ;220400<CR><LF>Hexadecimal reply --> :2500<CR><LF>Decimal query --> ; 34 4 0<CR><LF>Decimal reply --> : 37 0<CR><LF>

Meaning of the reply: Measurement and assigning to reference 5; no error occurred.

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

31

5.2.5 Query and load GretagMacbeth D190 tables

5.2.5.1 Slope values of densitometer

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

5.2.5.2 Load slope values from host in the GretagMacbeth D190

Load slope values:(Message numbers <17>/{23}, <1F>/{31})

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

5.2.6 Query and loading of user data

5.2.6.1 Query actual user *)11

Query the actual user of the GretagMacbeth D190.(Message numbers <47>/{71},<48>/{72})

GetValNr ;<47> <UserType><CR><LF>ValNrAnswer :<48> <UserType> [ValNrType][RemoteErrorSet] <CR><LF>

5.2.6.2 Set the actual user *)11

Set the actual user of the GretagMacbeth D190. There are 8 users that can be set (User1 ... User8)(Message numbers <49>/{73},<1F>/{31})

SetValNr ;<49> <UserType>[ValNrType]<CR><LF>ValNrAnswer :<1F> [RemoteErrorSet<CR><LF>

Section 5

*)xx These functions are not available for software releases earlier than xx

32

5.2.6.3 Query name of actual user *)11

This permits to query the name of the actual user.(Message numbers. <71>/{113}, <72>/{114})

Name18Request ;<71> <UserType> <CR><LF>Name18Answer :<72> <UserType> [Name18Type] [RemoteErrorSet] <CR><LF>

5.2.6.4 Download name of the actual user *)11

Sets the name of the actual user. To set an other user name change first the user with "SetValNr".(Message numbers <73>/{115}, <1F>/{31})

Name18Download ;<73> <UserType>[Name18Type]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

5.2.6.5 Query the firm address *)11

This permits to query the user address that appears in the header print out.(Message numbers. <71>/{113}, <72>/{114})

Name18Request ;<71> <UserAdressType> <CR><LF>Name18Answer :<72> <UserAdressType>[Name18Type] [RemoteErrorSet] <CR><LF>

5.2.6.6 Download the firm address *)11

Sets the firm address of the user. There are 5 lines which can be defined. The user address appears inthe header print out.(Message numbers <73>/{115}, <1F>/{31})

Name18Download ;<73> <UserAdressType>[Name18Type]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

The user data can also be handled with the commands "Name16Request" and "Name16Download".

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

33

5.2.7 Several other instructions

5.2.7.1 Queries whether a new measurement was performed since the last access

The ValueType displays, where the last measurement is stored:(Message numbers <07>/{7}, <12>/{18})

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

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

Meaning of the reply: One measurement was performed since the last query. Reference 8 was measured for thelast measurement.

5.2.7.2 Set current measuring mode from host

This instruction permits to set several status, e.g. baudrate, handshake, language, printer type:(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 thecommand will already be sent in the new baud rate. Therefore, it is recommended to ignore theanswer of the densitometer and change the baud rate of the host after a delay of 1 second.

5.2.7.3 Query for the current measuring mode of the GretagMacbeth D190

This instruction permits to ask for the current settings of the GretagMacbeth D190. In the"MeasureControlAnswer", the first <ControlType> is set to the value of the "MeasControlRequest", thesecond <ControlType> is set to the value according to the actual setting of the densitometer:(Message numbers <5B>/{91}, <5C>/{92})

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

5.2.7.4 Set target status in the GretagMacbeth D190

This instruction allows to define the automatic switch off of the GretagMacbeth D190 as well as lockingthe keys of the device:(Message numbers <33>/{51}, <1F>/{31})

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

Section 5

*)xx These functions are not available for software releases earlier than xx

34

5.2.7.5 Write text (6 x 18 characters) on the display of GretagMacbeth D190

Writes the text defined in ’DisplayStringArrayType’ to the display of the GretagMacbeth D190. The textwill remain until a key has been pressed or a new remote function has been sent. (Message numbers <34>/{52}, <1F>/{31})

TextDownload ;<34> [DisplayStringArrayType]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

5.2.7.6 Queries for specific device data

Serial number, software release and other specific data can be queried with this function."DisplayStringType" shows the type of the densitometer:(Message numbers <2B>/{43}, <31>/{49})

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

[TargetSpecType] <CR><LF>

5.2.7.7 Queries the actual time and date of the GretagMacbeth D190

This instructions returns the actual time of the clock in the GretagMacbeth D190. If there is no clock inthe device, all values of the "TimeType" will be set to 99.(Message numbers <68>/{104}, <69>/{105})

TimeRequest ;<68> <ActualTimeValType><CR><LF>TimeAnswer :<69> <ActualTimeValType>[TimeType][RemoteErrorSet]<CR><LF>

5.2.7.8 Download the actual time and date of the GretagMacbeth D190

(Message numbers <6A>/{106}, <1F>/{31})

TimeDownload ;<6A> <ActualTimeValType>[TimeType]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

5.2.7.9 Query the trimming value of the clock in the GretagMacbeth D190 *)11

Query the value to adjust the clock in seconds per day. ValNrType = (SecPerDay * 10) + 50(Message numbers <47>/{71},<48>/{72})

GetValNr ;<47> <ClockTrimmingValType><CR><LF>ValNrAnswer :<48> <ClockTrimmingValType>[ValNrType][RemoteErrorSet]

<CR><LF>

5.2.7.10 Load the trimming value of the clock in the GretagMacbeth D190 *)11

Load the value to adjust the clock in seconds per day. ValNrType = (SecPerDay * 10) + 50(Message numbers <49>/{73},<1F>/{31})

SetValNr ;<49> <ClockTrimmingValType>[ValNrType]<CR><LF>ValNrAnswer :<1F> [RemoteErrorSet<CR><LF>

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

35

5.2.8 Error messages

5.2.8.1 Reply of the D190 to an erroneous query

The GretagMacbeth D190 always sends a reply when it receives a <CR><LF>. The unit replies withCOMErr 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 GretagMacbeth D190 indicates that no valid message number was received.

5.2.8.2 Queries for the general error status of the GretagMacbeth D190

(Message numbers 29>/{41}, <2F>/{47})

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

Section 5

*)xx These functions are not available for software releases earlier than xx

36

5.3 All GretagMacbeth SPM communication typesDefinitions in hex and decimal format

5.3.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

5.3.2 Alphabetical listing and description of all types

All types used in the messages in section 5.2 are listed below in alphabetical order.

ActualTimeValType:

Value used by the instruction to set or get the actual time of the GretagMacbeth D190.

<FD>/{253} vActualTime --> actual time of the GretagMacbeth D190

ClockTrimmingValType:

Value using the instruction to set or get the trimming value of the clock in the GretagMacbeth D190.

<D3>/{211} vTrimming --> trimming value of the clock

ControlType:

Enables or disables different status of the GretagMacbeth D190:(All values higher than <96>/{150} are not valid for the GretagMacbeth SPM)

<08>/{8} StartAutoREF --> Automatic reference selection *)11

<09>/{9} StopAutoREF --> *)11

<1E>/{30} ProtokolWithXonXoff --> XON/XOFF handshake on serial interface<1F>/{31} ProtokolWithoutXonXoff --> No handshake on serial interface

ProtokolHardwareHS --> see no. <CB>/(203)<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

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

37

<27>/{39} SetBaud9600<28>/{40} SetBaud19200<45>/{69} PrintToEPSONLX --> EPSON LX800 printer<46>/{70} PrintToHPThinkJet --> HP ThinkJet printer

PrintToHPDeskJet --> see no. <4F>/(79)PrintToHPLaserJet --> see no. <50>/(80)PrintToSeikoDPU411 --> see no. <52>/(82)PrintToBJ10SX --> see no. <4E>/(78)PrintToBJ10vCustom --> see no. <C8>/(200)PrintToCBM510 --> see no. <C9>/(201)PrintToPC --> see no. <CA>/(202)

<47>/{71} PrintTimeDateON --> Write time stamp on print out of measuring values *)11

<48>/{72} PrintTimeDateOFF --> No time stamp on print out *)11

<49>/{73} TimeDateFormatEuro --> Define the time (00:00:00) and date (dd.mm.yyyy)format

*)11

<4A>/{74} TimeDateFormatAmerican --> Define the time (00:00:00 am) and date(mm/dd/yyyy) format

*)11

<4E>/{78} PrintToBJ10SX --> CANON BJ10 SX printer<4F>/{79} PrintToHPDeskJet --> HP DeskJet printer<50>/{80} PrintToHPLaserJet --> HP LaserJet printer<52>/{82} PrintToSeikoDPU411 --> Seiko DPU 411 printer

<96>/{150} RefreshDisplayON --> Turn on display refresh after each command<97>/{151} RefreshDisplayOFF --> Turn off display refresh after each command<C8>/{200} PrintToBJ10vCustom --> CANON BJ10vCustom (Japanese printer)<C9>/{201} PrintToCBM510 --> CBM 510 printer<CA>/{202} PrintToPC --> PC (no escape sequences)<CF>/{207} ProtokolHardwareHS --> Hardware handshake on serial interface<D0>/{208} LanguageEnglish --> Device language English<D1>/{209} LanguageGerman --> Device language German<D2>/{210} LanguageSpanish --> Device language Spanish<D3>/{211} LanguageFrench --> Device language French<D4>/{212} LanguageItalian --> Device language Italian<D5>/{213} LanguageDutch --> Device language Dutch<D6>/{214} LanguageSwedish --> Device language Swedish<D7>/{215} LanguageFinnish --> Device language Finnish<D8>/{216} LanguageJapanese --> Device language Japanese<D9>/{217} LanguageDanish --> Device language Danish *)12

<DA>/{218} LanguageChinese --> Device language Chinese *)13

<DC>/{220} LanguagePortuguese --> Device language Portuguese *)13

<E0>/{224} ProtocolNo --> No print protocol<E1>/{225} ProtocolD180 --> Print protocol D180<E2>/{226} ProtocolD190 --> Print protocol D190<E3>/{228} PrintHeaderTimeON --> Header print out with actual time *)11

<E4>/{229} PrintHeaderTimeOFF --> Header print out with no time indication *)11

<E5>/{230} PrintHeaderRefON --> Header print out with actual references *)11

<E6>/{231} PrintHeaderRefOFF --> Header print out with no references *)11

Section 5

*)xx These functions are not available for software releases earlier than xx

38

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

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<05>/{5} Dauto --> Automatic filter selection for measurement of Db .. Dy

DisplayStringArrayType:

Six text lines can be loaded in the GretagMacbeth D190 which are then displayed: 6x18 characters asASCII(CHAR). (6 x 18 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> Strings as ASCII(CHAR)

DisplayStringType:

Definition of a text line in the GretagMacbeth D190 protocol: 18 characters as ASCII(CHAR). (18 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> String as ASCII(CHAR)

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 --> Narrow band tables as defined in DIN 16536

DTCOMErrType:

The GretagMacbeth D190 always sends a reply if both stop characters <CR><LF> are properlyreceived(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<07>/{7} ConvError --> Received data could not be converted

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

39

ErrorType:

<00>/{0} NoError --> No error<03>/{3} MotorBlocked --> Motor blocked<04>/{4} LampFailure --> Lamp failure<07>/{7} SendTimeout --> Data transmission error<09>/{9} MeasDisabled --> Measuring locked<0D>/{13} EEPROMFailure --> Defective EEPROM<13>/{19} WhiteMeasOk --> White measurement OK<17>/{23} NotCalibrated --> Densitometer is not calibrated<18>/{24} TempFailure --> Temperature out of range<2A>/{42} ADFailure --> Failure on AD converter<2C>/{44} DriveError --> No pulse of filter position

JobType:

Value used by the instructions to handle the actual job.

<29>/{41} vActualJob --> Actual job (reference set)

Name16Type:

Name of a reference, illuminant, etc.: 16 char. as ASCII(CHAR). (16 bytes)

<..><..> ... <..>/{..}{..} ... {..} --> String as ASCII(CHAR)

NewMeasurementType:

Indicates whether a new measurement was performed since the last NewMeasurementType.

<00>/{0} FALSE --> No new measurement performed<01>/{1} TRUE --> New measurement performed

ReferenceType:

Value used by the instructions to handle the actual reference.

<40>/{64} vActualRef --> Actual reference

RefValidType:

Indicates valid reference values

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

Section 5

*)xx These functions are not available for software releases earlier than xx

40

RemoteErrorSet:

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

<00><01>/{1} SlopeOutOfRange<00><02>/{2} DorIOutOfRange<00><40>/{64} NotAnSROrBoolean<00><80>/{128} NoValidValOrRef<01><00>/{256} NoValidDStd<02><00>/{512} NoValidWhite<04><00>/{1024} EEPROMFailure<80><00>/{32768} NoValidChar

Example: SlopeOutOfRange <00><01>/{1}+ NoValidWhite <02><00>/{512}+ NoValidChar <80><00>/{32768}= RemoteErrorSet <82><01>/{33281}

StdDensityFilterType:

Same as DensityFilterType but only Db .. Dy.

TargetIdType:

Identification information of a GretagMacbeth D190 (7 x 2 bytes / 7 CARDINAL)

1. CARD.: <..><..>/{..} --> SerialNumber as CARDINAL -> Serial number2. CARD.: <..><..>/{..} --> SoftRelNr as CARDINAL -> Software Release3. CARD.: <..><..>/{..} --> year as CARDINAL -> Year of production4. CARD.: <..><..>/{..} --> month as CARDINAL -> Month of production5. CARD.: <..><..>/{..} --> day as CARDINAL -> Day of production6. CARD.: <..><..>/{..} --> hour as CARDINAL -> Hour of production7. CARD.: <..><..>/{..} --> minute as CARDINAL -> Minute of production

TargetOnOffStatusType:

Provides the means for programming the automatic switch off and functional integrity of theGretagMacbeth D190 keyboard. If the red key on the GretagMacbeth D190 is pressed, all of thesevalues switch again to <00>/{0} (= FALSE). (3 x 1 byte)

1. byte: <00>/{0} --> Automatic switch off<01>/{1} --> GretagMacbeth D190 remains switched on

2. byte: <00>/{0} --> All GretagMacbeth D190 keys activated<01>/{1} --> All GretagMacbeth D190 keys deactivated

3. byte: <00>/{0} --> Measurement function enabled<01>/{1} --> Measurement function disabled

GretagMacbeth SPM communication protocol

*)xx These functions are not available for software releases earlier than xx

41

TargetTechType:

Information on the type of connected unit

<00>/{0} SpectroPhotoMetr. --> Instrument is a SpectroPhotoMeter<01>/{1} DensitoMeter --> Instrument is a DensitoMeter

TimeType:

Time and date information (7 x 2 bytes / 7 CARDINAL)If there is no clock in the GretagMacbeth D190, all values will be set to 99.

1. CARD.: <..><..>/{..} --> 1/100 second as CARDINAL2. CARD.: <..><..>/{..} --> second as CARDINAL3. CARD.: <..><..>/{..} --> minute as CARDINAL4. CARD.: <..><..>/{..} --> hour as CARDINAL5. CARD.: <..><..>/{..} --> day as CARDINAL6. CARD.: <..><..>/{..} --> month as CARDINAL7. CARD.: <..><..>/{..} --> year as CARDINAL

UnitStatusSetType:

Indicates the status of the unit.

<00><00>/{0} UnitNormal<00><01>/{1} BatteryLow<00><02>/{2} NoBattery<00><04>/{4} BatteryCharging

UserAdressType:

Value used by the instructions for the user address.

<80>/{128} vAdress1Name --> Line 1 of user address<81>/{129} vAdress2Name --> Line 2 of user address<82>/{130} vAdress3Name --> Line 3 of user address<83>/{131} vAdress4Name --> Line 4 of user address<84>/{132} vAdress5Name --> Line 5 of user address

UserType:

Value used by the instructions to handle the actual user.

<28>/{40} vActualUser --> Actual user

ValNrType:

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

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

Section 5

*)xx These functions are not available for software releases earlier than xx

42

ValueFilterType:

Filter setting in which a measurement was made.

<01>/{1} NoFilter --> No polarizer filter<02>/{2} PolFilter --> Polarizer filter<04>/{4} Repro --> Repro filter

ValueType:

This type permits address of a specific measuring value or a reference of the actual job.

<00>/{0} Ref1 --> Reference value number 1<01>/{1} Ref2<02>/{2} Ref3<03>/{3} Ref4<04>/{4} Ref5<05>/{5} Ref6<06>/{6} Ref7<07>/{7} Ref8 --> Reference value number 8<09>/{9} Meas --> Measurement value, i.e. current sample (Spl)

WBaseType:

White base on which the spectrum is based.

<00>/{0} Pap --> Paper white reference<01>/{1} Abs --> Absolute white reference

Appendix A

43

Appendix A

Appendix B

*)xx These functions are not available for software releases earlier than xx

45

Appendix B

Listing of all instructions of the SPM protocol grouped according to meaning

All instructions of the GretagMacbeth SPM protocol are listed below according to their meaning.Numbers indicated are the message numbers; names designate the instructions. Refer to Section 5 fora description.

Topic Subtopic Short Description Message Name M.No. Cap.Measuring Densitometric Query of densitometric measuring results DensityRequest <03> 5.2.1.1results Loading density values DensityDownload <18> 5.2.1.2

Jobs and Actual job Query actual job GetValNr <47> 5.2.2.1 *)11

references Set actual job SetValNr <49> 5.2.2.2 *)11

Name of a job Query name Name16Request /Name18Request

<44><71>

5.2.2.3 *)11

Download the name Name16Download /Name18Download

<46><73>

5.2.2.4 *)11

Actual reference Query actual reference GetValNr <47> 5.2.2.5 *)11

Set actual reference SetValNr <49> 5.2.2.6 *)11

Name of areference

Query name Name16Request /Name18Request

<44><71>

5.2.2.7

Download the name Name16Download /Name18Download

<46><73>

5.2.2.8

Status Densitometric Queries on parameters ParameterRequest <00> 5.2.3.1parameters Set parameters ParameterDownload <16> 5.2.3.2

Send Measurements Perform measurement ExecMeasurement <20> 5.2.4.1instructions to Perform white measurement ExecWhiteMeasurement <21> 5.2.4.2the D190 Reference measurement or white

calibrationExecRefMeasurement <22> 5.2.4.3

Query and load Slope values for Query of slope values SlopeRequest <01> 5.2.5.1D190 tables densitometry Load slope values SlopeDownload <17> 5.2.5.2

User Actual user Query actual user GetValNr <47> 5.2.6.1 *)11

definitions Set actual user SetValNr <49> 5.2.6.2 *)11

User names Query name of actual user Name16Request /Name18Request

<44><71>

5.2.6.3 *)11

Download name of actual user Name16Download /Name18Download

<46><73>

5.2.6.4 *)11

User address Query user address Name16Request /Name18Request

<44><71>

5.2.6.5 *)11

Download user address Name16Download /Name18Download

<46><73>

5.2.6.6 *)11

OtherInstructions

Measurement Query whether a new measurement wasperformed

NewMeasureRequest <07> 5.2.7.1

Measuring mode Set current measuring mode in the D190 MeasControlDownload <4D> 5.2.7.2Query for the current measuring mode inthe D190

MeasControlRequest <5B> 5.2.7.3

Target status Set target status TargetOnOffStDownload <33> 5.2.7.4Text on display Write text on display TextDownload <34> 5.2.7.5D190 data Query for type, serial number, etc. TargetIdRequest <2B> 5.2.7.6Time and date Read clock of the D190 TimeRequest <68> 5.2.7.7

Download time in the D190 TimeDownload <6A> 5.2.7.8Query the trimming value of the clock GetValNr <47> 5.2.7.7 *)11

Download the trimming value of the clock SetValNr <49> 5.2.7.8 *)11

Errormessages

Erroneous query Reply of the D190 after an erroneousquery

COMErr <??> 5.2.8.1

Error status ofthe unit

Queries the status of the D190 ActErrorRequest <29> 5.2.8.2

Appendix B

*)xx These functions are not available for software releases earlier than xx

46

Appendix C

*)xx These functions are not available for software releases earlier than xx

47

Appendix C

Numerical listing of all instructions of the SPM protocol

The following is a listing of all queries of the SPM protocol according to message numbers.Refer to Section 5 for query definitions and examples.Refer to Section 5.3 for definitions of types.

Values of type numbers are given in hexadecimal format. When the decimal format is used, the valuemust be converted accordingly.

Types are listed as follows:Upper type È sent from host computerLower type È respective reply from the GretagMacbeth D190

Message Name Message Cap.ParameterRequest ;<00> <CR><LF> 5.2.3.1ParameterAnswer :<0B> <DStdType> <WBaseType> 0 0 <ValueFilterType> <CR><LF>SlopeRequest ;<01> <CR><LF> 5.2.5SlopeAnswer :<0C> [DensityFilterArrayType]<CR><LF>DensityRequest ;<03> <ValueType><CR><LF> 5.2.1.1DensityAnswer :<0E> <ValueType>[DensityFilterArrayType]<StdDensityFilterType>

<RefValidType>[RemoteErrorSet]<CR><LF>NewMeasureRequest ;<07> <CR><LF> 5.2.7.1NewMeasureAnswer :<12> <NewMeasurementType><ValueType><CR><LF>ParameterDownload ;<16> <DStdType><WBaseType><IllumType><ObserverType><CR><LF> 5.2.3.2DownloadError :<1F> [RemoteErrorSet] <CR><LF>SlopeDownload ;<17> [DensityFilterArrayType]<CR><LF> 5.2.5DownloadError :<1F> [RemoteErrorSet]<CR><LF>DensityDownload ;<18> <ReferenceType>[DensityFilterArrayType]<CR><LF> 5.2.1.2DownloadError :<1F> [RemoteErrorSet]<CR><LF>ExecMeasurement ;<20> <CR><LF> 5.2.4.1ExecError :<25> <ErrorType><CR><LF>ExecWhiteMeasurement ;<21> <CR><LF> 5.2.4.2ExecError :<25> <ErrorType><CR><LF>ExecRefMeasurement ;<22> <ValueType><MeasurementModeType><CR><LF> 5.2.4.3ExecError :<25> <ErrorType><CR><LF>ActErrorRequest ;<29> <CR><LF> 5.2.8.2ActErrorAnswer :<2F> [ErrorType][UnitStatusSetType]<CR><LF>TargetIdRequest ;<2B> <CR><LF> 5.2.7.6TargetIdAnswer :<31> [DisplayStringType] [TargetIdType] [TargetTechType]

[TargetSpecType] <CR><LF>TargetOnOffStDownload ;<33> [TargetOnOffStatusType]<CR><LF> 5.2.7.4DownloadError :<1F> [RemoteErrorSet]<CR><LF>TextDownload ;<34> [DisplayStringArrayType]<CR><LF> 5.2.7.5DownloadError :<1F> [RemoteErrorSet]<CR><LF>Name16Request ;<44> <ValueType> <CR><LF>Name16Answer :<45> <ValueType> [Name16Type] [RemoteErrorSet] <CR><LF>

;<44> <JobType> <CR><LF> 5.2.2.3 *)11

:<45> <JobType> [Name16Type] [RemoteErrorSet] <CR><LF>;<44> <UserType> <CR><LF> 5.2.6.3 *)11

:<45> <UserType> [Name16Type] [RemoteErrorSet] <CR><LF>;<44> <UserAdressType> <CR><LF> 5.2.6.5 *)11

:<45> <UserAdressType> [Name18Type] [RemoteErrorSet] <CR><LF>

Appendix C

*)xx These functions are not available for software releases earlier than xx

48

Message Name Message Cap.Name16Download ;<46> <ValueType> [Name16Type]<CR><LF>DownloadError :<1F> [RemoteErrorSet]<CR><LF>

;<46> <JobType> [Name16Type]<CR><LF> 5.2.2.4 *)11

:<1F> [RemoteErrorSet]<CR><LF>;<46> <UserType> [Name16Type]<CR><LF> 5.2.6.4 *)11

:<1F> [RemoteErrorSet]<CR><LF>;<46> <UserAdressType> [Name16Type]<CR><LF> 5.2.6.6 *)11

:<1F> [RemoteErrorSet]<CR><LF>GetValNr ;<47> <JobType><CR><LF> 5.2.2.1 *)11

ValNrAnswer :<48> <JobType>[ValNrType][RemoteErrorSet]<CR><LF>;<47> <ReferenceType><CR><LF> 5.2.2.5 *)11

:<48> <ReferenceType>[ValNrType][RemoteErrorSet]<CR><LF>;<47> <UserType><CR><LF> 5.2.6.1 *)11

:<48> <UserType>[ValNrType][RemoteErrorSet]<CR><LF>;<47> < ClockTrimmingValType ><CR><LF> 5.2.7.9 *)11

:<48> < ClockTrimmingValType >[ValNrType][RemoteErrorSet]<CR><LF>SetValNr ;<49> <JobType>[ValNrType]<CR><LF> 5.2.2.2 *)11

DownloadError :<1F> [RemoteErrorSet]<CR><LF>;<49> <ReferenceType>[ValNrType]<CR><LF> 5.2.2.6 *)11

:<1F> [RemoteErrorSet]<CR><LF>;<49> <UserType>[ValNrType]<CR><LF> 5.2.6.2 *)11

:<1F> [RemoteErrorSet]<CR><LF>;<49> < ClockTrimmingValType >[ValNrType]<CR><LF> 5.2.7.10 *)11

:<1F> [RemoteErrorSet]<CR><LF>MeasControlDownload ;<4D> <ControlType><CR><LF> 5.2.7.2DownloadError :<1F> [RemoteErrorSet]<CR><LF>TimeRequest ;<68> <ActualTimeValType><CR><LF> 5.2.7.7TimeAnswer :<69> <ActualTimeValType>[TimeType][RemoteErrorSet]<CR><LF>TimeDownload ;<6A> <ActualTimeValType>[TimeType]<CR><LF> 5.2.7.8DownloadError :<1F> [RemoteErrorSet]<CR><LF>MeasControlRequest ;<5B> <ControlType><CR><LF> 5.2.7.3MeasControlAnswer :<5C> <ControlType><ControlType>[RemoteErrorSet]<CR><LF>Name18Request ;<71> <JobType> <CR><LF> 5.2.2.3 *)11

Name18Answer :<72> <JobType> [Name18Type] [RemoteErrorSet] <CR><LF>;<71> <UserType> <CR><LF> 5.2.6.3 *)11

:<72> <UserType> [Name18Type] [RemoteErrorSet] <CR><LF>;<71> <UserAdressType> <CR><LF> 5.2.6.5 *)11

:<72> <UserAdressType> [Name18Type] [RemoteErrorSet] <CR><LF>Name18Download ;<73> <JobType>[Name18Type]<CR><LF> 5.2.2.4 *)11

DownloadError :<1F> [RemoteErrorSet]<CR><LF>;<73> <UserType>[Name18Type]<CR><LF> 5.2.6.4 *)11

:<1F> [RemoteErrorSet]<CR><LF>;<73> <UserAdressType>[Name18Type]<CR><LF> 5.2.6.6 *)11

:<1F> [RemoteErrorSet]<CR><LF>xxxx ;<??> <??><CR><LF> 5.2.8.1COMErr :<26> <DTCOMErrType><CR><LF>