Patent US8190274 - Method and control device for controlling an automating system - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsMethods for accessing a control module that can be executed in a control device of an automating system are provided. The method includes the steps of providing the control module in the control device; providing a first interface module in the control device; providing a second interface module in the...http://www.google.com/patents/US8190274?utm_source=gb-gplus-sharePatent US8190274 - Method and control device for controlling an automating systemAdvanced Patent SearchPublication numberUS8190274 B2Publication typeGrantApplication numberUS 12/450,844PCT numberPCT/EP2008/002985Publication dateMay 29, 2012Filing dateApr 15, 2008Priority dateApr 15, 2007Also published asDE102008019040A1, EP2140317A2, US20100114336, WO2008125336A2, WO2008125336A3Publication number12450844, 450844, PCT/2008/2985, PCT/EP/2008/002985, PCT/EP/2008/02985, PCT/EP/8/002985, PCT/EP/8/02985, PCT/EP2008/002985, PCT/EP2008/02985, PCT/EP2008002985, PCT/EP200802985, PCT/EP8/002985, PCT/EP8/02985, PCT/EP8002985, PCT/EP802985, US 8190274 B2, US 8190274B2, US-B2-8190274, US8190274 B2, US8190274B2InventorsFrank Konieczny, Dietmar Krumsiek, Thorsten Behr, Anja Kruse, Ralf AronOriginal AssigneePhoenix Contact Gmbh & Co. KgExport CitationBiBTeX, EndNote, RefManPatent Citations (21), Non-Patent Citations (7), Classifications (18), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetMethod and control device for controlling an automating system
US 8190274 B2Abstract
Methods for accessing a control module that can be executed in a control device of an automating system are provided. The method includes the steps of providing the control module in the control device; providing a first interface module in the control device; providing a second interface module in the control device; connecting the control device with an operating device via a network; transferring the second interface module from the control device to the operating device, whereby the operating device comprises input and output devices for operation by a user; executing the second interface module by the operating device; and transferring data between the first and the second interface modules.
The principle of memory-programmable control (SPS) is already approximately 30 years old today and with the increasing maturity of the market, construction and mode of operation are less differentiated. The fundamental operating principle is based on detecting the current status of the plant/machine to be automated and transforming the corresponding physical process signals into electrical signals by appropriate sensors. In addition to the central processing unit with programming memory and processor as well as the input/output units, an appropriate PC-based programming device or Windows-based development tool for creating the control program is also a part of the basic configuration of an SPS today, while the corresponding startup phase via interplay with the actual machine and plant—is generally called engineering.
For the user, the manipulation of the control is essentially determined by the programming system by means of which the user creates an automating task, inputs it into the device and puts it in operation. The state of the art here is that for the control, the appropriate programming software is provided as a Windows application, which must be installed for this purpose on an appropriately equipped Windows PC. In the case of controls of the lowest performance class—so-called control relay substitutions—variants have been known for several years, which can also be programmed via a display placed directly on the device (e.g., Moeller easy and Siemens LOGO!). The solutions that are available in this case, however, are limited to a simple representation with only a few lines, which is hardly suitable for creating and maintaining extensive programs and do not suffice for presenting more complex relationships.
The control device can be designed as any device that participates in the control of a process of an automating system. Accordingly, the phrase “control device” designates, for example, a sensor, an actor, a device for the input or output of process, parameter or control data, or a device for controlling, monitoring, creating protocols for, operating and/or observing a process. The control module, which is also called a control engine in the following, is preferably designed as a software module for controlling functions of the control device, whereby these functions are typically designed as software applications, which are integrated in the control module or are filed in a separate memory of the control device. The functions may advantageously comprise security-directed automating functions or also a combination of security-directed and non-security-directed automating functions.
It is known to utilize the World Wide Web (WWW) as the infrastructure for the worldwide distribution of information. Such an information system is shown in FIG. 1. In this case, hypermedia documents 10 connected via (hyper) links 20 form a network of information, and Web browser 100 is the terminal for this network. The request for a Web page 40 is made by inputting a URL in the address line of the Web browser 100. The Web server addressed in this way sends the requested HTML document 10 to browser 100, which then displays it correspondingly. If the presented content of the page shall be changed, then this must be done via a new request in the Web server and a repeated transfer of the complete page to browser 100—the user sees a sequence of static pages 40.
Ajax (asynchronous JavaScript and XML) was coined as a term at the beginning of 2005 by Jesse James Garrett of Adaptive Path in his essay “Ajax: A New Approach to Web Applications” and describes a concept of how, with already existing technologies—in the JavaScript kernel or core and the XML HTTP request-object—the conventional request/response model of the classical Web application can be replaced by separation into a front-end application—which is stored in the browser—and a back-end application on the server, which are combined via an asynchronous communication. The motivation for Ajax described by Jesse James Garrett is to approximate the behavior of Web applications to that of a pure desktop application. Corresponding to this definition, an Ajax Web application is an application which operates exclusively as a runtime environment in a Web browser, but simultaneously is represented as a desktop application in the alignment of its interaction with the user.
AJAX is described, for example in the article found on the Web page “http://www.heise.de/ix/artikel/2005/11/056/”, whereby the content of this Web page at the time point of the application is incorporated herein by reference.
Engineering computer 300 and control 400 are connected to one another via a communication connection 500 via a physical cable or a wireless connection, which is in a position to transmit Hypertext Transfer Protocol (HTTP), e.g., Ethernet TCP/IP. The core of control 400 is a control engine 410, which executes control application 600 by controlling the process connected via the peripheral 700 corresponding to this application 600. This application 600 is created, launched and maintained via the engineering application 310, which is created on the basis of Web technologies HTML or XHTML, CSS and JavaScript and is completely executed in a Web browser 110 as a standard runtime environment—alternatively, the engineering of the application is also possible via a self-contained Windows application.
All components of engineering application 310 are filed in a file system on control 400. By entering the URL of control 400 in the address line of browser 110, the HTML start page is loaded from the file system. This HTML page contains the software components of the engineering application 310 in the form of JavaScript code. Browser 110 executes this code and in this way makes engineering application 310 available to the user. After starting the engineering application 310, the current control application 600 is loaded from control engine 410 and the instantaneous status of the control is presented to the user. The control application 600 can now be operated in engineering application 310 by the user—for this purpose, additional components (tools) are subsequently loaded from tool filing system 450 onto control 400, corresponding to the selected processing steps. If control application 600 is constructed in a modular manner, then only the parts of it that the user has selected correspondingly and would like to observe or process are loaded in engineering application 310. This modular loading limits the components and data to be transferred to the necessary components and in this way reduces the resource requirement for communication and thus reduces wait times for the user.
With this concept, an HTML page is loaded on the page of the application particularly advantageously only once upon starting. This basic application (home page) contains the user interface and the infrastructure components of engineering application 310 directly or via references to separate files. Special tools may also be loaded only when these are required by the user for processing the corresponding data of the application—preferably they are loaded in the background and loading is controlled by the basic application.
A command is the triggering of an action in control engine 410 by a processing step of engineering application 310. Since engineering application 310 and control engine 410 operate in different processes and typically also on separate computers with different runtime environments, a transport mechanism is necessary in order to transfer the command. The principle of such a call for a “remote” action (procedure) via a communication protocol is known and is called a “remote procedure call”. In connection with the Ajax concept, this is normally conducted via calling up a SOAP Web service or a comparable XML-based Web service dialect. The principal disadvantages with the use of XML are the less compact format for the transfer and the complicated type of access to information. With JSON (JavaScript object notation), a compact format is available, which can be evaluated directly in JavaScript—objects transmitted with JSON or JSON-RPC are available directly as JavaScript objects. Therefore, JSON-RPC is preferably used for transmitting commands 710 between the engineering application 310 in browser 110 and control engine 410 on control 400. Commands 710 transferred with JSON-RPC are transformed into a call for a corresponding action of control engine 410 in HTTP—server 420 of control 400.
JSON and JSON-RPC are described, for example, in the article found on the Web page “http://www.heise.de/ix/artikel/2006/01/070/”, whereby the content of this Web page at the time point of the application is incorporated herein by reference.
Comet is described, for example, in the article found on the Web page “http://www.entwickler.com/zonen/portale/psecom,id,101,online,.1151.html”, whereby the content of this Web page at the time point of the application is incorporated herein by reference.
Industrial controls are predominantly proprietary solutions based on the special requirements of the different fields of application. They are distinguished both in the arena of the hardware used, which is particularly determined by the microcontroller platform utilized, as well as by the operating system that is used. In comparison to the Windows PC, which makes available a very stable platform, this involves a considerable expenditure for software portability for the specific devices in each case. The invention thus preferably provides for implementing both control engine 410 as well as HTTP server 420 with the means of the Microsoft .Net language family, which is translated into a standardized intermediate language (CIL—Common Intermediate Language) and is executed in a corresponding runtime environment. This runtime environment is called CLR—Common Language Runtime and is available under the name embedded CLR also for different microcontroller platforms. This embodiment makes possible a simple portability of Web engineering to different embedded devices, since both control engine 410 as well as HTTP server 420 are implemented relative to a standard environment.
In typical Internet scenarios, computers on which Web servers run are appropriately powerful machines, in fact, they are frequently a group of crosslinked computers—so-called server farms, which permit them to be able to always maintain sufficient performance for the different processes. A memory-programmable control primarily has the task of controlling a process that is connected via its system of peripherals. In particular, in the case of control devices which are designed as compact and mini controls, free computing power is hardly available for additional tasks. The conception of a Web-based control system according to the invention takes this into consideration, on the one hand, by the above-described moving of engineering application 310 into browser 110. HTTP server 420 and its communication to engineering application 310 now still require additional computing power of control 400. For a perfect functioning of control engine 410, this engine must preferably have sufficient resources for processing control application 600 and should not be adversely affected by, e.g., the HTTP communication to engineering application 310. As is usual in the case of industrial controls, typically the input signals of the connected peripheral 700 are read in by control engine 410 at the beginning of each one of these cycles, then the automating functions corresponding to the current control application 600 are executed and at the end of the cycle, the output signals are output via the connected peripheral 700. The HTTP server 420 is activated if an HTTP request occurs or control engine 410 deposits a corresponding message 720. The processes for executing control engine 410 and HTTP server 420 are particularly advantageously managed via threads and a dynamic priority control. The dynamic priority control assures that control engine 410 has allocated sufficient computing time in order to be able to process control application 600.
The field of application of the invention, in particular, of a method according to the invention and/or a control device according to the invention, and thus the described mechanisms of a Web-based control system is (are) industrial memory-programmable controls (SPS/PLC), in particular, but can also be security-directed systems and especially combinations of security-directed and non-security-directed types of automating functions. In addition, the described mechanism can advantageously be used as a basis for Web-based “operate and observe” functions and their display systems.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5508689 *Aug 18, 1994Apr 16, 1996Ford Motor CompanyControl system and method utilizing generic modulesUS5799067 *Jun 12, 1997Aug 25, 1998Elonex I.P. Holdings Ltd.Smart phone integration with computer systemsUS5805442 *May 30, 1996Sep 8, 1998Control Technology CorporationDistributed interface architecture for programmable industrial control systemsUS5911047 *Jul 31, 1997Jun 8, 1999Electronics And Telecommunications Research InstituteData traffic processing method in a subscriber network access subsystem of advanced communications processing systemUS6195591 *Dec 11, 1998Feb 27, 2001Fisher-Rosemount Systems, Inc.Process control system using a process control strategy distributed among multiple control elementsUS6271844 *Nov 21, 1997Aug 7, 2001Bull S.A.Protected application launchers with graphical interfaceUS7010396 *Apr 5, 2004Mar 7, 2006David Brent WareIrrigation controller with embedded web serverUS7233830 *May 31, 2005Jun 19, 2007Rockwell Automation Technologies, Inc.Application and service management for industrial control devicesUS7586900 *Dec 2, 2004Sep 8, 2009Moimstone Co., Ltd.Internet protocol-private branch exchange for providing internet messenger function and internet terminal for use therewithUS7693581 *Jun 18, 2007Apr 6, 2010Rockwell Automation Technologies, Inc.Application and service management for industrial control devicesUS7882209 *Sep 30, 2005Feb 1, 2011At&T Intellectual Property Ii, L.P.Tiered and modular approach to operational support systemsUS7882269 *Dec 1, 2004Feb 1, 2011Microsoft CorporationModularization of broadcast receiver driver componentsUS20040236443Apr 5, 2004Nov 25, 2004Ware David BrentIrrigation controller with embedded web serverUS20100030346 *Feb 4, 2008Feb 4, 2010Mitsuhiro WatanabeControl system and control method for controlling controllable device such as peripheral device, and computer program for controlDE10214539A1Apr 2, 2002Oct 23, 2003Siemens AgProduktionsmaschine mit einer in einem Webserver integrierten SteuerungDE10355160A1Nov 26, 2003Jun 30, 2005Schott AgBeschichtete Glas/Glaskeramikplatte und Verfahren zu ihrer HerstellungDE102005018246A1Apr 19, 2005Oct 26, 2006Schott AgGlas- oder Glaskeramik-Artikel mit dekorativer BeschichtungEP0917034A1Oct 16, 1998May 19, 1999Engel Maschinenbau Gesellschaft MbhMethod for remote monitoring and/or remote servicing of an injection moulding machineEP1445673A2Dec 19, 2003Aug 11, 2004Siemens AktiengesellschaftWeb based display of automation processesWO1999063409A1May 6, 1999Dec 9, 1999Control Technology CorpObject-oriented programmable industrial controller with distributed interface architectureWO2002031608A2Oct 8, 2001Apr 18, 2002Schneider AutomationPlc executive with integrated web server* Cited by examinerNon-Patent CitationsReference1Branch, M. et al., "Real-Time Web-Based System Monitoring," Conf. Record of the 2006 IEEE IAS Pulp and Paper Cont., 4 pp., 2006.2Campbell, Ryan, "Preloading Data with Ajax and JSON," Internet Article, pp. 1-8, Jan. 24, 2006.3English translation of International Preliminary Report and Written Opinion dated Nov. 10, 2009 for corresponding International Application No. PCT/EP2008/002985.4European Office Action dated Mar. 26, 2010 for corresponding European Patent Application No. 08 735 248.0 (with English translation).5International Search Report and Written Opinion based on corresponding International application No. PCT/EP2008/002985 dated Oct. 27, 2008.6Neuhaus, Sven, "JSON and JSON-RPC: Ajax ohne XML," IX, Magazine Fur Professionelle Informationstechnik, p. 70, Jan. 2006.7Office Action for corresponding German Patent Application No. 10 2008 019 040.3-55 dated Jul. 16, 2009.Classifications U.S. Classification700/17, 717/170, 709/218, 700/20, 717/172, 700/83, 709/223, 717/168, 700/87International ClassificationG06F9/44, G05B15/00, G06F15/16, G05B11/01Cooperative ClassificationG05B2219/32126, G05B2219/31104, G05B19/058, G05B2219/34444European ClassificationG05B19/05SLegal EventsDateCodeEventDescriptionDec 18, 2009ASAssignmentFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN;AND OTHERS;SIGNING DATES FROM 20091007 TO 20091117;REEL/FRAME:023706/0193Owner name: PHOENIX CONTACT GMBH & CO.KG, GERMANYOwner name: PHOENIX CONTACT GMBH & CO.KG,GERMANYFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN AND OTHERS;SIGNED BETWEEN 20091007 AND 20091117;US-ASSIGNMENT DATABASE UPDATED:20100513;REEL/FRAME:23706/193Owner name: PHOENIX CONTACT GMBH & CO.KG, GERMANYFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN;AND OTHERS;SIGNING DATES FROM 20091007 TO 20091117;REEL/FRAME:023706/0193Owner name: PHOENIX CONTACT GMBH & CO.KG,GERMANYFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN;AND OTHERS;SIGNING DATES FROM 20091007 TO 20091117;REEL/FRAME:023706/0193RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services
Patent US8190274 - Method and control device for controlling an automating system - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsMethods for accessing a control module that can be executed in a control device of an automating system are provided. The method includes the steps of providing the control module in the control device; providing a first interface module in the control device; providing a second interface module in the...http://www.google.com/patents/US8190274?utm_source=gb-gplus-sharePatent US8190274 - Method and control device for controlling an automating systemAdvanced Patent SearchPublication numberUS8190274 B2Publication typeGrantApplication numberUS 12/450,844PCT numberPCT/EP2008/002985Publication dateMay 29, 2012Filing dateApr 15, 2008Priority dateApr 15, 2007Also published asDE102008019040A1, EP2140317A2, US20100114336, WO2008125336A2, WO2008125336A3Publication number12450844, 450844, PCT/2008/2985, PCT/EP/2008/002985, PCT/EP/2008/02985, PCT/EP/8/002985, PCT/EP/8/02985, PCT/EP2008/002985, PCT/EP2008/02985, PCT/EP2008002985, PCT/EP200802985, PCT/EP8/002985, PCT/EP8/02985, PCT/EP8002985, PCT/EP802985, US 8190274 B2, US 8190274B2, US-B2-8190274, US8190274 B2, US8190274B2InventorsFrank Konieczny, Dietmar Krumsiek, Thorsten Behr, Anja Kruse, Ralf AronOriginal AssigneePhoenix Contact Gmbh & Co. KgExport CitationBiBTeX, EndNote, RefManPatent Citations (21), Non-Patent Citations (7), Classifications (18), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetMethod and control device for controlling an automating system
US 8190274 B2Abstract
Methods for accessing a control module that can be executed in a control device of an automating system are provided. The method includes the steps of providing the control module in the control device; providing a first interface module in the control device; providing a second interface module in the control device; connecting the control device with an operating device via a network; transferring the second interface module from the control device to the operating device, whereby the operating device comprises input and output devices for operation by a user; executing the second interface module by the operating device; and transferring data between the first and the second interface modules.
The principle of memory-programmable control (SPS) is already approximately 30 years old today and with the increasing maturity of the market, construction and mode of operation are less differentiated. The fundamental operating principle is based on detecting the current status of the plant/machine to be automated and transforming the corresponding physical process signals into electrical signals by appropriate sensors. In addition to the central processing unit with programming memory and processor as well as the input/output units, an appropriate PC-based programming device or Windows-based development tool for creating the control program is also a part of the basic configuration of an SPS today, while the corresponding startup phase via interplay with the actual machine and plant—is generally called engineering.
For the user, the manipulation of the control is essentially determined by the programming system by means of which the user creates an automating task, inputs it into the device and puts it in operation. The state of the art here is that for the control, the appropriate programming software is provided as a Windows application, which must be installed for this purpose on an appropriately equipped Windows PC. In the case of controls of the lowest performance class—so-called control relay substitutions—variants have been known for several years, which can also be programmed via a display placed directly on the device (e.g., Moeller easy and Siemens LOGO!). The solutions that are available in this case, however, are limited to a simple representation with only a few lines, which is hardly suitable for creating and maintaining extensive programs and do not suffice for presenting more complex relationships.
The control device can be designed as any device that participates in the control of a process of an automating system. Accordingly, the phrase “control device” designates, for example, a sensor, an actor, a device for the input or output of process, parameter or control data, or a device for controlling, monitoring, creating protocols for, operating and/or observing a process. The control module, which is also called a control engine in the following, is preferably designed as a software module for controlling functions of the control device, whereby these functions are typically designed as software applications, which are integrated in the control module or are filed in a separate memory of the control device. The functions may advantageously comprise security-directed automating functions or also a combination of security-directed and non-security-directed automating functions.
It is known to utilize the World Wide Web (WWW) as the infrastructure for the worldwide distribution of information. Such an information system is shown in FIG. 1. In this case, hypermedia documents 10 connected via (hyper) links 20 form a network of information, and Web browser 100 is the terminal for this network. The request for a Web page 40 is made by inputting a URL in the address line of the Web browser 100. The Web server addressed in this way sends the requested HTML document 10 to browser 100, which then displays it correspondingly. If the presented content of the page shall be changed, then this must be done via a new request in the Web server and a repeated transfer of the complete page to browser 100—the user sees a sequence of static pages 40.
Ajax (asynchronous JavaScript and XML) was coined as a term at the beginning of 2005 by Jesse James Garrett of Adaptive Path in his essay “Ajax: A New Approach to Web Applications” and describes a concept of how, with already existing technologies—in the JavaScript kernel or core and the XML HTTP request-object—the conventional request/response model of the classical Web application can be replaced by separation into a front-end application—which is stored in the browser—and a back-end application on the server, which are combined via an asynchronous communication. The motivation for Ajax described by Jesse James Garrett is to approximate the behavior of Web applications to that of a pure desktop application. Corresponding to this definition, an Ajax Web application is an application which operates exclusively as a runtime environment in a Web browser, but simultaneously is represented as a desktop application in the alignment of its interaction with the user.
AJAX is described, for example in the article found on the Web page “http://www.heise.de/ix/artikel/2005/11/056/”, whereby the content of this Web page at the time point of the application is incorporated herein by reference.
Engineering computer 300 and control 400 are connected to one another via a communication connection 500 via a physical cable or a wireless connection, which is in a position to transmit Hypertext Transfer Protocol (HTTP), e.g., Ethernet TCP/IP. The core of control 400 is a control engine 410, which executes control application 600 by controlling the process connected via the peripheral 700 corresponding to this application 600. This application 600 is created, launched and maintained via the engineering application 310, which is created on the basis of Web technologies HTML or XHTML, CSS and JavaScript and is completely executed in a Web browser 110 as a standard runtime environment—alternatively, the engineering of the application is also possible via a self-contained Windows application.
All components of engineering application 310 are filed in a file system on control 400. By entering the URL of control 400 in the address line of browser 110, the HTML start page is loaded from the file system. This HTML page contains the software components of the engineering application 310 in the form of JavaScript code. Browser 110 executes this code and in this way makes engineering application 310 available to the user. After starting the engineering application 310, the current control application 600 is loaded from control engine 410 and the instantaneous status of the control is presented to the user. The control application 600 can now be operated in engineering application 310 by the user—for this purpose, additional components (tools) are subsequently loaded from tool filing system 450 onto control 400, corresponding to the selected processing steps. If control application 600 is constructed in a modular manner, then only the parts of it that the user has selected correspondingly and would like to observe or process are loaded in engineering application 310. This modular loading limits the components and data to be transferred to the necessary components and in this way reduces the resource requirement for communication and thus reduces wait times for the user.
With this concept, an HTML page is loaded on the page of the application particularly advantageously only once upon starting. This basic application (home page) contains the user interface and the infrastructure components of engineering application 310 directly or via references to separate files. Special tools may also be loaded only when these are required by the user for processing the corresponding data of the application—preferably they are loaded in the background and loading is controlled by the basic application.
A command is the triggering of an action in control engine 410 by a processing step of engineering application 310. Since engineering application 310 and control engine 410 operate in different processes and typically also on separate computers with different runtime environments, a transport mechanism is necessary in order to transfer the command. The principle of such a call for a “remote” action (procedure) via a communication protocol is known and is called a “remote procedure call”. In connection with the Ajax concept, this is normally conducted via calling up a SO
AP Web service or a comparable XML-based Web service dialect. The principal disadvantages with the use of XML are the less compact format for the transfer and the complicated type of access to information. With JSON (JavaScript object notation), a compact format is available, which can be evaluated directly in JavaScript—objects transmitted with JSON or JSON-RPC are available directly as JavaScript objects. Therefore, JSON-RPC is preferably used for transmitting commands 710 between the engineering application 310 in browser 110 and control engine 410 on control 400. Commands 710 transferred with JSON-RPC are transformed into a call for a corresponding action of control engine 410 in HTTP—server 420 of control 400.
JSON and JSON-RPC are described, for example, in the article found on the Web page “http://www.heise.de/ix/artikel/2006/01/070/”, whereby the content of this Web page at the time point of the application is incorporated herein by reference.
Comet is described, for example, in the article found on the Web page “http://www.entwickler.com/zonen/portale/psecom,id,101,online,.1151.html”, whereby the content of this Web page at the time point of the application is incorporated herein by reference.
Industrial controls are predominantly proprietary solutions based on the special requirements of the different fields of application. They are distinguished both in the arena of the hardware used, which is particularly determined by the microcontroller platform utilized, as well as by the operating system that is used. In comparison to the Windows PC, which makes available a very stable platform, this involves a considerable expenditure for software portability for the specific devices in each case. The invention thus preferably provides for implementing both control engine 410 as well as HTTP server 420 with the means of the Microsoft .Net language family, which is translated into a standardized intermediate language (CIL—Common Intermediate Language) and is executed in a corresponding runtime environment. This runtime environment is called CLR—Common Language Runtime and is available under the name embedded CLR also for different microcontroller platforms. This embodiment makes possible a simple portability of Web engineering to different embedded devices, since both control engine 410 as well as HTTP server 420 are implemented relative to a standard environment.
In typical Internet scenarios, computers on which Web servers run are appropriately powerful machines, in fact, they are frequently a group of crosslinked computers—so-called server farms, which permit them to be able to always maintain sufficient performance for the different processes. A memory-programmable control primarily has the task of controlling a process that is connected via its system of peripherals. In particular, in the case of control devices which are designed as compact and mini controls, free computing power is hardly available for additional tasks. The conception of a Web-based control system according to the invention takes this into consideration, on the one hand, by the above-described moving of engineering application 310 into browser 110. HTTP server 420 and its communication to engineering application 310 now still require additional computing power of control 400. For a perfect functioning of control engine 410, this engine must preferably have sufficient resources for processing control application 600 and should not be adversely affected by, e.g., the HTTP communication to engineering application 310. As is usual in the case of industrial controls, typically the input signals of the connected peripheral 700 are read in by control engine 410 at the beginning of each one of these cycles, then the automating functions corresponding to the current control application 600 are executed and at the end of the cycle, the output signals are output via the connected peripheral 700. The HTTP server 420 is activated if an HTTP request occurs or control engine 410 deposits a corresponding message 720. The processes for executing control engine 410 and HTTP server 420 are particularly advantageously managed via threads and a dynamic priority control. The dynamic priority control assures that control engine 410 has allocated sufficient computing time in order to be able to process control application 600.
The field of application of the invention, in particular, of a method according to the invention and/or a control device according to the invention, and thus the described mechanisms of a Web-based control system is (are) industrial memory-programmable controls (SPS/PLC), in particular, but can also be security-directed systems and especially combinations of security-directed and non-security-directed types of automating functions. In addition, the described mechanism can advantageously be used as a basis for Web-based “operate and observe” functions and their display systems.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5508689 *Aug 18, 1994Apr 16, 1996Ford Motor CompanyControl system and method utilizing generic modulesUS5799067 *Jun 12, 1997Aug 25, 1998Elonex I.P. Holdings Ltd.Smart phone integration with computer systemsUS5805442 *May 30, 1996Sep 8, 1998Control Technology CorporationDistributed interface architecture for programmable industrial control systemsUS5911047 *Jul 31, 1997Jun 8, 1999Electronics And Telecommunications Research InstituteData traffic processing method in a subscriber network access subsystem of advanced communications processing systemUS6195591 *Dec 11, 1998Feb 27, 2001Fisher-Rosemount Systems, Inc.Process control system using a process control strategy distributed among multiple control elementsUS6271844 *Nov 21, 1997Aug 7, 2001Bull S.A.Protected application launchers with graphical interfaceUS7010396 *Apr 5, 2004Mar 7, 2006David Brent WareIrrigation controller with embedded web serverUS7233830 *May 31, 2005Jun 19, 2007Rockwell Automation Technologies, Inc.Application and service management for industrial control devicesUS7586900 *Dec 2, 2004Sep 8, 2009Moimstone Co., Ltd.Internet protocol-private branch exchange for providing internet messenger function and internet terminal for use therewithUS7693581 *Jun 18, 2007Apr 6, 2010Rockwell Automation Technologies, Inc.Application and service management for industrial control devicesUS7882209 *Sep 30, 2005Feb 1, 2011At&T Intellectual Property Ii, L.P.Tiered and modular approach to operational support systemsUS7882269 *Dec 1, 2004Feb 1, 2011Microsoft CorporationModularization of broadcast receiver driver componentsUS20040236443Apr 5, 2004Nov 25, 2004Ware David BrentIrrigation controller with embedded web serverUS20100030346 *Feb 4, 2008Feb 4, 2010Mitsuhiro WatanabeControl system and control method for controlling controllable device such as peripheral device, and computer program for controlDE10214539A1Apr 2, 2002Oct 23, 2003Siemens AgProduktionsmaschine mit einer in einem Webserver integrierten SteuerungDE10355160A1Nov 26, 2003Jun 30, 2005Schott AgBeschichtete Glas/Glaskeramikplatte und Verfahren zu ihrer HerstellungDE102005018246A1Apr 19, 2005Oct 26, 2006Schott AgGlas- oder Glaskeramik-Artikel mit dekorativer BeschichtungEP0917034A1Oct 16, 1998May 19, 1999Engel Maschinenbau Gesellschaft MbhMethod for remote monitoring and/or remote servicing of an injection moulding machineEP1445673A2Dec 19, 2003Aug 11, 2004Siemens AktiengesellschaftWeb based display of automation processesWO1999063409A1May 6, 1999Dec 9, 1999Control Technology CorpObject-oriented programmable industrial controller with distributed interface architectureWO2002031608A2Oct 8, 2001Apr 18, 2002Schneider AutomationPlc executive with integrated web server* Cited by examinerNon-Patent CitationsReference1Branch, M. et al., "Real-Time Web-Based System Monitoring," Conf. Record of the 2006 IEEE IAS Pulp and Paper Cont., 4 pp., 2006.2Campbell, Ryan, "Preloading Data with Ajax and JSON," Internet Article, pp. 1-8, Jan. 24, 2006.3English translation of International Preliminary Report and Written Opinion dated Nov. 10, 2009 for corresponding International Application No. PCT/EP2008/002985.4European Office Action dated Mar. 26, 2010 for corresponding European Patent Application No. 08 735 248.0 (with English translation).5International Search Report and Written Opinion based on corresponding International application No. PCT/EP2008/002985 dated Oct. 27, 2008.6Neuhaus, Sven, "JSON and JSON-RPC: Ajax ohne XML," IX, Magazine Fur Professionelle Informationstechnik, p. 70, Jan. 2006.7Office Action for corresponding German Patent Application No. 10 2008 019 040.3-55 dated Jul. 16, 2009.Classifications U.S. Classification700/17, 717/170, 709/218, 700/20, 717/172, 700/83, 709/223, 717/168, 700/87International ClassificationG06F9/44, G05B15/00, G06F15/16, G05B11/01Cooperative ClassificationG05B2219/32126, G05B2219/31104, G05B19/058, G05B2219/34444European ClassificationG05B19/05SLegal EventsDateCodeEventDescriptionDec 18, 2009ASAssignmentFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN;AND OTHERS;SIGNING DATES FROM 20091007 TO 20091117;REEL/FRAME:023706/0193Owner name: PHOENIX CONTACT GMBH & CO.KG, GERMANYOwner name: PHOENIX CONTACT GMBH & CO.KG,GERMANYFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN AND OTHERS;SIGNED BETWEEN 20091007 AND 20091117;US-ASSIGNMENT DATABASE UPDATED:20100513;REEL/FRAME:23706/193Owner name: PHOENIX CONTACT GMBH & CO.KG, GERMANYFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN;AND OTHERS;SIGNING DATES FROM 20091007 TO 20091117;REEL/FRAME:023706/0193Owner name: PHOENIX CONTACT GMBH & CO.KG,GERMANYFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KONIECZNY, FRANK;KRUMSIEK, DIETMAR;BEHR, THORSTEN;AND OTHERS;SIGNING DATES FROM 20091007 TO 20091117;REEL/FRAME:023706/0193RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services