Control System for an Automation System and Method for Operating an Automation System
20210141357 · 2021-05-13
Inventors
Cpc classification
G05B19/05
PHYSICS
G05B2219/163
PHYSICS
International classification
Abstract
The disclosure relates to a control system for an automation system which is configured to control at least one automation component of the automation system, and which has a standardized data interface and is further configured to receive control instructions from outside via the standardized data interface, to convert the received control instructions into control commands for the at least one automation component and to control the at least one automation component using said control commands, and also a method for operating an automation system.
Claims
1. A control system for controlling at least one automation component of an automation system, the control system comprising: a standardized data interface configured to receive control instructions from outside, wherein the control system is configured to (i) convert the received control instructions into control commands for the at least one automation component, and (ii) control the at least one automation component using the control commands.
2. The control system according to claim 1, wherein the standardized data interface is standardized in accordance with Representational State Transfer (REST) and is configured to receive the control instructions in accordance with REST protocol from outside.
3. The control system according to claim 1, wherein user data is contained in the received control instructions in a standardized format.
4. The control system according to claim 1, wherein the control system is configured to output information relating to the received control instructions on request via the standardized data interface.
5. The control system according to claim 1, wherein the control system is configured to control depending on information contained in the received control instructions relating to an access right with respect to the control system.
6. The control system according to claim 1 further comprising: a buffer memory, wherein the control system is configured to (i) store the received control instructions in the buffer memory and (ii) remove the received control instructions from the buffer memory in the sequence of their input.
7. The control system according to claim 1, wherein the control system is configured to control the at least one automation component immediately after reception via the standardized data interface.
8. The control system according to claim 1, wherein the control system is configured to receive the control instructions via the standardized data interface via a network.
9. The control system according to claim 1 further comprising: a further data interface, wherein the control system is configured to (i) receive further control instructions via the further data interface and (ii) control at least one automation component using the further control instructions.
10. A method for operating an automation system having at least one automation component and a control system, the method comprising: transmitting control instructions from outside via a standardized data interface to the control system, converting the received control instructions into control commands for the at least one automation component; and controlling the at least one automation component using the control commands.
11. The method according to claim 10, the transmitting further comprising: transmitting the control instructions via a browser which is provided on a computing system disposed remotely from the automation system, via the standardized data interface to the control system.
12. The method according to claim 10, wherein: the control system includes the standardized data interface configured to receive the control instructions from outside; and the control system is configured to (i) convert the received control instructions into the control commands for the at least one automation component, and (ii) control the at least one automation component using the control commands.
13. The control system according to claim 2, wherein the standardized data interface is configured to receive the control instructions in accordance with Uniform Resource Identifier (URI) protocol.
14. The control system according to claim 3, wherein the user data is contained in the control instructions in JavaScript Object Notation (JSON) format.
15. The control system according to claim 4, wherein the control system is configured to output a structural schema of at least one of the control instructions and available control instructions, on request via the standardized data interface.
16. The control system according to claim 8, wherein the control system is configured to receive the control instructions via the standardized data interface via an Internet.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The disclosure is presented schematically in the drawing on the basis of an example embodiment and is described in detail below with reference to the drawing.
[0037]
DETAILED DESCRIPTION
[0038]
[0039] As well as the control system 110, the automation system 100 has, by way of example, two automation components 190 and 191 which can be controlled or activated by means of the control system 110. The automation components 190 and 191 may, for example, be handling devices or robots or robot arms. The specific type of the automation system and its automation components is, however, of little relevance to the present disclosure.
[0040] The control system 110 now has a standardized data interface 130 which is preferably standardized in accordance with REST. This standardized data interface 130 may, in particular, be a Web server or a part or component thereof. The control system 110 is therefore also configured to receive control instructions 120 in accordance with in accordance with the REST protocol, furthermore particularly in accordance with URI, from outside via the data interface 130.
[0041] By way of example, a control instruction 120 is shown which is transmitted from a client 200 disposed outside or remotely from the automation system 100 via e.g. the Internet to the control system 110. The control instruction shown comprises, by way of example, a command 121 for commanding the control system 110 or one of the automation components 190, 191 via said control system, and also information 122 relating to access rights. A more detailed explanation of the control instructions is provided below.
[0042] Control instructions incoming via the standardized data interface 130 are fed via a data router 140 to a common interface 150 which converts the control instructions into the control commands for the automation system 100 and feeds them to a buffer memory 160. From there, the individual control commands can then be processed sequentially, i.e. can be output as corresponding signals or commands to control or activate the automation components 190, 191.
[0043] The control system 110 further has, by way of example, a further data interface 131, for example a PLC (or a PLC can be provided which has an interface of this type). Control instructions or commands received via this further data interface 131 can similarly—if necessary following a conversion into control commands for the automation system by the common interface 150—be fed to the buffer memory 160 and can then be executed from there. However, it is also conceivable for the buffer memory 160 to be used only for the control instructions incoming via the standardized data interface 130 or the control commands obtained therefrom.
[0044] As already mentioned, the control instructions 120 are transmitted from a client 200 to the control system 110. The client 200 may, for example, be a computer having hardware 221, an operating system 220 and a browser 210 (e.g. HTML-based). As already mentioned, however, it does not have to be a browser. Instead of a browser or Web browser, any application can be used which can issue REST requests or corresponding control instructions. Instead of e.g. HTML5, Java/JavaScript or any other technology can be employed which can be executed by the browser that is used.
[0045] As already mentioned, a few transactions are defined in REST, wherein POST, in particular, is relevant to the issuing of commands in the present case. REST requests are made via a URI. A URI can be used in the following form for issuing commands or control instructions:
[0046] https://<DeviceIP>:<port>/rest/api/<Version>/motion/<ObjectType>/<ObjectName>/cmd/<Command>
[0047] Where:
[0048] <DeviceIP> is the address of the control system,
[0049] <port> is the port number of the request, <Version> is the version number of the standardized data interface,
[0050] <ObjectType> is the object to be commanded in the control system (i.e. the automation component concerned, e.g. axis, robot),
[0051] <ObjectName> is a unique name of the object to be commanded, and
[0052] <Command> is the command (as a string) that is intended to be issued.
[0053] A control instruction can therefore, for example, appear as follows:
[0054] https://192.168.0.208:8069/rest/api/1.0/motion/axs/X/cmd/posAbs/
[0055] With the address “motion/cmd”, e.g. global commands for the entire motion system are possible (e.g. switch over global state machine, perform global reset. With the address “motion/axs/<name>/cmd, e.g. individual axis commands for the axis with the name <name> are possible (e.g. switch on power, perform axis reset, perform individual axis movement). With the address “motion/kin/<name>/cmd, e.g. kinematic commands for the kinematic with the name <name> are possible (e.g. perform kinematic reset, move kinematic on a straight line).
[0056] A browse on the corresponding address then supplies e.g. a list of all commands of the chosen entity (automation component) in the control system. For example, a browse on “motion/cmd” supplies: [“opstate”, “reset”], or a browse on “motion/axs/X/cmd” supplies: [“pos-abs”, “pos-rel”, “pos-add”, “abort”, “reset”, “power”, “add-to-kin”, rmv-frm-kin”, “jog-abs”, “jog-rel”].
[0057] Via e.g. a function “query metadata” of a specific address (which applies to an automation component), a JSON schema, for example, can be provided which defines the structure of the parameters of the respective command.
[0058] An example of individual axis positioning can appear as follows:
TABLE-US-00002 { “axsPos”:“1200.0”, “buffered”:true, “lim”:{“vel”:“500.0” “acc”:“250.0”, “dec”:“250.0”} }
[0059] In this example, a movement command is issued and the target position (“1200.0”) is contained in the user data. The command is intended to be buffered. Dynamic limits for speed (vel), acceleration (acc and dec) which are intended to or have to be adhered to in the movement are also indicated (in the separate structure “lim”) for the command Further optional parameters (e.g. for the dynamic limit “Jerk”) would be possible, but are not contained in this commanding.
[0060] An example of switching on power can appear as follows:
TABLE-US-00003 { “switchOn”:true }
[0061] In this example, a command is issued which is intended to switch on the power of an individual axis. The only necessary parameter “switchOn” indicates that the power is intended to be switched on (and not switched off).
[0062] An example of the incremental jogging of a kinematic can appear as follows:
TABLE-US-00004 { “jogDir”:[“0.0”,“0.5”,“0.5”], “jogIncrement”:“10.0”, “lim”:{“vel”:“500.0” “acc”:“250.0”, “dec”:“200.0”} “jrk-acc”:“750.0”, “jrk-dec”:“650.0” }
[0063] A jog command is issued here for incremental jogging (of a travel movement which travels a defined path length in a predefined direction until it reaches a limit of the configured workspace) of a kinematic. The jogging is intended to act in equal parts on the second and third axis of the kinematic (jogDir is the commanded direction vector), and 10 mm are predefined as the path length (jogIncrement). The dynamic limits are similar to the individual axis positioning indicated above. However, the braking ramp is intended to be flatter, and for this reason a smaller value is predefined for braking acceleration. In addition, jerk limits (jrk) are indicated.
[0064] The concept is always compatibly extendable for new entities or automation components (which are then given a separate subaddress) and for new commands (which must have a unique name for the corresponding entity).
[0065] Since the possible commands and also the schema of the parameters can be queried from outside, a versioning of the standardized data interface is not necessary. A client can itself determine all relevant data by means of queries to the server (or to the control system). It is even possible to implement a completely generic interface for the commanding which is based exclusively on data of a local control system (and then offers only the commands/parameters which this control/firmware/licensing supports).
[0066] The REST request can be transmitted by means of HTTP and is therefore encrypted and integrity is ensured. By means of a rights management implemented in the control system, the operator of the automation system, for example, can control that only authorized persons/groups can issue commands. The authorization concept appropriately operates at individual command level. It can thus be precisely specified which user or which user group is permitted to execute which command.