RayTek LineScanner MP150 Protocol Manual

Page 1
MP150
Linescanner
Protocol Manual
Rev. B4 Aug 2019
Page 2
Page 3
Contacts
Fluke Process Instruments
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Americas
Everett, WA USA Tel: +1 800 227 8074 (USA and Canada, only) +1 425 446 6300
solutions@flukeprocessinstruments.com
EMEA
Berlin, Germany Tel: +49 30 478 0080
info@flukeprocessinstruments.de
China Beijing, China Tel: +86 10 6438 4691
info@flukeprocessinstruments.cn
Worldwide Service
Fluke Process Instruments offers services, including repair and calibration. For more information, contact your local office.
www.flukeprocessinstruments.com
© Fluke Process Instruments Specifications subject to change without notice.
Page 4
Note: By using this manual, you agree to the following:
1. Not to sell competitive commercial products.
2. Not to reverse-engineer manufacturer´s linescanner.
3. Not to duplicate this manual.
4. Any disputes will be settled in courts local to the manufacturer or its subsidiaries.
5. To forfeit this manual upon the manufacturer´s request.
6. WARRANTY: The protocol manual is provided ”AS IS” without representation or warranty
of any kind. Seller makes no warranties with respect to the protocols. Seller, specifically, disclaims any expressed implied, written, oral or statutory warranties of design arising from dealing, trade, usage or trade practices.
Specifications subject to change without notice.
Page 5

Content

CONTENT ............................................................................................................................................................. 5

1 INTRODUCTION .............................................................................................................................................. 7
2 COMMUNICATION INTERFACES ............................................................................................................... 8
2.1 ETHERNET ..................................................................................................................................................... 8
2.1.1 Keep Alive Time .................................................................................................................................... 8
2.1.2 BootP ..................................................................................................................................................... 8
3 TRANSMISSION OF COMMANDS TO THE SCANNER ........................................................................... 9
3.1 COMMAND STRUCTURE ................................................................................................................................ 9
3.2 ANSWER ...................................................................................................................................................... 10
3.3 REQUESTING PARAMETERS FROM THE SCANNER ...................................................................................... 10
3.4 ERROR HANDLING ...................................................................................................................................... 11
4 TRANSMISSION OF TEMPERATURE LINES ............................................................................................ 12
4.1 STARTING AND STOPPING THE DATA TRANSMISSION .............................................................................. 12
4.1.1 The Receive Mode (RM): Burst or Snapshot (Host) ............................................................................. 12
4.2 THE DATA MODE (DM) ............................................................................................................................... 13
4.2.1 Byte Mode for Temperature (DMB) ...................................................................................................... 13
4.2.2 Word Mode 1 for Temperature (DMW) ................................................................................................. 13
4.2.3 Word Mode 2 for Temperature (DMWT2) ............................................................................................ 13
4.3 COUNT OF PIXEL (POINT MODE, PM) ......................................................................................................... 13
4.3.1 What to do with the Surplus Pixel (PMX) ........................................................................................... 14
4.4 LINE COMPOSITION, LINEMODE (LM) ....................................................................................................... 14
4.4.1 A Line with Frame in Burst Mode ...................................................................................................... 14
4.4.2 The Lines with Frame in Snapshot Mode ............................................................................................ 14
4.4.3 The Checksum of a Line or Snapshot ................................................................................................... 15
4.4.4 MP40 Line Modes ............................................................................................................................... 15
4.4.5 MP50 Line Modes ............................................................................................................................... 15
4.4.6 MP150 Line Modes ............................................................................................................................. 15
4.4.6.1 Line Mode 11hex ........................................................................................................................................... 15
4.4.6.2 Line Mode 12hex ........................................................................................................................................... 15
4.4.6.3 Line Mode 13hex ........................................................................................................................................... 16
5 DEDICATED COMMANDS .......................................................................................................................... 17
5.1 START-UP PARAMETER ............................................................................................................................... 17
5.2 SECTORS ...................................................................................................................................................... 18
5.2.1 Sector Position (SL, SR) ..................................................................................................................... 18
5.2.2 Sector Emissivity (SE) ........................................................................................................................ 19
5.2.3 Sector Calculation (SC) ....................................................................................................................... 19
5.2.3.1 Sector Calculation “Width” ....................................................................................................................... 19
5.2.4 The Translation of Temperature into Current .................................................................................... 20
5.2.5 How the Current / Temperature gets calculated? ............................................................................... 20
5.2.6 Sector Alarms ...................................................................................................................................... 20
5.2.7 Alarm Reset ......................................................................................................................................... 21
5.2.8 The Whole Alarm Story in State Diagrams ........................................................................................ 21
5.3 ZONES ......................................................................................................................................................... 22
5.3.1 The Zone Story in State Diagrams ..................................................................................................... 23
Page 6
5.3.2 The Hold Commands in State Diagrams ............................................................................................ 24
5.3.3 Examples ............................................................................................................................................. 25
5.4 SECTOR AND ZONE .................................................................................................................................... 25
5.5 SETTING THE EMISSIVITY ............................................................................................................................ 27
5.5.1 The Emissivity Vector (EMV) .............................................................................................................. 27
5.6 SCAN FREQUENCY STEPS ........................................................................................................................... 28
5.7 AVERAGING, COMBINING OR CONDENSING LINES (AT, AV, AVX) ........................................................ 28
5.8 SWITCHING THE LASER .............................................................................................................................. 29
5.9 FIELD OF VIEW CONSIDERATIONS ............................................................................................................. 29
5.9.1 Why the Field of View Command does not send a NAK? .................................................................. 29
5.10 RESPONSE AND EXPOSURE TIME .............................................................................................................. 30
5.11 AMBIENT TEMPERATURE COMPENSATION.............................................................................................. 30
5.12 CUSTOMER ADJUSTMENT ......................................................................................................................... 30
5.13 SERVICE COMMANDS ............................................................................................................................... 31
5.14 THE WINDOW TRANSMISSION ................................................................................................................. 31
6 DIFFERENCES MP150 – MP50 ..................................................................................................................... 32
7 APPENDIX ....................................................................................................................................................... 33
7.1 LIST OF USER COMMANDS ......................................................................................................................... 33
7.2 TETRAGON-ZONES ..................................................................................................................................... 39
7.3 IO-MODULES (WAGO) ............................................................................................................................... 42
7.4 DOUBLING OF LINES .................................................................................................................................. 42
Page 7
Introduction
MP150 Protocol Rev. B4 Aug 2019 7

1 Introduction

For many applications, the scanner can be easily configured with the help of the factory distributed software. In other applications, it would be more useful to integrate the scanner into a larger system or customize it for specific measuring tasks.
The scanner is programmed via its serial and the Ethernet interface to configure it to specific measurement applications.
This manual describes the structure of the different commands and their effect on the scanner functions.
With further development of the scanner, deviations from this manual may occur. However, it is the manufacturer’s intent to maintain forward compatibility with newer versions.
As the scanner rarely checks commands, it is up to the programmer to provide proper command syntax.
Descriptions of the serial and the Ethernet interface are available through computer.
The command interface of the MP150 derives from (is compatible to) the MP50 – this might explain some structures in the commands.
The structure of this description is as follows:
It starts with the command structure (section 3),
followed by the structure of interesting temperature data lines (section 4),
followed by detailed information for dedicated commands (section 5),
and ends with a list of all commands (section 7).
Page 8
Communication Interfaces
8 Rev. B4 Aug 2019 MP150 Protocol

2 Communication Interfaces

The MP150 scanner communicates via RS485 or the Ethernet interface. After scanner start-up, both interfaces will be active and will remain active. Though two interfaces are available only one should be used at a time. Using both interfaces at the same time may create undefined results!
For more information about the Ethernet and RS485 interface, see the MP150 manual
“Operating Instructions”!

2.1 Ethernet

2.1.1 Keep Alive Time

