ES2339741T3 - Bloque de funcion web en un equipo de automatismo. - Google Patents

Bloque de funcion web en un equipo de automatismo. Download PDF

Info

Publication number
ES2339741T3
ES2339741T3 ES01401675T ES01401675T ES2339741T3 ES 2339741 T3 ES2339741 T3 ES 2339741T3 ES 01401675 T ES01401675 T ES 01401675T ES 01401675 T ES01401675 T ES 01401675T ES 2339741 T3 ES2339741 T3 ES 2339741T3
Authority
ES
Spain
Prior art keywords
web
function block
communication system
reception
application program
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
ES01401675T
Other languages
English (en)
Inventor
Christian Hardy
Christophe Vincent
Jean-Marie Stawikowski
Robert Rousseau
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.)
Schneider Automation SAS
Original Assignee
Schneider Automation SAS
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8852007&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2339741(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Schneider Automation SAS filed Critical Schneider Automation SAS
Application granted granted Critical
Publication of ES2339741T3 publication Critical patent/ES2339741T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0253Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Sistema de comunicación de un equipo de automatismo (10) en una red TCP/IP (50), cuyo equipo de automatismo (10) controla una aplicación de automatismo desarrollando un programa aplicación (20) escrito en uno o varios lenguajes conformes a la norma IEC1131-3 donde el sistema de comunicación comprende: - una función servidor WEB implementada en el interior del programa aplicación (20), - medios de intercambio que comprenden al menos un bloque función WEB de recepción (21) y al menos un bloque función WEB de emisión (22) que están integrados en el programa aplicación (20) y que interactúan con el programa aplicación (20), - una interfaz HTTP (15) en el equipo de automatismo (10) capaz de conducir los mensajes procedentes de la red TCP/IP (50) a un bloque función WEB de recepción (21) identificado por una dirección URL, y realizar la conducción de los mensajes procedentes de un bloque función WEB de emisión (22) a una dirección URL en la red TCP/IP (50) caracterizándose el sistema de comunicación porque comprende igualmente: - una función cliente WEB implementada en el interior del programa aplicación.

Description

Bloque de función WEB en un equipo de automatismo.
La presente invención se refiere a un sistema de comunicación de un equipo de automatismo en una red global de tipo Internet, Intranet o Extranet, que permite implementar una función servidor WEB y una función cliente WEB en el interior de una aplicación de automatismo, gracias a por lo menos un bloque función WEB que puede interactuar con el programa de la aplicación de automatismo. La presente invención se refiere igualmente a un equipo de automatismo que integra dicho sistema de comunicación así como una estación de programación capaz de parametrar bloques función WEB. Este sistema de comunicación puede aplicarse a cualquier aplicación perteneciente al ámbito de los automatismos industriales, automatismos del edificio o del control/accionamiento de las redes eléctricas de distribución.
Bajo el término "equipo de automatismo", se designará a continuación un autómata programable, una estación de control/accionamiento, un control digital o cualquier equipo que pueda contener y desarrollar un programa usuario que controle una aplicación de automatismo. Este programa usuario, llamado también programa de aplicación, está encargado de realizar el control y el accionamiento de una aplicación de automatismo por medio particularmente de entradas/salidas dirigidas por este programa aplicación. Es elaborado por un diseñador y está escrito en uno o varios lenguajes gráficos de automatismo que integran particularmente esquemas de contactos, (lenguaje Ladder), diagramas funcionales en secuencia (Sequential Function Chart o lenguaje Grafcet), bloques funciones (Function Block Description) o bien en lenguajes textuales de automatismo de tipo IL (Instruction List) o ST (Structured Text). Estos lenguajes de automatismo están ventajosamente conformes con la norma IEC1131-3, con el fin de facilitar la programación por un diseñador automaticista que no domina forzosamente los lenguajes informáticos. Se pueden utilizar en estaciones de programación que son equipos informáticos, particularmente ordenadores personales de tipo PC, conectables con el equipo de automatismo a programar.
Ya es conocido que un equipo de automatismo de este tipo pueda integrar un servidor WEB con el fin de poder intercambiar datos relativos a este equipo de automatismo con un cliente WEB distante, tal como un navegador, conectado con una red global de tipo Internet, Intranet o Extranet, conforme a la norma TCP/IP, llamada a continuación red TCP/IP. Estas funcionalidades se describen particularmente en los documentos W099/63409, W09913418, US6061603 y US5805442. Los datos relativos al equipo de automatismo son entonces conformados y enviados por el servidor WEB, por ejemplo en forma de páginas HTML o XML. Es igualmente posible que un servidor WEB implantado en un equipo de automatismo cargue un programa, generalmente llamado Applet, en un cliente WEB, cuyo programa se desarrolla en el cliente WEB con el fin de intercambiar con el servidor WEB del equipo de automatismo peticiones transportadas por el protocolo TCP/IP.
Sin embargo, estas soluciones están más orientadas a la utilización de un navegador (o browser) y no permiten al diseñador de una aplicación de automatismo controlar los datos intercambiados en la red TCP/IP. En efecto, el diseñador no tiene la posibilidad de crear, directamente a partir del programa aplicación, una comunicación cliente-servidor en la red TCP/IP.
Ahora bien, esta funcionalidad seria interesante en algunos casos, para comunicar en una red TCP/IP con el fin de recibir pedidos o peticiones por parte de un cliente WEB distante y responder a estas peticiones, controlando los datos intercambiados en la red TCP/IP. Además, seria interesante que un programa aplicación pueda comportarse como un cliente WEB activo y ser capaz de enviar peticiones y recibir datos de un servidor WEB distante. Se podría así colocar una comunicación en una red TCP/IP entre el programa aplicación de un equipo de automatismo y un servidor WEB/cliente WEB distante, tal como un ERP, para intercambiar por ejemplo órdenes e informes de fabricación.
Para ello, la invención describe un sistema de comunicación de un equipo de automatismo en una red TCP/IP que comprende medios de intercambios para implementar una función servidor WEB o una función cliente WEB en el interior de un programa aplicación de una aplicación de automatismno cargado en el equipo de automatismo, comprendiendo estos medios de intercambio al menos un bloque función WEB que puede interactuar con el programa aplicación, pudiendo este escribirse en uno o varios lenguajes conformes a la norma IEC1131-3. El sistema de comunicación comprende al menos un bloque función WEB de recepción para implementar una función servidor WEB y/o al menos un bloque función WEB de emisión para implementar una función cliente WEB en un programa aplicación.
El sistema de comunicación comprende igualmente una interfaz HTTP frontal en el equipo de automatismo capaz de realizar por una parte el encaminamiento de los mensajes procedentes de la red TCP/IP a un bloque función WEB de recepción identificado por una dirección URL, y por otra parte el encaminamiento de mensajes procedentes de un bloque función WEB de emisión a una dirección URL en la red TCP/IP.
La invención describe igualmente un equipo de automatismo que integra dicho sistema de comunicación así como una estación de programación que permite a un diseñador de una aplicación de automatismo visualizar, introducir, suprimir, modificar y parametrar al menos un bloque función WEB integrado en un programa aplicación, con el fin de poner en práctica el sistema de comunicación descrito.
Así, gracias a la presente invención, se podrá igualmente colocar una comunicación directa utilizando las capacidades de la WEB, entre los programas aplicación de varios equipos de automatismo distantes, por ejemplo para realizar la sincronización de fabricación. Si esta comunicación se coloca en programas aplicación de equipos de automatismo utilizando lenguajes que son utilizados regularmente por los diseñadores de estos programas aplicación, a saber los lenguajes conformes a la norma IEC1131-3, entonces eso les permitirá ventajosamente concebir muy fácilmente aplicaciones de automatismo distribuidas en la WEB.
De igual modo, será desde ahora posible introducir en una arquitectura WEB de los equipos de automatismo actuales modificando ligeramente sus programas aplicación.
Otras características y ventajas aparecerán en la descripción detallada que sigue haciendo referencia a un modo de realización dado a titulo de ejemplo y representado por los dibujos adjuntos en los cuales:
- la figura 1 representa un primer ejemplo de comunicación de un equipo de automatismo según un sistema de comunicación conforme a la invención con un aparato cliente,
- la figura 2 representa un segundo ejemplo de comunicación en el cual un equipo de automatismo se comunica con un equipo a la vez cliente y servidor,
- la figura 3 muestra un tercer ejemplo de comunicación entre dos equipos de automatismo,
- las figuras 4 y 5 detallan respectivamente un bloque función WEB de recepción y un bloque función WEB de emisión en una representación de tipo esquemas de contactos (lenguaje LADDER).
La figura 1 muestra un equipo de automatismo 10 que se comunica con un aparato 40 en una red TCP/IP 50. El equipo de automatismo 10 comprende una interfaz HTTP 15 frontal y un programa aplicación 20. El aparato 40 comprende un módulo cliente 41, que puede ser un navegador WEB, capaz de emitir en la red TCP/IP 50 peticiones 51 conformes al protocolo HTTP, conteniendo una dirección URL destinataria y recibir respuestas 52 conformes al protocolo HTTP. El contenido de una petición HTTP 51 o de una respuesta HTTP 52 puede estar codificado en diferentes formas, tales como por ejemplo una trama XML, una trama URL codificada ("URL encoded"), una trama HTML, WML, SOAP u otros formatos ASCII o binarios.
La figura 2 muestra un equipo de automatismo 10 que se comunica por una parte con un módulo cliente WEB 31 capaz de emitir por la red TCP/IP 50 peticiones HTTP 51 y recibir respuestas HTTP 52, y por otra parte con un módulo servidor WEB 32 capaz de recibir peticiones HTTP 51 procedentes de la red TCP/IP 50 y enviar respuestas HTTP 52. Los módulos cliente WEB 31 y servidor WEB 32 pueden eventualmente pertenecer a un mismo equipo 30 conectado con la red TCP/IP 50 y que comprende, por ejemplo, una aplicación ERP (Enterprise Resource
Planning).
La figura 3 muestra dos equipos de automatismo 10, 10' que se comunican entre si por una red TCP/IP 50. Cada equipo de automatismo 10, 10' comprende una interfaz HTTP 15, 15' frontal y un programa aplicación 20, 20'.
Un programa aplicación 20, 20' se encarga de realizar el control/accionamiento de una aplicación de automatismo por medio de entradas/salidas dirigidas por este programa aplicación. Es elaborado por un diseñador y está escrito en uno o varios lenguajes que integran particularmente esquemas de contactos (LD), diagramas funcionales en secuencia (SFC), listas de instrucciones (IL), de la programación estructurada (ST) o de los bloques funciones (BF). Estos lenguajes son preferentemente conformes a la norma IEC1131-3, con el fin de facilitar la programación por un diseñador automaticista, que no domina forzosamente los lenguajes informáticos.
Uno de los objetos de la invención es integrar en un programa aplicación 20 (respectivamente 20') medios de intercambio que permiten al diseñador del programa aplicación abrir una comunicación en la red TCP/IP 50. Para ello, el sistema de comunicación descrito en la invención comprende al menos un bloque función WEB 21, 22 (respectivamente 21', 22') configurable y que puede interactuar con el programa aplicación 20 (respectivamente 20') de un equipo de automatismo 10 (respectivamente 10'). Según un modo de realización preferido, se pueden considerar dos tipos distintos de bloques función WEB: un primer tipo se llama bloque función WEB de recepción 21 (respectivamente 21') y permite implementar una función servidor WEB en el programa aplicación 20 (respectivamente 20') y un segundo tipo se llama bloque función WEB de emisión 22 (respectivamente 22') y permite implementar una función cliente WEB en el programa aplicación 20 (respectivamente 20').
Así, gracias a un bloque función WEB de recepción 21, el programa aplicación 20 de un equipo de automatismo 10 se encuentra en espera de una petición HTTP 51 que emana de un cliente WEB, tal como un módulo cliente WEB 31, 41 o un bloque función WEB de emisión 22' de un programa aplicación 20' de un equipo de automatismo 10', y reenvía una respuesta HTTP 52 a esta petición 51. Gracias a un bloque función WEB de emisión 22, el programa aplicación 20 de un equipo de automatismo 10 puede tomar la iniciativa de emitir una petición 51 a un módulo servidor WEB 32 o a un bloque función WEB de recepción 21' de un programa aplicación 20', y esperar una respuesta HTTP 52 a esta petición 51.
Según la invención, los bloques función WEB están integrados en el programa aplicación 20 que puede estar escrito en uno o varios lenguajes conformes a la norma IEC1131-3. Los bloques función WEB están inspirados de los bloques función de comunicación definidos en la norma IEC1131-5, pero tales bloques función WEB no están descritos en la norma. Así, en las figuras 4 y 5, un bloque función WEB de recepción 21 y un bloque función WEB de emisión 22 se simbolizan gráficamente con el formalismo de un lenguaje de tipo esquemas de contactos (Lenguaje LADDER). Comprenden un número de servicio o identificación 214, 224 y están dotados de parámetros de entrada 212, 222 y de parámetros de salida 213, 223 que están conectados lógicamente con elementos del programa aplicación 20, tales como las variables 215, 216, 225, 226. Los parámetros de entrada 212, 222 corresponden a órdenes o a controles dados por el programa aplicación 20 al bloque función WEB 21, 22 y los parámetros de salida 213, 223 corresponden a informes de fabricación o a resultados facilitados por el bloque función WEB 21, 22 al programa
aplicación 20.
Con referencia a un ejemplo de realización presentado en la figura 4, los parámetros de entrada 212 de un bloque función WEB de recepción 21 comprenden:
-
una entrada de tipo booleano RESP ("Respond") que, en el momento del paso al estado VRAI, provoca el envió de una respuesta 52 a una petición 51. En el ejemplo de la figura 4, esta entrada está conectada con un contacto de una variable del programa aplicación 20 denominada SEND ANSWER 215, de tal forma que el estado de la entrada RESP del bloque función WEB 21 sea igual al estado de esta variable SEND ANSWER,
-
una entrada de tipo booleano EN_R ("Enable Receive") que, cuando se encuentra en estado VRAI, valida la toma en cuenta de la recepción de una petición por el bloque función WEB 21,
-
una o varias entradas IN_1 a IN_n que contienen diferentes parámetros que serán reenviados en la respuesta 52 al cliente WEB emisor de la petición 51.
De igual modo, los parámetros de salida 213 de un bloque función WEB de recepción 21 comprenden:
-
una salida de tipo booleano NDR ("New Data Received") que, en el momento del paso al estado VRAI, señala al programa aplicación 20 que una petición 51 acaba de ser recibida por el bloque función WEB 21. En el ejemplo de la figura 4, esta salida está conectada con la bobina de una variable del programa aplicación 20 llamada REQUEST RECEIVED 216, de tal forma que el estado de esta variable REQUEST RECEIVED sea igual al estado de la salida NDR del bloque función WEB 21,
-
una salida de tipo booleano ERROR que indica que el bloque función WEB 21 es erróneo,
-
una salida de tipo entero STATUS que proporciona el último estado válido del bloque función WEB 21,
-
una o varias salidas OUT_1 a OUT_n que están cargadas con parámetros contenidos en la petición 51.
Con referencia a un ejemplo de realización presentado en la figura 5, los parámetros de entrada 222 de un bloque función WEB de emisión 22 comprenden:
-
una entrada de tipo booleano REQ que, en el momento del paso al estado VRAI, provoca el envío de una petición 51. En el ejemplo de la figura 5, esta entrada está conectada con un contacto de una variable del programa aplicación 20 llamada START REQUEST 225, de tal forma que el estado de la entrada REQ del bloque función WEB 22 sea igual al estado de esta variable START REQUEST,
-
una entrada de tipo booleano R que permite reinicializar el bloque función WEB 22,
-
una o varias entradas IN_1 a IN_n que contienen parámetros que serán enviados en la petición 51 al servidor WEB destinatario.
De igual modo, los parámetros de salida 223 de un bloque función WEB emisión 22 comprenden:
-
una salida de tipo booleano NDR que, en el momento del paso al estado VRAI, señala al programa aplicación 20 que una respuesta 52 a la petición 51 acaba de ser recibida por el bloque función WEB 22. En el ejemplo de la figura 5, esta salida está conectada con la bobina de una variable del programa de aplicación 20 llamada ANSWER RECEIVED 226, de tal forma que el estado de esta variable ANSWER RECEIVED sea igual al estado de la salida NDR del bloque función WEB 22,
-
una salida de tipo booleano ERROR que indica que el bloque función WEB 22 es erróneo,
-
una salida de tipo entero STATUS que proporciona el último estado válido del bloque función WEB 22,
-
una o varias salidas OUT_1 a OUT_n que están cargadas con parámetros reenviados por el servidor WEB en la respuesta 52.
Un bloque función WEB 21, 22 comprende un código programa genérico que es común a cada tipo de bloque función WEB, en este caso bloque función WEB de tipo recepción 21 y bloque función WEB de tipo emisión 22. Un bloque función WEB 21, 22 comprende también datos de configuración específicos 219, 229, que son por ejemplo almacenados en un fichero de configuración propia para cada bloque función WEB. Estos datos de configuración 219, 229 contienen particularmente:
\bullet
el número del servicio o identificación que tiene lugar, en el caso de un bloque función WEB de recepción 21, de dirección URL relativa en el equipo de automatismo 10 y que permite a cualquier cliente WEB identificarlo y enviarle una petición,
\bullet
la dirección URL destinataria en el caso de un bloque función WEB de emisión 22,
\bullet
el tipo de petición HTTP (llamado método HTTP) que el bloque función WEB 21, 22 es capaz de emitir o de recibir (generalmente de los métodos POST o GET, pero también de los métodos PUT, DELETE, TRACE, OPTIONS,...),
\bullet
el contenido del mensaje o la localización de un mensaje indexado (por ejemplo una página HTML, un mensaje XML, u otros) que se integrará en la respuesta 52 del bloque función WEB de recepción 21,
\bullet
en el caso de los datos de configuración 229 de un bloque función WEB de emisión 22, medios para realizar una correspondencia entre por una parte los parámetros de entradas IN_1, IN_n del bloque función WEB de emisión 22 y por otra parte de los elementos de una petición HTTP 51 (headers), de los elementos de una trama XML o de una trama URL codificada contenidos en una petición HTTP 51,
\bullet
en el caso de los datos de configuración 229 de un bloque función WEB de emisión 22, medios para realizar una correspondencia entre por una parte elementos de una respuesta HTTP 52 (headers) o elementos de una trama XML contenidos en una petición HTTP 52 y por otra parte los parámetros de salidas OUT_1, OUT_n del bloque función WEB de emisión 22,
\bullet
en el caso de los datos de configuración 219 de un bloque función WEB de recepción 21, medios para realizar una correspondencia entre por una parte elementos de una petición HTTP 51 (headers), elementos de una trama XML o de una trama URL codificada contenidos en una petición HTTP 51 y por otra parte los parámetros de salidas OUT_1, OUT_n del bloque función WEB de recepción 21,
\bullet
en el caso de los datos de configuración 219 de un bloque función WEB de recepción 21, medios para realizar una correspondencia entre por una parte los parámetros de entradas IN_1, IN_n del bloque función WEB recepción 21 y por otra parte elementos de una respuesta HTTP 52 (headers) o elementos de una trama XML contenidos en una petición HTTP 52,
\bullet
el formato de las tramas (llamado "Content Type") que un bloque función WEB estará en condiciones de generar o de interpretar. Este aspecto es importante pues así se autorizará la toma en cuenta de las futuras evoluciones de la WEB. En efecto, gracias a este parametrado y a partir de protocolos estabilizados (HTTP y XML), será posible integrar librerías de datos (esquemas XML) con el fin de poder implementar nuevos protocolos en evolución.
Los medios para realizar una correspondencia entre los parámetros de entradas/salidas de un bloque función y los elementos de una trama XML, de una trama URL o de una petición/respuesta HTTP son implementados por el bloque función y pueden recurrir a una sofisticación variable según la flexibilidad de uso deseada y la complejidad del formato a interpretar.
Para una buena comprensión de la presente invención, ejemplos de medios para realizar una correspondencia se describen a continuación. Estos ejemplos se ciñen a una implementación simple, que corresponde al caso de bloques función capaces de aceptar solo un formato rígido de petición y de producir igualmente solo un formato rígido de respuesta. Sin embargo el estado de la técnica informática permitía fácilmente producir, a partir de este caso, variantes más sofisticadas tanto en lo que respecta a los formatos de conversión entre los datos del equipo de automatismos y los datos textuales WEB como en lo que respecta al formato del documento WEB propiamente dicho.
Para satisfacer los cuatro casos mencionados anteriormente, los medios para realizar una correspondencia se basan en dos mecanismos:
a)
el análisis de una trama entrante (respuesta o petición recibida) para extraer de ella los parámetros de salidas OUT_1, OÜT-n del bloque función. Este análisis se basa en una descripción de la trama que permite encontrar de nuevo el lugar de los parámetros y, para cada parámetro, una descripción de la conversión entre el formato textual contenido en la petición y el formato interno del equipo de automatismo. Este caso se aplica tanto en la emisión de una petición por un bloque función WEB de emisión como en la emisión de una respuesta por un bloque función WEB de recepción.
b)
la síntesis de una trama a emitir (petición o respuesta a emitir) a partir de los parámetros de entrada IN_1, IN-n del bloque función. Esta síntesis utiliza igualmente dos tipos de elementos: una trama-tipo y reglas de sustitución que permiten introducir el valor de los parámetros.
La configuración de un bloque función dado comprende por consiguiente dos partes específicamente asignadas al análisis y a la síntesis.
Ejemplo de la descripción de conversión para una petición entrante en un bloque función WEB de recepción formateado según el lenguaje XML:
1
Al inicio de la aplicación, el código programa del bloque función analiza esta descripción y registra la correspondencia entre las zonas del documento esperado (en el interior de las etiquetas: <type> y <num_requete>, por si mismos incluidos en una etiqueta <surveillance>) y los parámetros del bloque función.
A la recepción de la petición siguiente:
2
el código programa del bloque función posiciona los parámetros de salida indicados: OUT_1 = "alarma", OUT_2 = 58.
Ejemplo de la descripción de conversión para la respuesta a emitir en un bloque función WEB de recepción:
3
Al inicio de la aplicación, el código programa del bloque función registra esta descripción así como los emplazamientos donde deberá fijar los valores de los parámetros de entradas así como la dirección de estos parámetros de entradas en la memoria del equipo de automatismo.
En la activación de la respuesta por el programa aplicación, convierte los parámetros de entradas IN_1 a IN_5 e introduce el resultado de esta conversión en los emplazamientos memorizados y luego provoca el envió de la respuesta recurriendo a una función de la parte genérica de un bloque función WEB.
Así, para valores corrientes tales como: IN_1 = 2, IN_2 = true, IN_3 = "Alarme temperature", IN_4 = 1234, IN 5 = 58, es fácil generar el documento de respuesta siguiente:
4
Como ya se ha precisado anteriormente, el ejemplo es sencillo pero se podrán utilizar representaciones más flexibles por ejemplo:
-
Control de la conversión de datos, por ejemplo utilizando el formalismo del lenguaje C (printf y scanf);
-
Control de la validez y del formato de un documento recibido, por ejemplo utilizando un analizador con formato SAX ó DOM, ó XSL-T;
-
Generación de un documento de forma variable, utilizando los valores de los parámetros de entrada IN_x para dirigir una transformación XSL-T.
La concepción de un programa aplicación se realiza habitualmente gracias a una estación de programación que ofrece particularmente todas las funcionalidades de lectura/escritura de un programa aplicación de automatismo, de carga/descarga en un equipo de automatismo y de vigilancia/visualización de su desarrollo en el equipo de automatismo. Una de las ventajas de la presente invención reside en el hecho de que la integración de los bloques función WEB en el programa aplicación 20 es inmediata ya que la conexión de los bloques función WEB con las instrucciones del programa aplicación 20 se realiza directamente con la estación de programación que permite escribir este programa aplicación. Por medio de dicha estación de programación, el diseñador de un programa de aplicación es por consiguiente susceptible de visualizar, modificar, introducir o suprimir bloques función WEB 21, 22 sin otro conocimiento particular que los que le permiten concebir el programa aplicación 20, lo cual facilitará grandemente la apertura de las comunicaciones WEB en las aplicaciones de automatismo.
La estación de programación puede parametrar directamente en forma de texto los datos de configuración 219, 229 de los bloques función WEB 21, 22, haciéndolos también fácilmente accesibles al diseñador del programa aplicación. Se puede, por ejemplo, considerar que los datos de configuración 219, 229 sean visualizables en lenguaje claro y modificables en una ventana específica, que se abre cuando el diseñador apunta sobre la representación gráfica de un bloque función WEB en la estación de programación.
Además, la estación de programación puede utilizar librerías de bloques función WEB preconfigurados, memorizables y manipulables a partir de la estación de programación y ofrecer juegos de bloques función WEB especializados en un tipo de contenido y/o un protocolo implementado con la ayuda de HTTP. Entre los ejemplos que pueden ser incluidos en tales librerías, se pueden citar: un bloque función servidor HTML, un bloque función servidor WML, un bloque función cliente o servidor SOAP, etc... Así, estas librerías facilitan el trabajo de un diseñador proponiéndole varios bloques función preconfigurados, que puede introducir e instalar rápidamente en su programa aplicación.
Cuando una petición 51 es recibida por un equipo de automatismo 10, la interfaz HTTP 15 del equipo de automatismo 10 la analiza y detecta si la dirección URL destinataria contenida en la petición 51 corresponde a la dirección URL de un bloque función WEB de recepción 21 del equipo de automatismo 10. Sí este es el caso, la interfaz HTTP 15 juega el papel de servidor HTTP realizando el encaminamiento y señalando al bloque función WEB de recepción 21 la llegada de la petición 51. La dirección URL del expedidor de la petición 51 se memoriza para estar en disposición de reenviar la respuesta 52 que será elaborada por el bloque función WEB de recepción 21.
Cuando una petición 51 es emitida por un bloque función WEB de emisión 22 de un equipo de automatismo 10, la interfaz HTTP 15 de este equipo de automatismo juega el papel de cliente HTTP y encamina la petición a la dirección URL destinataria contenida en la petición 51.
Se entiende que se puede, sin salir del marco de la invención, concebir otras variantes y perfeccionamientos de detalle y de incluso considerar la utilización de medios equivalentes.

