ES2862599T3 - Sistema de control de movimiento que utiliza comunicación asíncrona, y controlador y método del mismo - Google Patents

Sistema de control de movimiento que utiliza comunicación asíncrona, y controlador y método del mismo Download PDF

Info

Publication number
ES2862599T3
ES2862599T3 ES12889588T ES12889588T ES2862599T3 ES 2862599 T3 ES2862599 T3 ES 2862599T3 ES 12889588 T ES12889588 T ES 12889588T ES 12889588 T ES12889588 T ES 12889588T ES 2862599 T3 ES2862599 T3 ES 2862599T3
Authority
ES
Spain
Prior art keywords
data
controller
series
clocks
execution time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12889588T
Other languages
English (en)
Inventor
Said Zahrai
Feihong Zhang
Yicheng Zhang
Chengping Su
Bojun Ma
Chao Yang
Hui Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Schweiz AG
Original Assignee
ABB Schweiz AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB Schweiz AG filed Critical ABB Schweiz AG
Application granted granted Critical
Publication of ES2862599T3 publication Critical patent/ES2862599T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)
  • Manipulator (AREA)

Abstract

Un sistema de control de movimiento para un robot y que utiliza comunicación asíncrona, que incluye: un primer controlador (10), que está adaptado para preparar un múltiplo de datos secuencialmente en una serie de primeros relojes y seguir transmitiendo los datos en una serie de segundos relojes hasta que recibe una confirmación; un segundo controlador (11), que está adaptado para recibir los datos y acusar la recepción correcta de los datos devolviendo la confirmación; en donde: un intervalo en la serie de primeros relojes es mayor que un intervalo en la serie de segundos relojes; el primer controlador (10) comprende un primer módulo de aplicación (100) y un primer módulo de comunicación (101); el segundo controlador (11) comprende un segundo módulo de comunicación (110) y un segundo módulo de aplicación (111); en donde: el primer módulo de aplicación (100) está adaptado para la preparación de datos y el envío de datos al primer módulo de comunicación (101) en respuesta a la preparación de datos; el primer módulo de comunicación (101) está adaptado para recibir los datos y la transmisión de los datos en la serie de segundos relojes; el segundo módulo de comunicación (110) está adaptado para la recepción de los datos y para el acuse de la recepción correcta de los datos y está además adaptado para almacenar los datos en una cola de unidades de memoria; el segundo módulo de aplicación (111) está adaptado para acceder a los datos almacenados en la cola de las unidades de memoria, consumiendo los datos en un intervalo mayor que el de la serie de los primeros relojes, donde el segundo módulo de aplicación (111) está adaptado además para consumir los datos almacenados en la cola de las unidades de memoria en la misma secuencia en que se almacenan los datos; la operación de transmisión del primer módulo de aplicación (100) y la operación de consumo del segundo módulo de aplicación (111) son independientes; y los datos tienen al menos la información sobre la tarea y su tiempo de ejecución.

Description

