PEmicro-erlebniswelt

Programación en Pandilla con Programadores Cyclone

Una solución de producción en volumen se basa a menudo en la programación simultánea en grupo de diferentes placas objetivo para cumplir los requisitos de velocidad y rendimiento. Este escenario de programación puede integrar programadores Cyclone en un dispositivo conectado a un panel de placas a programar. La programación suele controlarse y supervisarse desde un ordenador local, especialmente cuando se añaden datos dinámicos personalizados a la imagen binaria principal que se programa en cada objetivo.

La solución de programación en grupo de PEmicro consiste en controlar muchos programadores Cyclone simultáneamente mediante la Suite de Control Cyclone. Se puede programar una mezcla de imágenes de programación, objetivos y datos en muchos dispositivos simultáneamente, manteniendo un alto nivel de rendimiento, ya que cada Cyclone es en sí mismo un programador que funciona de forma independiente.

La Suite de Control Cyclone ofrece varias formas de controlar las operaciones de programación en grupo. La Consola de Control Cyclone es una utilidad de línea de comandos programable que facilita enormemente la configuración y ejecución de la programación de grupos. El SDK de Control Cyclone se basa en una biblioteca vinculada dinámicamente (DLL o SO) y proporciona un control detallado de la programación de grupos a través de muchas herramientas, lenguajes y entornos en el PC anfitrión.

Gang_Programming_Cyclone

Cyclone puede conectarse directamente al ordenador central mediante USB o remotamente mediante Ethernet.

1. Programación de grupos con la Consola de Control Ciclón


La forma más rápida de realizar la programación de grupos es utilizar la Consola de Control del Ciclón. La Consola de Control del Ciclón es una potente aplicación de línea de comandos que puede utilizarse para controlar uno o varios Ciclones simultáneamente. Se pueden añadir/eliminar imágenes de programación, leer/configurar ajustes, iniciar operaciones de programación y programar datos dinámicos. La aplicación de línea de comandos muestra mensajes de estado completos y también devuelve un código de resultado que indica el éxito o el fracaso. La aplicación puede iniciarse mediante un script, una consola u otra aplicación

Conexión a varios Ciclones

Abrir varios Ciclones con la consola es sencillo. puedes pasar una lista de nombres de ciclones separados por comas al parámetro -ciclón=(por ejemplo, -ciclón=agnes, coloso, hal9000) o utilizar varios parámetros -ciclón (por ejemplo, -ciclón=agnes -ciclón=coloso -ciclón=hal9000). . Las demás operaciones de la línea de comandos se realizan en todos los ciclones abiertos, incluido el inicio de programación, excepto la programación de datos dinámicos (en la que se especifica el ciclón al que se van a aplicar los datos dinámicos como parte del parámetro). He aquí un ejemplo de listado de imágenes en dos ciclones:

2_(1)

Iniciar la programación de la imagen principal en varios Ciclones

Las mismas imágenes pueden iniciarse en varios Ciclones al mismo tiempo, simplemente especificando varios Ciclones en la línea de comandos. Si hay diferentes conjuntos de imágenes en cada Cyclone, utilizar descripciones de imágenes comprimidas es una buena forma de asegurarse de que se inicia la imagen de programación adecuada. Si el conjunto de imágenes de cada Cyclone es idéntico, el número de imagen coincidirá. Por lo tanto, el número de imagen es otra forma de lanzar las mismas imágenes en varios Ciclones . En el siguiente ejemplo, la imagen de programación "Imagen Verde v1.0" se inicia en tres Ciclones diferentes al mismo tiempo. Los ciclones están referenciados por su nombre (Agnes, Colossus, HAL9000) y la imagen está referenciada por la descripción de la imagen comprimida "GreenImagev1.0".

3_(1)

Proporcionar datos dinámicos adicionales para cada objetivo individual programado

Además de programar los datos que forman parte de una imagen de programación, se pueden programar datos adicionales en cada dispositivo objetivo. Estos datos "dinámicos" pueden especificarse cada vez que se inicia una imagen de programación, lo que permite personalizarlos objetivo a objetivo. Los datos dinámicos tienen muchos usos: serialización personalizada, configuración, seguimiento, codificación de fechas, etc. Se pueden especificar varios conjuntos de datos dinámicos en la línea de comandos. Los datos pueden proporcionarse como una matriz de bytes o como una cadena terminada en cero.

Como parte del parámetro de programación de los datos dinámicos, debe especificarse el número de mango del Ciclón. Esto permite programar datos dinámicos diferentes en los destinos asociados a cada Cyclone abierto. Si sólo se inicia un Ciclón , se utiliza el valor 1. Si se especificaran tres Ciclones en la línea de comandos, se numerarían 1, 2 y 3 en la línea de comandos en orden de izquierda a derecha.

La sintaxis para programar datos dinámicos como una matriz de bytes es

   -putdynamicdata=[número de ciclón], [dirección], [datos]

La sintaxis para programar datos dinámicos como una cadena acabada en cero es:

   -putdynamicstring=[número de ciclón], [dirección], [cadena]

En el siguiente ejemplo, programamos un número de serie único generado por el usuario y una cadena de dirección IP única generada por el usuario en dos destinos diferentes asociados a dos Cyclone diferentes:

4_(1)

Recuperar resultados de éxito / error de Python / Bash / Batch / etc.

La Consola de Control Cyclone no sólo muestra la información de éxito y error como cadenas escritas en la consola, sino que también devuelve un código de error correspondiente al sistema operativo del PC. Se puede utilizar una aplicación o varios lenguajes de programación para comprobar este código de error. Un código de error cero indica un funcionamiento correcto, y un código de error distinto de cero indica un error.

