Fluke ScopeMeter 190 Series Programming Reference Manual Download Page 1

             REMOTE CONTROL AND PROGRAMMING REFERENCE

                    for the FLUKE 190 family

                    of ScopeMeter test tools

    =============================================================

    This file contains remote control and programming information
    for the above-mentioned models with use of the PM9080
    Optically Isolated RS232 Adapter/Cable.

    It consists of the following chapters:

    1.  INSTALLING THE PM9080

    2.  INTRODUCTION TO PROGRAMMING

    3.  COMMAND REFERENCE

    APPENDIXES

       APPENDIX A         ACKNOWLEDGE DATA
       APPENDIX B         STATUS DATA
       APPENDIX C         WAVEFORM DATA
       APPENDIX D         ASCII CODES

Summary of Contents for ScopeMeter 190 Series

Page 1: ...amming information for the above mentioned models with use of the PM9080 Optically Isolated RS232 Adapter Cable It consists of the following chapters 1 INSTALLING THE PM9080 2 INTRODUCTION TO PROGRAMM...

Page 2: ...ter 3 COMMAND REFERENCE Other settings are fixed You can modify the computer RS232 port settings to match the above ScopeMeter settings with the following DOS command MODE COM1 1200 N 8 1 This command...

Page 3: ...lows Easy input format with a forgiving syntax All commands consist of two characters that can be UPPER or lower case Parameters that sometimes follow the command may be separated from it by one or mo...

Page 4: ...he settings The meaning of this parameter is described in Chapter 3 COMMAND REFERENCE Some commands require several parameters Example WT 9 50 30 This is the Write Time command This command requires t...

Page 5: ...tion query which asks for the model number and the software version of the ScopeMeter When the ScopeMeter has received a query it sends the acknowledge reply as it does after any command but now it is...

Page 6: ...y the acknowledge cr response is immediately followed by the queried response data terminated with cr If acknowledge is 1 or higher it indicates that the ScopeMeter has not executed the command succes...

Page 7: ...een values and strings received from the ScopeMeter Comma is used as program data separator as well as response data separator Program Data Separator Name Character ASCII Value Comments Decimal comma...

Page 8: ...ed as cr in the Command Syntax and Response Syntax lines given for each command 2 The QBASIC programming language which is used for all program examples automatically adds a carriage return to the end...

Page 9: ...he response value is zero go to step 4 If the response value is non zero the ScopeMeter did not execute the previous command Read the error message from the following acknowledge subroutine recover th...

Page 10: ...st be connected to this port RB2048 sets the size of the computer receive buffer to 2048 bytes to prevent buffer overflow during communication with the ScopeMeter PRINT 1 ID Outputs the IDENTITY comma...

Page 11: ...ceived by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 PR...

Page 12: ...s used for Command Syntax Shows the syntax for the command Parameters are separated by commas Commands are terminated by cr carriage return Response Syntax Shows the format of the response from the Sc...

Page 13: ...art QBASIC and open this file from the FILE menu Long programs longer than 55 lines include page breaks Such page breaks are preceded by the remark character to prevent the QBASIC interpreter from int...

Page 14: ...not insert the brackets in the command This is a separator between selectable items This means that you must choose only one of the items exclusive or Specifies an element that may be repeated 0 or m...

Page 15: ...EMOTE GR 3 20 HOLD HO 3 21 IDENTIFICATION ID 3 23 INSTRUMENT STATUS IS 3 25 PROGRAM COMMUNICATION PC 3 28 PROGRAM SETUP PS 3 30 QUERY MEASUREMENT QM 3 34 QUERY PRINT QP 3 38 QUERY SETUP QS 3 42 QUERY...

Page 16: ...on the ScopeMeter Note You can select the items that are affected by the AUTO SET procedure via the USER OPTIONS key on the ScopeMeter Command Syntax AS cr Response Syntax acknowledge cr Example The f...

Page 17: ...ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge IN...

Page 18: ...ger occurs from the signal when exceeding the trigger level or from a TA Trigger Acquisition command After the AT command it is assumed that the signal amplitude is sufficient to trigger the acquisiti...

Page 19: ...ceived by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 PR...

Page 20: ...Page 3 9 CLEAR MEMORY CM Purpose Clears all saved setups waveforms and screens from memory Command Syntax CM cr Response Syntax acknowledge cr Example...

Page 21: ...r If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK...

Page 22: ...VERSION QUERY CV Purpose Queries the CPL interface version Command Syntax CV cr Response Syntax acknowledge cr version cr where version is an ASCII string representing the year this version has been c...

Page 23: ...wledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program...