The scanner has built-in support for keepalive. The procedures involving keepalive use three user­driven variables:
tcp_keepalive_time: the interval between the last data packet sent (simple ACKs are not
considered data) and the first keepalive probe; after the connection is marked to need keepalive, this counter is not used any further.
tcp_keepalive_intvl: the interval between sub sequential keepalive probes, regardless
of what the connection has exchanged in the meantime.
tcp_keepalive_probes: the number of unacknowledged probes to send before
considering the connection dead and notifying the application layer.
The default values are: 240 10 6; which mean after 240 seconds the scanner will send 6 probes with an interval of 10 seconds, so after 5 minutes a broken connection will be closed.

2.1.2 BootP

Getting the IP-Address via BootP the BootP Client
Since firmware version 3.43 a BootP client is “asking” for an IP-address if no connection was established.
The implantation is done following the RFC 951 Bootstrap Protocol.
Page 9
Transmission of Scanner Commands
MP150 Protocol Rev. B4 Aug 2019 9

3 Transmission of Scanner Commands

Commands serve to setup functional modes and parameters in the scanner.

3.1 Command structure

Commands are generally transmitted from the PC to the scanner, and have the following format:
SOH Operation Code [Sector] [Parameter] EOT BCC
The [Operation Code] and [Parameter] are to be find in section 7.1 and the [Sector] is described in section
5.2.
The frame (composed of SOH, EOT and BCC) may be left out, but should be used in the RS485 connection to avoid communication errors. (The predecessor MP50 did require the frame.) If a command was sent with the frame, then the scanner will answer with the frame. The decision with/without frame is made at the first sign (SOH or not SOH).
These ASCII control characters used in the protocol with their associated decimal and hexadecimal values are the following:
Control character
decimal
hexadecimal
SOH
„start of heading”
01D
01H
STX
„start of text”
02D
02H
EOT
„end of transmission”
04D
04H
ACK
„acknowledge”
06D
06H
NAK
„negative acknowledge”
21D
15H
SYN
„synchronous idle”
22D
16H
EOF
„end of file”
26D
1AH
ETB
„end of transmission block”
23D
17H
ESC
„escape”
27D
1BH
During command and parameter transmission, transmission reliability is checked with a Block Character Checksum (BCC).
The BCC is transmitted as the last byte of the command or parameter string. The BCC is a modulo 256 sum of all previously transmitted characters and bitwise OR-ed with 80H or 128D (to set the highest bit of the BCC).
Example (send the command AR):
SOH 01H
”A” 41H ”R” 52H
+ EOT 04H
BCC = 98H and afterwards, bitwise OR-ed with 80H yields (which, in this case, does not change the byte’s value): BCC = 98H
Page 10
Transmission of Scanner Commands
10 Rev. B4 Aug 2019 MP150 Protocol

3.2 Answer

After transmission of the BCC, the scanner will reply with either ACK, NAK or ETB. These replies have the following meanings:
ACK - The command contains the proper syntax and is acknowledged by the scanner. NAK - There are syntax errors in the command, or the BCC is wrong– it will not be acknowledged. The
wrong command does not cause changes in the scanner. It has to be corrected and/or repeated.
ETB - The internal diagnosis software in the scanner has spotted an error. This error must be corrected,
and thereafter, the command must be repeated as it could not be implemented due to the scanner error.

3.3 Requesting Parameters from the Scanner

The retrieval of previously defined functions and parameters is possible using the following format:
SOH ”G” Operation Code [Sector] EOT BCC
The method of defining the operation code for retrieval of parameters is similar to the setting of the parameters. The operation code is prefixed by a ”G” (for ‘Get’).
For sector parameter requests, the sector number must be present after the command code.
After transmitting the BCC, the scanner will reply with ACK, NAK or ETB in the same way it does when issuing commands (see section 3.2). These replies have the same meaning as during the transmission of commands, and NAK / ETB have the same handling requirements.
After replying ACK, the scanner will transmit the parameter(s), using the same format as the PC does when issuing a command. However, the scanner does not require an ACK or NAK signal from the PC. For example, if transmission of the current line count is desired, the computer requests the parameter by issuing:
SOH ”GLC” EOT BCC
If the transmission is correct the scanner will reply:
ACK SOH ”TR1” EOT BCC
Should any error occur in the checksum, the parameter request should be repeated.
Page 11
Transmission of Scanner Commands
MP150 Protocol Rev. B4 Aug 2019 11

3.4 Error Handling

If the scanner, upon a command or a parameter request, answers ETB instead of ACK/NAK, an error in the scanner has occurred.
After the acknowledgment signal ETB from the scanner, indicating an error, the scanner only accepts the error status parameter request: GES which it will respond as described in section 3.3: ES<error code>.
The meaning of the <error code> is given in table Table 1.
If other commands or parameter requests are transmitted, the scanner will continue to respond with ETB; with the exceptions:
GES to get the error,
CC to switch to the calibration mode. In the Calibration mode this ETB-behaviour is switched
off.
The command itself will still be executed, even if it answers with ETB only.
In case of recoverable errors, the reset of the error message is possible, and continued operation may be achieved by issuing the command ES.
The following errors are defined and can be asked for using the GES command. Bit positions of multiple errors are or-ed up in the answer as described below the table.
error bit
hexadecimal representation
Description
What is to do?
reflected in the ETB­answer
0
1hex
checksum error in the user parameter section
PS
yes 1 2hex
checksum error in the calibration parameter section
%PS
yes 2 4hex
checksum error in the temperature table section
%TTS
yes
3
8hex
device in warm-up
wait some minutes
no 4
10hex
bias voltage out of range
service
yes
5
20hex
checksum error in the service parameter section
service / may be ignored
no
6
40hex
detector cooler voltage out of range
device may be too warm; if not ­service
yes
7
80hex
internal temperature over range
cooling
no
30
40000000hex
no zero-pulse is arriving from the encoder – probably the motor is not rotating
service
yes 31
80000000hex
motor is rotating but no data is arriving at the ad-converters
service
yes
Table 1
Example 1: active error bits 0, 1, 30 result in the answer 40000003 (1hex + 2hex + 40000000hex)
Example 2: active error bits 0, 1, 3 result in the answer: Result / answer: 1hex + 2hex + 8hex = Bhex
Page 12
Transmission of Temperature Lines
12 Rev. B4 Aug 2019 MP150 Protocol

4 Transmission of Temperature Lines

A scanned line is composed of a count of temperature points which will be termed a ‘pixel.’ Depending on the point mode the data transmission can have lines of 64, 128, 256, 512 or 1024 pixels and, depending on the data mode, a pixel can be represented with 1 or 2 bytes.
The data transmission depends on previous commands which define options and parameters. It is defined by:
The Data Mode (DM): it defines the type of information that will be sent as a “pixel”, see section 4.2
The Point Mode (PM): it defines the count of pixel within the 90° field of view, see section 4.3
The Line Mode (LM): it defines the frame around the pixel data and some data that can be appended
onto the line, see section 4.4
The Receive Mode (RM): it switches between continuous transmission (“Burst Mode”) and the
transmission of requested snapshots (“Host Mode”).
The Line Count (LC): defines the count of lines per snapshot.
The composition of the response is described in section 4.4. The parameters/options that change this composition are described in the following subsections.

4.1 Starting and Stopping the Data Transmission

The request of temperature lines by the PC is always initiated by transmitting STX. The scanner will respond to the request with a SYN. As soon as the data is processed into temperatures, transmission will begin. (The transmission may be delayed several seconds if the averaging value is high.) If the scanner receives an ESC, its data transmitting is halted, and the scanner’s internal data buffer is cleared. Then, the scanner will be ready for new commands, parameters and data requests. As it takes a short amount of time for the scanner to complete the buffer clearing process, there may be some data streaming from the scanner up to half a second after sending ESC.

4.1.1 The Receive Mode (RM): Burst or Snapshot (Host)

