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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming 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).
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.
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.
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.
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.
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)
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)
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 |
-
1997
- 1997-02-22 DE DE19707107A patent/DE19707107A1/de not_active Ceased
-
1998
- 1998-02-11 EP EP98102308A patent/EP0860758B1/de not_active Expired - Lifetime
- 1998-02-11 ES ES98102308T patent/ES2218721T3/es not_active Expired - Lifetime
- 1998-02-11 DE DE59811251T patent/DE59811251D1/de not_active Expired - Lifetime
- 1998-02-20 US US09/026,730 patent/US6009268A/en not_active Expired - Lifetime
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 |