This application claims the benefit and priority of Great Britain Patent Application No. 1222931.6 filed Dec. 19, 2012. The entire disclosure of the above application is incorporated herein by reference.
This disclosure relates to a modular system in which industrial control modules of the system can be easily replaced. More specifically, but not exclusively, a system and corresponding method for control of such a system is provided, the system comprising a controller for controlling a plurality of industrial control modules that is able to recognise the modules of the system.
Modular electronic, electrical and electro-mechanical systems are commonly used in many industries. In such systems, a controller is used to control the plurality of modules in the system to provide one or more desired functions.
An example of such a system is shown in
Such modular systems are advantageous for various reasons. For example, utilising a modular system means that a standard controller can be utilised for controlling different systems and simply programmed to perform the required functionality for the system in question. Furthermore, standard modular components can be utilised where possible, and each module can be replaced if faulty rather than having to attempt fix or even replace the whole system. Hence, such systems are advantageous because they are relatively cheap and easy to both manufacture and maintain.
The code 111 used by the controller to perform the control functionality includes the routine shown below:
ABSMove(Axis :=‘X_Axis’, Position :=10);
AxisVelocity(Axis :=‘Y_Axis’, Velocity :=20);
RELMove(Axis :=‘Z_Axis’, RelPosition:=30);
When implementing the code 111 the controller firstly executes the first line of the code: ABSMove(Axis :=‘X_Axis’, Position :=10). This firstly involves determining which module drives the x-axis. The controller 110 does this by using a look-up table 112 stored in the memory associated with the controller 110. For example, the controller will ask the look-up table which module corresponds to the X_Axis and the look-up table will then return information indicating that module with serial number 123 corresponds to the X_Axis. Consequently, the controller 110 will instruct the module having serial number 123 to move to Position 10.
Embodiments of the present invention attempt to mitigate at least some of the above-mentioned problems.
In accordance with an aspect of the invention there is provided a method for setting-up a module of a modular industrial control system so that the module is easily integrated into the modular system. The method comprises programming a module for use in a modular industrial control system with a name corresponding to the name used by a control code of a controller of the modular industrial control system to control the module. The name programmed into the module may be identical to the name used by the control code. The name may be programmed into a memory of the module.
In accordance with another aspect of the invention there is provided a method for setting-up a modular industrial control system for connecting a new module to the modular industrial control system. The method comprises interrogating one or more modules of a modular industrial control system in order to determine a name associated with the interrogated one or more modules. The method also comprises comparing the name of the one or modules with one or more names of modules referred to in a control code used for controlling the one or more modules. The interrogation process may comprise interrogating all modules of the modular industrial control system. The method may further comprise a step of obtaining the module names referred to in the control code prior to performing the step of comparing. The method may also further comprise implementing the control code if modules having names corresponding to all of the modules referred to in the control code are identified. Furthermore, the method may further comprise producing a signal indicating that a maintenance engineer is required if modules having names corresponding to all of the modules referred to in the control code are not identified. The method may be performed by a controller of the modular industrial control system.
In accordance with yet another aspect of the invention a module for forming part of a modular industrial control system is provided that comprises a plurality of modules and a controller for controlling the plurality of modules. The module may comprise a memory having a name stored thereon, the name corresponding to a name used by a control code of a controller of a modular industrial control system for which the module is arranged for use within to control the module.
In accordance with a further aspect of the invention a modular industrial control system is provided. The system comprises a plurality of modules and a controller for controlling the plurality of modules. Each module may have a name programmed in its internal memory, each name corresponding to a name used by the controller to instruct the respective module.
The controller may comprise a memory arranged to store code and a processor arranged to implement the code, wherein the code provides a process for instructing the modules. One of the plurality of modules may be a module as disclosed herein.
In accordance with another aspect of the invention there is provided a computer readable medium comprising computer readable code operable, in use, to instruct a computer to perform a method as described herein.
Embodiments of the invention provide an identification module within a system with a name store in the module itself.
The system of embodiments of the invention aides the maintenance of the system when a module or modules within the system fail. The system may consist of modules connected via a common communication network.
In embodiments of the invention the controller may be checking the user given names at power up. Providing the name has been programmed into a replacement module prior to the installation of the replacement module, the controller will recognise the function of the new module within the system and “know” which instructions apply to that module.
An advantage of embodiments of the invention is that the only skill required at the system's location is the ability to physically install the replacement module; no software skills are required at the location provided the name was programmed into the new module before delivery, e.g. at the system manufacturer's supply hub.
Advantageously, embodiments of the invention provide a system that utilises less processing power and less memory when operating because a look-up table need not be stored in memory and the process does not need to run the additional processing to perform the look-up operation.
Exemplary embodiments of the invention shall now be described with reference to the drawings in which:
Throughout the description and the drawings, like reference numerals refer to like parts.
The system 200 comprises a number of modules 201, 202, 203 each controlled by a controller 210 via a communications interface 220. The controller 210 comprises a processor (not shown) and a memory (not shown). The memory is arranged to store Code 211 for performing a procedure for controlling the operation of the associated modules 201, 202, 203, while the processor is arranged to execute the code in order to perform the procedure.
The first module 201, second module 202, and third module 203 are each drive modules for driving an x, y, and z axis of a milling machine, respectively. As can be seen from
ABSMove(Axis :=‘X_Axis’, Position :=10);
AxisVelocity(Axis :=‘Y_Axis’, Velocity :=20);
RELMove(Axis :=‘Z_Axis’, RelPosition:=30);
The controller 210 then recognises that all of the modules referred to in the code, i.e. X_Axis, Y_Axis, and Z_Axis, are present in the system 200. Consequently, the controller is then able to perform the control procedure at step S4.
If the controller determines that there are modules referred to in the code 211 that are not connected to the system 200 then the method proceeds to step S5. At step S5, either the code will need to be corrected to refer to the correct module name, the module will need to be programmed with the correct name, or the correct module will need to be installed.
It will be appreciated that embodiments of the invention are applicable to any system comprising a number of modules to be replaced. The specific functionality of modules of the system is not relevant to embodiments of the invention. While the modules are all shown as having the same functionality in the embodiment described above, it will be appreciated that the system may include a plurality of modules with different functionalities.
When implemented by a processor by a computer program on any type of computer, a computer would be provided having a memory to store the computer program, and a processor to implement the computer program. The processor would then perform the algorithmic process. The computer program may include computer code arranged to instruct a computer to perform the functions of one or more of the various methods described above. The computer program and/or the code for performing such methods may be provided to an apparatus, such as a computer, on a computer readable medium. The computer readable medium could be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium for data transmission, for example for downloading the code over the Internet. Non-limiting examples of a physical computer readable medium include semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disc, and an optical disk, such as a CD-ROM, CD-R/W or DVD.
Number | Date | Country | Kind |
---|---|---|---|
1222931.6 | Dec 2012 | GB | national |