He aquí un ejemplo de script en Python que puede utilizarse para recuperar con éxito la información de éxito / error de la Consola de Control Cyclone:

Importar subproceso
import sys
P=subproceso.run ("cyclonecontrolconsole -cyclone=Agnes -launchimage=green_serial", shell=True, stdout=subproceso.PIPE, stderr=subproceso.PIPE)
print ("STDOUT print:")
print (P.stdout.decode ())
if P.returncode== 0:
print ("¡programado con éxito!")
otherwise:
print ("¡¡¡Programación fallida !!! con código de error" + str (P.returncode))
sys.exit (1)
He aquí un ejemplo de archivo por lotes de Windows que puede utilizarse para restaurar con éxito la información de éxito / fallo de la Consola de Control Cyclone:

cyclonecontrolconsole -cyclone=Agnes -launchimage=green_serial
Cuando ya no se produzca el NIVEL DE ERROR 1
¡cho programado con éxito!
finalizado
:Se ha producido un error
Eco programación fallida !!!!!
: finalizado
He aquí un ejemplo de script de shell bash que puede restaurar con éxito la información de éxito / fallo de la Consola de Control del Ciclón:

#! / bin / bash
cyclonecontrolconsole -cyclone=Agnes -launchimage=green_serial
errorReturn=$?
if [$ errorReturn== 0]; then
  Echo '¡Programación correcta!'
otherwise
  echo 'programación fallida !!!!! con el código de error '$ errorReturn
  Exit 1
fi

2. Programación en grupo con el SDK de Control del Ciclón

El SDK de Control del Ciclón de PEmicro proporciona al desarrollador una biblioteca compartida cargable dinámicamente (DLL o SO), código de aplicación de muestra y documentación de apoyo para permitir que las aplicaciones de software personalizadas controlen directamente el Ciclón. Se admiten lenguajes y entornos como C, C ++, Delphi, C #, Java, Python y Labview.

La información de los datos binarios, la información del algoritmo, las operaciones de programación y otros ajustes se almacenan juntos en una imagen SAP que se guarda directamente en la memoria FLASH del Cyclone. Las operaciones de programación pueden iniciarse en el Cyclone con sólo pulsar un botón. Sin embargo, el SDK permite que un PC emita una orden al Cyclone para iniciar la misma secuencia de programación y también proporciona otras funciones, como la posibilidad de añadir datos dinámicos a cada tarjeta que se esté programando y la capacidad de restaurar la información de errores.

 
Conexión a varios Ciclones e inicio de una imagen de programación

Conectarse a varios Ciclones mediante el SDK es muy sencillo. A continuación se muestra un ejemplo de cómo sería el código en C:

5

Aquí, las operaciones de programación se inician en 3 unidades Cyclone distintas conectadas al PC anfitrión. Esto funciona incluso si todos los Ciclones están conectados a una mezcla de puertos diferentes o a distancia del PC. El programa espera a que se complete antes de continuar. Esencialmente, se programan 3 unidades distintas en paralelo. Muchas unidades Cyclone pueden controlarse en paralelo desde un único PC host, ya que el trabajo de programación se realiza en los propios Ciclones.

 

Proporcionando datos dinámicos adicionales para cada objetivo individual programado

En el siguiente ejemplo, se programa un número de serie en cada uno de los objetivos asociados a los tres Ciclones.

 

6

Para ello, el código llama a la rutina "startDynamicDataProgram". Los argumentos son el asa del ciclón devuelta por "connectToCyclone", la dirección a programar (en este caso la dirección 0), la longitud de los datos a programar y un búfer de caracteres.

 

Comprobar errores

El SDK de Control del Ciclón proporciona al usuario la posibilidad de comprobar si hay errores después de que se haya completado un comando de programación (se muestra cuando checkCycloneExecutionStatus devuelve 0).

7

Para buscar errores, llama a la rutina "getNumberOfErrors" con el manejador del ciclón como único argumento. El valor de retorno de esta rutina es el número de errores en el ciclón especificado. Si este valor es 0, no hubo errores. Utilizando la función "getErrorCode" con el asa del ciclón y el número de error (1. el número de errores), el usuario puede recuperar el número de código del error que se ha producido. Para obtener más información, introduce el código de error y pásalo a la rutina "getDescriptionOfErrorCode" del SDK del Control Ciclón, que devuelve una descripción de texto detallada del error.

 

Conclusión

Utilizando la Suite de Control de Ciclones de PEmicro en combinación con varios Ciclones, es muy fácil crear una configuración de programación en grupo. Como cada Cyclone es en sí mismo un programador que funciona de forma independiente, se puede programar una mezcla de imágenes de programación, objetivos y datos en muchos dispositivos simultáneamente, manteniendo un alto nivel de rendimiento. La Consola de Control Cyclone simplifica enormemente la configuración de la programación en grupo, mientras que el SDK de Control Cyclone permite una personalización detallada del control de la programación en grupo desde muchas herramientas, lenguajes y entornos.

Programador Ciclón

pemicro cyclone fx universalCyclone FX Universal Header Layout
Cyclone Universal FX
CYCLONE-FX-UNIV
El PEmicro Cyclone FX Universal es un programador autónomo para ARM y procesadores de 8/16/32 bits.

1.369,00 €*
PEmicro cyclone lc universalpemicro cyclone lc universal header layout
Cyclone LC Universal
CYCLONE-LC-UNIV
El PEmicro Cyclone LC Universal es un programador autónomo para ARM y procesadores de 8/16/32 bits.

979,00 €*
pemicro cyclone fx armCyclone FX ARM Header Layout
Cyclone FX ARM
CYCLONE-FX-ARM
El PEmicro Cyclone FX ARM es un programador autónomo para procesadores ARM.

1.199,00 €*