0% found this document useful (0 votes)
42 views131 pages

DMM4050

Bench Meter

Uploaded by

awesomerossum311
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views131 pages

DMM4050

Bench Meter

Uploaded by

awesomerossum311
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 131

DMM4040 and DMM4050

Digital Multimeter

Programmer Manual

077-0363-00
Copyright © Tektronix. All rights reserved. Licensed software products are owned by Tektronix
or its subsidiaries or suppliers, and are protected by national copyright laws and international
treaty provisions.

Tektronix products are covered by U.S. and foreign patents, issued and pending. Information in
this publication supersedes that in all previously published material. Specifications and price
change privileges reserved.

TEKTRONIX and TEK are registered trademarks of Tektronix, Inc.

Contacting Tektronix, Inc.


Tektronix, Inc.
14200 SW Karl Braun Drive
P.O. Box 500
Beaverton, OR 97077
USA

For product information, sales, service, and technical support:


- In North America, call 1-800-833-9200.
- Worldwide, visit www.tektronix.com to find contacts in your area.
Table of Contents

Title Page
Introduction ....................................................................................................... 4
Safety Information............................................................................................. 4
Symbols and Terms....................................................................................... 5
Safety and Electrical Symbols ...................................................................... 5
Local and Remote Operation ........................................................................ 5
Computer Interfaces...................................................................................... 6
Optimizing System Speed for I/O Operation .................................................... 6
Selecting the Remote Interface Port.................................................................. 8
Configuring the IEEE-488 Port......................................................................... 8
IEEE-488 Operating Limitations .................................................................. 8
Setting the IEEE-488 (GPIB) Port Address.................................................. 8
Capability Commands................................................................................... 9
Interconnections............................................................................................ 9
Configuring the RS-232 Port............................................................................. 10
Setting RS-232 Baud Rate ............................................................................ 10
Setting RS-232 Parity and Data Bits............................................................. 11
Setting RS-232 Stop Bits .............................................................................. 11
Setting RS-232 Flow Control........................................................................ 11
Setting RS-232 End-Of-Line Character........................................................ 11
Enabling and Disabling Fluke 45 Emulation Echo....................................... 11
RS-232 Modes of Operation ......................................................................... 12
Interconnections............................................................................................ 14
Configuring the Ethernet (LAN) Port ............................................................... 16
Setting the IP Address................................................................................... 16
Setting the LAN Subnet Mask ...................................................................... 17
Reading the Domain Name ........................................................................... 18
Configuring the Host Name .......................................................................... 18
Reading the MAC Address ........................................................................... 18
Configuring the LAN Default Gateway........................................................ 18
Configuring the General Network Socket Port ............................................. 19
Establishing an Ethernet Connection ................................................................ 19
Terminating an Ethernet Connection ................................................................ 21
Selecting the Programming Language .............................................................. 21
Getting Started With an Installation Test .......................................................... 21
Installation Test for RS-232 Connections..................................................... 21
Installation Test for IEEE-488 Connections ................................................. 22

i
DMM4040 and DMM4050
Programmer Manual

If the Test Fails ............................................................................................. 22


How the Meter Processes Input......................................................................... 23
Input Strings.................................................................................................. 23
Input Terminators.......................................................................................... 23
Typical IEEE-488 Input Strings.................................................................... 24
Sending Numeric Values to the Meter.......................................................... 24
Sending Command Strings to the Meter ....................................................... 24
How the Meter Processes Output ...................................................................... 25
Triggering Input ................................................................................................ 26
Internal Triggering ........................................................................................ 26
External Triggering....................................................................................... 27
Service Requests (IEEE-488 Only) and Status Registers.................................. 27
Standard Event Status and Standard Event Status Enable Registers ............ 28
Questionable Data Event Register and Questionable Data Enable Register. 29
Status Byte Register...................................................................................... 30
Reading the Status Byte Register.................................................................. 30
Service Request Enable Register .................................................................. 31
Supported SCPI Commands.............................................................................. 31
SCPI Command Summary............................................................................ 32
SCPI Command Details ................................................................................ 41
Using the MEASure? Command .................................................................. 42
Using the CONFigure Command.................................................................. 43
Using the READ? Command........................................................................ 46
Using the INITiate Command....................................................................... 46
Using the FETCh? Command....................................................................... 46
Using the SENSe Subsystem to Configure the Meter................................... 47
Programming for Math Operations ............................................................... 55
Programming the Trigger System ................................................................. 59
Using System-Related Commands................................................................ 63
Using Status Reporting Commands .............................................................. 66
Calibration Commands ................................................................................. 68
Using RS-232/Ethernet Interface Commands............................................... 70
Command Terminators ................................................................................. 71
Alternate Programming Language Compatibility......................................... 72
FLUKE 45 Command Emulation Summary ..................................................... 73
Computer Interface Command Set................................................................ 73
IEEE-488 Capabilities and Common Commands......................................... 73
Triggering Output ......................................................................................... 80
Using NI SignalExpress, Tektronix Edition...................................................... 81
FLUKE 8842A Emulation Mode ...................................................................... 81
Example Notes.............................................................................................. 81
Device-Dependent Command Set................................................................. 84
Input Syntax .................................................................................................. 92
Output Data................................................................................................... 94
Service Requests ........................................................................................... 96
Introduction ....................................................................................................... 99
Introduction ....................................................................................................... 107
Incompatible Fluke 45 Commands.................................................................... 107
Dual Functions .............................................................................................. 107
Reading Rates ............................................................................................... 108
Ranges........................................................................................................... 108
Introduction ....................................................................................................... 109
Your Meter and Your Network Administrator.................................................. 109
Network Primer ................................................................................................. 110
Physical Layer Wiring Schemes Supported by the Meter ............................ 110
ii
Contents (continued)

Network Interconnection Devices................................................................. 111


Basic Network Packet and Frame Contents.................................................. 111
IP Addresses and Segmented Networks........................................................ 112
TCP/IP Protocol Stack .................................................................................. 114
Introduction ....................................................................................................... 117
Device Dependent Command Set...................................................................... 117
Calibration Commands...................................................................................... 117
Dn (Display Commands)................................................................................... 118
Gn (Get Commands) ......................................................................................... 118
Tn (Trigger Mode Commands) ......................................................................... 118
Wn (Terminator Commands) ............................................................................ 118
Numeric Entry Command ................................................................................. 118
Talk-Only Mode................................................................................................ 118
Ranging in 8842A Emulation Mode ................................................................. 118
Operational Differences .................................................................................... 119

Index

Appendices
A Error Codes................................................................................................ 95
B Fluke 45 Emulation Limitations ................................................................. 103
C Network Consideration............................................................................... 105
D Fluke 8842A Emulation Limitations .......................................................... 113

iii
DMM4040 and DMM4050
Programmer Manual

iv
List of Tables

Table Title Page

1. IEEE-488 Compatibility Codes ............................................................................. 9


2. Factory Settings of RS-232 Communications Parameters..................................... 10
3. Status Register Summary....................................................................................... 27
4. Description of Bits in ESR and ESE...................................................................... 28
5. Description of Bits in the Questionable Data Register .......................................... 29
6. Description of Bits in the Status Byte Register ..................................................... 30
7. CALibration Command Summary......................................................................... 32
8. CONFigure Command Summary .......................................................................... 32
9. IEEE-488.2 Common Command Summary .......................................................... 33
10. Math Command Summary..................................................................................... 33
11. MEASure Command Summary............................................................................. 34
12. Measurement configuration command summary .................................................. 35
13. RS-232 Interface Command Summary.................................................................. 38
14. Status Reporting Command Summary .................................................................. 39
15. System-Related Command Summary.................................................................... 40
16. Triggering Command Summary ............................................................................ 41
17. Preset Conditions for the MEASure? and CONFigure Commands....................... 45
18. Allowed Math/Measurement Function Combinations........................................... 55
19. IEEE-488.2 Common Commands ......................................................................... 73
20. Fluke 45 Function Commands and Queries........................................................... 75
21. Function Modifier Commands and Queries .......................................................... 76
22. Range and Measurement Rate Commands and Querie ......................................... 77
23. Measurement Queries ............................................................................................ 78
24. Compare Commands and Queries ......................................................................... 79
25. Trigger Configuration Commands......................................................................... 79
26. Miscellaneous Commands and Queries................................................................. 80
27. RS-232 Remote/Local Configuration Commands................................................. 80
28. Trigger Types ........................................................................................................ 81
29. 8842A Get Commands .......................................................................................... 86
30. Serial Poll Register ................................................................................................ 97
31. Serial Poll Register Description............................................................................. 97
32. Execution Error Codes and Descriptions............................................................... 99
33. Ethernet/ IEEE-488 Configuration Errors ............................................................. 104
34. Calibration Errors .................................................................................................. 104
35. Non-compatible Fluke 45 Remote Commands...................................................... 107

v
DMM4040 and DMM4050
Programmer Manual

36. Fluke 45 Dual Function Compatibility Matrix ...................................................... 108


37. IP Address Assignments........................................................................................ 112
38. 8842A Device Dependent Commands Not Supported .......................................... 117
39. DMM4040/4050 Commands the Fluke 8842A Doesn't Support........................... 117
40. Fluke 8842A Virtual Range Mapping ................................................................... 119

vi
List of Figures

Figure Title Page

1. RS-232 Pin-out and Cable Interconnect ................................................................ 15


2. Typical IEEE-488 Input String.............................................................................. 25
3. Overview of Status Data Structure (DMM4040/4050 and Fluke 45).................... 28
4. DMM4040/4050 Triggering System ..................................................................... 60
5. Typical Command String for Fluke 8842A Emulation ......................................... 82
6. Fluke 8842A Emulation Device-Dependent Command Set .................................. 83
7. Fluke 8842A Emulation Data Output Format........................................................ 85

vii
DMM4040 and DMM4050
Programmer Manual

viii
Remote Operation

Introduction ..........................................................................................................0-4
Safety Information................................................................................................0-4
Symbols and Terms ..........................................................................................0-5
Safety and Electrical Symbols .........................................................................0-5
Local and Remote Operation................................................................................0-5
Computer Interfaces .............................................................................................0-6
Optimizing System Speed for I/O Operation .......................................................0-6
Selecting the Remote Interface Port.....................................................................0-8
Configuring the IEEE-488 Port............................................................................0-8
IEEE-488 Operating Limitations..........................................................................0-8
Setting the IEEE-488 (GPIB) Port Address .........................................................0-8
Capability Commands ..........................................................................................0-9
Interconnections ...................................................................................................0-9
Configuring the RS-232 Port................................................................................0-10
Setting RS-232 Baud Rate....................................................................................0-10
Setting RS-232 Parity and Data Bits ....................................................................0-11
Setting RS-232 Stop Bits......................................................................................0-11
Setting RS-232 Flow Control ...............................................................................0-11
Setting RS-232 End-Of-Line Character ...............................................................0-11
Enabling and Disabling Fluke 45 Emulation Echo ..............................................0-11
RS-232 Modes of Operation ................................................................................0-12
DMM4040/4050 Mode ........................................................................................0-12
Selecting Between Computer and Terminal Mode ..............................................0-12
Fluke 45 Mode .....................................................................................................0-12
Interconnections ...................................................................................................0-14
Fluke 8842A Emulation Mode.............................................................................0-14

1
DMM4040/4050
Programmer Manual

Configuring the Ethernet (LAN) Port


Error! Bookmark not defined.-Error! Bookmark not defined.
Setting the IP Address ..........................................................................................0-16
Selecting Dynamic Host Configuration Protocol (DHCP)...................................0-16
Setting a Static Internet Address ..........................................................................0-17
Setting the LAN Subnet Mask..............................................................................0-17
Reading the Domain Name ..................................................................................0-18
Configuring the Host Name .................................................................................0-18
Reading the MAC Address ..................................................................................0-18
Configuring the LAN Default Gateway ...............................................................0-18
Configuring the General Network Socket Port ....................................................0-19
Establishing an Ethernet Connection ...................................................................0-19
Terminating an Ethernet Connection ...................................................................0-21
Selecting the Programming Language .................................................................0-21
Getting Started With an Installation Test .............................................................0-21
Installation Test for RS-232 Connections ............................................................0-21
Installation Test for IEEE-488 Connections ........................................................0-22
If the Test Fails.....................................................................................................0-22
How the Meter Processes Input............................................................................0-23
Input Strings .........................................................................................................0-23
Input Terminators.................................................................................................0-23
Typical IEEE-488 Input Strings ...........................................................................0-24
Sending Numeric Values to the Meter .................................................................0-24
Sending Command Strings to the Meter ..............................................................0-24
How the Meter Processes Output .........................................................................0-25
Triggering Input ...................................................................................................0-26
Internal Triggering ...............................................................................................0-26
External Triggering ..............................................................................................0-27
Service Requests (IEEE-488 Only) and Status Registers.....................................0-27
Standard Event Status and Standard Event Status Enable Registers....................0-28
Questionable Data Event Register and Questionable Data Enable Register ........0-29
Status Byte Register .............................................................................................0-30
Reading the Status Byte Register .........................................................................0-30
Service Request Enable Register..........................................................................0-31
Supported SCPI Commands.................................................................................0-31
SCPI Command Summary ...................................................................................0-32
SCPI Command Details .......................................................................................0-41
Using the MEASure? Command..........................................................................0-42
Using the CONFigure Command .........................................................................0-43
Setting Range and Resolution Parameters............................................................0-46
Using the READ? Command ...............................................................................0-46
Using the INITiate Command ..............................................................................0-46
Using the FETCh? Command ..............................................................................0-46
Using the SENSe Subsystem to Configure the Meter ..........................................0-47
Programming for Math Operations ......................................................................0-55
Programming the Trigger System ........................................................................0-59
Using the Triggering Commands .........................................................................0-60
Using System-Related Commands.......................................................................0-63
Using Status Reporting Commands .....................................................................0-66
Calibration Commands.........................................................................................0-68
Using RS-232/Ethernet Interface Commands ......................................................0-70
Command Terminators.........................................................................................0-71
SCPI Parameter Types .........................................................................................0-71
Numeric Parameters .............................................................................................0-71
Discrete Parameters..............................................................................................0-72
2
Digital Multimeter
Introduction

Boolean Parameters..............................................................................................0-72
String Parameters .................................................................................................0-72
Alternate Programming Language Compatibility ................................................0-72
FLUKE 45 Command Emulation Summary ........................................................0-73
Computer Interface Command Set .......................................................................0-73
IEEE-488 Capabilities and Common Commands ................................................0-73
Function Commands and Queries ........................................................................0-75
Function Modifier Commands and Queries .........................................................0-76
Range and Measurement Rate Commands and Queries.......................................0-77
Measurement Queries...........................................................................................0-78
Compare Commands and Queries........................................................................0-79
Trigger Configuration Commands .......................................................................0-79
Miscellaneous Commands and Queries ...............................................................0-80
RS-232 Remote/Local Configurations .................................................................0-80
Triggering Output.................................................................................................0-80
Setting the Trigger Type Configuration ...............................................................0-80
External Triggering ..............................................................................................0-81
Using NI SignalExpress, Tektronix Edition.........................................................0-81
FLUKE 8842A Emulation Mode .........................................................................0-81
Example Notes .....................................................................................................0-81
Device-Dependent Command Set ........................................................................0-84
Bn (Offset Commands) ........................................................................................0-84
Dn (Display Commands)......................................................................................0-84
Fn (Function Commands).....................................................................................0-84
Get Commands.....................................................................................................0-84
G0 (Get Instrument Configuration)......................................................................0-86
G1 (Get SRQ Mask).............................................................................................0-87
G3 (Get User-Defined Message)..........................................................................0-87
G4 (Get Calibration Status)..................................................................................0-87
G5 (Get IAB Status).............................................................................................0-87
G6 (Get YW Status) .............................................................................................0-88
G7 (Get Error Status) ...........................................................................................0-88
G8 (Get Instrument Identification).......................................................................0-88
N (Numeric Entry Command)..............................................................................0-89
Put Commands .....................................................................................................0-89
P0 (Put Instrument Configuration) .......................................................................0-89
P1 (Put SRQ Mask) ..............................................................................................0-90
Rn (Range Commands) ........................................................................................0-90
Sn (Reading Rate Commands) .............................................................................0-90
Tn (Trigger Mode Commands) ............................................................................0-90
Wn (Terminator Commands) ...............................................................................0-91
X0 (Clear Error Register Command) ...................................................................0-91
Yn (Suffix Commands) ........................................................................................0-91
Z0 (Self-Test Command) .....................................................................................0-91
Device Clear Command .......................................................................................0-91
? (Single-Trigger Command) ...............................................................................0-92
Input Syntax .........................................................................................................0-92
Definitions 0-92
Input Processing ...................................................................................................0-92
Syntax Rules 0-93
Output Data ..........................................................................................................0-94
Loading Output Data............................................................................................0-94
Types of Output Data ...........................................................................................0-95
Numeric Data and Error Messages.......................................................................0-95
Overrange Indication............................................................................................0-95
3
DMM4040/4050
Programmer Manual

Error Messages.....................................................................................................0-95
Status Data 0-96
Output Priority......................................................................................................0-96
Service Requests ..................................................................................................0-96
The SRQ Mask.....................................................................................................0-98
Introduction ..........................................................................................................A-99
Introduction ..........................................................................................................B-107
Incompatible Fluke 45 Commands.......................................................................B-107
Dual Functions .....................................................................................................2-107
Reading Rates.......................................................................................................2-108
Ranges 2-108
Introduction ..........................................................................................................C-109
Your Meter and Your Network Administrator.....................................................C-109
Network Primer ....................................................................................................C-110
Physical Layer Wiring Schemes Supported by the Meter....................................C-110
Network Interconnection Devices ........................................................................C-111
Basic Network Packet and Frame Contents .........................................................C-111
IP Addresses and Segmented Networks...............................................................C-112
TCP/IP Protocol Stack .........................................................................................3-114
Introduction ..........................................................................................................D-117
Device Dependent Command Set.........................................................................D-117
Calibration Commands.........................................................................................4-117
Dn (Display Commands)......................................................................................4-118
Gn (Get Commands) ............................................................................................4-118
Tn (Trigger Mode Commands) ............................................................................4-118
Wn (Terminator Commands) ...............................................................................4-118
Numeric Entry Command ....................................................................................4-118
Talk-Only Mode...................................................................................................4-118
Ranging in 8842A Emulation Mode ....................................................................4-118
Operational Differences .......................................................................................4-119

Introduction
Remote operation of the DMM4040 or 4050 Digital Multimeter (hereafter “the Meter”)
from a host, that is, a terminal, controller, PC, or computer, is accomplished by sending
commands to it through one of its remote interfaces. This manual describes how to setup,
configure, and operate the Meter through each of the remote interfaces.
The Meter is controlled remotely using either Standard Commands for Programmable
Instruments (SCPI), Fluke 45 or Fluke 8842A (8840A and 8842A) commands. Detailed
information on the SCPI command set, and how the Meter processes those commands is
included in this manual. Fluke 45 command limitations are covered in Appendix B and
Fluke 8842A command limitations are covered in Appendix D in this manual.

Note
For more information regarding the SCPI programming language, visit
http://www.scpiconsortium.org. A free copy of the SCPI standard can be
found at http://www.scpiconsortium.org/SCPI-99.pdf.
The level of detail in this chapter is based on the assumption that the reader is familiar
with the basics of data communication interface, and the IEEE-488 bus.

Safety Information
This section addresses safety considerations and describes symbols that may appear on
the Meter or in the manual.

4
Digital Multimeter
Safety Information

Symbols and Terms


The following terms and safety and electrical symbols may appear in the manual or on
the product:
A XW Warning statement identifies conditions or practices that could result in injury
or death.
A W Caution statement identifies conditions or practices that could result in damage to
the Meter or equipment to which it is connected.

XW Warning
To avoid electric shock, personal injury, or death, carefully read
the information in the DMM4040 and DMM4050 User Manual
under “General Safety Summary” before attempting to install,
use, or service the Meter.

Safety and Electrical Symbols

Symbol Description Symbol Description

Risk of danger. Important


W information. See manual.
Π Display ON / OFF and Meter reset.

Hazardous voltage. Voltage > 30 V


X dc or ac peak might be present.
J Earth ground

B AC (Alternating Current) E Capacitance

F DC (Direct Current) G Diode

D
AC or DC (Alternating or Direct
or
Current)
I Fuse

C
Continuity test or continuity beeper
R tone
Ψ Digital signal

Y Potentially hazardous voltage U Maintenance or Service

Static awareness. Static discharge


T Double insulated h can damage parts.

Measurement Category II is for


Measurement Category I is for
measurements performed on
CAT II circuits directly connected to the
CAT I measurements not directly
connected to mains.
low voltage installation.

Local and Remote Operation


When the Meter is operated from a host, it is said to be operated remotely. When operated
from the front panel, it is said to be operated locally.
Most operations that can be performed locally can also be performed remotely over the
remote interface. Some operations, like setting communications parameters for the

5
DMM4040/4050
Programmer Manual

RS-232 interface, and addressing the Meter for IEEE-488 operations can only be set
through the front panel.

XW Warning
To avoid electric shock, turn off the signal source to the Meter
before touching the test leads. The front panel display may not
indicate the true input voltage while in remote mode. Always
assume lethal voltages exist on the front-panel inputs.

Computer Interfaces
Both the DMM4040 and 4050 Multimeters come equipped with an RS-232, Ethernet, and
IEEE-488 interface. Only one remote interface can be enabled at a time. Using any of the
interfaces turns the Meter into a fully programmable instrument that can be integrated
into an automated instrumentation system. For a PC with only USB ports, Tektronix
provides a cable (Tektronix PN 174-5813-00) that converts between USB and RS-232
ports.

Note
The remote interface port and settings can be changed only through the
Meter’s front-panel controls.
Enabling or selecting a port for remote operation is a separate process from setting the
various parameters associated with a remote interface. An interface does not have to be
selected to set its parameters; for example, the baud rate of the RS-232 port can be set
while the Meter has the LAN port enabled as the remote control port.

Optimizing System Speed for I/O Operation


Several factors affect the remote system speed of the DMM4040/4050. To make the
fastest measurements, it is best to store the measurements in internal memory before
transferring across the I/O bus. This is particularly true if you want to collect a large
number of samples per measurement. Set up all of the parameters (i.e. function, range,
filters, etc...) prior to taking the measurements. Use the internal trigger. Set the trigger
delay to zero. Turn off the display. If operating with RS-232, use the fastest baud rate
available.
One example of taking fast voltage readings is:
*cls # This clears all error prior to initiating readings
conf:volt:dc 0.1 # Set the DC range to manual and 100 mV.
volt:dc:nplc 0.02 # Set the NPLC to faster reading rate 4 1/2 digits.
zero:auto 0 # Turn Autozero off.
trig:sour imm # Set immediate trigger.
trig:del 0 # Set trigger delay to zero.
trig:coun 1 # Set trigger count to one or specify a larger number.
disp off # Turn display off. This may slightly improve reading rate.
syst:rem # Put the DMM4050 in remote. Only needed for RS-232 or
Ethernet #(required for READ? or MEAS?)
samp:coun 100 # Set the sample count from 1 to 5000.

6
Digital Multimeter
Optimizing System Speed for I/O Operation

:INIT; *OPC? # "*OPC?" returns 1 indicating that the measurements have been
taken and are ready to be transferred to the computer using the
FETCH? command.
:FETCH?

Note
For any sample count greater than 1, measurements are returned comma
separated.

7
DMM4040/4050
Programmer Manual

Selecting the Remote Interface Port


To enable or select a port for remote control of the Meter:
1. Press I.
2. Press PORT IF.
3. Press SELECT PORT.
4. Press the soft key labeled with the desired port: RS 232C, IEEE488, or LAN.
Port selection is non-volatile. Therefore, the selected port will remain active until another
port is selected through the front panel.

Configuring the IEEE-488 Port


The IEEE-488 interface is designed in compliance with supplemental standard IEEE-
488.2. Devices connected to the bus in a system are designated as talkers, listeners,
talker/listeners, or controllers. The connector for connecting the Meter to the IEEE-488
bus is located on the rear panel. Under control of an instrument controller, the Meter
operates exclusively as a talker/listener on the IEEE-488 bus.
The Meter conforms to the Standard Specification IEEE-488.1 – 1987: IEEE Standard
Digital Interface for Programmable Instrumentation, and to IEEE-488.2 - 2004: Codes,
Formats, Protocols, and Common Commands.

IEEE-488 Operating Limitations


The following limitations govern the IEEE-488 remote interface:
• A maximum of 15 instruments may be connected in a single IEEE-488 bus system.
• The maximum length of IEEE-488 cable used on a single IEEE-488 system must be the
lesser of 20 meters, or 2 meters times the number of devices in the system.
Setting the IEEE-488 (GPIB) Port Address
Before the Meter will accept commands through the IEEE-488 remote interface, IEEE-
488 must first be enabled or selected as the active interface port. This can only be done
through the Meter’s front panel.
A controller uses an address between 1 and 32 to identify a specific instrument on the
bus. The Meter is shipped from the factory with the IEEE-488 port address set to 1. To
change the IEEE-488 address:
1. Press I.
2. Press PORT IF.
3. Press IEEE488.
4. Use the soft keys to set the address as follows.

Select the address digit to adjust by pressing either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the digit.
5. With the desired address set, press ENTER.

8
Digital Multimeter
Configuring the IEEE-488 Port

Capability Commands
To conform to the IEEE-488.1 standard specification, it is not essential for a device to
encompass the full range of bus capabilities. The IEEE-488.1 document describes and
codes the standard bus features, so that manufacturers may give brief coded descriptions
of their own interfaces’ overall capability.
The codes that apply to the Meter are given in Table 1 below, together with short
descriptions. These codes conform to IEEE-488.2 requirements.
Appendix C of the IEEE-488.1 document contains a complete description of each code.

Table 1. IEEE-488 Compatibility Codes

IEEE-488 Subset Interface Functions

SH1 Source Handshake Capability

AH1 Acceptor Handshake Capability

T5 Talker (basic talker, serial poll, unaddressed to talk if addressed to listen)

L4 Listener (basic listener, unaddressed to listen if addressed to talk)

SR1 Service Request Capability

RL1 Remote/Local Capability (includes local lockout)

PP0 No Parallel Poll Capability

DC1 Device Clear Capability

DT1 Device Trigger – Supports group trigger (GET).

C0 No Controller Capability

E2 Open-Collector and Three-State Drivers

Interconnections
Instruments fitted with an IEEE-488 interface communicate with each other through a
standard set of interconnecting cables, as specified in the IEEE-488.1 Standard
document.
The IEEE-488 interface connector is located on the Meter’s rear panel.

9
DMM4040/4050
Programmer Manual

Configuring the RS-232 Port


The RS-232 Communication Interface allows ASCII, asynchronous, serial
communication between the Meter and a host or terminal. The following sections
describe the process of configuring the RS-232 port. To make the RS-232 port the active
port for remote operation, see the “Selecting the Remote Interface Port” section above.
Table 2 lists the RS-232 parameter settings when the Meter leaves the factory.

Table 2. Factory Settings of RS-232 Communications Parameters

Parameter Factory Setting

Baud Rate 9600

Parity None (Parity bit 0)

Number of Data Bits 8 (7 data bits plus 1 parity bit)

Number of Stop Bits 1

Flow Control None

To access the RS-232 setup menu:


1. Press I.
2. Press the PORT IF soft key.
3. Press the RS 232C soft key.

At this point, all the RS-232 settings are made available.

Note
All RS-232 port parameter settings are non-volatile and remain set until
changed.

Setting RS-232 Baud Rate


To set the baud rate:
1. With the RS-232 set up menu displayed, press BAUD RATE.

There are eight pre-defined settings: 1200, 2400, 4800, 9600, 19200 38400, 57600,
115200, and 230400. These selections are displayed in two separate menus. When
first entering baud rate selection, baud rates 9600 to 1200 are displayed. To get to the
next five higher baud rates, press MORE. To get back to the lower baud rates, press
B.
2. With the desired baud rate displayed, press the soft key under the chosen baud rate.

10
Digital Multimeter
Configuring the RS-232 Port

Setting RS-232 Parity and Data Bits


To set the data bits:
1. With the RS-232 set up menu displayed, press PARITY DATA BIT.
2. Press the soft key under the desired parity, and data bit parameter.

NONE 8B DATA = No parity with 8 data bits


ODD 7B DATA = Odd parity with 7 data bits
EVEN 7B DATA = Even parity with 7 data bits

Setting RS-232 Stop Bits


To set the stop bits:
1. With the RS-232 set up menu displayed, press PARITY DATA BIT.
2. Press the soft key labeled 2 STOP BITS to toggle between 1 and 2 stop bits.

Note
When 2 STOP BITS is highlighted, the interface is configured to use 2 stop
bits.

Setting RS-232 Flow Control


To set flow control:
1. With the RS-232 set up menu displayed, press FLOW CONTROL.
2. Press the soft key under the desired flow control.

NONE = No flow control


XON = Software flow control Xon (hex 11) and Xoff (hex 13)
RTS = Hardware flow control, RTS/CTS

Setting RS-232 End-Of-Line Character


To set the End-Of-Line (EOL) character:
1. With the RS-232 set up menu displayed, press EOL.
2. Press the soft key labeled with the desired End-Of-Line character(s).

