Image Saves with Autonumbers
Example Script
Copy
image-save-autonumbers.py
# -*- coding: utf-8 -*-
""" Installs simulated module in slot 1 of FlexDCA or FlexPLL. Saves 4 screen
images using a custom filename with autonumber. Then saves 4 screen images
using standard filename. """
import pyvisa as visa # import VISA library
ADDRESS = 'TCPIP0::localhost::hislip0,4880::INSTR' # for FlexDCA
def open_flexdca_connection(address):
""" Opens visa connection to FlexFlexDCA. """
print('Connecting to Flexdca ...')
try:
rm = visa.ResourceManager()
connection = rm.open_resource(address)
connection.timeout = 20000 # Set connection timeout to 20s
connection.read_termination = '\n'
connection.write_termination = '\n'
inst_id = connection.query('*IDN?')
print('\nFlexDCA connection established to:\n' + inst_id, flush=True)
except (visa.VisaIOError, visa.InvalidSession):
print('\nVISA ERROR: Cannot open instrument address.\n', flush=True)
return None
except Exception as other:
print('\nVISA ERROR: Cannot connect to instrument:', other, flush=True)
print('\n')
return None
return connection
def install_simulated_module(FlexDCA):
""" Install simulated module """
FlexDCA.query(':SYSTem:DEFault;*OPC?')
FlexDCA.write(':SYSTem:MODE EYE')
FlexDCA.write(':EMODules:SLOT1:SELection QEMini')
FlexDCA.write(':CHAN1A:DISPlay ON')
FlexDCA.query(':SYSTem:AUToscale;*OPC?')
def demo_custom_name_with_autonumber(FlexDCA):
""" Save image file. Custom name and autonumber starting at 100 """
print('\nFour custom filenames with autonumbers.')
filename = '%USER_DATA_DIR%\Screen Images\DUT_1'
FlexDCA.write(':DISK:SIMage:FNAME "' + filename + '.png"')
for i in range(1, 5):
FlexDCA.query(':DISK:SIMage:SAVE;*OPC?')
print('Saved: ' + FlexDCA.query(':DISK:SIMage:FNAME?'))
FlexDCA.write(':DISK:SIMage:FNAMe:AUPDate')
def demo_standard_name(FlexDCA):
""" Save four images file using standard name """
print('\nFour standard filenames with autonumbers.')
FlexDCA.write(':DISK:SIMage:FNAMe:USTandard')
for i in range(1, 5):
FlexDCA.query(':DISK:SIMage:SAVE;*OPC?')
print('Saved: ' + FlexDCA.query(':DISK:SIMage:FNAME?'))
FlexDCA.write(':DISK:SIMage:FNAMe:AUPDate')
FlexDCA = open_flexdca_connection(ADDRESS)
install_simulated_module(FlexDCA)
demo_custom_name_with_autonumber(FlexDCA)
demo_standard_name(FlexDCA)
FlexDCA.write(':SYSTem:GTLocal')
FlexDCA.close()