You are on page 1of 28

Using the R&S®Forum

Application for Instrument


Remote Control
Application Note

R&S®Forum is a free scripting tool for


remote control of Rohde & Schwarz
instruments.

Application Note

Februar 2014- 1MA196_4e


Miloslav Macko, Fabian Liebl
Table of Contents

Table of Contents
1 Abstract................................................................................... 4

2 Installation .............................................................................. 4

3 User Interface ......................................................................... 5


3.1 Python Shell (Shell) ......................................................................................6
3.2 Script Editor ..................................................................................................7
3.3 File Browser ..................................................................................................9
3.4 Script and Application Output (Output) ...................................................10
3.5 Logger .........................................................................................................12
3.6 Macro Buttons ............................................................................................13

4 Instrument Configuration .................................................... 14


4.1 Notes for VISA connections ......................................................................15
4.1.1 VXI 11 Interface (VXI11) .............................................................................15
4.1.2 HiSLIP Interface ..........................................................................................15
4.1.3 LAN Socket Interface (Socket) ..................................................................16
4.1.4 General Purpose Interface Bus (GPIB).....................................................16
4.1.5 Serial interface (Serial) ..............................................................................16
4.1.6 USBTMC interface (USB) ...........................................................................17

5 Remote Control .................................................................... 18


5.1 Direct Commands (Winbatch Syntax) ......................................................18
5.2 Python .........................................................................................................18
5.2.1 Variables ......................................................................................................20
5.2.2 If-Clauses ....................................................................................................21
5.2.3 Loops ...........................................................................................................22

6 Appendix ............................................................................... 23
6.1 Example scripts ..........................................................................................23
6.1.1 SpecanTrace.i3e .........................................................................................23
6.1.2 SpecanMarkers.i3e .....................................................................................23
6.1.3 SpecanPerformanceTest.i3e .....................................................................23
6.1.4 rsspecanInstrumentDriver.i3e ...................................................................23
6.1.5 Spyder_specanTrace.py ............................................................................23
6.1.6 Spyder_rsspecanInstrumentDriver ..........................................................23
6.2 Customizing Forum application ................................................................24
6.2.1 Adding method query_float to VisaDevice class ....................................24

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 2
Table of Contents

6.2.2 Disabling Script Editor double click Shell copying ................................26

7 Additional Information ......................................................... 27

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 3
Abstract

1 Abstract
®
R&S Forum is a free scripting tool for remote control of Rohde & Schwarz instruments.
It allows users to run and edit example script sequences and to write their own script
files, as well as on-the-fly remote control of instruments. Script files can range from
simple command sequences (Winbatch syntax) to complex programs using the
programming language Python.
®
R&S Forum application uses the VISA interface, which allows remote control of
instruments via LAN, GPIB, USB TMC, etc.

2 Installation
® 1
The R&S Forum application must be installed on the PC. This application note comes
with an installer, which includes:
● Forum application
● Python interpreter

For communication with instruments Forum application uses VISA interface, which is
not included in the installer. National Instruments VISA, available on the National
Instruments homepage (www.ni.com/visa), is recommended.

The Python interpreter is installed locally and used for Forum only. An eventually
already installed Python version is not used or touched and remains unchanged for
normal use.

1 ®
R&S Forum in the following is referred to as Forum

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 4
User Interface

3 User Interface
Below, you can see Forum interface in default layout:

Fig. 1: Forum Interface window

Forum interface is divided into several sections:


● Python Shell window (refer to 3.1)
● Script Editor window (refer to 3.2)
● File Browser window (refer to 3.3)
● Standard and Application Output window (refer to 3.4)
● Logger window (refer to 3.5)

Changing of the windows layout is possible by double-clicking on the window title bar
(toggling release / confine) or dragging the window title bar to icons representing build-
in docking function. In this case a new window position will be presented in transparent
blue rectangle. Experimenting with docking feature will help you to achieve desired
layout. You can always revert back to default one by CTRL+L or Menu -> Settings ->
Restore Standard Layout.