Claims (13)

1. Sistema de comunicación de un equipo de automatismo (10) en una red TCP/IP (50), cuyo equipo de automatismo (10) controla una aplicación de automatismo desarrollando un programa aplicación (20) escrito en uno o varios lenguajes conformes a la norma IEC1131-3 donde el sistema de comunicación comprende:
-
una función servidor WEB implementada en el interior del programa aplicación (20),
-
medios de intercambio que comprenden al menos un bloque función WEB de recepción (21) y al menos un bloque función WEB de emisión (22) que están integrados en el programa aplicación (20) y que interactúan con el programa aplicación (20),
-
una interfaz HTTP (15) en el equipo de automatismo (10) capaz de conducir los mensajes procedentes de la red TCP/IP (50) a un bloque función WEB de recepción (21) identificado por una dirección URL, y realizar la conducción de los mensajes procedentes de un bloque función WEB de emisión (22) a una dirección URL en la red TCP/IP (50) caracterizándose el sistema de comunicación porque comprende igualmente:
-
una función cliente WEB implementada en el interior del programa aplicación.
\vskip1.000000\baselineskip
2. Sistema de comunicación según la reivindicación 1, caracterizado por el hecho de que un bloque función WEB (21, 22) comprende un código programa genérico así como datos de configuración (219, 229) que son específicos a cada bloque función WEB.
3. Sistema de comunicación según la reivindicación 2, caracterizado por el hecho de que los datos de configuración (219, 229) de un bloque función WEB (21, 22) incluyen el formato general de tramas intercambiadas por el bloque función WEB (21, 22), el tipo de petición HTTP que el bloque función WEB (21, 22) recibe o emite y la dirección URL relacionada con el bloque función WEB (21, 22) en el equipo de automatismo (10).
4. Sistema de comunicación según la reivindicación 2, caracterizado por el hecho de que un diseñador del programa aplicación (20) es capaz de configurar en forma textual los datos de configuración (219, 229) de los bloques función WEB (21, 22) integrados en un programa aplicación (20).
5. Sistema de comunicación según la reivindicación 2, caracterizado por el hecho de que los datos de configuración (219) de un bloque función WEB de recepción (21) contienen medios para realizar una correspondencia entre los elementos de una petición HTTP (51) y los parámetros de salidas (OUT_1, 0UT_n) del bloque función WEB de recepción (21) y para realizar una correspondencia entre los parámetros de entradas (IN_1, IN_n) del bloque función WEB recepción (21) y de los elementos de una respuesta HTTP (52).
6. Sistema de comunicación según la reivindicación 2, caracterizado por el hecho de que los datos de configuración (229) de un bloque función WEB de emisión (22) contienen medios para realizar una correspondencia entre los parámetros de entradas (IN_1, IN_n) del bloque función WEB de emisión (22) y elementos de una petición HTTP (51) y para realizar una correspondencia entre elementos de una respuesta HTTP (52) y los parámetros de salidas (OUT_1, OUT_n) del bloque función WEB de emisión (22).
7. Sistema de comunicación según la reivindicación 2, caracterizado por el hecho de que el contenido de una petición HTTP (51) o de una respuesta HTTP (52) es una trama XML.
8. Sistema de comunicación según la reivindicación 7, caracterizado por el hecho de que los datos de configuración (219) de un bloque función WEB de recepción (21) contienen medios para realizar una correspondencia entre los elementos de una trama XML contenidos en una petición HTTP (51) y los parámetros de salidas (OUT_1, OUT_n) del bloque función WEB de recepción (21) y para realizar una correspondencia entre los parámetros de entradas (IN_1, IN_n) del bloque función WEB de recepción (21) y de los elementos de una trama XML contenidos en una respuesta HTTP (52).
9. Sistema de comunicación según la reivindicación 7, caracterizado por el hecho de que los datos de configuración (229) de un bloque función WEB de emisión (22) contienen medios para realizar una correspondencia entre los parámetros de entradas (IN_1, IN_n) del bloque función WEB de emisión (22) y los elementos de una trama XML contenidos en una petición HTTP (51) y para realizar una correspondencia entre los elementos de una trama XML contenidos en una respuesta HTTP (52) y los parámetros de salidas (OUT_1, OUT_n) del bloque función WEB de emisión (22).
10. Sistema de comunicación según la reivindicación 2, caracterizado por el hecho de que el contenido de una petición HTTP (51) es una trama URL codificada.
11. Sistema de comunicación según la reivindicación 10, caracterizado por el hecho de que los datos de configuración (219) de un bloque función WEB de recepción (21) contienen medios para realizar una correspondencia entre los elementos de una trama URL codificada contenidos en una petición HTTP (51) y los parámetros de salidas (OUT_1, OUT-n) del bloque función WEB de recepción (21).
12. Sistema de comunicación según la reivindicación 10, caracterizado por el hecho de que los datos de configuración (229) de un bloque función WEB de emisión (22) contienen medios para realizar una correspondencia entre los parámetros de entradas (IN_1, IN_n) del bloque función WEB de emisión (22) y los elementos de una trama URL codificada contenidos en una petición HTTP (51).
13. Equipo de automatismo, caracterizado por el hecho de que contiene un programa aplicación que integra un sistema de comunicación en una red TCP/IP según una de las reivindicaciones anteriores.
ES01401675T 2000-06-30 2001-06-25 Bloque de funcion web en un equipo de automatismo. Expired - Lifetime ES2339741T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0008567A FR2811183B1 (fr) 2000-06-30 2000-06-30 Bloc fonction web dans un equipement d'automatisme
FR0008567 2000-06-30

