MXPA01011549A - Un navegador web. - Google Patents

Un navegador web.

Info

Publication number
MXPA01011549A
MXPA01011549A MXPA01011549A MXPA01011549A MXPA01011549A MX PA01011549 A MXPA01011549 A MX PA01011549A MX PA01011549 A MXPA01011549 A MX PA01011549A MX PA01011549 A MXPA01011549 A MX PA01011549A MX PA01011549 A MXPA01011549 A MX PA01011549A
Authority
MX
Mexico
Prior art keywords
protocol
task
programmable logic
logic controller
tcp
Prior art date
Application number
MXPA01011549A
Other languages
English (en)
Inventor
A Baker Richard
Original Assignee
Schneider Automation
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=24088063&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=MXPA01011549(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US09/524,171 external-priority patent/US7058693B1/en
Application filed by Schneider Automation filed Critical Schneider Automation
Publication of MXPA01011549A publication Critical patent/MXPA01011549A/es

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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13152Modification of program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13172Remote programming from computer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31156Network structure, internet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31186TCP-IP internet protocol
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

Un sistema de control incluye una interfaz web de Internet a una red de al menos un sistema de control logico programable que corre un programa de aplicacion para controlar dispositivos de salida en respuesta al estado de dispositivos de entrada. La interfaz web corre paginas web a partir de una tarjeta Ethernet acoplada directamente al retro-plano del controlador logico programable e incluye in interprete del protocolo HTTP, un controlador del retro-plano del controlador logico programable, un apilamiento TCP/IP, y un kernel de tarjeta Ethernet. La interfaz web provee acceso al retro-plano del controlador logico programable mediante un usuario en un lugar remoto a traves de Internet. La interfaz traduce los protocolos estandar en la industria Ethernet, TCP/IP y HTTP usados en Internet en datos reconocibles por el controlador logico programable. Residente en el controlador logico programable esta un paquete de programacion accesible a un usuario mediante esta interfaz que permitira al usuario editar programas que controlan la operacion del sistema controlador logico programable.

Description

UN NAVEGADOR WEB 5 Campo Técnico La invención de la solicitante se refiere generalmente al campo de los controladores programables y, mas particularmente, a un sistema para acoplar una red de controladores programa- bles, mediante una inter-red, a un dispositivo de monitoreo y 10 control . g^ Solicitudes Relacionadas Esta solicitud es una continuación en parte de la solicitud de patente de los Estados Unidos No. 09/3003,458, que a su vez es una continuación en parte de la solicitud de patente 15 de los Estados Unidos No. 08/927,005. Esta solicitud también se relaciona con la siguiente solicitud, cedida a la cesionaria de la presente, intitulada "Apparatus for Controlling Internetwork Communications" , solicitud de patente de los Estados Unidos No. ^fc 08/926,837. Los contenidos de estas solicitudes se incorporan en 20 la presente por referencia. Antecedentes de la Invención El control y monitoreo remoto de sistemas y procesos ha tomado muchas formas. En el pasado, las líneas dedicadas se convirtieron las formas mas comunes de comunicación entre un 25 sistema de control y una ubicación remota. Esto tiene una aplicación limitada dado que el sistema de control no era accesible desde ubicaciones múltiples. Los módems han hecho posible el acceso de sistemas de control desde ubicaciones ^ft diferentes, pero este tipo de sistemas generalmente se restringen a descargar y cargar archivos de datos. Proporcionar cualquier > tipo de función de control entre ubicaciones es algo limitado en este tipo de ambiente. Además, un usuario final generalmente requería una interfaz personalizada para tener acceso al sistema de control. Con el crecimiento de Internet, y su World Wide Web proporcionando una plataforma de entrega para organizar datos de Internet a través de ligas de hiper texto, un sistema servidor cliente puede diseñarse tal que de a cada usuario final el mismo tipo de una interfaz amigable con el usuario con el mismo acceso universal a servicios en la Web. La Web es una red de documentos llamados sitios o páginas almacenados en computadoras servidores a través del mundo. Cada página usualmente contendrá texto, algún tipo de ofrecimiento de multimedios tal como imágenes gráficas, video o audio, y posibles ligas de hiper texto a otros documentos. Un navegador permite al usuario leer las páginas e interac- tuar con las selecciones asociadas con ellas. El navegador es un programa de software gráfico que envía órdenes al sitio Web de Internet y despliega cualquier información que esté disponible en la página. Varios programas de navegador están disponibles comercialmente de distintos fabricantes. La red de Internet emplea métodos diseñados para manejar miles de computadoras de propósito general compartiendo un solo cable, y por lo tanto no tiene habilidad para diferenciar tráfico en términos de su propósito o lo crítico de sus datos. El Internet no es mas una red de computadoras que comparten un solo cable, sino una red de ligas de punto a punto interconectadas involucrando tanto estaciones de propósito general como componentes de infraestructura especializada tales como ruteadores y paredes de fuego ( " firewalls" ) . El tipo de computadora personal o estación de trabajo usado por el usuario final para conectarse a la Web no es de • importancia. La comunicación sobre el Internet y otras redes requiere uno de varios tipos de protocolos. Protocolos tales como el Protocolo de Internet (IP) proveen para transferencia de archivos, correo electrónico, y otros servicios. Un lenguaje de 15 programación de Sun Microsystems conocido como Java, junto con el Lenguaje de Elevación de Hiper-texto (HTML) , usado en diseño de arreglos y gráficos para un sitio o página Web ha extendido la ^^ tecnología de Internet tal que un sitio Web puede usarse para aplicaciones dinámicas, comúnmente llamadas applets, que pueden 20 descargarse y correrse por un usuario final. Estos applets se interpretan y corren dentro de un navegador Web y han sido restringidos generalmente a procesamiento de textos y usos similares. Descargar y correr applets puede ser lento en comparación a otros tipos de lenguajes compilados. Las reglas de 25 seguridad impuestas en un navegador y hechas valer por el lengua JAVA precedente previenen a los applets de obtener ciertos datos de cualquier otro dispositivo otro que el propio servidor Web. Los controladores lógicos programables (PLCs) se usan ampliamente en el control industrial y de procesos. Muchos fabricantes proveen información de automatización de fábrica usando Microsoft Windows y otros tipos de ambientes de redes de comunicación. Estas redes usualmente son lentas, y no son accesibles universalmente y están limitadas a monitoreo e intercambio de datos. El control puede ser implementado, pero ya que las redes de comunicación son no deterministas, el control no • es en tiempo real. Las redes industriales especializadas usando alternativas de barra colectora de campo patentadas pueden ser muy costosas. Los productos de conversión se requieren para permitir que la información se transporte sobre aquellas redes 15 para ser visible en una red de propósito general . Hay costos significativos de instalación y otros despliegues asociados con la existencia de tales dispositivos intermedios. Las firewalls ^ entre el servidor Web y la aplicación son diseñadas para resolver los problemas de seguridad y no son diseñadas para alto desempe- 0 ño. Programar los PLCs en estos ambientes tiene muchas fallas. Con muchos PLCs diferentes posibles en un sistema de control integrado, hacer cambios o actualizaciones puede ser difícil y costoso. El paquete de programación usualmente se vende 5 por separado del PLC. El usuario puede necesitar comprar y mantener paquetes de programación separados y puede necesitar entrenamiento para cada paquete de programación. El paquete puede tener una vista y sentido diferentes de otros dentro del sistema de control . Sería deseable desarrollar un sistema de control de automatización en el cual un usuario pueda usar redes generales, comerciales, tales como el Internet en lugar de redes industriales especializadas para monitorear y programa: remotamente dispositivos de control de automatización tales como los PLCs, Compendio de la Invención • De manera acorde, el principal objetivo de la presente invención es proveer una interfaz entre un sistema de control industrial y un navegador Web acoplado a una reidf tal como el Internet . 15 Otro objetivo de la presente invención es proporcionar acceso remoto a través de un navegador Web a información y datos contenidos en un sistema de control industrial que tiene un Controlador Lógico Programable. • Un objetivo adicional de la presente invención es 20 proveer capacidad de programación remota de un Controlador Lógico Programable contenido en un sistema de control industrial En la forma de realización preferida de la invención, la invención permite el fácil acceso sobre una red comercial tal como el Internet a información dentro de un controlador lógico 5 programable (PLC) . El acceso puede hacerse localmente o mundial mente usando un navegador Web comercial . La invención comprende un sistema de control de elementos esenciales incluyendo, pero no limitado a una interfaz Web, una red local, y una interfaz de red a al menos un sistema de control de PLC corriendo un programa de aplicación para controlar dispositivos de salida en respuesta al estado de los dispositivos de entrada. La interfaz Web corre páginas Web desde una tarjeta Ethernet acoplada directamente al plano posterior de PLC e incluye un intérprete de: protocolo de transferencia de hiper-texto (HTTP) , un controlador de plano posterior de PLC, un apilamiento de Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP) , y un núcleo de tarjeta Ethernet. La interfaz Web provee acceso al plano posterior de PLC por un usuario en una ubicación remota a través de Internet . La interfaz traduce los protocolos Et!:ernet, TCP/IP 15 y HTTP de estándar industrial usados en el Inteirnet en datos reconocibles al PLC. Usando esta interfaz, el usuario puede recuperar todos los datos pertinentes respecto de la operación del PLC, incluyendo la configuración del PLC, estado de entra¬ • da/salida (I/O) y registro, estadísticas de operación, diagnósti¬ 20 cos, y configuraciones de 1/0 distribuidas. Actualizaciones al software operativo pueden también descargarse a través del acceso a Internet. Residente en el PLC está un paquete programable accesible a un usuario a través de esta interfaz qµe permitirá al usuario editar los programas que controlan la operación del 25 sistema de controlador lógico programable.
Otras características y ventajas de la invención, que se cree que son novedosas y no obvias, serán aparentes a partir de la siguiente especificación tomada en conjunto con los dibujos acompañantes en los cuales se muestra una forma de realización preferida de la invención. Se hace referencia a las reivindicaciones para interpretar el alcance total de la invención que no necesariamente representa tal forma de realización. Breve Descripción de los Dibujos La figura 1 muestra una diagrama de bloques global de un sistema típico que ilustra la relación entre un usuario en una • ubicación remota y un sitio Web de Internet usado para monitorear un sistema de control de procesos de acuerdo con la presente invención. La figura 2 es un diagrama de bloques básico de la 15 presente invención que ilustra una interfaz de Internet a un sistema de controlador lógico programable. La figura 3 es un diagrama de bloques del módulo de ?k servidor Web ilustrado en la figura 2 de acuerdo con la presente invención. 0 La figura 4 es una página de mímica típica disponible a un usuario en una ubicación remota utilizando un navegador que ilustra la presente invención para monitorear un sistema de controlador programable. Descripción Detallada de la Invención 5 Aunque esta invención es susceptible a formas de realización de muchas maneras diferentes, una forma de realización preferida será descrita e ilustrada en detalle en la presente. La presente divulgación ejemplifica los principios de la invención y no debe considerase una limitación a los aspectos mas amplios de la invención a la forma de realización particular como se describe. La figura 1 muestra un diagrama de bloques global de un sistema típico que ilustra la relación entre un usuario 2 en una ubicación remota y un sitio web de Internet 4 usado para monitorear un sistema de control de procesos 6. El usuario 2 tendrá una computadora personal (PC) 8 que tiene un navegador disponible comercialmente 10, tal como Navigator de Netscape Communications o Internet Explorer de Microsoft, instalado para ver los contenidos de un sitio web 4 por un monitor 12 a través 15 de una red, tal como el Internet 14. La PC provee una interfaz hombre-máquina (HMI) remota al sistema de control de procesos 6. Varios servicios de interconexión son fácilmente disponibles para ^fc proveer la interconexión física y eléctrica desde la PC al propio Internet 14. El Internet 14 es una colección de redes de 0 comunicación mundial independientes que se interconectan una con la otra y funcionan como una entidad sola de conexión. La comunicación se basa en una base de cliente-servidor, usando un número de protocolos establecidos que permite la comunicación y transferencia de archivos entre el cliente y el servidor. El 5 protocolo mas ampliamente usado es el Protocolo de Internet (IP) .
El sitio web 4 incluye una interfaz de red 16 que tiene una dirección de Internet única 18, un servidor 20, y un programa de aplicación 22. El servidor 20 actúa como un intérprete de protocolo de transferencia de hiper texto (HTTP) que usa el Protocolo de Control de Transmisión (TCP) en conjunto con el Protocolo de Internet, a través de un apilamiento de Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP) 24 para interactuar con la interfaz de red 16 y el programa de aplicación 22. Esto permite la transferencia de datos entre el programa de aplicación 22 y el usuario 2 a través del Internet 14. El programa de aplicación provee datos desde un sistema de control de proceso 6. Estos datos pueden usarse para monitorear el proceso de control por el usuario 2 en la ubicación remota. El apilamiento TCP/IP 24 habilita transferencia de datos sobre el Internet 14 entre el usuario 2 y el sitio web 4 según se requiere por las varias capas especificadas por el protocolo IP. El usuario 2 puede conectarse al Internet 14 usando uno de un número de proveedores de servicio de Internet e insertará la dirección del sitio web 4 cuando se conecte. El sitio web 4 desplegará una página de inicio que puede contener texto, algún tipo de ofrecimientos de multimedios tales como imágenes gráficas, video, o audio, y posibles ligas de hiper texto a otros documentos. El navegador 10 permitirá al usuario 2 leer la página e interactuar con las selecciones asociadas con ella. El navegador 10 enviará órdenes al sitio web 4 que usará el programa de aplicación 22 para desplegar cualquier información que esDte disponible en el sistema de control de proceso 6. El navegador 10 funciona como una interfaz hombre-máquina remota o control HMI del sistema de control de proceso como se verá a detalle mas adelante . La figura 2 muestra un diagrama de bloques básico de la presente invención que ilustra la interfaz de Internet a un sistema de controlador lógico programable. El sitio web 4 incluye la interfaz de red 16 que tiene una dirección de Internet única 18 y un servidor web 30. El servidor web 30 provee la página de inicio para el sitio web. Una firewall o seguridad para el sistema global puede incluirse en el servidor web 30, pero se mantiene generalmente como parte de la interfaz de red 16. Adicionalmente a proveer seguridad para varias páginas en el sitio, el usuario puede deshabilitar el servidor web 30. Una contraseña y lista de usuarios se provee en los archivos de configuración inicial almacenados en el servidor web 30 que se descargan desde un servidor remoto. La protección del archivo de configuración se provee entonces por el servidor remoto y el servidor web 30 a través de la contraseña y la lista de usuarios. El servidor web 30 provee una conexión directa para un controlador lógico programable (PLC) 32 al Internet 14 conectando el servidor web 30 en su plano posterior 34. El servidor web 30 provee una interfaz tanto de cliente como de servidor. Las señales entre el PLC 32 y el servidor web 30 son a través del plano posterior 34 en lugar que sobre un conjunto de cables que normalmente tendría que acoplarse a módulos de entrada/salida que ^fc a su vez se conectan dentro del plano posterior 34. Las señales de plano posterior incluyen direccionamiento, control, datos, y 5 energía. La interfaz de cliente permite a un usuario enviar órdenes a un nodo remoto sobre el Internet y la interfaz de servidor permite el procesamiento de órdenes que se originan desde un nodo remoto. Controlar el PLC 32 desde una HMI remota, esencialmente en una base de tiempo real es posible por medio de lfl^ controlar el flujo de datos a través del servidor web 30. Asociados con el PLC 32 están sus programas de aplicación 36, memoria de puerto dual 38 y módulos de Entrada/Salida (1/0) 40. Los programas de aplicación 36 incluyen un programa lógico de escalera para controlar los módulos de I/O 40. 15 El servidor web 30 funciona como un nodo en una red TCP/IP 42 permitiéndole enviar órdenes al PLC 32 y recibir la respuesta. Aunque la red TCP/IP 42 en la forma de realización preferida es una red Ethernet, otros protocolos de alto nivel pueden usarse. Usando un navegador web en una ubicación remota a través del 0 Internet 14, un usuario puede controlar y ver información del configuración del PLC 32. Un paquete de programación 33, usando ya sea Java o HTML, reside en el PLC 32. Está basado en tecnología de Ethernet y Web y permite editar los programas de aplicación 36 usando la 5 computadora personal 8 por el usuario 2. Los programas de 5¡-g» aplicación 36 almacenados ya sea como una escalera lógica o un programa de lenguaje IEC 1131, se ven como programas PLC dentro del PLC 32, accesibles usando ya sea los protocolos estándar HTTP o personalizados de PLC que corren sobre TCP/IP. La información necesaria para editar el PLC 32, incluyendo las páginas web 35 para los procedimientos de edición, residen en el propio PLC 32. El paquete de programación 33 convierte estos programas de aplicación 36 a y desde formatos necesarios para editar con un navegador. El paquete de programación 33 también incluye editores de símbolos 37 y editores de lenguaje 39. El usuario 2 podrá ver y editar los programas de aplicación 36 del PLC desde cualquier lugar donde un navegador esté disponible. Una firewall o seguridad para el sistema global, mantenida como parte de la interfaz de red 16 previene que usuarios no autorizados tengan acceso al paquete de programación 33. Adicionalmente a proveer la habilidad de editar los programas de aplicación 36, proporcionando un vista basada en el Protocolo de Transferencia de Archivos (FTP) de los programas de aplicación 36, el respaldo de archivos y su restitución pueden manejarse a través de herramientas de programación estándar, permitiendo al usuario manejar los programas de aplicación 36 directamente y eficientemente y para también usar el software de control de revisión estándar para manejar los programas de aplicación 36. Además, ya que todos los símbolos se almacenan dentro de PLC, cualquier computadora personal puede usarse para editar los programas de aplicación 36. El servidor web 30 se muestra en mayor detalle en la figura 3. Varios componentes proveen la conectividad requerida para desempeñar su funcionalidad. Un sistema operativo en tiempo real 44 controla la interacción entre los componentes. El sistema operativo 44 reparte tiempo de procesador en una unidad de procesador central (CPU) 46 a varias tareas, provee manejo de memoria, y provee un conjunto de servicios de mensaje y servicios de señal. Los servicios de mensaje y de señal permiten la comunicación entre tareas, y entre controladores y una tarea. La conexión a la red TCP/IP 42 es a través de un controlador Ethernet 48 que transmite y recibe mensajes a una tasa de 10 Mbps (megabits por segundo) o mayor por vía de un chip de comunicación Ethernet 49, tal como, en el caso de una Ethernet de 100 Mbs, un Crystal CS8952 disponible de Cirrus Logic, Inc. Se contempla que en el futuro los chips de comunicación Ethernet capaces de velocidades de 1 Gbs (gigabits por segundo) y mayores puedan usarse. La conexión física sobre la cual la comunicación se facilita puede ser sobre un cable de fibra óptica o un alambre de cobre de tipo par trenzado. En el caso de Ethernet de 10 Mbs sobre alambre de cobre de tipo par trenzado, el alambre de cobre y las conexiones de alambre deben conformarse a al menos el estándar de alambre de cobre de categoría 5. Alternativamente, el apilamiento TCP/IP 24 puede reemplazarse por un apilamiento TCP/IP dual. El apilamiento TCP/IP dual comprende un primer apilamiento TCP/IP que provee soporte para un amplio rango de mensajes de TCP/IP. El segundo apilamiento TCP/IP es un "apilamiento corto" que maneja mensajes de control de alta prioridad entre el PLC 32 y los módulos de 1/0 40. Para mensajes de TCP/IP salientes, el apilamiento TCP/IP apropiada deberá escogerse por un programa de aplicación 36 asociado con el PLC 32. En mensajes TCP/IP entrantes, el mensaje TCP/IP sería interceptado y examinado para ver si es un mensaje TCP/IP que se envió para el Modbus en protocolo Ethernet. Si es un mensaje TCP/IP enviado para el Modbus en protocolo Ethernet, entonces el mensaje se entrega al segundo apilamiento. Si no es un mensaje TCP/IP enviado para el Modbus en protocolo Ethernet, el primer apilamiento TCP/IP maneja el mensaje. En esta manera, los mensajes TCP/IP enviados para el Modbus en protocolo Ethernet son manejados mas rápidamente y eficientemente que cuando se implementa un solo apilamiento TCP/IP. El servidor web tendrá una dirección global única 18, permitiéndole ser direccionada por otros dispositivos en la red. El controlador Ethernet 48 maneja amortiguadores de transmisión 50 y recepción 51 en la memoria 52, y hace interfaz con el chip de comunicación Ethernet 49. Los amortiguadores de transmisión 50 y recepción 51 son compartidos tanto por el chip de comunicación Ethernet 49 y el controlador Ethernet 48. El controlador Ethernet 48 también provee una interfaz de solicitud de transmisión y una interfaz de indicación de recepción al apilamiento TCP/IP 54. El chip de comunicación Ethernet 49 provee una interfaz de cola de flk transmisión, una interfaz de cola de recepción, y genera interrupciones cuando completa la transmisión de un mensaje, y en ' la recepción de un nuevo mensaje. El controlador Ethernet 46 coloca amortiguadores de recepción en la cola de recepción. En la rutina de interrupción, el controlador Ethernet 46 examina la cola de recepción. Si cualquier mensaje está en la cola de recepción, pasa el amortiguador de recepción al apilamiento de TCP/IP 54. El apilamiento TCP/IP 54 copia el amortiguador, y • algún tiempo después llama al controlador Ethernet 48 para regresar el amortiguador y colocar el amortiguador regresado otra vez en la cola de recepción. El apilamiento TCP/IP 54 llama al controlador Ethernet 48 a transmitir un mensaje. El controlador Ethernet 46 intenta repartir un amortiguador desde la memoria compartida 52. Si lo logra, copia el mensaje en el amortiguador, y coloca el amortiguador en la cola de transmisión del chip de comunicación Ethernet 49. Si no hay amortiguador de transmisión, entonces el controlador desecha el mensaje de transmisión. En la rutina de interrupción, el controlador Ethernet 48 examina la cola de transmisión, y libera los amortiguadores transmitidos. La red TCP/IP 42 permite funciones MSTR (maestras) especiales que permiten a nodos en la red iniciar transacciones de mensaje. Estas funciones MSTR incluyen leer y escribir datos y son usadas para órdenes y respuestas. Ellas permiten que los programas que corren en el PLC 32 envíen órdenes a un nodo remoto jflk en la red TCP/IP 42 y recibir las respuestas. Un controlador de plano posterior 56 envía órdenes y recibe la respuesta al PLC 32 i sobre el plano posterior 34. El controlador de plano posterior 56 recibe solicitudes desde los bloques MSTR lógicos de escalera del PLC almacenados en su memoria 38. Cuando una respuesta está disponible, el controlador de plano posterior 56 la pasa de regreso al bloque MSTR. El controlador de plano posterior 56 provee una tarea de cliente 58, • una tarea de FTP 59, y una tarea de servidor 60 a las aplicaciones. La interfaz de tarea de servidor 60 permite a una aplicación emitir una orden de solicitud al programa ejecutivo del PLC 32 y recibir su respuesta. La tarea de cliente 58 permite a una aplicación recibir una nueva solicitud MSTR y pasar la respuesta de regreso al programa lógico de escalera. La tarea de FTP 59 provee una vista basada en FTP de los programas de aplicación 36, permitiendo al usuario manejar los programas de aplicación 36 directamente y eficientemente y también usar el software de control de revisión estándar para manejar los programas de aplicación 36. La tarea de servidor 60 usa un mecanismo de cola y funciones de llamado de regreso. Una aplicación pone en cola tanto la solicitud y la función de llamado de regreso asociada con la solicitud. Cuando el controlador de plano posterior 56 da servicio a la solicitud en su rutina de interrupción, llama a la función de llamado de regreso asociada. La respuesta y la fl solicitud original se pasan a la función de llamado de regreso. La función de llamado de regreso puede llamar una rutina 5 operativa para ya sea pasar un mensaje o señalar la aplicación. La tarea de cliente 58 también usa colas y la función de llamado de regreso. La aplicación de cliente pone en cola tanto una solicitud de indicación en cola y una función de llamado de regreso asociada con la solicitud. Cuando el controla- Kjj^É dor de plano posterior 56 detecta una nueva solicitud de bloque MSTR en su rutina de interrupción, llama a la función de llamado de regreso asociada. La solicitud se pasa dentro de la función de llamado de regreso. La función de llamado de regreso pueden llamar una rutina de sistema operativo para ya sea pasar un 15 mensaje o señalar la aplicación. Si el controlador de plano posterior 56 detecta que el bloque MSTR ha sido abortado, o no está siendo resuelto mas, llama a una función de llamado de regreso de aborto asociada suministrada por usuario. La aplicación llama a una rutina a pasar la respuesta MSTR y una rutina de 0 llamado de regreso asociada al controlador. Algún tiempo después, el controlador pasa de regreso la respuesta al programa lógico de escalera en su rutina de servicio de interrupción, y entonces llama a la función de llamado de regreso suministrada por usuario. 5 El PLC 32 hace interfaz con el hardware del servidor web 30 por vía de la memoria de puerto dual 38. Lee y escribe a la memoria de puerto dual 38 usando un chip ASIC. Escribir a una flB ubicación especificada ocasionará una interrupción. El PLC 32 primero escribe un mensaje en la memoria de puerto dual 38, y 5 entonces ocasiona la interrupción. El mensaje indica un tipo de orden. Un tipo indica que un bloque MSTR está siendo resuelto. Otros tipos son usados para pasar solicitudes al PLC 32 y obtener las respuestas a las solicitudes. Después de que el PLC 32 pasa el mensaje, escudriña a la memoria de puerto dual 38 para órdenes ( colocadas por el controlador de plano posterior 5. Estas órdenes son leer memoria, escribir memoria, y procesamiento está completo. El controlador de plano posterior 56 usa máquinas de estado para procesar las interrupciones MSTR. El número máximo de bloques MSTR activos se ajusta a cuatro en la presente invención, 5 requiriendo cuatro máquinas de estado. Cuando el controlador de plano posterior 56 recibe una interrupción MSTR, intenta encontrar una máquina de estado asociada que encaja con el bloque MSTR. Si ya hay cuatro transacciones sobresalientes, no hay mas disponibles, y el controlador de plano posterior 56 ajustará las 0 salidas de MSTR a falso. Si una máquina de estado no se encuentra, el controlador de plano posterior 56 determina si es una nueva transacción, una transacción sobresaliente, o una respuesta está disponible. Si es una nueva transacción copia la solicitud y llama a la rutina de llamado de regreso asociada con la aplicación. Si es una transacción sobresaliente, indica al programa lógico de escalera que el bloque MSTR aun está ocupado. Si una respuesta está disponible, el controlador de plano fl posterior 56 copia la respuesta, ajusta ya sea la salida de error o cumplimiento de MSTR, y llama a la rutina de llamado de regreso i de la aplicación. Dos interrupciones se usan para procesar una solicitud. En la primera interrupción, llamada interrupción de pre-puerto, el controlador de plano posterior 56 copia la solicitud dentro de una estructura de datos localizada en la memoria dual 38 del PLC 32. En la segunda interrupción, llamada la interrupción de final de examen, el controlador de plano posterior 56 copia la respuesta desde la estructura de datos del controlador dentro del amortiguador de usuario. Entonces llama a la función de llamado de regreso asociada del usuario. La solicitud para tener acceso los registros del PLC 32 se procesan por el controlador de plano posterior 56 y no se envía al programa ejecutivo del PLC para procesamiento. El k controlador de plano posterior 56 determina la ubicación de memoria en la memoria 38 de los registros del PLC 32. Al final de la interrupción de examen, el controlador de plano posterior 56 procesa las solicitudes de registro de lectura/escritura enviando órdenes por vía de la memoria de puerto dual 38 al PLC 32 a ubicaciones de lectura o escritura conteniendo los registros. El controlador de plano posterior 56 dará servicio a un máximo de cuatro solicitudes de registro de lectura/escritura al final de la interrupción de examen.
Una tarea de cliente 58 hace interfaz con el apilamiento TCP/IP 54, el controlador de plano posterior 56 y usa los 5 servicios de mensaje del sistema operativo 44. Procesa la solicitud MSTR. Cuando la tarea de cliente 58 recibe una solicitud MSTR desde el controlador de plano posterior 56, pasa la solicitud al apilamiento TCP/IP 54. Cuando el apilamiento TCP/IP 54 regresa una respuesta a la tarea de cliente 58, pasa la respuesta al controlador de plano posterior 56. El apilamiento TCP/IP 54 provee una interfaz TCP/IP Berkeley y una extensión de señal. La extensión de señal llama una función suministrada por usuario que pasa en un número de socket, una ID de tarea, y un evento. La función de señal llama al sistema operativo 44 para 5 enviar un mensaje a la tarea indicada por la ID de tarea. Envía un mensaje ya sea a la tarea de cliente 58 o tarea de servidor 60. La tarea de cliente 58 destina indicaciones de solicitud al ^fc controlador de plano posterior 56, y la rutina de llamado de regreso asociada llama al sistema operativo 44 para enviar un 0 mensaje a la tarea de cliente 58 para una nueva transacción MSTR. La tarea de cliente 58 maneja múltiples transacciones MSTR sobresalientes usando las máquinas de estado. Hay una lista ligada de máquinas de estado de conexión. Las máquinas de estado de conexión se usan para establecer conexión y cerrar conexiones. 5 Adicionalmente, cada máquina de estado de conexión contiene una lista de máquinas de estado de transacción. Cada máquina de transacción en la máquina de estado de conexión representa una transacción a un nodo representado por la máquina de conexión. Las máquinas de transacción se usan para enviar una solicitud, y procesar la respuesta. La tarea de cliente 58 entra a un ciclo después de llevar a cabo la inicialización. Llama al sistema operativo 44 para recibir un mensaje. El sistema operativo bloqueará la tarea de cliente 598 hasta que hay un mensaje o hasta que haya una suspensión. Ya sea recibe un mensaje desde el apilamiento TCP/IP 54, desde una rutina de llamado de regreso MSTR, o suspende. Si el mensaje recibido desde el sistema operativo 44 es una nueva solicitud MSTR, la tarea de cliente obtendrá una máquina de estado de conexión, y coloca una nueva máquina de transacción al final de la lista de máquinas de estado de conexión. En este punto la máquina de transacción intentará transmitir el mensaje. Puede no ser posible transmitir el mensaje porque no se ha establecido ninguna conexión, o porque el lado remoto puede haber aplicado un control de flujo. Si el mensaje recibido desde el sistema operativo 44 es un evento TCP/IP, la tarea de cliente 58 encuentra la máquina de conexión asociada y determina si el evento TCP/IP es una conexión aceptada, una conexión abortada, o un evento de datos recibidos. Con base ene el estado de conexión, y el estado de la máquina de transacción, la tarea de cliente 58 procesa el mensaje para avanzar las transacciones si es que hay alguna. Recibir datos para las respuestas MSTR puede ocurrir sobre varios eventos TCP/IP, y las máquinas de estado de transacción ensambla los B datos en una respuesta. Cuando la tarea de cliente 58 solicita al apilamiento TCP/IP que transmita un mensaje, no todos los 5 mensajes pueden transmitirse. Esto ocurre cuando el nodo remoto está controlado en flujo, lo que se explica a continuación. Si el llamado al sistema operativo 44 para recibir el mensaje regresa con una suspensión, o si hay un mensaje, la tarea de cliente 58 busca la lista de máquinas de conexión que son controladas en ÍQÉ^ flujo. Para cada conexión controlada en flujo, trata de avanzar las máquinas de estado de transacción en la lista de máquinas de estado de conexión que están controladas en flujo. La tarea de servidor 60 procesa una solicitud originada desde el usuario en la ubicación remota. La tarea de servidor 60 15 hace interfaz con el controlador de plano posterior 56, el apilamiento TCP/IP 54, y los servicios de mensaje del sistema operativo 44. La tarea de servidor 60 destina solicitudes al ^fc controlador de plano posterior 56, y una rutina de llamado de regreso asociada usa los servicios de mensaje del sistema 0 operativo 44 para enviar la respuesta a la tarea de servidor 60. Una función de señal del apilamiento TCP/IP 54 también usa el servicio de envío del sistema operativo 44 para enviar un evento TCP/IP a la tarea de servidor 60. La tarea de servidor 60 puede manejar múltiples transacciones y conexiones. Como la tarea de 5 cliente 58, mantiene una lista de máquinas de conexión, y cada máquina de conexión contiene una lista de máquinas de transacción. Las máquinas de conexión son para manejar la conexión y las flB máquinas de transacción manejan las solicitudes y respuestas entrantes . 5 La tarea de servidor 60 entra en un ciclo después de llevar a cabo la inicialización. Llama a los sistemas operativos 44 para recibir un mensaje. Los sistemas operativos 44 bloquean la tarea de servidor 60 hasta que haya un mensaje o hasta que suspenda. Ya sea recibe un mensaje desde el manejador de señal la 10^ tarea de TCP/IP 54, desde el controlador de plano posterior 56 o si suspende. Procesa el mensaje o la suspensión y reentra en el ciclo. Si el mensaje recibido desde los sistemas operativos 44 es de el manejador de señal de la tarea TCP/IP 54, la tarea de servidor 60 determina si el evento es una solicitud de conexión, 15 un evento de socket cerrado, o un evento de recibir datos. Con base en el evento TCP/IP, la tarea de servidor 60 usa la máquina de conexión y la máquina de transacción para avanzar la transac- Afc ción. Datos recibidos para una solicitud pueden ocurrir sobre varios eventos de recibir datos, y la máquina de transacción 20 ensambla los eventos en una mensaje de solicitud. Cuando el mensaje de respuesta se recibe desde el sistema operativo 44, la tarea de servidor 60 encuentra la conexión y la máquina de transacción para poder enviar una respuesta. Cuando la tarea de servidor 60 solicita al apilamiento 5 TCP/IP 54 transmitir un mensaje, no todos los mensajes pueden ^n^ ____¿^_^_ ^^*^^ transmitirse . Esto ocurre cuando el nodo remoto es controlado en flujo. Si el llamado al sistema operativo 44 es para recibir un m? mensaje regresa con una suspensión, o si hay un mensaje, la tarea de servidor 54 busca la lista de máquinas de conexión que son > controladas en flujo. Para cada conexión controlada en flujo, trata de avanzar las máquinas de estado de transacción en la lista de máquina de estado de conexión que son controladas en flujo. Después de que la tarea de servidor 60 ha analizado el encabezado de una solicitud entrante, trata de repartir una estructura para pasar la solicitud al controlador de plano posterior 56. Si la tarea de servidor ya está procesando un número predeterminado de solicitudes sobresalientes, el intento falla, la conexión se coloca en un estado bloqueado, y el cuerpo de la solicitud no es leído desde el apilamiento TCP/IP 54. Como resultado, el apilamiento TCP/IP puede aplicar control de flujo al nodo remoto. Cuando una de las otras solicitudes se completa, A el evento de estructura de datos libre ocasiona que na máquina de conexión bloqueada continúe procesando la solicitud Modbus entrante . La tarea HTTP 62 hace interfaz con el apilamiento TCP/IP 54, y el controlador de plano posterior 56. La tarea de servidor 62 recibe una solicitud HTTP desde el apilamiento TCP/IP 54. Para procesar la solicitud, puede tener acceso al PLC 32 a través del controlador de plano posterior 56 y el plano posterior 34. La tarea de servidor HTTP 62 envía de regreso la respuesta sobre el apilamiento TCP/IP 54. El sistema crea la tarea HTTP, fl? acepta la conexión, y analiza la solicitud HTTP. Después de analizar la solicitud, llama al sistema operativo 44 para 5 procesar la solicitud. Procesar la solicitud involucra determinar el tipo de solicitud y procesar la solicitud actual. Los diferentes tipos de solicitud permiten a un usuario adquirir una fotografía de las operaciones del PLC 32 por medio de permitir una ista de los varios registros dentro del PLC 32 y la memoria l( fc dual 38. Este tipo de solicitud también incluye el despliegue de la configuración del PLC 32, estadísticas de salud de 1/0 y módulo remotas y distribuidas, registros de despliegue, configuración del plano posterior, estadísticas de Ethernet, editar el programa del PLC, y otras, según se muestra en la tabla 1: 15 0 5 Muestra la página de inicio Muestra la configuración del controlador lógico programable Muestra las estadísticas de Ethernet Muestra la página de solicitud de leer registro Muestra los registros 4X Muestra los estantes unidos al plano posterior de los controladores Envía una imagen. Las diferentes imágenes son archivos gif que se despliegan en las varias páginas Muestra las estadísticas de I/O remotas Muestra la lista de caídas de I/O remotas configuradas Muestra la configuración y salud de un estante de I/O remoto Muestra las estadísticas de comunicación de un estante de I/O remoto Muestra los valores de referencia de I/O de un módulo de I/O remoto Muestra una lista de nodos de I/O distribuidos configurados Muestra la configuración y la salud de un nodo de I/O distribuido Muestra los valores de referencia de un módulo de I/O distribuido Edita el Programa del PLC Tabla 1 La página de inicio contiene hiper- ligas a muchas : páginas de datos. La página de configuración desplegará la configuración del PLC 32. Las páginas de estado de saludo de fl módulo de 1/0 remoto y de 1/0 distribuido son una serie de páginas ligadas. La primera página despliega las estadísticas de salud de comunicación en la cabeza de 1/0 remota y de 1/0 distribuida y contiene una liga a una página de caída configurada. La página de caída configurada despliega una tabla que contiene números de caída que se ligan a una página de estado de caída y números de estante que se ligan a las páginas de configuración de caída y estante. Dos tablas se incluyen en la página de estado de caída, una para mostrar el estado de comunicación de la caída y la otra para mostrar cuales estantes están poblados con los módulos de 1/0. La página de configuración de caída y de estante despliega los módulos de 1/0, su salud, su ubicación de ranura para el estante dado. Para un módulo seleccionado, un usuario puede ver sus valores de entrada y salida. Los datos de registro se despliegan en un formato que B tiene una forma y una tabla, con el usuario insertando una dirección y una longitud. La tabla desplegará los valores de registro, una tabla mostrando los módulos de opción y su ubicación de ranura se despliega en la página de configuración de plano posterior. Los datos que aparecen en las páginas son estáticos pero pueden actualizarse automáticamente en tiempos preseleccionados . El sistema operativo 44 procesa estas solicitudes y responde enviando mensajes de HTTP a través del apilamiento TCP/IP 54. Procesar algunas de estas solicitudes involucra leer fl el vigilante de tráfico, registros, carretes, o varias ubicaciones de página cero del PLC donde las estadísticas se guardan. 5 Para llevar a cabo estas lecturas, el sistema operativo 44 envía una solicitud al controlador de plano posterior 56 y usa un mecanismo de señal de evento y banderas de evento para determinar cuando la solicitud se completa. Después de enviar la solicitud al controlador de plano posterior 56, el sistema operativo 44 l fc espera a que se envíe una bandera de evento. Cuando del controlador de plano posterior completa la solicitud, el controlador de plano posterior 56 llama a una rutina de llamado de regreso que ajusta el evento. El sistema operativo 44 entonces reanuda el procesamiento de la solicitud. 15 Una página de mímica que representa algo del hardware conectado físicamente a un sistema de controlador lógico programable puede construirse utilizando la técnica de edición ^ gráfica que es parte de la presente invención. La presente invención permite a un usuario en una ubicación remota, usando un 0 navegador, crear, ver, modificar, y borrar la página de mímica y efectivamente controlar varios componentes ilustrados en la página de mímica. La figura 4 muestra un control de encendido- apagado de motor simple en un diagrama lógico de escalera que puede estar disponible como la página de mímica al usuario. 5 Presionar un botón de presión de encendido de motor 150 ocasiona- rá que un relevador de encendido de motor 152 se energice a través de un botón de presión de apagado normalmente cerrado 150 jflB y un contacto de sobrecarga normalmente cerrado 156. El contacto de encendido de motor auxiliar 158 asegurará al relevador 152 después de que el botón de presión de encendido 150 se libere y la luz de piloto 160 se ilumine. El contacto de encendido de motor auxiliar 162 proveerá energía al motor de bomba 164 que permanecerá corriendo hasta que el botón de presión de apagado 154 se presione o el relevador de sobrecarga 166 detecte una condición de sobrecarga. En este ejemplo, el botón de presión de encendido 150, el botón de presión de apagado 154, el contacto de sobrecarga 156, los contactos de encendido de motor auxiliares 158 y 162, y el relevador de sobrecarga 166 son entradas al sistema de controlador lógico programable. El relevador 152, la 15 luz de piloto 160, y el motor de bomba 164 son salidas. El PLC tendrá los registros que contienen los datos de animación para las entradas y salidas. Un programa de aplicación en el PLC flk responderá a las entradas para controlar las salidas. Un usuario en una ubicación remota navegará en el 0 Internet hacia la página de inicio de la instalación del sistema de controlador lógico programable. El PLC tendrá otras funciones de control a su vez y si el usuario tiene las autorizaciones necesarias, varias opciones se volverán disponibles. La página de inicio permitirá al usuario adquirir una fotografía de las 5 operaciones del PLC permitiendo una vista de varias páginas que *. " ..-&£..-- . le permitirán tener acceso a los registros dentro del PLC. Otras páginas también incluirán despliegues de la configuración del PLC, estadísticas de salud de módulos de I/O remotos y distribuidos, registros de despliegue, configuración del plano posterior, > estadísticas de Ethernet y otras mostradas previamente en la Tabla 1. La página de diagrama de mímica será llamada en una pantalla de navegador que permitirá al usuario ver el estado del sistema. La luz del diagrama de mímica 160, relevador 152, contactos 158, 162, y bomba de motor 164 se actualizarán para corresponder al estado de los dispositivos actuales. Los estados de las entradas y salidas se mostrarán entonces en el diagrama de escalera que será actualizado automáticamente según cambien. A través del uso de applets que representan los botones de 5 encendido 150 y apagado 154, el usuario puede controlar manualmente el encendido y apagado del motor usando un ratón o un teclado para colocar un cursor y "presionando" en ya sea los ? cuadros de encendido 168 o apagado 170. Aunque las formas de realización específicas se han 0 ilustrado y descrito, numerosas modificaciones son posibles sin salir del alcance o espíritu de la invención. •-*•"**** ! .. **¿v,

Claims (1)

  1. REIVINDICACIONES 1. Un sistema para programar programas de aplicación que controlan un controlador lógico programable desde una red de comunicación, que comprende: a. un módulo de interfaz para acoplar el controlador lógico programable a la red de comunicación; b. un editor de programa residente en el controlador lógico programable, el editor de programa para crear y editar los programas de aplicación; c. al menos una página web residente en el controlador lógico programable, la página web ligada al editor de programa; d. donde la página web es accesible a un usuario en una ubicación remota usando un navegador web acoplado a la red de comunicación a través del módulo de interfaz; y e. donde la página web permite al usuario en la ubicación remota tener acceso al editor de programa para editar los programas de aplicación que controlan al controlador lógico programable. 2. El sistema de la reivindicación 1, incluyendo además donde los programas de aplicación son vistos como archivos dentro del controlador lógico programable, accesible a la red de comunicación usando un protocolo de transferencia de archivos estándar. 3. El sistema de la reivindicación 1, donde los programas de aplicación se convierten por el paquete de programa-ción y son vistos en un navegador web a través de ya sea java o HTML. 4. El sistema de la reivindicación 3, donde el paquete de programación incluye además editores de símbolos y editores de lenguaje y donde todos los símbolos se almacenan dentro del controlador lógico programable, permitiendo a cualquier computadora personal autorizada acoplada a la red de comunicación a editar los programas de aplicación. 5. El sistema de la reivindicación 1, donde el módulo de interfaz incluye: un sistema operativo de tiempo real que opera una unidad de procesamiento central, una interfaz de red para comunicarse con la red de comunicación, un controlador para comunicarse con el controlador lógico programable, un apilamiento de protocolo, una tarea de cliente para comunicarse con el apilamiento de protocolo para iniciar solicitudes recibidas, una tarea de servidor para comunicarse con el apilamiento de protocolo para responder solicitudes recibidas, una tarea de protocolo para comunicarse con el apilamiento de protocolo para recibir y responder las solicitudes de tarea de protocolo. 6. El sistema de la reivindicación 5, donde la red de comunicación es una red mundial conocida como Internet usando un protocolo de Internet (IP) . 7. El sistema de la reivindicación 6, donde el módulo de interfaz funciona como un sitio web en Internet, el módulo de interfaz incluyendo una dirección IP global. 8. El sistema de la reivindicación 7, donde el apilamiento de protocolo es un apilamiento de protocolo de control de transmisión y donde la tarea de protocolo incluye una tarea de servidor que usa una tarea de protocolo de transporte de hiper-texto (HTTP) para entregar documentos de hiper-texto a la interfaz de red. 9. El sistema de la reivindicación 8, donde la tarea de HTTP acepta una conexión, analiza la solicitud HTTP, y llama al sistema operativo de tiempo real para procesar la solicitud. 15 10. El sistema de la reivindicación 9, donde el módulo de interfaz incluye un apilamiento TCP/IP dual para transferir datos que comprende un primer apilamiento capaz de manejar un rango amplio de mensajes TCP/IP y un segundo apilamiento capaz de • manejar un rango menos amplio de mensajes TCP/IP mas rápidamente 20 que el primer apilamiento. 11. Un sistema para programar programas de aplicación que controlan un controlador lógico programable desde una red de comunicación, que comprende: a. medios para acoplar el controlador lógico programa- 25 ble a la red de comunicación; b. medios residentes en el controlador lógico programable para crear y editar los programas de aplicación; c. al menos una página web residente en el controlador lógico programable, la página web ligada a los medios para crear y editar residentes en el controlador lógico programable; d. donde la página web es accesible a un usuario en una ubicación remota usando un navegador web acoplado a la red de comunicación a través de los medios para acoplar; y e. donde la página web permite al usuario en la ubicación remota tener acceso a los medios para crear y editar los programas de aplicación que controlan al controlador lógico programable . 12. El sistema de la reivindicación 11, donde los programas de aplicación son vistos como archivos dentro del controlador lógico programable, accesible a la red de comunicación usando un protocolo de transferencia de archivos estándar. 13. El sistema de la reivindicación 11, donde medios para crear y editar incluyen un paquete de programación con el cual los programas de aplicación se convierten por el paquete de programación y son vistos como ya sea java o HTML. 14. El sistema de la reivindicación 13, donde el paquete de programación incluye además editores de símbolos y editores de lenguaje y donde todos los símbolos se almacenan dentro del controlador lógico programable, permitiendo a cualquier computadora personal autorizada acoplada a la red de comunicación a editar los programas de aplicación. 15. El sistema de la reivindicación 11, donde los medios para acoplar incluyen un módulo de interfaz, el módulo de interfaz incluyendo: un sistema operativo de tiempo real que opera una unidad de procesamiento central, una interfaz de red para comunicarse con la red de comunicación, un controlador para comunicarse con el controlador lógico programable, un apilamiento de protocolo, una tarea de cliente para comunicarse con el apilamiento de protocolo para iniciar solicitudes recibidas, una tarea de servidor para comunicarse con el apila-15 miento de protocolo para responder solicitudes recibidas, una tarea de protocolo para comunicarse con el apilamiento de protocolo para recibir y responder las solicitudes fl| de tarea de protocolo. 16. El sistema de la reivindicación 15, donde la red 20 de comunicación es una red mundial conocida como el Interne usando un protocolo de Internet (IP) . 17. El sistema de la reivindicación 16, donde el módulo de interfaz funciona como un sitio web en el Internet, el módulo de interfaz incluyendo una dirección IP global. 5 18. El sistema de la reivindicación 17, donde el -ifi&a». **a. -apilamiento de protocolo es un apilamiento de protocolo de control de transmisión y donde la tarea de protocolo incluye una tarea de servidor que usa una tarea de protocolo de transporte de hiper-texto (HTTP) para entregar documentos de hiper-texto a la interfaz de red. 19. El sistema de la reivindicación 18, donde la tarea de HTTP acepta una conexión, analiza la solicitud HTTP, y llama al sistema operativo de tiempo real para procesar la solicitud. 20. El sistema de la reivindicación 19, donde el módulo de interfaz incluye un apilamiento TCP/IP dual para transferir datos que comprende una primera pila capaz de manejar un rango amplio de mensajes TCP/IP y un segundo apilamiento capaz de manejar un rango menos amplio de mensajes TCP/IP mas rápidamente que el primer apilamiento.
MXPA01011549A 2000-03-13 2001-02-20 Un navegador web. MXPA01011549A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/524,171 US7058693B1 (en) 1997-09-10 2000-03-13 System for programming a programmable logic controller using a web browser
PCT/US2001/005564 WO2001069335A2 (en) 2000-03-13 2001-02-20 A web browser

Publications (1)

Publication Number Publication Date
MXPA01011549A true MXPA01011549A (es) 2002-06-04

Family

ID=24088063

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA01011549A MXPA01011549A (es) 2000-03-13 2001-02-20 Un navegador web.

Country Status (6)

Country Link
EP (1) EP1200884B1 (es)
AU (1) AU4320901A (es)
CA (1) CA2373659C (es)
DE (1) DE60113030T2 (es)
MX (1) MXPA01011549A (es)
WO (1) WO2001069335A2 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086664B2 (en) * 2001-09-24 2011-12-27 Siemens Industry, Inc. Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
US20030061349A1 (en) * 2001-09-24 2003-03-27 George Lo Method and system for collaboratively developing programming code for programmable controllers
US7257620B2 (en) 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
AUPS056402A0 (en) * 2002-02-15 2002-03-07 Beacon Technology Pty Limited A processing apparatus, system & method
US7805725B2 (en) 2002-09-26 2010-09-28 Siemens Industry, Inc. System and method for synchronizing system modules
JP3594035B2 (ja) * 2003-03-13 2004-11-24 オムロン株式会社 制御装置、cpuユニット、プログラマブルコントローラのユーザプログラム編集方法、及びオンラインエディットされる際のプログラマブルコントローラの処理方法
US7502323B2 (en) 2003-05-28 2009-03-10 Schneider Electric Industries Sas Access control system for automation equipment
FR2855621B1 (fr) * 2003-05-28 2005-07-01 Schneider Electric Ind Sas Systeme de controle d'acces a un equipement d'automatisme
DE10326493A1 (de) * 2003-06-10 2005-01-05 Endress + Hauser Flowtec Ag, Reinach Verfahren zum Übertragen von Messdaten von einem Messgerät der Prozessautomatisierungstechnik zu einer zentralen Steuereinheit
AU2003277815A1 (en) * 2003-09-25 2005-05-11 Siemens Aktiengesellschaft Use of services within a communication network comprising internet mechanisms and within an automation system
WO2005045536A2 (en) * 2003-10-30 2005-05-19 Nordson Corporation Remote monitoring of a hot melt adhesive system
DE102004020203A1 (de) * 2004-04-22 2005-11-17 Siemens Ag Verfahren und System zur Fernüberwachung, Fernsteuerung und/oder Ferndiagnose eines Gerätes
FR2875357B1 (fr) * 2004-09-13 2008-04-18 Stephane Pomies Systeme de gestion et de mise en relation de machines avec des utilisateurs, ou autres machines, distants
DE102004045240A1 (de) * 2004-09-17 2006-03-30 Siemens Ag Darstellung von Prozesswerten in der Automatisierungstechnik
US7587251B2 (en) 2005-12-21 2009-09-08 Rockwell Automation Technologies, Inc. Remote monitoring and control of an I/O module
DE102006046643A1 (de) * 2006-09-29 2008-04-03 Phoenix Contact Gmbh & Co. Kg Speicherprogrammierbare Steuereinrichtung mit integriertem Datenbanktreiber
WO2010099802A1 (de) * 2009-03-04 2010-09-10 Siemens Aktiengesellschaft Verfahren und vorrichtung zur bereitstellung von daten in einem automatisierungssystem
DE102010048810A1 (de) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg System zur Bedienung mehrerer Plasma- und/oder Induktionserwärmungsprozesse
DE102010048809A1 (de) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg Leistungsversorgungssystem für eine Plasmaanwendung und/oder eine Induktionserwärmungsanwendung
TWI489232B (zh) 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體
DE102014116722A1 (de) * 2014-11-14 2016-05-19 Schneider Electric Automation Gmbh Verfahren zum Anschließen eines Embedded-Geräts an eine Steuereinheit
US10353364B2 (en) * 2016-05-03 2019-07-16 Schneider Electric Systems Usa, Inc. Application specific field device for process control system
CN108717285A (zh) * 2018-04-14 2018-10-30 张著岳 通过内置网页编程的可编程逻辑控制器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19615190A1 (de) * 1996-04-18 1997-10-23 Fritz Electronic Gmbh Netzwerkbasierende Steuerung für industrielle Anlagen
EP0825506B1 (en) * 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
JP2873222B2 (ja) * 1997-05-12 1999-03-24 川崎重工業株式会社 ロボット情報処理装置
US6802053B1 (en) * 1997-08-18 2004-10-05 National Instruments Corporation Graphical programming system with distributed block diagram execution and front panel display
US6282454B1 (en) * 1997-09-10 2001-08-28 Schneider Automation Inc. Web interface to a programmable controller
JPH1185224A (ja) * 1997-09-10 1999-03-30 Toshiba Corp プログラムローディング装置
EP0917034B1 (de) * 1997-11-14 2002-03-06 Engel Maschinenbau Gesellschaft Mbh Verfahren zur Fernüberwachung und/oder Fernwartung einer Spritzgiessmaschine
FR2785122B1 (fr) * 1998-10-27 2003-01-10 Philippe Faugeras Procede et dispositif de pilotage a distance d'un automate et carte prevue a cet effet
US6268853B1 (en) * 1999-09-30 2001-07-31 Rockwell Technologies, L.L.C. Data structure for use in enterprise controls

Also Published As

Publication number Publication date
DE60113030T2 (de) 2006-07-13
EP1200884A2 (en) 2002-05-02
EP1200884B1 (en) 2005-08-31
WO2001069335A2 (en) 2001-09-20
CA2373659C (en) 2009-01-27
DE60113030D1 (de) 2005-10-06
CA2373659A1 (en) 2001-09-20
WO2001069335A3 (en) 2002-02-28
AU4320901A (en) 2001-09-24

Similar Documents

Publication Publication Date Title
US7058693B1 (en) System for programming a programmable logic controller using a web browser
CA2362437C (en) Dual ethernet stack for maximum speed access to a plc
US6151625A (en) Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US6061603A (en) System for remotely accessing an industrial control system over a commercial communications network
US6484061B2 (en) Web interface to a programmable controller
US8291121B2 (en) System and method for interfacing with a controller
CA2373659C (en) A web browser
JP5461501B2 (ja) 入出力装置に対するウェブ・インターフェース
US7035898B1 (en) System for programming a factory automation device using a web browser
EP1283481B1 (en) A method of providing process data to a client
US7664869B2 (en) Web interface to a device and an electrical network control system
JP2003053688A (ja) 教示ペンダントを有するロボット・システム
US20030149749A1 (en) Method of data refreshing of a mark-up- language document
AU5191501A (en) Web interface to an input/output device
MXPA99004249A (es) Interfaz web para un controlador programable
AU2007202547A1 (en) Web interface to an input/output device
EP1240603A1 (en) Server-based active document control

Legal Events

Date Code Title Description
FG Grant or registration