In the following chapters every window is described more in detail.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 5
User Interface

3.1 Python Shell (Shell)


The Forum application provides you with an interactive Shell to quickly and directly
communicate with connected instruments. Refer to Instrument Configuration to see
how to configure instrument FSW used in this example.

Any command or line of code written in this window will be immediately executed. To
write a script of multiple lines, use the Script editor.

Hint: Using CTRL + arrow keys UP/DOWN bring up previously used lines.

Fig. 2: Python Shell Window

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 6
User Interface

3.2 Script Editor


Script Editor allows you to create new scripts or modify existing ones. To run a script, it
must first be opened in this section.

The supplied operations New, Load, Save, Save as, Undo and Redo all work in the
Script Editor. Script files are standard text files (ASCII / UTF-8) and can have any
extension, although the extension “i3e” (derived from IEEE) is recommended for ease
of recognition.

Fig. 3: Script Editor

The Script Editor behaves like a programming environment. You can type your code
here and control its execution using Execution panel buttons:

Red arrow button – Run script with debugging (F5)


White arrow button – Run script without debugging (CTRL + F5)

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 7
User Interface

Execution panel run buttons start the entire currently selected script.
If you want to run small fragments, simply double-click a line of code. This line will then
be copied into the Shell where you can execute it. Hint: refer to Disabling Script
Editor double click Shell copying to disable it.

The Shell and the Script Editor share the same namespace, all variables defined in the
Script Editor will also be available in the Shell and vice versa (only when running with
debugging).

You can toggle breakpoints in the script by clicking on the space next to the line
number:

Breakpoints are active only when script is running with debugging (F5).

For a description of commands used to control connected instruments, refer to


Remote Control

The Script Editor always has a script called startup.py (see Fig.3 tab). This script is
added before every script performed. Therefore it is useful to add usually imported
libraries there.

Example of startup script content:

#make sure local scripts can be loaded with "import"


import sys
sys.path.append(flib.get_script_dir())
import os
import __builtin__
import time
import globals
import visa
from datetime import datetime

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 8
User Interface

3.3 File Browser


File Browser is designed for the management of multiple test scripts. It uses a familiar
tree structure to display directories and files of specified types. Scripts can be opened
from here or from button bar:

Fig. 4: File Browser

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 9
User Interface

3.4 Script and Application Output (Output)


Output window displays any commands sent to the instruments via running test script,
as well as the responses from the instrument. It also shows timestamps and, in case of
a query, the length of time the instrument took to send a response.
Also, the Output window serves as the standard script output (see the first line).

Fig. 5: Output window

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 10
User Interface

Using Menu -> Settings -> Settings… window you can adjust reporting format of
instrument trace and reporting files location (red box):

Fig. 6: Settings window

After the script is finished, content of this window is stored in the directory Reporting
(default name) with the script name, index and suffix ptc (for example
Specan_Markers[1].ptc) Maximum of 20 report files are allowed, then the content of
the directory is deleted and started over.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 11
User Interface

3.5 Logger
Logger window shows all information about script execution – starting, ending with
timestamps and duration of the script. In case of error in the script this is evaluated in
red color:

Fig. 7: Logger window

Content of the Logger window is stored in the location defined in Menu -> Settings ->
Settings (Fig. 6 green box) with the name that has a timestamp of starting the Forum
program.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 12
User Interface

3.6 Macro Buttons