There are two modes to handle the initiation of data transmission:
Host Mode (RMH): Requesting of snapshots with a predefined length (Line Count)
Burst Mode (RMB): Requesting a continuous stream of lines
Both are started with sending a STX to the scanner. The scanner will respond to the request with a SYN.
Set to host mode an additional trigger condition (set with the command Zone Mode ZM) can be given to synchronise the transmissions start with an event. Once started the transmission will stop after the count of lines which was defined with the LC command or by sending an ESC character. Each new snapshot needs a STX character to be sent.
This host mode was implemented with the background of a very slow data channel (the transmission rate can be lower than the data generation rate). The lines that cannot be transmitted will be buffered and a new snapshot cannot be initiated until the complete snapshot will have been transmitted.
Set to burst mode the transmission will start without any condition after having transmitted the STX character. Once started the transmission will stop with sending an ESC character.
Page 13
Transmission of Temperature Lines
MP150 Protocol Rev. B4 Aug 2019 13
In this mode no buffering takes place to cope with a slow transmission rate: Pending lines will be discarded.

4.2 The Data Mode (DM)

The data mode defines the type of information that will be sent as a “pixel”. The following modes are
defined:

4.2.1 Byte Mode for Temperature (DMB)

In this mode the pixel data contains temperatures which are scaled to eight bits. It is compatible to the MP50. The following formula should be used to translate the received data back to temperatures:
T = DataByte * (T
max
– T
min
) / 255 + T
min
T
min
is set with the command SB0<T
min
> .
T
max
is set with the command ST0<T
max
> .

4.2.2 Word Mode 1 for Temperature (DMW)

In this mode the pixel data is built up of two bytes (the least significant byte first). They give the temperature in °C. This mode is compatible to the MP50. (Example: 13hex, 02hex = 531°C)

4.2.3 Word Mode 2 for Temperature (DMWT2)

In this mode the pixel data contains temperatures which are built up of two bytes (the most significant byte first). They give the temperature scaled to 16 bit. It extends the MP50 mode DMB to get a higher resolution.
The following formula should be used to translate the received data back to temperatures:
T = DataWord * (T
max
– T
min
) / FFFF
hex
+ T
min
T
min
is set with the command SB0<T
min
> .
T
max
is set with the command ST0<T
max
> .

4.3 Count of Pixel (Point Mode, PM)

The point mode (PM) defines the count of pixel within the 90° field of view. Possible are: 64, 128, 256, 512 and 1024 pixel. It is limited by the following equation:
countOfPixels * scanFrequency * 90° / fieldOfView <= 512pixel * 80Hz
The programmer is responsible to meet this equation – the scanner will not change any of these three parameters with setting another one (see also section 5.9.1).
Page 14
Transmission of Temperature Lines
14 Rev. B4 Aug 2019 MP150 Protocol

4.3.1 What to do with the Surplus Pixel (PMX)

The scanner hardware samples always:
1024 pixel at scan frequencies lower than 40 Hz,
512 pixel at scan frequencies lower than 80 Hz and
256 pixel above.
This raises the question: What to do with the surplus pixel if less pixels get transmitted? For that the PMX command extends the PM command with the option to decide that the surplus pixel shall be omitted or used to calculate the average / maximum / minimum.
If the PM command is used instead of the PMX command it sets implicitly the omit function.

4.4 Line Composition, LineMode (LM)

The Line Mode (LM) defines the frame around the pixel data and some data that can be appended onto the line. The following two sub-sections give the complete structure of a data line. The previous scanner versions did not support all components of this structure; the omissions are described in the section 4.4.4.

4.4.1 A Line with Frame in Burst Mode

This is the format of data sent from the scanner to the PC in Burst Mode:
SYN+{Line}
with:
{Line} = Line + [Line] + [Line] + …
Line = [FrameStart]+Pixeldata+[TempIntern]+[Sektorinfos]+[Triggerbyte]+[Checksum] SYN = 16hex (22dec), FrameStart = 16hex (syn), FFhex, 10hex, FFhex Pixeldata = as described in section 4.3 TempIntern = one byte for the internal Temperature in °C, not send in line mode 8 Sektorinfos = 2 Bytes for current output 1 (LSB first!)
2 Bytes for current output 2 (LSB first!)
2 Bytes for current output 3 (LSB first!) Triggerbyte = one byte which is 1 if the external trigger pin is active otherwise 0 Checksum = two-byte check sum (low, high), calculation starts after FrameStart

4.4.2 The Lines with Frame in Snapshot Mode

This is the format of data sent from the scanner to the PC in Snapshot Mode:
SYN+{Line}+Lastline
with:
{Line} = Line + [Line] + [Line] + …
Line = [FrameStart]+Pixeldata+[Triggerbyte]+[Checksum] Lastline = FrameStart]+Pixeldata+[TempIntern]+[Sektorinfos]+[Triggerbyte]+[Checksum] SYN = 16hex (22dec), FrameStart = 16hex (syn), FFhex, 10hex, FFhex Pixeldata = as described in section 4.3 TempIntern = one byte for the internal Temperature in °C, not send in line mode 8 Sectorinfos = 2 Bytes for current output 1 (LSB first!)
2 Bytes for current output 2 (LSB first!)
Page 15
Transmission of Temperature Lines
MP150 Protocol Rev. B4 Aug 2019 15
2 Bytes for current output 3 (LSB first!) Triggerbyte = one byte which is 1 if the external trigger pin is active, 0 otherwise Checksum = two-byte check sum (low, high), calculation starts after FrameStart

4.4.3 The Checksum of a Line or Snapshot

The Checksum of a line or snapshot is calculated as the sum of all eight-bit-characters, starting after FrameStart. The sum is limited to a 16-bit number – so it should be cut (in C code: sum &= 0xFFFF).

4.4.4 MP40 Line Modes

LM = 0: no [Sektorinfos] to Line Transfer LM = 1: [Sektorinfos] contains Sector Values LM = 2: [Sektorinfos] contains Zone Values LM = 5: Sector Values (like LM =1) with bit 15 = Sector Alarm, bit 14 = serial Alarm LM = 6: Zone Values (like LM =2) with bit 15 = Zone Alarm, bit 14 = serial Alarm
Taking the composition from the preceding sections as basis these modes omit the elements [FrameStart], [Triggerbyte] and [Checksum].

4.4.5 MP50 Line Modes

LM = 8 ... Fhex differ from line modes 0 ... 6 in providing the additional framing. They should be used at least for the communication via RS485. (Unlike Ethernet the RS232 itself has no mechanism against communication errors.)

4.4.6 MP150 Line Modes

4.4.6.1 Line Mode 11hex
LM = 11hex: the six bytes of the traditional sector values are changed in their contents:
previous current output 1:
internal temperature in hundredth of °C (MSB first!),
previous current output 2:
If background temperature compensation via voltage input is configured then it contains the background temperature (as integer in °C) calculated from the voltage, otherwise it contains the voltage. This field may be extended if the functions of the voltage input get extended – so please use it in conjunction with its configuration!
previous current output 3:
error bits (see section 3.4 Error Handling, page 11) Note: Error bit 31 and 30 are right shifted 16 bits, because the field here only consists of 16 bits, in contrast to the original error value with its 32 bit.
4.4.6.2 Line Mode 12hex
LM = 12hex changes the first 2 bytes of LineMode 11hex from the internal temperature (it is already contained with less resolution) to a snapshot/line counter:
Sectorinfos = 2 Bytes for snapshot/line counter
2 Bytes for background temperature / voltage input
2 Bytes for error bits (see section 3.4 Error Handling, page 11)
Page 16
Transmission of Temperature Lines
16 Rev. B4 Aug 2019 MP150 Protocol
[snapshot/line counter]: counts the lines in burst mode and the snapshots in snapshot mode
[background temperature / voltage input]: If background temperature compensation via
voltage input is configured then it contains the background temperature (as integer in °C) calculated from the voltage, otherwise it contains the voltage.
[error bits]: error bits (see section 3.4 Error Handling, page 11)
4.4.6.3 Line Mode 13hex
LM = 13hex extends LineMode 11hex in the traditional field [Sectorinfos]. The first 6 bytes remain as in Line LineMode 11hex, they get extended by additional bytes:
Sectorinfos = 2 Bytes for snapshot/line counter
2 Bytes for background temperature / voltage input 2 Bytes for error bits (see section 3.4 Error Handling, page 11)
2 Bytes for result sector/zone 0 2 Bytes for result sector/zone 1 2 Bytes for result sector/zone 2 2 Bytes for result sector/zone 3 2 Bytes for result sector/zone 4 2 Bytes for result sector/zone 5 2 Bytes for result sector/zone 6 2 Bytes for result sector/zone 7 2 Bytes for result sector/zone 8 2 Bytes for result sector/zone 9
[snapshot/line counter]: counts the lines in burst mode and the snapshots in snapshot mode
[background temperature / voltage input]: If background temperature compensation via
voltage input is configured then it contains the background temperature (as integer in °C) calculated from the voltage, otherwise it contains the voltage.
[error bits]: error bits (see section 3.4 Error Handling, page 11)
[result sector/zone N]: temperature that was calculated in the zone/sector, the format is define
by the data mode (DM) command
Page 17
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 17