Publications (1)

Publication Number Publication Date
ES2339741T3 true ES2339741T3 (es) 2010-05-25

Family

ID=8852007

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01401675T Expired - Lifetime ES2339741T3 (es) 2000-06-30 2001-06-25 Bloque de funcion web en un equipo de automatismo.

Country Status (5)

Country Link
US (1) US6915330B2 (es)
EP (1) EP1168768B1 (es)
DE (1) DE60141433D1 (es)
ES (1) ES2339741T3 (es)
FR (1) FR2811183B1 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2813471B1 (fr) * 2000-08-31 2002-12-20 Schneider Automation Systeme de communication d'un equipement d'automatisme base sur le protocole soap
US7072946B2 (en) 2001-05-31 2006-07-04 Juniper Networks, Inc. Network router management interface with API invoked via login stream
US7054901B2 (en) * 2001-05-31 2006-05-30 Juniper Networks, Inc. Network management interface with selective rendering of output
US8650321B2 (en) * 2001-07-24 2014-02-11 Digi International Inc. Network architecture
US7111206B1 (en) 2001-09-19 2006-09-19 Juniper Networks, Inc. Diagnosis of network fault conditions
CN100351828C (zh) * 2002-06-06 2007-11-28 联想(北京)有限公司 基于分布式文件系统的文件存储系统及其文件访问方法
EP1315358A1 (en) * 2002-09-12 2003-05-28 Agilent Technologies Inc. a Delaware Corporation Data-transparent management system for controlling measurement instruments
US7904583B2 (en) * 2003-07-11 2011-03-08 Ge Fanuc Automation North America, Inc. Methods and systems for managing and controlling an automation control module system
DE10336648A1 (de) * 2003-08-09 2005-03-03 Abb Research Ltd. System und Verfahren zur web-basierten Überwachung und Steuerung mehrerer räumlich verteilter Anlagen
US7171454B2 (en) * 2003-08-13 2007-01-30 Siemens Energy & Automation, Inc. Method for providing real-time production information using in-situ web services embedded in electronic production equipment
US8554877B2 (en) * 2005-08-19 2013-10-08 Rockwell Automation Technologies, Inc. Motor drive with integrated server module
US7587251B2 (en) * 2005-12-21 2009-09-08 Rockwell Automation Technologies, Inc. Remote monitoring and control of an I/O module
EP1821165B1 (de) * 2006-02-17 2010-01-20 Siemens Aktiengesellschaft Nutzung von Variablen in mehreren Automatisierungssystemen
EP2093676A1 (de) * 2008-02-20 2009-08-26 Siemens Aktiengesellschaft Verfahren zur Generierung von Funktionsbausteinen für Webdienste.
EP2148281A1 (de) * 2008-07-22 2010-01-27 Siemens Aktiengesellschaft Speicherprogrammierbares Steuerungssystem und Verfahren zur automatisierten Erstellung von zusammengesetzten Webseiten
US8909641B2 (en) 2011-11-16 2014-12-09 Ptc Inc. Method for analyzing time series activity streams and devices thereof
US9098312B2 (en) 2011-11-16 2015-08-04 Ptc Inc. Methods for dynamically generating an application interface for a modeled entity and devices thereof
US9576046B2 (en) 2011-11-16 2017-02-21 Ptc Inc. Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof
DE102012112225B3 (de) * 2012-12-13 2014-01-30 Schneider Electric Automation Gmbh Verfahren zum Austausch von gerätespezifischen Daten zwischen Geräten und/oder Systemen verschiedener Netzwerksysteme sowie Bussystem zur Durchführung des Verfahrens
FR3001553B1 (fr) * 2013-01-31 2018-11-02 Wesby Sarl Dispositif de commande pour un systeme d'automatisme
EP2770434B1 (de) 2013-02-21 2016-09-14 dSPACE digital signal processing and control engineering GmbH Verfahren zur Durchführung einer Inventarisierung der an ein Steuergeräte-Testsystem angeschlossenen Hardware-Komponenten
EP2770389B1 (de) 2013-02-21 2019-05-08 dSPACE digital signal processing and control engineering GmbH Verfahren zur Durchführung einer Konfiguration eines Steuergeräte-Testsystems
JP6285010B2 (ja) 2013-03-15 2018-02-28 ピーティーシー インコーポレイテッド 意味論的モデル化およびタグ付けを使用してアプリケーションを管理する方法およびその装置
WO2015143416A1 (en) 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
US9462085B2 (en) 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US9350812B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of message routing using name-based identifier in a distributed computing environment
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US9560170B2 (en) 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9350791B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of injecting states into message routing in a distributed computing environment
US10025942B2 (en) 2014-03-21 2018-07-17 Ptc Inc. System and method of establishing permission for multi-tenancy storage using organization matrices
US9467533B2 (en) 2014-03-21 2016-10-11 Ptc Inc. System and method for developing real-time web-service objects
CN103941675B (zh) * 2014-03-27 2016-06-29 北京卓越经纬测控技术有限公司 基于无线网络的安全监测管理系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956487A (en) * 1996-10-25 1999-09-21 Hewlett-Packard Company Embedding web access mechanism in an appliance for user interface functions including a web server and web browser
US6282454B1 (en) * 1997-09-10 2001-08-28 Schneider Automation Inc. Web interface to a programmable controller
US6370569B1 (en) * 1997-11-14 2002-04-09 National Instruments Corporation Data socket system and method for accessing data sources using URLs
US6201996B1 (en) * 1998-05-29 2001-03-13 Control Technology Corporationa Object-oriented programmable industrial controller with distributed interface architecture
FR2804218B1 (fr) * 2000-01-26 2002-03-29 Schneider Automation Automate programmable dote de fonctions de communication dans une architecture client-serveur