DESCRIPCIÓN
Sistema de control de movimiento que utiliza comunicación asíncrona, y controlador y método del mismo Campo técnico
La invención se refiere al campo de sistemas de control de movimiento, y más particularmente al campo de un sistema de control de movimiento que usa comunicación asíncrona y a un método del mismo.
Antecedentes de la técnica
En los sistemas de control de movimiento convencionales, el sistema completo se divide en subsistemas que están en comunicación entre sí y necesitan actuar y reaccionar entre sí. Para sistemas en los que existe una restricción sobre el comportamiento temporal, la interacción tiene que realizarse de manera controlada dentro de un intervalo de tiempo dado. Cuando aumenta el número de dispositivos en el sistema, los problemas se vuelven más complejos; una solución práctica es tener un período mínimo de tiempo para la parte más rápida del sistema y las partes más lentas tendrán un múltiplo de este como su propio tiempo de ciclo.
Si bien la estrategia anterior podría funcionar en general, tiene al menos las siguientes desventajas. Si aumenta el número de unidades con períodos diferentes, se añade complejidad al sistema. En particular, añadir nuevos componentes al sistema se vuelve más difícil ya que se tiene que respetar la historia. Como ejemplo, en una máquina automatizada se podría tener un período de regulación adecuado para el proceso, pero no una fracción de segundo pura, tal como 85 microsegundos. Los valores establecidos se pueden calcular con menos frecuencia con un período que sea un múltiplo del período de regulación, tales como 170, 340, 680 microsegundos o más. La comunicación con el sistema de transmisión que entrega los datos de posición debe seguir estas planificaciones. Mientras todo el sistema sea propietario, esto no causará ningún problema, pero una vez se espera que el sistema interactúe con otros sistemas, esto se convertirá en un problema.
Una metodología de solución alternativa sería tener el sistema controlado por interrupciones. Esto, por supuesto, resuelve el problema, pero añade otro tipo de complejidad al sistema. Las prioridades de interrupción deben elegirse con mucho cuidado y la potencia de cálculo debe ser tal que el peor caso de tener todas las interrupciones al mismo tiempo pueda manejarse sin fallos funcionales. Esto conduce a necesidades de especificación excesiva del sistema y a un menor control sobre el comportamiento temporal del sistema.
Además, el sistema tiene que diseñarse de modo que la falta de un tren de datos no provoque un fallo completo del sistema. Esto requiere estrategias como la extrapolación de datos antiguos o la reutilización de los mismos datos. La patente US 6,247,082 B1 describe un método y un circuito para proporcionar establecimiento de comunicación para gestionar información a través de múltiples dominios de reloj usando comunicación asíncrona. El sistema conocido incluye un primer subsistema informático en un primer dominio de reloj y un segundo subsistema informático en un segundo dominio de reloj. Entre dichos subsistemas informáticos se encuentra un circuito de establecimiento de comunicación que comprende dos circuitos de interfaz. El circuito de establecimiento de comunicación está adaptado para proporcionar las señales de establecimiento de comunicación requeridas para controlar la transferencia de datos entre el primer dominio que es un maestro y el segundo dominio que es un esclavo.
El documento de F. Kanehiro, Y. Ishiwata, H. Saito, K. Akachi, G. Miyamori, T. Isozumi, K. Kaneko y H. Hirukawa, "Distributed Control System of Humanoid Robots based on Real-time Ethernet", en IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006, págs. 2471-2477, trata de comunicación en tiempo real en Ethernet y desarrolla un sistema de control distribuido en el cuerpo para un robot humanoide, HRP-3P. La comunicación en tiempo real en Ethernet se realiza mediante un método de comunicación que utiliza la capa de enlace de datos directamente, y control de temporización que utiliza un sistema operativo en tiempo real ARTLinux. Esto permite reducir el costo de los sistemas integrados y mejorar la eficiencia del desarrollo. También se desarrolla una implementación CORBA que trabaja en esta capa de comunicación, para aumentar la compatibilidad con el software existente. Además, se desarrolla un controlador de robot distribuido de tamaño pequeño para la red corporal de HRP-3P y, además, se desarrolla un sistema de E/S distribuido.
Breve resumen de la invención
Por tanto, un objetivo de la invención es dar a conocer un sistema de control de movimiento que utiliza comunicación asíncrona según la reivindicación 1, y métodos del mismo según la reivindicación 6.
Tener la configuración anterior, puede proporcionar al menos uno de los resultados técnicos: 1. comunicación asíncrona entre el primer controlador y el segundo controlador; 2. los dos controladores con diferentes velocidades de reloj pueden comunicar entre sí; 3. evitar pérdida de datos mediante retransmitir los datos a una frecuencia superior a la frecuencia con la que se preparan o se van a consumir los datos; 4. la reutilización del intervalo entre los primeros relojes para transmisión de datos en una serie de segundos relojes.
Breve descripción de los dibujos
Esta invención está definida y limitada por el alcance de las reivindicaciones independientes adjuntas. En la siguiente descripción, cualquier realización o realizaciones a las que se hace referencia y que no entran dentro del alcance de las reivindicaciones adjuntas, son simplemente ejemplos utilizados para la comprensión de la invención. El objeto de la invención se explicará con más detalle en el siguiente texto haciendo referencia a ejemplos de realización preferidos que se ilustran en los dibujos, en los que:
la Figura 1 ilustra un diagrama de bloques para un sistema de control de movimiento que usa comunicación asíncrona según una realización de la presente invención;
la figura 2 ilustra un esquema de planificación para comunicación entre el primer controlador y el segundo controlador según la figura 1;
la figura 3 ilustra un diagrama de bloques a nivel de módulo para el sistema de control de movimiento según la figura 1; y
la figura 4 representa un esquema de planificación a modo de ejemplo para el proceso de acuerdo con una realización de la presente invención.
Los símbolos de referencia utilizados en los dibujos y sus significados se enumeran de forma resumida en la lista de símbolos de referencia. En principio, las partes idénticas reciben los mismos símbolos de referencia en las figuras.
Realizaciones preferidas de la invención
La figura 1 ilustra un diagrama de bloques para un sistema de control de movimiento que usa comunicación asíncrona según una realización de la presente invención. Como se muestra en la figura 1, el sistema de control de movimiento 1 incluye un primer controlador 10 y un segundo controlador 11. Por ejemplo, el primer controlador 10 y el segundo controlador 11 pueden implementarse mediante un chip programable, tal como una matriz de puertas programables in situ (FPGA) o un circuito integrado de aplicación específica (ASIC) o una combinación de estos y una unidad central de procesamiento. Dicho hardware es un circuito integrado diseñado para ser configurado por un cliente o un diseñador después de la fabricación, por lo tanto, "programable in situ", de modo que puede ejecutar la funcionalidad deseada, tal como control, comunicación, detección, procesamiento de datos, etc. . El primer controlador 10 y el segundo controlador 11 están conectados a través de la red 12, tal como un bus de campo. Bus de campo es una familia de protocolos de redes de comunicación industrial que se utilizan en este caso para el control distribuido en tiempo real.
La figura 2 ilustra un esquema de planificación para la comunicación entre el primer controlador y el segundo controlador de acuerdo con la figura 1. Como se muestra en la figura 2, el primer controlador 10 está adaptado para preparar un múltiplo de datos secuencialmente en una serie de primeros relojes CLK1 y seguir transmitiendo. los datos al segundo controlador 11 en una serie de segundos relojes CLK2 hasta que el primer controlador 10 recibe una confirmación enviada por el segundo controlador 11; el segundo controlador 11 está adaptado para recibir los datos transmitidos por el primer controlador 10 y acusar la recepción correcta de los datos devolviendo la confirmación al primer controlador 10; un intervalo en la serie de primeros relojes CLK 1 es mayor que un intervalo en la serie de segundos relojes CLK 2 y menor o igual que el intervalo durante el cual se consumen los datos. El primer controlador 10 está adaptado además para transmitir los datos siguientes en respuesta a que el primer controlador 10 recibe del segundo controlador la confirmación de la recepción correcta de los datos actuales. En un intervalo entre los primeros relojes, los datos son transmitidos por el primer controlador 10 en una serie de los segundos relojes hasta que son recibidos correctamente por el segundo controlador 11. Tener la configuración anterior, puede proporcionar al menos uno de los resultados técnicos como: 1. comunicación asíncrona entre el primer controlador y el segundo controlador; 2. los dos controladores con diferentes velocidades de reloj pueden comunicar entre sí; 3. evitar la pérdida de datos mediante retransmitir los datos a una frecuencia superior a la frecuencia con la que los datos se preparan o se van a consumir; 4. la reutilización del intervalo entre los primeros relojes para transmisión de los datos en una serie de segundos relojes.
La figura 3 ilustra un diagrama de bloques a nivel de módulo para el sistema de control de movimiento según la figura 1. Como se muestra en la figura 3, el primer controlador 10 comprende un primer módulo de aplicación 100 y un primer módulo de comunicación 101; el segundo controlador 11 comprende un segundo módulo de comunicación 110. El hardware del primer controlador 10 y del segundo controlador 11, tal como una matriz de puertas programables in situ (FPGA) o un circuito integrado de aplicación específica (ASIC) o una combinación de los mismos y una unidad central de procesamiento se puede programar en módulos separando la funcionalidad de un programa en módulos independientes e intercambiables, de modo que cada uno contenga todo lo necesario para ejecutar solo un aspecto de la funcionalidad deseada. El primer controlador 10 está programado en módulos de manera que: el primer módulo de aplicación 100 está adaptado para la preparación de datos y el envío de datos al primer módulo de comunicación 101 en respuesta a la preparación de datos, y el primer módulo de comunicación 101 está adaptado para recibir los datos y la transmisión de los datos en la serie de segundos relojes. El segundo controlador 11 está programado en módulos de manera que el segundo módulo de comunicación 110 está adaptado para la recepción de los datos y para el acuse de la recepción correcta de los datos.
Por ejemplo, el primer módulo de aplicación puede estar adaptado para preparar datos Datos(i) secuencialmente en CLK1 (i) de una serie de primeros relojes, donde i es un número natural que indica el índice que va de 0 a N. El primer módulo de aplicación 100 puede estar adaptado para enviar Datos(i) al primer módulo de comunicación 101 en respuesta a la preparación de Datos(i), por ejemplo cuando/después de que se realice la preparación de datos correspondiente. El primer módulo de comunicación puede estar adaptado para transmitir Datos(i) en la serie de segundos relojes CLK2 al segundo módulo de comunicación 110. El segundo módulo de comunicación 110 puede estar adaptado para recibir los Datos(i) y acusar la recepción correcta de Datos( I). En respuesta a que el primer módulo de comunicación 101 recibe la confirmación de la recepción correcta de Datos(i) por parte del segundo módulo de comunicación 110, el primer módulo de comunicación 101 está adaptado para dejar de enviar Datos(i) hasta que reciba Datos(i 1) enviado por el primer módulo de aplicación 100, y se realiza el mismo proceso para Datos(i 1). Tener los controladores programados en módulos, en particular separando el módulo de comunicación del módulo de aplicación, es útil para la creación de una comunicación y sincronización eficiente y precisa en el tiempo.
Haciendo referencia también a la figura 3, el segundo controlador 11 comprende además un segundo módulo de aplicación 111 mediante programación modular. El segundo módulo de comunicación 110 está adaptado además para almacenar los datos en una cola de unidades de memoria. Las unidades de memoria pueden usarse para el almacenamiento de datos. El segundo módulo de aplicación 111 está adaptado para acceder a los datos almacenados en la cola de las unidades de memoria, consumiendo los datos en un intervalo mayor o igual al de la serie de los primeros relojes, y la operación de transmisión del primer módulo de aplicación 100 y la operación de consumo del segundo módulo de aplicación 111 son independientes. Por ejemplo, el segundo módulo de comunicación 110 puede estar adaptado para almacenar Datos(i) en la memoria M (i), alternativamente puede estar adaptado para almacenar Datos(i) en la memoria en pila. El segundo módulo de aplicación 111 puede estar adaptado para acceder a los Datos(i) haciendo referencia al índice "i" y extrayendo la información de tarea y su tiempo de ejecución de los Datos(i). Tener dicha configuración, puede producir al menos uno de los resultados técnicos: 1. el primer controlador y el segundo controlador se pueden sincronizar sin tener la misma velocidad de reloj, o uno múltiplo de la velocidad de reloj del otro, 2 .el segundo módulo de aplicación puede obtener los datos correctos a tiempo.
Preferiblemente, el segundo módulo de aplicación 111 está además adaptado para consumir los datos almacenados en la cola de las unidades de memoria en la misma secuencia en que se almacenan los datos, y liberar la unidad de memoria cuando se consumen los datos almacenados la misma. Además, los datos tienen al menos la información sobre la tarea y su tiempo de ejecución. Al tener dicha configuración y un reloj distribuido en el sistema, el segundo módulo de aplicación puede dar instrucciones para la ejecución de la tarea en el tiempo de ejecución extrayendo dicha información de los datos que recibe. Los relojes distribuidos son servicios proporcionados en algunos buses de campo y permiten que un sistema distribuido que se ejecuta en varios hardware compartan el mismo reloj. El servicio generalmente corrige automáticamente los relojes y elimina las desviaciones debidas a inexactitudes del hardware y osciladores que de otra manera se acumularían.
En una realización común, de acuerdo con la dirección prevista del flujo de información, un maestro puede conmutar entre los roles del primer controlador y el segundo controlador y un esclavo puede conmutar entre los roles del segundo controlador y el primer controlador. Al tener este mecanismo de conmutación, el maestro y el esclavo pueden comportarse como un transmisor y un receptor o viceversa durante la comunicación. El maestro puede ser un controlador lógico programable estándar sin requisitos estrictos del tiempo de exploración del PLC.
El esclavo puede ser, por ejemplo, una unidad de accionamiento de varios ejes conectada en serie con otros sistemas de accionamiento estándar. La disposición propuesta eliminó la necesidad de ajustes específicos.
En particular, por ejemplo, el primer controlador 10 es un controlador principal que está adaptado además para preparar los datos que representan información de movimiento del robot y tiempo de ejecución, y el segundo controlador 11 es un controlador de movimiento del eje que está adaptado además para proporcionar datos de control para accionar un dispositivo mecánico en base a la información de movimiento del robot y al tiempo de ejecución extraídos de los datos recibidos del controlador principal. Si el controlador principal necesita retroalimentación del controlador esclavo, entonces el controlador principal conmuta su rol del primer controlador al segundo controlador y, en consecuencia, el controlador de movimiento del eje conmuta su rol del segundo controlador al primer controlador.
Como alternativa, el primer controlador 10 es un controlador principal que está adaptado además para preparar los datos que representan una tarea de control de alto nivel y su tiempo de ejecución en base a una interacción con los usuarios y con otros sistemas; y el segundo controlador 11 es un controlador de movimiento del eje que está adaptado además para controlar motores eléctricos para conseguir el movimiento solicitado en el tiempo de ejecución en base a la tarea de control de alto nivel y su tiempo de ejecución extraído de los datos recibidos. Una tarea de alto nivel puede ser el programa proporcionado por el usuario, que solicita un movimiento bien definido del robot cuando se cumplen determinadas condiciones. Un ejemplo de ello puede ser que la existencia de la pieza de trabajo se confirme mediante una señal y el sistema de seguridad permita iniciar el movimiento del robot. El controlador principal verificará las condiciones leyendo entradas de los sensores y, en caso de resultado positivo, ordenará al accionador que comience a mover el robot. Si el controlador principal necesita retroalimentación del controlador esclavo, entonces el controlador principal conmuta su rol del primer controlador al segundo controlador y, en consecuencia, el controlador de movimiento del eje conmuta su rol del segundo controlador al primer controlador.
La figura 4 representa un esquema de planificación a modo de ejemplo para el proceso de acuerdo con una realización de la presente invención. Como se muestra en la figura 4, el primer controlador y el segundo controlador pueden funcionar para preparar un múltiplo de datos secuencialmente en una serie de primeros relojes CLK1, manteniendo la transmisión de datos en una serie de segundos relojes CLK2 hasta que reciba una confirmación, recibiendo los datos y acusando la recepción correcta de los datos devolviendo la confirmación. El intervalo de la serie de primeros relojes CLK1 es mayor que el intervalo de la serie de segundos relojes CLK2. Por ejemplo, dicho proceso incluye las etapas siguientes: preparar Datos(i) en CLK1 (i) de una serie de primeros relojes, donde i es un número natural que indica el índice que varía de 0 a N; enviar Datos(i) en respuesta a la preparación de los Datos(i), por ejemplo, cuando/después de que se realice la preparación de datos correspondiente, en la serie de segundos relojes CLK2; recibir los Datos(i) y acusar recibo de la recepción correcta de los Datos(i); en respuesta a la confirmación de recepción correcta de Datos(i), dejar de enviar Datos(i) hasta recibir Datos(i 1), y se realiza el mismo proceso para Datos(i 1), Datos(i 2) ... Tener controladores programados en módulos, en particular separando el módulo de comunicación del módulo de aplicación, es útil para la creación de una comunicación y sincronización eficientes y precisas en el tiempo. Este proceso puede proporcionar al menos uno de los resultados técnicos: 1. comunicación asíncrona entre el primer controlador y el segundo controlador; 2. los dos controladores con diferentes velocidades de reloj pueden comunicar entre sí; 3. evitar la pérdida de datos mediante retransmitir los datos a una frecuencia superior a la frecuencia con la que se preparan; 4. la reutilización del intervalo entre los primeros relojes para la transmisión de datos en una serie de segundos relojes.
También haciendo referencia a la figura 4, el proceso incluye además almacenar los datos recibidos correctamente en una cola de unidades de memoria. Además, dicho proceso incluye además acceder a los datos almacenados en la cola de las unidades de memoria, consumiendo los datos en un intervalo mayor o igual al de la serie del primer reloj. Por ejemplo, el proceso incluye además las etapas siguientes: almacenar Datos(i) en la memoria M (i), alternativamente puede estar adaptado para almacenar Datos(i) en la memoria en pila. El segundo módulo de aplicación 11 puede estar adaptado para acceder a los Datos(i) haciendo referencia al índice "i" y extrayendo de los Datos(i) la información de tarea y su tiempo de ejecución. Este enfoque proporciona al menos uno de los resultados técnicos: 1. el primer controlador y el segundo controlador pueden sincronizarse sin tener la misma velocidad de reloj o uno múltiplo de la velocidad de reloj del otro, 2. el segundo controlador puede obtener datos correctos a tiempo.
Preferiblemente, el consumo de los datos almacenados en la cola de las unidades de memoria es en la misma secuencia en donde se almacenan los datos.
El proceso puede incluir además proporcionar datos de control para accionar un dispositivo mecánico en base a la información de movimiento del robot y al tiempo de ejecución extraídos de los datos recibidos, donde: los datos representan información de movimiento del robot y tiempo de ejecución.
El proceso puede incluir además controlar motores eléctricos para conseguir el movimiento solicitado en el tiempo de ejecución en base a la tarea de control de alto nivel y su tiempo de ejecución extraído de los datos recibidos.
También haciendo referencia a la figura 4, el primer módulo de aplicación 100 y el primer módulo de comunicación 101 se implementan en el primer controlador 10. El segundo módulo de aplicación 111 y el segundo módulo de comunicación 110 se implementan en un segundo controlador separado 11. Los dos controladores tienen dos diferentes tiempos de ciclo interno, denotados por Tappi y TaPP2.
Sin una sincronización específica, el retardo de la transmisión de datos está cambiando debido al diferente tiempo de inicio de cada componente. Como se muestra en la figura 1, A1 es el retardo de tiempo para transmisión de datos desde el primer módulo de aplicación 100 al primer módulo de comunicación 101, A2 es el retardo de tiempo para transmisión de datos desde el primer módulo de comunicación 101 al segundo módulo de comunicación 110, y A3 es el retardo de tiempo para transmisión de datos desde el segundo módulo de comunicación 110 al segundo módulo de aplicación 111. A partir de estos, se llega fácilmente a la siguiente fórmula:
Para asegurarse de que el segundo módulo de aplicación 111 obtenga los datos correctos a tiempo desde el primer módulo de aplicación 100 en cada reloj, el mecanismo de sincronización es el siguiente:
El primer módulo de aplicación 100 prepara Datos(N) para el tiempo 2* Max (TRetardo) cada reloj. Los Datos(N) se rompen en piezas pequeñas, el tiempo de cada pieza es Tapp2, Sea M no de las piezas, entonces M = Techo (2* Max (TRetardo)/Tapp2). Si la última pieza es menor que Tapp2, solicitar más datos al primer módulo de aplicación 100 para que sea igual a Tapp2. Marcar cada pieza con el cómputo de reloj único (N, N 1, N 2, ..., N M) respectivamente como Trama(N). El primer módulo de comunicación 101 envía la Trama(N) al segundo módulo de comunicación 110 cada reloj. El segundo módulo de comunicación 110 pone la Trama(N) en la memoria, marca como Memoria intermedia (N M), cada elemento en la memoria intermedia son piezas de datos. El segundo módulo de aplicación 111 consume una pieza de datos en la Memoria intermedia (N M), según un cómputo de reloj único, lo que significa que consume Pieza (N) en el reloj N, Pieza (n 1) en el reloj N 1. De esta manera, la Aplicación 2 siempre obtendrá los datos correctos a tiempo.
Aunque la presente invención se ha descrito sobre la base de algunas realizaciones preferidas, los expertos en la técnica deben apreciar que esas realizaciones no deben limitar de ningún modo el alcance de la presente invención. Sin apartarse del concepto de la presente invención, cualesquiera variaciones y modificaciones de las realizaciones deben estar dentro de la comprensión de aquellos con conocimientos y habilidades ordinarias en la técnica y, por lo tanto, caer dentro del alcance de la presente invención, que se define por las reivindicaciones adjuntas.

