ES2218721T3 - Dispositivo para la programacion de un mando programable por memoria (sps). - Google Patents

Dispositivo para la programacion de un mando programable por memoria (sps).

Info

Publication number
ES2218721T3
ES2218721T3 ES98102308T ES98102308T ES2218721T3 ES 2218721 T3 ES2218721 T3 ES 2218721T3 ES 98102308 T ES98102308 T ES 98102308T ES 98102308 T ES98102308 T ES 98102308T ES 2218721 T3 ES2218721 T3 ES 2218721T3
Authority
ES
Spain
Prior art keywords
program
sps
memory
language
application
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.)
Expired - Lifetime
Application number
ES98102308T
Other languages
English (en)
Inventor
Stefan Reis
Gerhard Wolff
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Application granted granted Critical
Publication of ES2218721T3 publication Critical patent/ES2218721T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC

Abstract

SE PROPONE UN DISPOSITIVO DE PROGRAMACION DE UN CONTROLADOR LOGICO PROGRAMABLE (SPS) CON UN SISTEMA OPERATIVO DEL AUTOMATA (14), PARA LA EJECUCION DE UNA APLICACION (51 HASTA 56), UNA MEMORIA (50) PARA SU ALMACENAMIENTO, UN DISPOSITIVO DE ENTRADA (12) PARA LA ENTRADA DE INSTRUCCIONES DE PROGRAMACION DEL AUTOMATA EN UN LENGUAJE DE PROGRAMACION ASOCIADO A LA APLICACION DEL AUTOMATA, UN DISPOSITIVO DE COMPILACION (13) PARA LA TRANSFORMACION DE LAS INSTRUCCIONES DEL PROGRAMA EN UNAS INSTRUCCIONES DE LA APLICACION DIRECTAMENTE EJECUTABLES POR EL SISTEMA OPERATIVO DEL AUTOMATA (14), QUE FORMAN LA APLICACION (51 HASTA 56), ASI COMO UN DISPOSITIVO DE GENERACION DEL PROGRAMA PARA EL PROCESAMIENTO DE LAS INSTRUCCIONES DE PROGRAMACION INDICADAS EN UN LENGUAJE DE ALTO NIVEL. EL DISPOSITIVO DE GENERACION DE PROGRAMAS COMPRENDE UNA MEMORIA (15, 16, 40) PARA ALMACENAR SECUENCIAS DE PROGRAMA, INSERTADAS EN EL LENGUAJE DE ALTO NIVEL, ASOCIADAS A INSTRUCCIONES DE PROGRAMA ESPECIALES Y QUE REALIZAN UNA ORDENESPECIFICA DEL AUTOMATA, INCLUIDA EN LAS INSTRUCCIONES DEL PROGRAMA ESPECIAL, ASI COMO UNA SECCION DE PROGRAMACION (17) AUTOMATICA, QUE INTERPRETA LAS INSTRUCCIONES DEL PROGRAMA (33, 35), INSERTADAS EN EL LENGUAJE DE ALTO NIVEL Y LAS TRANSFORMA, UTILIZANDO LAS SECUENCIAS DE PROGRAMA MEMORIZADAS EN LA MEMORIA (15, 16, 40), EN INSTRUCCIONES DE LA APLICACION EJECUTABLES DIRECTAMENTE POR EL SISTEMA OPERATIVO DEL AUTOMATA (14).

Description