Also Published As

Publication number Publication date
FR2811183B1 (fr) 2006-09-01
EP1168768B1 (fr) 2010-03-03
DE60141433D1 (de) 2010-04-15
FR2811183A1 (fr) 2002-01-04
US20020016815A1 (en) 2002-02-07
US6915330B2 (en) 2005-07-05
EP1168768A1 (fr) 2002-01-02

Similar Documents

Publication Publication Date Title
ES2339741T3 (es) Bloque de funcion web en un equipo de automatismo.
US7366752B2 (en) Communication system of an automation equipment based on the soap protocol
US6697967B1 (en) Software for executing automated tests by server based XML
EP0576574B1 (en) Programming language structures for use in a network for communicating, sensing and controlling information
RU2426234C2 (ru) Система, способ и устройство для контроля и управления удаленными приборами
US8812684B1 (en) Messaging configuration system
CN108667807A (zh) 一种基于监控云平台与网关的协议自适应方法及系统
CN101421722A (zh) 用于提供剪辑以在远程设备上进行查看的方法
CN101197833A (zh) 分布式消息引擎和系统
CN103095609A (zh) 一种基于物联网终端的接入适配方法和装置
Johansson Profinet industrial internet of things gateway for the smart factory
WO2021171125A1 (en) Messaging campaign manager, messaging campaign manager system, bulk or mass messaging system, method of bulk or mass messaging, computer program, computer-readable medium, graphical user interface.
JP2014106938A (ja) 機器管理システム
CN109995782B (zh) 一种信息处理方法、设备、系统及计算机存储介质
CN110177030B (zh) 工业网关控制测试方法
CN114095303A (zh) 通信设备、数据传输方法及电子设备
US20070112793A1 (en) Model publishing framework
CN111209613A (zh) 一种智能产品的快速设计方法及系统
Culler et al. Embedded web services: making sense out of diverse sensors
Altamirano et al. A scalable intelligent room based on wireless sensor networks and RFIDs
WO2018095637A1 (en) Device and method for transmitting data
CN116016717A (zh) 一种基于多协议通信的物联设备接入方法及系统
Yıldırım Data sharing using mqtt and zigbee-based dds on resource-constrained contiki-based devices
Ismail et al. Service-Oriented Architectures for Interoperability in Industrial Enterprises
CN117130318A (zh) 工业数据采集方法、装置、系统和可读存储介质