CR = Carriage return only


LF = Line Feed only
CR LF = Carriage Return and Line Feed

Note
Setting the EOL character(s) in RS-232 also sets the same EOL
character(s) for Ethernet operation.

Enabling and Disabling Fluke 45 Emulation Echo


Although you can turn echo on or off at anytime, the selection is only used or changed
when the Meter’s command mode is set to Fluke 45 emulation.
To enable or disable Echo for the RS-232 port:
1. With the RS-232 set up menu displayed, press COMP/TERM ECHO.
2. Press either the ECHO or NO ECHO soft key.

11
DMM4040/4050
Programmer Manual

RS-232 Modes of Operation


RS-232 communication is slightly different between the DMM4040/4050 and the Fluke
45 emulation modes. Switching between these two command languages is covered in the
“Selecting the Programming Language” section later in this manual. The following
sections explain the differences in communications protocol and how to set the Meter and
computer parameters for proper operation.

DMM4040/4050 Mode
There are two modes of RS-232 operation when the Meter has the DMM4040 or 4050
command set selected: TERMINAL and COMPUTER. The terminal mode is an
interactive mode where an operator inputs commands, with immediate returns for
requested information (queries) and interface messages. In terminal mode, characters sent
to the Meter are echoed on the host’s display screen and a command prompt (for example
3>) is returned after the CR/LF is entered by the terminal. If you send a character to the
Meter over the RS-232 interface, pressing the <DELETE> or <BACKSPACE> key
deletes the previous character. A backspace is echoed to the host terminal.

Note
^C (CNTRL C) is the RS-232 equivalent of IEEE-488 DCI (device clear),
causing “1>” followed by a carriage return and line feed to be output.
The computer mode is used when the Meter is operated by computer program. In this
mode, requested information is returned by query, and interface messages are queued and
returned by command. Characters are not echoed on the host computer and command
prompts are suppressed. The <DELETE> or <BACKSPACE> keys are ignored.

Selecting Between Computer and Terminal Mode


Although you can select between Computer and Terminal mode at any time, the selection
is only used or changed when the Meter’s command mode is set to DMM4040/4050.
To select computer or terminal mode from the front panel:
1. Press I and then PORT IF.

Note
If the RS-232 port is not already highlighted, press SELECT PORT and
then RS 232C.
2. Press either RS 232C, COMP/TERM ECHO and select either COMPUTER or
TERMINAL.

Fluke 45 Mode
In the Fluke 45 Command emulation mode, there are two modes of RS-232 operation:
ECHO or NO ECHO. In Echo mode, characters sent to the Meter are echoed on the
host’s display screen. In No Echo mode, characters sent are not echoed.
To set the echo parameter, refer to the "Enabling and Disabling RS-232 Echo" section
earlier in this manual. If you send a character to the Meter over the RS-232 interface,
pressing the <DELETE> or <BACKSPACE> key deletes the previous character. A
backspace is echoed to the display screen if Echo On mode is set.
In either mode, when the host sends a command to the Meter over the RS-232 interface,
the Meter parses and executes the command, and returns a response if appropriate, and
sends one of three prompts:

12
Digital Multimeter
Configuring the RS-232 Port

=> No errors were detected and the command was successfully parsed and
executed.
?> A Command Error was detected. The command was not executed because it
was not understood. For instance, this prompt would be returned if the Meter
was sent an input string that contained a syntax error.
!> An Execution Error was detected. The command was understood but not
executed (i.e., a device-dependent error). For instance, this prompt would be
returned if you attempted to use the decibels modifier (dB) on a frequency
measurement (FREQ).

Note
^C (CNTRL C) is the RS-232 equivalent of IEEE-488 DCI (device clear),
causing "=>" followed by a carriage return and line feed to be output.
Terminations for the end of line can be set to carriage return (CR), line feed (LF), or both
(CRLF). Terminations for the end of line can be set in the <Instr SETUP><PORT
IF><RS232C> selection.
To change the Meter to Fluke 45 Emulation Mode, setup the remote interface for RS-232
or IEEE-488 (Fluke 45 mode will not work over Ethernet):
For RS-232
1. Press I
2. Press PORT IF softkey.
3. Press the SELECT PORT softkey.
4. Press the RS 232C softkey.
Set the baud rate to 9600 as follows:
1. Press I
2. Press PORT IF softkey.
3. Press the RS 232C softkey.
4. Press the BAUD RATE softkey.
5. Press the 9600 softkey.
Set the RS-232 port to non-echo as follows:
1. Press I
2. Press PORT IF softkey.
3. Press the RS 232C softkey.
4. Press the COMP/TERM ECHO softkey.
5. Press the NO ECHO softkey.
For IEEE-488
1. Press I
2. Press PORT IF softkey.
3. Press the SELECT PORT softkey.
4. Press the IEEE488 softkey.
Set the IEEE-488 address to a system compatible value as follows:
13
DMM4040/4050
Programmer Manual

1. Press I
2. Press PORT IF softkey.
3. Press the IEEE488 softkey.
4. Use the soft keys to set the address as follows.

Select the address digit to adjust by pressing either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the character.
5. With the desired address set, press ENTER.
To set the Meter to Fluke 45 emulation:
1. Press I
2. Press the COMMANDS softkey.
3. Press the FLUKE 45 softkey.

Interconnections
The Meter communicates with a host through a DB-9 interface connector on the rear
panel of the Meter. Connect the Meter to the host or terminal using a cable appropriate to
your application that is less than 50 feet (15 meters) long. Longer cables are permitted,
providing that the load capacitance measured at the interface point (including the signal
terminator) does not exceed 2500 picofarads.
Figure Error! Reference source not found. shows the pin-out of the Meter’s RS-232
port, and two possible cable connections for communicating with a PC.

Fluke 8842A Emulation Mode


The Fluke 8842A emulation mode is only available when the Meter has the IEEE-488
port selected. To change the Meter to Fluke 8842A Emulation Mode, setup the remote
interface for IEEE-488 (Fluke 8842A emulation mode will not work over RS-232 or
Ethernet):
1. Press I
2. Press PORT IF softkey.
3. Press the SELECT PORT softkey.
4. Press the IEEE488 softkey.
Set the IEEE-488 address to a system compatible value as follows:
1. Press I
2. Press PORT IF softkey.
3. Press the IEEE488 softkey.
4. Use the softkeys to set the address as follows.

Select the address digit to adjust by pressing either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the character.
5. With the desired address set, press ENTER.

14
Digital Multimeter
Configuring the RS-232 Port

To set the Meter to Fluke 8842A emulation:


1. Press I.
2. Press the COMMANDS softkey.
3. Press the 8842 softkey.

4040/4050 Cable (Null Modem such as Fluke RS43) PC

Not Used No Connect DCD DCD


1 1 1 1
RxData RxData RxData RxData
2 2 2 2
TxData TxData TxData TxData
3 3 3 3
Not Used DTR DTR DTR
4 4 4 4
GND GND GND GND
5 5 5 5
Not Used DSR DSR DSR
6 6 6 6
RTS RTS RTS RTS
7 7 7 7
CTS CTS CTS CTS
8 8 8 8
Not Used No Connect RI RI
9 9 9 9

Cable (USB to RS-232 such as Tektronix 174-5813-00) PC


4040/4050

Not Used No Connect


1 1
RxData RxData
2 2
TxData TxData
3 3
Not Used DTR USB USB
4 4
GND Adapter Interface
GND
5 5
Not Used DSR
6 6
RTS RTS
7 7
CTS CTS
8 8
Not Used No Connect
9 9

Keys

DCD - Data Carrier Detect DSR - Data Set Ready


RxData - Receive Data RTS - Request to Send
TxData - Transmit Data CTS - Clear to Send
DTR - Data Terminal Ready RI - Ring Indicator
GND - Circuit Ground

gdb058.eps
Figure 1. RS-232 Pin-out and Cable Interconnect

15
DMM4040/4050
Programmer Manual

Configuring the Ethernet (LAN) Port


The Meter can be remotely controlled through the LAN port on the Meter’s rear panel.
To select the LAN port as the remote control port, see the “Selecting the Remote
Interface” section above.
Configuring the LAN port is accomplished through the Instrument Setup function. The
selectable LAN port parameters are: DHCP (Dynamic Host Configuration Protocol), IP
Address, Net mask, Host Name, Mac Address, Gateway, Port number, and Domain.
When setting IP addresses, subnet masks, and default gateways on the Meter, keep in
mind they are stored as 32-bit binary numbers and expressed as four 3-digit segments in
dot-notation form. For example, xxx.xxx.xxx.xxx, where xxx is a byte value, is stored as
a 32-bit binary number.
To set the LAN port parameters:
1. Press I.
2. Press the PORT IF soft key.
3. Press the LAN soft key.

Note
When addressing some LAN addresses, computers will often interpret 0's in
the IP address as OCTAL values. As an example, if you configure your IP
address from the front panel as 129.196.017.023 and then attempt to
establish a connection to the meter, you should connect using the IP
address 129.196.17.23. Attempting to establish a connection to
129.196.017.023 may result in a connection request to 129.196.15.19.

Setting the IP Address


An internet (IP) address is required for all internet and TCP/IP communications. If DHCP
is enabled, the Meter will use the dynamic address supplied by the DHCP server.
However, if the DHCP server fails to supply the address, or DHCP is disabled, the
currently configured static IP address will be used.

Selecting Dynamic Host Configuration Protocol (DHCP)


Dynamic Host Configuration Protocol (DHCP) is a client-server protocol that eliminates
having to manually set permanent/static IP addresses. The DHCP server provides
configuration parameters (dynamic IP address, subnet mask, and default gateway IP
addresses) which are required for a client to participate in an IP network.
Using DHCP is the easiest way to configure the Meter for remote communication
through the LAN interface. DHCP is enabled when the Meter is shipped from the factory.
When connected to a network, and the LAN port is enabled, the Meter will try and
retrieve the parameters from a DHCP server necessary for communications. If the
parameters can’t be obtained, the Meter switches to the parameters that were manually
entered into the Meter.
To disable or enable DHCP on the Meter:
From the PORT IF menu, press LAN. If DHCP is already enabled, then DHCP will
be highlighted in the display. Pressing DHCP will toggle between enabled and disabled.

16
Digital Multimeter
Configuring the Ethernet (LAN) Port

Note
After changing any Ethernet setting (except the socket port), the Meter must
be powered off and on again, using the rear-panel power switch, to make
the change active.

Setting a Static Internet Address


The Meter comes from the factory with 000.000.000.000 in the static IP address register.

Note
If you are planning to use the Meter on a corporate LAN and do not wish to
use DHCP, contact your network administrator for a static IP address to be
used exclusively by your Meter. DHCP must be disabled to set a static IP
address.
To change the Meter’s static IP Address:
1. From the LAN Port setup menu, press the IP_ADDR soft key.
2. Use the soft keys to set the IP Address as follows:

To select the address character to adjust, press either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the digit.
3. Press the ENTER soft key.

Note
The IP address is stored in non-volatile memory, and does not change when
power is removed and reapplied to the Meter or when the Meter receives an
*RST command.

Setting the LAN Subnet Mask


If communication between the host computer and the Meter passes through a router or
gateway, and DHCP is disabled, you must set the subnet mask and default gateway
address on both the host computer and the Meter. Get the correct subnet mask and
gateway address from your network administrator.
The LAN Subnet Mask is a 32-bit number. This number is represented as four 3-digit
segment numbers on the front-panel display. The default subnet mask set at the factory is
255.255.254.0.
To change the Meter’s subnet mask:
1. From the LAN Port setup menu, press the NETMASK soft key.
2. Use the soft keys to set the subnet mask as follows:

To select the mask character to adjust, press either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the digit.
3. Press the ENTER soft key.
The new Subnet Mask will not take effect until the Meter has been powered down and
back up again using the rear-panel power switch.

17
DMM4040/4050
Programmer Manual

Reading the Domain Name


The Domain Name is supplied by the DHCP server and cannot be changed. To read the
domain name:
1. From the LAN Port setup menu, press MORE.
2. Press the DOMAIN soft key.
3. Press B to return to the LAN Port setup menu.

Configuring the Host Name


The Host Name is the host portion of the domain name, which is translated into an IP
address. The Meter’s default host name is “test1”.
To change the Host Name:
1. From the LAN Port setup menu, press the HOSTNAME soft key.
2. Use the soft keys to set the Host Name as follows:

To select the character to adjust, press either <-- or -->.

With the desired character selected, press the soft key labeled -- to decrement the
character or ++ to increment the character.
3. Press the ENTER soft key.
The new Host Name will not take effect until the Meter has been powered down and back
up again using the rear-panel power switch.

Reading the MAC Address


The MAC Address is set at the factory and cannot be changed. To read the MAC
Address:
1. From the LAN Port setup menu, press MORE.
2. Press the MAC_ADDR soft key.
3. Press B to return to the LAN Port setup menu.

Configuring the LAN Default Gateway


The default gateway IP address is the IP address of a gateway (router) attached to the
same network as the device. When the instrument detects that a host computer is not on
the same network (using the network number), the data is sent through the gateway to
reach the host computer.
The default for the Meter is “0” (no gateway, and subnetting is not being used).
To set the LAN Default Gateway address:
1. From the LAN Port setup menu, press MORE.
2. Press GATEWAY.
3. To select the digit to adjust, press either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the digit.
4. Press the ENTER soft key.

18
Digital Multimeter
Establishing an Ethernet Connection

The new gateway address will not take effect until the Meter has been powered down and
back up again using the rear-panel power switch.

Configuring the General Network Socket Port


In order to communicate with each other, a host computer and the Meter must use the
same socket port number. The default port is 3490. Typically, the default port does not
need to be changed. If the socket port must be changed, enter the Socket Port number
supplied by your network administrator.
To change the Socket Port number:
1. From the LAN Port setup menu, press the MORE soft key.
2. Press the PORT # soft key.
3. To select the digit to adjust, press either <-- or -->.

With the desired digit selected, press the soft key labeled -- to decrement the digit
or ++ to increment the digit.
4. Press the ENTER soft key.
The new Network Socket Port becomes effective immediately.

Note
The Network Socket Port Number is stored in non-volatile memory.

Establishing an Ethernet Connection


The easiest method of establishing an Ethernet connection with the Meter is through the
commonly available program: Telnet. Telnet is a client-server protocol, based on TCP.
The Telnet Protocol provides a fairly general, bi-directional, eight-bit byte oriented
communications facility. Telnet is available on all UNIX servers and on most PCs.
Telnet clients typically connect to hosts on socket port 23. The LAN connection to the
Meter must be established using the specified Network Socket Port. See the “Configuring
the General Network Socket Port” section above. When the remote interface port is
changed to LAN from the Meter’s front panel, a LAN server is initiated in the Meter
which listens for client connections on the socket port at the specified IP address.
To establish a LAN connection to the Meter from a computer using either UNIX,
LINUX, or MS-DOS command prompts, perform the following procedure:
1. On the Meter’s front panel, change the remote interface port to LAN
2. At the command prompt on the client computer, enter:
telnet <IP Address> <Socket Port>
Alternatively, if you are using DHCP and would like to connect using the host name
rather than the IP address, from the computer command prompt enter:
telnet <Domain Name> <Socket Port>
As an example, if you know the IP address is 129.196.136.131 and the Socket Port is set
to 3490, enter the following at a command prompt from any client computer:
telnet 129.196.136.131 3490
If you are using DHCP and the host name is test1 and the fully qualified domain name is
test1.na.tektronix.com and the Socket Port is set to 3490, enter the following at the
computer command prompt:
19
DMM4040/4050
Programmer Manual

telnet test1.na.tektronix.com 3490


Once the internal LAN server connects with the client computer, the LAN server will
reject any other connection attempts by other computers and will “tunnel” a channel to
the connected computer. This prevents multiple computers from trying to control the
Meter.

20
Digital Multimeter
Terminating an Ethernet Connection

Terminating an Ethernet Connection


When you wish to terminate the Ethernet connection, you may do so one of two ways:
1. Change the Meter’s remote interface port to something other than LAN
2. Terminate the Telnet session on the client computer
If you have established a LAN connection to the Meter using Telnet and change the
remote interface port using the Meter’s front panel, the LAN server in the Meter will
automatically terminate the Telnet session on the client computer.
On the other hand, you may wish to terminate the Telnet session on the client computer
but maintain the current LAN remote interface port configuration. Client Telnet session
termination can vary from computer to computer, but typically terminating the shell (or
command window in DOS) will terminate the telnet session. When the client terminates
the Telnet session, the LAN server in the Meter will go back into listen mode waiting for
a new client to make a LAN connection request.

Selecting the Programming Language


The Meter’s remote command set is switchable between DMM4040/4050, Fluke 8842A,
and Fluke 45 commands. The Meter’s standard remote command set (DMM4040/4050)
is compatible with Agilent’s 34401A SCPI command set. Although every effort was
made to make the Meter compatible with Fluke 45 commands and Fluke 8842A
commands, there are some commands that are not compatible. See Appendix B, “Fluke
45 Emulation Limitations” for details on Fluke 45 commands that are not compatible
with this Meter. See Appendix D, “Fluke 8842A Emulation Limitations” for details on
Fluke 8842A commands that are not compatible with this Meter.
To change the Meter’s remote command set:
1. Press I.
2. Press the COMMANDS soft key.
3. Press the soft key labeled with the desired command set.

Getting Started With an Installation Test


After the Meter has been cabled to a host, and prepared to communicate with it via the
RS-232 or IEEE-488 interface (as described above), test the system to verify that it is
operational.

Installation Test for RS-232 Connections


The procedure below illustrates how the Meter performs a computer interface command,
and at the same time, confirms that the Meter has been properly set up and connected for
RS-232 remote operation:
1. Press the POWER button to turn on the Meter.
2. Start up a computer terminal program.
3. Verify that the computer interface parameters (e.g., baud, parity) are set correctly.
4. Send the Meter the following command.
*IDN? <CR>
5. Verify that the Meter sends the following response:

21
DMM4040/4050
Programmer Manual

In DMM4040 mode:
TEKTRONIX, DMM4040, nnnnnnnm, mm/dd/yy – tt:tt
In DMM4050 mode:
TEKTRONIX, DMM4050, nnnnnnnm, mm/dd/yy – tt:tt
In Fluke 45 mode:
FLUKE, 45, nnnnnnn, n.n Dn.n

In these results, nnnnnnn is your Meter's serial number; n.n identifies the main
software version; and Dn.n identifies the display software version.

Installation Test for IEEE-488 Connections


The procedure below illustrates how the Meter performs a computer interface command,
and at the same time, confirms that the Meter has been properly set up, and connected for
IEEE-488 operation:
1. Turn on the Meter.
2. Verify that the meter's IEEE-488 address is set correctly.
3. Turn on the host or controller.
4. Enter the following at the host:

Note
This is a BASIC program to give an idea of how the test could be done.
Syntax may vary with the host.
INIT PORT 0<CR>
CLEAR PORT 0<CR>
PRINT @<address of meter>, "*IDN?"<CR>
INPUT LINE @<address of meter>, A$<CR>
PRINT A$<CR>
5. Verify that the meter sends the following response

In DMM4040 mode:
TEKTRONIX, DMM4040, nnnnnnnm, mm/dd/yy – tt:tt
In DMM4050 mode:
TEKTRONIX, DMM4050, nnnnnnnm, mm/dd/yy – tt:tt
In Fluke 45 mode:
FLUKE, 45, nnnnnnn, n.n Dn.n

In these results, nnnnnnn is your meter's serial number, n.n identifies the main software
version, and Dn.n identifies the display software version.

If the Test Fails


If the Meter does not respond to the test procedure as indicated:
1. Check all cable connections.
2. Check to see the remote interface has been properly enabled and addressed.

22
Digital Multimeter
How the Meter Processes Input

How the Meter Processes Input


The following paragraphs summarize how the Meter processes input that is received from a
host or stand-alone terminal.

Note
In this manual, input means a string sent to the Meter from a host. Output means a string
sent from the meter through the computer interface to the host.

Input Strings
The meter processes and executes valid input strings sent by the host. A valid input string
is one or more syntactically correct commands followed by an input terminator.
When the meter receives input, it stores it in a 350-byte input buffer.

Note
Input strings received over the RS-232 interface are not executed or
checked for proper syntax until an input terminator is received or the input
buffer becomes full.
The Meter accepts alphabetic characters in either upper- or lower-case. If a command
cannot be understood (i.e. the equivalent of an IEEE-488 Command Error), the
remainder of the command line is ignored.