Claims (8)

REIVINDICACIONES
1. Un sistema de control de movimiento para un robot y que utiliza comunicación asíncrona, que incluye:
un primer controlador (10), que está adaptado para preparar un múltiplo de datos secuencialmente en una serie de primeros relojes y seguir transmitiendo los datos en una serie de segundos relojes hasta que recibe una confirmación;
un segundo controlador (11), que está adaptado para recibir los datos y acusar la recepción correcta de los datos devolviendo la confirmación;
en donde:
un intervalo en la serie de primeros relojes es mayor que un intervalo en la serie de segundos relojes;
el primer controlador (10) comprende un primer módulo de aplicación (100) y un primer módulo de comunicación (101);
el segundo controlador (11) comprende un segundo módulo de comunicación (110) y un segundo módulo de aplicación (111);
en donde:
el primer módulo de aplicación (100) está adaptado para la preparación de datos y el envío de datos al primer módulo de comunicación (101) en respuesta a la preparación de datos;
el primer módulo de comunicación (101) está adaptado para recibir los datos y la transmisión de los datos en la serie de segundos relojes;
el segundo módulo de comunicación (110) está adaptado para la recepción de los datos y para el acuse de la recepción correcta de los datos y
está además adaptado para almacenar los datos en una cola de unidades de memoria;
el segundo módulo de aplicación (111) está adaptado para acceder a los datos almacenados en la cola de las unidades de memoria, consumiendo los datos en un intervalo mayor que el de la serie de los primeros relojes, donde el segundo módulo de aplicación (111) está adaptado además para consumir los datos almacenados en la cola de las unidades de memoria en la misma secuencia en que se almacenan los datos;
la operación de transmisión del primer módulo de aplicación (100) y la operación de consumo del segundo módulo de aplicación (111) son independientes; y los datos tienen al menos la información sobre la tarea y su tiempo de ejecución.
2. El sistema de control de movimiento según la reivindicación 1, que además incluye:
un bus de campo (12), que está configurado para conectar el primer controlador (10) y el segundo controlador (11);
en donde:
el primer controlador (10) es un maestro y el segundo controlador (11) es un esclavo o
el segundo controlador (11) es un maestro y el primer controlador (10) es un esclavo.
3. El sistema de control de movimiento según la reivindicación 1, en donde:
el primer controlador (10) está además adaptado para transmitir los datos siguientes en respuesta a que recibe la confirmación del segundo controlador (11) para la recepción correcta de los datos actuales.
4. El sistema de control de movimiento según la reivindicación 1, en donde:
el primer controlador (10) es un controlador principal, que además está adaptado para preparar los datos que representan información de movimiento del robot y el tiempo de ejecución; y
el segundo controlador (11) es un controlador de movimiento del eje, que además está adaptado para proporcionar datos de control para accionar un dispositivo mecánico en base a la información de movimiento del robot y al tiempo de ejecución extraídos de los datos recibidos del controlador principal (10).
5. El sistema de control de movimiento según la reivindicación 1, en donde:
el primer controlador (10) es un controlador principal, que además está adaptado para preparar los datos que representan la tarea de control de alto nivel y su tiempo de ejecución en base a una interacción con usuarios y otros sistemas; y
el segundo controlador (11) es un controlador de movimiento del eje, que además está adaptado para controlar motores eléctricos para conseguir el movimiento solicitado en el tiempo de ejecución en base a la tarea de control de alto nivel y su tiempo de ejecución extraído de los datos recibidos.
6. Un método de comunicación asíncrona para un robot, que incluye las etapas de:
(a) preparar un múltiplo de datos secuencialmente en una serie de primeros relojes y en respuesta a la preparación de datos seguir transmitiendo los datos en una serie de segundos relojes hasta que se reciba una confirmación; y
(b) recibir los datos y acusar la recepción correcta de los datos devolviendo la confirmación;
en donde;
un intervalo en la serie de primeros relojes es mayor que un intervalo en la serie de segundos relojes;
la etapa (b) incluye:
almacenar los datos recibidos correctamente en una cola de unidades de memoria;
y el método incluye, además:
(c) acceder a los datos almacenados en la cola de las unidades de memoria, consumir los datos en un intervalo mayor que el de la serie del primer reloj, en donde el consumo de los datos almacenados en la cola de las unidades de memoria es en la misma secuencia a medida que se almacenan los datos;
en donde la operación de transmisión y la operación de consumo son independientes; y donde los datos tienen al menos la información sobre la tarea y su tiempo de ejecución.
7. El método de comunicación asíncrona según la reivindicación 6, en donde:
los datos representan información de movimiento del robot y el tiempo de ejecución;
además, incluye la etapa (d):
proporcionar datos de control para accionar un dispositivo mecánico en función de la información de movimiento del robot y del tiempo de ejecución extraídos de los datos recibidos.
8. El método de comunicación asíncrona según la reivindicación 6, en donde:
los datos representan una tarea de control de alto nivel y su tiempo de ejecución en base a una interacción con los usuarios y otros sistemas;
además, incluye la etapa (d):
controlar motores eléctricos para conseguir el movimiento solicitado en el tiempo de ejecución en base a la tarea de control de alto nivel y su tiempo de ejecución extraído de los datos recibidos.
ES12889588T 2012-12-06 2012-12-06 Sistema de control de movimiento que utiliza comunicación asíncrona, y controlador y método del mismo Active ES2862599T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086027 WO2014086017A1 (en) 2012-12-06 2012-12-06 Motion control system using asynchronous communication and controller and method thereof