Page 24: ...the communication alive A Master Reset refer to the Users Manual performs the same but also resets the RS232 communication settings to the default values Command Syntax DS cr Response Syntax acknowle...

Page 25: ...ch command or query sent to the ScopeMeter This routine inputs the acknowledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly receiv...

Page 26: ...If a power adapter is connected you can use the SO command to switch power on again If there is no power adapter connected the instrument can only be switched on manually by pressing the Power ON OFF...

Page 27: ...after each command or query sent to the ScopeMeter This routine inputs the acknowledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correct...

Page 28: ...to Remote command Command Syntax GL cr Response Syntax acknowledge cr Example The following example uses the GR GO TO REMOTE command refer to the description for this command to set the ScopeMeter in...

Page 29: ...PRINT All ScopeMeter keys except the Power ON OFF key PRINT are now disabled by the GR GO TO REMOTE command PRINT Check this PRINT PRINT Press any key on the PC keyboard to continue SLEEP PRINT PRINT...

Page 30: ...eceived by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 P...

Page 31: ...ode so that the keypad is disabled You can use the following methods to return to the local operation mode so that the keypad is enabled 1 Sending the GL Go to Local command Command Syntax GR cr Respo...

Page 32: ...OLD HO Purpose Sets the ScopeMeter in the Hold mode In other words the ScopeMeter stops sampling the input channels and calculating measurement results Command Syntax HO cr Response Syntax acknowledge...

Page 33: ...edge subroutine Use this subroutine after each command or query sent to the ScopeMeter This routine inputs the acknowledge response from the ScopeMeter If the response is non zero the previous command...

Page 34: ...ntax ID cr Response Syntax acknowledge cr identity cr where identity is an ASCII string containing the following data elements model_number software_version creation_date languages Example The followi...

Page 35: ...ts the acknowledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and...

Page 36: ...sponse Syntax acknowledge cr status cr where status integer value 0 to 65535 status Bit Value Status Description 0 1 Maintenance mode 1 2 Charging 2 4 Recording 3 8 AutoRanging 4 16 Remote 5 32 Batter...

Page 37: ...eter recording IF StV AND 8 8 THEN PRINT AutoRanging active IF StV AND 16 16 THEN PRINT ScopeMeter remote IF StV AND 32 32 THEN PRINT Battery connected IF StV AND 64 64 THEN PRINT Power Adapter connec...

Page 38: ...eceived by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 P...

Page 39: ...te 1200 2400 4800 9600 19200 38400 Fluke 19xC 57600 Fluke 19xC PM9080 101 required The default baudrate is 1200 This is set at power on or after a Reset Instrument command command RI Notes The Fluke 1...

Page 40: ...Page 3 29 Response Syntax acknowledge cr See an example for this command under QUERY PRINT QP...

Page 41: ...e acknowledge reply has been received to let the ScopeMeter settle itself before you send the next command Remarks The ScopeMeter sends the acknowledge reply after it has executed the setup from the P...

Page 42: ...to the ScopeMeter...

Page 43: ...this works change the present settings and PRINT verify if the ScopeMeter returns to the previous PRINT settings PRINT PRINT Press any key on the PC keyboard to continue SLEEP CLS PRINT 1 PS Program h...

Page 44: ...ror message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 PRINT Syntax Error CASE 2 PRINT Execu...

Page 45: ...e string Resp Response start TIMER Wait for bytes maximum 1 s to enter RS232 buffer WHILE TIMER start 1 AND LOC 1 0 WEND IF LOC 1 0 THEN If RS232 buffer contains bytes OPEN Setup0 FOR OUTPUT AS 2 File...

Page 46: ...1 Meter absolute reading 19 Meter relative reading relative to instrument setup reference value 21 Measurement reading 2 31 Cursor 1 absolute amplitude value 41 Cursor 2 absolute amplitude value 53 C...

Page 47: ...ope mode or M Mathematics A B A B or AxB 21 Input_BA Phase B over A B A Scope mode unit unit of the reading 0 None off 1 Volt 2 Ampere 3 Ohm 4 Watt 5 Farad 6 Kelvin 7 seconds 8 hours 9 days 10 Hertz 1...

Page 48: ...efinition 30 K Factor US definition 31 Line Frequency 32 Vac PWM or Vac dc PWM 33 Rise time 34 Fall time pres presentation value of the reading 0 Absolute value 1 Relative value 2 Logarithmic value 3...

Page 49: ...umber IF validity 1 THEN PRINT is valid ELSE PRINT is not valid END IF INPUT 1 source 3rd decimal_number PRINT Source of reading IF source 1 THEN PRINT Voltage channel Input A ELSEIF source 2 THEN PRI...