Input Terminators
An input terminator is a character or command (IEEE-488.1) sent by the host that identi-
fies the end of a string.
In RS-232 applications, when the Meter receives an input terminator, it executes all com-
mands entered since the last terminator was received on a first-in, first-out basis.
As input characters are processed and executed, space is made available in the input
buffer for new characters. In RS-232 applications, if a communications error (e.g., parity,
framing, over-run) is detected, a device-dependent error is generated, and the input string
is discarded. If the Meter's input buffer becomes full when it is used with the RS-232
interface, a device-dependent error is generated (see "Event Status and Event Status
Enable Register"), and the input string is discarded. If, on the other hand, the input buffer
becomes full when the IEEE-488 interface is used, the Meter stops accepting characters
until there is room in the buffer. Characters in the input buffer cannot be over-written
with the IEEE-488 interface.
Valid terminators for the RS-232 interface are:
• LF (Line Feed)
• CR (Carriage Return)
• CR LF (Carriage Return/ Line Feed)
Valid terminators for the IEEE-488 interface are:
• EOI (End or Identity) on any character
• LF (Line Feed)
In some instances, a terminator is automatically transmitted at the end of the host's output
string (i.e., the Meter's input string). For example, in Fluke BASIC, the PRINT statement
finishes with a CR LF pair.

23
DMM4040/4050
Programmer Manual

Typical IEEE-488 Input Strings


Two typical strings that could be sent to the Meter over the IEEE-488 interface are shown
in Figure Error! Reference source not found.. These strings are written in BASIC to be
sent from an instrument controller or computer.

Sending Numeric Values to the Meter


Numeric values can be sent to the Meter as integers, real numbers, or real numbers with
exponents, as shown in the following examples:
EXAMPLE EXPLANATION
+12345689 Sends the signed integer +12345689
-1.2345E2 Sends -1.2345 x 102

Sending Command Strings to the Meter


Observe the following rules when you construct strings to be sent to the Meter over the
computer interface:
• RULE 1: READ METER'S OUTPUT BUFFER ONLY ONCE FOR EACH QUERY
COMMAND.
The Meter’s output buffer is cleared after it is read. This prevents previously read
data from being read a second time by mistake. If you attempt to read the meter’s
output buffer twice without an intervening query, the Meter will not respond to the
second read.
• RULE 2: READ QUERY RESPONSES BEFORE SENDING ANOTHER QUERY
COMMAND STRING.
Output data remains available in the output buffer until read by the host or until the
next command string is received by the Meter. This means the Meter’s output buffer
must be read by the host before, and not after, the next command string is sent to the
Meter.
• RULE 3: THE METER EXECUTES EACH COMMAND COMPLETELY, IN THE
ORDER RECEIVED, BEFORE MOVING ON TO THE NEXT
COMMAND.
If an input string contains a trigger, enter the commands in the following order, that
is, from left to right, as written:
1. Commands (if any) to configure the Meter.
2. The trigger command.
3. Commands to read the result of a triggered measurement (FETCh? or READ? for
the DMM4040/4050 and VAL? for the Fluke 45 emulation), or to reconfigure the
instrument (if any).
4. The terminator.
Figure 2 gives two examples of a command string for the Meter. The first example is a
command recognized by the Meter in the DMM4040 or 4050 command mode. The
second example is for the Fluke 45 command mode.

24
Digital Multimeter
How the Meter Processes Output

In the following examples, <space> between commands is for readability only. However a
<space> between a command and its argument is required. The PRINT command sends a
terminator at the end of the string.

EXAMPLE 1: The following string configures the Meter and triggers an ohms reading to be shown
on the primary display when the Meter is in 4040 or 4050 command mode.

PRINT @3, "*RST; CONF:RES 1; :RES:NPLC 1; :TRIG:SOUR BUS; :INIT; *TRG; FETCH?"

IEEE-488 bus address

Reset to power-up configuration

Select function 1 ohm range

Select 1 PLC measurement rate

Select Bus triggering

Wart-for-trigger state

Trigger a reading

Return reading shown on primary display

EXAMPLE 2: The following string configures the Meter and triggers an ohms reading to be shown
on the primary display when the Meter is in Fluke 45 emulation mode.

PRINT @3, "*RST; OHMS; RANGE 1; RATE M; TRIGGER 2; *TRG; VAL1?"

IEEE-488 bus address

Reset to power-up configuration

Select function

Select 300 range

Select medium reading rate

Select external trigger


(Rear panel trigger disabled, no trigger delay)
Trigger a reading

Return reading shown on primary display

gdb19f.eps
Figure 2. Typical IEEE-488 Input String

How the Meter Processes Output


The following paragraphs summarize how the Meter processes output. The Meter outputs
an alphanumeric string in response to a query command from the host. Query commands
25
DMM4040/4050
Programmer Manual

are easily identified because they all end with "?". An output string is terminated by a
Carriage Return and Line Feed (<CR><LF>) for RS-232 or Ethernet applications, or a
Line Feed with End or Identity (<LF><EOI>) for IEEE-488.
After sending the Meter a query command via the RS-232 interface, wait for the Meter to
return a prompt before sending another query command. Although the Meter will accept
and process all commands other than a query command, a device-dependent command
error is generated; and the second command is discarded if it is a query command.
If the Meter is part of an IEEE-488 bus system, the output data is not actually sent onto
the bus until the host addresses the Meter as a talker. When the output buffer is loaded,
the Message Available (MAV) bit in the Status Byte Register is set true. (For more
information, see "Status Byte Register.”)
Numeric output from the Meter is displayed as shown in the following examples:
EXAMPLE EXPLANATION
+1.2345E+0 Measured value of 1.2345
+1.2345E+6 Measured value of 1.2345 x 106

Triggering Input
While under remote control, the Meter must be placed in a wait-for-trigger state before a
measurement can be triggered. The INITiate and READ? commands set the Meter in to a
wait-for-trigger state. The number of measurements (samples) and the number of triggers
the Meter will accept after being put in a wait-for-trigger state are variables set using
remote commands. The defaults for these variables are one sample per trigger and one
trigger per wait-for-trigger state. See the Trigger and Sample remote commands to set
these values.
All available trigger methods fall into two basic categories:
• Internal triggering uses the Meter’s internal trigger circuit for a continuous source of
triggers.
• External triggering comes from a source outside the Meter controlled by the user.

Internal Triggering
When the Meter’s trigger source is set to immediate, measurements are triggered by the
Meter’s internal trigger circuit. As an example, with the sample count set to 5 and the
trigger count set to 2, the Meter will collect 10 measurements after it receives an INITiate
or READ? command and then stop taking measurements. The READ? command will
return all 10 readings immediately while the INITiate command must be followed by a
FETCh? command to retrieve the measurements.

26
Digital Multimeter
Service Requests (IEEE-488 Only) and Status Registers

External Triggering
There are three methods of triggering the Meter externally:
• A trigger signal applied to the external trigger jack on the Meter’s rear panel.

When the Meter’s trigger source is set to external and the Meter is in a wait-for-
trigger state, a negative-going signal on the external trigger jack will trigger a
measurement cycle.
• IEEE-488.1 GET command (IEEE-488 Interface only)
• *TRG command

When the Meter’s trigger source is set to BUS and the Meter is in a wait-for-trigger
state, either a *TRG or bus GET command will trigger the Meter to take
measurements.

Service Requests (IEEE-488 Only) and Status Registers


Service requests let an instrument on the IEEE-488 bus get the attention of the host.
Service requests are sent over the service request (SRQ) bus line.
If more than one instrument on the bus is capable of sending service requests, the host
can determine which instrument made the request by taking a serial poll. Each instrument
on the bus responds to the poll by sending the contents of its Status Byte Register. If an
instrument on the bus has made a service request, the request service bit (RQS, bit 6) of
its Status Byte Register will be set to 1, identifying it as an instrument that requested
service.
The contents of the Status Byte Register (STB) is determined by the Service Request
Enable Register (SRE), Standard Event Status Register (ESR), Standard Event Status
Enable Register (ESE), Questionable Data Event Register, Questionable Data Enable
Register, and the output buffer. These status registers are discussed below, and
summarized in Table 3. Figure 3 shows the relationship of these registers.

Table 3. Status Register Summary

Register Read Command Write Command Enable Register

Status Byte Resister *STB? None SRE

Status Byte Enable Register *SRE? *SRE None

Standard Event Register *ESR? None ESE

Standard Event Enable *ESE? *ESE None


Register

Questionable Data STAT:QUES:EVEN? None Questionable Data


Event Register Enable Register

Questionable Data STAT:QUES:ENAB? STAT:QUES:ENAB None


Enable Register <value>

27
DMM4040/4050
Programmer Manual

Questionable Data Binary Wieghts


Event Register Enable Register 2 =
0
1
8
2 = 256
0 Voltage Overload 21 = 2 29 = 512
1 Current Overload 22 = 4 210 = 1024
3
Not Used 2 = 8 211 = 2048
4 12
Not Used 2 = 16 2 = 4096
25 = 32 213 = 8192
Not Used 6
2 = 64 214 = 16384
Not Used
27 = 128 15
2 = 32768
Not Used
Not Used "OR"
Not Used
9 Ohms Overload
Status Byte
Not Used
Summary Register Enable Register
11 Limit Test Fail LO
0 Not Used
12 Limit Test Fail HI
Not Used
13 Remote Mode
Not Used
Not Used 3
Questionable Data "OR"
15 Not Used 4
STAT:QUES:EVEN? STAT:QUES:ENAB <value>
Message Available
5
STAT:QUES:ENAB? Standard Event
6
Request Service
Standard Event 7 Not Used
Event Register Enable Register Serial Poll (SPOLL) *SRE <value>
*STB? *SRE?
0 Operation Complete
Not Used
2 Query Error
Output Buffer
3 Device Error "OR"
4 Execution Error
5 Command Error
Not Used
7 Power On
*ESR? *ESE <value>
*ESE?

caw01f.eps
Figure 3. Overview of Status Data Structure (DMM4040/4050 and Fluke 45)

Standard Event Status and Standard Event Status Enable Registers


The Standard Event Status Register (ESR) assigns events to specific bits (see Figure 3
and Table 4). When a bit in the ESR is set (for example, 1), the event that corresponds to
that bit has occurred since the register was last read or cleared. For example, if bit 3
(DDE) is set to 1, a device-dependent error has occurred.
The Standard Event Status Enable Register (ESE) is a mask register that allows the host
to enable or disable (mask) each bit in the ESR. When a bit in the ESE is 1, the
corresponding bit in the ESR is enabled. When any enabled bit in the ESR changes from
O to 1, the Standard Event bit in the Status Byte Register also goes to 1. When the ESR is
read (using the *ESR? command) or cleared (using the *CLS command), the Standard
Event bit in the Status Byte Register returns to 0.

Table 4. Description of Bits in ESR and ESE

Bit No. Name True (Set to 1) Conditions

0 Operation Complete (OPC) All commands previous to receipt of an *OPC command


have been executed. Interface is ready to accept another
message.
1 Not used Always set to zero.

28
Digital Multimeter
Service Requests (IEEE-488 Only) and Status Registers

2 Query Error (QYE) Attempt has been made to read data from the Meter's
output buffer when no output is present or pending.
Possibly a new command line has been received before a
previous query has been read or both input and output
buffers are full.

3 Device-Dependent Error (DDE) Incorrect input during calibration, or RS-232 input buffer
overflow.

4 Execution Error (EXE) Command was understood but could not be executed.
Results from, for example, an inappropriate parameter.

5 Command Error (CME) Command not executed because it was not understood.
This condition might occur when, for example, a command
sent to the meter contained a syntax error.

6 Not used Always set to zero.

7 Power On (PON) Power has been cycled off and on since the last
time the ESR was read or cleared.

Questionable Data Event Register and Questionable Data Enable Register


The Questionable Data Event Register provides information about the Meter’s
measurements. Information such as overload conditions, high/low limits, and whether or
not the Meter is in remote mode can be reported through the questionable data summary
bit. Once a bit is set by the Meter, it remains set until it is read from the register or is
cleared. The sixteen bits of the Questionable Data Event Register are described in
Table 5.
The Questionable Data Enable Register determines which of the bits in the Questionable
Data Event Register will be used to the set the Questionable Data Summary bit in the
Meter’s Status Byte. When a bit in the Questionable Data Enable Register is 1, the
corresponding bit in the Questionable Data Event Register is enabled. When any enabled
bit in the Questionable Data Event Register changes from 0 to 1, the Questionable Data
bit in the Status Byte Register also goes to 1. When the Questionable Data Event Register
is read (using the STAT:QUES:EVEN? command) or cleared (using the *CLS
command), the Questionable Data bit in the Status Byte Register returns to 0.

Table 5. Description of Bits in the Questionable Data Register

Bit No. Name True (Set to 1) Condition

Input voltage has exceeded the


0 Voltage Overload
upper limit of the range.

Input current has exceeded the


1 Current Overload
upper limit of the range.

2–8 Not Used

The resistance measurement has


9 Ohms Overload exceeded the upper limit of the
range.

10 Not Used

The measurement is below the


11 Limit Test Fail Lo
low end of the test limit.

29
DMM4040/4050
Programmer Manual

The measurement is above the


12 Limit Test Fail Hi
high end of the test limit.

13 Remote Mode The Meter is set in remote mode.

14 – 15 Not Used

Status Byte Register


The Status Byte Register (STB) is a binary-encoded register that contains eight bits. Note
that the Service Request Enable Register (SRE) uses bits 1 through 5, and bit 7 to set, the
request service (RQS) bit 6, as enabled by the SRE. When the RQS bit is set true (l), the
Meter sets the SRQ line true (1), which generates a service request. The eight bits of the
Status Byte Register (as read by the *STB? command) are described in Table 6.

Reading the Status Byte Register


The host can read the Status Byte Register by performing a serial poll, or sending the
Meter a *STB? query. The value of the status byte is not affected by the *STB? query.
When the Status Byte Register is read, an integer is returned. This integer is the decimal
equivalent of an 8-bit binary number. For example 48 is the decimal equivalent of the
binary 00110000, and means that bit 4 (Message Available) and bit 5 (Standard Event)
are set to “1”.
If the status byte is read by serial poll, bit 6 is returned as a request service (RQS); if it is
read with an *STB? query, bit 6 is returned as Master Summary Status (MSS).
EXAMPLE EXPLANATION
*STB? Reads the Status Byte Register. Assume that “32” is returned. Converting 32
to the binary 00100000 indicates that bit 5 (Standard Event) is set to 1. To
determine the event status, you would have to read the Standard Event
Register in the same manner, using the *ESR? command.

Table 6. Description of Bits in the Status Byte Register

Bit No. Name True (Set to 1) Condition

0 Not used Always set to 0.

1 Not used Always set to 0.

2 Not used Always set to 0.

3 Questionable Data One or more of the enabled events in the


Questionable Data Event Register have occurred.
To determine which Questionable Data events have
occurred, send the Meter STAT:QUES:EVEN? to
read the Questionable Data Event Register.

4 Message Available (MAV) Data is available in the output buffer. Bit set to 1
when response to query placed in output buffer. Bit
cleared (set to 0) when output terminator sent to
host.

5 Standard Event Status (ESB) One or more of the enabled events in the Event
Status Register have occurred. To determine which
events have occurred, send the Meter *ESR? to
read the Event Status Register.

30
Digital Multimeter
Supported SCPI Commands


6 Master Summary Status (MSS) Set to 1 if any enabled bit in the STB (MSS) register
is set to 1, otherwise set to 0. Status of MSS bit
returned by *STB? query command.

Request Service (RQS) Set to 1 if service requested


from front panel, or MSS set to 1. Status of bit
returned by serial poll, which clears RQS.

7 Not Used Always set to zero.

† As read by *STB? command. If the Status Byte Register is read by a serial poll, bit 6 is returned as RQS.

Service Request Enable Register


The SRE Register is an 8-bit register that enables or disables (i.e., masks) corresponding
summary messages in the Status Byte Register.
The Meter may be programmed to make a service request on errors, questionable data, or
when output is available. Conditions that trigger a service request are specified by writing
a binary weighted value to the SRE Register, using the *SRE command.
EXAMPLE EXPLANATION
*SRE 16 Enables the generation of an SRQ when bit 4 (Measurement
Available) in the Status Byte Register is set to 1. 16 is the decimal
equivalent of 00010000 binary. This means that bit 4 in SRE
Register (that corresponds to the Measurement Available bit in the
Status Byte Register) is 1, and all other bits are 0.
EXAMPLE EXPLANATION
*SRE 48 Enables the generation of an SRQ when bits 4 or 5 (Measurement
Available or Standard Event) in the Status Byte Register are set to 1.
The binary equivalent of 48 is 00110000, indicating that bits 4 and 5
are set to 1.
If any bit in the SRE is set to 1, the RQS bit (bit 6) in the Status Byte Register is enabled,
meaning a service request can be generated when the appropriate bits in STB become 1.
Use the *SRE? query (see Table 9) to read the SRE Register. The Meter returns a binary-
weighted integer that represents the enabled bits in the register. (The value of bit 6 will
always be zero.) Convert the returned value to binary to determine the status of register
bits.
EXAMPLE EXPLANATION
*SRE? Reads the value of the SRE Register. Assume "32" is returned.
Converting 32 to the binary 00100000 indicates that bit 5 in the SRE
is set to 1.

Supported SCPI Commands


This section explains the SCPI (Standard Commands for Programmable Instruments)
commands available to program the Meter. This section includes the following
information:
• A list of the supported SCPI Commands
• A discussion of how to use the command set
• A detailed description of each command in the set
• Error handling for the DMM4040/4050

31
DMM4040/4050
Programmer Manual

Note
Throughout this document, the following conventions are used for SCPI
command syntax. Square brackets ( [ ] ) indicate optional keywords or
parameters. Braces ( { } ) enclose parameters within a command string.
Triangle brackets ( < > ) indicate that you must substitute a value for the
enclosed parameter.

SCPI Command Summary


Tables 7 through 16 summarize the SCPI commands implemented in the DMM4040 and
DMM4050 Digital Multimeters.

Table 7. CALibration Command Summary

Command Description

CALibration? [{on|off}] Perform a calibration


CALibration Path to the calibration function
:COUNt? Retrieves number of times Meter has been calibrated
:RECord Records calibration values
:SECure Path to calibration security function
:CODE <new code> Change security code
:STATe {off|on}, <code> Unsecure / secure calibration mode
:STATe? Retrieves state of security mode
:STRing <quoted string> Record calibration information
:STRing? Retrieves calibration information
:DATE <date> Set the calibration date
:DATE? Retrieve the calibration date
:VALue <value> Specify calibration signal value
:VALue? Retrieves calibration signal value
:STEP <step #>[,Reference] Set the calibration step and reference
:STEP? Retrieve the calibration step

Table 8. CONFigure Command Summary

Command Description

CONFigure[:SCALar] Subsystem to set Meter function


[:VOLTage] Path to set voltage function
[:DC [{range}[, {resolution}]]] Selects dc volts function
:RATio Selects dc volts ratio function
:AC [{range}[, {resolution}]] Selects ac volts function
:CURRent Path to set current function
[:DC[ {range}][, {resolution}]]] Selects dc current function
:AC [{range}][, {resolution}]] Selects ac current function
:RESistance [{range}[, {resolution}]] Selects resistance function
:FRESistance [{range}[, {resolution}]] Selects 4-wire resistance function
:FREQuency [{range}[, {resolution}]] Selects frequency function
:PERiod [{range}[, {resolution}]] Selects period function
:CAPacitance [{range}[, {resolution}]] Selects capacitance function
:TEMPerature:FRTD [{<RTD Type>}] Selects 4-wire temperature function
:TEMPerature:RTD [{<RTD Type>}] Selects 2-wire temperature function
:CONTinuity Selects continuity function
:DIODe [{low current}][, {high voltage}]] Selects diode function
CONFigure? Retrieves present Meter configuration

32
Digital Multimeter
Supported SCPI Commands

Table 9. IEEE-488.2 Common Command Summary

Command Description

*CLS Clear status byte summary, and all event registers

*ESE <enable value> Enable bits in standard event register


*ESE? Retrieve standard event enable register

*ESR? Retrieve standard event register

*IDN? Retrieve meter’s identification string

*OPC Set ‘Operation Complete” bit in Standard event reg.


*OPC? Returns “1” in output buffer after command
execution.

*PSC {0|1} Power-on status clear


*PSC? Retrieve power-on status clear setting

*RST Reset Meter to its power-on state

*SRE <enable value> Enable bits in status byte register


*SRE? Retrieve bits in status byte register

*STB? Retrieve the status byte summary register

*TST Perform self-test. Returns “0” if the test succeeds,


“1” if the test fails.

*TRG Trigger a measurement

Table 10. Math Command Summary

Command Description

CALCulate Path to the math functions


:AVERage Path to MIN-MAX function
:MINimum? Retrieves the recorded minimum value
:MAXimum? Retrieves the recorded maximum value
:AVERage? Retrieves the recorded average value
:COUNt? Retrieves the number of readings during MIN-MAX run
:DB Path to DB function
:REFerence Store relative value in relative register
{<value>|MINimum|MAXimum}
:REFerence? Retrieves the relative value from the relative register
:DBM Path to DBM function
:REFerence Select dBm reference value
{<value>|MINimum|MAXimum}
:REFerence? Retrieves the present dBm reference value
:FUNCtion Sets the math function
{NULL|DB|DBM|AVERage|LIMIt}
:FUNCtion? Retrieves the present math function
:KMATh Path to math functions
:STATe { on|off} Disables/enables mx+b calculations
:MMFactor{<value>} Sets the value of “m” for mx+b
:MMFactor? Reads the value of “m” for mx+b
:MBFactor{<value>} Sets the value of “b” for mx+b

33
DMM4040/4050
Programmer Manual

:MBFactor? Reads the value of “b” for mx+b


:MUNits{<name>} Sets the units name for mx+b
:MUNits? Reads the units name for mx+b
:LIMit Path to limit testing function
:LOWer{<value>|MINimum|MAXimum} Set the lower limit for limit testing
:LOWer? Retrieves the lower limit
:UPPer{<value>|MINimum|MAXimum} Set the upper limit for limit testing
:UPPer? Retrieves the upper limit
:NULL Path to null function
:OFFSet {<value>|MINimum|MAXimum} Sets the offset value
:OFFSet? [MINimum|MAXimum] Retrieves set or maximum or minimum offset value.
:STATe {ON|OFF} Disable/enable selected math function
:STATe? Retrieves the state of the math function

DATA Path to storing readings taken with INITiate command


:FEED RDG_STORE, {“CALCulate”|” ”} Enables/disables storing of INITiate readings
:FEED? Retrieves state of storing INITiate readings

Table 11. MEASure Command Summary

Command Description

MEASure[:SCALar] Path to measure control


:CAPacitance? Preset and make capacitance
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]] measurement
:CONTinuity? Make a continuity measurement
:CURRent Path to measure current
:DC? Make a dc current measurement
[{<range>|MIN|MAX|DEF}[, {<resolution>|MIN|MAX|DEF}]]
:AC? Make an ac current measurement
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]]
:DIODe? [{low current}][, {high voltage}]] Make a diode measurement
:FREQuency? Make a frequency measurement
:FRESistance? Make a 4-wire resistance measurement
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]]
:PERiod? Make a period measurement
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]]
:RESistance? Make a 2-wire measurement
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]]
:TEMPerature:FRTD? [{<RTD Type}] Make a 4-wire temperature measurement
:TEMPerature:RTD? [{<RTD> Type>}] Make a 2-wire temperature measurement
:VOLTage Path to voltage measurements
:AC? Make an ac voltage measurement
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]]
[:DC]? Make a dc voltage measurement
[{<range>|MIN|MAX|DEF}[{,<resolution>|MIN|MAX|DEF}]]
:RATio? Make a dc voltage ratio measurement

34
Digital Multimeter
Supported SCPI Commands

Table 12. Measurement Configuration Command Summary


[1]
Command Description

[SENSe:] Path to Meter configuration


FUNCtion[1/2] “CAPacitance” Select capacitance function
FUNCtion[1/2] “CONTinuity” Select continuity function
FUNCtion[1/2] “CURRent:AC” Select ac current function
FUNCtion[1/2] “CURRent:DC” Select dc current function
FUNCtion[1/2] “DIODe” Select diode function
FUNCtion[1/2] “FRESistance” Select 4-wire resistance function
FUNCtion[1/2] “FREQuency” Select frequency function
FUNCtion[1/2] “PERiod” Select period function
FUNCtion[1/2] “RESistance” Select 2-wire resistance function
FUNCtion[1/2] “TEMPerature:FRTD” Select 4-wire temperature function
FUNCtion[1/2] “TEMPerature:RTD” Select 2-wire temperature function
FUNCtion[1/2] “VOLTage:DC” Select dc voltage function
FUNCtion[1/2] “VOLTage:AC” Select ac voltage function
FUNCtion[1] “VOLTage:RATio” Select dc voltage ratio function
FUNCtion[1/2] ? Retrieve present measurement function
FUNCtion2 “None” Turn off secondary display
VOLTage Path to configure voltage measurement range
:AC Path to ac voltage range
:BANDwidth {3|20|200|MINimum|MAXimum} Select filter
:BANDwidth? Retrieve present filter setting
:RANGe {<range>|MINimum|MAXimum} Set ac voltage range
:AUTO {OFF|ON} Disable/Enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for ac voltage measurement
:RESolution? [MINimum|MAXimum] Retrieve ac voltage measurement resolution
[:DC] Path to dc voltage range

35
DMM4040/4050
Programmer Manual

Table 12. Measurement Configuration Command Summary (cont.)


[1]
Command Description

:FILTer Path to analog filter


[:STATe] {OFF|ON} Activates or deactivates 3-pole analog filter
[:STATe]? Retrieve the present analog filter setting
:DIGItal Path to digital filter
[:STATe]{OFF|ON} Activates or deactivates digital filter
[:STATe]? Retrieve the present digital filter setting
:IMPedance Path to input impedance selection
:AUTO {OFF|ON} Turn auto-impedance mode off or on
:AUTO? Retrieve present setting of auto impedance
:NPLCycles {0.02|0.2|1|10|100| Set integration time for selected function
MINimum|MAXimum}
:NPLCycles? [MINimum|MAXimum] Retrieve integration time for selected function
:RANGe {<range>|MINimum|MAXimum} Set dc voltage range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for dc voltage measurement
:RESolution? [MINimum|MAXimum] Retrieve dc voltage measurement resolution
CURRent Path to configure current measurement range
:AC Path to ac current range
:BANDwidth {3|20|200|MINimum|MAXimum} Select filter
:BANDwidth? Retrieve present filter setting
:RANGe {<range>|MINimum|MAXimum} Set ac current range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for ac current measurement
:RESolution? [MINimum|MAXimum] Retrieve ac current measurement resolution
[:DC] Path to dc current range
:FILTer Path to analog filter
[:STATe] {OFF|ON} Set analog filter off or on
[:STATe]? Retrieve the present analog filter setting
:DIGItal Path to digital filter
[:STATe]{OFF|ON} Activates or deactivates digital filter
[:STATe]? Retrieve the present digital filter setting
:NPLCycles {0.02|0.2|1|10|100| Set integration time for selected function
MINimum|MAXimum}
:NPLCycles? [MINimum|MAXimum] Retrieve integration time for selected function
:RANGe {<range>|MINimum|MAXimum} Set dc current range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for dc current measurement
:RESolution? [MINimum|MAXimum] Retrieve dc current measurement resolution
RESistance Path to 2–wire resistance measurement range
:FILTer Path to analog filter
[:STATe] {OFF|ON} Set the analog filter off or on
[:STATe]? Retrieve the present analog filter setting
:DIGItal Path to digital filter
[:STATe]{OFF|ON} Activates or deactivates digital filter
[:STATe]? Retrieve the present digital filter setting

36
Digital Multimeter
Supported SCPI Commands

Table 12. Measurement Configuration Command Summary (cont.)


[1]
Command Description

:NPLCycles {0.02|0.2|1|10|100| Set integration time for selected function


MINimum|MAXimum}
:NPLCycles? [MINimum|MAXimum] Retrieve integration time for selected function
:RANGe {<range>|MINimum|MAXimum} Set resistance measurement range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for resistance measurement
:RESolution? [MINimum|MAXimum} Retrieve resistance measurement resolution
FRESistance Path to 4–wire resistance measurement range
:FILTer Path to analog filter
:STATe {OFF|ON} Set analog filter off or on
:STATe? Retrieve the present analog filter setting
:DIGItal Path to digital filter
[:STATe]{OFF|ON} Activates or deactivates digital filter
[:STATe]? Retrieve the present digital filter setting
:NPLCycles {0.02|0.2|1|10|100| Set integration time for selected function
MINimum|MAXimum}
:NPLCycles? [MINimum|MAXimum] Retrieve integration time for selected function
:RANGe {<range>|MINimum|MAXimum} Set resistance measurement range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for resistance measurement
:RESolution? [MINimum|MAXimum} Retrieve resistance measurement resolution
FREQuency Path to frequency measurement range
:APERture {0.01|0.1|1|MINimum|MAXimum} Set aperture time for frequency function
:APERture? [MINimum|MAXimum] Retrieve aperture time for frequency function
:VOLTage Path to frequency range configuration
:RANGe {<range>|MINimum|MAXimum} Set frequency measurement range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
PERiod Path to period measurement range
:APERture {0.01|0.1|1|MINimum|MAXimum} Set aperture time for period function
:APERture? [MINimum|MAXimum] Retrieve aperture time for period function
:VOLTage Path to period range configuration
:RANGe {<range>|MINimum|MAXimum} Set period measurement range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
CAPacitance Path to capacitance measurement range
:RANGe {<range>|MINimum|MAXimum} Set capacitance measurement range
:AUTO {OFF|ON} Disable/enable Autoranging
:AUTO? Retrieve present autorange setting
:RANGe? [MINimum|MAXimum] Retrieve the present range setting
:RESolution {<resolution>|MINimum|MAXimum} Set resolution for capacitance measurement
:RESolution? [MINimum|MAXimum} Retrieve capacitance measurement resolution
TEMPerature Path to temperature measurement
:RTD Path to 2-wire temperature measurement
:ALPHa <alpha value> Set RTD alpha parameter

37
DMM4040/4050
Programmer Manual

Table 12. Measurement Configuration Command Summary (cont.)


[1]
Command Description

:ALPHa? Retrieve the present RTD alpha parameter


:NPLCycles {0.02|0.2|1|10|100| Set integration time for selected function
MINimum|MAXimum}
:NPLCycles? [MINimum|MAXimum] Retrieve integration time for selected function
:R0 <R0 value> Set resistance at 0 °C
:R0? Retrieve present 0 °C resistance setting
:TYPe {PT100_385|PT100_392|CUST1} Set the type of RTD
:TYPe? Retrieve the present RTD type (385|CUSTOM)

:FRTD Path to 4-wire temperature measurement


:ALPHa <alpha value> Set RTD alpha parameter
:ALPHa? Retrieve the present RTD alpha parameter
:NPLCycles {0.02|0.2|1|10|100| Set integration time for selected function
MINimum|MAXimum}
:NPLCycles? [MINimum|MAXimum] Retrieve integration time for selected function
:R0 <R0 value> Set resistance at 0 °C
:R0? Retrieve present 0 °C resistance setting
:TYPe {PT100_385|PT100_392|CUST1} Set the type of RTD
:TYPe? Retrieve the present RTD type (385|CUSTOM)

FILTer Path to filter selection


[:DC] Path to analog filter
[:STATe] {OFF|ON} Set analog filter off or on for dc functions
[:STATe]? Retrieve the present analog filter setting
:DIGital Path to digital filter
[:STATe]{OFF|ON} Activates or deactivates digital filter
[:STATe]? Retrieve the present digital filter setting

DETector Path to ac filter selection


:BANDwidth {3|20|200|MINimum|MAXimum} Set the ac input signal filter
:BANDwidth? [MINimum|MAXimum] Retrieve the present ac filter setting

ZERO Path to configuring the autozero mode


:AUTO {OFF|ONCE|ON} Set the autozero mode
:AUTO? Retrieve the present autozero mode

INPut Path to input impedance


:IMPedance Path to input impedance configuration
:AUTO {OFF|ON} Disable/enable auto input impedance select
:AUTO? Retrieve auto input impedance mode

ROUTe Path to input terminal selection


:TERMinals? Retrieve input terminal selection (front or rear)

[1] Default parameters are shown in bold

Table 13. RS-232 Interface Command Summary

Command Description

SYSTem Path to RS-232 Interface commands


:LOCal Set Meter to local mode
:REMote Set Meter to remote mode for RS-232 operation
:RWLock Set Meter to remote mode (lock out front panel)

38
Digital Multimeter
Supported SCPI Commands

Table 14. Status Reporting Command Summary

Command Description

*CLS Clear status byte summary and all event registers

*ESE <enable value> Enable bits in standard event register


*ESE? Retrieve standard event enable register

*ESR? Retrieve standard event register

*OPC Set Operation Complete bit in standard event


register
*OPC? Returns “1” in output buffer after command exec.

*PSC {0|1} Power-on status clear


*PSC? Retrieve power-on status clear setting
*SRE <enable value> Enable bits in status byte register
*SRE? Retrieve bits in status byte register

*STB? Retrieve the status byte summary register

SYSTem Path to meter’s error queue


:ERRor? Retreive meter’s error queue

STATus Path to meter’s status system


:PRESet Clear questionable data enable register
:QUEStionable Path to questionable data register
:ENABle <enable value> Enable bits in questionable data enable register
:ENABle? Retrieve questionable data register
:EVENt? Retrieve questionable data enable register

39
DMM4040/4050
Programmer Manual

Table 15. System-Related Command Summary


[1]
Command Description

FETCh[1|2|3]? Transfer stored readings to output buffer

READ? Set trigger system to ‘wait-for-trigger’

DISPlay {OFF|ON} Turn display off or on


:TEXT <quoted string> Write message to display
:CLEar Clear message from display
:TEXT? Retreive displayed message

DISPlay? Retrieve display setting

SYSTem Path to system controls


:BEEPer Issue a single beep
:STATe {OFF|ON} Disable/enable beeper for limit,
and diode testing
:STATe? Retrieve state of beeper
:DATE <mm/dd/yyy> Sets the Meter’s date
:DATE? Retrieves the Meter’s date
:ERRor? Retrieve meter’s error queue
:ERRor:BEEPer {OFF|ON} Enable/disable beeper for errors
:ERRor:BEEPer? Retrieve beeper state for errors
:TIME <hh:mm:ss> Sets the Meter’s time
:TIME? Retrieves the Meter’s time
:VERSion? Retrieve meter’s SCPI version

DATA Path to meter’s memory


:POINts? Retrieve the number of stored readings

*RST Reset Meter to its power-on state

IDN [ON|OFF], [Quoted String] Enables or disables a secondary indentification defined by the
quoted string. When disabled, *IDN? will return the indentification
set by the Meter’s manufacturer.

*IDN? Retrieve meter’s identification string

L1 Set the command language to DMM4040/4050


L2 Set the command language to Fluke 45
L3 Set the command language to Fluke 8842A

[1] Default parameters are shown in bold

40
Digital Multimeter
Supported SCPI Commands

Table 16. Triggering Command Summary


[1]
Command Description

INITiate Set trigger system to wait-for-trigger

DATA Path to storing readings taken with INITiate


command
:FEED RDG_STORE, {“CALCulate”|” ”} Enables/disables storing of INITiate readings
:FEED? Retrieves state of storing INITiate readings

READ? Set trigger system to wait-for-trigger

SAMPle Path to sample count


:COUNt {<value>|MINimum|MAXimum} Set number of samples per trigger
:COUNt? [MINimum|MAXimum] Retrieve sample count
TRIGger Path to trigger control
:COUNt {<value>|MINimum|MAXimum|INFinite} Set the number of triggers Meter will accept
:COUNt? [MINimum|MAXimum] Retrieve the number of tiggers Meter will accept
:DELay {<seconds>|MINimum|MAXimum} Set the delay between trigger and measurement
:AUTO {OFF|ON} Disable/Enable automatic trigger delay
:AUTO? Retrieve automatic trigger delay status
:DELay? [MINimum|MAXimum] Retreive present trigger delay value
[1]
:SOURce {Bus|IMMediate|EXTernal} Set meter’s trigger source
:SOURce? Retrieve the meter’s present trigger source

[1] Bold type denotes default parameter.

SCPI Command Details


All SCPI commands recognized by the Meter are listed in the following sections along
with description and syntax rules.

41
DMM4040/4050
Programmer Manual

Using the MEASure? Command


The MEASure? command provides the quickest and simplest program method for getting
the Meter to make a single measurement through remote control. However, MEASure?
does not provide control over all possible parameters associated with a measurement
function. With the exception of function, range, and resolution, the MEASure? command
does not allow changing settings before the measurement is taken. Instead, the Meter uses
predefined settings for each function (See Table 17) and makes a measurement as soon as
the command is received. The measurement is immediately sent to the output buffer.
A MEASure? command is the same as using a CONFigure command followed by the
READ? Command.

MEASure[:SCALar][:<function>]?[<range> or <RTD type> or <low current>


[,<resolution> or <high voltage>]]
Description Sets the Meter function with the preset parameters (See Table 17), and
makes the measurement using the specified range and resolution. The
reading is placed in the output buffer. For the temperature function, the
range variable is replaced by the RTD type variable.

Note
The dc portion of the function keyword is optional, as is the VOLTage
portion. For instance, MEAS:AC? will be interpreted by the Meter as
meaning Volts ac function.
Parameters <function> = CAPacitance Capacitance
CURRent:AC AC current[1]
CURRent:DC DC current
VOLTage:AC AC voltage[1]
VOLTage:DC DC voltage
VOLTage:DC:RATio DC voltage ratio[7]
RESistance 2-wire resistance
FRESistance 4-wire resistance
FREquency Frequency[2]
PERiod Period[3]
TEMPerature:RTD 2-wire temperature[4]
TEMPerature:FRTD 4-wire temperature[4]
DIODe Diode[5]
CONTinuity Continuity[6]
<range> = a number between the upper and lower limits of the
function.
MIN Lowest range of the function
MAX Highest range of the function
DEF Autorange
<low current> = ON or 1 Sets diode current to 0.1 mA
OFF or 0 Sets diode current to 1 mA
<high voltage> ON or 1 Sets diode voltage to 10 V
OFF or 0 Sets diode voltage to 5 V.
<resolution> = a number in the same units, not in number of digits, as
the measurement function,.
MIN Smallest value acceptable
MAX Largest value acceptable
DEF 5½ digits