Publications (1)

Publication Number Publication Date
ES2862599T3 true ES2862599T3 (es) 2021-10-07

Family

ID=50882776

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12889588T Active ES2862599T3 (es) 2012-12-06 2012-12-06 Sistema de control de movimiento que utiliza comunicación asíncrona, y controlador y método del mismo

Country Status (4)

Country Link
EP (1) EP2929646B1 (es)
CN (1) CN104871474B (es)
ES (1) ES2862599T3 (es)
WO (1) WO2014086017A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016224037A1 (de) * 2016-12-02 2018-06-07 Weeke Bohrsysteme Gmbh Bearbeitungsvorrichtung zur Durchlaufbearbeitung, Steuereinrichtung und Verfahren
CN115987711A (zh) * 2022-12-02 2023-04-18 苏州艾利特机器人有限公司 机器人总线控制系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247082B1 (en) 1998-11-03 2001-06-12 3Com Corporation Method and circuit for providing handshaking to transact information across multiple clock domains
US7571338B2 (en) * 2004-05-24 2009-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Determining a time difference between first and second clock domains
CN100591001C (zh) * 2006-11-30 2010-02-17 中芯国际集成电路制造(上海)有限公司 具有缓冲器控制的数据传输的系统和方法

Also Published As

Publication number Publication date
EP2929646A1 (en) 2015-10-14
CN104871474B (zh) 2018-08-07
EP2929646A4 (en) 2016-07-13
EP2929646B1 (en) 2021-02-24
CN104871474A (zh) 2015-08-26
WO2014086017A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
EP2816428B1 (en) Control device, and control method
JP7423249B2 (ja) 制御装置及び分散制御システム
US10277417B2 (en) Control system, control apparatus and control method with input-only communication frame
CN109634909B (zh) 具有片上互连的混合可编程众核设备
US20130179622A1 (en) System and method for transmitting and receiving data using an industrial expansion bus
CN102914992B (zh) 同步控制装置
US10474598B2 (en) Microcomputer
EP2494742B1 (en) Network control architecture and protocol for a distributed control, data acquisition and data distribution system and process
ES2567268T3 (es) Sistema de comunicación y procedimiento para la transmisión de datos isócrona en tiempo real
CN104009976B (zh) 一种用于多主站系统之间的实时通信方法及其设备
CN105511387A (zh) 一种plc io扩展模块及其扩展方法
US9342096B2 (en) Modular structure for processing data
CN104767598A (zh) 一种用于储能电站现场设备之间的数据传输系统及其方法
CN111052012A (zh) 控制装置以及控制系统
ES2862599T3 (es) Sistema de control de movimiento que utiliza comunicación asíncrona, y controlador y método del mismo
JP5402401B2 (ja) モーションコントロールシステム
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
CN102097973B (zh) 一种基于嵌入式芯片的超声电机驱动控制器
CN103683502A (zh) 一种智能变电站过程层装置开关回路驱动控制方法及装置
CN103238123B (zh) 定位装置以及使用该定位装置的plc系统
ES2265055T3 (es) Proceso para el funcionamiento de un usuario final de un sistema de comunicacion isocrono y ciclico.
ES2835338T3 (es) Dispositivo de automatización y procedimiento para reducir la fluctuación
Carvajal et al. Atacama: An open FPGA-based platform for mixed-criticality communication in multi-segmented Ethernet networks
CN104760049B (zh) 基于rs485总线的嵌入式轻型机械臂控制系统
CN103778021A (zh) 用于控制器的计算单元及其操作方法