This application claims the priority of Japan patent application serial no. 2018-069452, filed on Mar. 30, 2018. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The disclosure relates to a support apparatus, a support program, and a setting method.
Conventionally, in the field of FA (factory automation), a system in which a control apparatus and various devices such as a sensor, an actuator or the like are connected via a network is used. With the development of the ICT (Information and Communication Technology), application of more advanced communication technology is progressing.
For example, a network technology, which is managed and provided by the ODVA, Inc. whose headquarters are located in the U.S. and referred to as the CIP (Common Industrial Protocol), can be employed to implement communication between control apparatuses and between a control apparatus and any other device (see non-patent literature 1).
[Non-patent literature 1] ODVA, “The Common Industrial Protocol”, [online], [searched on Mar. 15, 2018], Internet <URL: https://www.odva.org/Technology-Standards/Common-Industrial-Protocol-CIP/Overview>
In order to implement the communication which uses the aforementioned advanced communication technology, the control apparatus and/or the devices which are communication targets should be appropriately set respectively. On the other hand, multiple devices may be connected to the network, and there is a problem that the setting operation is complicated and time-consuming.
The disclosure provides an approach by which required connection setting can be easily set even when multiple devices are connected to the network.
According to an example of this disclosure, a support apparatus that is directed to a control apparatus network—connected to one or a plurality of remote devices is provided. The support apparatus includes: a first setting reception part, which receives a setting of connection established between the control apparatus and any remote device; a second setting reception part, which receives a setting of a variable name used for reference in a program executed in the control apparatus for each datum exchanged in the connection that is set; a generation part, which determines a tag name associated with each datum based on the variable name that is set for each datum, and generates a connection setting that contains each tag name that is determined; and a transmission part, which transmits the connection setting that is generated to the control apparatus and the device which are involved in the connection setting.
According to another example of this disclosure, a support program that is executed in a computer capable of communicating with a control apparatus network-connected with one or a plurality of remote devices is provided. The support program makes the computer execute: a step to receive a setting of connection established between a control apparatus and any remote device; a step to receive a setting of a variable name used for reference in a program executed in the control apparatus for each datum exchanged in the connection that is set; a step to determine a tag name associated with each datum based on the variable name that is set for each datum and to generate a connection setting that contains each tag name that is determined; and a step to transmit the connection setting that is generated to the control apparatus and the device which are involved in the connection setting.
According to still another example of this disclosure, a setting method for a control system which includes a control apparatus and one or a plurality of remote devices network-connected to the control apparatus is provided. The setting method includes: a step to receive a setting of connection established between a control apparatus and any remote device; a step to receive a setting of a variable name used for reference in a program executed in the control apparatus for each datum exchanged in the connection that is set; a step to determine a tag name associated with each datum based on the variable name that is set for each datum and to generate a connection setting that contains each tag name that is determined; and a step to transmit the connection setting that is generated to the control apparatus and the device which are involved in the connection setting.
According to this disclosure, when a user sets the variable name used in the reference in the program executed in the control apparatus for each datum exchanged between the control apparatus and the remote device, the tag name is automatically generated and the required connection setting is generated. By employing this function in which the tag name is automatically generated in conjunction with the setting of the variable name, the connection setting can be easily performed even by a user lacking expertise.
In the aforementioned disclosure, the support apparatus may further include a third setting reception part which receives a setting of variable names used for reference in the program executed in the control apparatus for input-output data managed by a local device. According to this disclosure, the variable names for the reference in the program executed in the control apparatus can be set even for the input-output data managed by the local device.
In the aforementioned disclosure, the reception of setting by the second setting reception part and the reception of setting by the third setting reception part may be performed on the same screen. According to this disclosure, the user can set the variable names without realizing distinction between the input-output data exchanged with the remote device and the input-output data managed by the local device.
In the aforementioned disclosure, items that are set may be in common between the setting by the second setting reception part and the setting by the third setting reception part. According to this disclosure, the setting of variable names for the input-output data exchanged with the remote device and the setting of variable names for the input-output data managed by the local device can be performed on the same screen, and thus operability can be improved.
In the aforementioned disclosure, the items that are set may include a setting of data classification. According to this disclosure, designation of the data classification required for the connection setting can be achieved.
In the aforementioned disclosure, the items that are set may include a setting of data attribute of the variables. According to this disclosure, designation of the data attribute of the variables required for the connection setting can be achieved.
According to the disclosure, the required connection setting can be easily set even when multiple devices are connected to the network.
Embodiments of the disclosure are described in detail with reference to the drawings. Moreover, identical or correspondent parts in the drawings are denoted by identical symbols and the description is not repeated.
First, an example of a case in which the disclosure is applied is described.
Typically, the safety control system 1 includes a control apparatus 2 achieving safety control of the function safety, and one or a plurality of remote devices 300-1, 300-2, 300-3 . . . (also generally referred to as “the remote device 300” hereinafter) network-connected with the control apparatus 2.
In this specification, the “device” includes apparatuses capable of being connected to another apparatus (typically, the control apparatus) via an arbitrary local bus or an arbitrary network. The device includes at least a portion of a single sensor, a single actuator, a relay apparatus for connecting one or a plurality of sensors or actuators to the network, and various control apparatus such as a robot controller, a temperature controller, a flow amount controller and so on.
In particular, from the perspective of the control apparatus that implements arbitrary standard control or safety control, the device connected via an arbitrary local bus is referred to as “a local device” or “a local unit”, and the device connected via an arbitrary network is referred to as “a remote device”.
In this specification, typically, the “standard control” is a general term of treatments for controlling a control target according to a predetermined requirement specification. Besides, in this specification, the “safety control” is a general term of treatments for preventing the safety of a person from being threatened by any malfunction, any equipment or machine or the like. The safety control includes, for example, a treatment in which the control target is stopped not only in a case that behavior of the control target itself is different from original behavior but also in a case that any abnormality occurs in the control apparatus 2 itself.
In the safety control system 1, the control apparatus 2 is network-connected to one or a plurality of remote devices 300. The safety control system 1 further includes a support apparatus 400 which is a computer capable of communicating with the control apparatus 2. The support apparatus 400 is an apparatus directed to the control apparatus 2 and various settings can be performed on the control apparatus 2 and one or a plurality of remote devices 300 network-connected to the control apparatus 2.
In the safety control system 1, in order that the control apparatus 2 exchanges data with an arbitrary remote device 300, a connection is required to be established between the control apparatus 2 and the target remote device 300. In
In order to establish the connection 30, a connection setting 42 is applied to the control apparatus 2 and the remote device 300-1 in advance. The connection setting 42 includes designation of the control apparatus 2 and the remote device 300 which are involved in the connection and settings (tag name, data size, data classification) related to input-output data exchanged between the target control apparatus 2 and remote device 300.
The connection setting 42 required for the establishment of the connection is applied by the support apparatus 400.
More specifically, the support apparatus 400 has a setting reception function which receives the setting of the connection established between the control apparatus 2 and any remote device 300. In addition, the support apparatus 400 has a setting reception function which receives the setting of a variable name used for reference in a program executed in the control apparatus 2 for each datum exchanged in the connection that is set.
On receiving these settings, the support apparatus 400 determines a tag name associated with each datum based on the variable name that is set for each datum and generates the connection setting 42 which contains each tag name that is determined. Then, the support apparatus 400 transmits the connection setting 42 that is generated to the control apparatus 2 and the device 300 which are involved in the connection setting 42.
By employing the aforementioned setting reception function, generation function, and transmission function, when a user designates the connection between the control apparatus 2 and any remote device 300 and the variable names, the setting required for the establishment of the connection is automatically performed without realizing the tag names. As a result, the connection setting between the control apparatus 2 and one or a plurality of remote devices 300 can be easily performed even by the user lacking expertise.
A configuration example of the safety control system 1 is described.
In
The control apparatus 2 is capable of standard control and safety control for controlling the control target that is not shown.
Although the standard control and the safety control may be achieved by the same unit, the control apparatus 2 is constituted of a standard control unit 100 that is mainly responsible for the control to the control target, and a safety control unit 200 that is mainly responsible for the safety control. As described later, by executing a standard control program in the standard control unit 100, the standard control is achieved, and by executing a safety program in the safety control unit 200, the safety control is achieved. One or a plurality of local IO units 250 may be mounted on the control apparatus 2.
The local IO unit 250 is responsible for input of signals from safety components and/or output of signals to the safety components. In this specification, the “safety component” mainly includes arbitrary apparatuses used in the safety control, for example, including a safety relay, all types of safety sensors and the like.
The standard control unit 100 is communicably connected to the safety control unit 200 and the local IO unit 250 via a local bus 12 (see
The standard control unit 100 includes the communication port 14 for physical connection with a field network 4, and the communication port 16 for physical connection with a superordinate network 6. As an example, one or a plurality of remote devices 300-1, 300-2, 300-3, 300-4, 300-5, 300-6 . . . is connected to the field network 4, and one or a plurality of HMIs (Human Machine Interface) 500 and a server apparatus 600 are connected to the superordinate network 6. In addition, a control apparatus 2A and a control apparatus 2B are also connected via the superordinate network 6.
The HMI 500 displays state values and the like kept by the control apparatus 2 and receives user operation to output content of the user operation that is received to the control apparatus 2.
The server apparatus 600 contains a database that collects information from the control apparatus 2 or an operation management system and the like which give various settings such as a recipe to the control apparatus 2.
In
A protocol related to the data transmission of the field network 4 and the superordinate network 6 may be an industrial network protocol such as EtherNet/IP, DeviceNet, CompoNet, ControlNet and the like. As described later, a user program (application) executed in the standard control unit 100 and/or the safety control unit 200 employs such protocols related to the data transmission to achieve a data exchange in accordance with a communication protocol such as CIP (Common Industrial Protocol), CIP Safety or the like.
That is, the control apparatus 2 may employ an architecture in which the industrial network protocol such as EtherNet/IP, DeviceNet, CompoNet, ControlNet or the like is combined with the communication protocol (function at application level) such as CIP, CIP Safety or the like.
The description below mainly illustrates the architecture in which the CIP Safety is employed in addition to EtherNet/IP between the safety control unit 200 and one or a plurality of remote devices 300. Moreover, the CIP Safety is the communication protocol based on CIP and corresponding to function safety specifications such as IEC 61508 and the like.
The support apparatus 400 is communicable with the control apparatus 2 via a communication port 18. That is, the support apparatus 400 is configured to be capable of communicating with the control apparatus 2 that is network-connected to one or a plurality of remote devices 300. The support apparatus 400 provides the user with functions such as development, debugging or the like of the user program executed in the control apparatus 2 (the standard control unit 100 and/or the safety control unit 200), and provides the user with the function of performing network setting and the like to the remote device 300 which is connected via the field network 4. The setting function provided by the support apparatus 400 is described later in detail.
Next, hardware configuration examples of main apparatuses constituting the safety control system 1 of this embodiment are described.
The processor 102 corresponds to an operation processing part that implements a control operation and the like and is formed of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit) or the like. Specifically, the processor 102 reads out programs (for example, a system program 1060 and a standard control program 1062) stored in the storage 106 and develops the programs in the main memory 104 for execution, thereby achieving the control corresponding to the control target and various processing as described later.
The main memory 104 is formed of a volatile memory apparatus and the like such as a DRAM (Dynamic Random Access Memory), a SRAM (Static Random Access Memory) and the like. The storage 106 is formed of a non-volatile memory apparatus and the like, for example, a HDD (Hard Disk Drive), a SSD (Solid State Drive) and the like.
In the storage 106, in addition to the system program 1060 for achieving the basic function, the standard control program 1062 which is created corresponding to the control target such as equipment or a machine is stored. Furthermore, in the storage 106, memory mapping information 1064 for relaying the data transmission which is done by the safety control unit 200 and employs the superordinate network controller 108 and/or the field network controllers 110, 112 is stored.
The superordinate network controller 108 exchanges data with an arbitrary information processing apparatus such as another control apparatus 2, the HMI 500, the server apparatus 600 or the like via the superordinate network 6.
The field network controllers 110, 112 exchanges data with the device and/or the remote device 300 via the field network 4. In
The USB controller 114 exchanges data with the support apparatus 400 and the like via a USB connection.
The memory card interface 116 receives a memory card 118 which is an example of detachable recording medium. The memory card interface 116 is capable of writing data into the memory card 118 and reading various data (log, trace data and so on) out from the memory card 118.
The local bus controller 120 exchanges data with the safety control unit 200 or the local IO unit 250 via the local bus 12. More specifically, the local bus controller 120 includes a master controller 122, an IO data memory 124, a transmission circuit (TX) 126, and a reception circuit (RX) 128.
The IO data memory 124 is the memory which temporarily keeps data (input data and output data) exchanged with various units via the local bus 12, and an address corresponding to each unit is specified in advance. The transmission circuit 126 generates a communication frame that includes the output data and sends out the communication frame to the local bus 12. The reception circuit 128 receives the communication frame transmitted through the local bus 12 and demodulates the communication frame into the input data. The master controller 122 controls the IO data memory 124, the transmission circuit 126, and the reception circuit 128 according to data transmission timing and the like on the local bus 12. The master controller 122 provides the control as a communication master that manages the data transmission and the like on the local bus 12.
In
The local bus controller 220 functions as a communication slave and provides a communication interface the same as other units. That is, the local bus controller 220 exchanges data with the standard control unit 100 and the function units via the local bus 12.
On the local bus 12, the safety control unit 200 and the local IO unit 250 are daisy-chain connected. That is, on receiving the communication frame from an apparatus existing on the upper-stream side on the local bus 12, the local bus controller 220 copies inside all or part of the data of the communication frame and delivers the data to an apparatus existing on the lower-stream side. Similarly, on receiving the communication frame from the apparatus existing on the lower-stream side on the local bus 12, the local bus controller 220 copies inside all or part of the data of the communication frame and delivers the data to the apparatus existing on the upper-stream side. The data transmission between the standard control unit 100 and the function units and the safety control unit 200 is achieved by this sequential delivery of the communication frame.
More specifically, the local bus controller 220 includes a slave controller 222, a buffer memory 224, transmission circuits (TX) 225, 226, and reception circuits (RX) 227, 228.
The buffer memory 224 temporarily keeps the communication frame transmitted through the local bus 12.
On receiving the communication frame transmitted through the local bus 12, the reception circuit 227 stores all or part of the communication frame in the buffer memory 224. The transmission circuit 226 sends out the communication frame received by the reception circuit 227 to the local bus 12 on the lower-stream side.
Similarly, on receiving the communication frame transmitted through the local bus 12, the reception circuit 228 stores all or part of the communication frame in the buffer memory 224. The transmission circuit 225 sends out the communication frame received by the reception circuit 228 to the local bus 12 on the lower-stream side.
The slave controller 222 controls the transmission circuits 225, 226, the reception circuits 227, 228, and the buffer memory 224 to achieve the sequential delivery of the communication frame on the local bus 12.
The processor 202 corresponds to an operation processing part that implements a control operation and the like and is formed of a CPU, a GPU or the like. Specifically, the processor 202 reads out programs (for example, a system program 2060, a connection management program 2062, and a safety program 2066) stored in the storage 206 and develops the programs in the main memory 204 for execution, thereby achieving the control corresponding to the control target and various processings as described later.
The main memory 204 is formed of a volatile memory apparatus and the like such as a DRAM, a SRAM and the like. The storage 206 is formed of a non-volatile memory apparatus and the like, for example, a HDD, a SSD and the like.
In the storage 206, in addition to the system program 2060 for achieving the basic function, the connection management program 2062 for establishing and maintaining the connection used to exchange data with the remote device 300, originator setting information 2064 that contains setting information required for the data exchange with the remote device 300, and the safety program 2066 which is created corresponding to the target remote device 300 are stored.
In
The local bus controller 270 functions as a communication slave and provides a communication interface the same as other units. The local bus controller 270 includes a slave controller 272, a buffer memory 254, transmission circuits (TX) 275, 276, and reception circuits (RX) 277, 278. The basic configuration of the local bus controller 270 is similar to the local bus controller 220 shown in
The processor 252 corresponds to an operation processing part that implements various processings in the local IO unit 250. The system memory 256 is formed of a flash memory, a NVRAM (non-volatile RAM) or the like and stores various settings or firmware required for the processings in the local IO unit 250.
The IO module 258 performs, corresponding to the function of the local IO unit 250, an input processing on signals from the field and/or an output processing on signals to the field. The IO module 258 is formed of, for example, a photo-coupler, a micro relay, an AD (Analog to Digital) convertor, a DA (Digital to Analog) convertor and the like. Furthermore, when the local IO unit 250 is a device that provides function safety, the functions such as disconnection detection, feedback detection or the like are also implemented.
In
The field network controller 320 functions as a communication slave and provides a communication interface for performing communication with the control apparatus 2. The basic configuration of the field network controller 320 is similar to the field network controllers 110, 112 shown in
The processor 302 corresponds to an operation processing part that implements various processings in the remote device 300. The system memory 306 is formed of a flash memory, a NVRAM or the like and stores various settings or firmware required for the processings in the remote device 300.
The IO module 308 performs, corresponding to the function of the remote device 300, the input processing on the signals from the field and/or the output processing on the signals to the field. The basic configuration of the IO module 308 is similar to the IO module 258 shown in
In
Referring to
The processor 402 is formed of a CPU and the like, reads out the programs (for example, an OS 4060 and a support program 4062) stored in the storage 406 and develops the programs in the main memory 404 for execution, thereby implementing various processings described later.
The main memory 404 is formed of a volatile memory apparatus or the like such as a DRAM, a SRAM or the like. The storage 406 is formed of, for example, a non-volatile memory apparatus or the like such as a HDD, a SSD or the like.
In the storage 406, in addition to the OS 4060 for achieving the basic functions, the support program 4062 for providing the function as the support apparatus 400 is stored.
The input part 408 is formed of a keyboard, a mouse or the like and receives user operations. The display part 410 is formed of a display, various indicators, a printer and so on and outputs processing results and the like from the processor 402.
The USB controller 416 controls, via USB connection, the data exchange with the standard control unit 100 and the like of the control apparatus 2.
The support apparatus 400 has an optical drive 412, and from a recording medium 414 (for example, an optical recording medium such as a DVD (Digital Versatile Disc) or the like) which stores computer-readable programs in a non-transitory manner, the programs stored therein are read out to be installed in the storage 406 and the like.
The support program 4062 and the like executed in the support apparatus 400 may be installed via the computer-readable recording medium 414, or be installed in a form downloaded from the server apparatus and the like on the network. Besides, the functions provided by the support apparatus 400 of this embodiment may also be achieved in a form employing part of the module provided by the OS.
In
The HMI 500 may employ a hardware configuration mounted as a dedicated machine or employ a hardware configuration in accordance with a general-purpose architecture (for example, an industrial PC based on a general-purpose PC). When the HMI 500 is implemented by the industrial PC based on a general-purpose PC, the hardware configuration similar to the support apparatus 400 as shown in the aforementioned
As an example, the server apparatus 600 can be achieved using a general-purpose file server or database server. The hardware configuration of such an apparatus is publicly known, and thus more detailed description is not performed.
Next, the communication method of the safety control system 1 is schematically described.
In
In the description below, the side which functions as a communication master is also referred to as an “originator” and the side which functions as a communication slave is also referred to as a “target”.
A data size of the data exchanged in each connection (also referred to as “data set” hereinafter) is set for the originator and the target in advance. For example, input-output data up to the predetermined data size can be allocated to one data set (that is, each connection).
In the communication of this embodiment, the input-output data is allocated to each data set at a predetermined data unit (also referred to as “the IO assembly” hereinafter). The IO assembly means variables or objects accessible from outside. Tag names are set in advance as identification information for specifying each datum. The tag name can also be regarded as a name of the object indicating each datum. Corresponding data can be specified by designating the tag names.
The IO assembly may include an input assembly indicating data (input data) which is generated or collected in the target and given to the originator, and an output assembly indicating data (output data) which is generated or collected in the originator and given to the target. Furthermore, the IO assembly may include a safety input assembly consisting of input data related to function safety and a safety output assembly consisting of output data related to function safety. In the description below, unless otherwise described, the term of “the IO assembly” is used in the meaning of including at least any one of the input assembly, the output assembly, the safety input assembly, and the safety output assembly.
Referring to
In the example shown in
In the setting example shown in
As described later, the allocation of the IO assemblies 340 allocated to the data set among the IO assemblies 340 is set for each remote device 300 by the support apparatus 400.
As shown in
In addition to the remote device 300, the control apparatus 2 may functions as the target. The example shown in
Referring to
Predetermined data in the internal data groups 244 is allocated to IO assemblies 240. In the example shown in
In the four IO assemblies 240, one or a plurality of pre-designated IO assemblies 240 are allocated to the data set. That is, as shown in the aforementioned
The correspondence of the internal data group 244 to the IO assemblies 240 in the control apparatus 2 and selection of the IO assemblies 240 allocated to the data set in the control apparatus 2 are implemented by the support apparatus 400.
Next, an example of the setting for implementing the aforementioned communication between the control apparatus 2 and the remote device 300 and the communication between the control apparatuses 2 as well as procedures to create the user program is described.
Referring to
Then, the user sets the data size and the classification of the IO assembly for the control apparatus 2 (the safety control unit 200) that functions as the target (step S4). The processing shown in step S4 corresponds to the operation of designating the data disclosed from the control apparatus 2 that functions as the target. Therefore, the processing of step S4 can be skipped when the control apparatus 2 that functions as the target does not exist (or there is no data required to be disclosed).
After that, the user sets the connection between the control apparatus 2 and the remote device 300 and/or the connection between the control apparatus 2 and another control apparatus 2 (step S6). That is, the support apparatus 400 receives the connection setting which is the setting of the connection established between the control apparatus 2 and each remote device 300 (corresponding to the setting reception function).
Furthermore, the user sets the correspondence of the IO assemblies contained in the connection that is set to the internal variables in the control apparatus 2 that functions as the originator (step S8). That is, the support apparatus 400 receives the setting of the variable names used for reference in the program executed in the control apparatus 2 for each datum exchanged in the connection that is set (corresponding to the setting reception function). At this time, the correspondence of the input-output data managed by the local IO unit 250 which is an example of the local device to the internal variables may also be set in parallel.
Besides, when the control apparatus 2 that functions as the target exists, the correspondence of the IO assemblies to the internal variables is also set in the control apparatus 2 that functions as the target (step S10).
When the aforementioned setting procedures are finished, the user creates an arbitrary user program (step S12). The user program created at this time may contain a code for referring to the internal variables set in step S10.
After the creation of the user program, the support apparatus 400 generates setting data and the user program of execution form (step S14). The tag names to be contained in the connection setting are determined based on the correspondence of the IO assemblies to the internal variables set in step S10. That is, the support apparatus 400 determines the tag name associated with each datum based on the variable name set for each datum, and generates the connection setting that contains each tag name that is determined (corresponding to the generation function). The tag name set for each IO assembly may be the same as the internal variables (each variable name) set by the user, or a character string generated from each variable name by a predetermined rule may be used.
Finally, on receiving the user operation, the support apparatus 400 transmits a data form that contains the setting data and the user program of the execution form to the control apparatus 2 that functions as the originator, the remote device 300, and the control apparatus 2 that functions as the target (step S16). In this way, the support apparatus 400 transmits the connection setting received in step S2 to the control apparatus 2 and the remote device 300 involved in the connection setting (corresponding to the transmission function).
The setting procedures of the connection setting are finished by a series of processings as mentioned above.
Next, an example of a user interface screen provided for the implementation of the procedures of the setting and the user program creation shown in
More specifically, the user interface screen 700 includes a device classification list box 716 and a device list box 718 as toolboxes on the right side of the screen. The user first selects the classification of the device to be included in the system configuration in the device classification list box 716. Then, in the device list box 718, one or a plurality of devices that belongs to the classification selected in the device classification list box 716 is displayed by a list. The user selects the desired device from the list and drags the desired device to the system configuration field 710. Accordingly, the selected device is added.
Moreover, the user interface screen 700 includes a model information text box 720 that indicates model information and the like of the selected device, and an attribute text box 722 that indicates attributes of the selected device. The user adds the device while confirming the content displayed in the model information text box 720. Besides, the attributes of the added device can be changed in the attribute text box 722.
The user repeats the aforementioned procedures until all the devices included in the system configuration are added.
In the system configuration field 710 of the user interface screen 700 shown in
In the example of the user interface screen 701 shown in
Moreover, the data size and the classification of the IO assemblies displayed in the checkbox 726 may be different corresponding to the model and the like of the control apparatus 2 that is set. Besides, among one or a plurality of the IO assemblies displayed in the checkbox 726 as default, the checkbox 726 corresponding to the predetermined IO assembly may be checked.
In the example shown in
The connection setting 732 defines the connection with another control apparatus 2 (the safety control unit 200) and includes an input-output assembly setting 734. In the input-output assembly setting 734, it is defined that an input assembly consisting of 16 bytes is exchanged.
The user set the necessary connection by the keyboard, the mouse or the like. More specifically, the user interface screen 702 includes a target classification list box 742 and a target list box 744 as the toolboxes on the right side of the screen. The user first selects the classification of the unit to be set as the target of the connection to be set in the target classification list box 742. Then, in the target list box 744, one or a plurality of units that belongs to the classification selected in the target classification list box 742 is displayed by a list.
Then, the user selects the desired unit (target) from the list and drags the desired unit to the connection visualization area 730. The user interface screen 702 includes a model information text box 746 that indicates model information and the like of the selected unit. The user adds the device while confirming the content displayed in the model information text box 746.
Referring to
Here, by performing the addition operation of an arbitrary unit by the user, a connection setting 736 with the selected unit (in this example, the unit having “192.168.1.3” as the IP address) is automatically generated. In this way, the support apparatus 400 temporarily allocates the input-output data predetermined for the selected remote device 300 to the selected remote device 300.
Here, because the predetermined input-output data is temporarily allocated, alteration or addition to the connection setting 736 by the user is possible. That is, the user interface screen 702 receives an alteration operation from the user to the input-output data that is temporarily allocated. For example, by the operation to the checkbox corresponding to the setting of each input-output datum, validation/invalidation of the input-output data that is temporarily allocated can be switched.
The connection setting 736 defines the connection with the remote device 300 and includes the designation of the input-output data exchanged between the target control apparatus 2 and the remote device 300. In the example shown in
In the input-output assembly setting 738, it is defined that an input assembly (safety input) consisting of 2 bytes is exchanged, and in the input-output assembly setting 740, it is defined that an output assembly (safety output) consisting of 1 byte is exchanged.
In this way, the designation of the input-output data included in the connection setting 736 includes the setting of the size (for example, 1 byte, 2 bytes or the like) of the data that is exchanged.
The designation of the input-output data included in the connection setting 736 also includes the setting of the classification (for example, input data, output data, safety input, safety output) of the data that is exchanged. That is, the classification of the data indicates whether the data that is exchanged is the input data transmitted from the target remote device 300 to the control apparatus 2 or the output data transmitted from the control apparatus 2 to the target remote device 300.
The number and the classification of the input-output assembly settings 738 and 740 are automatically determined corresponding to the classification and/or the model of the unit (target) added by the user.
In the example shown in
The user repeats the aforementioned procedures until all the connections required by the system configuration are defined.
As shown in
The user interface screen 703 includes an IO map visualization area 750 that visualizes the correspondence of the input-output data and the IO assembly to the internal variables. The IO map visualization area 750 includes a local IO data column 752 and a remote IO data column 754.
In the local IO data column 752, the input-output data provided by the local IO unit 250 that is connected to the standard control unit 100 and/or the safety control unit 200 via the local bus 12 is hierarchically displayed by a list. In
In the remote IO data column 754, the IO assemblies provided by the remote device 300 and/or another control apparatus 2 (the standard control unit 100 and/or the safety control unit 200) which is connected via the field network 4 and/or the superordinate network 6 are shown. That is, in the remote IO data column 754, the IO assemblies provided by the target which is accessible for the control apparatus 2 (the standard control unit 100 and/or the safety control unit 200) as the originator is shown.
In the examples shown in
In the user interface screen 703 shown in
The user can allocate an arbitrary internal variable available in the user program to each input-output datum via the user interface screen 703. As described later, by designating the internal variables defined in the user interface screen 703 in the user program that is created, during the execution, actual values (instance) of the input-output data that is designated can be used.
On the other hand, in the user interface screen 703 shown in
The user can allocate an arbitrary internal variable available in the user program to each element of the IO assembly via the user interface screen 703. As described later, by designating the internal variables defined in the user interface screen 703 in the user program that is created, during the execution, actual values (instance) of the IO assembly that is designated can be used.
As described later, the internal variable (variable name) that is set for each element of the IO assembly is employed in the connection setting to generate the tag name that is set for each element of the IO assembly.
Moreover, even when the remote device item 758 indicating the IO assembly is developed to lower layers, a similar IO map is displayed, and in an aspect similar to the above aspect, arbitrary internal variables can be respectively allocated to each element of the IO assembly.
As described above, in the user interface screen 703 shown in
At this time, the setting items in each setting (the port information 771, the R/W information 772, the data classification information 773, the variable information 774, the comment 775, the variable type information 776 and so on) are in common.
Accordingly, in this embodiment, the allocation of variables to the input-output data provided by the local IO unit 250 and to the IO assembly provided by the remote device 300 and/or the control apparatus 2 (the standard control unit 100 and/or the safety control unit 200) can be substantially performed in the same aspect.
The setting of the correspondence of the IO assembly to the internal variables that is related to the control apparatus 2 that functions as the target and is in step S10 of
More specifically, the user interface screen 704 includes a component list box 782 as the toolbox on the right side of the screen. The user selects in the component list box 782 the component to be used in the user program and drags the component to the program visualization area 780. Then, the selected component is arranged on the dragged position or associated with an existing component. The user repeats the operation of component arrangement until the desired user program is finished.
In the user interface screen 704 shown in
The user creates the arbitrary user program by the operation procedures as shown in
When a required setting is performed and a required program is created by the procedures described above, a build processing (a type of compiling processing) is implemented and the program having the setting information or execution form that is generated is transmitted to the target unit. The setting and the processing of program transmission can employ an arbitrary user interface screen and detailed description is not performed herein.
As described with reference to the aforementioned
Such a processing of automatically determining the IO assembly is implemented by referring to a predetermined IO assembly setting table and the like in the support apparatus 400.
When the target that becomes the object of connection is selected and added, the support apparatus 400 refers to the type field 802 of the IO assembly setting table 800 and extracts the classification and/or model corresponding to the classification of the added target. Then, the classification (the IO field 804) and the data size (the byte field 806) of the IO assembly corresponding to the extracted classification and/or model are extracted and determined as the IO assembly of the added target. Then, the support apparatus 400 displays the determined IO assembly in the connection visualization area 730.
In this way, the support apparatus 400 can automatically add the IO assembly corresponding to the target to which the connection is set by referring to the IO assembly setting table 800. Accordingly, registration and the like of the IO assembly required for the connection setting can be easily performed even by the user lacking knowledge.
In the safety control system 1 shown in
In the description above, the control apparatus 2 in which the standard control unit 100 and the safety control unit 200 are combined is mainly illustrated. However, the disclosure is not limited hereto and it is evident that the technical ideas provided herein are also applicable to the control apparatus in which a plurality of standard control units 100 is combined and the control apparatus in which a plurality of safety control units 200 is combined. Furthermore, the disclosure is not limited to the standard control unit and the safety control unit and may be the combination of arbitrary control units.
The embodiment as described above includes the following technical ideas.
A support apparatus (400) that is directed to a control apparatus (2) network-connected with one or a plurality of remote devices (300) and includes:
The support apparatus according to configuration 1, further including a third setting reception part which receives a setting of variable names used for reference in the program executed in the control apparatus for input-output data managed by a local device (S8), wherein
The support apparatus according to configuration 2, wherein items that are set are in common between the setting by the second setting reception part and the setting by the third setting reception part.
The support apparatus according to configuration 3, wherein the items that are set include a setting of data classification.
The support apparatus according to configuration 3 or 4, wherein the items that are set include a setting of data attribute of the variables.
A support program (4062) that is executed in a computer (400) capable of communicating with a control apparatus (2) network-connected to one or a plurality of remote devices (300), the support program making the computer execute:
A setting method for a control system (1) which includes a control apparatus (2) and one or a plurality of remote devices (300) network-connected to the control apparatus, including:
In the safety control system 1 of this embodiment, the connection setting between the control apparatus 2 and the remote device 300 can be facilitated.
It should be considered that the embodiment disclosed here is illustrative instead of limitative in all aspects. The scope of the disclosure is shown by the claims instead of the description above and meanings equivalent to the claims and all modifications within the scope are intended to be included in the scope of the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2018-069452 | Mar 2018 | JP | national |