Page 50: ...HEN PRINT Logarithmic value ELSE PRINT Unexpected value END IF INPUT 1 resolution 7th decimal_number PRINT Resolution of reading resolution GOSUB ClearReadings Clears rest of readings data from port P...

Page 51: ...displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 PRINT Syntax Error CASE 2 PRINT Execution Error CAS...

Page 52: ...x Returns screen image 4 3 Fluke 19xC 1 Laser Jet Returns screen image 4 3 Fluke 19x 2 Desk Jet Returns screen image 4 3 Fluke 19x 3 PostScript Returns screen image 4 3 Fluke 19x 11 PNG format block_t...

Page 53: ...OR RANDOM AS 1 Programs COM1 port parameters to match with the new ScopeMeter settings PRINT 1 QP 0 0 Sends QUERY PRINT data command actual screen for EPSON print GOSUB Acknowledge Input acknowledge f...

Page 54: ...er for 1 second the program assumes that the ScopeMeter has terminated its response All bytes that enter the buffer are appended to the string Resp Response start TIMER Wait for bytes maximum 2 s to e...

Page 55: ...cter which represents the sum of all the binary_character s sent after the block_length and before the check_sum The png_data is sent in blocks segments When the block_data parts of all segment s are...

Page 56: ...for conversion to Black White Notice that the index numbers in the IDAT chunk only refer to the first 96 palette entries To retrieve the grey scale values add 96 to the index numbers tEXt Text chunk s...

Page 57: ...C 19200 Programs ScopeMeter to the maximum guaranteed baud rate GOSUB Acknowledge Input acknowledge from ScopeMeter CLOSE 1 OPEN COM1 19200 N 8 1 CS DS RB7500 FOR RANDOM AS 1 Programs COM1 port parame...

Page 58: ...om ScopeMeter BlockHeader INPUT 5 1 Read the block header IF LEFT BlockHeader 2 0 THEN PRINT Block transfer protocol error CLOSE Close all files PRINT Program aborted END END IF IF ASC MID BlockHeader...

Page 59: ...s non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge...

Page 60: ...ll nodes except the last end node A0 hex End node node_identifier binary_character Unique number for each specific node node_length unsigned_integer Specifies the number of binary_character fields tha...

Page 61: ...Max trace INPUT A 11 TrendPlot 1 Min Max Average trace 20 Scope mode Normal trace INPUT B Min Max trace INPUT B Scope Record Min Max trace INPUT B 21 TrendPlot 2 Min Max Average trace 30 Scope mode Ma...

Page 62: ...dministration data only When V or S is omitted trace values and setup data are returned Response Syntax acknowledge cr trace_data cr where trace_data trace_admin trace_samples trace_admin trace_sample...

Page 63: ...mal trace INPUT A when you select Display Glitches No Queries min max trace INPUT A when you select Persistence or Display Glitches Yes see also Command Syntax A normal trace is a series of waveform s...

Page 64: ......

Page 65: ...ror message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 PRINT Syntax Error CASE 2 PRINT Execu...

Page 66: ...LOC 1 0 WEND IF LOC 1 0 THEN If RS232 buffer contains bytes OPEN WaveForm FOR OUTPUT AS 2 File to contain the waveform data bytes docount 1 total count 0 DO LOC 1 gives the number of bytes waiting tot...

Page 67: ...e Result IF Trace Result 0 OR Trace Result 2 GOTO Wave Error Resp Count Resp Count 1 1 byte y_unit Y Unit ASC MID Resp Resp Count 1 SumCheck1 SumCheck1 Y Unit Resp Count Resp Count 1 PRINT y_unit Y Un...

Page 68: ...Resp Count Resp Count 2 PRINT x_divisions X Divisions...

Page 69: ...after Signed Samples determination 3 bytes x_scale mantissa_high mantissa_low exponent mantissa mantissa_high 256 mantissa_low x_scale sign mantissa E sign exponent Example 123E 4 123 10000 0 0123 FOR...

Page 70: ...PRINT x_step X Step...

Page 71: ...3 bytes x_zero mantissa_high mantissa_low exponent mantissa mantissa_high 256 mantissa_low x_zero sign mantissa E sign exponent Example 123E 4 123 10000 0 0123 FOR i 0 TO 2 SumCheck1 SumCheck1 ASC MID...

Page 72: ...nb nb ASC MID Resp Resp Count 1 1 ELSE...