5 Dedicated Commands

Additional description to certain commands is given in the following section. A summary of all commands is to be found in a summarizing list of section 7.1

5.1 Start-up Parameter

While the scanner is in operation, all parameters are hold in RAM. Various protocol commands effect changes of these RAM based parameters. When powering on the scanner, parameters are transferred from Flash-ROM into RAM. Unless the PS command is issued, powering off and on the scanner will result in the original parameter values being loaded into RAM (the loss of the changed parameters). The PS command stores the changed parameters from the RAM into the Flash-ROM. By moving the changed parameters to this permanent memory, the parameters become the scanners start-up parameters.
Page 18
Dedicated Commands
18 Rev. B4 Aug 2019 MP150 Protocol

5.2 Sectors

The idea of a sector is to be seen in Figure 1. The result of a sector (minimum, maximum or average of the pixels inside of a sector) is transferred as current to the analog outputs of the scanner. Special sector commands serve to configure the analog current outputs. These commands also start with
a keyword followed by the “sector numbers” or “analog output numbers” 1, 2, or 3. Some of these
commands are applicable to digital interface parameters. The digital interface number is 0.
Figure 1

5.2.1 Sector Position (SL, SR)

The position of a sector within each line gets defined with the commands Sector Left SL and Sector Right SR. The parameters must be given as 3-digit angular positions with 0.1 degree resolution. If VF0 is set (90° field-of-view), the values must be in the range between 00.0 and 90.0 degrees, with the right edge equal or greater than the left edge. If VF1 is set (45° field-of-view), the range is 00.0 to 45.0 degrees, see section 5.9.
Example: Set left margin of 2nd sector at 27.2° - Issue command SL2272
Page 19
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 19

5.2.2 Sector Emissivity (SE)

For each sector, the emissivity may be defined for the infrared calculations with the SE command. If the sectors overlap, the emissivity of the larger sector number gets used for the overlapping area. In other words: The emissivity programmed for sector 0 (the digital interface) is only valid for the pixels that are not covered/overlapped by any of the analog sectors as the digital interface uses the analog output emissivities for the rest of the line.
As the MP150 scanner added some new emissivity functionality a special section was dedicated to this subject – please see section 5.5.

5.2.3 Sector Calculation (SC)

The sector calculation command SC defines the way the measured pixel values inside each sector and zone will be summarized. If the calculation is switched off (parameter 0 is used), the corresponding current output is not defined.
If the parameter = 1 is transmitted, the minimum temperature value within the sector or zone
will be output as a current.
If the parameter = 2 is transmitted, the maximum value will be output.
If the parameter = 3 is transmitted, the average value will be output.
Parameter 4 will give the internal temperature information to the current output
(command: SCn4). Therefore, the sector bottom must be set to 0 (for an output current draw 0 mA) and the sector top to 60 (for an output current draw of 20 mA) by: SBn0000, STn0060
5.2.3.1 Sector Calculation “Width”
The sector calculation “width” is a special case, where the edges of the sector get determined by the
scanner and thus are not fixed. The assumption is that the scene to measure equals a plateau with a distinct rising edge and a correspondent falling edge.
The left, rising edge gets set at the position where the temperature crosses the first time the threshold:
(avg + max) / 2
The right, falling edge gets set at the position where the temperature crosses this threshold the last time. Figure 2 shall give an illustration:
Figure 2
The result (and the output as a current) is the width between the two edges. To give this result in pixels would not help because the pixels have a constant distance in angle – the width of the plateau would vary with its position in the scene. So, the result gets corrected for a plain scene and a generic distance. In addition, it is multiplied by 8192 to get rid of floating-point numbers.
Page 20
Dedicated Commands
20 Rev. B4 Aug 2019 MP150 Protocol
To get the width from the result sent via Ethernet you must use the following formula:
Width = result * (2 * Distance_Scanner_Object) / 8192
To get the width from the current output you must use the following formula:
Width = (I – SZ) / (SM – SZ) * (2 * Distance_Scanner_Object)
Where SZ (command Sector Zero) is usually 0/4 mA and
SM (command Sector Max) is usually 20 mA.
The commands SL and SR do lose their traditional function.
SL is not used, and
SR gives an offset in pixels to move the edges in the direction of the plateau centre.
The commands SB and ST do lose their traditional function too. They are fixed to 0 and 8192, the result will be in this range.
Please take care with the offset! It adds inaccuracy to the result. The width of the plateau becomes dependent on its position in the viewing field.

5.2.4 The Translation of Temperature into Current

The current output is defined by:
the minimum temperature of the sector (command SB)
the maximum temperature of the sector (command ST)
the current corresponding to the minimum temperature (command SZ)
the current corresponding to the maximum temperature (command SM)

5.2.5 How the Current / Temperature gets calculated?

The current / temperature gets calculated using the formula:
Temperature = (ST – SB) / (SM – SZ) * (Current – SZ) + SB Current = (SM – SZ) / (ST – SB) * (Temperature – SB) + SZ

5.2.6 Sector Alarms

For each analog output and subsequently for each sector, an alarm condition can be defined (using the commands Trigger Top TT and Trigger Bottom TB). Equally, an alarm condition can be defined for the digital interface too (sector 0). These conditions are independently integrated such that the alarm will be activated as soon as any one of the conditions is fulfilled. The result of this integration is requested by the command GAR. If at least one alarm condition is fulfilled, the command will return AR1, otherwise it will return AR0.
Example: To set an upper alarm limit for sector 1 at 200°C: TT10200.
Page 21
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 21

5.2.7 Alarm Reset

This command allows an overriding reset of the alarm. Without this command, the alarm will be switched off, as prescribed by the TM command, using a timer or an external trigger signal.

5.2.8 The Whole Alarm Story in State Diagrams

The following set of commands defines the alarm behaviour: TM, TZ, TT, TB, AF, AR, EF, RC and SC to get the sector result which will be tested for the alarm limits.
The follow state diagram shall show the function of each.
Figure 3: Alarm State Machine
One should keep attention to the RC command! It overwrites the output of the alarm state machine! (But, to reduce problems it gets not saved, it will always be: RC==A after reset.) The alarm is switched off if TB = TT (both alarms) or TB = RB (low limit alarm) or TT = RT (upper limit alarm).
Page 22
Dedicated Commands
22 Rev. B4 Aug 2019 MP150 Protocol

5.3 Zones