Dispositivo para la programación de un mando programable por memoria (SPS).
Estado actual de la técnica
La invención parte de un dispositivo según el tipo de la reivindicación principal. Mandos programables, por ejemplo, un SPS [Speicherprogrammierte Steuerung = Mando programado por memoria], se programan con ayuda de dispositivos de programación o aparatos de programación, como los que se describen, por ejemplo, en la serie, Biblioteca de la técnica, nº 4, "Mandos programables por memoria, 1987". La entrada de las instrucciones de programa, se lleva a cabo en una notación orientada especialmente para la aplicación en un SPS. Formas corrientes de notación son, como puede verse en la página 26 y siguientes, la lista de instrucciones, el esquema de contactos, el plan lógico, el esquema funcional o el lenguaje de ejecución. Todos los lenguajes orientados a la aplicación de SPS, tienen en común que las instrucciones individuales de programa se introducen sucesivamente tal como a continuación las procesa la CPU [Unidad central de procesamiento]. Para la transferencia a un programa ejecutable directamente por la CPU, un programa introducido en un lenguaje de programa orientado a la aplicación de SPS, tiene que transformarse, por tanto, únicamente mediante traducción por bloques, de lenguaje de máquina a un programa de aplicación. La programación se lleva a cabo en bloques de programa, que contienen cada uno, una o varias instrucciones de programa, homogéneas tecnológica o funcionalmente. Un programa completo de SPS se compone por lo regular de varios bloques de programa, pudiendo estar introducidos los bloques individuales en diferentes lenguajes orientados a la aplicación de SPS. Normalmente puede representarse el desarrollo de un programa de SPS en una pantalla, y en su caso modificarse, acaso suprimiendo bloques de programa o insertando nuevos.
En el documento DE 34 10 430 A1, se hace pública la introducción mixta de código G y de código BASIC. Se presupone que los dos lenguajes de programación se introducen mezclados, sin embargo, separados mediante banderas predefinidas. Esto exige un dispositivo adicional que primeramente descompone el código mixto antes de la traducción, que traduce por separado, y después lo recompone de nuevo secuencialmente. Durante la puesta en servicio y ensayo del programa, le faltan al usuario posibilidades para influir y controlar el desarrollo del programa. Además, esta forma de entrada es poco clara y, por tanto, susceptible de erro-
res.
El documento US-A-4 302 820 muestra un controlador que, junto al código corriente de máquina, puede procesar aún rutinas autodefinidas. No obstante, aquí no se muestra la programación mediante un lenguaje avanzado, puesto que las rutinas autodefinidas únicamente reúnen las órdenes ya existentes de máquina.
En el documento US-A-5 295 059 se describe la programación de un procesador mediante macros. Sin embargo, el concepto de macro denota únicamente la reunión de series de órdenes que se necesitan frecuentemente y se utilizan repetidamente. Las macros son auxiliares de programa de uso corriente, en especial en la programación directa de máquina. Del documento no se extraen indicaciones ningunas de cómo el procesador puede programarse con ayuda de un lenguaje avanzado, en unión con un lenguaje directo de máquina.
El documento DE 35 30 237 A1 muestra un dispositivo numérico de mando, y se ocupa de la visualización de datos específicos de mando.
El documento EP 553 621 A1 describe la elaboración de un código NC [de control numérico] mediante un compilador en el que está integrado mediante un carácter de identificación de código SPS (PLC) [ordenador lógico programable]. El código mixto (NC, PLC) está depositado secuencialmente en la memoria. El compilador busca este carácter de identificación en la memoria, y se activa en función del carácter de identificación. Aquí falta en general la indicación sobre utilización de un lenguaje avanzado. Se habla exclusivamente de programas parciales NC o SPS (PLC), que mediante un compilador se transfieren a código ejecutable de máquina. No obstante, del documento no puede sacarse cómo puede mejorarse la programación SPS con ayuda de un lenguaje avanzado.
El documento de exposición de un invento EP 726 509, se ocupa de la entrada de datos de mando de distintas maneras: gráficamente o directamente en código G. El inconveniente de esto es que en la programación, el usuario se mueve en el plano directo de máquina, y no tiene posibilidad ninguna de ensayar eficazmente su código elaborado.
Por el documento EP-B 254 352 se conoce la propuesta de efectuar la programación de una máquina mandada numéricamente, en un lenguaje avanzado no diseñado para esta aplicación. El programa introducido por un operador, se interpreta en este caso en un segmento automático del programa (compilador), se comprueba en cuanto a errores, y en su caso, se transfiere a un programa ejecutable. En este procedimiento, la elaboración de un programa apto para correr, puede ser evidentemente difícil y prolija, en función de la tarea y de la habilidad de programación del operador. Frecuentemente la estructura de la máquina a programar, conduce además a posiciones problemáticas específicas de la máquina, que sólo pueden resolverse poco satisfactoriamente con el lenguaje avanzado utilizado.
Es misión de la invención indicar un dispositivo de programación para un mando programable, que en caso necesario permita sin más a un operador formar un programa a partir de bloques de programa, pudiendo introducirse bloques de programa cerrados en sí mismos, en un lenguaje avanzado, o en lenguaje orientado a la aplicación.
Además, es misión de la invención, poner en la mano del operador, durante la puesta en servicio de bloques de programa, una herramienta con la que pueda influir en el desarrollo del programa, atendiendo a todos los aspectos de la seguridad.
Estas misiones se resuelven según la invención, haciendo que
-
el mando programable sea un SPS con sistema (14) operativo SPS, y procese un programa (51 a 56) de aplicación SPS,
-
memorias (15, 16, 40) para depositar secuencias de programa estén coordinadas en las instrucciones especiales de programa de inserción en lenguaje avanzado, y realicen una orden específica SPS contenida en cada instrucción especial de programa,
-
un segmento (17) automático de programación, que transforme instrucciones (33, 35) de programa introducidas en lenguaje avanzado, y utilizando las secuencias de programa almacenadas en las memorias (15, 16, 40), las transfiera a instrucciones (51 a 56) de programa de aplicación, ejecutables directamente por el sistema (14) operativo SPS,
-
un dispositivo (18) de preparación de indicaciones que visualice la elaboración de instrucciones (53, 55) de programa de aplicación, mediante un dispositivo (20) de salida, y permita al operador, intervenir en el desarrollo del programa.
La invención tiene la ventaja de que la elaboración de los bloques de programa introducidos en lenguaje avanzado, se lleva a cabo separadamente de los bloques de programa específicos del mando. La memoria (15) extrae la asignación y llamada de órdenes específicas del SPS, del lenguaje avanzado, sin que este código tenga que insertarse en el lenguaje avanzado. Esto permite una programación que, por ejemplo, sólo sería posible mediante una codificación AWL [línea de inscripción de direcciones]. Las memorias (16, 40) garantizan funcionalidades que no se necesitarán hasta la ejecución del programa.
El dispositivo según la invención permite una elaboración del programa bajo cualquier yuxtaposición de bloques de programa, programados en lenguaje orientado al SPS y en lenguaje avanzado. Aquí el operador no tiene que abandonar el entorno conocido de programación del SPS.
Para la transferencia de bloques de programa introducidos en lenguaje avanzado, en programas de aplicación, ejecutables directamente por el sistema operativo del SPS, pueden emplearse en forma ventajosa, compiladores comerciales. Por conveniencia el dispositivo de programación comprende un dispositivo indicador, en el que puede representarse visualmente el desarrollo de un programa. En la notación de desarrollos de los programas a los que sirve de fundamento un bloque de programa introducido en lenguaje avanzado, el dispositivo de preparación de indicaciones aprovecha con ventaja informaciones que produce el compilador en la transformación del bloque de programa en un programa ejecutable de aplicación.
A continuación se explica en detalle un ejemplo de realización de la invención, haciendo referencia al dibujo.
Dibujo
Muestra la figura 1 un diagrama de bloques del dispositivo propuesto de programación; la figura 2, una estructura de pantalla durante la puesta en servicio de un bloque de programa introducido en lenguaje orientado al SPS; la figura 3, una estructura de pantalla durante la puesta en servicio de un bloque introducido en lenguaje avanzado.
Descripción
En la figura el símbolo 12 de referencia designa un dispositivo de entrada para la introducción de un programa por un operador. Normalmente está realizado como teclado alfanumérico, junto a esto son posibles otras técnicas de entrada, acaso la entrada mediante la voz. Desde el dispositivo 12 de entrada, una primera línea 22 de datos conduce a un dispositivo 13 de transformación, una segunda línea 24 de datos, a un segmento 17 automático de programación, designado a continuación como compilador (de lenguaje avanzado). Por conveniencia, cada una de las dos líneas 22, 24 de datos, está realizada, como se ilustra en el dibujo, como bus propio, o común. Las funciones del dispositivo 13 de transformación, o del compilador 17, pueden estar realizadas como programas funcionales que corren en un microprocesador 10 común. Al dispositivo 13 de transformación está conectada a continuación una memoria 50 mediante otra línea 23 de datos realizada una vez más por conveniencia como bus. La salida de la memoria 50 está unida mediante una línea 23a de datos con un dispositivo 18 de preparación de indicaciones, así como con un sistema operativo del SPS.
Con la memoria 50 está unido también el compilador 17 mediante una línea 28 de datos. Además, el compilador está unido mediante una línea 29 de datos con una memoria 19 de la puesta en servicio, así como, además, mediante una línea 26 de datos, con una memoria 16 que forma un índice del contenido para una memoria 40 de biblioteca. La memoria 19 de la puesta en servicio, está unida por el lado de la salida, mediante una línea 29a de datos con un dispositivo 18 de preparación de indicaciones, al que está conectada después una pantalla 20 mediante un enlace 25 de datos. La línea 23a de datos une, además, la memoria 50 con el sistema 14 operativo del SPS. Sirve para la ejecución de un programa de aplicación depositado en la memoria 15, y está unido por el lado de salida mediante un bus 27 de datos, con una interfaz 21 de entrada / salida, para un proceso a mandar. Junto a esto, el sistema 14 operativo del SPS está unido mediante líneas de datos con la memoria 40 de biblioteca, así como con el dispositivo 18 de preparación de indicaciones. El sistema 14 operativo del SPS y el dispositivo 18 de preparación de indicaciones, como se ilustra en la figura 1, están realizados por conveniencia como programas funcionales que corren en un microprocesador 11 único. Asimismo, con el dispositivo 18 de preparación de indicaciones está unida mediante una línea 29a de datos, la memoria 19 de la puesta en servicio. Mediante un enlace 25 de datos esta conectada, además, detrás del dispositivo 18 de preparación de datos, una pantalla 20.
A continuación se explica el funcionamiento del dispositivo precedentemente descrito. Un programa SPS se compone de una secuencia de instrucciones individuales de programa. Instrucciones de programa, homogéneas tecnológica o funcionalmente, forman un bloque de programa. Un programa completo del SPS contiene típicamente varios de tales bloques de programa. Los bloques pueden introducirse en un lenguaje de programación orientado a la aplicación del SPS, acaso como lista de instrucciones, como esquema de contactos, como plan lógico, como esquema funcional o como lenguaje de ejecución, o en un lenguaje avanzado, quizá en el lenguaje "C". Para el ejemplo representado en la figura, supóngase que los bloques 31, 32, 34, 36 de programa se introducen en un lenguaje orientado a la aplicación del SPS, los bloques 33, 35 de programa, en un lenguaje avanzado. El programa tiene en total seis bloques 31 a 36 de programa, que el operador introduce según la secuencia.
Para la entrada de los bloques 31 a 36 individuales de programa, en función de si la entrada debe de llevarse a cabo en lenguaje específico de aplicación del SPS o en lenguaje avanzado, el operador activa el dispositivo 13 de transformación, llamado a continuación, convertidor del SPS, o el compilador 17 de lenguaje avanzado, llamado a continuación compilador. Programas introducidos en lenguaje orientado a la aplicación del SPS, son transferidos por el convertidor 13 del SPS, en la forma corriente, mediante traducción sencilla por bloques de las instrucciones de programa, en programas de aplicación en código de máquina, ejecutables directamente por el sistema 14 operativo del SPS, los cuales se depositan en la memoria 15. La transferencia de los bloques de programa introducidos en lenguaje avanzado, a programas de aplicación ejecutables directamente por el sistema operativo del SPS, en código de máquina, se lleva a cabo con ayuda de informaciones contenidas en las memorias 15, 16.
Para facilitar la entrada de bloques de programa en lenguaje avanzado, están insertadas en ellos órdenes especiales que no existen en el lenguaje avanzado, y simulan órdenes típicas para un lenguaje orientado al SPS. Así la orden típica del SPS "U E0.0" ("entrada Y 0.0") se simula en el lenguaje avanzado C, mediante "if (B_E(0,0))", la orden SPS "= A0.1" ("salida O 0.1"), mediante "{B_A(0,1)=1;}". La "BA PB2" ("llamada del bloque 2 de programa") típica del SPS, la simula en C, la línea "SPS_BA (2)". "SPS_" forma aquí un prefijo que precede a una orden posterior recibida del acervo del lenguaje del SPS. En el lenguaje avanzado C aquí adoptado, los datos de dirección 0.0, 0.1, utilizados en los ejemplos precedentes, no tienen ningún significado directo. Este sólo se genera en unión con secuencias correspondientes de programa, depositadas en la memoria 15 de macros. Con respecto a los ejemplos de órdenes antes proporcionados, en relación con el lenguaje avanzado C, en la memoria 15 de macros se encuentran, por ejemplo, secuencias de programa de direccionamiento, que se asignan a las direcciones utilizadas en el lenguaje avanzado, por ejemplo, direcciones 0,0 realmente del SPS, por ejemplo, 0.0. Asimismo en la utilización del lenguaje avanzado C, en la memoria 15 de macros, por ejemplo, las funciones del álgebra de Boole, se realizan mediante secuencias de programa allí depositadas. Por ejemplo, una secuencia de programa representa la correlación entre la orden típica del SPS del álgebra de Boole "u" ("Y") y la sintaxis que simula la misma orden en el lenguaje avanzado, por ejemplo "u E1.1" ("entrada Y 1.1") \Leftrightarrow "if (...(1,1))".
Junto a órdenes ejecutables directamente, como las órdenes del álgebra de Boole o direcciones, un lenguaje de programa orientado al SPS, contiene órdenes que realizan funcionalidades específicas del SPS, y que no se ejecutan hasta el procesamiento del programa. Ejemplos de tales órdenes son la orden de "temporizador", "contador", final de programa o "llamada del bloque". En la sintaxis del lenguaje avanzado, por ejemplo, en C, corrientemente no están previstas órdenes correspondientes. Por consiguiente, se realizan mediante módulos de programa funcional, directamente ejecutables por el SPS, los cuales están depositados como bloques 41 a 44 en la memoria 40 de biblioteca. Para cada bloque de biblioteca está depositado, además, en la memoria 16 de anotaciones de biblioteca, una referencia a la memoria 40 de biblioteca, la cual asigna un bloque 41 a 44 de biblioteca a cada una de las órdenes que simulan una orden típica de SPS introducida en el lenguaje avanzado. Por ejemplo, la memoria 16 de anotaciones de biblioteca, asigna a la orden "BA" ("Llamada de bloque") introducida en el lenguaje avanzado, no existente en su sintaxis, el bloque 41 de biblioteca "Llamada".
En bloques 33, 35 insertados en el lenguaje avanzado, después de la entrada completa, se transfieren por el compilador 17 en código de máquina, a bloques 53, 55 de programa de aplicación, ejecutables directamente por el sistema 14 operativo del SPS, accediendo el compilador a las secuencias de programa depositadas en la memoria 15 de macros, así como a las referencias de biblioteca depositadas en la memoria 16 de anotaciones de biblioteca. Si el compilador 17 reconoce en el bloque 33, 35 a compilar de programa, una orden especial específica del SPS, no perteneciente a la sintaxis del lenguaje avanzado, siempre y cuando se trate de una orden ejecutable directamente, busca en la memoria 15 de macros, una secuencia correspondiente de programa, y la vincula directamente al bloque de programa que se compila. Si se trata de una funcionalidad que no se realiza hasta la ejecución del programa, acaso la orden "llamada de bloque", el compilador 17 determina con ayuda de la memoria 16 de anotaciones de biblioteca, una referencia a la memoria 40 de biblioteca, y la vincula al programa ejecutable. Teniendo en cuenta los contenidos de la memoria 15 de macros y de la memoria 16 de anotaciones de biblioteca, se transfieren así los bloques 33, 35 de programa introducidos en lenguaje avanzado, a bloques 53, 55 ejecutables de programa de aplicación. Se depositan en la memoria 50 correspondiendo a su posición en la secuencia del programa de SPS.
Después de que los bloques 31 a 36 de programa se hayan transferido a bloques 51 a 56 ejecutables de programa de aplicación, se pone en funcionamiento el programa de SPS generado en la memoria 50. La puesta en servicio es soportada por el dispositivo 18 de preparación de indicaciones, el cual ilustra gráficamente el desarrollo del programa deducido del programa del SPS, en la pantalla 20, en un modo operativo de monitor. Se representan por conveniencia, la instrucción de programa que sirve de base, con la dirección de programación, el estado de la señal de los operandos afectados, los resultados de mando lógico, que resultan, así como los estados actuales de las funciones de tiempo y del contador.
La figura 2 muestra una estructura típica de pantalla, dividida en tres columnas. En la columna izquierda están representadas por líneas las instrucciones de programa, en el ejemplo de la figura 2, en la línea superior, la instrucción "bit Y temporizador 1", en la línea siguiente, la instrucción "bit Y bandera 0.0", en la línea siguiente, la instrucción "bit memoria salida 1.0", en la cuarta línea, la instrucción "bit Y No temporizador 1". La columna central muestra los resultados de mando lógico pertenecientes a las instrucciones de programa, estando indicado a la izquierda el bit direccionado, el resultado del mando lógico, en el centro, y el bit de salida, a la derecha. Por tanto, en el ejemplo de la figura 2, el bit direccionado en la primera instrucción reproducida de programa, tiene el valor 0, asimismo el resultado de mando lógico. Para la segunda línea de instrucción de programa, se obtiene la misma imagen, la tercera línea de instrucción de programa conduce a un resultado de mando lógico, así como a un bit de salida, con el valor 0, la cuarta línea de instrucción de programa suministra para el bit direccionado el valor 0, como resultado de mando lógico, el valor 1. En la columna derecha de la pantalla se representan operandos seleccionados, en el ejemplo, el contenido de un acumulador, así como el estado de una función T del contador.
Durante la puesta en servicio de bloques 53, 55 de programa, que resultan de bloques 33, 35 introducidos en lenguaje avanzado, existen posibilidades adicionales de presentación. El dispositivo 18 de preparación de indicaciones aprovecha, además, informaciones que fueron aplicadas en la memoria 19 de la puesta en servicio, al compilar los bloques de programa de lenguaje avanzado, mediante el compilador 17. Adicionalmente a las posibilidades de monitorización existentes para prrogramas regulares del SPS, e bloques 53, 55 de programa de lenguaje avanzado, puede llevarse a cabo en especial una indicación dinámica de datos, en especial de operandos del SPS, o una indicación una sola vez de tales datos. Pueden mostrarse tanto registros del SPS, como registros de la CPU. Pueden indicarse tanto valores individuales, como el contenido de campos completos, por ejemplo, variables de lenguaje avanzado y del SPS. Errores presentados posiblemente durante la compilación en el compilador 17, se representan en la pantalla 20, por ejemplo, en una ventana separada.
La figura 3 muestra una estructura típica de pantalla durante la puesta en servicio de un bloque 53, 55 de programa, introducido en lenguaje avanzado. Está subdividida horizontalmente en dos zonas, anotándose en la zona superior, por el usuario, variables seleccionadas del programa. En el ejemplo de la figura 3 se reproduce en la primera línea, la estructura de bits de la palabra que se encuentra en la bandera 0.B, en la segunda línea, la estructura de bits de la palabra que forma la entrada 0.B, y en la tercera línea, el valor de un temporizador. Los valores indicados se modifican dinámicamente durante la puesta en servicio del bloque de programa, o se fijan opcionalmente. En el sector inferior de la pantalla están reproducidas las instrucciones de programa del bloque a poner en servicio. En el ejemplo de una línea de programa, que pone las salidas 0.0 y 0.1, en el valor 0, cuando la entrada 1.0 tiene el valor 0. Siempre y cuando un programa de SPS a procesar contenga bloques 53, 55 de lenguaje avanzado, el dispositivo 18 de preparación de indicaciones se asegura antes de la entrada en modo operativo de monitor, de que está garantizada permanentemente la seguridad del proceso. Por ejemplo, si en un bloque de lenguaje avanzado está previsto un punto de interrupción, invita al operador a un diálogo resuelto automáticamente a través de la pantalla 20, para al llegar a un punto de interrupción, poner todas las salidas en un estado seguro.

