Método de control de programa y dispositivo de control de programa
Descripción general
 Un método de control de programa y un dispositivo de control de programa que puede controlar de forma estable el funcionamiento de un dispositivo periférico cuando se realiza una operación de multibrazo de un robot y otros dispositivos periféricos de acuerdo con un programa. ] Divida el control del robot en el procesamiento esencial y el procesamiento ordinario, e indique el control del periférico procesando el número de instrucciones ejecutadas n (n es un número entero). Una vez que haya entrado en el comando de interrupción para ser ordenado en cada tiempo predeterminado, el procesamiento requerido en marcha, el proceso esencial de ejecución posterior a la finalización, ejecuta el procesamiento del número de instrucciones de ejecución n, el proceso de la instrucción de ejecución número n , El procesamiento normal se ejecuta durante el período anterior a la entrada de la siguiente instrucción de interrupción. Luego, la ejecución de estas series de procesos se repite hasta que el programa finaliza.
Campo técnico
La presente invención se refiere a un método de control de programa y a un aparato de control de programa para controlar las operaciones de un robot y otros dispositivos periféricos de manera multitarea según un programa.
Antecedentes de la técnica
Como un llamado dispositivo de control de programa multitarea que realiza el control de las operaciones de un robot y otros dispositivos periféricos por una CPU, hay un controlador de robot y un controlador programable conectado a una computadora, por ejemplo. El controlador de robot es un dispositivo que ejecuta un proceso para controlar el robot de acuerdo con un comando de interrupción instruido a intervalos de tiempo predeterminados, por ejemplo, a intervalos de aproximadamente 10 milisegundos. El controlador programable es un dispositivo que analiza y ejecuta un programa secuencial de E / S para controlar dispositivos periféricos. Después de completar la ejecución de la última instrucción del programa secuencial de E / S, es necesario tener una función para repetir la ejecución desde la primera instrucción de inmediato, y debe asegurarse una cierta velocidad de ejecución. En la práctica, es necesario tener una función para ejecutar (1 escaneo) desde la primera instrucción hasta la última instrucción del programa secuencial de E / S dentro de 0.1 segundos o menos.
Tarea de solución
Sin embargo, en el dispositivo de control de programa convencional descrito anteriormente, como se muestra en (a) de la Fig. 4, el procesamiento para el control de los dispositivos periféricos desde el tiempo t1 del generador de comandos de interrupción, la ejecución del procesamiento para controlar el robot Se ejecuta después del punto de tiempo t 5, hasta que ha transcurrido un período de tiempo predeterminado, es decir, hasta un punto de tiempo t 2 en el que se emite el siguiente comando de interrupción. Por lo tanto, la cantidad de tiempo requerido para realizar un procesamiento para controlar el robot, por ejemplo, t5 de tiempo desde un punto de tiempo t1, punto t6 de tiempo desde el tiempo t2, algunos t7 de tiempo desde el tiempo t3, el tiempo de ejecución de un proceso para periféricos que controlan, por ejemplo, punto tiempo t 2 a tiempo t 2, tiempo t 6 a tiempo t 3, tiempo t 7 a tiempo t 4, y dispositivos periféricos estables no pueden ser controlados.
Para llevar a cabo el control de estables periféricos, si es concebible utilizar un tiempo real del sistema operativo, etc., el tiempo mínimo de la orden de interrupción que caso esencialmente sistema operativo en tiempo real es de 10 milisegundos, Existe la desventaja de que el procesamiento para controlar dispositivos periféricos se puede distribuir solo en unidades de 10 milisegundos. Además, aunque es posible reducir aún más el tiempo mínimo del comando de interrupción, existe el problema de que la sobrecarga del sistema de operación en tiempo real (tiempo de conmutación de tareas innecesarias) se vuelve grande si es demasiado pequeño.
La presente invención se ha realizado para resolver los problemas anteriores, de acuerdo con un programa, en el control de la operación del robot y otros periféricos multitarea, es posible controlar de forma estable la operación de los dispositivos periféricos Un método de control de programa y un aparato de control de programa.
Solución
se consigue el objeto anterior, en la invención de la reivindicación 1, de acuerdo con un programa, el método de control de programa para controlar el funcionamiento del robot y otros periféricos multitarea, divide el control del robot para el procesamiento requerido y el procesamiento normal Instruir el control del dispositivo periférico mediante el procesamiento del número de instrucción de ejecución n (n es un número entero), y ejecutar el procesamiento esencial en el momento de ingresar un comando de interrupción instruido a intervalos de tiempo predeterminados, después de la terminación de la ejecución del proceso, y ejecuta el procesamiento del número de instrucciones de ejecución n, después de la ejecución del procesamiento del número de instrucción de ejecución n, hasta que la entrada de la siguiente dicho comando de interrupción, y ejecuta el procesamiento normal, Y ejecutar una serie de estos procesos repetidamente hasta que el programa finalice.
se consigue el objeto anterior, en la invención de la reivindicación 2, de acuerdo con un programa, la unidad de control de programa para controlar el funcionamiento del robot y otros periféricos multitarea, una unidad de comando de arranque que da salida a una instrucción de inicio del control, el periodo de tiempo predeterminado Una unidad de comando de interrupción para enviar un comando de interrupción a la unidad de comando de inicio cada vez que se ingresa el primer comando de arranque emitido ingresando el comando de interrupción, ejecuta un proceso esencial para controlar el robot una primera unidad de ejecución, en el que cuando se introduce un segundo comando de arranque, que es la salida después del final ejecutar proceso obligatorio, ejecuta el procesamiento de la instrucción número n para controlar los dispositivos periféricos (n es un número entero) Una segunda unidad de ejecución que recibe un tercer comando de activación emitido después de la ejecución del procesamiento del número de instrucción de ejecución n, y luego controla el robot hasta que finaliza el tiempo predeterminado Se consigue proporcionando una tercera unidad de ejecución para ejecutar el procesado normal para.
En la presente invención, el procesamiento para controlar el robot se divide en procesamiento esencial y procesamiento ordinario, y el procesamiento para controlar el dispositivo periférico se divide en un número de procesamiento de instrucción n ( Un número entero), ejecuta el procesamiento y la ejecución esenciales del procesamiento del número de instrucciones ejecutadas dentro del tiempo en que se emite el comando de interrupción, priorizando la ejecución del procesamiento normal en el tiempo restante. , Es posible controlar de forma estable el funcionamiento del dispositivo periférico.
Se describirá en detalle con referencia a realizaciones preferidas de la invención con referencia a los dibujos adjuntos. Dado que las siguientes realizaciones son ejemplos específicos preferibles de la presente invención, se dan diversas limitaciones técnicamente preferibles, pero el alcance de la presente invención está limitado particularmente a la presente invención en la siguiente descripción A menos que se indique el efecto, no se limita a estos aspectos.
La figura 1 es un diagrama que muestra un ejemplo esquemático de un dispositivo de control de programa de la presente invención. Este dispositivo de control de programa se compone de una computadora 10, un colgante de enseñanza 20 y un dispositivo de control 30 conectado a la misma. La unidad de control 30, un controlador de robot 31 para controlar el funcionamiento del cuerpo de robot 40, los interruptores de límite, un cilindro de aire, la válvula de solenoide, y un controlador programable 32 que controla el funcionamiento de los dispositivos periféricos 50 tal como un transportador, un controlador de robot 31 y un controlador programable Y un controlador de sistema 33 que controla totalmente la CPU 32.
La figura 2 es un diagrama de bloques que muestra un ejemplo de configuración del dispositivo de control mostrado en la figura 1. El controlador de robot 31 divide el procesamiento para controlar el funcionamiento del cuerpo principal del robot 40 en el procesamiento esencial y el procesamiento ordinario y ejecuta cada procesamiento. El proceso esencial es una serie prescrita de procesos que deben finalizar para cada comando de interrupción, y en este ejemplo, esto es realizado por la unidad de servo 311 que gobierna el servo del cuerpo de robot 40. Dependiendo de la actitud y el estado del cuerpo del robot 40, este proceso esencial tiene variaciones en el tiempo de procesamiento de, por ejemplo, aproximadamente 1 milisegundo a aproximadamente 5 milisegundos. el procesamiento normal es procesado quiere correr lo más lejos posible en el tiempo que el excedente para cada comando de interrupción, en este ejemplo se realiza en la primera sección de análisis de programa 312 para el análisis de la descripción del comportamiento del cuerpo del robot 40.
Controlador programable 32, un proceso para controlar el funcionamiento del dispositivo periférico 50, se ejecuta la instrucción número n del procesamiento de instrucciones como una unidad de tiempo de ejecución sustancialmente constante (n es un entero) y procesamiento, para llevar a cabo este proceso . La ejecución de la instrucción número n, y el segundo análisis de programa de la sección 321 para analizar el programa secuencial de E / S del dispositivo periférico 50 en este ejemplo, la instrucción de la sección de análisis de segundo programa 321, el n-número de periféricos 50 Y una unidad de ramificación de instrucción 322 que se ramifica respectivamente a la unidad de ejecución de instrucción 323 que ejecuta respectivamente las operaciones. Este proceso básicamente solo lee y escribe E / S, y dado que es una configuración simple, el tiempo de procesamiento es casi constante y es posible un procesamiento de alta velocidad.
El controlador del sistema 33 está diseñado para iniciarse cuando se conecta la fuente de alimentación. La unidad de servo 311 una orden de inicio en este ejemplo, la salida de una unidad de instrucción de activación 331 para ser enviada a la sección primera programa de análisis 312 y la unidad de análisis segundo programa 321, un comando de interrupción de un tiempo predeterminado, la unidad de instrucción de inicio de 331, por ejemplo, cada 10 milisegundos Y una memoria 333 para almacenar el número n de comandos de ejecución introducidos desde la computadora 10 o la instrucción colgante 20.
La figura 3 es un diagrama de flujo que muestra un ejemplo del método de control de programa de la presente invención. Por la unidad de instrucción de inicio 331, iniciar la instrucción desde el ordenador 10 o enseñanza colgante 20 confirma o no la entrada (STP1), si la orden de marcha es de entrada, de la memoria 333 en la operación del programa descripción del cuerpo del robot 40 leer el segundo programa es un programa de O I / secuencial del primer programa y los dispositivos periféricos 50, y las transferencias de cada una en la sección de análisis de primer programa 312 y la segunda sección de análisis de programa 321 (STP2).
Luego, por la unidad de instrucción de inicio 331, un comando de interrupción de la interrupción del temporizador 332 para comprobar si es o no la entrada (STP3), si es un comando de interrupción de entrada, verificaciones de control si el completado ( STP 4). Si no se han completado todos los controles, se emite un primer comando de inicio para activar la unidad de servo 311 que tiene la prioridad más alta a la unidad de servo 311 (STP 5). En la sección servo 311 entradas el resultado del análisis del programa descripción de la operación de la sección de análisis de primer programa 312 controles 5 ms, por ejemplo, de la respuesta de 1 milisegundo a la operación del cuerpo de robot 40 a su posición o estado (STP6) . Entonces, para confirmar si el control de la operación del cuerpo de robot 40 se completa (STP7), y repite el procesamiento descrito anteriormente vuelve a STP6 si no se completa el control de la operación del cuerpo del robot 40.
Por otra parte, cuando se completa el control del funcionamiento del cuerpo 40 principal del robot, se emite una señal final a la sección 331 de comando de activación. Por la unidad de instrucción de inicio de 331, cuando se recibe una señal de terminación de la unidad servo 311, y emite el segundo comando de arranque para iniciar el análisis de la sección segunda del programa 321 como la siguiente prioridad a la segunda sección de análisis de programa 321 (STP8). La segunda unidad de análisis de programa 321 analiza el programa secuencial de E / S del número de instrucciones ejecutadas n y envía el resultado del análisis a la unidad de bifurcación de instrucciones 322. En instrucciones de la unidad 322 de ramificación, y emite el número n entrado de resultados de análisis a cada unidad de ejecución de instrucciones 323, en cada unidad de ejecución de instrucciones 323, controla el funcionamiento del dispositivo periférico 40 de acuerdo con el resultado del análisis de la entrada (STP9). Entonces, para confirmar si se ha completado el control de la operación del dispositivo periférico 40 (STP10), se repite el control de procesamiento de la operación de los dispositivos periféricos 40 como se describe anteriormente vuelve a STP9 si no se completa.
Por otra parte, cuando finaliza el control del funcionamiento del dispositivo periférico 40, se emite una señal final a la unidad de comando de activación 331. Por la unidad de instrucción de inicio de 331, cuando se recibe una señal de terminación de la sección de análisis segundo programa 321, y se da salida a una tercera orden de arranque para iniciar el análisis de la sección primera del programa 321 a la primera sección de análisis de programa 312 (STP11). La primera unidad de análisis de programa 312 analiza el programa de descripción de comportamiento del cuerpo de robot 40 (STP 12). Entonces, por la unidad de instrucción de inicio 331, la unidad de interrupción del temporizador 332 comprueba si o no se ha introducido el siguiente comando de interrupción (STP13), la siguiente instrucción de interrupción proceso se describe anteriormente vuelve a STP12 Si no entrada Repita Por otro lado, si el siguiente comando de interrupción es de entrada, en la unidad de análisis primer programa 312, suspende el análisis de la descripción del comportamiento del cuerpo de robot 40 (STP 14), y repite el procesamiento descrito anteriormente vuelve a STP4. Luego, cuando se completen todos los controles, todos los procesos finalizarán.
La figura 4 es un gráfico de tiempo que muestra un ejemplo del progreso del proceso anterior. En la Fig. (B), un comando de interrupción en el tiempo t1 se emite, el procesamiento necesario para controlar el funcionamiento del robot 40 entre el instante t5 de un tiempo t1 se ejecuta. Posteriormente, el procesamiento del número de instrucciones de ejecución n para controlar el funcionamiento del dispositivo periférico 40 se ejecuta entre el punto de tiempo t 5 y el punto de tiempo t 8. Posteriormente, se ejecuta un proceso normal para controlar el funcionamiento del robot 40 entre el tiempo t8 y el tiempo t2 en el que se emite el siguiente comando de interrupción. Cuando el comando de interrupción se emite en el tiempo t2, se ejecuta un proceso esencial para controlar el funcionamiento del robot 40 entre el punto de tiempo t2 y el punto de tiempo t6. De aquí en adelante, se repite el proceso descrito anteriormente. Así, la cantidad de procesamiento para controlar el funcionamiento del dispositivo periférico, por una variable en el número de instrucción de ejecución de unidades dentro de un rango que no lo hace imposible controlar el robot, la configuración de distribución de energía de la CPU sutil y el control del robot Se vuelve posible.
También es posible ejecutar múltiples programas secuenciales de E / S. Por ejemplo, en la Fig. (C), un comando de interrupción en el tiempo t1 se emite, el procesamiento necesario para controlar el funcionamiento del robot 40 entre el instante t5 de un tiempo t1 se ejecuta. Posteriormente, el procesamiento del número n de órdenes de ejecución para controlar el funcionamiento del dispositivo periférico 40 se ejecuta entre el punto de tiempo t 5 y el punto de tiempo t 11. Posteriormente, el procesamiento de otro número de instrucciones de ejecución n para controlar el funcionamiento del dispositivo periférico 40 se ejecuta entre el punto de tiempo t 11 y el punto de tiempo t 12. Posteriormente, se ejecuta un proceso normal para controlar el funcionamiento del robot 40 entre el tiempo t12 y el tiempo t2 en el que se emite el siguiente comando de interrupción. Cuando el comando de interrupción se emite en el punto de tiempo t2, se ejecuta un proceso esencial para controlar el funcionamiento del robot 40 entre el punto de tiempo t2 y el punto de tiempo t6. De aquí en adelante, se repite el proceso descrito anteriormente.
Efecto de la invención
Como se describió anteriormente, de acuerdo con la presente invención, la realización del control de dispositivos periféricos no depende del estado de control del robot. Además, el rendimiento del control del funcionamiento del robot no está influenciado por el tamaño (el número de instrucciones) del programa que controla el funcionamiento del dispositivo periférico. Además, incluso si el rendimiento de la CPU cambia, el mismo rendimiento se puede mantener si la cantidad de instrucciones especificadas es la misma. .
BREVE DESCRIPCIÓN DE LOS DIBUJOS La figura 1 es un diagrama que muestra un ejemplo esquemático de un dispositivo de control de programa de la presente invención.
La figura 2 es un diagrama de bloques que muestra un ejemplo de configuración del dispositivo de control mostrado en la figura 1.
La figura 3 es un diagrama de flujo que muestra un ejemplo de un método de control de programa según la presente invención.
La figura 4 es un diagrama de tiempo que muestra un ejemplo de progreso de procesamiento del método de control de programa de la presente invención.
10 computadoras
20 Colgante didáctico
30 Dispositivo de control
31 Controlador de robot
32 controlador programable
33 Controlador del sistema
40 Cuerpo de robot
50 Equipo periférico
311 sección Servo
312 Primera unidad de análisis de programa
321 segunda unidad de análisis de programa
322 rama de instrucción parte
323 unidad de ejecución de instrucciones
331 start command unit
332 Sección de interrupción del temporizador
333 Memoria
Reclamo
Según programa de la reivindicación 1, el método de control de programa para controlar el funcionamiento del robot y otros periféricos multitarea, comandado por dividir el control del robot para el procesamiento requerido y el procesamiento normal, ejecuta el control del dispositivo periférico Y ejecuta el procesamiento esencial en el momento en que se ingresa un comando de interrupción instruido a intervalos de tiempo predeterminados, y luego de que se completa la ejecución del procesamiento esencial, el número de instrucciones ejecutadas n, ejecuta el procesamiento normal durante el período desde la ejecución del procesamiento del número de instrucciones ejecutadas n hasta la entrada de la siguiente instrucción de interrupción, y ejecuta la serie de procesamiento ejecutando el programa Hasta que finalice la ejecución del programa.
Según programa de la reivindicación 2, da salida a una operación del robot y otros periféricos en el aparato de control de programa para controlar una multitarea, una unidad de comando de arranque que da salida a una instrucción de inicio del control, interrumpir comando en cada tiempo predeterminado la unidad de comando de arranque Una primera unidad de ejecución para ejecutar un proceso esencial para controlar el robot en el momento de ingresar un primer comando de activación emitido al ingresar el comando de interrupción; Una segunda unidad de ejecución que ejecuta el procesamiento del número de instrucciones de ejecución n (n es un número entero) para controlar el dispositivo periférico en el momento de ingresar el segundo comando de activación emitido después de la ejecución de la instrucción de ejecución Un paso de ejecutar un proceso normal para controlar el robot hasta que transcurra un tiempo predeterminado después de ingresar un tercer comando de activación emitido después de la finalización de la ejecución del procesamiento del número n aparato de control de programa caracterizado porque comprende la unidad de ejecución.
Dibujo :
Application number :1996-320712
Inventors :ソニー株式会社
Original Assignee :長田康行、長谷川亮