A sector is calculated for each line; its result is bound to one line. If the result is calculated for multiple lines then the sector becomes a “Zone”, see Figure 4.
Figure 4
These commands are used to control the zone functions at the analog outputs, and to define the snapshot mode for the digital interface:
ZD, ZM, ZW, ZZ, ZT, TF
ZM switches the zone mode on/off and defines the conditions necessary to initiate a zone. The parameter 0 switches the zone mode off (turns off averaging, minimum or maximum between lines of the analog
output as prescribed by SC). When using the parameter 0 for the digital interface, the LC value will determine the number of lines returned when an STX is sent.
The parameter 1 starts the zone with a timer for a cycle time given with command ZZ.
The parameter 2 starts the zone with the external trigger signal.
The parameter 3 starts the zone if the temperature threshold, given with command ZT, is crossed. The transition direction is given with the command TF: If the TF (temperature transition direction) is set to a 1, the zone will start as soon as one pixel moves above the ZT temperature provided that the zone has been reset by having all its pixels below the ZT temperature.
For a new zone to occur, a reset must occur. If the parameter 2 is used for TF, the opposite temperature transition conditions will activate/reset zones.
Zone Intervall
Zone Time
Conveyor Belt
Delay Time
Sector
Scanner
Page 23
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 23
The time duration of the zones is defined by the command ZW. After recognizing the zone start conditions, a delay time (before the zone actually starts) may be added. The delay time is given with the command ZD.
Some of the commands can also be used for the digital interface where they serve to implement the snapshot function. However, the number of lines belonging to a snapshot is not programmed by ZW but with LC (line count). Starting conditions are the same as for zone start, but an STX data request is required as a reset condition before the zone start can be determined. The delay time ZD for the digital interface zone will also be applied when digital zone mode 0 (ZM00) is used. This means, after an STX data request, there will be a zone delay time before the data is accumulated. (To make more efficient use of the maximum speed of the scanner and of the serial interface, the parameter ZD for the digital interface is normally set to be 0 during normal operation.)

5.3.1 The Zone Story in State Diagrams

The command set for zones (ZM, ZD, ZW, ZZ, ZT, TF) was described verbally in the preceding section. As it seems easy to lose the overview in this set the follow state diagrams shall show the function of each parameter graphically.
Figure 5
Page 24
Dedicated Commands
24 Rev. B4 Aug 2019 MP150 Protocol

5.3.2 The Hold Commands in State Diagrams

The result of a section or zone can be hold using the following set of commands that defines the hold behaviour: HM, HV, HT, EF
The follow state diagrams (Figure 6) shall show the function of each.
Figure 6: The hold state machine
Page 25
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 25

5.3.3 Examples

Set Sector 2 to be temperature actuated: Send command ZM23 with a zone duration time of 2.4 s: Send command ZW20024 starting after a delay of 1.7 s: Send command ZD20017 after exceeding the setpoint: Send command TF21 temperature of 123°C: Send command ZT20123
Setup a 100 line snapshot (in host mode): Send command LC100 and initiate it to work by time: Send command ZM01 cycling every 70 seconds: Send command ZZ00700 starting after 1.6 s delay: Send command ZD00016
Setup a 256 points per line (in host mode): Send command PM3 by 100 lines snapshot: Send command LC100 initiate it by temperature: Send command ZM03 increase: Send command TF01 over 30°C: Send command ZT00030
Don’t use averaging: Send command AV0 use a scale max of 180°C: Send command ST00180 and a scale min of 23°C: Send command SB00023

5.4 Sector and Zone

It is distinguished between sectors and zones. There are:
Sectors if the line count is set to 1 (LC001).
Zones if the line count is set greater as 1.
Internally a sector is a zone of length 1. So a sector can be given by the SL and SR commands (known from the MP50) or by the more generic ZP command with yn = 1 : ZP n c x1 1 x2 1 x3 1 x4 1
The following commands are used for sectors and zones even though they have the “sector” in its name:
SB
“sector bottom”
temperature maximum of sector/zone with build in current output
IO_SB
“sector bottom”
temperature maximum of sector/zone with external module for current output
ST
“sector top”
temperature maximum of sector/zone with build in current output
IO_ST
“sector top”
temperature maximum of sector/zone with external module for current output
SZ
“sector zero”
reference current for sector bottom of sector/zone with build in current output (not available with external module for current output)
SM
“sector max”
reference current for sector top of sector/zone with build in current output (not available with external module for current output)
Page 26
Dedicated Commands
26 Rev. B4 Aug 2019 MP150 Protocol
Zones are defined in relation to zone 0, the complete snapshot (given by the pixel per line and the line count). The following figure illustrates this:
Zone 0
Zone 1
x1 y1
x2, y2
x3, y3 x4, y4
Zone 2
90° field of view
line count
Page 27
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 27

5.5 Setting the Emissivity

There are the following ways to set the emissivity:
Setting the emissivity of sector 0, the “sector” for the digital interface.
Setting the emissivity of sector 13, the sectors for the analog interface.
Setting the emissivity for each pixel with an emissivity vector (command EMV).
Setting the emissivity using the voltage input of the scanner (commands ESrc, ERange)
The emissivities are handled with the following priorities:
The emissivity of sector 0 gets overwritten by the emissivities of sector 1...3.
If the emissivity vector is used all sector emissivities are overwritten by that vector.
If the voltage input is configured as emissivity source, then the value calculated out of the
voltage input (using ERange) overwrites all others above.

5.5.1 The Emissivity Vector (EMV)

It is possible to give every pixel its own emissivity, using the command EMV. The syntax of this command differs a little from all other commands to allow its handling with a terminal program too.
The vector is given with: EMV <emissivitiesVector>. wherein <emissivitiesVector> gives the 1024 emissivities (or at least as much as are used, corresponding to the count of pixels) as floating-point numbers.
(Example: EMV 0.1 0.304 ... 1.0)
It is possible to set all emissivities to one value: EMV all <emissivity>. (Example: EMV all 0.95)
The use of the emissivity vector can be switched off by: EMV off.
To get the emissivity vector the command GEMV is used. It adds newline- and return-characters to the numbers to achieve a better reading in a terminal.
With: GEMV actual the currently used emissivities are shown. This allows to check the priorities of the concurrent methods to set the emissivity.
Page 28
Dedicated Commands
28 Rev. B4 Aug 2019 MP150 Protocol

5.6 Scan Frequency Steps

Due to the digital steps of the timer used to generate the reference frequency for the motor controller only the following steps for the scan frequency are available:
TimerValue
ScanFrequency [Hz]
5
151,5
6
126,2
7
108,2
8
94,7 9 84,1
10
75,7
11
68,8
12
63,1
13
58,2
14
54,1
15
50,5
16
47,3
17
44,5
18
42
19
39,8
20
37,8
21
36
22
34,4
23
32,9
24
31,5
25
30,3
26
29,1
27
28
28
27
29
26,1
30
25,2
31
24,4
32
23,6
33
22,9
34
22,2
35
21,6
36
21
37
20,4
38
19,9

5.7 Averaging, combining or condensing Lines (AT, AV, AVX)

Using the commands AT (averaging time) or AV (lines to average) or AVX (lines to condense) it is possible to condense multiple lines. The given lines will be condensed to one resulting line – the output frequency will reduce to 1 / avgTime.
The following options are available:
Averaging: The pixels of the x consecutive lines will be averaged.
Maximum: The maximum of the pixels of the x consecutive lines will be taken.
Minimum: The minimum of the pixels of the x consecutive lines will be taken.
Page 29
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 29
Advanced Average: The maximum and the average of the pixels of the x consecutive lines will
be calculated. An additional parameter y gives the threshold for the following selection: If |max[pixel] avg[pixel]| > y then max is taken, otherwise avg. I y = 0 then the system will take its own threshold which bases on the estimated noise.
In addition to averaging over multiple lines it is possible to average pixel within one line if not the full resolution is used; please refer to section 4.3.1. This processing is executed before the calculation of sectors and alarms, to increase the signal-to-noise ratio of the system.

5.8 Switching the Laser

The laser is controlled with the command XL:
XL1 and XL0 will switch the laser on and off.
XLT allows switching the laser with the trigger input. The first trigger impulse (of at least 1sec)
will switch it on and the following one will switch it off.
The laser is switched off automatically after 10 minutes and outside the temperature range of 5 to 50°C (41 to 122°F).