Claims (8)

1. Dispositivo para la programación de un mando programable, con
-
una memoria (50) para depositar el programa de aplicación.
-
un dispositivo (12) de entrada para la introducción por un operador, de instrucciones de programa en un lenguaje de programación orientado a la aplicación,
-
un dispositivo (13, 17) de traducción para la transferencia de instrucciones de programa, procedentes de diferentes lenguajes de programación, en instrucciones de programa de aplicación, ejecutables directamente, caracterizado porque
-
el mando programable es un SPS con sistema (14) operativo SPS, y procesa un programa (51 a 56) de aplicación del SPS,
-
memorias (15, 16, 40) para depositar secuencias de programa, están asignadas en las instrucciones especiales de programa, insertadas en lenguaje avanzado, y realizan una orden específica del SPS, contenida en cada instrucción especial de programa,
-
un segmento (17) automático de programación, que transforma instrucciones (33, 35) de programa introducidas en lenguaje avanzado, y utilizando las secuencias de programa almacenadas en las memorias (15, 16, 40), las transfiere a instrucciones (51 a 56) de programa de aplicación, ejecutables directamente por el sistema (14) operativo SPS,
-
un dispositivo (18) de preparación de indicaciones que visualiza la elaboración de instrucciones (53, 55) de programa de aplicación mediante un dispositivo (20) de salida, y permite al operador, intervenir en el desarrollo del programa.
2. Dispositivo según la reivindicación 1, caracterizado porque las instrucciones especiales de programa, utilizadas en el lenguaje avanzado, están simuladas en forma y contenido en cada una de las órdenes en un lenguaje de progrrama orientado a la aplicación del SPS.
3. Dispositivo según la reivindicación 1, caracterizado por una memoria (40) de biblioteca, en la que están depositados módulos (41 a 44) de programa, cada uno de los cuales asigna a una instrucción especial de programa en lenguaje avanzado, una secuencia de programa de aplicación ejecutable directamente al ejecutar un programa de aplicación, la cual realiza una funcionalidad específica del SPS, indicada por la instrucción especial de programa.
4. Dispositivo según la reivindicación 3, caracterizado porque a la memoria (40) de biblioteca está asignada una memoria (16) de anotaciones de biblioteca, en la que están depositadas indicaciones sobre los módulos (41 a 44) de programa, los cuales utiliza el segmento (17) automático de programación en la interpretación de las instrucciones especiales de programa, y los aloja en las instrucciones (53, 55) ejecutables del programa de aplicación.
5. Dispositivo según la reivindicación 1, caracterizado por una memoria (15) para depositar cada una de las secuencias de programa asignadas a una instrucción especial de programa, cuyas secuencias realizan una orden específica del SPS, contenida en la instrucción especial del programa, y de la mano de su segmento (17) automático de programación, produce una instrucción ejecutable del programa de aplicación, durante la interpretación de la instrucción especial del programa.
6. Dispositivo según la reivindicación 1, caracterizado porque, durante la transferencia de partes del programa introducidas en lenguaje avanzado, en un programa ejecutable de aplicación, el segmento (17) automático de programación produce informaciones para soportar la puesta en servicio, las cuales las inscribe en una memoria (19) de la puesta en servicio.
7. Dispositivo según la reivindicación 1, caracterizado porque, durante la puesta en servicio de un bloque (53, 55) de programa introducido en lenguaje avanzado, el dispositivo (18) de preparación de indicaciones recurre a informaciones depositadas en la memoria (19), y representa dinámicamente sobre una pantalla (20) el comportamiento de operandos del SPS.
8. Dispositivo según la reivindicación 7, caracterizado porque el dispositivo (18) de preparación de indicaciones, está configurado para, durante la puesta en servicio de partes del programa introducidos en lenguaje avanzado, poner puntos de interrupción utilizando las informaciones depositadas en la memoria (19) de puesta en servicio, y/o representar módulos (41 a 43) del programa depositados en la memoria (40), y/o pasos individuales, y/o variables en lenguaje avanzado.
ES98102308T 1997-02-22 1998-02-11 Dispositivo para la programacion de un mando programable por memoria (sps). Expired - Lifetime ES2218721T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19707107A DE19707107A1 (de) 1997-02-22 1997-02-22 Einrichtung zur Programmierung eines SPS
DE19707107 1997-02-22