Page 73: ...xponent 4 ASC MID Resp Resp Count 2 1 YXvalue 4 nb Resp Count Resp Count 3 Further calculation after Signed Samples determination 3 bytes y_at_0 mantissa_high mantissa_low exponent mantissa mantissa_h...

Page 74: ......

Page 75: ...4 1 Month Month MID Resp Resp Count 5 1 Day MID Resp Resp Count 6 1 Day Day MID Resp Resp Count 7 1 Resp Count Resp Count 8 PRINT date_stamp Year Month Day 6 bytes hours minutes seconds FOR i 0 TO 5...

Page 76: ...PRINT SumCheck so far MOD 256 SumCheck1 MOD 256 CLOSE END...

Page 77: ...les FOR OUTPUT AS 4 PRINT 4 Number of sample chars Block2 Length 1 byte sample_format Sample Format ASC MID Resp Resp Count 1 SumCheck2 SumCheck2 Sample Format IF Sample Format AND 128 128 THEN Signed...

Page 78: ...END IF...

Page 79: ...octal END IF PRINT Number of Sample Bytes Sample Bytes PRINT 4 Number of Sample Bytes Sample Bytes Further calculation now that Signed Samples is determined FOR j 1 TO 2 IF expscale j 127 THEN Negativ...

Page 80: ...END IF NEXT j...

Page 81: ...ive value ELSE Negative value Overload Value CMaxim Overload Y Resol END IF Resp Count Resp Count Sample Bytes PRINT Overload sample value Overload Overload Value PRINT 4 Overload sample value Overloa...

Page 82: ...OD 256 Nbr Of Samples Sample Byte Sample Byte ASC MID Resp Resp Count 1 1 SumCheck2 SumCheck2 Sample Byte MOD 256 Nbr Of Samples Nbr Of Samples 256 Sample Byte IF MinMax Samples 1 THEN Min Max pair of...

Page 83: ...Resp Count Resp Count Sample Bytes...

Page 84: ...e check_sum Check Sum ASC MID Resp Resp Count 1 IF Check Sum SumCheck2 MOD 256 GOTO Wave2 Error Resp Count Resp Count 1 PRINT check_sum Check Sum PRINT SumCheck2 MOD 256 SumCheck2 MOD 256 PRINT 4 chec...

Page 85: ...ision over 10 divisions PRINT 4 X Scale X Scale PRINT 4 X At 0 X Zero PRINT 4 X Resolution X Resol PRINT 4 X Size Nbr Of Samples PRINT 4 X Unit IF X Unit 7 THEN PRINT 4 s IF X Unit 10 THEN PRINT 4 Hz...

Page 86: ...ax Flag 2 THEN MinMax Flag MinMax Flag 1 PRINT 4 Time Value Amplit Value ELSEIF MinMax Flag 1 THEN MinMax Flag MinMax Flag 1 PRINT 4 Amplit Value ELSE MinMax Flag 2 PRINT 4 Amplit Value Time Value Tim...

Page 87: ...real time clock date settings Command Syntax RD cr Response Syntax acknowledge cr date cr where date string of the following format year month day e g 1999 8 14 Example The following example program r...

Page 88: ...inputs the acknowledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed...

Page 89: ...r at least 2 seconds after the acknowledge reply has been received to let the ScopeMeter settle itself before you send the next command Example The following example resets the ScopeMeter and waits fo...

Page 90: ...query sent to the ScopeMeter This routine inputs the acknowledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the Scop...

Page 91: ...1 acknowledge cr nr_of_screens screen_index cr where nr_of_screens 0 to 100 number of valid screens 0 no valid screens screen_screen 0 to 99 index of the actual screen Response Syntax 2 acknowledge c...

Page 92: ...eMeter PRINT PRINT View the previous Replay screen PRINT Press any key on the PC keyboard to continue SLEEP PRINT 1 AT Go back to normal mode running GOSUB Acknowledge Input acknowledge from ScopeMete...

Page 93: ...END IF RETURN End example program...

Page 94: ...ax RS setup_reg cr where setup_reg 1 to 15 Screen Setup memories 1001 Long Record Replay memory Input A 1002 Long Record Replay memory Input B Response Syntax acknowledge cr Note The new setup is acti...

Page 95: ...in setup memory 8 PRINT The remainder of this program will restore these PRINT To test if this works change the present settings PRINT and verify if the ScopeMeter returns to the original PRINT settin...

Page 96: ...eceived by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge INPUT 1 ACK Reads acknowledge from ScopeMeter IF ACK 0 THEN PRINT Error ACK SELECT CASE ACK CASE 1 P...

Page 97: ...l time clock time settings Command Syntax RT cr Response Syntax acknowledge cr time cr where time string of the following format hours minutes seconds e g 15 4 43 Example The following example program...