42
Digital Multimeter
Supported SCPI Commands

Note
Issuing a MEASure? command without specifying a function, puts the
Meter into volts dc and triggers a measurement. You must specify a range
to use a resolution parameter.
Example MEAS:volt:ac? 10 = Returns a measurement after configuring the
Meter for volts ac and setting the range to the 10
volt range.
MEAS:diod? ON = Sets diode function using low current and returns
the diode measurement. 9.90000000E+37 is the
value returned for an open diode.
Notes [1] For ac measurements, resolution is fixed at 6½ digits. The resolution
parameter only affects the front panel display.
[2] For frequency measurements, the multimeter uses one “range” for all
inputs between 3 Hz, and 300 kHz. With no input signal applied,
frequency measurements return zero.
[3] For period measurements, the multimeter uses one “range” for all
inputs between 0.33 seconds, and 3.3 μsec. With no input signal
applied, period measurements return zero.
[4] The range and resolution are fixed for temperature measurements.
However, placing PT100_385 or PT100_392 into the range field will
set the RTD type. Placing CUST1 into the range field will cause the
Meter to use the values set into the R0 and Alpha parameters.
[5] The range and resolution are fixed for diode test: 10 Vdc range and 5½
digits. When set to ON, the low current parameter sets the diode test
current to 0.1 mA. When OFF, the current is 1 mA. When set to ON,
the high voltage parameter sets the diode test voltage to 10 volts. When
OFF, the voltage is 5 volts. To specify a diode test voltage, you must
also include ON or OFF for the low current parameter.
[6] The range and resolution are fixed for continuity tests: 1 kΩ range and
5½ digits.
[7] DC measurement voltage divided by dc reference voltage. For dc ratio,
connect the reference HI/LO to the HI/LO sense terminals of the Meter
and the measurement voltage to the HI/LO input terminals of the
Meter. Note the specified measurement range applies to the input
terminals only.

Note
For best results in RATIO, the two input commons must be shorted at the
Meter terminals. The analog filter (AFLTR) should be off.

Using the CONFigure Command


The CONFigure command allows more configuration control than the MEASure
command. As with the MEASure command, the CONFigure command presets the
Meter’s parameters for the desired configuration (See Table 17). However, a
measurement does not start automatically, and therefore affords the opportunity to change
measurement parameters prior to triggering a measurement.
The CONFigure command is very useful when most of the parameters preset by
CONFigure are what you want and you only need to change one or two parameters. The

43
DMM4040/4050
Programmer Manual

SENSe:FUNCtion command provides a means of changing a function’s parameters.


Other commands, such as INPut, SENSe, CALCulate, and TRIGger allow for more
detailed control of the Meter’s parameters.
The CONFigure command does not initiate a measurement and will need to be followed
by READ? command, or the INITiate and FETCh? commands.

CONFigure[:SCALar][:<function>] [<range |MIN|MAX|DEF> or <RTD type> or <low


current>][,<resolution |MIN|MAX|DEF> or <high voltage>]]
Description Sets the Meter function with the preset parameters (See Table 17) and
configure the Meter using the specified range and resolution. This
command must be followed by a READ? command, or the INITiate and
FETCh? commands to cause the Meter to take a measurement. For the
temperature function, the range variable is replaced by the RTD type
variable.

Note
The dc portion of the function keyword is optional, as is the VOLTage
portion. For instance, CONF:AC will be interpreted by the Meter as
meaning Volts ac function.
Parameters <function> = CAPacitance Capacitance
CURRent:AC AC current[1]
CURRent:DC DC current
VOLTage:AC AC voltage[1]
VOLTage:DC DC voltage
VOLTage:DC:RATio DC voltage ratio[7]
RESistance 2-wire resistance
FRESistance 4-wire resistance
FREquency Frequency[2]
PERiod Period[3]
TEMPerature:RTD 2-wire temperature[4]
TEMPerature:FRTD 4-wire temperature[4]
DIODe Diode[5]
CONTinuity Continuity[6]
<range> = a number between the upper and lower limits of the
function.
MIN Lowest range of the function
MAX Highest range of the function
DEF Autorange
<low current> = ON or 1 Sets diode current to 0.1 mA
OFF or 0 Sets diode current to 1 mA.
<low voltage> = ON or 1 Sets diode voltage to 5 volts
OFF or 0 Sets diode voltage to 10 volts.
<resolution> = a number in the same units, not in number of digits, as
the measurement function,.
MIN Smallest value acceptable
MAX Largest value acceptable
DEF 5½ digits

Note
You must specify a range whenever specifying a resolution parameter.

44
Digital Multimeter
Supported SCPI Commands

Notes [1] For ac measurements, resolution is fixed at 6½ digits. The resolution


parameter only affects the front panel display.
[2] For frequency measurements, the Meter uses one range for all inputs
between 3 Hz, and 300 kHz. With no input signal applied, frequency
measurements return zero.
[3] For period measurements, the Meter uses one range for all inputs
between 0.33 seconds, and 3.3 μsec. With no input signal applied,
period measurements return zero.
[4] The range and resolution are fixed for temperature measurements.
However, placing PT100_385 or PT100_392 into the range field will
set the RTD type. Placing CUST1 into the range field will cause the
Meter to use the values set into the R0 and Alpha parameters.
[5] The range and resolution are fixed for diode test: 10 Vdc range and 5½
digits. When set to ON, the low current parameter sets the diode test
current to 0.1 mA. When OFF, the current is 1 mA. When set to ON,
the high voltage parameter sets the diode test voltage to 10 volts. When
OFF, the voltage is 5 volts. To specify a diode test voltage, you must
also include ON or OFF for the low current parameter.
[6] The range and resolution are fixed for continuity tests: 1 kΩ range and
5½ digits.
[7] DC measurement voltage divided by dc reference voltage. For dc ratio,
connect the reference HI/LO to the HI/LO sense terminals of the Meter
and the measurement voltage to the HI/LO input terminals of the
Meter. Note the specified measurement range applies to the input
terminals only.

Note
For best results in RATIO, the two input commons must be shorted at the
Meter terminals. The analog filter (AFLTR) should be off.

Table 17. Preset Conditions for the MEASure? and CONFigure Commands

Parameter Setting

AC Filter (DET:BAND) 20 Hz

Autozero (ZERO:AUTO) OFF if NPLC <1, ON if NPLC >=1

DC Digital Filter ON

Input Impedance (INP:IMP:AUTO) OFF

Samples per trigger (SAMP:COUN) 1

Trigger count (TRIG:COUN) 1

Trigger delay (TRIG:DEL) Automatic

Trigger source (TRIG:SOUR) Internal (immediate)

Math Function (CALCulate subsystem) OFF

45
DMM4040/4050
Programmer Manual

Setting Range and Resolution Parameters


The MEASure? and CONFigure commands incorporate parameters for setting the
Meter’s function, its range, and its resolution. Placing the input signal’s expected
amplitude into the range value causes the Meter to select a range appropriate for the
supplied signal amplitude.
Although the frequency and period functions use a single range for all inputs between 3
Hz and 300 kHz, it is necessary to specify a range whenever specifing a resolution setting
for these functions. When specifying resolution, specify it in the units of the function
instead of number of digits. For ac or dc volts, specify the resolution in volts. The
resolution specification for frequency is in hertz.

Note
A range parameter is required when specifying the resolution parameter.

Using the READ? Command

READ?
Description READ? causes the Meter to take a measurement the next time the trigger
condition is met after the READ? command is received. After the
measurement is taken, the reading is placed in the output buffer. The
READ? command will not cause readings to be stored in the Meter’s
internal memory.

All measurements are sent to the output buffer until the buffer becomes
full, at which point the Meter stops taking measurements. To keep the
measurements running, measurements must be continually read out of the
output buffer.

Note
Always process the reading(s) from the output buffer after each READ?
command. Failure to do so may cause some of the data from the previous
READ? command to appear in the response for the last READ? command.
For those times the buffer cannot be read after a READ? command, send a
device clear (DC1) before issuing another READ? command.

Using the INITiate Command


Once the Meter has been configured for a measurement, the INITiate command causes
the Meter to take a measurement when the trigger conditions have been met. The
measurement reading(s) are placed in the Meter’s internal memory (up to 5,000 readings)
to be read at a later time using the FETCh? command.
With one exception, the INITiate command stops the Meter from accepting any other
remote commands until the Meter has completed both taking the measurement and
storing the reading. The exception occurs when the trigger source is set to BUS with the
TRIGger:SOURce command. Under this condition, the *TRG command or the IEEE-488
Group Execute Trigger will be processed to start the measurement.

Using the FETCh? Command


To process readings from the Meter’s internal memory to the output buffer, send the
Meter a FETCh? command. With readings in the output buffer, a bus controller can then
retrieve the readings over the bus.

46
Digital Multimeter
Supported SCPI Commands

Using the SENSe Subsystem to Configure the Meter


Setting Meter functions and function parameters are controlled through the SENSe
subsystem of commands. Both primary and secondary display functions are set using the
FUNCtion commands. The parameters of each Meter function are also controlled through
this subsystem of commands.

[SENSe]:FUNCtion[1/2] "<function>"
Description Sets the Meter to the measurement function listed in the function
parameter. The function must be enclosed in quotes in the command string
(e.g. FUNC “VOLT:DC”).
Parameters [1/2] [1] = Use 1 for primary display, and 2 for secondary display

<function> = CAPacitance Capacitance


CURRent:AC AC current
CURRent:DC DC current
VOLTage:AC AC voltage
VOLTage:DC DC voltage
VOLTage:DC:RATio DC voltage ratio[3]
RESistance 2-wire resistance
FRESistance 4-wire resistance
FREQuency Frequency
PERiod Period
TEMPerature:RTD 2-wire temperature
TEMPerature:FRTD 4-wire temperature
DIODe Diode
CONTinuity Continuity
NONe[2] Turn off secondary display
Examples FUNC “VOLT:DC” Sets the Meter to volts dc
FUNC1 “VOLT:DC”; FUNC2 “VOLT:AC” Dual function command
Query FUNCtion[1/2]? Query measurement function

Note
FUNC2? will return the measurement mode selected for the secondary
display (assuming its been enabled using the FUNC2 command). FUNC1?
or FUNC? will return the measurement mode for the primary display.
Notes [1] Using FUNC without a 1 or 2 will default to 1 for the primary display.
[2] Valid only when used with FUNC2.
[3] Valid only when used with FUNC or FUNC1.

[SENSe:]<function>
The SENSe subsystem allows configuring the Meter’s functions.
Parameters <function> = CAPacitance Capacitance
CURRent:AC AC current
CURRent[:DC] DC current
VOLTage:AC AC voltage
VOLTage[:DC] DC voltage
RESistance 2-wire resistance
FRESistance 4-wire resistance
FREQuency Frequency

47
DMM4040/4050
Programmer Manual

PERiod Period
TEMPerature:RTD 2-wire temperature
TEMPerature:FRTD 4-wire temperature
DIODe Diode
CONTinuity Continuity
NONe[1] Turn off secondary display
Notes [1] Valid only when used with FUNC2.

[SENSe:]<function>:RANGe(?) <n>
Description Sets the range according to the value supplied for n, of the Meter function
specified in the variable <function>. Not having selectable ranges, an error
is returned when using temperature, diode test, or continuity as the function
with the RANGe command. This setting is stored in volatile memory.

For the frequency and period functions, the range command value refers to
the signal’s input voltage and not the range of the frequency or period
measurement. Also, the word VOLTage must follow the function before
the RANGe command. See examples below.
Parameters <n> = value of reading Expected reading in volts, amps or ohms
MINimum Lowest range
MAXimum Highest range
Examples VOLT:RANG 10 Sets the Meter’s dc volts to the 10 volt range.
CURR:AC:RANG 1e-3 Sets the Meter’s ac amps to the 100 mA range.
RES:RANG 20e3 Sets the Meter’s ohms to the 100 kΩ range.
FREQ:VOLT:RANG 5 Sets the voltage input range to the 10 volt range
for frequency measurements.
Query VOLT:RANG? Returns the set range for dc volts.
VOLT:RANG? MIN Returns the minimum range of the dc volts
function. (1.00000000E-01 or 100 mV)
RES:RANG? MAX Returns the maximum range of the 2-wire
resistance function. (1.00000000E+09 or 1 GΩ)

[SENSe:]<function>:RANGe:AUTO(?) {OFF|ON}
Description Switches the Meter between autoranging and manual ranging. Not having
selectable ranges, an error is returned when the temperature, diode test, or
continuity function is used with the RANGe:AUTO function. This setting
is stored in volatile memory.

For the frequency and period functions, the RANGe:AUTO command


refers to the signal’s input voltage and not the range of the frequency or
period measurement. Also, the word VOLTage must follow the function
before the RANGe command. See examples below.

Note
Autorange thresholds are set for down range with readings <11 % of range
and up range with readings >120 % of range.
Examples VOLT:RANG:AUTO ON Sets the Meter’s dc volts to autorange.
CURR:AC:AUTO OFF Sets the Meter’s ac amps to manual ranging.
FREQ:VOLT:RANG ON Sets the Meter’s voltage input to autorange
while making a frequency measurement.

48
Digital Multimeter
Supported SCPI Commands

Query VOLT:RANG:AUTO? Returns the dc volts autorange state. A zero


means off and a one means on.
[SENSe:]<function>:RESolution(?) <n>
Description Sets the resolution according to the value supplied for n, for the Meter
function specified in the variable <function>. Resolution is specified in the
same units as the function. i.e., volts for the volts ac and dc functions. This
setting is stored in volatile memory.

For functions that do not have selectable ranges, an error is returned when
using frequency, period, temperature, diode test, or continuity as the
function in the RESolution command.
Parameters <n> = resolution value Desired resolution in volts, amps, ohms, or
farads.
MIN Highest resolution
MAX Lowest resolution

Examples VOLT:RES 1e-4 Sets the dc volts resolution to 100 μV.


CURR:AC:RES 1e-8 Sets the ac amps resolution to 10 nA.
Query VOLT:RES? Returns the set resolution for dc volts.
VOLT:RES? MIN Returns the minimum resolution of the dc volts
function.

[SENSe:]<function>:NPLCycles(?) <n>
Description Sets the Meter’s integration time for the function specified in <function>,
based on the number of power line cycles. This setting is stored in volatile
memory.

This command is only valid for dc voltage, dc current, temperature, and


resistance (2-wire and 4-wire) functions.
Parameters <n> = 0.02 to 100 sets integration time to a preset value of a
power line cycle (0.02, 0.2, 1, 10, and 100)
MIN 0.02 NPLC
MAX 100 NPLC

Examples VOLT:DC:NPLC .2 Sets the dc volts integration time to 0.2 of a


power line cycle.
Query VOLT:NPLC? Returns the integration time for dc volts.
CURR:NPLC? MIN Returns the minimum integration time for the dc
current function.

[SENSe:]TEMPerature:[TRANsducer:]<subfunction>:R0(?) <n>
Description Sets the resistance at zero degrees C specified by <n> for the R0 parameter
of the temperature function. This setting is stored in volatile memory.
Parameters <subfunction> = RTD 2-wire RTD
FRTD 4-wire RTD
<n> = 0 to 1010 Resistance at 0 °C
Examples TEMP:RTD:R0 120 Sets the resistance at 0 °C to 120 ohms.
Query TEMP:RTD:R0? Returns the set resistance at 0 °C.

49
DMM4040/4050
Programmer Manual