Publications (1)

Publication Number Publication Date
ES2218721T3 true ES2218721T3 (es) 2004-11-16

Family

ID=7821167

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98102308T Expired - Lifetime ES2218721T3 (es) 1997-02-22 1998-02-11 Dispositivo para la programacion de un mando programable por memoria (sps).

Country Status (4)

Country Link
US (1) US6009268A (es)
EP (1) EP0860758B1 (es)
DE (2) DE19707107A1 (es)
ES (1) ES2218721T3 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154684A (en) * 1997-06-14 2000-11-28 Rockwell Technologies, Llc Template language for industrial controller programming
WO2000072097A2 (de) * 1999-05-25 2000-11-30 Siemens Aktiengesellschaft Verfahren zur erzeugung eines steuerbausteins und steuerbaustein
DE10149147A1 (de) 2001-10-04 2003-04-17 Heidenhain Gmbh Dr Johannes Verfahren und Vorrichtung zum Erstellen oder Ändern von NC-Programmen
JP3548829B2 (ja) * 2002-01-10 2004-07-28 オムロン株式会社 ユニット及びplc並びにユーザプログラムの処理方法
GB0303270D0 (en) * 2003-02-13 2003-03-19 Renishaw Plc A machine tool control process and apparatus therefor
DE102007062453A1 (de) * 2007-12-22 2009-06-25 Robert Bosch Gmbh Verfahren zum Programmieren und/oder Diagnostizieren einer speicherprogrammierbaren Steuerung
EP2729855A1 (de) 2011-07-06 2014-05-14 Abb Ag Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung
KR101602993B1 (ko) * 2012-08-23 2016-03-11 엘에스산전 주식회사 프로그래밍 언어 오류 검색 장치
CN104636168A (zh) * 2015-02-09 2015-05-20 南京国电南自美卓控制系统有限公司 基于mlvds总线的soc fpga在线升级方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302820A (en) * 1979-08-20 1981-11-24 Allen-Bradley Company Dual language programmable controller
US4628158A (en) * 1982-07-16 1986-12-09 At&T Bell Laboratories Stored program controller
JPS59172008A (ja) * 1983-03-22 1984-09-28 Mitsubishi Electric Corp 数値制御装置
JP2561907B2 (ja) * 1984-08-24 1996-12-11 三菱電機株式会社 数値制御装置
US4663704A (en) * 1984-12-03 1987-05-05 Westinghouse Electric Corp. Universal process control device and method for developing a process control loop program
NO171240C (no) * 1985-04-25 1993-02-10 Bbc Brown Boveri & Cie Programmeringsanordning for en lagerprogrammerbar styring
US5034899A (en) * 1986-07-07 1991-07-23 Bbc Brown Boveri Ag Software tool for automatically generating a functional-diagram graphic
GB2192471A (en) * 1986-07-10 1988-01-13 Unilever Plc Compiling control program
US5151984A (en) * 1987-06-22 1992-09-29 Newman William C Block diagram simulator using a library for generation of a computer program
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
JP2526692B2 (ja) * 1990-03-02 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラのプログラミング方法
US5162986A (en) * 1990-10-19 1992-11-10 Allen-Bradley Company, Inc. Remote downloading and uploading of motion control program information to and from a motion control I/O module in a programmable controller
EP0503256B1 (de) * 1991-03-14 1995-11-29 Landis & Gyr Technology Innovation AG Programmierbare Steuer- und Regeleinrichtung
US5613115A (en) * 1991-12-09 1997-03-18 Total Control Products, Inc. Method for using PLC programming information to generate secondary functions such as diagnostics and operator interface
DE4202610A1 (de) * 1992-01-30 1993-08-05 Traub Ag Programmierbare computersteuerung fuer eine werkzeugmaschine
US5295059A (en) * 1992-09-09 1994-03-15 Allen-Bradley Company, Inc. Programmable controller with ladder diagram macro instructions
ATE151179T1 (de) * 1993-09-07 1997-04-15 Traub Ag Dialogorientiertes programmiersystem für eine cnc-werkzeugmaschine
DE4418623A1 (de) * 1994-05-27 1995-11-30 Siemens Ag Programmiergerät

