Page 1
Programming Manual UTG900E Series Programming Manual UTG900E Series Function/Arbitrary Waveform Generator July 15 , 2022 Uni-Trend Technology (China) Co., Ltd. 2 / 41 Instruments.uni-trend.com...
Page 2
The information provided in this manual is subject to change without notice. UNI-T is not responsible for any errors that may be contained in this manual, or for any incidental or consequential damages arising from the information and functions provided in this manual.
Programming Manual UTG900E Series SCPI Introduction SCPI (Standard Commands for Programmable Instruments) is a standard instrument programming language based on the existing IEEE 488.1 and IEEE 488.2 standards, following the floating point arithmetic rules of IEEE754 standard, 7-bit coding character of information change in ISO646 (equivalent to ASCII programming), and etc.
Page 4
Programming Manual UTG900E Series Integer Type The parameter can be any integer value within a valid range unless otherwise noted. Note: Now, please do not set The parameter to decimal format to avoid abnormity. For example, The parameter < count > in the command of :DISPlay:GRID:BRIGhtness <count> can be any integer value within range of 0~100.
Page 5
The query returns the manufacturer name, signal source model, product serial number and the software versioning separated by dot. Note: The returning model should be same as the nameplate. Example UNI-T Technologies, UTG900, 000000001, 00.00.01 *RST Command Format *RST Function ...
Page 6
Programming Manual UTG900E Series <file> means the configuration file. Return Format The query returns the current configuration file data of signal source. Example :SYSTem:CONFigure Write the configuration file data into signal source and load it. :SYSTem:CONFigure? The query returns a binary stream of current configuration file data of signal source.
Page 7
Programming Manual UTG900E Series :SYSTem:BEEP ON Turn buzzer on :SYSTem:BEEP? The query returns 1 :SYSTem:NUMBer:FORMat Command Format :SYSTem:NUMBer:FORMat {COMMa|SPACe|NONe} :SYSTem:NUMBer:FORMat? Function Control the separator of system number format. Return Format The query returns the separator of system number format.
Page 8
Programming Manual UTG900E Series :SYSTem:CYMometer? Function Control the system frequency meter ON/OFF. Note: Synchronous output of channel will be off when this function on. Return Format The query returns the system frequency meter ON/OFF, 0 in OFF, 1 in ON.
Programming Manual UTG900E Series CHANnel Commands Set the related functions of signal source channels. :CHANnel<n>:OUTPut Command Format :CHANnel<n>:OUTPut {{1 | ON} | {0 | OFF}} :CHANnel<n>:OUTPut? Function Set the specified channel output ON/OFF. <n>:Channel No., n value 1, 2.
Page 10
Programming Manual UTG900E Series The query returns 1 :CHANnel<n>:LIMit:ENABle Command Format :CHANnel<n>:LIMit:ENABle {{1 | ON} | {0 | OFF}} :CHANnel<n>:LIMit:ENABle? Function Set the amplitude limiting ON/OFF of specified channel. <n>: Channel No., n value 1, 2. Return Format ...
Page 11
Programming Manual UTG900E Series The query returns 2e+0 :CHANnel<n>:AMPLitude:UNIT Command Format :CHANnel<n>:AMPLitude:UNIT {VPP | VRMS | DBM} :CHANnel<n>:AMPLitude:UNIT? Function Set the unit of output amplitude in specified channel. <n>: Channel No., n value 1, 2. Return Format ...
Page 12
Programming Manual UTG900E Series :CHANnel1:BASE:WAVe? The query returns SINe. :CHANnel<n>:BASE:FREQuency Command Format :CHANnel<n>:BASE:FREQuency {<freq>} :CHANnel<n>:BASE:FREQuency? Function Set the output frequency of specified channel. <freq> means the frequency value, in “Hz” unit. (1e-6s ~ current max. frequency of wave) <n>: Channel No, n value 1, 2.
Page 13
Programming Manual UTG900E Series :CHANnel1:BASE:PHAse 20 Set the output phase of channel 1 to 20° :CHANnel1:BASE:PHAse? The query returns 20 :CHANnel<n>:BASE:AMPLitude Command Format: :CHANnel<n>:BASE:AMPLitude { <amp>} :CHANnel<n>:BASE:AMPLitude? Function Set the output amplitude of specified channel. <amp> means voltage, unit is the specified one of current channel.
Page 14
Programming Manual UTG900E Series <voltage> means voltage and its unit is the specified unit of current channel. <n>: Channel No, n value 1, 2. Return Format The query returns the high signal output value of specified channel, using scientific notation to return.
Page 15
Programming Manual UTG900E Series Set the signal output symmetry of ramp wave in specified channel. < symmetry > means symmetry, in “%” unit, range of 0~100. <n>: Channel No., n value 1, 2. Return Format The query returns the signal output symmetry of ramp wave in specified channel.
Page 16
Programming Manual UTG900E Series :CHANnel<n>:MODe {CONTINUE | AM | PM | FM | FSK | Line | Log } :CHANnel<n>:MODe? Function Set the signal types of specified channel, CONTINUE, AM, PM, FM, FSK, Line, Log. <n>: Channel No., n value 1, 2.
Page 17
Programming Manual UTG900E Series :CHANnel<n>:MODulate:ARB:INDex Command Format :CHANnel<n>:MODulate:ARB:INDex {<index >} :CHANnel<n>:MODulate:ARB:INDex? Function Set the specified channel to load the modulated arbitrary wave index stored in signal source. <index> means arbitrary wave index <n>: Channel No., n value 1, 2.
Page 18
Programming Manual UTG900E Series :CHANnel<n>:MODulate:DEPTh Command Format :CHANnel<n>:MODulate:DEPTh { <depth>} :CHANnel<n>:MODulate:DEPTh? Function Set the modulation depth of specified channel. <depth> means the modulation depth, in “%” unit, range of 0% ~ 100%, and AM modulation depth is 0% ~ 120%.
Page 19
Programming Manual UTG900E Series :CHANnel<n>:FM:FREQuency:DEV Command Format :CHANnel<n>:FM:FREQuency:DEV { <freq>} :CHANnel<n>:FM:FREQuency:DEV? Function Set the frequency deviation of specified channel. <freq> means the frequency deviation, in “Hz” unit. 0Hz ~ is the current fundamental frequency. <n>: Channel No., n value 1, 2.
Page 20
Programming Manual UTG900E Series :CHANnel1:FSK:HOPP:FREQ? The query returns 2e+3 :CHANnel<n>:SWEep:FREQuency:STARt Command Format :CHANnel<n>:SWEep:FREQuency:STARt <freq> :CHANnel<n>:SWEep:FREQuency:STARt? Function Set the start frequency of sweep in specified channel. < freq > means frequency, in “Hz” unit. <n>: Channel No., n value 1, 2.
Page 21
Programming Manual UTG900E Series Example :CHANnel1:SWEEP:TIMe 2 Set the sweep time of channel 1 to 2S :CHANnel1:SWEEP:TIMe? The query returns 2e+0 WARB Commands It is used to write file commands of arbitrary wave, including the fundamental arbitrary wave and modulated arbitrary wave writing configuration.
Programming Manual UTG900E Series DISPlay Commands It is used in signal source display information. :DISPlay? Command Format :DISPlay? Function Query the image data in current screen of oscilloscope. Return Format The query returns the image data, and the returning data matches with Appendix 2:IEEE 488.2 binary...
Programming Manual UTG900E Series Programming Instructions Describe some troubles and solutions during the programming operation, and please follow instructions if any trouble met. Programming Preparation The programming preparation is only for the Visual Studio and LabVIEW programming in the Windows operating system.
Page 24
Programming Manual UTG900E Series VISA Programming Example Given some programming Example, this page can help you understand how to use VISA, operate the device as per the commands details, and develop more applications. VC++ Example Condition: Windows System & Visual Studio.
Page 25
Programming Manual UTG900E Series Select the "Linker-Command Line" in the left side of properties dialog, and set the "Additional" content to the visa32.lib, as followings showed. Add the visa.h file to the projectname.cpp. #include <visa.h> Source Code USBTMC Example usbtmc_test() /** This code demonstrates sending synchronous read &...
Page 26
Programming Manual UTG900E Series * results using the write and read functions. * Open Resource Manager * Open VISA Session to an Instrument * Write the Identification Query Using viPrintf * Try to Read a Response With viScanf * Close the VISA Session*/ ViSession defaultRM;...
Page 27
Programming Manual UTG900E Series (status < VI_SUCCESS) printf("Cannot open a session to the device %d. \n", + 1); continue; /** At this point we now have a session open to the USB TMC instrument. *We will now use the viPrintf function to send the device the string "*IDN?\n", *asking for the device’s identification.
Page 28
Programming Manual UTG900E Series char outputBuffer[VI_FIND_BUFLEN]; ViSession defaultRM, instr; ViStatus status; /* First we will need to open the default resource manager. */ status = viOpenDefaultRM(&defaultRM); (status < VI_SUCCESS) printf("Could not open a session to the VISA Resource Manager!\n"); /* Now we will open a session via TCP/IP device */ char head[256] = "TCPIP0::";...
Page 29
Programming Manual UTG900E Series C# Example Condition: Windows System & Visual Studio. Description: Access the device through the USBTMC and TCP/IP, and send "*IDN?" command in NI-VISA to check the device information. Steps Open the Visual Studio software, and newly create a C# console project.
Page 30
Programming Manual UTG900E Series resource string.Format("TCPIP0::{0}::inst0::INSTR", ip); mbSession (MessageBasedSession)rmSession.Open(resource); mbSession.RawIO.Write("*IDN?\n"); System.Console.WriteLine(mbSession.RawIO.ReadString()); catch (Exception System.Console.WriteLine(ex.Message); void Main(string[] args) tcp_ip_test("192.168.20.11"); VB Example Condition: Windows System & Microsoft Visual Basic 6.0. Description: Access the device through the USBTMC and TCP/IP, and send "*IDN?" command in NI-VISA ...
Page 31
Programming Manual UTG900E Series USBTMC Example PrivateFunction usbtmc_test() AsLong ' This code demonstrates sending synchronous read & write commands ' to an USB Test & Measurement Class (USBTMC) instrument using NI-VISA ' The example writes the "*IDN?\n" string to all the USBTMC ' devices connected to the system and attempts to read back ' results using the write and read functions.
Page 32
Programming Manual UTG900E Series ' can be found in the function panel by right clicking on the ' descriptor parameter. After opening a session to the ' device, we will get a handle to the instrument which we ' will use in later VISA functions. The AccessMode and Timeout ' parameters in this function are reserved for future ' functionality.
Programming Manual UTG900E Series instrsesn AsLong status AsLong count AsLong ' First we will need to open the default resource manager. status = viOpenDefaultRM(defaultRM) (status < VI_SUCCESS) Then resultTxt.Text = "Could not open a session to the VISA Resource Manager!"...
Page 34
Programming Manual UTG900E Series followings showed. Communicating with device through the TCP/IP is similar to USBTMC, set the VISA writing and reading to be synchronous I/O, and the LabVIEW to be asynchronous I/O by default. Right-click the node, and select the "Synchronous I/O Mode>>Synchronous" in shortcut menu to write or read data synchronously, as followings showed.
Page 35
Programming Manual UTG900E Series function usbtmc_test() % This code demonstrates sending synchronous read & write commands % to an USB Test & Measurement Class (USBTMC) instrument using % NI-VISA %Create a VISA-USB object connected to a USB instrument vu = visa('ni','USB0::0x5345::0x1234::SN20220718::INSTR');...
Programming Manual UTG900E Series clear vt; Python Example Condition: Windows System & Python3.8 & PyVISA 1.11.0. Description: Access the device through the USBTMC and TCP/IP, and send "*IDN?" command in the NI-VISA to check the device information. Steps ...
Programming Manual UTG900E Series Programming Applications Sine Wave Configuration In this page, we will introduce how to configure the sine function. Description The sine wave has amplitude, offset, and phase relative to the synchronization pulse, and its amplitude and offset can be set by high and low voltage.
Page 38
Programming Manual UTG900E Series The above square wave can be generated by following commands. :CHANnel1:MODe CONTinue :CHANnel1:BASE:WAVe SQUare :CHANnel1:BASE:FREQuency 40000 :CHANnel1:BASE:AMPLitude 2 :CHANnel1:BASE:OFFSet 0 :CHANnel1:BASE:PHAse 90 :CHANnel1:BASE:DUTY 20 :CHANnel1:OUTPut ON Sawtooth Wave Configuration Description The sawtooth wave has amplitude, offset, and phase relative to the synchronization pulse. Its symmetry can be used to create ramp wave and other waves.
Page 39
Programming Manual UTG900E Series The above sawtooth wave can be generated by following commands. :CHANnel1:MODe CONTinue :CHANnel1:BASE:WAVe RAMP :CHANnel1:BASE:FREQuency 30000 :CHANnel1:BASE:HIGH 2 :CHANnel1:BASE:LOW 0 :CHANnel1:BASE:PHAse 90 :CHANnel1:RAMP:SYMMetry 20 :CHANnel1:OUTPut ON Pulse Wave Configuration Description The pulse wave has amplitude, offset, and phase relative to the synchronization pulse. It also adds edge slope and duty ratio (or pulse width).
Page 40
Programming Manual UTG900E Series Description The arbitrary wave has frequency, amplitude, offset and phase, and also adds modes and wave files. Example The built-in arbitrary wave can be loaded and modified by the following codes. :CHANnel1:MODe CONTinue :CHANnel1:BASE:WAVe ARB :CHANnel1:ARB:MODe DDS :CHANnel1:BASE:ARB INTernal,"ACos.bsv"...
Programming Manual UTG900E Series Appendix 1:<key> List Function LED Light Wave Wave Type Mode Output Mode √ Utility System Symbol Number Symbol Number Dot NUM0 NUMBER 0 NUM1 NUMBER 1 NUM2 NUMBER 2 NUM3 NUMBER 3 NUM4 NUMBER 4 NUM5...
Need help?
Do you have a question about the UTG900E Series and is the answer not in the manual?
Questions and answers