[SENSe:]TEMPerature:[TRANsducer:]<subfunction>:TYPe(?) <n>
Description Sets the RTD type for the temperature function. This setting is stored in
volatile memory.
Parameters <subfunction> = RTD 2-wire RTD
FRTD 4-wire RTD
<n> = PT100_385 Sets the RTD type to PT100 385 (R0 to
100Ω and Alpha to 0.00385055)
PT100_392 Sets the RTD type to PT100 392 (R0 to
100Ω and Alpha to 0.00391600
CUST1 Sets the RTD type to be set by R0 and Alpha
settings.
Examples TEMP:RTD:TYP PT100_385 Sets the RTD type to PT100 385.
Query TEMP:RTD:TYP? Returns 385 or CUSTOM.

[SENSe:]TEMPerature:[TRANsducer:]<subfunction>:ALPHa(?) <n>
Description Sets the alpha variable for the temperature function. This setting is stored
in volatile memory.
Parameters <subfunction> = RTD 2-wire RTD
FRTD 4-wire RTD
<n> = .00374 to .00393 Sets the alpha parameter.
Examples TEMP:RTD:ALPH 0.00392 Sets the alpha parameter to 0.00392.
Query TEMP:RTD:ALPH? Returns the alpha setting of the temperature
function.

[SENSe:]FREQuency:APERature(?) <n>
Description Sets the gate time for the frequency function to the value specified by <n>.
This setting is stored in volatile memory.
Parameters <n> = 0.01 Gate time of 10 ms (4½ digits)
0.1 (default) Gate time of 100 ms (5½ digits)
1 Gate time of 1 second (6½ digits)
MIN Gate time of 10 ms (4½ digits)
MAX Gate time of 1 second (6½ digits)

Examples FREQ:APER 0.1 Sets the frequency measurement gate time to 100
ms.
Query FREQ:APER? Returns the gate time for the frequency function.

[SENSe:]PERiod:APERature(?) <n>
Description Sets the gate time for the period function to the value specified by <n>.
This setting is stored in volatile memory.
Parameters <n> = 0.01 Gate time of 10 ms (4½ digits)
0.1 (default) Gate time of 100 ms (5½ digits)
1 Gate time of 1 second (6½ digits)
MIN Gate time of 10 ms (4½ digits)
MAX Gate time of 1 second (6½ digits)

50
Digital Multimeter
Supported SCPI Commands

Examples PER:APER 0.1 Sets the period measurement gate time to 100
ms.
Query PER:APER? Returns the gate time for the period function.

[SENSe:]CURRent:AC:BANDwidth(?) <n>
Description Sets the appropriate filter for the frequency specified by <n>. This setting
is stored in volatile memory.
Parameters <n> = 3 Selects slow filter
20 (default) Selects medium filter
200 Selects fast filter
MIN Selects slow filter
MAX Selects fast filter

Examples CURR:AC:BAND 200 Sets the filter for ac current to fast.


Query CURR:AC:BAND? Returns the filter selection.

[SENSe:]VOLTage:AC:BANDwidth(?) <n>
Description Sets the appropriate filter for the frequency specified by <n>. This setting
is stored in volatile memory.
Parameters <n> = 3 Selects slow filter
20 (default) Selects medium filter
200 Selects fast filter
MIN Selects slow filter
MAX Selects fast filter

Examples VOLT:AC:BAND 20 Sets the filter for ac voltage to medium.


Query VOLT:AC:BAND? Returns the filter selection.

[SENSe:]DETector:BANDwidth(?) <n>
Description Sets the appropriate filter for the frequency specified by <n>. This setting
is stored in volatile memory and sets the filter for all functions that use an
ac filter.
Parameters <n> = 3 Selects slow filter
20 Selects medium filter
200 Selects fast filter
MIN Selects slow filter
MAX Selects fast filter

Examples DET:BAND 20 Sets the filter to medium.


Query DET:BAND? Returns the filter selection.
DET:BAND? MAX Returns +2.00000000E+02 to indicate the fast
filter.

[SENSe:]FILTer[:DC][:STATe](?) <n>
Description Activates or deactivates the 3-pole analog filter to improve noise immunity
for dc functions. This setting is stored in volatile memory.
Parameters <n> = OFF or 0 Turns the analog dc filter off.
ON or 1 Turns the analog dc filter on.

51
DMM4040/4050
Programmer Manual

Examples FILT ON Turns the analog dc filter on.


Query FILT? Returns the analog dc filter setting.

Note
Since the corner frequency of the analog filter is about 8 Hz, the filter does
not add much rejection until frequencies are significantly higher than that.

[SENSe:]FILTer[:DC]:DIGital[:STATe](?) <n>
Description Activates or deactivates the digital averaging filter to improve noise
immunity for dc functions. This setting is stored in volatile memory.
Parameters <n> = OFF or 0 Turns the digital averaging filter off.
ON or 1 Turns the digital averaging filter on.

Examples FILT:DIG ON Turns the digital averaging filter on.


Query FILT:DIG? Returns the digital averaging filter setting. (0 =
OFF and 1 = ON)

[SENSe:]VOLTage[:DC]:FILTer[:STATe](?) <n>
Description Activates or deactivates the 3-pole analog filter to improve noise immunity
for dc voltage functions. This setting is stored in volatile memory.
Parameters <n> = OFF or 0 Turns the analog dc voltage filter off.
ON or 1 Turns the analog dc voltage filter on.

Examples VOLT:FILT ON Turns the analog dc voltage filter on.


Query VOLT:FILT? Returns the analog dc voltage filter setting.

[SENSe:]VOLTage[:DC]:FILTer:DIGital[:STATe](?) <n>
Description Activates or deactivates the digital averaging filter to improve noise
immunity for dc voltage functions. This setting is stored in volatile
memory.
Parameters <n> = OFF or 0 Turns the digital averaging filter off.
ON or 1 Turns the digital averaging filter on.

Examples VOLT:FILT:DIG ON Turns the digital averaging filter on.


Query VOLT:FILT:DIG? Returns the digital averaging filter setting. (0 =
OFF and 1 = ON)

[SENSe:]CURRent[:DC]:FILTer[:STATe](?) <n>
Description Activates or deactivates the 3-pole analog filter to improve noise immunity
for dc current functions. This setting is stored in volatile memory.
Parameters <n> = OFF or 0 Turns the analog dc current filter off.
ON or 1 Turns the analog dc current filter on.

Examples CURR:FILT ON Turns the analog dc current filter on.


Query CURR:FILT? Returns the analog dc current filter setting. (0 =
OFF and 1 = ON)

52
Digital Multimeter
Supported SCPI Commands

[SENSe:]CURRent[:DC]:FILTer:DIGital[:STATe](?) <n>
Description Activates or deactivates the digital averaging filter to improve noise
immunity for dc current functions. This setting is stored in volatile
memory.
Parameters <n> = OFF or 0 Turns the digital averaging filter off.
ON or 1 Turns the digital averaging filter on.

Examples CURR:FILT:DIG ON Turns the digital averaging filter on.


Query CURR:FILT:DIG? Returns the digital averaging filter setting. (0 =
OFF and 1 = ON)

[SENSe:]RESistance[:DC]:FILTer[:STATe](?) <n>
Description Activates or deactivates the 3-pole analog filter to improve noise immunity
for the 2-wire resistance function. This setting is stored in volatile memory.
Parameters <n> = OFF or 0 Turns the analog 2-wire resistance filter off.
ON or 1 Turns the analog 2-wire resistance filter on.

Examples RES:FILT ON Turns the analog 2-wire resistance filter on.


Query RES:FILT? Returns the analog 2-wire resistance filter
setting. (0 = OFF and 1 = ON)

[SENSe:]RESistance[:DC]:FILTer:DIGital[:STATe](?) <n>
Description Activates or deactivates the digital averaging filter to improve noise
immunity the 2-wire resistance dc function. This setting is stored in volatile
memory.
Parameters <n> = OFF or 0 Turns the digital averaging filter off.
ON or 1 Turns the digital averaging filter on.

Examples RES:FILT:DIG ON Turns the digital averaging filter on.


Query RES:FILT:DIG? Returns the digital averaging filter setting. (0 =
OFF and 1 = ON)

[SENSe:]FRESistance[:DC]:FILTer[:STATe](?) <n>
Description Activates or deactivates the 3-pole analog filter to improve noise immunity
for the 4-wire resistance function. This setting is stored in volatile memory.
Parameters <n> = OFF or 0 Turns the analog 4-wire resistance filter off.
ON or 1 Turns the analog 4-wire resistance filter on.

Examples FRES:FILT ON Turns the analog 4-wire resistance filter on.


Query FRES:FILT? Returns the analog 4-wire resistance filter
setting. (0 = OFF and 1 = ON)

53
DMM4040/4050
Programmer Manual

[SENSe:]FRESistance[:DC]:FILTer:DIGital[:STATe](?) <n>
Description Activates or deactivates the digital averaging filter to improve noise
immunity for the 4-wire resistance function. This setting is stored in
volatile memory.
Parameters <n> = OFF or 0 Turns the digital averaging filter off.
ON or 1 Turns the digital averaging filter on.

Examples FRES:FILT:DIG ON Turns the digital averaging filter on.


Query FRES:FILT:DIG? Returns the digital averaging filter setting. (0 =
OFF and 1 = ON)

[SENSe:]UNIT:TEMPerature(?) <units>
Description Sets the temperature units for the temperature function. This setting is
stored in volatile memory.
Parameters <units> = Cel Sets temperature units to Celsius
Far Sets temperature units to Fahrenheit
Kel Sets temperature units to Kelvin

Examples UNIT:TEMP C Sets temperature units to Celsius.


Query UNIT:TEMP? Returns the temperature units setting. (C =
Celsius, F = Fahrenheit, and K = Kelvin)

[SENSe:]ZERO:AUTO <n>
Description Activates (default) or deactivates the autozero mode. This setting is stored
in volatile memory.
Parameters <n> = OFF Turns Autozero mode off.
ON Turns autozero mode on.
ONCE Initiates a zero measurement immediately.

Examples ZERO:AUTO ON Turns autozero mode on.


Query ZERO:AUTO? Returns the state of the autozero mode. (0 = OFF
and 1 = ON)

[SENSe:]VOLTage[:DC]:IMPedance:AUTO(?) <n>
Description Activates or deactivates (default) the automatic input impedance mode for
dc voltage measurements. With AUTO OFF, the input impedance is fixed
at 10 MΩ for all ranges. With AUTO ON, the input impedance is set to
>10 GΩ for the 100 mV, 1 V, and 10 V ranges. This setting is stored in
volatile memory.
Parameters <n> = OFF or 0 Turns off automatic input impedance.
ON or 1 Turns on automatic input impedance.

Examples VOLT:IMP:AUTO ON Turns on automatic input impedance.


Query VOLT:IMP:AUTO? Returns the state of the input impedance mode.
(0 = OFF and 1 = ON)

54
Digital Multimeter
Supported SCPI Commands

INPut:IMPedance:AUTO(?) <n>
Description Activates or deactivates (default) the automatic input impedance mode for
dc voltage measurements. With AUTO OFF, the input impedance is fixed
at 10 MΩ for all ranges. With AUTO ON, the input impedance is set to
>10 GΩ for the 100 mV, 1 V, and 10 V ranges. This setting is stored in
volatile memory.
Parameters <n> = OFF or 0 Turns off automatic input impedance.
ON or 1 Turns on automatic input impedance.

Examples IMP:AUTO ON Turns on automatic input impedance.


Query IMP:AUTO? Returns the state of the input impedance mode.
(0 = OFF and 1 = ON)

ROUTe:TERMinals?
Description A query that returns the state of the front or rear panel input terminals
switch.
Examples ROUT:TERM? Returns “FRON” or “REAR”.

Programming for Math Operations


Of the five possible Meter math functions, only one can be enabled at a time. Once a
math function is selected, it stays selected until the Meter is powered down, or another
math function is set. A reset command received through the remote interface will also
disable the math function. Presetting some math registers are possible.

Table 18 is a matrix indicating which math functions work with each Meter function.
Selecting a math function that is not allowed with a Meter function causes math to be
disabled. Selecting a math function that is not allowed after selecting an allowed math
function will result in a “Setting Conflict” error.

Note
Math must be enabled before writing to the zero (null) or dB measurement
registers.

Table 18. Allowed Math/Measurement Function Combinations

DCV ACV DCI ACI 2W 4W Freq Period Cont Diode Temp Cap

Null Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes

Average Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes

dB No Yes No No No No No No No No No No

dBm No Yes No No No No No No No No No No

Limit Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes

55
DMM4040/4050
Programmer Manual

CALCulate:FUNCtion(?) {NULL|DB|DBM|AVERage|LIMit}
Description Selects one of five math functions. This setting is stored in volatile
memory. Selecting a math function disables any math function which may
have been set previously. For the selected math function to take effect, the
CALCulate:STATe must be ON.
Parameters <n> = NULL Uses the present reading as an offset to zero
the returned reading.
DB Selects the DB mode.
DBM Selects the dBm mode.
AVERage Selects the average mode
LIMit Selects the Limit Testing mode.
Examples CALC:FUNC DBM Selects the dBm mode.
Query CALC:FUNC? Returns the selected math function.

CALCulate:STATe(?) <n>
Description Activates or deactivates the math function selected with CALC:FUNC
command. This setting is stored in volatile memory.
Parameters <n> = ON or 1 Activates the math function set previously by
CALC:FUNC command.
OFF or 0 Deactivates the math function.
Examples CALC:STAT ON Turns on the math function.
Query CALC:STAT? Returns the state of the math function. (0 = OFF
and 1 = ON)

CALCulate:AVERage:MINimum?
Description Retrieves the minimum value measured during a statistics operation. This
value is cleared whenever the Meter is powered off then back on, a
statistics function is enabled, or the Meter receives a reset through the
remote interface. This setting is stored in volatile memory.
Query CALC:AVER:MIN? Returns the minimum value of the statistics operation.

CALCulate:AVERage:MAXimum?
Description Retrieves the maximum value measured during a statistics operation. This
value is cleared whenever the Meter is powered off then back on, a
statistics function is enabled, or the Meter receives a reset through the
remote interface. This setting is stored in volatile memory.
Query CALC:AVER:MAX? Returns the maximum value of the statistics operation.

CALCulate:AVERage:AVERage?
Description Retrieves the average value measured during a statistics operation. This
value is cleared whenever the Meter is powered off then back on, a
statistics function is enabled, or the Meter receives a reset through the
remote interface. This setting is stored in volatile memory.
Query CALC:AVER:AVER? Returns the average value of the statistics operation.

56
Digital Multimeter
Supported SCPI Commands

CALCulate:AVERage:COUNt?
Description Retrieves the number of measurements taken during a statistics operation.
This value is cleared whenever the Meter is powered off then back on, a
statistics function is enabled, or the Meter receives a reset through the
remote interface. This setting is stored in volatile memory.
Query CALC:AVER:COUN? Returns the count value of the statistics operation.

CALCulate:NULL:OFFSet(?) {<value>|MINimum|MAXimum}
Description Sets the offset value used for the zero function. Math operation must be
enabled to write to the zero offset register. This setting is stored in volatile
memory.
Parameters <value> = 0 to 120 % of highest range.
MINimum Sets offset register to -120 % of highest
range of selected function.
MAXimum Sets offset register to 120 % of highest range
of selected function.
Examples CALC: NULL:OFFS 100 Sets zero offset register to 100.
Query CALC:NULL:OFFS? Returns the zero offset register value.

CALCulate:DB:REFerence(?) {<value >|MINimum|MAXimum}


Description Sets the relative value used for the dB function. Math operation must be
enabled to write to the dB relative register. This setting is stored in volatile
memory.
Parameters <value> = 0 to ±200 dBm.
MINimum Sets dB relative register to -200 dBm.
MAXimum Sets dB relative register to 200 dBm.
Examples CALC:DB:REF 25 Sets dB relative register to 25 dBm.
Query CALC:DB:REF? Retrieves the dB relative register value.
CALCulate:DBM:REFerence(?) {<value>|MINimum|MAXimum}
Description Sets the reference impedance for the dBm function. Math operation must
be enabled to write to the dBm reference impedance register. This setting is
stored in volatile memory.
Parameters <value> = 2, 4, 6, 16, 50, 75, 90, 93, 100, 110, 124, 125, 135, 150, 250,
300, 500, 600 (default), 800, 900, 1000, 1200, or 8000 Ω.
MINimum Sets dBm reference impedance register to
50 Ω.
MAXimum Sets dBm reference impedance register to
8000 Ω.
Examples CALC:DBM:REF 110 Sets dBm reference impedance register to
110 Ω.
Query CALC:DBM:REF? Retrieves the present dBm reference impedance
register value.
CALC:DBM:REF? MIN Returns 50
CALC:DBM:REF? MAX Returns 8000

57
DMM4040/4050
Programmer Manual

CALCulate:LIMit:LOWer(?) {<value >|MINimum|MAXimum}


Description Sets the lower limit value used for limit testing. This setting is stored in
volatile memory.
Parameters <value> = 0 to 120 % of highest range.
MINimum Sets lower limit register to -120 % of highest
range of selected function.
MAXimum Sets lower limit register to 120 % of highest
range of selected function.
Examples CALC:LIM:LOW 235 Sets lower limit register to 235.
Query CALC: LIM:LOW? Retrieves the lower limit register value.
CALC:LIM:LOW? MIN Returns -120 % of highest range of selected
function.
CALC:LIM:LOW? MAX Returns 120 % of highest range of selected
function.

CALCulate:LIMit:UPPer {<value >|MINimum|MAXimum}


Description Sets the upper limit value used for limit testing. This setting is stored in
volatile memory.
Parameters <value> = 0 to 120 % of highest range.
MINimum Sets upper limit register to -120 % of highest
range of selected function.
MAXimum Sets upper limit register to 120 % of highest
range of selected function.
Examples CALC:LIM:UPP -150 Sets upper limit register to -150.
Query CALC:LIM:UPP? Retrieves the upper limit register value.
CALC:LIM:UPP? MIN Returns -120 % of highest range of selected
function.
CALC:LIM:UPP? MAX Returns 120 % of highest range of selected
function.

DATA:FEED RDG_STORE, <n>


Description Enables (default) or disables storing measurements in the Meter’s internal
memory when an INITiate command is executed. When enabled, 5,000
measurements are stored in the Meter’s internal memory when executing
an INITiate command.

Note
The MEASure? and CONFigure commands automatically
enable the storing of measurements.

Disabling the storage of readings may be beneficial when performing


statistics operations. Minimum, maximum, and average values can be
calculated without storing each measurement.

Note
While readings are disabled, attempting to transfer readings to
the output buffer with a FETCh? command will generate an
error.

58
Digital Multimeter
Supported SCPI Commands

Parameters <n> = “CALCulate” Enable the storing of measurements.


“” Disable the storage of measurements.
Example DATA:FEED RDG_STORE, “CALC”.

DATA:FEED?
Description Retrieves the state of the reading store setting.
Query DATA:FEED? Returns CALC or “”.
CALCulate:KMATh:MMFactor(?) <value>
Description Sets the value in the “m” register for the mx+b calculation.
Parameters <value> = 0 to ±999.999999
Examples CALC:KMAT:MMF 37 Sets “m” register to 37.
Query CALC: KMAT:MMF? Retrieves the “m” register value.

CALCulate:KMATh:MBFactor(?) <value>
Description Sets the value in the “b” register for the mx+b calculation.
Parameters <value> = 0 to ±999.999999
Examples CALC:KMAT:MBF 37 Sets “b” register to 37.
Query CALC: KMAT:MBF? Retrieves the “b” register value.

CALCulate:KMATh:MUNits(?) <name> = 3 characters using ‘A’ through ‘Z’


Description Sets the units for the mx+b calculation.
Parameters <name> = A to ZZZ Up to three letters
Examples CALC:KMAT:MUN VOL Sets units to “VOL”.
Query CALC: KMAT:MUN? Retrieves the set units value.

CALCulate:KMATh:STATe(?) <n>
Description Enables or disables the mx+b calculation.
Parameters <n> = ON or 1 Enables mx+b calculations.
OFF or 0 Disable mx+b calculations
Examples CALC:KMAT:STAT ON Enables mx+b calculations.
Query CALC: KMAT:STAT? Retrieves the state of the mx+b calculation (0 =
OFF, 1 = ON).

Programming the Trigger System


The Meter is designed to provide extensive control over the triggering of a single
measurement or series of measurements. One trigger can cause the Meter to take a single
measurement or multiple measurements; up to 50,000 per trigger.
Operating the Meter remotely requires selecting one of three trigger methods: internal,
external, or bus triggering. Once a source is selected, the Meter must be in a “wait-for-
trigger” state before the trigger will start a measurement cycle.
Figure 4 shows the multimeter’s triggering system.

59
DMM4040/4050
Programmer Manual

Idle
Initiate Triggering
MEASure?
State
READ?
INITiate

Trigger Source Wait-for-


TRIGger:SOURce IMMediate Trigger
TRIGger:SOURce EXTernal State
TRIGger:SOURce BUS
Front-panel "Single" key

Triggering Delay
TRIGger:DELay
Delay

Sample (*)
Annuniator Measurement Sample Trigger
Sample Count # 1 Count # 1

dae02.eps
Figure 4. DMM4040/4050 Triggering System

The Meter can be put into a wait-for-trigger state remotely by sending it a MEASure?,
READ?, or INITiate command. Once received by the Meter, it takes approximately 20
ms to setup the Meter and put it in to the wait-for-trigger state. Any triggers received
during this set-up time are ignored.

Using the Triggering Commands

INITiate
Description Sets the Meter to the wait-for-trigger state in which the next trigger from
the selected source triggers a measurement cycle. Up to 5,000
measurements are placed into the Meter’s internal memory, where they can
be retrieved with the FETCh? command.
Examples INIT Sets the Meter to the wait-for-trigger state.

60
Digital Multimeter
Supported SCPI Commands

READ?
Description Sets the Meter in to the wait-for-trigger state where the next trigger from
the selected source triggers a measurement cycle. Measurements are sent
directly to the output buffer.
Examples READ? Sets the Meter to the wait-for-trigger state.

61
DMM4040/4050
Programmer Manual

TRIGger:SOURce(?) {BUS|IMMediate|EXTernal}
Description Sets the source from which the Meter will expect a measurement trigger.
Parameters <n> = BUS Sets the Meter to expect a trigger through the
IEEE-488 bus or upon execution of a *TRG
command.
IMMediate Selects Meter’s internal triggering system.
EXTernal Sets the Meter to sense triggers through the
trigger jack on the rear panel of the Meter.
Examples TRIG:SOUR BUS Sets the Meter to expect a trigger through the
IEEE-488 bus or upon execution of a *TRG
command.
Query TRIG:SOUR? Retrieves the trigger source for which the Meter
has been set (BUS, IMM, or EXT).

TRIGger:DELay <n>
Description Sets the delay between receiving a trigger and the beginning of
measurement cycle.
Parameters <n> = 0 to 3600 Delay specified in seconds.
MINimum Delay set to 0 seconds.
MAXimum Delay set to 3600 seconds.
Examples TRIG:DEL 14 Sets the trigger delay to 14 seconds.
Query TRIG:DEL? Retrieves the amount of time set for a trigger
delay.
TRIG:DEL? MIN Returns 0 seconds
TRIG:DEL? MAX Returns 3600 seconds

TRIGger:DELay:AUTO <n>
Description Enables or disables automatic trigger delay. The amount of delay is set
based on selected function, integration time, and filter setting. When a
specific trigger delay is set using the TRIG:DELAY <n> command,
automatic trigger delay is disabled. This setting is stored in volatile
memory.
Parameters <n> = ON or 1 Automatic trigger delay is enabled.
OFF or 0 Automatic trigger delay is disabled.
Examples TRIG:DEL:AUTO ON Enables automatic trigger delay
Query TRIG:DEL:AUTO? Retrieves the state of the automatic trigger delay
( 0 = OFF, 1 = ON).
SAMPle:COUNt {<value>|MINimum|MAXimum}
Description Sets the number of measurements the Meter takes per trigger. This setting
is stored in volatile memory.
Parameters <n> = 0 to 50,000 Number of measurements per trigger
MINimum Number of measurements per trigger set to 1.
MAXimum Number of measurements per trigger set to
50,000.
Examples SAMP:COUN 2450 Number of measurements per trigger set to
2,450.

62
Digital Multimeter
Supported SCPI Commands

Query SAMP:COUN? Retrieves the number of samples per trigger


presently set in the Meter.
SAMP:COUN? MIN Returns 1 to indicate the minimum number of
samples the Meter will accept per trigger.
SAMP:COUN? MAX Returns 50,000 to indicate the maximum number
of measurements the Meter will accept per
trigger.
TRIGger:COUNt <n>
Description Sets the number of triggers the Meter will take before switching to an idle
state. This setting is stored in volatile memory.
Parameters <n> = 0 to 50,000 Number of triggers before Meter becomes
idle.
MINimum Number of triggers is set to 1.
MAXimum Number of triggers is set to 50,000.
INFinite Continuously accepts triggers. A device clear
is required to set the Meter to idle state after
INFinite has been set.
Examples TRIG:COUN 430 Number of triggers set to 430.
Query TRIG:COUN? Retrieves the number of triggers presently set in
the Meter. Returns 9.90000000E+37 if trigger
count has been set to INFinite.
TRIG:COUN? MIN Returns 1 to indicate the minimum number of
triggers the Meter will accept per trigger.
TRIG:COUN? MAX Returns 50,000 to indicate the maximum number
of triggers the Meter will accept per trigger.

Using System-Related Commands

FETCh[1/2]?
Description Moves measurements stored in the Meter’s internal memory to the output
buffer. FETCh1? or FETCh? returns measurements from the primary
display. FETCh2? Returns readings from the secondary display.
Example FETCh2? Retrieves a single measurement from the Meter’s
internal memory that was taken by the secondary
display if the secondary measurements are
enabled.

FETCh3?
Description Retrieves the last measurement from the Meter's primary display. Unlike
the FETCh? or FETCh1? commands which require that the meter be first
placed in the "wait for trigger" state using the INIT command to trigger a
measurement or multiple measurements from the primary display,
FETCh3? will return a single measurement from the primary display if
there is one. If a measurement isn't available, the command is ignored.
Examples FETCh3? Retrieves the last measurement from the primary
display of the Meter.

DISPlay <n>
Description Enables or disables the Meter’s display. This setting is stored in volatile
memory.
63
DMM4040/4050
Programmer Manual

Parameters <n> = ON or 1 Enables the display.


OFF or 0 Disables the display.

Examples DISP ON Enables the Meter’s display.


Query DISP? Retrieves the state of the display ( 0 = OFF and 1
= ON).

DISPlay:TEXT(?) <quoted string >


Description Displays a message on the Meter’s display. This setting is stored in volatile
memory.
Note
The Meter must be remote before executing this command.
Parameters <quoted string> = Up to 12 characters. Additional characters are
truncated.
Examples DISP:TEXT “Hello” Hello is displayed in the Meter’s display.
Query DISP:TEXT? Retrieves the text sent to the Meter in a
DISP:TEXT command.

DISPlay:TEXT:CLEar
Description Clears the displayed message on the Meter’s display.
Examples DISP:TEXT:CLE Meter’s display message is cleared.

SYSTem:BEEPer
Description Causes the Meter to beep once.
Examples SYST:BEEP Meter beeps.

SYSTem:BEEPer:STATe? <n>
Description Enables or disables the Meter’s beeper. This setting is stored in volatile
memory. Disabling the beeper causes the Meter to not beep for the
following conditions:

a new minimum or maximum is detected during statistics


a limit is exceeded during a limits test
a forward-biased diode is measured during a diode test
Parameters <n> = ON or 1 Enables the Meter’s beeper.
OFF or 0 Disables the Meter’s beeper.
Examples SYST:BEEP:STAT ON Enables the beeper.
Query SYST:BEEP:STAT? Retrieves the state of the Meter’s beeper ( 0 =
OFF and 1 = ON).

SYSTem:DATE(?) <date>
Description Sets the system clock date.
Parameters <date> = MM/DD/YYYY or MM-DD-YYYY.
MM between 1 and 12
DD between 1 and 31
YYYY between 1970 and 2038

64
Digital Multimeter
Supported SCPI Commands

Examples SYST:DATE 10/25/2007


Query SYST:DATE? Returns the Meter’s system clock date.

SYSTem:TIME(?) <time>
Description Sets the system clock time in 24 format.
Parameters <time> = HH:MM:SS or HH-MM-SS
HH between 0 and 23
MM between 0 and 59
SS between 0 and 59
Examples SYST:TIME 14:25:10 Sets time to 2:25:10 PM
Query SYST:TIME? Returns the Meter’s system clock time.

SYSTem:VERSion?
Description Retrieves the Meter’s present SCPI command version.
Examples SYST:VERS? Returns the SCPI version.

DATA:POINts?
Description Retrieves the number of measurements contained in the Meter’s internal
memory.
Examples DATA:POIN? Returns number of measurements in internal
memory.

*RST
Description Resets the Meter to its power-up configuration.
Examples *RST Resets the Meter.

IDN <n>, [<quoted string>]


Description Enables or disables the retrieval of a user-specified IDN string or factory-
set IDN string with the *IDN? command. Also sets the user defined IDN
string.
Parameters <n> = ON or 1 Enables user-defined string.
OFF or 0 Disables user-defined string and causes the
factory IDN string to be returned for an *IDN?
command.
<quoted string> = Up to a 35 character string.
Example IDN ON, “My Meter” Sets the IDN string to “My Meter” and enables
the user defined string to be returned when the
*IDN? command is received by the Meter.

*IDN?
Description Returns the IDN string. If IDN is enabled (ON), then the Meter returns the
user defined string. If IDN is disabled (OFF), the the Meter returns the IDN
string set at the factory.
Query *IDN? Returns up to 35 character string.

65
DMM4040/4050
Programmer Manual

Using Status Reporting Commands

SYSTem:ERRor?
Description Retrieves an error from the Meter’s error queue. Errors are retrieved in
first-in, first-out (FIFO) order. Each error may contain up to 80 characters.
The error queue will store up to 16 errors at which point no additional
errors will be stored until errors are removed from the queue.
Examples SYST:ERR? Returns the next error in the error queue.
Performing a SYST:ERR? command when the
error queue is empty causes +0,″No error″ to be
returned.

SYSTem:ERRor:BEEPer(?) <n>
Description Enable or disables the Meter’s beeper for error messages. This setting is
stored in volatile memory.
Parameters <n> = ON or 1 Enables beeper for error messages.
OFF or 0 Disables beeper for error messages.
Examples SYST:ERR:BEEP ON Set Meter to beep when errors are detected.
Query SYST:ERR:BEEP? Returns state of beeper for error messages ( 0 =
OFF and 1 = ON).

STATus:QUEStionable:ENABle(?) <n>
Description Enables or disables bits in the Meter’s Questionable Data enable register.
Parameters <n> = 0 to 65535 Binary-weighted decimal value representing the
bits to set in the register. Although a 16-bit
register that will accept a number between 0 and
65535, only bits 0, 1, 9, 11, 12, and 13 are used.
Examples STAT:QUES:ENAB 4 Sets bit 2 to one and all others to zero.
Query STAT:QUES:ENAB? Retrieves a binary-weighted decimal value
representing the bits set in the questionable data
enable register.

STATus:QUEStionable:EVENt?
Description Enables or disables bits in the Meter’s Questionable Data event register.
Parameters <n> = 0 to 65535 Binary-weighted decimal value representing the
bits to set in the register. Although a 16-bit
register that will accept a number between 0 and
65535, only bits 0, 1, 9, 11, 12, and 13 are used.
Query STAT:QUES:EVEN? Retrieves a binary-weighted decimal value
representing the bits set in the questionable data
event register.

STATus:PRESet
Description Sets all bits to zero in the Meter’s Questionable Data enable register.
Examples STAT:PRES Sets all bits to zero.

66
Digital Multimeter
Supported SCPI Commands

*CLS
Description Sets all bits to zero in the Meter’s status byte register and all event
registers. Also clears the error queue.
Examples *CLS Sets all bits to zero and clear error queue.

*ESE <enable value>


Description Enables or disables bits in the Meter’s Standard Event enable register.
Parameters <n> = 0 to 255 Binary-weighted decimal value representing the
bits to set in the register. Although this register
has 8 bits and will accept a number from 0 to
255, only bits 0, 2 through 5, and 7 are used.
Examples *ESE 160 Sets bits 5 and 7 to one and all other bits to zero.

*ESE?
Description Retrieves the value in the Meter’s Standard Event enable register.
Examples *ESE? Retrieves a binary-weighted decimal value
representing the bits set in the Standard Event
enable register.

*ESR?
Description Retrieves the value in the Meter’s Standard Event register.
Examples *ESR? Retrieves a binary-weighted decimal value
representing the bits set in the Standard Event
register.

*OPC
Description Sets bit 0 (Operation complete) in the Meter’s Standard Event register.
Examples *OPC Sets bit 0 in the Standard Event register.

*OPC?
Description Returns a one to the Meter’s output buffer.
Examples *OPC? A “1” is placed in the output buffer of the Meter.

*PSC <n>
Description Enables or disables the clearing of the Status Byte Enable register and
Standard Event Enable register when Meter power is turned on. This
setting is stored in non-volatile memory.
Parameters <n> = 0 Disables clearing Status Byte and Standard
Event Enable register at power-up.
1 Enables clearing Status Byte and Standard Event
Enable register at power-up.

67
DMM4040/4050
Programmer Manual

*PSC?
Description Returns the state of the clearing of the Status Byte and Standard Event
Enable registers at power-up.
Examples *PSC? Returns zero if clearing is disabled. Returns one
if clearing is enabled.

*SRE <enable value>


Description Enables or disables bits in the Meter’s Status Byte enable register.
Parameters <n> = 0 to 255 Binary-weighted decimal value representing the
bits to set in the register. Although this register
has 8 bits and will accept a number from 0 to
255, only bits 3 through 5 are used.
Examples *SRE 48 Sets bits 4 and 5 to one and all other bits to zero.

*SRE?
Description Retrieves the value in the Meter’s Status Byte enable register.
Examples *SRE? Retrieves a binary-weighted decimal value
representing the bits set in the enable register.

*STB?
Description Retrieves the value in the Meter’s Status Byte summary register. Although
like a serial poll, this command is processed as an instrument command.
Returned results are the same as when receiving a serial poll, but the SRQ
bit is not cleared if a serial poll has occurred.
Examples *STB?

Calibration Commands

CALibration? [{ON|OFF}]
Description After entering the proper code using the CAL:SEC:CODE command, this
command causes the Meter to perform an adjustment using the values
supplied with the CAL:VAL command. See the DMM4040 and DMM4050
Technical Reference Manual, (PN 077-0362-XX) for details on using this
command.
Parameters <n> = ON or 1 Execute only one calibration step.
OFF or 0 Execute a group (mode) of related calibration
steps at one time.
Examples CAL? ON Execute one calibration step for the calibration
group specified by the CAL:VAL command.
CAL? Returns +0 (good) or +1 (failed)

68
Digital Multimeter
Supported SCPI Commands

CALibration:COUNt?
Description Retrieves the number of times Meter points have been calibrated. Read this
value just after receiving the Meter to obtain a starting value. This setting is
stored in non-volatile memory.

Note
This value increments once for each calibration point. A complete
calibration will increment this value many times. The maximum count is
4,294,967,295, at which point the next calibration causes this value to reset
to zero.
Examples CAL:COUN? Retrieves the number of times points have been
calibrated.

CALibration:RECord
Description Stores the calibration values.
Example CAL:REC Stores all of the Meter’s changed calibration
values.

CALibration:SECure:CODE <new code >


Description Sets a new calibration password. Before entering a new code, you must
first enter the old password using the CAL:SEC:STAT command. The
Meter has a password of TEKDMM40XX when shipped from the factory.
Parameters <new code> = Up to 12 characters of capital letters and
numerials (A-Z, 0-9).
Example CAL:SEC:CODE 12B Sets the new calibration password to 12B.
The password cannot be recalled, but the password can be reset to the factory default
without returning the Meter for service.

XW Warning
To avoid electric shock and or injury, do not open the Meter
unless you are qualified to do so.
Opening the Meter case may void the warranty. Located at the rear of the chassis, behind
the Ethernet connector (J17), there is a jumper connector labeled W2. Short the pins of
W2 together and power cycle the Meter to reset the password to TEKDMM40XX.

CALibration:SECure:STATe(?) <n>,<code >


Description Secure or unsecure the Meter for calibration. This setting is stored in non-
volatile memory.
Parameters <n> = ON or 1 Secures the Meter from calibration.
OFF or 0 Unsecures the Meter for calibration.
<code> = Up to 12 character string.
Example CAL:SEC:STAT OFF 12B Unsecures the Meter for calibration when the
password is 12B.
Query CAL:SEC:STAT? Retrieves the state of the Meter’s calibration
security ( 0 = OFF and 1 = ON).

69
DMM4040/4050
Programmer Manual

CALibration:STRing(?) <quoted string>


Description Store calibration information in the Meter’s memory. This setting is stored
in non-volatile memory.
Parameters <quoted string> = Up to a 40 character string.
Query CAL:STR? Retrieves the Meter’s calibration string.

CALibration:VALue(?) <mode>, <value >


Description Sets up the Meter for a calibration point. The mode parameter is the name
of the functional group being calibrated. The value parameter is the
Meter’s range for the calibration point. Refer to the calibration procedure
in the DMM4040 and DMM4050 Technical Reference Manual, (PN 077-
0362-XX) for mode names and values.
Parameters <mode> = See the DMM4040 and DMM4050 Technical
Reference Manual, (PN 077-0362-XX) Manual
<value> = See the DMM4040 and DMM4050 Technical
Reference Manual, (PN 077-0362-XX)
Query CAL:VAL? Retrieves the Meter’s calibration value.

CALibration:STEP(?) <step #> [,Reference]


Description Specifies the calibration step number and the optional reference value of
the known calibration signal used by the calibration procedure. See the
DMM4040 and DMM4050 Technical Reference Manual, (PN 077-0362-
XX) for a list of calibration steps with values.
Parameters <step #>= (See the DMM4040 and DMM4050 Technical Reference
Manual, (PN 077-0362-XX)
Examples CAL:STEP 5 Sets the calibration step to number 5.
Query CAL:STEP? Returns the Meter’s calibration step.

Using RS-232/Ethernet Interface Commands


There are four remote commands that are specifically applicable to controlling the Meter
using the RS-232 or Ethernet remote interface.

SYSTem:LOCal
Description Places the Meter in the local mode. Front-panel keys still function.
Example SYST:LOC

70
Digital Multimeter
Supported SCPI Commands

SYSTem:REMote
Description Places the Meter in the remote mode for RS-232 or Ethernet remote
control. All front-panel keys, except the local key, are disabled.
Example SYST:REM

Note
To avoid unpredictable operation, send a SYS:REM command to the Meter
before sending or receiving data over the RS-232 or Ethernet interface.

SYSTem:RWLock
Description Like the SYST:REM command, this command places the Meter into
remote mode, but with all front-panel keys, including the local key,
disabled.
Example SYST:RWL

Ctrl-C
Description Immediately stops transfers of data over the RS-232 interface and clears
any output data.

Note
This the same as sending a device clear over the IEEE-488 bus.

Command Terminators
A command string sent to the Meter must terminate with a <new line> character. The
IEEE-488 EOI (end-or-identify) message is interpreted as a <new line> character and can
be used to terminate a command string in place of a <new line> character. A <carriage
return> followed by a <new line> is also accepted. Command string termination will
always reset the current SCPI command path to the root level.

SCPI Parameter Types


The SCPI language defines several different data formats to be used in program messages
and response messages.

Numeric Parameters
Commands that require numeric parameters will accept all commonly used decimal
representations of numbers including optional signs, decimal points, and scientific
notation. Special values for numeric parameters like MINimum, MAXimum, and
DEFault are also accepted. You can also send engineering unit suffixes with numeric
parameters (e.g., M, K, or u). If only specific numeric values are accepted, the Meter will
automatically round the input numeric parameters. The following command uses a
numeric parameter:

VOLTage:DC:RANGe {<range>|MINimum|MAXimum}

71
DMM4040/4050
Programmer Manual

Discrete Parameters
Discrete parameters are used to program settings that have a limited number of values
(like BUS, IMMediate, EXTernal). They have a short form and a long form just like
command keywords. You can mix upper- and lower-case letters. Query responses will
always return the short form in all upper-case letters. The following command uses
discrete parameters:
TRIGger:SOURce {BUS|IMMediate|EXTernal}

Boolean Parameters
Boolean parameters represent a single binary condition that is either true or false. For a
false condition, the Meter will accept OFF or 0. For a true condition, the Meter will
accept ON or 1. When you query a boolean setting, the instrument will always return “0”
or “1”. The following command uses a boolean parameter:
INPut:IMPedance:AUTO {OFF|ON}

String Parameters
String parameters can contain virtually any set of ASCII characters. A string must begin
and end with matching quotes; either with a single quote or with a double quote. You can
include the quote delimiter as part of the string by typing it twice without any characters
in between. The following command uses a string parameter:
DISPlay:TEXT <quoted string>

Alternate Programming Language Compatibility


The Meter can be configured to accept and execute DMM4040/4050 SCPI commands
(HP 34401A compatible), non SCPI compliant modes Fluke 8842A or Fluke 45
multimeter commands. Remote operation will only allow you to access the functionality
of the multimeter language selected. Full Meter capability is available through the
DMM4040/4050 SCPI programming language. For more information on selecting the
alternate languages from the front panel menu, see Selecting the Programming Language
earlier in this manual. From the remote interface, use the following commands to select
the alternate languages:
L1 selects SCPI language
L2 selects Fluke 45A language
L3 selects Fluke 8842A language

The Meter implements virtually all of the commands available for the Fluke 45, Fluke
8842A, and HP 34401A, with the exception of the self-test and calibration commands.
You must always calibrate the Meter using the SCPI language setting. The calibration
commands from the other multimeters will not be executed.
Be aware that measurement timing, triggering, and range mapping may be different in the
alternate language compatibility modes.

72
Digital Multimeter
FLUKE 45 Command Emulation Summary

FLUKE 45 Command Emulation Summary


Computer Interface Command Set
RS-232 and IEEE-488 commands, grouped by related function, are listed in the tables
that follow. These commands are identical, except where indicated. A parameter that
must be supplied by the user or a string returned by the Meter is enclosed in angle
brackets (<value>).

• IEEE-488 Common Commands (Table 19)


• Function Commands and Queries (Table 20)
• Function Modifier Commands and Queries (Table 21)
• Range and Measurement Rate Commands and Queries (Table 22)
• Measurement Queries (Table 23)
• Compare Commands and Queries (Table 24)
• Trigger Configuration Commands (Table 25)
• Miscellaneous Commands and Queries (Table 26)
• RS-232 Remote/ Local Configuration Commands (Table 27)

IEEE-488 Capabilities and Common Commands

Table 19 summarizes the IEEE-488 Commands that are common between the Tektronix
4040/4050 and the Fluke 45.

Table 19. IEEE-488.2 Common Commands

Command Name Description


*CLS Clear Status Clears all event registers summarized in the status byte,
except for "Message Available," which is cleared only if *CLS
is the first message in the command line.
*ESE <value> Event Status Enable Sets Event Status Enable Register to <value>, an integer
between 0 and 255, where <value> is an integer whose binary
equivalent corresponds to the state (1 or 0) of bits in the
register. If <value> is not between 0 and 255, an Execution
Error is generated.

EXAMPLE: decimal 16 converts to binary 00010000. Sets bit 4


(EXE) in ESE to 1.
*ESE? Event Status Enable Meter returns the <value> of the Event Status Enable Register
Query set by the *ESE command, where <value> is an integer whose
binary equivalent corresponds to the state (1 or 0) of bits in the
register.
*ESR? Event Status Meter returns the <value> of the Event Status Register and
Register Query then clears it. The <value> is an integer whose binary
equivalent corresponds to the state (1 or 0) of bits in the
register.

73
DMM4040/4050
Programmer Manual

Table 19. IEEE-488.2 Common Commands (cont.)

Command Name Description


*IDN? Identification Query Meter returns the identification code of the meter as four fields
separated by commas. These fields are: vendor
("TEKTRONIX"); model (“DMM4050"); seven-digit serial
[1]
number; firmware creation date and time. (example:
TEKTRONIX, DMM4040, 9963001, 05/19/09-13:59)
*OPC Operation Complete Meter sets the Operation Complete bit in the Standard Event
Command Status Register when parsed.
*OPC? Operation Complete Meter places an ASCII "1 " in the output queue when parsed.
Query
*RST Reset Meter performs power-up reset, except that the state of IEEE-
488 interface is unchanged, including: instrument address,
Status Byte, and Event Status Register.
*SRE <value> Service Request Sets the "Service Request Enable Register" to <value>, an
Enable integer between 0 and 255. The value of bit six is ignored
because it is not used by the Service Request Enable
Register.

Note that <value> is an integer whose binary equivalent


corresponds to the state (1 or 0) of bits in the register. If
<value> is not between 0 and 255, an Execution Error is
generated.
*SRE? Service Request Meter returns the <value> of the Service Request Enable
Register (with bit six set to zero); <value> is an integer whose
Enable Query
binary equivalent corresponds to the state (1 or 0) of bits in the
register.

*STB? Read Status Byte Meter returns the <value> of the Status Byte with bit six as the
Master Summary bit.

<value> is an integer whose binary equivalent corresponds to


the state (1 or 0) of bits in the register.

*TRG Trigger Causes the meter to trigger a measurement when parsed.


*WAI Wait-to-continue Command required by IEEE-488.2 standard. Non-operational
in Fluke 45 Dual Display Multimeter. Command accepted but
has no effect.
[1] The user defined IDN DMM4040/4050 command identification response will set the *IDN? Indentification query
response for both DMM4040/4050 and Fluke 45 modes of operation. IDN is an “4040/50” only command.

74
Digital Multimeter
FLUKE 45 Command Emulation Summary

Function Commands and Queries


The commands in Table 20 lists the measurement function commands for the Fluke 45.
See Tables 22A and 22B for ranges and measurement rates. Commands under Primary
Display and Secondary Display cause functions to be performed using the primary
display or secondary display, respectively.
Table 20. Fluke 45 Function Commands and Queries

Commands
Primary Secondary Function
Display Display
AAC AAC2 AC current

ADC ADC2 DC current

— CLR2 Clears measurement from secondary display if one shown.

CONT — Continuity test. Available in the primary display only.

DIODE DIODE2 Diode test

FREQ FREQ2 Frequency

FUNC1 ? — Meter returns the function selected for the primary display as
command mnemonic.

EXAMPLE: If frequency is selected for the primary display,


"FUNC1?" returns "FREQ".

FUNC2? Meter returns the function selected for the secondary display as
command mnemonic. If the secondary display is not in use, an
Execution Error is generated.

EXAMPLE: If frequency is selected for the secondary display,


FUNC2? returns "FREQ".

OHMS OHMS2 Resistance

VAC VAC2 AC volts

VDC VDC2 DC volts

75
DMM4040/4050
Programmer Manual

Function Modifier Commands and Queries


The commands in Table 21 relate to the function modifiers. A function modifier causes
the Meter to modify the normal operation of a measurement function (or perform an
action on a measurement) before displaying a reading.

Table 21. Function Modifier Commands and Queries

Command Description
AFILT (on/off) Activates or deactivates the 3-pole analog filter to improve noise immunity for dc
functions. This filter is only available in DCV, DCI, 2-Wire and 4-Wire resistance. The
default setting is OFF. If an attempt is made to enable the filter in a mode not
permitted, the request is ignored.

AFILT? Returns the state of the analog filter.

DB Meter enters decibels modifier. Any reading shown in the primary display is in
decibels.

An Execution Error is generated if the meter is not in a volts ac and/or dc function.

DBCLR Meter exits the decibels modifier and displays readings in normal units. Also clears
dB and Power modifiers.

DBPOWER Meter enters dB Power modifier if the reference impedance is set to 2, 4, 8, or 16


ohms and a voltage function has been selected. Otherwise, an Execution Error is
generated. In dB Power, readings shown in the primary display are in watts.

DBREF <value> Set dB reference impedance to a <value> shown in Table 22A. This value
corresponds to the reference impedance (ohms) indicated.

If <value> is not a value shown in Table 22A, an Execution Error is generated.

Table 22A. Reference Impedance Values


Value Ref Impedance Value Ref Impedance
1 2 12 150
2 4 13 250
3 8 14 300
4 16 15 500
5 50 16 600
6 75 17 800
7 93 18 900
8 110 19 1000
9 124 20 1200
10 125 21 8000
11 135

DBREF? Meter returns a <value> shown in Table 22A. This value corresponds to the
reference impedance indicated.

DFILT (on/off) Activates or deactivates the digital averaging filter to reduce noise for dc functions.
This filter is only available in DCV, DCI, 2-Wire and 4-Wire resistance. The default
setting is ON. If an attempt is made to enable the filter in a mode not permitted, the
request is ignored.

76
Digital Multimeter
FLUKE 45 Command Emulation Summary

Table 21. Function Modifier Commands and Queries (cont.)

Command Description
DFILT? Returns the state of the digital averaging filter.

MOD? Meter returns a numeric value indicating modifiers in use. 8=dB, 16=dB Power, 32 =
Relative, 64 = Compare.

Range and Measurement Rate Commands and Queries


The commands in Table 22 relate to ranging and measurement rates (i.e., readings/
second). In the autorange mode, the Meter automatically selects a range for each reading;
in the manual range mode, the user selects a fixed range.

Table 22. Range and Measurement Rate Commands and Queries

Command Description
AUTO Causes the meter to enter the autoranging mode on the primary display. If the autorange
mode cannot be selected (e.g., if dB or diode/continuity test is selected), an Execution
Error is generated.

AUTO? Causes meter to return "1" in autorange, or "0" if it is not.

FIXED Causes the meter to exit autoranging on the primary display and enter manual ranging.
The present range becomes the selected range.

RANGE Sets the primary display to the range designated by <range>, where <range> is a number
<range> between 1 and 7 that corresponds to a range shown in Tables 5-12A and 5-12B.
Table 23A. Ranges at Fast & Medium Measurement Rate
Range Voltage Ohms Current Frequency
Value Range Range Range Range
1 300 mV 300 Ω 30 mA 1000 Hz
2 3V 3kΩ 100 mA 10 kHz
3 30 V 30 k Ω 10 A 100 kHz
4 300 V 300 k Ω ERROR 1000 kHz
5 1000 V dc* 3MΩ ERROR 1 MHz
6 ERROR 30 M Ω ERROR ERROR
7 ERROR 300 M Ω ERROR ERROR
* 1000 V dc, 750 V ac

Table 23B. Ranges at Slow Measurement Rate


Range Voltage Ohms Current Frequency
Value Range Range Range Range
1 100 mV 100 Ω 10 mA 1000 Hz
2 1000 mV 1000 Ω 100 mA 10 kHz
3 10 V 10 k Ω 10 A 100 kHz
4 100 V 100 k Ω ERROR 1000 kHz
5 1000 V dc* 1000 k Ω ERROR 1 MHz
6 ERROR 10 M Ω ERROR ERROR
7 ERROR 100 M Ω ERROR ERROR
* 1000 V dc, 750 V ac

77
DMM4040/4050
Programmer Manual

Table 22. Range and Measurement Rate Commands and Queries (cont.)

Command Description
RANGE1? Returns the range presently selected on the primary display.

RANGE2? Returns the range presently selected on the secondary display. If the secondary display
is inactive, an Execution Error is generated.

RATE <speed> Sets the measurement rate to <speed>. RATE <speed> is either "S" for slow (2.5
readings/second), "M" for medium (5 readings/second), or "F" for fast (20
readings/second). "S", "M", and "F" can be sent as either upper- or lower-case letters.
Any other entry for <speed> generates an Execution Error.

RATE? Returns <speed> as "S" for slow (2.5 readings/second), "M" for medium (5.0
readings/second), or "F" for fast (20 readings/second).

Measurement Queries
The commands in Table 23 cause the Meter to return readings shown on the primary
and/or secondary displays.

Table 23. Measurement Queries

Command Description
MEAS1? Meter returns the value shown on the primary display after the next triggered
measurement is complete.

MEAS2? Meter returns the value shown on the secondary display after the next triggered
measurement is complete. If the secondary display is off, an Execution Error is generated.

MEAS? If both displays are on, the Meter returns the value shown on both displays after the next
triggered measurement is complete in the format selected. These values are separated by a
comma (format 1) or a space, measurement units, a comma and space (format 2).

Example: +1.2345E+0,+6.7890E+3<CR><LF>

If the secondary display is not on, MEAS? is equivalent to MEAS1?

Note
If MEAS is used in external trigger (TRIGGER 2 through TRIGGER 5), unexpected results
will be obtained.

VAL1? Meter returns the value shown on the primary display. If the primary display is blank, the next
triggered measurement is returned.

VAL2? Meter returns the value shown on the secondary display. If the secondary display is blank,
the next triggered measurement is returned. If the secondary display is off, an execution error
is generated.

VAL? If both displays are on, the Meter returns the value shown on both displays. These values are
separated by a comma.

Example: +1.2345E+0,+6.7890E+3<CR><LF>. If the secondary display is not on, VAL is


equivalent to VAL1. If a display is blank, the next triggered measurement on that display (or
displays) is returned.

78
Digital Multimeter
FLUKE 45 Command Emulation Summary

Compare Commands and Queries


The commands in Table 24 cause the Meter to determine whether a measurement is
higher than, lower than, or within a specified range.

Table 24. Compare Commands and Queries

Command Description
COMP Meter enters compare (COMP) function.

COMP? Meter returns "Hl" if the last COMP measurement reading was above the compare
range, "LO" if it was below it, "PASS" if within compare range, or "— " if a
measurement has not been completed.

COMPCLR Meter exits compare function, and restores display to normal operation.

COMPHI Sets HI compare (COMP) value to <high value>, where <high value> can be a signed
<high value> integer, signed real number without exponent, or signed real number with exponent.

COMPLO Sets LO compare (COMP) value to <low value>, where <low value> can be a signed
<low value> integer, signed real number without exponent, or signed real number with exponent.

Trigger Configuration Commands

The commands in Table 25 set and return the trigger configuration.

Table 25. Trigger Configuration Commands

Command Description
TRIGGER Sets the trigger configuration to <type>.
<type>
<type> corresponds to a number between 1 and 5 selected from Table 26A. If the
<type> entered is not one of these listed numbers, an Execution Error is generated.

Table 26A. Trigger Type


Type Trigger Rear Trigger Settling Delay
1 Internal - -
[1]
2 External Enabled Off
[1]
3 External Enabled On
4 External Enabled Off
5 External Enabled On
[1] Although the Fluke 45 disabled the rear-panel
trigger for these trigger types, the DMM4040/4050
leaves the rear-panel trigger enabled.

When the input signal is not stable, select a trigger type with the settling delay (type 3 or 5)
enabled before a measurement is triggered.

TRIGGER? Returns the trigger <type> set by the TRIGGER command.

79
DMM4040/4050
Programmer Manual

Miscellaneous Commands and Queries

Miscellaneous commands and queries are summarized in Table 26.

Table 26. Miscellaneous Commands and Queries

Command Description
^C (CNTRL C) The RS-232 equivalent of IEEE-488 DCL. Causes <CR><LF> and =><CR><LF> to
be output.

SERIAL? Meter returns its serial number.

RS-232 Remote/Local Configurations


The commands in Table 27 are used with the RS-232 interface to set up the Remote/
Local configuration of the Meter. These commands are valid only when the RS-232
interface is enabled.

Table 27. RS-232 Remote/Local Configuration Commands

Command Description
REMS Puts the Meter into remote state where all front-panel keys, except the local key, are
disabled. LOCAL is shown above the first soft key in the display.

RWLS Puts the Meter in the remote state, with front-panel lockout. LOCKED is shown in the display.
When in RWLS, all front panel buttons are disabled.

LOCS Puts the Meter in the local state, i.e., local operating mode without lockout. All front panel
buttons are enabled.

LWLS Puts the Meter in the IEEE-488 LWLS state, i.e., local operating mode lockout. All
front panel buttons are disabled.

Triggering Output
The Meter takes measurements when it is triggered to do so. The five available trigger
types are listed in Table 28. All available trigger methods fall into two basic categories:
• Internal triggering uses the Meter’s internal trigger circuit for a continuous source of
triggers.
• External triggering comes from a source outside the Meter controlled by the user.

Setting the Trigger Type Configuration

To select a trigger type over the computer interface, send the command:
TRIGGER <type>
where <type> is a number between 1 and 5 that identifies a trigger type. If <type> is not
one of these numbers, an Execution Error is generated.
Select a trigger type that enables the settling delay (type 3 or 5) when the input signal is
not stable before a measurement is triggered.

80
Digital Multimeter
Using NI SignalExpress, Tektronix Edition

External Triggering
A measurement can be externally triggered in three ways:

• External trigger.
• GET command (IEEE-488 Interface only)
• *TRG command
To trigger a measurement over the RS-232 or IEEE-488 computer interface, send the
Meter a *TRG command over the computer interface. The GET command is only valid
for the IEEE-488 interface.
When set for external trigger, the Meter will trigger measurements when a negative-going
signal is applied to the rear-panel trigger jack.

Note
The Fluke 45 provides a method of triggering through its RS-232 port. The
DMM4040 and 4050 do not provide this method of triggering.

Table 28. Trigger Types

Type Trigger Rear Trigger Settling Delay


1 Internal - -
[1]
2 External Enabled Off
[1]
3 External Enabled On
4 External Enabled Off
5 External Enabled On
[1] Although the Fluke 45 disabled the rear-panel trigger for these trigger types, the DMM4040/4050 leaves the rear-
panel trigger enabled.

Using NI SignalExpress, Tektronix Edition


You can use NI SignalExpress, Tektronix Edition to download and store readings from
the Meter to a PC running Microsoft’s Windows operating system. NI Signal Express,
Tektronix Edition must first be installed on the PC. Refer to the DMM4020, DMM4040,
and DMM4050 Connectivity Intallation Manual to install NI SignalExpress, Tektronix
Edition on your Windows PC.

FLUKE 8842A Emulation Mode


The Fluke 8842A emulation mode is only available through the GPIB interface.
Whenever the DMM4040 or 4050 has the RS-232 or LAN interface selected, Fluke
8842A emulation mode is not selectable through the front panel.
The Fluke 8842A IEEE-488 commands are listed in the following tables. These
commands are identical, except where indicated. For operational differences and
commands that are not supported in the DMM4040 or 4050, refer to Appendix D.

Example Notes
In the examples in this manual, device-dependent commands are shown enclosed within
quotation marks, as they would be entered in Fluke BASIC. For clarity, the commands
are also separated by spaces. However, the spaces are are not necessary and may be
omitted.
Example Explanation

81
DMM4040/4050
Programmer Manual

“* F3 R1 S1 T2” This example is equivalent to “*F3R1S1T2” or


“*,F3,R1,S1,T2”.

Using the Fluke 1722A Instrument Controller, these commands might be written into a
BASIC program as shown in Figure 5. Examples using other controllers are given at the
end of this section.

Here is a typical command string as it might be sent from a Fluke 1722A Instrument Controller. The
string configures the meter and triggers a reading. The PRINT command automatically sends
terminators (CR, LF, and/or EOI) to the meter at the end of the command string.

PRINT @3, “* F3 R4 S1 T2 ?”

IEEE-488 bus address


Resets the meter to the
power-up configuration
Selects the 2 WIRE kΩ function

Selects the 200 kΩ range

Selects the medium reading rate

Selects the external trigger mode


(Rear panel trigger disabled)

Triggers a reading
caw65.eps
Figure 5. Typical Command String for Fluke 8842A Emulation

Examples of Fluke 8842A emulation output data show the terminators CR and LF. The
terminator EOI is not shown because it is a uniline message. However, the terminators
CR, LF, and EOI are all selectable using the Write commands.

82
Digital Multimeter
FLUKE 8842A Emulation Mode

Function Commands Clear Commands


F1 V dc (Default) * Device Clear (Reset meter to default
F2 V ac conditions)
F3 2 WIRE kΩ X0 Clear Error Register
F4 4 WIRE kΩ
F5 mA dc Single-Trigger Commands
F6 mA ac
? Trigger Measurement
Range Commands
Get Commands
R0 Autorange On (Default)
R1 200 mV, 200 Ω G0 Get Instrument Configuration (F,R,S, and T)
R2 2 V, 2 kΩ G1 Get SRQ Mask
R3 20 V, 20 kΩ G3 Get User-Defined
R4 200 V, 200 kΩ, 200 mA dc G4 Get Calibration Status
R5 1000 V dc, 700 V ac, 2 MΩ, 2000 mA G5 Get IAB Status (Input F/R, Autorange On/Off,
R6 20 mΩ Offset On/Off)
R7 Autorange Off G6 Get YW Status (Suffix Enabled/Disabled,
R8 20 mV, 20 Ω Terminator Selection)
G7 Get Error Status
Reading Rate Commands G8 Get Instrument Identification
S0 Slow (Default)
S1 Medium Put Commands
S2 Fast
P0 Put Instrument Configuration (F,R,S, and T)
P1 Put SRQ Mask
Trigger Mode Commands

Command Trigger Setting Put Command Format


Mode Delay
N <value> P0
T0 (Default) Internal - N <value> P1
T1 External On
T2 External On SRQ Mask Values
T3 External Off
T4 External Off 00 for SRQ Disabled (Default)
01 for SRQ On Overrange
Offset Commands 16 for SRQ On Data Available
32 for SRQ On Any Error
B0 Offset Off (Default)
Note: Add SRQ mask values for connections.
B1 Offset On
Example: 33 for SRQ on overrange or
Display Commands any error.

D0 Normal Display (Default) Self-Test Command


D1 Blank Display
Z0 Begin Self-Test
Suffix Commands
Terminators
Y0 Disable Output Sffix
Y1 Enable Output Suffix CR (Carriage Return) Execute
LF (Line Feed) Execute
Terminator Commands EOI (End Or Identify) Execute
GET (Group Execute Trigger) Trigger and
W0 Enable CR LF EOI (Default) Execute
W1 Enable CR LF Only
W2 Enable CR EOI Only Note: GET is an interface message.
W3 Enable CR Only
W4 Enable LF EOI Only
W5 Enable LF Only
caw66.eps
Figure 6. Fluke 8842A Emulation Device-Dependent Command Set

83
DMM4040/4050
Programmer Manual

Device-Dependent Command Set


Device-dependent commands are the heart of Fluke 8842A emulation remote control.
They tell the Meter how and when to make measurements, when to put data on the bus,
when to make service requests, etc. The complete set of device-dependent commands is
listed in Figure 6. The commands may be entered using either upper- or lower-case
letters.
Device-dependent commands are device-dependent messages. For the Meter to receive
them, they must be sent over the IEEE-488 bus when the Meter is in remote and has
been addressed as a listener.
The following paragraphs describe the device-dependent commands in alphabetical order.
Special characters (* and ?) are described last.

Bn (Offset Commands)
When the Meter receives the B1 command, the Meter stores the present reading as an
offset for the present function. The B0 command cancels the offset. Only one offset is
allowed at a time.
The offset status (not the offset value) can be read using the G5 command. The Meter
defaults to B0 on both power-up and on any device-clear command (*, DCL, or SDC).

Dn (Display Commands)
The Display commands allow the user to blank the display in the Meter. The D0
command causes the display to operate normally, and is the default on power-up and
upon any device-clear command (*, DCL, or SDC).
The D1 command blanks the display. The D1 command is used for best performance
when high IEEE-488 Interface Data rates are required.

Fn (Function Commands)
The function commands duplicate the front panel function buttons. The Meter defaults to
Fl on power-up and on any device-clear command (*, DCL, or SDC). If F0 is sent to the
Meter, it is internally converted to F1. The function setting can be read using the G0
command.
As with the front panel commands, selecting F6 automatically selects the 2000 mA range
(R5). If the instrument is in range R8, commanding F5 automatically selects the 200 mA
range (R4). If the instrument is in R1 through R6, commanding F5 automatically
selects the 2000 mA range (R5). If the Meter is in a resistance function (F3 or F4) and in
R6, selecting any other function automatically selects R5. If the Meter is in range R8 and
F2 or F3 is commanded, range R1 is selected.

Get Commands
The Get commands "get" information from the Meter for the controller. Each Get
command loads the output buffer with an output string in the format shown in Figure 7.
Status data (the output from Get commands G0, G1, G3, G4, G5, G6, G7 and G8) is
interpreted as shown in Table 29. The Get commands should not be confused with the
interface message GET (Group Execute Trigger).

84
Digital Multimeter
FLUKE 8842A Emulation Mode

Output Data Type Format

Numeric Data +n.nnnnnE+nn[suffix][CR][LF][EOI]


(From trigger)
Examples:
+12.3456E+6 Measured value
+12.3456E+6, Ohm Measured value
-9.99999E+9 Overrange (≥ 200,000 counts)
+9.99999E+9,>VDC Overrange (≥ 200,000 counts)
+1.0032E+21 Error Message

Instrument Configuration Data nnnn [CR] [LF] [EOI]


(From G0, G4, G5, G6, and G7)
Example:
1100 Default G0 value

SRQ Mask Data nn [CR] [LF] [EOI]


(From G1)
Example:
32 SRQ on any error

Numeric data is always in volts, amps, or ohms.


The terminators CR, LF, and EOI are selected with the Terminator Commands (Wn).
The suffix, defined below, is enabled with the Y1 command and disabled with the Y0 command.
(Default = Y0.)

Suffix Format

, > V dc
V ac
Ohm
IDC
IAC

Function Indicator

> Reading is overrange (≥ 200,000 counts)


<space> Reading is not overrange but can be over voltage (> 1000 V dc or 700 Vac)

Leading Comma (Always present in suffix). Most versions of BASIC expect multiple input values
to be separated by commas. (e.g.,input@I,N,S$) to acquire the numeric portion and suffix string.

caw67.eps
Figure 7. Fluke 8842A Emulation Data Output Format

85
DMM4040/4050
Programmer Manual

Table 29. Fluke 8842A Get Commands

Command Output String Description

frst f = 1 – 6 for function selection


r = 1 – 6 for selected range
G0
s = 0 – 2 for selected measurement rate
t = 0 – 4 for selected trigger mode

nn nn = 00 for SRQ disabled


01 for SRQ on overrange
16 for SRQ on data available
G1 32 for SRQ on any error
Note: SRQ mask values may be added for
combinations. Example: 33 for SRQ on
overrange or any error.

G2 Error 51 Not supported in 8842A emulation mode.

FL8842A.1-8-2008 Can’t set user defined message in 8842A


G3
emulation.

10vm v = 0 Not in cal verification


G4
m = 0 Not in calibration mode

1iab i = 0 Front-panel inputs selected


1 Rear-panel inputs selected
a = 0 Autorange on
G5
1 Autorange off (manual ranging)
b = 0 Offset off
1 Offset on

10yw y = 0 Output suffix disabled


G6 1 Output suffix enabled
w = 0 – 5 Selected terminator command
[1]
G7 10nn nn = Error code

G8 FLUKE,8842A, nnnnnnn,V5.0 nnnnnnn = Instrument serial number

[1] The DMM4040 and 4050 have an error queue of 16. For multiple errors, G7 will dequeue the errors one by one but
will not clear the ERROR indicator on the front panel when the queue is empty. X0 clears the ERROR annunciator.

The output data from some Get commands starts with a leading 1 or 10. This prevents the
controller from suppressing leading zeroes and gives a uniform four-character length
to all instrument configuration data (the data from Get commands G0, G4, G5, G6, and
G7).
The Get commands are described further in the following paragraphs. For more
information about output data, see Syntax Rules later in this section.

G0 (Get Instrument Configuration)


The G0 command copies the function, range, reading rate, and trigger mode of the Meter
into the output buffer in the format shown in Figure 7. The four digits returned represent
the arguments for the equivalent F, R, S, and T commands, as shown in Table 29. An
example output string follows:
Example Explanation
3410 CR LF 3: F3 (2-Wire kΩ function)

86
Digital Multimeter
FLUKE 8842A Emulation Mode

4: R4 (200 kΩ range)
1: S1 (Medium reading rate)
0: T0 (Continuous trigger)
The second digit, which can vary from 1 to 6, indicates what measurement range the
Meter is in regardless of whether the Meter is in autorange or manual range.
The output string from a G0 command is acceptable as an argument for an "N" command.
This allows you to configure the Meter from the front panel and then record the
configuration over the bus for future use with a P0 command.

G1 (Get SRQ Mask)


The G1 command copies the present SRQ mask into the output buffer in the format
shown in Figure 7. The SRQ mask values are explained in Table 29. An example output
string follows. For more information about the SRQ mask, see the “Status Data” section
later in this section.
Example Explanation
33 CR LF Enable SRQ on any error or overrange.

G3 (Get User-Defined Message)


The G3 command loads the output buffer with the indentification string and calibration
date of the Meter.
Example Explanation
FL8842A 10-8-2008 CR LF Identifies Meter and gives calibration date.

G4 (Get Calibration Status)


The command loads the output buffer with the instrument's calibration status in the
format shown in Figure 7. The status is represented by a four-digit integer which is
interpreted in Table 29.
The first two digits are always 1 and 0. The third digit indicates whether or not the
calibration verification mode is enabled. The fourth digit indicates whether or not the
calibration mode is enabled. Since the Meter can only be calibrated in 4040/4050 mode,
the response to the G4 command in the Fluke 8842A emulation mode will always be
1000.
Example Explanation
1000 CR LF 1: Leading 1
0: Leading 0
0: Not in cal verification
0: Cal mode disabled

G5 (Get IAB Status)


The G5 command loads the output buffer with the IAB status in the format shown in
Figure 7. As Table 29 explains, the IAB status is a four-character string which indicates
the status of the FRONT/REAR switch (front or rear analog inputs selected), the
autorange feature (autorange on or off), and the OFFSET feature (OFFSET on or off).
The first digit is always 1. An example output string follows.
Example Explanation
87
DMM4040/4050
Programmer Manual

1011 CR LF 1: Leading 1
0: FRONT inputs
1: Autorange off
1: OFFSET feature on
It is useful to know whether autorange is on or off because this information is not
available from the G0 command. For example, the G0 command could indicate that the
Meter was in the 200 mV range, but it would not indicate whether the Meter was in
autorange or manual range

G6 (Get YW Status)
The G6 command loads the output buffer with the YW status in the format shown in
Figure 7. The YW status is a four-character string which indicates which terminators are
selected and whether the output suffix is enabled or disabled, as shown in Table 29. The
first two digits are always 1 and 0. An example output string follows.
Example Explanation
1015 CR LF 1: Leading 1
0: Leading 0
1: Y1 (enable output suffix)
5: W5 (enable LF only)

G7 (Get Error Status)


The G7 command copies the error status register into the output buffer in the format
shown in Figure 7. The first two digits are always 1 and 0. The second two digits
represent the appropriate error code, if an error has occurred. (Error codes are listed in
Appendix A). If an error has not occurred, the second two digits are 00. An example
output string follows.
Example Explanation
1071 CR LF 1: Leading 1
0: Leading 0
71: Syntax error in device-dependent command string
The G7 command gives the error status as it exists when the command is executed at its
position in the input string. The G7 command does not clear the error status register. For
more information about error messages, see the Output Data section later in the section.

G8 (Get Instrument Identification)


The G8 command copies the Meter instrument identification into the output buffer in the
format shown in Figure 7. The identification is represented by four comma separated
fields that are interpreted in Table 29.
The first field indicates the manufacturer, the second indicates the instrument model number,
the third is always the serial number, and the fourth indicates the version number of the
IEEE-488 interface software.
Example Explanation
FLUKE,8842A,1234567,V5.0 CR LF This Meter is a Fluke 8842A with IEEE-488 interface
software version 5.0.

88
Digital Multimeter
FLUKE 8842A Emulation Mode

N (Numeric Entry Command)


Format Explanation
N<numberic entry> Where <numeric entry> is one of the following:
<signed integer>
<signed real number without exponent>
<signed real number>E<signed exponent>
Example Explanation
“N12001” Enters the five-digit integer 12001
“N-1.23E2” Enters -1.23 x 102
“N+154.33E-1” Enters 1.5433 x 101
The N command enters numeric values for use with subsequent Put commands. The
interpretation of the numeric value depends on which Put command it is used with.
The E can be used within an N command for entering an exponent of 10. The N can be
used without an E, but an E requires a prior N. The exponent can be any integer from -9
to +9.
The mantissa may exceed 5-1/2 digits. The 8842A accurately calculates the appropriate
exponent and then disregards all but the first 5-1/2 digits of the mantissa. However, a
syntax error will occur if the numeric entry overflows the input buffer.
Example Explanation
“N123456789” Enters +1.23456 x 108

Put Commands
The Put commands P0 and P1 set up the configuration of the Meter and its operating
modes by entering ("putting") information in the appropriate registers. The put
commands are described further in the following paragraphs.

P0 (Put Instrument Configuration)


Format Explanation
N<frst>P0 Where <frst> is a four-digit integer interpreted as
arguments for the F, R, S, and T commands.
Example Explanation
“N3120 P0” Identical to F3 R1 S2 T0. Selects 2-Wire kΩ function,
200Ω range, fast sample rate, and continuous trigger.
The P0 command allows broadside loading of the Function, Range, Reading Rate, and
Trigger Mode commands (F, R, S, and T). The codes for these commands are listed in
Figure 6.
A numeric entry for P0 must be within +1000 and +6824. Each of the four digits must not
exceed its maximum allowed value (6, 8, 2, and 4, respectively) or an error message will
occur and the instrument configuration will remain unchanged. The entry may be
expressed as an integer, real number, or real number with exponent, as described under
the N command. Any fractional part is ignored.
Example Explanation
“N3112 P0” Sets the Meter to F3, R1, S1, and T2.

89
DMM4040/4050
Programmer Manual

P1 (Put SRQ Mask)


Format Explanation
N< SRQ mask >P1 Where < SRQ mask> is a two-digit integer from 00 to
63.
The P1 command is used to program the 8842A to make service requests on user-specified
conditions. The two-digit code for the SRQ mask is interpreted in Table 29 under the G1
command. For more about the SRQ mask, see the “SRQ Mask” section later in this
section.
Numeric entries for the P1 command must be between 0 and +63 (inclusive), or an error
will occur and the SRQ mask will remain unchanged. The entry may be expressed as an
integer, real number, or real number with exponent, as described under the N command.
Any fractional part is ignored.
Example Explanation
“N0.17E+2 P1” Sets SRQ mask to 17. Enables SRQ on data available
or overrange.
“N1 P1” Sets SRQ mask to 01. (A leading zero is assumed.)
Enables SRQ on overrange.

Rn (Range Commands)
The Range commands duplicate the front panel range buttons. For example, R0 selects
autorange, and R3 selects the 20V/20 kΩ range.
The R7 command turns autorange off, just as the RANGE button does when it is toggled.
Command R7 puts the Meter into manual range, selecting whatever range the instrument
is in when the command is received.
The Meter defaults to R0 on power-up and any device-clear command (*, DCL, or SDC).
The range setting can be read using the G0 command.

Sn (Reading Rate Commands)


The 8842A defaults to S0 on power-up and any device-clear command (*, DCL, or
SDC). The reading rate can be read using the G0 command. The reading rate command
also selects the number of digits displayed and the filter setting.

Tn (Trigger Mode Commands)


The Trigger Mode commands duplicate the front panel TRIG button. In addition, the
commands can enable or disable the automatic settling time delay.

Note
The front panel TRIG button is enabled only while the instrument is under
local control.
In the continuous trigger mode (T0), triggers are initiated at the selected reading rate.
Each new reading is loaded into the output buffer as it becomes available, unless the
Meter is busy sending previous output data.
The trigger mode can be read using the G0 command. The Meter defaults to T0 on both
power-up and any device-clear command (*, DCL, or SDC).

90
Digital Multimeter
FLUKE 8842A Emulation Mode

Wn (Terminator Commands)
The Terminator commands select what terminators the Meter appends to every output
string. The available terminators are: Carriage Return (CR), Line Feed (LF), and End Or
Identify (EOI).
CR and LF are ASCII control codes, sent over the data lines just like output data. EOI is a
uniline message which is sent simultaneously with the last character in the output string.
Normally, each output string is terminated with CR followed by LF and EOI.
The terminator selection can be read using the G6 command. The Meter defaults to W0 on
power-up and any device-clear command.

X0 (Clear Error Register Command)


The X0 command clears the error status register of the Meter. After an X0 command is
executed, a G7 command (Get Error Status) would return 1000 (no errors).
Note that the error status register is also cleared when any device-clear command (*, DCL,
or SDC) is executed. However, X0 is useful for clearing the error status register without
forcing a complete instrument clear (as do the device-clear commands).

Yn (Suffix Commands)
The Suffix commands enable or disable a suffix which the Meter can append to all
numeric data. The suffix includes a comma, an overrange indicator (>), and a function
indicator (VDC, VAC, OHM, IDC, or IAC). The suffix is illustrated in Figure 7. An
example of suffixed data is given in the “Numeric Data and Error Messages” paragraph
later in this section.
To read suffixed data with a controller using BASIC, one can read the whole line into a
string variable and then convert the numeric part into a numeric variable. However, it is
much easier to read the numeric part directly into a numeric variable and the suffix into a
string variable. The leading comma of the suffix serves as a convenient delimiter. For
example, a BASIC program statement might be:
INPUT @1,A, B$
The suffix status can be read using the G6 command. The Meter defaults to Y0 on power-
up and any device-clear command (*, DCL, or SDC), unless in talk-only mode.

Z0 (Self-Test Command)
The Z0 command intiates the diagnostic self-tests.
Since the Meter is reset at the end of the self-tests, the Z0 command should be the last
command in a given command string. The Meter will ignore any subsequent commands
in the same command string.
When the self-tests are complete and no errors have occurred, the serial poll register will
have bit 5 (Data Available) true and bit 6 (Any Error) false.

Device Clear Command


The asterisk command (*) is a device-dependent message which resets the Meter to the
power-up default settings and clears all registers and buffers except for the input buffer.
The remote/local status remains unchanged. The asterisk command performs the
following:
1. Implements the default settings Fl, R0, S0, T0, D0, B0, Y0, W0.
2. Clears the error status register (equivalent to X0).

91
DMM4040/4050
Programmer Manual

3. Zeros the SRQ mask, prohibiting service requests (equivalent to N0 P1).


4. Zeros the numeric entry register (equivalent to N0).
5. Zeros the serial poll register.
6. Sets the SRQ line false.
The asterisk command is executed in its proper turn in a string, just like any other
command, without affecting the contents of the input buffer. All commands which
precede the asterisk command are performed.
The asterisk command is useful to ensure that the Meter is initialized to the same state
each time a program is run. By contrast, the similar interface messages DCL (Device
Clear) and SDC (Selected Device Clear) cause the entire input buffer to be cleared
immediately.
DCL, SDC, and the asterisk command are all considered to be device-clear commands
because the results are so similar; however, DCL and SDC are not identical to the asterisk
command described here.

? (Single-Trigger Command)
The Single-Trigger command (?) causes the Meter to take a reading and place the result
into the output buffer. To accept this command, the Meter must be in external trigger
mode (selected by the T1, T2, T3, or T4 command).
The Single-Trigger command is one of five ways to trigger a reading. Of these, only
the Single-Trigger command (?) and the Group Execute Trigger command (GET) are
loaded into the input buffer.

Input Syntax
The following paragraphs describe how to construct groups of commands for the 8842A
command emulation. A few definitions are presented first, followed by a description of
how the Meter processes input commands. Guidelines are then summarized in four
syntax rules.

Definitions
• Output commands: Commands which load data into the output buffer. The output
commands are: the Get commands (G0 through G8); the Single-Trigger
Command (?); the Continuous Trigger command (T0); and Group Execute Trigger
(GET), not to be confused with the Get commands.
• Input terminator: An ASCII control code sent by the controller which tells the Meter
to execute all device-dependent commands since the previous terminator.
Terminators are CR (Carriage Return), LF (Line Feed), EOI (End Or Identify), and
GET (Group Execute Trigger).
• Input command string: One or more device-dependent commands followed by a
terminator.

Input Processing
When the Meter receives commands from the bus, it stores them in a 350-character input
buffer as a continuous string of characters. Commands in the input buffer are not
executed or checked for syntax until an input terminator is received or the input buffer
becomes full. The only valid input terminators are CR, LF, GET (Group Execute
Trigger), and/or EOI.

92
Digital Multimeter
FLUKE 8842A Emulation Mode

When the Meter receives an input terminator, it executes the previous commands in the
order in which they were received. As input characters are processed and executed,
space is made available in the input buffer for new characters.
If the input buffer becomes full, the Meter stops accepting characters from the bus until
all complete command strings currently in the input buffer have been executed. In this
way, characters sent to the Meter are never lost due to buffer overflow.
In some instances, a terminator is automatically transmitted at the end of the controller's
output string. For example, in Fluke BASIC, the PRINT statement always finishes with a
CR LF pair. If a controller does not have this feature, the programmer must transmit a
terminator explicitly.
The Meter accepts alphabetic characters in either upper or lower case. Spaces, commas,
and control codes are ignored and are not placed in the input buffer. If the Meter
receives a group of terminators (such as CR LF or CR LF EOI), only a single
terminator is loaded into the input buffer. Numeric values used in PUT commands may be
in NR1, NR2, or NR3 format as described in the IEEE-488 Codes and Formats
Recommended Practice. (These correspond to the signed integer, real number, and real-
number-with exponent formats described under the N command).
Illegal commands (e.g., F9) generate an error message, but are otherwise ignored, and do
not affect the instrument's configuration.
Example Explanation
“* F9” This would load the output buffer with an error
message and select F1 (established by the * command).

Syntax Rules
Four syntax rules should be followed when constructing input command strings. They
are:
• RULE 1: Read output data only once.
To prevent old (previously read) data from being read a second time by mistake, the
output buffer is always cleared after it has been read. If the output buffer is read twice
without an intervening output command, the Meter will not respond to the second
attempt to read the output buffer. (However, if the Meter is in T0, no intervening
command is necessary.)
• RULE 2: Use no more than one output command per input command string.
Because the Meter has only one output buffer, it writes new data over old. If an input
command string contains more than one output command, only the data from the last
command can be read.
Example Explanation
“F1 T3 ? F2 ?” Improper construction. The second trigger writes over
the first. To obtain two readings, send two complete
command strings (separated by terminators).
“F2 R3 S0 T3 ?” Correct construction. The string contains only one
output command.
“F2 R3 S0” Correct construction. It is permissible for a string not
to contain an output command.
• RULE 3: Read the output data generated by one input command string before
sending the next input command string.

93
DMM4040/4050
Programmer Manual

Output data remains available in the output buffer until it is read, or until the
next input command string is received. As soon as the controller finishes reading the
output buffer, or as soon as the Meter receives a new input terminator, the Data
Available bit in the serial poll register is set false. When this bit is false, data can no
longer be read from the output buffer. Therefore, an output string which is available
must be read by the controller before, rather than after, the next input command
string is sent.
Rule 3 is most evident in the external trigger mode, and is best demonstrated by a
programming example. The following program is written first incorrectly, and then
correctly, in Fluke BASIC using the 1722A Instrument Controller.
Incorrect Example
100 PRINT @3, "T1 ? "
200 PRINT @3, "F4"
300 INPUT @3, A

In this incorrect example, the INPUT statement is located incorrectly for reading the
measurement data from line 100. The new input command string "F4" disallows the
reading of data from the output buffer.
Correct example
100 PRINT @3, "T1 ? "
200 INPUT @3, A
300 PRINT @3, "F4"

• RULE 4: If an input command string contains a trigger, enter the commands in the
following order:
a. Commands to configure the instrument (if any).
b. The trigger command.
c. Commands to re-configure the instrument (if any).
d. Terminator(s).
The principle behind this rule is that the Fluke 8842A executes all commands in the
exact order they are received, from left to right as written.
Example Explanation
“F3 F4 ?” Improper construction. F3 is effectively discarded.
“F3 ? F4” Correct construction. The Meter is configured in F3,
and the trigger is executed. Then the Meter is left in F4.

Output Data
The following paragraphs describe the data that can be loaded into the output buffer of
the Meter and sent to the IEEE-488 bus. The paragraphs describe how and when data is
loaded into the output buffer, the types of output data, and their relative priority.
Note that the Meter can also send data to the IEEE-488 bus from the serial poll register.
For a description of this data, see the “Status Data” section later in the manual.

Loading Output Data


The output buffer is loaded when the Meter receives an output command, or when an
error occurs. Output commands are those device-dependent commands which load the
output buffer with data:

94
Digital Multimeter
FLUKE 8842A Emulation Mode

• Get commands (G0 through G8)


• Single-trigger command (?)
• Group execute trigger (GET)
• Continuous Trigger (T0)
Because the Meter gives priority to input processing, it completely processes all
characters in the input buffer before it loads the output buffer. When the output buffer is
loaded, the Data Available bit in the serial poll register is set true.
Data from the output buffer is not actually loaded onto the IEEE-488 bus until the
controller addresses the Meter as a talker. This is done by sending the interface message
MTA (My Talk Address).

Types of Output Data


The types of data that can be loaded into the output buffer are shown in 7. Each type has
its own format. Error messages, which are loaded into the output buffer if an error
occurs, are formatted as numeric data.

Numeric Data and Error Messages


Numeric data is loaded into the output buffer in response to an instrument trigger. The
exponent is always a multiple of 3, as in engineering notation.
Numeric data is of constant length, It is 11 characters (plus terminators) when the suffix
is disabled, and 16 characters (plus terminators) when the suffix is enabled.
The suffix is enabled by the Y1 command, and consists of five ASCII characters as
shown in Figure 7. The suffix is appended only to numeric data, never to status data.
The terminators are determined by the Terminator commands. The default is CR LF EOI.
There are three types of numeric data: measurement data, overrange indication, and error
messages.

Overrange Indication
If a reading is overrange (≥200,000 counts), the measurement data has the following
format:
±9.99999E+9 <suffix> <terminators>

Overvoltage readings (> 1000V dc or 700V ac) do not result in this display.

Error Messages
If the Meter detects an error, it loads an error message into the output buffer in the
following numeric format:

+1.00xxE+21 <terminators>

The digits xx represent a two-digit error code. (Error codes are listed in Appendix A. The
suffix is always suppressed for error messages.
Example Explanation
+1.0071E+21 CR LF ERROR 71: Syntax error in device-dependent
command string.
As with local operation, none of the errors are latching except for ERROR 31. If the mA
DC or mA AC function is requested while the FRONT/REAR switch is in the REAR

95
DMM4040/4050
Programmer Manual

position, ERROR 31 will persist until the switch is set to FRONT or another function is
selected.
To check for an error condition, test whether the output buffer data is greater than or
equal to +1E+21, or test the Any Error bit (bit 6) in the serial poll register.

Status Data
Status data is the output in response to G0, G1, G3, G4, G5, G6, G7 and G8, commands.
The data is formatted as shown in Figure 7, and is interpreted in Table 29. Examples of
status data can be found in the description of the Get commands.
The SRQ mask loaded by the G1 command consists of two integers plus terminators. All
other status data is always a four-digit integer plus terminators. The terminators LF (Line
Feed) and CR (Carriage Return) each add an extra character when enabled.
The Meter begins some status data with a leading ASCII one (1) or a one and a zero (10).
This prevents the controller from suppressing any leading zeros present in the output string
of the Meter. It also gives a uniform four-character length to all instrument configuration
data.
Status data from the Get commands reflects the status of the Meter at the time the command
is executed at its place in the input command string.

Output Priority
Since only one output string is allowed per input command string, the Meter gives
priority to some types of data over others. An input command string may call for more
than one output string. (For example, an input string may contain a Get command but
also cause an error message.) However, the output buffer is loaded with only one output
string. That string is selected according to the following priority:
1. Status data (from G0, Gl, G3, G4, G5, G6, G7 and G8)
2. Error messages (if an error exists)
3. Numeric data
This means that an error message always overrides numeric data, but status data is sent
even in the presence of an error. However, the status data does not clear the error
message; the error message is sent the next time numeric data is requested.

Service Requests
Service requests let bus instruments get the attention of the system controller. The
requests are sent over the SRQ line (one of the IEEE-488 bus lines). If more than one
instrument on the bus is capable of sending service requests, the controller can learn
which one made the request by taking a serial poll. Each device (including the Meter)
responds to the poll by sending the contents of its serial poll register. The serial poll
register indicates whether or not the device requested service, and if so, the reason for the
request.
The Meter may be programmed to make a service request on user-specified conditions.
The conditions are specified by entering a value for the service request mask (SRQ mask)
with the P1 command. The SRQ mask works by monitoring the serial poll register, which
in turn monitors various conditions in the Meter.

The Serial Poll Register


The serial poll register is a binary-encoded register which contains eight bits, as
illustrated in Table 30. The controller can read the Meter serial poll register at any time
96
Digital Multimeter
FLUKE 8842A Emulation Mode

by taking a serial poll. Because serial poll register data is loaded directly onto the bus
(instead of being loaded into the output buffer first), reading the serial poll register leaves
data in the output buffer intact.
The eight bits of the serial poll register are described in Table 31. Note that the SRQ
mask uses bits 1 through 6 to set bit 7 (the RQS bit). When the RQS bit is set true, the
Meter sets the SRQ line true, which generates a service request. A bit is considered true
when it is set to 1.
For example, the serial poll register reads 00010000 (binary) when data is available. This
value is read in binary by the controller, which might numerically reformat the value
to 16 (decimal) or 10 (hexadecimal).
The serial poll register is cleared whenever the Meter receives a new input command string.

Table 30. Serial Poll Register

Bit

8 7 6 5 4 3 2 1

Data
0 RQS Any Error 0 0 0 Overrange
Avaliable

Decimal
64 32 16 8 4 2 1
Value

Table 31. Serial Poll Register Description

Bit Name Set Cleared

1 Overrange An overrange condition occurs Device command received, or Bus or


rear-panel trigger, or Output buffer is
read.

2 Not used Never Always

3 Not used Never Always

4 Not used Never Always

5 Data available Output buffer loaded with any Device command received, or Bus or
data (Readings, Error rear-panel trigger, or Output buffer is
messages, Get responses) read.

6 Any Error An error condition occurs. At the Device command received or Output
same time the output buffer is buffer is read.
loaded with an error message.
This sets bit 5.

7 RQS Any SRQ mask-enabled bit is All SRQ mask-enabled bits are
set. cleared.

8 Not used Never Always

97
DMM4040/4050
Programmer Manual

The SRQ Mask


The SRQ mask is a two-digit integer that specifies which conditions will generate a
service request. The SRQ mask is entered using the P1 command and can be read with
the G1 command. The conditions corresponding to each SRQ mask value are listed
under G1 in Table 29.
The SRQ mask can enable any combination of serial poll register bits 1 through 6. Its six-
bit binary representation is ANDed bit-for-bit with serial poll register bits 1 through 6
whenever the output buffer is loaded. If any mask-enabled bit in the serial poll register
comes true, the RQS bit (bit 7) is set true, generating a service request.
Example Explanation
“N32 P1” An SRQ is generated if an error is generated. The string
sets the SRQ mask to 32, which is 100000 in binary.
This mask is ANDed with the lower six bits of the
serial poll register. The mask thus enables bit 6, the
Any Error bit.
The SRQ mask codes can be added to select combinations of conditions.
Example Explanation
“N33 P1” An SRQ is generated if an error is generated or if the
trigger results in a overrange reading. The SRQ mask is
set to 33, which is 100001 in binary.
At power-up or on any device-clear command, the SRQ mask is set to 00 (decimal). This
prevents service requests by holding the RQS bit false under all conditions. For other
examples of the SRQ mask, see the description of the P1 command.

98
Digital Multimeter
Introduction

Appendix A
Error Codes

Introduction
While operating the Meter remotely, errors may be detected. Each error is stored in a
buffer that is read in a first-in, first-out (FIFO) order. The error buffer will store up to 16
errors. If another error occurs before any of the first 16 are read from the buffer, the last
error is replaced with -350 (Too many errors). No further errors are stored until the errors
are read from the buffer.
The error buffer is cleared whenever the Meter’s power is removed or a *CLS command
is executed. The *RST (reset) command does NOT clear the error buffer. If no errors are
in the error buffer when it is read, the Meter returns +0 (No error).
Tables 32 through 34 lists the possible error codes and their descriptions.

Table 32. Execution Error Codes and Descriptions

Error Code Error Text Description

-102 Syntax error Invalid syntax was found in the command string. A blank space
may have been inserted before or after a colon in the
command header, or before a comma, or a character such as
#, $, %, or \ was used. This error will occur when the command
header is not formed properly and fails to pass header syntax
rules. Example: SAMP:COUN ,1 or CONF:VOLT#DC

-115 Missing parameter Fewer parameters were received than expected for the
command. One or more parameters were omitted that are
required for this command. Example: SAMP:COUN

-117 Parameter type A parameter within the command does not match a valid type
of parameter for the command specification. For example, a
command expected numeric data and received character data
instead. Example: SAMP:COUNT A

-120 Numberic invalid One or more values in a numeric/channel list parameter is


invalid, e.g. floating point when not allowed.

-124 Numeric value overflow The command contains a parameter of type Numeric Value
that was too large to be stored internally. This occurs if the
value has an exponent greater than +/-43. Example
SAMP:COUNT 1e50

-125 Numeric negative A negative numeric parameter value was entered. Example:
SAMP:COUN -3

99
DMM4040/4050
Programmer Manual

Table 32. Execution Error Codes and Descriptions (cont.)

Error Code Error Text Description

-126 Numeric real A floating point (real) numeric parameter value was entered.
Example: SAMP:COUN -13.6

-127 Channel dimension One or more entries in a channel list parameter has an invalid
invalid number of dimensions.

-130 Parameter suffix A parameter within the Input Command had the wrong type of
units for the Command Specification. Example
VOLT:DC:RANGE 1A

-137 Invalid header suffix Too many numeric suffices in the input for the specified
command. As an example, valid arguments for the FETCH?
Command are FETCH?, FETCH1?, FETCH2?, and FETCH3?.
If FETCH4? is entered, error 137 will be generated.

-150 Invalid string data The parameters in the Input Command contained an
unmatched single or double quote. Example: DISP:TEXT ‘hello
world”.

-154 String size The length of the entered string exceeds 12 characters.
Example CAL:SEC:CODE “this is an example of a long string”.

-157 Unmatched brackets The parameters in the Input Command contain an unmatched
bracket.

-191 Unknown parameter One or more of the parameters contains an unspecified error.

-192 Too many dimensions Too many dimensions in entry.

-193 No entry There was no entry to get - the index was beyond the end of
the entries.

-200 Generic execution General Execution error has occurred.

-211 Trigger ignored A Group Execute Trigger (GET) or *TRG was received but the
trigger was ignored. Make sure the multimeter is in the wait-for-
trigger state before issuing a trigger, and make sure the correct
trigger source is selected.

-213 Init ignored An INITiate command was received but could not be executed
because a measurement was already in progress. Send a
device clear to halt a measurement in progress and place the
multimeter in the idle state.

-214 Trigger deadlock A trigger deadlock occurs when the trigger source is BUS and
a READ? command is received.

-222 Illegal data value

-223 Too much data A character string was received, but could not be executed
because the string length was more than 12 characters. This
error can be generated by the CALibration:STRing and
DISPlay:TEXT commands.

-227 Invalid function Decibels modifier was applied to an selected function that does
not support decibels.

100
Digital Multimeter
Introduction

Table 32. Execution Error Codes and Descriptions (cont.)

Error Code Error Text Description

-230 Data stale A FETCh? command was received but internal reading
memory was empty. The reading retrieved may be invalid.

-242 Date timeout Timed out while taking data.

-243 Second function invalid Secondary function is not enabled.

-318 Can’t save MAC Could not save MAC address.

-319 Can’t save LAN Could not save network configuration.


configuration

-320 Can’t save non-volatile Could not save non-volatile configuration.


configuration

-330 Self-test failed The Meter’s complete self-test failed from the remote interface
(*TST? command). In addition to this error, more specific self-
test errors are also reported.

-350 Too many errors The error queue is full because more than 16 errors have
occurred. No additional errors are stored until you remove
errors from the queue. The error queue is cleared when power
has been off, or after a *CLS (clear status) command has been
executed.

-410 Query interrupted A command was received which sends data to the output
buffer, but the output buffer contained data from a previous
command (the previous data is not overwritten). The output
buffer is cleared when power has been off, or after a *RST
(reset) command has been executed.

-420 Query The Meter was addressed to talk (i.e., to send data over the
UNTERMINATED interface) but a command has not been received which sends
data to the output buffer. For example, a CONFigure command
(which does not generate a response) may have been
executed, followed by an attempt to read data from the remote
interface.

-430 Query DEADLOCKED A command was received that generated too much data to fit
in the output buffer, and the input buffer is also full. Command
execution continues but all data is lost.

-440 Query The *IDN? command must be the last query command within a
UNTERMINATED after command string. Example: *IDN?;:SYST:VERS?
indefinite response

-501 RTC Time Error setting the RTC/System time.

-502 RTC Data Error setting the RTC/System date.

31 mA AC/DC selected Fluke 8842A emulation error. The Front/Rear input switch was
while REAR inputs set to REAR while ac/dc current was selected via a remote
selected. command or ac/dc current was selected and the Front/Rear
switch was switched to REAR.

101
DMM4040/4050
Programmer Manual

Table 32. Execution Error Codes and Descriptions (cont.)

Error Code Error Text Description

32 Offset selected while Fluke 8842A emulation error. The B1 offset command was
reading entered when a measurement wasn't available (such as
unavailable/overrange external triggering without a previous measurement) or the
previous measurement resulted in an overload condition.

51 8840 CALibration Fluke 8842A emulation error. A 8842A calibration command


command not valid was entered. The DMM4040/4050 does not support 8842A
calibration commands.

71 8840 Syntax Error Fluke 8842A emulation error. An improper command was
entered. This error will occur when the command header is not
formed properly and fails to pass 8842A header syntax rules.

200 IG Invalid Invalid response type from inguard.

201 IG Packet size Incorrect packet size from inguard.

202 Trigger ignored Trigger ignored.

203 Configuration Wrong number configuration acknowledgement.


acknowledgement

222 Parameter invalid Invalid parameter.

223 FUNC2 Function/2nd func mismatch.

224 Math mismatch Function/math mismatch.

225 Range mismatch Function/range mismatch.

226 Load fail Measurement configuration load failed.

300 GX Sync send Inguard not responding (send).

301 GX Sync recv Inguard not responding (recv),

302 GX Sync error Lost sync with inguard.

303 GX Port fail Could not open guard crossing port.

310 GX Ack queue full Acknowledgement queue full.

311 GX Pack sequence Acknowledgement queue full.

320 GX Ack Guard crossing not acking packets.

321 GX Pack over Guard crossing oversize packet recieved.

322 GX Ack num Guard crossing wrong ack number.

325 GX Ack byte Guard crossing unknown ack byte.

330 GX CRC failed Guard crossing Bad CRC.

340 GX Info packet Guard crossing info packet recieved; link not active.

350 GX Control byte Guard crossing unknown control byte.

360 GX Quality low Guard crossing quality indicator too low.

370 GX Restart Guard crossing restarted.

102
Digital Multimeter
Introduction

Table 32. Execution Error Codes and Descriptions (cont.)

Error Code Error Text Description

421 Instrument configuration Tried to set invalid state.


invalid

422 Instrument configuration Invalid parameter.


parameter

426 Instrument configuration Instrument configuration load failed.


load

510 CCO Name bad CCO constant name is bad.

511 RS-232
framing/parity/overrun
error

512 RS-232 fatal error A fatal error occured opening the serial port.

513 RS-232 Configuration A fatal error occured while configuring the serial port.
error

514 Command allowed only Commands which are only allowed with the RS-232/Ethernet
with RS-232 interface are SYSTem:LOCal, SYSTem:REMote, and
SYSTem:RWLock, or in Fluke 45 emulation mode the
commands are LOCS, REMS, RWLS, and LWLS.

520 Command line too long The command line exceeded 350 characters.

521 Input buffer overflow

522 Output buffer overflow

531 Insufficient memory There is not enough memory to store the requested number of
readings in internal memory using the INITiate command. The
product of the sample count (SAMPle:COUNt) and the trigger
count (TRIGger:COUNt) must not exceed 5,000 readings.

550 Command not allowed The multimeter received a READ? command while in the local
in local mode. For RS-232 operation, the SYSTem:REMote command
should always be executed before sending other commands
over the interface.

1000 Unknown function Unknown Function Selection.

1001 Unknown range Unknown Range Selection.

1002 Unknown CCO Unknown Calibration Constant.

1003 Can’t set NPLC Illegal/Unknown NPLC Selection.

1004 Can’t set trigger Illegal/Unknown TRIGGER Selection.

1005 Can’t get DCV Gains Cannot get 1V/10V DC linearization constants.

1006 Line Freq High AC Line frequency too high.

1007 Line Freq Low AC Line frequency too low.

1008 Write CCO failure Calibration Constant write failed.

65535 Unknown Unknown Error.

103
DMM4040/4050
Programmer Manual

Table 33. Ethernet/IEEE-488 Configuration Errors

Error Code Error Text Description

560 GPIB fatal error A fatal error occured opening the GPIB port.

570 GPIB primary address An error occured attempting to set the GPIB primary address.

572 GPIB Read An error occurred while attempting to read characters from the
GPIB port.

580 EDVR GPIB - DOS Error.

581 ECIC GPIB - Specified GPIB Interface Board is Not Active Controller.

583 EADR GPIB - Interface Board has not been addressed properly.

584 EARG GPIB - Invalid argument.

585 ESAC GPIB - Specified GPIB Interface Board is not System


Controller.

586 EABO GPIB - I/O operation aborted (timed out).

587 ENEB GPIB - Non-existent GPIB board.

588 EOIP GPIB - Routine not allowed during asynchronous I/O operation.

589 ECAP GPIB - No capability for operation.

590 EFSO GPIB - File System Error.

591 EBUS GPIB - Command byte transfer error.

592 ESTB GPIB - Serial poll status byte lost.

593 ESRQ GPIB - SRQ stuck in ON position.

594 ETAB GPIB - Table problem.

801 ENET Port number Port value is out of range (1024 to 65535).

802 ENET Server Could not open the ethernet port.

803 ENET Timeout Time-out occured while opening the ethernet port.

Table 34. Calibration Errors

Error Code Error Text Description

701 CAL Secure Code Case Invalid characters in calibration secure code. The secure code
must contain only characters 0-9 and A-Z. No lower case or
other special characters are allowed.

702 CAL Secure Cal secured.

703 CAL Secure code Invalid secure code.

704 CAL Secure code too Secure code too long.


long

104
Digital Multimeter
Introduction

Table 34. Calibration Errors (cont.)

Error Code Error Text Description

706 CAL Invalid step Invalid calibration step number.


number

707 CAL Reference Cal reference value out of tolerance.

708 CAL Not calibrating CAL? only works if you are calibrating.

709 CAL Abort Calibration aborted.

710 CAL Sequence Calibration steps out-of-sequence.

711 CAL No measurement No measurements taken during calibration.

712 CAL Overload Overload at input during calibration.

713 CAL Too far Calibration measurements out-of-tolerance.

714 CAL Math Math error during calibration.

715 CAL Timeout Timeout error during calibration.

105
DMM4040/4050
Programmer Manual

106
Appendix B
Fluke 45 Emulation Limitations

Introduction
Due to differences in their design, the DMM4040 and 4050 cannot emulate all of the
functions and features of the Fluke 45. Some functions are compatible, but are not
implemented the same in the DMM4040 and 4050 meters.
This appendix covers the differences with the Fluke 45, giving a list of commands that
are not compatible, and information on those functions that the DMM4040 and 4050
responds differently to.

Incompatible Fluke 45 Commands


Due to their design differences, there are Fluke 45 function and modifier commands that
the DMM4040 and 4050 meters will not execute. Whenever a non-compatible command
is detected by the DMM4040 and 4050 meters, they will generate a -102, syntax error.
Table 35 lists Fluke 45 commands that are not compatible with the DMM4040 and 4050.

Table 35. Non-compatible Fluke 45 Remote Commands

Command Reason

AACDC The DMM4040/4050 meters do not have an ac plus dc rms current function.

HOLD The DMM4040/4050 meters do not have a Touch Hold function.

HOLDCLR The DMM4040/4050 meters do not have a Touch Hold function.

HOLDTHRESH The DMM4040/4050 meters do not have a Touch Hold function.

HOLDTHRESH? The DMM4040/4050 meters do not have a Touch Hold function.

MIN See the section on “Math Operations” for an appropriate replacement.

MAX See the section on "Math Operations" for an appropriate replacement.

MAXSET See the section on "Math Operations" for an appropriate replacement.

MINSET See the section on "Math Operations" for an appropriate replacement.

MINCLR See the section on "Math Operations" for an appropriate replacement.

VACDC The DMM4040/4050 meters do not have an ac plus dc rms voltage function.

Dual Functions
In addition to the non-compatible functions, there are numerous dual display functions
that are not part of the DMM4040/4050 meter’s capabilities. Table 36 is a matrix that
indicates the Fluke 45 dual functions and whether or not they are compatible with the
Meter.
107
DMM4040/4050
Programmer Manual

Table 36. Fluke 45 Dual Function Compatibility Matrix

Primary Secondary Function


Functions
VDC VAC IDC IAC FREQ OHMS DIODE Period RTD

VDC No Yes No No No No No No No

VAC Yes No No No Yes No No No No

IDC No No No Yes No No No No No

IAC No No Yes No Yes No No No No

FREQ No No No No No No No Yes No

OHMS No No No No No No No No Yes

DIODE No No No No No No No No No

Continity No No No No Yes No No No No

Reading Rates
Like the DMM4040/4050 meters, the Fluke 45 has multiple but different reading rates.
The reading rates for the DMM4040/4050 meters are based on the Number of Power Line
Cycles (NPLC), which are explained in the Users Manual. The Fluke 45, on the other
hand, has just three reading rates, selected as Fast, Medium, and Slow. To be compatible
with Fluke 45 code, the DMM4040/4050 meters will use a reading rate of 2.5, 5, and 20
readings per second, respectively.

Ranges
The Fluke 45 changes range at different points than the DMM4040 and 4050. For
example, the DMM4040 and 4050 dc voltage range changes occur at 120 mV, 1.2 V, 12
V, and 120 V. The Fluke 45 on the other hand, changes ranges at the same points when it
is in Slow resolution, but for Medium and High resolution, changes occur at 300 mV, 3
V, 30 V, and 300 V.
The DMM4040 and 4050 meters will respond to a range query with the expected Fluke
45 range whenever the range has previously been set by a range set command. However,
when the DMM4040/4050 meters are set to VDC, VAC or OHMS with autorange
enabled and measuring with Medium or High resolution, the range returned to a range
query command may return a range value that is higher or lower by one range.
For the frequency function, the DMM4040 and 4050 meters have one range: 3 Hz. The
Fluke 45 has five ranges. If the DMM4040 and 4050 meters are sent a range set
command, they will respond to a range query with the set range value. If the frequency
function is in autorange, however the DMM4040 and 4050 meters will respond with the
value of zero.
The Fluke 45 allows range selection in CONTINUITY and DIODE TEST. The
DMM4040 and 4050 meters have only one range for these functions. Therefore,
whenever a RANGE command is detected in the Fluke 45 emulation mode, the
DMM4040 and 4050 meters will respond with an error.

108
Appendix C
Network Consideration

Introduction
This tutorial provides information on commonly used network communication
technology, and describes how to get started using the Meter. It is not necessary to know
the details of network communication methods in order to use the Meter effectively. The
Meter and host computer software use Ethernet wiring and low level protocols, TCP/IP
high level protocols, and the UNIX telnet application interface program. These are all
public domain, non-proprietary standards with multiple-company support. Use of these
non-proprietary protocols and hardware ensures the Meter and software will operate on
most installed networks and have the lowest possible cost using off-the-shelf commercial
networking products. Read “Network Primer” later in this Appendix for more
information on these standards.

Your Meter and Your Network Administrator


Before you place the Meter on your company network, you need to coordinate with your
Network Administrator. Specifically, before installing and setting up your Meter and host
PC, you need to ask the following questions:
1. Does the network allow static addresses? If so, what values should I use for my IP
addresses, and Subnet Mask? Does the Socket Port Number need to be changed from
the default (3490)?
2. Does the network contain more than one subnet? If so, what is the IP address of my
default gateway or router device?
3. Will all the routers route IP packets?
4. What are my domain and host names (optional)?
The minimum information you need to get is the IP Addresses for each meter. If your
network contains more than one subnet and you want to place the host PC and one or
more instruments in different subnets, you must also set the default gateway address and
subnet mask on the Meter and the host PC.
The Meter may use DHCP to get an IP address, subnet mask, and default gateway
address automatically on the network.

Your Network Administrator may also need to know the Ethernet (MAC) addresses of
each Meter that you will attach to the network. You may obtain the address of the Meter
by using the front panel controls.
Read “Network Primer” for more information on IP addressing and the other information
needed to operate the Meter on a local area network (LAN).

109
DMM4040/4050
Programmer Manual

Network Primer
In the early days of computer networking, vendors used many proprietary communication
schemes. These forced users to purchase equipment and software from one or a few
companies. As networking became more popular, users placed pressure on vendors to
establish standards to allow interoperation of various types of computers, operating
system software, and interface hardware.
One of these standardization efforts was started by the DARPA agency of the U.S.
Defense department. Another was headed up by the DEC and Xerox companies. This
effort resulted in the Ethernet wiring and low-level protocol scheme. The DARPA effort
resulted in the TCP/IP high-level protocols. Ethernet became an international standard by
the efforts of the IEEE-802.3 committee. TCP/IP is the protocol used on the international
Internet network, and is supported by consensus of the users of that network (many
thousands of hosts).
The sockets API was developed at UC Berkeley and was widely adopted by the UNIX
community to support direct host-to-host communication within a TCP/IP network.
WINSOCK is an MS Windows Dynamic Link Library (DLL) version of the original
UNIX Sockets library, and has been standardized by a large number of PC Software and
Hardware Vendors. WINSOCK has been included with Windows since the introduction
of Windows 95 and Windows NT 4.0.
To reduce the complexity of network schemes and to encourage interoperation between
varieties of networks, the protocols are built up of several layers that are isolated from
each other by well-described interfaces. Usually, the lowest layers of the protocol are
implemented in hardware logic on the interface circuits used by the computers and other
devices attached to the network wiring. The Ethernet standard consists of a set of low-
level addressing and data transmission protocols that run on several different wiring
schemes.
Computers on a network are commonly referred to as a host. The Meter is a host in this
context. Devices that facilitate communication between different sections of a network
are called by names that indicate their function, for example, routers, bridges, and
repeaters.

Physical Layer Wiring Schemes Supported by the Meter


The Meter supports the most common wiring scheme used in Ethernet networks:
10/100BaseT Unshielded Twisted Pair (or UTP).
The 10/100BaseT wiring method uses two or four pairs of twisted wires. This wiring
method supports only two connections to any one run of wire. To support more than two
physical connections, an active instrument called a hub must be used.
A hub is an active device that supports multiple 10/100BaseT connections. The network
host attached to each connection of the hub may communicate with every other host
attached to the hub. Hubs also may allow other types of cable connections, such as
10Base2 and 10Base5 (fat coax). This is done to allow a hub to communicate with other
network hosts, such as other hubs, routers, and bridges. A hub is sometimes referred to as
a network switch.
The 10/100BaseT wiring method is very popular because the wire is inexpensive to
purchase and install, the use of a hub allows some protection from malfunctioning
network hosts, and this type of wiring is easier for network administrators to manage and
control.

110
Digital Multimeter
Network Primer

Network Interconnection Devices


The following basic devices are used in networks to extend, partition, and interconnect
networks:
• A repeater is a device used to physically isolate and extend the length of a
network segment, but it does not divide the network into subnets.
• A hub is a device that allows communication among multiple 10/100BaseT
network hosts and allows these hosts to communicate with other Ethernet wiring.
Some hubs also perform Router functions.
• A Bridge is used on Ethernet networks to isolate two portions of the network at
the Frame level (see “Basic Network Packet and Frame Contents” later in this
appendix). This is done to minimize transmission collisions, but the two portions
isolated by a Bridge remain on the same subnet. A Bridge also acts as a Repeater.
• A Router is used to isolate two portions of the network into subnets, as described
in IP Addresses and Segmented Networks in this appendix. A router also acts as
a bridge. Make sure your router will route IP packets if you want to place the PC
and the Meter in different subnets.
• A Gateway is used to connect two networks with different architecture and
protocols. For example, a Gateway could be used to connect an Ethernet to an
X.25 net running on public telephone wiring. Gateways also perform router,
bridge, and repeater functions.
The operation of the Meter and its software should be unaffected by a properly designed
network using any of these network devices. However, you must use extra care when
setting up host PCs and the Meter in a network containing multiple subnets (net
containing one or more routers and/or gateways). The IP addresses assigned to the host
PC and instruments must be carefully selected in this case. See IP Addresses and
Segmented Networks for more information on IP address assignment.
When a bridge, router, or gateway is used in a network containing the Meter and hosts, be
sure to reboot the host PC whenever an instrument is moved from one segment of the
network to another. This is required to allow the network hardware devices to initialize
bridging and routing tables.
Also, when a DMM4040/4050 Series instrument is used in a different subnet from the
host PC, the routers and gateways used to connect the subnets must be able to route IP
packets across the segments. The default gateway addresses on the the Meter and host PC
must be set properly as well.

Basic Network Packet and Frame Contents


Network messages consist of short (mostly less than 1 KB) chunks of data, surrounded by
header and error detection information used by the protocols. The message, together with
the protocol information, is called a "packet." When physical network information (clock
synchronization, error detection, etc.) is wrapped around the packet, it is called a "frame."
The interface hardware adds and strips off the Frame information around the packet as it
moves through a network. So, unless you’re doing low level analysis of network traffic,
you never need to deal with frame information.
For any protocol, the packet consists of a destination address, a source address, some
protocol type information, a message length field, and error detection information.
The TCP/IP protocol adds additional fields to the packet for message sequence
determination and application port ID. The sequence number allows multi-packet
messages to be assembled into the correct order. The port ID specifies which application
running on a system is sending or receiving the message. Support of port IDs allow multi-
111
DMM4040/4050
Programmer Manual

tasking within a computer system, with messages being sent and received from the
individual task.
In the TCP/IP protocol, error detection is supported by adding a checksum of the data in
the packet to the end of each packet. Using this checksum, the receiving system can
detect a bad packet and request a re-transmit (using the source address).
Each host (device attached to the network wiring) in an Ethernet network has a unique
address that is assigned by the interface hardware vendor. Each vendor is assigned a
block of addresses and it is required that each device produced have a unique Ethernet
address. Users of the TCP/IP protocol very rarely need to know or deal with the Ethernet
address.
When TCP/IP is used, each host is also assigned a unique IP address, but this address is
assigned when the TCP/IP protocol software is initialized. In contrast to the Ethernet
address, IP addresses have a structure that can be used by Network Management to
facilitate breaking the network into segments (subnets) that make better use of the
available data communication capacity (bandwidth). Use of IP addressing and the
network segmentation scheme is described in “IP Addresses and Segmented Networks”
in this appendix.
The relationship between a host’s Ethernet address and its IP address is established by the
TCP/IP protocol software. No user interaction is needed to establish this relationship.
However, some network management systems require that the Ethernet address of each
network host be kept in a database. So, it is sometimes necessary to communicate the
Ethernet addresses of all devices on the network to the Network Administrator.

IP Addresses and Segmented Networks


If all networks consisted of a few computers and other devices attached to each other
locally, use of IP addressing and network segmentation schemes would not be necessary.
However, networks have evolved past simple work groups into campus-wide, inter-
campus, and even international interconnect schemes. This makes it necessary to divide
the network into segments know as subnets.
The IP address provides two pieces of information: the network ID and the host ID. The
network ID must be unique among all network subnets within a connected Internet. It
identifies the network subnet to which a host is connected. The host ID must be unique
among hosts within a network subnet and identifies the host within the subnet.
Network subnets connected to the public Internet must obtain an official network ID from
a registrar approved by the Internet Network Information Center
(http://www.internic.net/) to preserve the unique network IDs within the Internet.
However, if you never intend to connect to the public Internet, you’re free to select your
own network IDs. The IP address is a 32-bit numeric address written in four numbers
separated by periods. Each of these four numbers can have a value in the range 1 to 254.
An IP address is written in the form w.x.y.z. For example, "198.178.246.10" (or
"C6.B2.F6.0A" in hexadecimal) is a valid IP address.
Table 37 lists the three commonly used classes of IP address assignments.
Table 37. IP Address Assignments

Available Available
Class w Value Network ID Host ID
Subnets Hosts

A 1 to 126 w x,y,z 126 16777214


B 128 to 191 w,x y,z 16384 65534
C 192 to 223 w,x,y z 2097151 254

112
Digital Multimeter
Network Primer

The following are reserved addresses and may not be assigned to hosts:
127.0.0.0
128.0.0.0
191.255.0.0
192.0.0.0
223.255.255.0
w = 224 through 255 with x, y, and z equal to any value
Most IP subnets have Class B or C network IDs because there are quite a few of these
available. You may be able to get a Class A Net ID, but there are so few of these
available (only 126 world-wide) that they are rarely issued and most are already assigned.
Most companies can get one or more Class C blocks, which means that there is a limit of
254 hosts per network subnet.
The TCP/IP software separates the network ID portion of the IP address from the host ID
portion using the user-assigned Subnet Mask. This mask looks like an IP address, but has
a bit set in each bit position of the portion of the IP address that is in the network ID
portion. For example, the subnet mask 255.255.255.0 sets the network ID portion to be
the higher order 24 bits of the IP address (a class C address). Using the subnet mask, the
TCP/IP software is able to detect if a destination address is in the local subnet or if the
packet must be sent to another subnet through a Router or Gateway.
Networks are segmented by use of an active device called a router (gateways and hubs
sometimes have router capabilities.) When a host on one subnet wants to send a message
to a host on another subnet (the Net ID sections of the IP source and destination are
different), the router is used to deliver the packet to the other network subnet.
Each Meter is shipped with a default IP address. If you want to attach a Meter to an
existing network, you should check with your Network Administrator before using the
default IP address or assigning a new IP address to a Meter or PC.
If your network contains more than one subnet, and you want to communicate with a
Meter in another subnet, you need to set the default gateway address in both the host PC
and the Meter to the address of the local router. The TCI/IP stack will detect that the
destination address for a packet is in a different subnet (via the subnet mask) and send the
packet to the default gateway address where the router will route it to the proper subnet.
For example, if you have three Meters, and a single PC, you could set the following IP
addresses:
4040/4050 Series #1 198.178.246.1
4040/4050 Series #2 198.178.246.2
4040/4050 Series #3 198.178.246.3
Host PC 198.178.246.101
This would place all three instruments and the PC in the same subnet (net ID
198.178.246).
During initial operation of the TCP/IP software, the IP section builds a table that contains
the correspondence between the IP address and Ethernet address of each host. This is
done via the Address Resolution Protocol (ARP). To do this, the IP software sends out a
broadcast frame that every TCP/IP host and router receives. This frame contains a request
for the host with the unknown IP address to return a frame to the ARP requester. This
response frame contains the Ethernet address of the sourcing host, and this information is
then added to the address correspondence table. All communication with a host can then
be done with information from the table.
113
DMM4040/4050
Programmer Manual

The operation of ARP also initializes the routing tables in bridges, routers, and gateway
devices on the network. These tables are used to determine the segment of the network to
which a frame should be sent.

TCP/IP Protocol Stack


A protocol stack is a group of interacting programs that implement the various functions
of the network communication protocol. They are usually arranged in a hierarchy of low
to higher level functions, so the collection is called a stack.
Windows NT and later versions of Windows supply a TCP/IP protocol stack. Novell sells
an optional package for NetWare that includes a TCP/IP stack. TCP/IP protocol packages
with included WINSOCK DLLs can also be purchased from a variety of third-party
sources.
The Transmission Control Protocol/Internet Protocol (TCP/IP) has evolved as a
networking protocol that supports communication among diverse computers and devices
(at UC Berkeley there once was a TCP/IP-connected Coke machine). The TCP/IP
protocol can be used to communicate between programs running on many different
computer systems, running under many different operating systems, and even running on
several different physical network types (Ethernet being only one of the many types
supported). The TCP/IP protocol stack is isolated from the underlying network hardware
by a device driver. Applications use TCP/IP resources via one of the several Application
Programming Interfaces (API) that are commonly supported by network software
vendors.
You rarely need to know the details of the TCP/IP protocol. In summary, TCP/IP enables
two computer systems to establish a connection that allows data to be exchanged. Data to
be transmitted is assembled into manageable chunks (packets) by the TCP portion of
TCP/IP. TCP also reconstructs the data at the receiving end by merging the chunks back
together in the correct order. TCP also assures error free communication by use of a
checksum within each packet. Finally, TCP uses the Port ID to specify the specific
application within each system that is sending and receiving the data.
The IP portion of the TCP/IP protocol simply addresses, sends, and receives packets. It
uses the IP address, the subnet mask, and the default gateway information. The IP address
is described in “IP Addresses and Segmented Networks” in this appendix.
The subnet mask is used to separate the network ID from the host ID in an IP address.
For example: if the IP address of a Meter was 198.178.246.10, and a class C network ID
was active, the subnet mask would be 255.255.255.0. When this mask is applied to the
address, the network ID is extracted as 198.178.246 and the host ID as 10.
The default gateway information is only used when your network contains more than one
subnet, or is connected directly to the public Internet. When the network ID of the source
and destination address of a packet are different (hosts on different network segments),
the packet is forwarded to the default gateway for delivery. The default gateway has
knowledge of the network IDs of the other network segments, so it forwards the packet to
other gateways on the network until the packet is delivered to the gateway attached to the
destination segment with the matching network ID. This process is generally referred to
as routing the packet, and devices that do this are also referred to as Routers.
In many modern networks, the use of subnet masking and the default gateway is not
necessary. These networks contain routers and gateways that support the proxy ARP
protocol. In this protocol, the routing path between any two hosts is automatically
established by the routers during the ARP process. As a result, the user does not need to
manually enter the subnet mask and default gateway information.

114
Digital Multimeter
Network Primer

When the TCP/IP protocol stack software starts operation, it communicates with an NDIS
or ODI driver in a process called binding. During this process, the stack tells the driver
which protocol it is handling. In this way, a driver can direct packets to more than one
protocol stack. For example, it is quite common to have the Novell IPX/SPX protocol
stack and the TCP/IP protocol stack operating over the same ODI multi-protocol driver.

115
DMM4040/4050
Programmer Manual

116
Digital Multimeter
Introduction

Appendix D
Fluke 8842A Emulation Limitations

Introduction
Due to differences in their design, the DMM4040 and 4050 cannot emulate all the
functions and features of the Fluke 8842A. Some functions are compatible but are not
implemented the same in the DMM4040 and 4050 meters.
This appendix covers the differences with the 8842A, and gives a list of commands that
are not compatible, and information on those functions that the DMM4040 and 4050 will
respond differently to.

Device Dependent Command Set


Table 38 lists Fluke 8842A commands that are not supported in the 8842A emulation
mode and the IEEE-488 response received with they are used.

Table 38. 8842A Device Dependent Commands Not Supported

Command Description 8842A Emulation Response

W6 Enable EOI Only Command is ignored

W7 Disable All Output Terminators Command is ignored

G2 Get Calibration Input Prompt Error 51 returned

P2 Put Variable Calibration Value Error 51 returned

P3 Put User-Defined Message Error 51 returned

C0 – C3 C3 Calibration Commands Error 51 returned

Table 39. DMM4040/4050 Commands the Fluke 8842A Doesn't Support

Command Description

L1 Switches to DMM4040/4050 command language

L2 Switches to Fluke 45 command language

L3 Switches to Fluke 8842A command language

Calibration Commands
The DMM4040/4050 does not support instrument calibration in Fluke 8842A emulation
mode. If you wish to calibrate the instrument, you must be in 4040/4050 command mode.
Any Cn calibration command will generate an Error 51.

117
DMM4040/4050
Programmer Manual

Dn (Display Commands)
An 8842A D1 command blanks the numeric field in the 8842A display. A D1 command
in 8842A emulation mode will blank the ENTIRE 4040/4050 display.

Gn (Get Commands)
The G2 Get Calibration Input Prompt command in Fluke 8842A emulation mode is not
supported. Entering this command will generate an Error 51. The G3 (Get User-Defined
Message) command would normally return a user defined message set using the P3
command; however the 8842A emulation doesn’t support the P3 command. Entering a
G3 command will cause a response similar to the following:
FL8842A.1-8-2008

Tn (Trigger Mode Commands)


The Fluke 8842A differentiates between front and rear trigger inputs. The DMM4040 and
4050 treats the front and rear trigger inputs as the same. The 8842A commands T1 and
T2 are treated as the same command in 8842A emulation mode (external trigger with
auto trigger delay enabled). Furthermore, the 8842A commands T3 and T4 are treated as
the same command in 8842A emulation mode (external trigger with auto trigger delay
disabled).
An external trigger (T1 – T4) will not trigger the unit from the front panel until you take
the Meter out of remote operation by pressing the front-panel’s LOCAL button. The front
panel is locked out during remote operation. After putting the Meter into local operation,
press the front panel TRIG button to trigger a reading. The DMM4040 and 4050 can be
externally triggered in remote or local operation through the rear panel external trigger
jack.

Wn (Terminator Commands)
The DMM4040 and 4050 does not support W6 (Enable EOI Only) or W7 (Disable All
Output Terminators) in Fluke 8842A emulation. When sent to the Meter, W6 and W7
will be ignored.

Numeric Entry Command


Because the P2 and P3 (calibration) commands aren’t supported, entering numerical
exponent values are limited to the P0 (Put Instrument Configuration) and P1 (Put SRQ
Mask) commands. P0 is limited to numbers between +1000 and +6824 and the P1
command is limited to numbers between 0 and +63.

Talk-Only Mode
The DMM4040 and 4050 do not support Talk-Only mode. However, they do support
TALK mode which means the controller can address a Meter to talk and read
measurements from the IEEE-488 bus at any time, provided there is a measurement there
to be read.

Ranging in 8842A Emulation Mode


The Fluke 8842A has range boundaries in orders of 2 (2, 20, and 200). Furthermore, the
maximum current input is 2 A and the maximum resistance measurement is 20 MΩ. To
simulate 8842A ranging using the 884XA design, the DMM4040/4050 selects the

118
Digital Multimeter
Operational Differences

“higher” range (e.g. if the user selects the 2V 8842A range, the DMM4040/4050 selects
the 10V range in 8842A emulation mode). Table 40 lists the range mapping of the
DMM4040 or 4050 while in the 8842A emulation mode.

Table 40. Fluke 8842A Virtual Range Mapping

Function 8842A Range # 8842A Range Value DMM4040/4050 Range

VDC

1 200 mVdc 1 Vdc


2 2 Vdc 10 Vdc
3 20 Vdc 100 Vdc
4 200 Vdc 1000 Vdc
5 1000 Vdc 1000 Vdc
8 20 mVdc 100 mVdc
VAC

1 200 mVac 1 Vac

2 2 Vac 10 Vac

3 20 Vac 100 Vac

4 200 Vac 1000 Vac

5 700 Vac 1000 Vac

Ohms (2W)

1 200 Ω 1 kΩ

2 2k Ω 10 kΩ

3 20 kΩ 100 kΩ

4 200 kΩ 1 MΩ

5 2 MΩ 10 MΩ

6 20 MΩ 100 MΩ

IDC

4 200 mAdc 1 Adc

5 2 Adc 3 Adc

ADC

5 2 Aac 3 Aac

Operational Differences
When changing the measurement resolution, the .02NPLC setting is not an available
selection. This selection would result in a measurement rate that would be much faster
than the Fluke 8842A could achieve.
The 8842A emulation selection does not appear when attempting to select a command
language whenever the DMM4040 or 4050 has a port selection of RS-232 or LAN. This
119
DMM4040/4050
Programmer Manual

is due to the fact that the Fluke 8842A does not have a serial or Ethernet interface. This
also means that RS-232 or LAN port selections are not available whenever the
DMM4040 or 4050 is set to the 8842A emulation mode.
Pressing RESET (I followed by RESET) resets the Meter back to 8842A defaults.

120
Index

—C— —P—
Command Strings Programming Language
Rules for, 24 Setting of,, 21

—H— —R—
HP-34401 supported commands, 32 Remote Operation, 5
RS-232C Port
—I— Baud Rate Setting of, 10
Computer Mode, Selecting of, 12
IEEE-488 Port
Data Bits, Setting of, 11
Setting the address, 8
Echo, Enabling/Disabling of, 11
Interfaces
End-Of-Line (EOL)Setting of, 11
Ethernet (LAN), 16
Factory settings, 10
General, 6
Flow Control, Setting of, 11
RS-232C, 10
Parity, Setting of, 11
Intrefaces
Terminal Mode, Selecting of, 12
IEEE-488, 8

—L— —S—
Safety Information, 4
LAN
DHCP, Enable/Disable, 16
IP Address, Setting of, 16 —T—
Subnet Mask, Setting of, 17 Terminators
Input, 23
—O— Triggering
Output, 26
Output
Processing of, 25

You might also like