5.9 Field of View Considerations

The field of view can be switched between 45° and 90°, with the following limitations (which are mainly caused by the motor encoder):
countOfPixels * scanFrequency * 90° / fieldOfView <= 512pixel * 80Hz
The following table shows the consequences of this equation:
<= 40 Hz
<= 80 Hz
> 80 Hz
45°
max. 512 pixel
max. 256 pixel
max. 128 pixel
90°
max. 1024 pixel
max. 512 pixel
max. 256 pixel
In addition we can state:
countOfPixel
45°
<= countOfPixel
encoder
/ 2
with countOfPixel
encoder
: 1024 (<= 40 Hz), 512 (<= 80 Hz) and 256 (> 80 Hz)
With the MP150 and Ethernet the 45° mode is depreciated. In the MP50 it did really raise the resolution – in the MP150 it makes only sense to reduce the amount of data to be sent.

5.9.1 Why the Field of View Command does not send a NAK?

A program which configures the scanner will usually work with a list of commands and the order of commands in this list is usually fixed. Imagine two cases:
a) The list is VF1, PM3 (45°, 256) and the scanner is at this moment configured to 90°, 512. If the
scanner would send a NAK the program (with its fixed list) would generate an error after sending VF1 and would never start with this scanner.
Page 30
Dedicated Commands
30 Rev. B4 Aug 2019 MP150 Protocol
b) Ok we change the order. Let the list be: PM4, VF0 (512, 90°) and the scanner is at the moment
configured to 45°, 256. Now the scanner would answer with a NAK after PM4 and we run into the same problem.
The problem becomes even more complicate because the FQ command is in this set of dependencies too. As conclusion it was decided to let the scanner accept the “wrong” command in the hope that the correction will follow up. The dependencies must be checked by the programmer.

5.10 Response and Exposure Time

The response time of the scanner can be calculated with: 1 / scanFrequency + 20 ms.
The exposure time is given by: 1 / scanFrequency.
So, at 150 Hz a signal has to have at least 7 ms to be recognized and it can take up to 27 ms to have this signal at an analog output.

5.11 Ambient Temperature Compensation

The ambient radiation gets reflected from the object with the factor 1-emissivity. In the standard temperature calculation, the background temperature is assumed to be equal to the internal temperature of the scanner. The more the background temperature differs from the internal temperature and the lower the emissivity of the object the higher the error will be that the reflected ambient radiation takes into the measurement. To correct this, influence the background temperature can be given to the scanner. Two ways are available:
A fixed background temperature can be set with the commands:
AC1 A<ambientTemperature>
The background temperature can be given as a voltage using the commands:
AC2 AL<bottomRange> AH<topRange>

5.12 Customer Adjustment

The customer adjustment is a last option to adapt the temperature reading to the customers process. The first option is, the standard parameters to achieve this are: emissivity, window transmissivity and background temperature. Please use the customer adjustment only if these parameters should not lead you to correct temperatures.
Caution: the customer adjustment is calculated on the “temperature side” of the internal calculation.
This means it changes if you change the emissivity.
Page 31
Dedicated Commands
MP150 Protocol Rev. B4 Aug 2019 31
The command:
CCali <count> <factoryTemperature1> <customerTemperature1> ... <factoryTemperature
count
> <customerTemperature
count
>
If a customer adjustment should be reset it is done using the same command with:
CCali 0 0.0 0.0
To ask if there is a customer adjustment in the device use the command: GCCali
To store the adjustment permanent in the device use: PS

5.13 Service Commands

The device will write down to the Flash-ROM its maximal/minimal internal temperature, its runtime accumulated and the longest runtime without restart. They can be inquired with GSP. The device will answer with:
SP<runtime in hours> <max. runtime without reset in hours> <min. temperature> <max. temperature>
As Flash-ROM is limited in its erase-write-cycles writing takes place under the following conditions:
Every two hours.
If the internal temperature gets over 55°C (131°F).
With the set command.
Unfortunately there is the need to have a set command for it (a new firmware boot-loaded may change its memory address.):
SP <runtime in hours> <max. runtime without reset in hours> <min. temperature> <max. temperature>
The set command returns immediately but it might take up to 10 seconds that the save takes place. It can be used in calibration mode only.

5.14 The Window Transmission

The device has three transmission commands. The first allows the user to adjust for additional windows. The remaining two are used to allow the change of the standard window in the field. In detail:
TA: for an additional window
%TA: gives the transmission of the window that was used for calibration, used to generate the
temperature tables
TAW: gives the transmission of the spare part window.
For the first window is: %TA == TAW.
Page 32
Differences MP150 – MP50
32 Rev. B4 Aug 2019 MP150 Protocol

6 Differences MP150 – MP50

The PS command takes more time to return (max 3 sec.).
The MP50 did not send the trigger byte as described in the manual. With 5 V at the input it sends
0 and with 0 V it sends 1 - it is described opposite. The MP150 is doing it like the manual says: 5 V - 1 and 0 V – 0.
The GBR command answers with BR9600 instead of BR09600 (what MP50 does).
Page 33
Appendix
MP150 Protocol Rev. B4 Aug 2019 33

7 Appendix

7.1 List of User Commands