Also Published As

Publication number Publication date
US6009268A (en) 1999-12-28
DE19707107A1 (de) 1998-09-10
EP0860758A1 (de) 1998-08-26
EP0860758B1 (de) 2004-04-28
DE59811251D1 (de) 2004-06-03

Similar Documents

Publication Publication Date Title
EP0331060B2 (en) Programmable controller with stored tokenized source code
US5005152A (en) Industrial controller with decompilable user program
US4852047A (en) Continuous flow chart, improved data format and debugging system for programming and operation of machines
Brooks Using a behavioral theory of program comprehension in software engineering
ES2218721T3 (es) Dispositivo para la programacion de un mando programable por memoria (sps).
US5101491A (en) System means for synthesizing, generating and checking software for a computer
ES2298598T3 (es) Dispositivo y metodo para comprobar motores de software logico de ferrocarril para dirigir plantas, particularmente plantas de estacion.
ES2483966T3 (es) Método y dispositivo para programar un controlador industrial de una instalación automatizada
IL103433A (en) Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision-making microprocessor interfacing therewith
CN110271009B (zh) 基于plc仿机器人指令实现机械手示教功能方法
CN107678743A (zh) 一种用于机器人智能编程的方法
CN107479531A (zh) 嵌入式plc的接入设备通信协议帧格式信息远程确定方法
CN113608495A (zh) 一种可编程逻辑控制实现方法
CN104238438A (zh) 一种plc通用平台及其设计方法
US20020129336A1 (en) Automatic symbol table selection in a multi-cell environment
CN111897282B (zh) 一种基于x86平台的软plc系统
CA2056829A1 (en) Programmable controller processor for concurrently executing multiple user programs
Krüger et al. SIMLYS—A software package for trajectory analysis of molecular dynamics simulations
Lucas et al. Quantitative and qualitative comparisons of PLC programs for a small testbed with a focus on human issues
Meyers Design of a microcode link editor
Nagl et al. Software specification by graph grammars
CA1259138A (en) Method of compiling high level language statements into low level language instruction sets
CN113535591B (zh) 机器人程序的验证方法、装置、电子设备及存储介质
Lucas Understanding and assessing logic control design methodologies
Kocánek et al. General sequential function charts editor