Macros can be useful when performing the same operations with instruments (e.g.
“*IDN?” or “*STB?” with “syst:err?” query.
In principle, macro is just another script that can be easily accessed through shortcut
on button bar. Macro panel:

Use wrench icon to configure macros:

Fig. 8: Macro Editor window

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 13
Instrument Configuration

4 Instrument Configuration
Before an instrument can be addressed, it must be added to the Instruments
Configuration. Choose Menu -> Settings > Instruments. This will bring up the
Instruments Configuration screen:

Fig. 9: Devices configuration window

This screen shows a List of devices that lists all previously configured instruments.
As shown in Script Editor device is referred to by either Resource ID or Alias.
Resource ID can be modified in the following configuration window, Alias can only be
modified directly in this window by clicking on table cell.

Hint: Moving one Alias in this setting allows to use one script that refers to that Alias
with different devices without having to modify it.

Clicking Add… or Configure… button brings up a new window:

Fig. 10: Single device configuration window

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 14
Instrument Configuration

Here you can choose to use right side of the window to help you configure right type of
interface and depending on it additional information (e.g. in case VXI11 it is IP
address). You always have an option to define Visa-Resource string directly.
Session attributes can be modified by clicking on Attributes… button. The one used
most often (VI_ATTR_TMO_VALUE) is available directly in the Timeout field. The
value is entered in seconds.

After device configuration, use button Test Connection (Fig 9). Program tries to
connect to the device, sends “*IDN?” and reads the response. In case all this is
successful, you get a response for IDN query in popup window, otherwise VISA error
message is shown.

When devices configuration has changed, Forum will ask for reloading the devices.
Opening of all configured devices is prepared (VISA resource manager is initialized),
but no Visa session is opened yet.

The actual Visa session with the device is opened when the communication with
instrument is required for the first time (from script or Shell) and then it stays open until
Forum is closed. This allows user to communicate with the device any time without
caring about opening or closing the session.

4.1 Notes for VISA connections


Refer to NI help VISA Resource Control for detailed help on all VISA resource name
possibilities.

4.1.1 VXI 11 Interface (VXI11)

Resource string examples:


- TCPIP::10.110.10.195::INSTR
- TCPIP::FSW50-101989::INSTR
- TCPIP::CMW-123000::INST0::INSTR

If more than one VISA instances are running on specified host, INST0 / INST1 /
INST2… is used to distinguish between them

4.1.2 HiSLIP Interface

Resource string examples:


- TCPIP::10.110.10.195::hislip0
- TCPIP::FSW50-101989::hislip0
- TCPIP::CMW-123000::hislip1

Please note, that there is no option to choose HiSLIP from InterfaceType selector.
You must select VXI11 and then modify the VISA-Resource string manually.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 15
Instrument Configuration

Some instruments can be used with the new IVI HiSLIP (High Speed LAN Instrument
Protocol). To see if your instrument supports this protocol, refer to the instrument
manual.

Hint: Use Error! Reference source not found. to measure performance of different
interfaces.

4.1.3 LAN Socket Interface (Socket)

Resource string examples:


- TCPIP::10.110.10.195::5025::SOCKET
- TCPIP::FSW50-101989::5025::SOCKET

Generally, you should use the VXI LAN interface to configure a connection via LAN.
But in some cases you might want to configure the connection more directly. For these
situations, you can use socket communication, also known as Raw Ethernet
communication. Additional parameter is the port number you’re connecting to. For
Rohde&Schwarz devices this is usually 5050 or 5025. Refer to the instrument manual
or it’s connection settings to find out which port is set for socket communication.
Note: This configuration lacks some important signaling functions. It is recommended
that you use the VXI LAN interface instead, unless there is specific reason not to do
that. One factor can be the speed since socket communication is faster than VXI11.

Hint: Use Error! Reference source not found. to measure performance of different
interfaces.

4.1.4 General Purpose Interface Bus (GPIB)

Resource string examples:


- GPIB::23::INSTR
- GPIB::23:25::INSTR
- GPIB1::21::INSTR

Primary address must be specified, secondary address is optional. The number after
GPIB specifies card number (default is 0) if there are more than one.

4.1.5 Serial interface (Serial)

Resource string examples:


- ASRL3::INSTR
- ASRL1::INSTR

Number after ASRL defines COM port number.


You also have to specify the following parameters by selecting Attributes… button:
- baud rate
- data bits
- stop bits
- parity
- delay in secs (between write and read)

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 16
Instrument Configuration

4.1.6 USBTMC interface (USB)

To connect an instrument via USB Test and Measurement Class (USBTMC), you need
to know the vendor id (VID), product id (PID) and the serial number.
If you have NI VISA installed, it will automatically detect the instrument after it has
been connected to the computer via USB. To get the required parameters, run VISA
Interactive Control (from the Start menu: Programs > National Instruments > VISA >
VISA Interactive Control). This program will list all currently connected instruments
(see Fig. 11). There you will find a VISA address string in the syntax: USB0::<vendor
id>::<product id>::<serial number>::INSTR.

Fig. 11: VISA Interactive control application

Vendor ID for Rohde & Schwarz instruments is always “0x0AAD”. The easiest way is to
just click on USBTMC item and copy entire string into Forum Visa-Resource field.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 17
Remote Control

5 Remote Control
Forum features two methods of controlling your instruments:
- direct commands (Winbatch syntax)
- Python method

5.1 Direct Commands (Winbatch Syntax)


If you just want to send an SCPI command, the easiest way is by using direct
commanding method.
To send a direct command, just type the Resource ID or Alias (as configured during
instrument configuration, refer to Instrument Configuration), a colon (“:”), one or
more spaces (“ ”) and the SCPI command. Example screenshot is shown in Python
Shell (Shell). This script syntax provides backward compatibility to the Winbatch script
interpreter. Winbatch files can be opened and run by the Forum application without any
adjustments.
This method allows for quick sequences of commands, but no variables or
programming capabilities.

5.2 Python
Forum is based on the programming language Python and allows the Python language
to be used when writing remote control scripts. All active instruments exist in the shell’s
namespace as objects of a class VisaDevice that is named by the Resource ID or
Alias configured during the instrument configuration.

The most important members of this VisaDevice class are:


● write: This method sends a string, usually a SCPI command, to the instrument.
Example: FSW.write("*RST")

● read: This method reads a string from instrument output buffer after previous write
was performed. Output goes into string variable.
Example: response = FSW.read()

● ask: This method sends a string and then requests a response from the
instrument. The response is returned and can be stored into a variable. Example:
idnList = FSW.ask("*IDN?"). Note: Because of backward compatibility
with previous versions and scripts the return variable type is list of strings that
were separated by comma (“,”). If this behavior is not desired, querying must be
split to write and read commands (see the Fig. 12) or picking the first element of
list must be done afterwards e.g.:

idnList = FSW.ask("*IDN?")
idnItem = idnList[0]

Hint: VisaDevice class and its members is open for user to modify and add new
methods and features. Refer to Customizing Forum application example.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 18
Remote Control

Fig. 12: Difference between ask and read methods

For more advanced interaction with the instrument, you can use the VisaDevice’s
member instrument, which supplies many useful methods such as read_floats (which
returns the read output as a list of float values).

Programming constructs such as if-clauses, loops or variables are also available. A


brief introduction into the most common constructs will be given in the following
subsections, assuming user’s basic programming experience. For more information on
Python and Forum classes, refer to the online documentation at www.python.org/doc,
as well as the Forum documentation Menu -> Help -> Help.

A small example scripts are additionally provided in Appendix.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 19
Remote Control

5.2.1 Variables

In Python, you declare a variable simply by assigning a value to it.


Example:

print a #Produces an error, a does not exist


a = 1
print a #Works

The variable type is assigned automatically and can be changed at any time by
assigning data of a new type.
Example:

a = 1 #int
a = "1" #string
a = '1' #string, equivalent to "1"
An important type is the list, because it is the main return type whenever you query
information from an instrument.
Example:

a = FSW.ask("TRAC:DATA? TRACE1") #get trace from fsq


b = a[0] #get first element
c = len(a) #get the length of the list
a.append("new entry") #add an entry to the end

Even single return values queried by the member ask will be in a list, containing only
one string value.
Example:

a = FSW.ask("FREQ:START?") #a is now a List


b = a[0] #b is now a single string

To create a float value from a string, use the function float. To create an integer value,
use int.
Example:

a = int("12")
b = float("12")

To change a numerical value back to a string, use the function str.


Example:

a = 500
FSW.write("FREQ:START " + str(a) + " MHz")
Alternatively:
FSW.write("FREQ:START %d MHz" %a)

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 20
Remote Control

5.2.2 If-Clauses

This is what a typical Python if-clause looks like:

if a == 1 and b >= 2:
print "a == 1"
print "and b >= 2"
print "always visible"

As you can see, two lines after if are indented. In Python, all following lines with the
same indention belong to the same code block. Two lines after if will be executed
only if the condition is met, while the third line, which is not indented, will always be
executed.

For the condition, Python supplies the logical operators and, or and not, and the logical
values True and False. Brackets can be used as well.

An if-clause can also have an else statement, of course.


Example:

if a == 1:
print "a == 1"
else:
print "a != 1"

An elif statement is also available.


Example:

a = float (FSW.ask("FREQ:START?")[0])

if a == 1000000000.0:
print "Start Frequency: 1 GHz"
elif a == 2000000000.0:
print " Start Frequency: 2 GHz"
elif a > 2000000000.0:
print " Start Frequency > 2 GHz"
else:
print " Start Frequency unknown"

When you write an if-clause in the Shell, execution will be postponed while you are still
writing lines belonging to the if-clause. As soon as you write an empty line, the if-
clause is considered to be complete and is executed as a whole.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 21
Remote Control

5.2.3 Loops

The syntax of loops is similar to if-clauses. The first line ends with a colon “:”, and the
following lines are indented.
Example (while-loop):

while a < 10:


a += 1

The for-loop consecutively assigns the components of a list to a variable.


Example:

a = [1, 2, 3, 5]
for x in a:
print x

To create a classic for-loop that runs through numeric values in a defined step, you can
use the range function, which returns a list of numeric values.

If range is used with one argument, it generates a list with values from 0 to the
argument minus 1, with a step size of 1.
Example:

a = range(10)
# a is now [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Two arguments define the starting value and the end value.
Example:

a = range(5,10)
# a is now [5, 6, 7, 8, 9]

When using three arguments, the last one is the step size (which can also be
negative).
Example:

a = range(5,10,2)
# a is now [5, 7, 9]

Therefore, if you want to change the center frequency of an R&S FSW to values from
100 MHz to 200 MHz in steps of 2 MHz, the notation would be:

for i in range(100, 200, 2):


print i
FSW.write("FREQ:CENT " + str(i) + " MHz")

As with the if-clauses, writing a loop in the Shell will postpone its execution until all the
lines of the loop have been written, which is indicated by an empty line.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 22
Appendix

6 Appendix

6.1 Example scripts


All scripts can be found in attached file 1MA196_scripts.zip

6.1.1 SpecanTrace.i3e

This script configures the FSW Signal analyzer and reads out its trace. New window
with trace is then shown.

6.1.2 SpecanMarkers.i3e

This script is used throughout the application note.

6.1.3 SpecanPerformanceTest.i3e

Use this script for performance test of different protocol speeds.

6.1.4 rsspecanInstrumentDriver.i3e

Complex example using VXIpnp driver rsspecan_32.dll to achieve the same tasks as in
SpecanTrace.i3e. In addition, error handling through exceptions is utilized. You need
to install rsspecan VXI plug and play driver in order to run this script.

6.1.5 Spyder_specanTrace.py

This is a Python script for Spyder (Scientific PYthon Development EnviRonment),


functionally similar to SpecanTrace.i3e. Please note that you need to install PyVISA
with Spyder in order to run this script:

PyVISA download

6.1.6 Spyder_rsspecanInstrumentDriver

Similar example as rsspecanInstrumentDriver.i3e for Spyder

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 23
Appendix

6.2 Customizing Forum application


This chapter is for advanced users who would like to customize Forum functionalities.

Forum application is written entirely in Python – that means all source files are also
accessible for the user. This opens possibilities for changing or adding new features
that. Two of such changes are described in following chapters.

By default, Forum is installed to the following path:

"C:\%ProgramFiles%\Rohde-Schwarz\Forum"

It is strongly recommended to make a backup of all *.py files before making any
modification. During the Forum application startup. *.py files are compiled into byte
code *.pyc files and any detected error is reported.

Experienced Python user familiar with wxWidgets (http://www.wxwidgets.org/) will be


able to adjust Forum to his/her likings.
We appreciate every suggestion or improvement to be added to the next Forum
releases – refer to Additional Information for contact information.

6.2.1 Adding method query_float to VisaDevice class

This chapter shows how to add method to VisaDevice class that sends command to
the instrument, reads the response and converts it to float number. Using the same
code with conversion to integer or without conversion you can easily create methods
query_int or query_string.

Close Forum. In Forum application folder open file Engine\visa_pytron.py


Scroll down to class VisaDevice(object) definition:

Fig. 13: Source file Visa_pytron.py

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 24
Appendix

Based on write and read methods, compose new query_float method:

def query_float(self,*args,**kargs):
""" query the device for float number """
self.instrument.write(*args,**kargs)
ret = float (self.instrument.read())
self.remove_hook()
return ret

Please keep in mind that python script needs proper indentation (4 spaces).

Save the file and start Forum. Your new function will be also visible in Intellisense:

Fig. 14: New method for VisaDevice

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 25
Appendix

6.2.2 Disabling Script Editor double click Shell copying

This chapter show how to remove the functionality of double click line copying into the
Shell.

Close Forum. In Forum application folder open file GUI\panel_collection.py


Scroll down to class class EventEditor definition (line 193):

Fig. 15: Source file panel_collection.py

Comment line 221 – binding of double click with special method on_text_left_dclick ()
This restores default function of double click which is selection for block of text.

There is of course possibility to make this feature switchable, or accessible through


context menu. That goes beyond scope of this document.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 26
Additional Information

7 Additional Information
Please send your comments and suggestions regarding this application note or Forum
application to:

TM-Applications@rohde-schwarz.com

Using tag “[FORUM]” in the mail subject will help us to quickly identify the topic and
speed up the response process.

1MA196_5e Rohde & Schwarz Using the R&S®Forum Application for Instrument Remote Control 27
About Rohde & Schwarz
Rohde & Schwarz is an independent group
of companies specializing in electronics. It is
a leading supplier of solutions in the fields of
test and measurement, broadcasting,
radiomonitoring and radiolocation, as well as
secure communications. Established more
than 75 years ago, Rohde & Schwarz has a
global presence and a dedicated service
network in over 70 countries. Company
headquarters are in Munich, Germany.

Environmental commitment
● Energy-efficient products
● Continuous improvement in
environmental sustainability
● ISO 14001-certified environmental
management system

Regional contact
Europe, Africa, Middle East
+49 89 4129 123 45
customersupport@rohde-schwarz.com
North America
1-888-TEST-RSA (1-888-837-8772)
customer.support@rsa.rohde-schwarz.com
Latin America
+1-410-910-7988
customersupport.la@rohde-schwarz.com
Asia/Pacific
+65 65 13 04 88
customersupport.asia@rohde-schwarz.com

This application note and the supplied


programs may only be used subject to the
conditions of use set forth in the download
area of the Rohde & Schwarz website.

R&S® is a registered trademark of Rohde & Schwarz


GmbH & Co. KG; Trade names are trademarks of the
owners.

Rohde & Schwarz GmbH & Co. KG


Mühldorfstraße 15 | D - 81671 München
Phone + 49 89 4129 - 0 | Fax + 49 89 4129 – 13777

www.rohde-schwarz.com