In this table the interface (sector) refers with n = 13 to the analog outputs and n = 0 to the digital interface output.
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
Poll parameter
G
G<code>
Example: GES
Ambient temperature for ambient radiation correction
A
float
In case of AC1 this parameter defines the background temperature in the range of: min. range ... max range.
27.0
3.20
Ambient compensation Control
AC d d = 0 ... no compensation d = 1... with compensation by command d = 2... with compensation by the voltage input
0
3.20
Alarm Flag
AF
nd
n=0..3: sector/interface d=0: reset the alarm flag d=1: set the alarm flag, it will be held according to the hold mode
0 Ambient compensation bottom (Low) range
AL
integer
In case of AC2 this parameter defines the temperature that corresponds to 0 V at the voltage input.
min. range
3.21 Ambient compensation top (High) range
AH
integer
In case of AC2 this parameter defines the temperature that corresponds to 5 V at the voltage input.
max. range
3.21 Alarm Reset
AR - Resets all alarm flags, like AF n0 for all n
-
Accumulation Time
AT
dddd
averaging time in tenth of a second
0
MP50: limited to 6000 (600 s)
Accumulation Lines
AV
integer
Has the same effect as AT but is more precisely by giving the lines instead of time. Limited to 9000 lines.
0
Condense N-to-1 Lines
AVX
n x y
Has the same effect as AV, but offers the option to average, maximum or minimum n = n lines to condense (like for AV) x = 0: calculate the average (like AV n) x = 1: take the maximum x = 2: take the minimum x = 3: advanced maximum with y as threshold
0 0 0
3.30
BootP Client
BootPClient
d
d = 0: switch off d = 1: switch on
1 (on)
3.43
Page 34
Appendix
34 Rev. B4 Aug 2019 MP150 Protocol
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
Baud Rate
BR
integer
The following baud rates are supported: 9600, 57600, 115200 (=115), 230400 (=230) It takes one second until the device will answer on the new baud rate.
9600
MP50: no support for 150, 300, 600, 1200, 2400, 4800, 19200, 28800
Customer Calibration
CCali
d v
d=count of values in v v=vector of pairs of temperatures
off
3.47
Checksum type
CHK s bcc: block check sum (only bcc was implemented)
bcc
Data Mode
DM
B
Temperature scaled to eight bit
B
W
16 bit temperatures, in °C with 1K resolution
WT2
Temperature scaled to 16 bit
Edge Flag
EF d d=0: HL-edge on trigger is valid d=1: LH-edge on trigger is valid
1
Error Mode
EM
nd
reaction of current outputs in case of scanner error n=1..3: sector/interface d=0: hold last value d=1: set minimum d=2: set maximum
0
Emissivity Vector
EMV
d v
d=count of values in v v=vector of emissivities (see section 5.5.1)
off
Error Status Reset
ES - Reset of error status, if possible
-
Emissivity via voltage input as Source
ESrc
string
E = emissivity from external analog input (0 V to 5 V) I = emissivity from internal (by command SE<n> or EMV)
I
3.45
Emissivity range via the voltage input
ERange
float float
In case of ESrc E the parameters define:
1. the emissivity that corresponds to 0 V at the voltage input
2. The emissivity that corresponds to 5 V at the voltage input
0.0 1.0
3.45
Load Factory Defaults
FD Loads factory defaults into RAM
-
Scan FreQuency
FQ
ddd
scan frequency ddd = 20 … 150
50 GetAlarmFlag
GAR
Returns main alarm Flag
-
Get Calibration Date
GCD
Returns the calibration date (ddmmyyyy)
-
Get scanners Configuration
GConfig
d
Gives the answer to: d = 1: all update-questions d = 2: all service-questions
-
Get Error Status
GES - Returns error status (hexadecimal): bit-0: checksum error in the user parameter section PS
0
Page 35
Appendix
MP150 Protocol Rev. B4 Aug 2019 35
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
bit-1: checksum error in the cali parameter section %PS bit-2: checksum error in the temperature table section %TTS bit-3: device in warm-up wait some minutes bit-4: bias voltage out of range bit-5: checksum error in the service parameter section service / may be ignored bit-30: no zero-pulse is arriving from the encoder – probably the motor is not rotating bit-31: motor is rotating but no data is arriving at the ad-converters
Get the actual Current FreQuency
GFQC
- the FQ parameter
3.48
Get Identifier
GID - Returns scanner identifier (test SW returns ID-RAY-M150-000-TEST0-)
­Get Internal Max. temperature
GIM - Returns the maximal allowed internal temperature
60
3.22
MAC address
GMAC
-
Read only; returns Hardware (MAC) address; format: xx:xx:xx:xx:xx:xx, where xx is hexnumber 00-FF; returns 00:00:00:00:00:00 if not set
00:1D:8D:xx:xx :xx
Get Range Bottom
GRB
-
Returns min. temp range (°C)
model dependent
Get Range Full
GRF - Returns max. temp range (°C)
model dependent
Get Range Zoom
GRZ - Returns min. temp sub-range (°C)
-
legacy support: GRZ = GRF
Get Hold Value
GSH
n
n=1..3: sector/interface returns current zone value
-
Get Service Parameter
GSP
t1 t2 T1 T2
t1 = runtime accumulated t2 = max. runtime without reset T1 = min. internal temperature T2 = max. internal temperature
-
Get Sec. Value
GSV n n=1..3: sector/interface Returns current sector value
-
Get Version Message
GVM
-
Returns software version number
-
Hold Mode
HM
nd
n=1..3: sector/interface d=0: no Hold Function d=1: Hold Value for certain time (HT) d=2: Hold value until trigger
0
Page 36
Appendix
36 Rev. B4 Aug 2019 MP150 Protocol
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
Hold Time
HT
ndddd
Hold time in Hold Mode 1 with: n=1..3: sector/interface dddd: time in tenth of a second
0
Hold Value
HV
nc
n=1..3: sector/interface c=’P’: Hold peak
value c=’V’: Hold valley value
P Internal Temperature
I
Returns float
Returns the internal temperature in °C
­IP address
IP
d.d.d.d
d = 0 ... 255
192.168.42.30
Combination of IP, NM and PO
IP_NM_PO
d.d.d.d n.n.n.n port
d = 0 ... 255 n = 0 ... 255 port = 1025 ... 65534
192.168.42.30
255.255.255.0 2727
Keep alive time of the TCP/IP­connection
KeepAlive
time intvl probes
time = tcp_keepalive_time intvl = tcp_keepalive_intvl probes = tcp_keepalive_probes (see section 2.1.1 Keep Alive Time, p. 8.)
240 10 6
Line Count
LC
ddd
Count of lines to send after STX ddd = 1 … 768
1
Line Mode
LM
hexa
LM = 0: no Appendix to Line Transfer LM = 1: Sector Values LM = 2: Zone Values LM = 5: Sector Values (like LM =1) with bit 15 = Sector Alarm, bit 14 = serial Alarm LM = 6: Zone Values (like LM =2) with bit 15 = Zone Alarm, bit 14 = serial Alarm LM = 8 … F doubles line modes 0 … 6 but provides additional framing LM = 11: the six bytes of the traditional
sector values are changed in their contents: previous current output 1: internal temperature in hundredth of °C (MSB first!), previous current output 2: open for future use, previous current output 3: open for future use.
1
MirroR lines
MR d mirror (or rotate by 180°) each line d = 0: don’t mirror d = 1: mirror on
0
3.41
Net Mask
NM
d.d.d.d
d=0-255
255.255.255.0
Parameter Load
PL - Loading of all parameters from Flash-ROM
done at reset
Port for the Ethernet interface
PO d d = 1025 ... 65534
2727
Parameter Store
PS - Storing of all user parameters to Flash­ROM
-
Page 37
Appendix
MP150 Protocol Rev. B4 Aug 2019 37
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
Pixel Mode
PM d d = 1...5 pixel per line = 64 * 2
(d – 1)
(= 64, 128, 256, 512, 1024)
3 (256 pixel)
Pixel Mode
PMX
d x
d = 1...5 (like for PM) pixel per line = 64 * 2
(d – 1)
x = 0: omit the surplus pixel x = 1: calculate the average x = 2: take the maximum x = 3: take the minimum
3 0
Reset of the processor
Reset
- -
Relay Control
RC c c = 0: off c = 1: on c = A: auto, controlled by alarm limits
A
always ‘A’ after
reset!
Relay Control
RCX
c s
c = 0: off c = 1: on c = A: auto, controlled by alarm limits s = NO: normally open s = NC: normally closed
A NO
always ‘A’ after
reset!
3.13
Remote Mode
RM d d=’H’: host mode d=’B’: burst mode (RMB is defined only for LC001 and ZM00)
Route (the default Ethernet gateway)
RO
d.d.d.d
d=0-255 With 0.0.0.0 no route command is sent to the operating system of the scanner
0.0.0.0
Sector Bottom
SB
ndddd
Temperature minimum of sector n = 0...3 dddd: temperature in °C
result of GRB command
Sector Calculation
SC
nd
n = 0...3 d = 0: sector calculation off d = 1: minimum of sector d = 2: maximum of sector d = 3: average of sector d = 4: output of internal temperature
d = 0
nd p
n = 0...3 d = 5: set a fix current p = current in μA
nd
d = 6: width measurement
3.41
Background Temperature Definition for Sector Calculation
SCBackgrou nd
n dcold dhot
n = 0...9 dcold = cold background temperature to be excluded from calculation (as integer) dhot = hot background temperature to be excluded from calculation (as integer)
0 27000
3.48
Sector Emissivity
SE
nddd
n = 0...3 ddd = 010...999 → 0.1 ... 0.999 000 → 1.0
0.95
Sector Left
SL
nddd
left starting point of sector n as ddd 1/10°
0
Sector Max
SM
nddd
current maximum in tenth of mA [15 ... 22 mA]
200
Page 38
Appendix
38 Rev. B4 Aug 2019 MP150 Protocol
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
Sector Right
SR
nddd
right end point of sector n as ddd 1/10°
Sector Top
ST
ndddd
Temperature maximum of sector n = 0...3 dddd: temperature in °C
result of GRF command
Sector Zero
SZ
nddd
minimum (reference) current for SB in mA [0 ... 5 mA]
no
Synchronisation of the mirror
SYN
d1 d2
During d2 rotations of the object the mirror will rotate d1 times. Without synch-hardware the scanner will give answer with: -1 -1
0 0 (off)
3.42
Limit the Range of the Synchronisation frequency
SYNRange
d1 d2
d1 … min. frequency [Hz] d2 … max. frequency [Hz]
10 150
3.46
Tau
TA
ddd
Transmission
ddd = 010...999 → 0.1 ... 0.999 000 → 1.0
MP50: lower limit changed to
0.1
Transmission of the window (to correct spare parts)
TAW
float
<transmissivity> is given as float in the range of 0.1 .. 1.0
1.0
Temperature Range
TR d d = 1: standard temperature range d = 2: extended temperature range
1
for MP50 only
Temp Flow
TF
nd
n=0..3: sector / interface d=1: Starting with cross over ZT d=2: Starting with cross under ZT
1
Turn Alarm Off Mode (Trigger Mode)
TM
nd
n=0..3: sector/interface d=0: no Turn-Alarm-off (the alarm will stay as long as the alarm condition is true.) d=1: Turn off Alarm with Timer d=2: Turn off Alarm with Trigger
0
Trigger Bottom
TB
ndddd
Alarms when Result is less than or equal to this value n=0..3: sector / interface dddd in °C
GRB
Trigger Top
TT
ndddd
Alarms when Result is greater than or equal to this value n=0..3: sector / interface dddd in °C
GRF Trigger Time
TZ
ndddd
Time for Holding Alarm in s in Mode 1 n=1..3: sector/interface dddd: time in tenth of a second
0 Voltage at voltage input
TV
float
With %IA 0.0 0 it gives ADcounts instead of the voltage
- Field of View
VF d d = 0: 90° field of view d = 1: 45° field of view
0 (90°)
Warm-Up time
WU
<time>
<time>: supposed warm-up time of the electronic in seconds. For this time the analog outputs will stay at 0 mA
0
3.42
Page 39
Appendix
MP150 Protocol Rev. B4 Aug 2019 39
Description
Code
Para­meter
Explanation
Factory default
Firmware Revision
Laser control
XL
c d
c: 0 = OFF, 1 = ON, T = Trigger pin is used to switch the laser d: 0 = not blinking, 1 = blinking (<d> is new with version 3.40; <d> may be left off for backward compatibility)
0
Blinking with
3.40
Zone Delay
ZD
ndddd
Zone Start Delay Time: n=0..3: sector/interface dddd: time in tenth of a second
0
Zone Mode
ZM
nd
n=0..3: sector / interface d=0: Zone Mode off d=1: Zone Start with a timer d=2: Zone Start by trigger d=3: Zone Start with a temperature level
0 Zone Trigger
ZT
ndddd
Crossing Temperature in °C for Zone Mode 3 n=0..3: sector/interface dddd in °C
GRB Zone Width
ZW
ndddd
Time of the Zone n = 1..3 dddd : time in tenth of a second
0 Zone Cycle
ZZ
ndddd
Zone Cycle in Zone Mode 1: n = 0..3 dddd : time in tenth of a second
0