Page 98: ...ts the acknowledge response from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and...

Page 99: ...CH ON SO Purpose Switches the ScopeMeter on This only works when the ScopeMeter is powered via the power adapter Command Syntax SO cr Response Syntax acknowledge cr See an example for this command und...

Page 100: ...registers Command Syntax SS setup_reg cr where setup_reg 1 to 15 Screen Setup memories When setup_reg is omitted number 1 is assumed 1001 Long Record Replay memory Input A 1002 Long Record Replay memo...

Page 101: ...A complete description of the status word is given in Appendix B Command Syntax ST cr Response Syntax acknowledge cr status where status integer value 0 to 32767 Example The following example program...

Page 102: ...opeMeter If the acknowledge value is non zero the ST query is used to get further status information from the ScopeMeter with respect to the error In case of an error the program is aborted Acknowledg...

Page 103: ...THEN PRINT Illegal Command IF STAT AND 2 2 THEN PRINT Data format of parameter is wrong END IF IF STAT AND 4 4 THEN PRINT Parameter out of range IF STAT AND 8 8 THEN PRINT Invalid command in this CPL...

Page 104: ...s an acquisition This command acts as a hardware trigger to start a new acquisition In SINGLE shot acquisition mode the trigger system must have been armed with the AT Arm Trigger command Command Synt...

Page 105: ...ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program is aborted Acknowledge I...

Page 106: ...eal time clock date settings Command Syntax WD date cr where date string of the following format year month date e g 1999 9 14 Response Syntax acknowledge cr Example The following example program prog...

Page 107: ...se from the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program is aborted Ac...

Page 108: ...l time clock time settings Command Syntax WT time cr where time string of the following format hours minutes seconds e g 15 30 0 Response Syntax acknowledge cr Example The following example program pr...

Page 109: ...om the ScopeMeter If the response is non zero the previous command was not correct or was not correctly received by the ScopeMeter Then an error message is displayed and the program is aborted Acknowl...

Page 110: ...ation Error Note The ST query may give you additional information When the ScopeMeter detects an error during the execution of a command it sends the corresponding acknowledge reply terminates further...

Page 111: ...vious command or query is not yet completely executed You can prevent this error by doing the following 1 Read the acknowledge reply after each command or query 2 If this acknowledge is zero and if a...

Page 112: ...ta format 1 2 4 Parameter out of range 1 or 2 3 8 Command not valid in present state 1 4 16 Command not implemented 2 5 32 Invalid number of parameters 2 6 64 Wrong number of data bits 2 7 128 Flash R...

Page 113: ...and before the check_sum trace_result binary_character If bit 0 is set decimal value 1 the trace is a direct result of a trace acquisition If bit 1 is set decimal value 2 the trace is a result of the...

Page 114: ...hours 8 days 9 Hertz 10 Degree 11 degree_Celsius 12 degree_Fahrenheit 13 percentage 14 dBm 50 Ohm 15 dBm 600 Ohm 16 dB Volts 17 dB Ampere 18 dB Watts 19 Volt Ampere Reactive VAR 20 Volt Ampere VA 21...

Page 115: ...x_scale is set by the instrument 1 1 2 5 range 3 record range 4 variable range y_zero float Measurement value for the samples with value zero 0 that you can see as offset value x_zero float This fiel...

Page 116: ...oad invalid nbr_of_samples samples check_sum cr block_header binary_character which is 129 block_length unsigned_long This 4 bytes value gives the number of bytes that are transmitted after the block_...

Page 117: ...overload sample_value This field specifies which value in the trace samples represents the overload value...

Page 118: ...aracter s In case the sample_value contains multiple binary_character s the most significant byte is transmitted first check_sum binary_character One binary character which represents the sum of all t...

Page 119: ...7 0C FF 12 2C 44 4C L 76 6C l 108 0D CR 13 2D 45 4D M 77 6D m 109 0E SO 14 2E 46 4E N 78 6E n 110 0F SI 15 2F 47 4F O 79 6F o 111 10 DLE 16 30 0 48 50 P 80 70 p 112 11 XON 17 31 1 49 51 Q 81 71 q 113...

Page 120: ...71 CB 203 EB 235 8C 140 AC 172 CC 204 EC 236 8D 141 AD 173 CD 205 ED 237 8E 142 AE 174 CE 206 EE 238 8F 143 AF 175 CF 207 EF 239 90 144 B0 176 D0 208 F0 240 91 145 B1 177 D1 209 F1 241 92 146 B2 178 D...

Reviews: