The present invention will become more fully understood from the detailed description given hereinbelow and the appended drawings which given by way of illustration only, and thus are not intended as a definition of the limits of the present invention, and wherein:
An embodiment of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiment. Moreover, this embodiment of the present invention illustrates the most preferred mode of the invention, and purposes and terms of the invention are not limited to this embodiment.
First, the configuration of the control system 1 will be described. As shown in
The client terminal 10 is an information equipment, such as a PC and a WS, including: a control section that has a CPU, a read only memory (ROM), a random access memory (RAM), and the like, which are not particularly shown, and controls the respective sections of the client terminal 10; a storage section, such as an optical/magnetic storage medium and a semiconductor memory, which stores a variety of pieces of data; an operation section that receives an operation input of a user from a keyboard, a mouse, or the like; a display section such as a cathode ray tube (CRT) and a liquid crystal display (LCD); and a communication interface communicably connected to an external equipment by a wire or wirelessly.
The client terminal 10 functions as a browser processing section 11 as a Web browser for a Web page (an HTML document), which displays, on the display section, a screen regarding a control and monitoring for an equipment connected to the controller, and receives an instruction from an operation button as an operation section displayed on the screen, in such a manner that the CPU expands a variety of application programs to a work area of the RAM and sequentially executes the expanded application programs.
The browser processing section 11 includes: a browser rendering section 12 that displays a screen which is based on a script language, such as JavaScript and ActionScript, conforming to the HTML, the XML and the European Computer Manufacturer Association (ECMA) Script, and on a program module such as the Applet; and a browser communication section 13 that requests data from the external equipment through an HTTP communication and receives an HTTP communication from the outside based on a selection of a link on the screen.
Note that, with regard to the Web page regarding the control and monitoring of the equipment connected to the controller 20, which is processed by the browser processing section 11, HTML data stored in the storage section of the client terminal 10 in advance may be read out, or the Web page may be a Web page acquired by designating a URL of an external Web server such as the controller 20.
The controller 20 includes a CPU, a RAM, a ROM, a storage section, a communication interface, and the like, which are not particularly shown. Then, the CPU expands, to a work area of the RAM, a variety of control programs stored in the ROM, and sequentially executes the expanded programs, whereby the controller 20 realizes functions as a control section 21 and a communication section 22.
The control section 21 controls the respective sections of the controller 20, monitors a sensor (not particularly shown) connected to the controller 20, and controls an open/close drive of a regulation valve (not particularly shown, either), or the like. The communication section 22 administers a data communication through the communication interface. Moreover, the communication section 22 communicates with the outside through the HTTP, and is constructed as at least a subset of the Web server. Note that, when the controller 20 has a sufficient resource, the communication section 22 may be constructed as a Web server of full-set.
Moreover, the communication section 22 includes: a CGI message interpretation section 23 that interprets the HTTP communication transmitted from the client terminal 10, and instructs the control section 21 to execute the programs related to the control and monitoring of the equipment; and an XML message generation section 24 that generates an XML message to be sent back to the client terminal 10 based on results of the control and the monitoring of the equipment by the control section 21.
Uniform resource locators (URL) are allocated in advance to control targets (the sensor and the regulation valve) for which it is possible to perform the control and the monitoring from the controller 20. For example, when the controller 20 collects a temperature and the like by using a plurality of the sensors, individual URLs are assigned to the respective sensors. In such a way, the instructions for the control/monitoring, which are issued to the control section 21 by the CGI interpretation section 23, are performed for the equipment that is based on the URL interpreted in the HTTP communication. Moreover, URLs may be allocated also to browsable information such as a log file and to a control command such as a collection start command.
Note that the control system 1 may be formed as a control system 1a including a controller 20a that intermediates a communication between a control device 30, an equipment management device 31, and a log management device 32, which are equipments as control targets shown in
Here, the HTTP communication between the browser communication section 13 of the client terminal 10 and the communication section 22 and CGI message interpretation section 23 of the controller 20 will be described. The HTTP communication includes commands such as “GET”, “PUT”, “POST”, and “DELETE”. In the HTTP communication between the client terminal 10 and the controller 20, these commands are directly used as commands to the control targets of the controller 20, which are indicated by the URLs. Specifically, the URLs are individually allocated to the control targets connected to the controller 20, and the commands in the HTTP communication become the commands to the control targets.
“GET” is a command to collect the information of the control targets connected to the controller 20. For example, “GET” is used for acquiring a current value of a temperature sensor and a temperature history stored in the storage section. “PUT” is used when the control targets are made to perform some control processing such as executing the control command and changing a level of the log. Basically, the controller 20 is remotely controlled by these two types of commands.
“POST” is used when the URLs are assigned to the control targets of the controller 20. For example, “POST” is used in such a case where input/output (I/O) as a new control target is added to the controller 20, and a URL is remotely assigned to the new control target. Moreover, “DELETE” is used in such a case of erasing the log file as information regarding histories, which is stored in the storage section, and deleting the URL that has become useless.
In the case of using an argument in the above-described commands according to the HTTP communication, a method of designating a parameter, which is used in common CGI, is used. As a specific example, the CGI transmits the parameter in a format of “key=value”. When a plurality of the parameters are present, “&” is used as a separator.
Specifically, when the client terminal 10 performs the HTTP communication such as “GET http://xxx.xxx.xxx.xxx./hoge?pv” with the controller 20 of which IP address is “xxx.xxx.xxx.xxx”, “hoge” represents the control target, “GET” represents the command to the control target concerned, and “pv” represents a parameter in the command.
The control system 1 uses the above-described method using the HTTP communication, thus making it possible to perform parsing extremely easily in comparison with the SOAP or the like. Consequently, even when there are limitations on the resource of the controller 20, an influence from the CPU and the resource such as the memory can be suppressed, and the control processing as a main task of the controller 20 is not affected. Moreover, the HTTP communication and the CGI are used, whereby a versatile Web browser just needs to be activated without activating a dedicated application program on the client terminal 10 side.
Here, the processing in the control system 1, which is related to the control from the client terminal 10 for the equipment connected to the controller 20, will be described. Note that, since details of the processing are substantially the same among the commands according to the HTTP communication, the processing will be described while illustrating processing using the “GET” command of the HTTP communication, which is to acquire the information.
As shown in
Subsequently, in the controller 20, based on the instruction from the client terminal 10 through the HTTP communication, the CGI interpretation section 23 extracts the command (“GET”), the control target (“hoge’), and the parameter (“pv”), and outputs these pieces of information regarding the equipment to the control section 21 (Step S13). The control section 21 acquires the information regarding the equipment, which is outputted from the CGI message interpretation section 23, by designating the parameters and the like, and outputs the information to the XML message generation section 24 (Step S14). The XML message generation section 24 converts the information regarding the equipment, which is acquired by the control section 21, into an XML, and outputs the XML to the client terminal 10 through the HTTP communication (Step S15).
Subsequently, in the client terminal 10, the browser communication section 13 extracts the information regarding the equipment from the XML transmitted from the controller 20, and outputs the information to the browser rendering section 12 (Step S16). Then, based on the information, the browser rendering section 12 updates the rendering, and updates the data regarding the equipment (Step S17).
As described above, the control system 1 is composed so as to perform, through the HTTP communication, the communication between the client terminal 10 that remotely performs the operation instruction and the controller 20 related to the control/monitoring of the equipment, to pass the instruction, which goes from the client terminal 10 to the controller 20, through the CGI message interpretation section 23, and to perform, as the XML message, the output of the data such as the monitoring information of the equipment, which goes from the controller 20 to the client terminal 10.
Consequently, it is not necessary for the control system 1 to perform processing, such as the parsing for the XML, excessively consuming the resource in the event of analyzing the instruction from the client terminal 10. Moreover, the control system 1 uses the XML message in which a quantity of the data from the controller 20 to the client terminal 10 is not redundant like the SOAP, and Consequently, traffic can be suppressed. Furthermore, the control system 1 can directly use security techniques, which is used in the Web, for the communication between the client terminal 10 and the controller 20, and the control system 1 can be constructed of a highly versatile communication configuration.
Moreover, the control system 1 instructs, which goes from the client terminal 10 to the controller 20, by the HTTP commands such as “GET” and “PUT” in the HTTP communication. Consequently, the control system 1 can allow the CGI message interpretation section 23 to easily interpret the CGI message, and can suppress the resource consumption in the controller 20.
Furthermore, the control system 1 allows the browser rendering section 12 to perform the rendering on the display section based on the script language of the HTML document, which is processed by the browser processing section 11 of the client terminal 10, and on the program module. Consequently, the control system 1 can perform the rendering, for example, using the AJAX that does not cause page transition by the scrip language and the program module, and can suppress flicker of the screen when the information of the equipment monitored by the client terminal 10 is updated.
Note that the description of this embodiment merely illustrates an example of the present invention, and the present invention is not limited to the description. It is possible to appropriately change the detailed configurations and operations of the control system 1 in the present invention within the scope without departing from the spirit of the present invention.
The entire disclosure of Japanese Patent Application No. 2006-167317 filed on Jun. 16, 2006, including description, claims, drawings and summary are incorporated herein by reference in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2006-167317 | Jun 2006 | JP | national |