7.2 Tetragon-Zones

In this table the commands are to be find, which were introduced for the Tetragon-Zones (not necessarily rectangular zones).
Description
Code
Parameter
Explanation
Factory default
Add a zone by its points
ZP
n c x1 y1 x2 y2 x3 y3 x4 y4
n = 0…9: sector/zone number c = count of corners (4) xi = pixel position of the corner in 0.01° yi = line position of the corner in lines
0 0 0 9000 0 0 0 9000
Sector Left
SL
nddd
left starting point of sector n as ddd
0.1° For sector 0 to 3 only. Only for backward compatibility, please use ZP instead.
0 Sector Right
SR
nddd
right end point of sector n as ddd 0.1° For sector 0 to 3 only. Only for backward compatibility, please use ZP instead.
0
Sector Bottom for an analog output of the internal current output and the external modules
SB
n d
Temperature minimum of sector n = 1…9: sector/zone number n = 0: digital Interface d: temperature in °C
result of GRB command
Page 40
Appendix
40 Rev. B4 Aug 2019 MP150 Protocol
Description
Code
Parameter
Explanation
Factory default
Sector Top for an analog output of the internal current output and the external modules
ST
n d
Temperature maximum of sector n = 1…9: sector/zone number n = 0: digital Interface d: temperature in °C
result of GRF command
Trigger Bottom
TB
n d
Alarms when result is less than or equal to this value n = 0…9: sector/zone number d = temperature in °C The alarm is given to the internal and external outputs.
result of GRB command
Trigger Top
TT
n d
Alarms when Result is greater than or equal to this value n = 0…9: sector/zone number d = temperature in °C The alarm is given to the internal and external outputs.
result of GRF command
Zone Delay
ZD
ndddd
Zone Start Delay Time
Is not used at all and replaced by the ZP-command. (It will give an answer for backward compatibility.)
0
Zone Width
ZW
ndddd
Time of the Zone
Is not used at all and replaced by the ZP-command. (It will give an answer for backward compatibility.)
0
Zone Mode
ZM
nd
Only defined for sector/zone: n = 0 n = 1..3: for backward compatibility
d = 0: Zone Mode off d = 1: Zone Start with a timer d = 2: Zone Start by trigger d = 3: Zone Start with a temperature level
0 Zone Trigger
ZT
ndddd
Crossing Temperature in °C for Zone Mode 3
Only defined for sector/zone: n = 0 n = 1..3: for backward compatibility
dddd in °C
GRB Zone Cycle
ZZ
ndddd
Zone Cycle in Zone Mode 1
Only defined for sector/zone: n = 0 n = 1..3: for backward compatibility
dddd : time in tenth of a second
0
Error Mode
EM
nd
reaction of current outputs in case of scanner error n=1..3: sector/interface d=0: hold last value d=1: set minimum d=2: set maximum
0
Page 41
Appendix
MP150 Protocol Rev. B4 Aug 2019 41
Description
Code
Parameter
Explanation
Factory default
Turn Alarm Off Mode (Trigger Mode)
TM
nd
n=0..3: sector/interface d=0: no Turn-Alarm-off (The alarm will stay as long as the alarm condition is true.) d=1: Turn off Alarm with Timer d=2: Turn off Alarm with Trigger
0
Trigger Time
TZ
ndddd
Time for Holding Alarm in Mode 1 (TM) n = 0…9: sector/zone number dddd: time in tenth of a second
10
Page 42
Appendix
42 Rev. B4 Aug 2019 MP150 Protocol

7.3 IO-Modules (Wago)

In this table the commands are to be find, which were introduced for the Wago IO-modules.
Description
Code
Parameter
Explanation
Factory default
Add an entry for the BootP­Server
BootPServer
<MAC> <IP>
<MAC> = m:m:m:m:m:m <IP> = d.d.d.d
“empty” to remove all entries
Example: BootPServer 00:30:DE:00:00:27 192.168.42.20
empty
IP address used for the IO­modules
IO_IP
d.d.d.d
d = 0…255 (Port 502 is used, which is defined as standard Modbus-Port)
192.168.42.20 Watchdog channel
IO_WD
n
n = 0…63 No Watchdog: n = -1
-1
Assignment of output channel and zone
IO_CH
n chA chD
n = 0…9: zone number chA = analog channel chD = digital channel chA or chD = -1: no output
-1 -1
Get the size of the Process Image
GIO_PI
-
returns: AO AI DO DI AO = analog out AI = analog in DO = digital out DI = digital in
Sector Bottom for an analog output of the internal current output and the external modules
IO_SB
n d
Temperature minimum of sector n = 0…9: sector/zone number d: temperature in °C
Synonym with command SB except for n = 0
result of GRB command
Sector Top for an analog output of the internal current output and the external modules
IO_ST
n d
Temperature minimum of sector n = 0…9: sector/zone number d: temperature in °C
Synonym with command ST except for n = 0
result of GRF command

7.4 Doubling of Lines

Description
Code
Parameter
Explanation
Factory default
Mirror Type
MT d d = 0 … one mirror d = 1 … two mirrors (Dachspiegel)
Corresponding to the mirror
Loading...