Prueba de simplificación
Automatización con
tm_devices y Python
COMO GUIAR
Simplificando la automatización de pruebas con tm_ Devices y Python
COMO GUIAR
Simplificando la automatización de pruebas con tm_devices y Python
Los ingenieros de muchas industrias utilizan la automatización para ampliar las capacidades de sus instrumentos de prueba. Muchos ingenieros eligen el lenguaje de programación gratuito Python para lograrlo. Hay muchas ventajas significativastagEsto hace de Python un gran lenguaje de programación para la automatización:
- Versatilidad
- Fácil de enseñar y aprender.
- Legibilidad del código
- Bases de conocimientos y módulos ampliamente disponibles
Hay dos casos de uso principales para la automatización:
- Rutinas que imitan el comportamiento humano para automatizar el panel frontal y ahorrar tiempo, por ejemplo, pruebas de cumplimiento automatizadas.
En lugar de sentarse frente al osciloscopio, agregar mediciones apropiadas y anotar los resultados cada vez que necesita probar una pieza nueva, el ingeniero desarrolla un script que hace todo eso y muestra el resultado. - Usos que amplían la funcionalidad del instrumento; por examparchivo: registro de mediciones, validación o control de calidad.
La automatización permite al ingeniero ejecutar pruebas complejas sin muchas de las desventajas inherentes a esas pruebas. No es necesario que un operador configure el osciloscopio y registre manualmente los resultados, y la prueba se puede realizar de la misma manera siempre.
Esta guía práctica cubrirá lo que necesita para comenzar a programar alcances en Python, incluidos los conceptos básicos de las interfaces programáticas y cómo descargar y ejecutar un ex.ampel.
¿Qué es una interfaz programática?
Una interfaz programática (PI) es un límite o un conjunto de límites entre dos sistemas informáticos que se pueden programar para ejecutar comportamientos específicos. Para nuestros propósitos, es el puente entre la computadora que ejecuta cada pieza del equipo de prueba de Tektronix y la aplicación escrita por un usuario final. Para limitar esto aún más, se trata de comandos que se pueden enviar de forma remota a un instrumento que luego procesa esos comandos y ejecuta la tarea correspondiente. PI Stack (Figura 1) muestra el flujo de información desde el controlador host hasta el instrumento. El código de aplicación escrito por el usuario final define el comportamiento del instrumento de destino. Esto generalmente está escrito en una de las plataformas de desarrollo más populares de la industria, como Python, MATLAB, Lab.VIEW, C++ o C#. Esta aplicación enviará datos utilizando el formato de comandos estándar para instrumentación programable (SCPI), que es un estándar compatible con la mayoría de los equipos de prueba y medición. Los comandos SCPI a menudo se envían a través de una capa de Arquitectura de software de instrumento virtual (VISA), que se utiliza para facilitar la transferencia de datos al incluir robustez adicional (por ejemplo, verificación de errores) al protocolo de comunicación. En algunos casos, las aplicaciones pueden llamar a un controlador que luego enviará uno o más comandos SCPI a la capa VISA.Figura 1. La pila de interfaz programática (PI) muestra el flujo de información entre un controlador host y un instrumento.
¿Qué es el paquete tm_devices?
tm_devices es un paquete de administración de dispositivos desarrollado por Tektronix que incluye una multitud de comandos y funciones para ayudar a los usuarios a automatizar fácilmente pruebas en productos Tektronix y Keithley utilizando el lenguaje de programación Python. Se puede utilizar en los IDE más populares para Python y admite ayudas para completar el código. Este paquete hace que la codificación y la automatización de pruebas sean sencillas y fáciles para ingenieros con conocimientos de software de cualquier nivel. La instalación también es sencilla y utiliza pip, el sistema de gestión de paquetes de Python.
Configurando su entorno
Esta sección lo guiará a través de los requisitos previos y las instalaciones para prepararlo para realizar el trabajo de desarrollo con tm_devices. También incluye instrucciones que admiten entornos virtuales en Python (venvs) para que sus proyectos sean más fáciles de administrar y mantener, especialmente si recién está probando este paquete antes de comprometerse con su uso.
Nota: Si tiene un entorno sin acceso directo a Internet, deberá modificar sus pasos utilizando los comandos del apéndice. Si tiene problemas, no dude en publicar en el discusiones sobre github para solicitar ayuda.
Instalación y requisitos previos terminadosview
- Instalar Python
a. Pitón ≥ 3.8 - PyCharm: instalación de PyCharm, inicio de un proyecto e instalación de tm_devices
- VSCode: instalación de VSCode, inicio de un proyecto e instalación de tm_devices
Edición comunitaria PyCharm (gratuita)
PyCharm es un IDE de Python popular utilizado por desarrolladores de software de todas las industrias. PyCharm tiene un probador unitario integrado que permite a los usuarios ejecutar pruebas por file, clase, método o todas las pruebas dentro de una carpeta. Como la mayoría de los IDE modernos, tiene una forma de finalización de código que acelera enormemente su desarrollo en comparación con un editor de texto básico.
Pasaremos por la instalación de la edición comunitaria de PyCharm (gratuita), seguido de la instalación de tm_devices en el IDE y la configuración de un entorno virtual para desarrollar.
- Ir a https://www.jetbrains.com/pycharm/
- Desplácese de PyCharm Professional a PyCharm Community Edition, haga clic en descargar
- Debería poder continuar solo con los pasos de instalación predeterminados. No requerimos nada único.
- ¡Bienvenido a PyCharm!
- Ahora deberá crear un nuevo proyecto y asegurarse de configurar un entorno virtual. Haga clic en "Nuevo proyecto"
- Confirme la ruta del proyecto, asegúrese de que esté seleccionado "Virtualenv"
- Abra una terminal. Si tu view no incluye el botón etiquetado en la parte inferior, busque esto:
- Confirme que el entorno virtual esté configurado comprobando ( venv ) antes del mensaje en su terminal
- Instalar el controlador desde la terminal
Tipo: pip install tm_devices - ¡Tu terminal debería estar libre de errores! ¡Feliz pirateo!
Código de Visual Studio
Visual Studio Code es otro IDE gratuito popular que utilizan los desarrolladores de software de todas las industrias. Es excelente para la mayoría de los idiomas y tiene extensiones para la mayoría de los idiomas que hacen que la codificación en este IDE sea muy conveniente y eficiente. Visual Studio Code proporciona IntelliSense, que es una herramienta extremadamente útil durante el desarrollo, ya que ayuda a completar el código, información de parámetros y otra información relacionada con objetos y clases. Convenientemente, tm_devices admite la finalización de código que describe el árbol de comandos de los objetos y clases.
Tenemos una excelente guía sobre la instalación de Python y Visual Studio Code, que incluye información sobre la configuración del entorno virtual. aquí.
Exampel código
En esta sección analizaremos partes de un código simple, por ejemplo.amparchivo y resalte algunos componentes necesarios para utilizar los dispositivos tm_ de forma eficaz.
ImportacionesEstas dos líneas son fundamentales para el uso eficaz de tm_devices. En la primera línea importamos el DeviceManager. Esto manejará la conexión y desconexión estándar de múltiples clases de dispositivos.
En la segunda línea importamos un controlador específico, en este caso el MSO5B.
Configuramos un administrador de contexto con DeviceManager:Y luego, cuando usamos el administrador de dispositivos y el controlador juntos:
Podemos crear una instancia de un instrumento con un conjunto de comandos específico que coincida con su modelo. Simplemente ingrese la dirección IP de su instrumento (también funcionan otras direcciones VISA).
Con estas cuatro líneas completas, podemos comenzar a escribir una automatización significativa y específica para el MSO5B.
Fragmentos de código
Echemos un vistazo a algunas acciones simples:
Establecer el tipo de disparador en EdgeAsí es como agregaría y consultaría una medición pico a pico en CH1:
Si quisieras tomar un ampmedición de lititud en CH2:
Uso de IntelliSense/Completación de código
IntelliSense: el nombre de Microsoft para la finalización de código es una característica muy poderosa de los IDE que hemos intentado explotar tanto como sea posible.
Una de las principales barreras para la automatización con dispositivos de prueba y medición es el conjunto de comandos SCPI. Es una estructura anticuada con una sintaxis que no admite ampliamente la comunidad de desarrollo.
Lo que hemos hecho con tm_devices es crear un conjunto de comandos Python para cada comando SCPI. Esto nos permitió generar código Python a partir de la sintaxis de comandos existente para evitar el desarrollo manual de los controladores, así como crear una estructura que sea familiar para los usuarios de SCPI existentes. También se asigna al código de nivel inferior que podría requerir una depuración intencional durante la creación del programa. La estructura de los comandos de Python imita la estructura de los comandos SCPI (o en algunos casos de Keithley, TSP), por lo que si está familiarizado con SCPI, estará familiarizado con estos.
Este es un exampArchivo de cómo IntelliSense muestra todos los comandos disponibles con el comando escrito anteriormente:
En la lista desplazable que aparece después del punto en alcance podemos ver una lista alfabética de categorías de comandos de alcance:Al elegir afg podremos ver una lista de categorías de AFG:
Comando final escrito con la ayuda de IntelliSense:
Ayuda de cadena de documentos
Mientras codifica, o mientras lee el código de otra persona, puede desplazarse sobre diferentes partes de la sintaxis para obtener la documentación de ayuda específica de ese nivel. Cuanto más cerca esté de la sintaxis completa del comando, más específico será.Dependiendo de las condiciones de su IDE, puede mostrar la ayuda de IntelliSense y la cadena de documentación al mismo tiempo.
Con esta guía, ha visto algunos de los beneficios del paquete de controladores Python de Tek, tm_devices, y puede comenzar su viaje de automatización. Con la sencilla configuración, la finalización del código y la ayuda integrada, podrá aprender sin salir de su IDE, acelerar el tiempo de desarrollo y codificar con mayor confianza.
Hay pautas de contribución en el repositorio de Github si desea mejorar el paquete. Hay muchos ex más avanzados.amparchivos resaltados en la documentación y dentro del contenido del paquete en el Exampcarpeta de archivos.
Recursos extra
tm_devices · PyPI: información y descarga del controlador del paquete
tm_devices Github: código fuente, seguimiento de problemas, contribución
tm_devices Github – Documentación en línea
Solución de problemas
Actualizar pip suele ser un buen primer paso para solucionar problemas:
En su terminal escriba: Python.exe -m pip install -upgrade pip
Error: parece un filenombre, pero file no existe O .whl no es un volante compatible con esta plataforma.
Solución: Pip instalando la rueda para que reconozca el file formato.
En su terminal escriba: pip install wheel
Si necesita instalar Wheel sin conexión, puede seguir instrucciones similares a las del Apéndice A, pero requiere la descarga de tar.gz en lugar de .whl. file.
Apéndice A: Instalación sin conexión de tm_devices
- En una computadora con Internet, descargue el paquete junto con todas las dependencias a la ubicación de ruta especificada usando:
descarga de pip –dest herramientas de configuración de ruedas tm_devices - Copiar el files a su computadora que no tiene acceso a Internet
- Luego, siga las instrucciones de la guía principal para cualquier IDE que esté utilizando, pero cambie el comando de instalación por el siguiente:
instalación de pip –sin índice –buscar enlaces files>tm_dispositivos
Información del contacto:
Australia 1 800 709 465
Austria* 00800 2255 4835
Balcanes, Israel, Sudáfrica y otros países ISE +41 52 675 3777
Bélgica* 00800 2255 4835
Brasil +55 (11) 3530-8901
Canadá 1 800
Europa Central y Oriental/Bálticos +41 52 675 3777
Europa Central / Grecia +41 52 675 3777
Dinamarca +45 80 88 1401
Finlandia +41 52 675 3777
Francia* 00800 2255 4835
Alemania* 00800 2255 4835
Hong Kong 400 820 5835
India 000 800 650 1835
Indonesia 007 803 601 5249
Italia 00800
Japón 81 (3) 6714 3086
Luxemburgo +41 52 675 3777
Malasia 1 800 22 55835
México, Centro/Sur América y Caribe 52 (55) 88 69 35 25
Medio Oriente, Asia y África del Norte +41 52 675 3777
Países Bajos* 00800 2255 4835
Nueva Zelanda 0800 800
Noruega 800 16098
República Popular China 400 820 5835
Filipinas 1 800 1601 0077
Polonia +41 52 675 3777
Portugal 80
República de Corea +82 2 565 1455
Rusia / CEI +7 (495) 6647564
Singapur 800 6011 473
Sudáfrica +41 52 675 3777
España* 00800 2255 4835
Suecia* 00800 2255 4835
Suiza* 00800 2255 4835
Taiwán 886 (2) 2656 6688
Tailandia 1 800 011 931
Reino Unido / Irlanda* 00800 2255 4835
EE. UU. 1 800 833 9200
Vietnam 12060128
* Número gratuito europeo. Que no
accesible, llame al: +41 52 675 3777
Rev. 02.2022
Encuentre recursos más valiosos en TEK.COM
Copyright © Tektronix. Reservados todos los derechos. Los productos Tektronix están cubiertos por patentes estadounidenses y extranjeras, emitidas y pendientes. La información de esta publicación reemplaza a la de todo el material publicado anteriormente. Se reservan privilegios de modificación de precios y especificaciones. TEKTRONIX y TEK son marcas comerciales registradas de Tektronix, Inc. Todos los demás nombres comerciales a los que se hace referencia son marcas de servicio, marcas comerciales o marcas comerciales registradas de sus respectivas empresas.
052124 SBG 46W-74037-1
Documentos / Recursos
![]() |
Tektronix simplifica la automatización de pruebas con tm_ Devices y Python [pdf] Guía del usuario 48W-73878-1, Simplificación de la automatización de pruebas con tm_ Devices y Python, Automatización de pruebas con tm_ Devices y Python, Automatización con tm_ Devices y Python, tm_ Devices y Python, Dispositivos y Python, Python |