WO2019142587A1 - 制御装置、制御方法、および制御プログラム - Google Patents
制御装置、制御方法、および制御プログラム Download PDFInfo
- Publication number
- WO2019142587A1 WO2019142587A1 PCT/JP2018/046988 JP2018046988W WO2019142587A1 WO 2019142587 A1 WO2019142587 A1 WO 2019142587A1 JP 2018046988 W JP2018046988 W JP 2018046988W WO 2019142587 A1 WO2019142587 A1 WO 2019142587A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- filtering
- control
- input
- communication data
- communication
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31347—Communication adaptors between network and each machine
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the present disclosure relates to a technique for filtering communication data by a controller.
- controllers such as PLCs (Programmable Logic Controllers) and robot controllers are introduced at various production sites.
- the controller can automate the production process by controlling various industrial drive devices.
- controllers that can be connected to different networks have become widespread.
- the controller functions as a gateway and manages exchange of communication data between the upper network and the lower network.
- Patent Document 1 JP-A-2017-199154 (Patent Document 1) relates to such a controller: “The various control machines mutually connect different networks with each other, and mutually control the processing machines connected to different networks. It is disclosed a facility system that can be easily set to do.
- the controller passes only communication data that satisfies the set filtering conditions for security. Communication data to be passed varies depending on the situation. Therefore, it is desirable to appropriately change the filtering conditions according to the situation.
- the present disclosure has been made to solve the problems as described above, and an object in one aspect is to provide a technology capable of changing the filtering condition of communication data without stopping the driving device. It is.
- a control device for controlling a drive device is connected to a first physical communication port for connecting to a first network to which an information processing apparatus belongs and a second network to which the drive device belongs.
- a storage device for storing a user program created to control the drive device.
- the user program is input, during the execution of the user program, a filtering condition for determining whether to transmit communication data received from the drive device and one device of the information processing apparatus to the other device. Include a filtering function to switch according to the setting of filtering conditions.
- the control device since the filtering function is defined to receive the setting input of the filtering condition during execution of the user program, the control device changes the filtering condition of the communication data without stopping the driving device. be able to.
- the setting of the input filtering condition includes a setting for specifying whether to execute the changing process of the filtering condition.
- control device can arbitrarily adjust the execution timing of the filtering condition while driving the drive device.
- the setting of the input filtering condition includes a setting for specifying an operation mode of the filtering function when the filtering condition is satisfied.
- the operation mode includes an aspect in which only the communication data received from the one device is transmitted to the other device, and an aspect in which the communication data received from the one device is not transmitted to the other device.
- control device can switch the operation mode of the filtering function even while driving the drive device.
- setting of the input filtering condition designates whether transmission of communication data received from the drive device is to be filtered or communication data received from the information processing apparatus is to be filtering
- control device can appropriately switch the communication direction of the communication data to be filtered even while driving the drive device.
- the setting of the input filtering condition includes a setting for specifying a communication protocol of communication data to be filtered.
- control device can switch the communication protocol to be filtered even while driving the drive device.
- the setting of the input filtering condition is a setting for specifying a transmission destination of communication data received from the one device and a setting for specifying a transmission source of the communication data. At least one is included.
- control device can appropriately switch the transmission source device or the transmission destination device to be filtered even while driving the drive device.
- a control method of a control device for controlling a drive device establishes a step of establishing communication with an information processing device belonging to a first network, and establishes communication with the drive device belonging to a second network. Transmitting the communication data received from one of the drive device and the information processing device to the other device, the control device executing the user program created to control the drive device, and Switching the filtering condition for determining whether or not to be switched according to the setting of the filtering condition input during the execution of the user program.
- the control device since the filtering function is defined to receive the setting input of the filtering condition during execution of the user program, the control device changes the filtering condition of the communication data without stopping the driving device. be able to.
- a control program of a control device for controlling a drive device comprises the steps of: establishing, in the control device, communication with an information processing device belonging to the first network; Establishing communication with a device, executing a user program created to control the driving device, and transmitting communication data received from the driving device and one of the information processing devices to the other device Switching the filtering condition for determining whether or not to transmit according to the setting of the filtering condition input during the execution of the user program.
- the control device since the filtering function is defined to receive the setting input of the filtering condition during execution of the user program, the control device changes the filtering condition of the communication data without stopping the driving device. be able to.
- the filtering condition of communication data can be changed without stopping the driving device.
- FIG. 1 It is a figure which shows the example of a structure of FA system according to embodiment. It is a schematic diagram which shows schematic structure of FA system 1 according to embodiment. It is a figure which shows the filtering function prescribed
- FIG. 1 is a diagram showing a configuration example of the FA system 1.
- the FA system 1 is a system for controlling control targets such as equipment and devices and automating a production process.
- the FA system 1 is configured of one or more controllers 100, one or more information processing apparatuses 200, and one or more drive devices 300.
- the controller 100 includes physical communication ports 100P1 and 100P2 and a storage device 108.
- the controller 100 may be connected to multiple networks.
- the communication port 100P1 first communication port
- the communication port 100P2 second communication port
- the communication port 100P2 second communication port
- the network N2 second network
- EtherNET registered trademark
- the network N1 is not limited to EtherNET, and any communication means may be employed.
- the information processing apparatus 200 is connected to the network N1.
- the information processing apparatus 200 includes, for example, a PC (Personal Computer), a tablet terminal, a smartphone, a display (for example, an HMI (Human Machine Interface)), and the like.
- the network N2 is a network lower than the network N1.
- EtherNet / IP registered trademark
- the drive device 300 is connected to the network N2.
- the driving device 300 includes various industrial devices for automating a production process.
- the driving device 300 may be an arm robot, a robot controller for controlling the arm robot, an image sensor for photographing a work to be transported in the production process, or other devices used in the production process. Including.
- the storage device 108 stores a user program 110.
- the user program 110 is a control program implemented by the designer according to the drive device 300.
- the development tool of the user program 110 is, for example, installed in the information processing apparatus 200 as a PC.
- the designer can design the user program 110 in accordance with the configuration of the drive device 300 by combining a plurality of types of pre-defined instructions on the development tool. Instructions that can be combined on the development tool include control instructions for the drive device 300 and communication data filtering instructions.
- the user program 110 compiled on the development tool is installed on the controller 100.
- the user program 110 includes a control function 150 for the drive device 300 and a communication data filtering function 152.
- control function 150 and filtering function 152.
- control function 150 and filtering function 152 are programs.
- the control function 150 outputs a control command to the drive device 300 according to the defined control content.
- the filtering function 152 receives, during the execution of the user program 110, filtering conditions for determining whether to transmit communication data received from one of the information processing apparatus 200 and the driving apparatus 300 to the other apparatus. Switch according to the setting of filtering conditions.
- the device serving as the transmission source of communication data in the information processing device 200 and the driving device 300 is also referred to as a “transmission source device”.
- an apparatus which is a destination of communication data is also referred to as a "transmission destination apparatus”.
- the controller 100 can change the filtering condition of the communication data without stopping the driving device 300. As a result, the controller 100 can appropriately change the communication data to be filtered according to the state of the FA system 1.
- the type of communication data to be filtered by the filtering function 152 is not particularly limited as long as it is data transmitted between different networks N1 and N2.
- the communication data to be filtered may be a communication packet in accordance with a communication protocol such as TCP / IP, or a frame transmitted through a field network.
- the filtering condition that can be set to the filtering function 152 may be one or more.
- FIG. 2 is a schematic view showing a schematic configuration of FA system 1 according to the present embodiment.
- the FA system 1 includes one or more controllers 100, one or more information processing apparatuses 200, and one or more driving devices 300.
- the controller 100 may be connected to multiple networks.
- the controller 100 is connected to the upper network N1 and the lower network N2.
- An information processing apparatus 200 is connected to the upper network N1.
- the information processing device 200 is a communication device that can be connected to the network N1.
- the information processing apparatus 200 is configured by at least one of one or more support apparatuses 200A, one or more server apparatuses 200B, and one or more displays 200C.
- the support device 200A provides a designer with a development environment for designing the user program 110.
- the support device 200A is, for example, a laptop PC, a desktop PC, a tablet terminal, or a smartphone.
- the designer can design the user program 110 on the support device 200A and download the user program 110 to the controller 100 via the network N1.
- the server apparatus 200B is assumed to be a database system, a manufacturing execution system (MES), and the like.
- the manufacturing execution system acquires information from manufacturing apparatuses and facilities to be controlled, monitors and manages the entire production, and can handle order information, quality information, shipping information, and the like.
- an apparatus for providing an information system service (a process of acquiring various information from a control target and performing macroscopic or micro analysis or the like) may be connected to the network N1.
- Various types of information received by the server device 200B from the controller 100 can be filtered by the filtering function 152 (see FIG. 1) of the controller 100.
- the display 200C outputs a command or the like according to the user operation to the controller 100 in response to the operation from the user.
- the command output from the display 200C may be an object to be filtered by the filtering function 152 (see FIG. 1) of the controller 100.
- the display 200C graphically displays the calculation result in the controller 100 and the like.
- the drive device 300 is connected to the lower network N2.
- the driving device 300 is a set of devices for performing a predetermined operation on the work W directly or indirectly.
- the drive device 300 includes remote IO devices 310 and 320, an image sensor 315, and an arm robot 325.
- the remote IO device 310 has a plurality of physical communication ports. Different networks may be connected to each communication port.
- the remote IO device 310 has two communication ports 310P1 and 310P2.
- the network N2 is separated by the hub 305, and one is connected to the communication port 310P1.
- a network N3 is connected to the communication port 310P2.
- the network N3 preferably employs a field network that performs periodic communication, in which data arrival time is guaranteed.
- EtherCAT registered trademark
- CompoNet registered trademark
- the remote IO device 310 controls the image sensor 315 in accordance with the control command of the controller 100.
- the image sensor 315 sequentially photographs the workpiece W conveyed on the conveyor according to the control instruction received from the remote IO device 310, and executes predetermined image processing on the obtained image. Thereby, the image sensor 315 performs quality inspection etc. of the work W conveyed on the conveyor sequentially.
- the inspection results of the image sensor 315 are sequentially sent to the controller 100 via the remote IO device 310.
- the remote IO device 320 has a plurality of physical communication ports. Different networks may be connected to each communication port.
- the remote IO device 320 has two communication ports 320P1 and 320P2.
- the network N2 is separated by the hub 305, and one is connected to the communication port 310P2.
- a network N3 is connected to the communication port 320P2.
- the network N3 preferably employs a field network that performs periodic communication, in which data arrival time is guaranteed.
- EtherCAT, CompoNet, etc. are known.
- the remote IO device 320 controls the arm robot 325 in accordance with the control command of the controller 100.
- the controller 100 outputs, to the remote IO device 320, a control command for causing the arm robot 325 to perform a predetermined operation (operation step B) in accordance with an inspection step (operation step A) by the image sensor 315.
- the remote IO device 320 controls the arm robot 325 in accordance with the control command.
- the remote IO device 320 gives a control command to remove the workpiece W judged to be inferior in inspection quality from the conveyor.
- the state of the arm robot 325 (for example, the position and angle of each joint, etc.) is sequentially fed back from the remote IO device 320 to the controller 100.
- ⁇ C. Function block> As described above, whether or not the user program 110 transmits the communication data received from one of the information processing apparatus 200 and the driving apparatus 300 (that is, the transmission source apparatus) to the other apparatus (that is, the transmission destination apparatus)
- the filtering function 152 is included to switch the filtering condition for determining whether or not according to the setting of the input filtering condition.
- the filtering function 152 is a program (control command) for filtering communication data passing through the controller 100, and may be defined by various programs. As one example, the filtering function 152 is defined by a Function Block Diagram (FBD).
- BFB Function Block Diagram
- the filtering function 152 will be described on the assumption that it is defined in a function block, but the filtering function 152 may be defined in another programming language.
- the filtering function 152 may be defined by a ladder diagram (LD), an instruction list (IL: Instruction List), structured text (ST: structured text), and a sequential function chart (SFC). (Sequential Function Chart), or a combination thereof.
- LD ladder diagram
- IL Instruction List
- ST structured text
- SFC sequential function chart
- it may be defined in a general purpose programming language such as JavaScript (registered trademark) or C language.
- FIG. 3 is a diagram showing the filtering function 152 defined in the function block FB.
- the function block FB includes input units 155A to 155F that receive setting of filtering conditions, and output units 157A to 157D for outputting the result of setting processing of filtering conditions.
- the input units 155A to 155F receive an input of setting of filtering conditions by the filtering function 152. That is, the filtering function 152 switches the filtering conditions in accordance with the values input to the input units 155A to 155F.
- the input unit 155A indicated as "Excute” receives a setting for specifying whether to execute the process of changing the filtering condition.
- the input unit 155A receives an input of “True” or “False”.
- the filtering function 152 does not change the filtering condition.
- the filtering conditions input to the other input units 155B to 155F are set as new filtering conditions. Thereby, the controller 100 can arbitrarily adjust the execution timing of the filtering condition while driving the drive device 300.
- the input unit 155B indicated as "Action” receives a setting for specifying an operation mode of the filtering function 152 when the filtering condition is satisfied.
- the input unit 155B receives an input of “pass” or “block”.
- the filtering function 152 sets filtering conditions so as to pass only communication data that satisfies the filtering conditions. That is, in this case, only the communication data that satisfies the filtering condition is transmitted to the transmission destination device, and the other communication data is not transmitted to the transmission destination device.
- the filtering condition is set so as to block communication data that satisfies the filtering condition.
- the controller 100 can appropriately switch the operation mode of the filtering function 152 according to the value input to the input unit 155B.
- the input unit 155C indicated as "Direction" receives an input for specifying the communication direction of the communication data to be filtered. That is, the input unit 155C receives an input for specifying whether transmission of communication data received from the drive device 300 is to be filtered or communication data received from the information processing apparatus 200 is to be filtered. As an example, the input unit 155C receives an input of “in” or “out”. When “in” is input to the input unit 155C, the filtering function 152 filters the communication data transmitted from the information processing apparatus 200 belonging to the upper network N1 to the drive device 300 belonging to the lower network N2.
- the filtering function 152 filters the communication data transmitted from the driving device 300 belonging to the lower network N2 to the information processing apparatus 200 belonging to the upper network N1. Change the filtering condition to Thereby, even during driving of the drive device 300, the controller 100 can appropriately switch the communication direction of the communication data to be filtered according to the value input to the input unit 155C.
- the input unit 155D shown as "Protocol” receives an input for specifying a communication protocol of communication data to be filtered.
- the input unit 155D receives an input of identification information of a communication protocol.
- the said identification information may be designated by a communication protocol name, and may be designated by ID (Identification) of a communication protocol.
- the input unit 155D receives an input of “TCP” or “FTP”.
- TCP Transmission Control Protocol
- FTP Filter-Time Transport Protocol
- the filtering function 152 changes the filtering condition so that communication data conforming to the TCP protocol is to be filtered.
- the filtering function 152 changes the filtering condition so as to filter communication data according to the FTP protocol.
- the controller 100 can appropriately switch the communication protocol to be filtered according to the value input to the input unit 155D even while the driving device 300 is being driven.
- the communication protocol designated by the input unit 155D as the filtering target may be designated for the upper network N1 or may be designated for the lower network N2.
- the input unit 155E indicated as "IP Address” receives an input for specifying a transmission destination device.
- the destination device is specified by an IP address.
- the filtering function 152 sets communication data to be sent to the destination device of the IP address “10.0.0.1” as a filtering target. Change the filtering conditions to Thereby, the controller 100 can appropriately switch the transmission source device to be the filtering target according to the value input to the input unit 155E even while the driving device 300 is being driven.
- the function block FB can specify the transmission source device of communication data by the input unit 155E or another input unit May be defined in
- the input unit 155F indicated as "Port” receives an input for specifying a port number of a transmission destination device of communication data.
- the filtering function 152 changes the filtering condition so as to filter the communication data sent to the port number “80” of the transmission destination device.
- the controller 100 can appropriately switch the port number to be filtered according to the value input to the input unit 155F.
- the function block FB inputs the port number of the transmission source device of the communication data to the input unit 155F or other It may be defined so that it can be specified by the input unit.
- a signal indicating normal termination is output from the output unit 157A indicated as "Done”.
- a signal indicating that the change process is in progress is output from the output unit 157B indicated as "Busy”.
- a signal indicating abnormal termination is output from the output unit 157C indicated as "Error”.
- an error ID for identifying the content of the error is further output from the output unit 157D indicated as "Error ID”.
- the function block FB may be provided with various input units and output units in addition to the input units 155A to 155F and the output units 157A to 157D. As an example, when there are a plurality of communication interfaces, an input unit for specifying the communication interface may be provided in the function block FB. Further, although the example in which the function block FB receives only one filtering condition has been described above, the function block FB may be defined to receive a plurality of filtering conditions.
- FIG. 4 is a diagram showing an example of a user program incorporating the function block FB described in FIG.
- the user program 110 is defined by a ladder program.
- the user program 110 is defined to change the filtering condition of the communication data according to the work process for the work. Note that the user program 110 shown in FIG. 4 does not show the entire process in the controller 100. For example, part of the logic at the time of switching of each work process is omitted.
- the user program 110 is defined by input elements IN0 to IN7, function blocks FB0 to FB2, and output elements OUT0 to OUT2.
- the function blocks FB1 and FB2 correspond to the function block FB having the filtering function 152 described with reference to FIG.
- the values of the input elements IN0 to IN7 change according to the assigned variables. More specifically, the variable “Change Trigger” is assigned to the input element IN0.
- the variable “Busy 0” is assigned to the input element IN1.
- the variable “Busy0” is of type BOOL.
- the variable “Busy0” is associated with the output "Busy” of the function block FB1. Therefore, the value of the input element IN1 changes in accordance with the value of the output "Busy” of the function block FB1.
- the variable “Done 0” is assigned to the input element IN2.
- the variable “Done 0” is associated with the output "Done” of the function block FB1.
- the variable “Error 0” is assigned to the input element IN3.
- the variable “Error 0” is associated with the output "Error” of the function block FB1.
- the variable “SettingTrigger0” is assigned to the input element IN4.
- the variable “PA” is assigned to the input element IN5.
- a control function 150 for realizing the work process A is defined in the user program 110.
- the variable "SettingTrigger1" is assigned to the input element IN6.
- the reset process of the work process B is defined in the user program 110, and the value of the variable “Setting Trigger1” changes in accordance with the result of the reset process.
- the variable “PB” is assigned to the input element IN7.
- a control function 150 for realizing the work process B is defined in the user program 110.
- the function block FB0 is a program for executing a reset process that is executed at the start of the work process A.
- the function block FB0 has input units “Set” and “Reset1” and an output unit “Q1”.
- the function block FB1 is a program for changing the filtering condition of communication data.
- the function block FB2 is a program for changing the filtering condition of communication data.
- the function block FB2 includes “pass” input to the input unit “Action”, “in” input to the input unit “Direction”, “FTP” input to the input unit “Protocol”, A filtering condition according to “10.0.0.2” input to the input unit “IP Address” and “20” input to the input unit “Port” is set as a new filtering condition.
- the details of the method of changing the filtering conditions are as described in FIG. 3, and thus the description thereof will not be repeated.
- the values of the output elements OUT0 to OUT2 change according to the output value of the associated function block.
- the variable "Setting Trigger 0" is assigned to the output element OUT0.
- the output element OUT0 is associated with the output "Q1" of the function block FB0. As a result, the value of the output element OUT0 changes in accordance with the value of the output "Q1".
- the variable “Done 0” is assigned to the output element OUT1. Also, the output element OUT1 is associated with the output "Done” of the function block FB1. As a result, the value of the output element OUT1 changes in accordance with the value of the output "Done” of the function block FB1.
- the variable “Done 1” is assigned to the output element OUT2. Also, the output element OUT2 is associated with the output "Done” of the function block FB2. As a result, the value of the output element OUT2 changes in accordance with the value of the output "Done” of the function block FB2.
- the filtering condition input to the function block FB1 is set, and in the work process B, the filtering condition input to the function block FB2 is set.
- the filtering conditions are appropriately changed according to the work process. If the filtering condition is fixed, the filtering condition needs to be set so that both the communication data to be passed in operation step A and the communication data to be passed in operation step B always pass, The need for the user program 110 shown in FIG. 4 is eliminated.
- the user program 110 may be defined to change the filtering condition according to other situations.
- the user program 110 may be defined to set the filtering condition according to the device configuration of the FA system 1.
- the controller 100 can block the communication device.
- a method of detecting connection / non-connection of the communication device a method of using a function block or the like for monitoring the state of the network can be considered.
- the function block periodically monitors the state of the network table and detects connection / disconnection of the communication device from the change information of the network table.
- the user program 110 may be defined to set filtering conditions to prevent the malicious attack when the malicious program is received from the external device.
- the communication driver of the controller 100 monitors the amount of received data per unit time (for example, the number of received packets per unit time), and when the amount of received data exceeds a predetermined threshold value, malicious external devices Decide that you are under attack.
- the filtering function 152 blocks the external device performing the malicious attack based on the information such as the IP address and the port number.
- the filtering function 152 may block the reception of all communication packets.
- the user program 110 may be defined to set filtering conditions according to the connection status when the connection status of communication of the controller 100 changes.
- the filtering function 152 passes received data from the transmission source device only during a period from the establishment of communication with the transmission source device to the disconnection state, and in the other cases, from the transmission source device Block incoming data.
- the filtering function 152 allows communication data to pass only for a necessary period, so security can be improved.
- the controller 100 determines whether the received communication data is to be filtered according to whether the communication data received from the transmission source device satisfies the filtering condition. Typically, information for determining whether or not to filter is defined in communication data.
- the communication data includes identification information of the transmission source device (for example, an IP address or MAC address), a port number of the transmission destination device, a communication protocol used when receiving the communication data, and identification information of the transmission destination device (For example, an IP address or a MAC address), a port number of a transmission source device, and at least one of a communication protocol used when transmitting communication data.
- the controller 100 extracts the information from the communication data, and determines whether the communication data is to be filtered according to whether the information matches the filtering condition.
- the type of communication data to be filtered by the controller 100 is not particularly limited as long as it is communication data transmitted between different networks.
- an example of communication data to be filtered by the controller 100 will be described with reference to FIG.
- Communication data to be filtered by the controller 100 includes, for example, communication packets conforming to the TCP / IP protocol.
- FIG. 5 is a view showing a data structure of a communication packet in accordance with the TCP / IP protocol.
- the transmission source device divides data to be transmitted into a plurality of communication packets, and sequentially transmits each communication packet to the controller 100.
- one of the communication packets divided by the transmission source device is shown as a communication packet PA.
- the communication packet PA is configured of an Ethernet header which is a header portion of the Ethernet protocol and Ethernet data which is a data portion of the Ethernet protocol.
- Ethernet data is composed of an IP header which is a header portion of the IP protocol and IP data which is a data portion of the IP protocol.
- IP data is composed of a TCP header which is a header portion of the TCP protocol and TCP data which is a data portion of the TCP protocol.
- the IP header of the communication packet PA includes the IP address of the transmission source device, the IP address of the transmission destination device, and the communication protocol.
- the TCP header of the communication packet PA includes the port number of the transmission source device and the port number of the transmission destination device.
- the TCP data of the communication packet PA includes the content of data to be transmitted.
- the data to be transmitted includes, for example, various variables representing the state of the drive device 300, an instruction to acquire various variables by the information processing apparatus 200, and the like.
- the variables referred to here are various variables included in the user program 110. The variable changes in accordance with the state of various components of the drive device 300.
- the controller 100 extracts information for comparison with the filtering condition from the communication packet PA based on the reception of the communication packet PA.
- the information includes, for example, at least one of the IP address of the transmission source device, the IP address of the transmission destination device, the communication protocol, the port number of the transmission source device, and the port number of the transmission destination device.
- the controller 100 determines whether the information extracted from the communication packet PA satisfies the filtering condition. When it is determined that the information extracted from the communication packet PA satisfies the filtering condition, the controller 100 sets the communication packet PA as a filtering target.
- FIG. 6 is a block diagram showing an example of the hardware configuration of the controller 100.
- controller 100 includes processor 102, chipset 104, main memory 106, storage device 108, Universal Serial Bus (USB) interface 112, memory card interface 114, and network interface 118. , Internal bus controller 120, and field network controller 130.
- USB Universal Serial Bus
- the processor 102 is configured by a central processing unit (CPU), a micro processing unit (MPU), a graphics processing unit (GPU), and the like. As the processor 102, a configuration having a plurality of cores may be employed, or a plurality of processors 102 may be disposed. As such, controller 100 includes processor 102 having one or more processors 102 and / or one or more cores.
- the chipset 104 realizes processing of the controller 100 as a whole by controlling the processor 102 and peripheral elements.
- the main memory 106 is configured by volatile storage devices such as a dynamic random access memory (DRAM) and a static random access memory (SRAM).
- the storage device 108 is configured by, for example, a non-volatile storage device such as a flash memory.
- the processor 102 reads out various programs stored in the storage device 108, and develops and executes the programs in the main memory 106 to realize control according to the control target.
- the storage device 108 stores a control program 109 of the controller 100.
- the control program 109 includes, in addition to the system program 111 for realizing the basic processing, a user program 110 created according to the manufacturing apparatus and equipment to be controlled.
- the USB interface 112 mediates data communication with an external device (for example, a support device that performs user program development and the like) via a USB connection.
- an external device for example, a support device that performs user program development and the like
- the memory card interface 114 is configured so that the memory card 116 can be attached and detached, and it becomes possible to write data to the memory card 116 and read various data (user program, trace data, etc.) from the memory card 116. ing.
- the network interface 118 is capable of mediating data communication via the network N1.
- Internal bus controller 120 mediates data communication with functional units mounted on controller 100.
- the field network controller 130 mediates data communication with other units via the network N2.
- FIG. 6 shows a configuration example in which the necessary processing is realized by the processor 102 executing a program
- part or all of the provided processing may be implemented using a dedicated hardware circuit (for example, an ASIC). Or it may implement using FPGA etc.).
- FIG. 7 is a flowchart showing a part of the process executed by the controller 100.
- the processing shown in FIG. 7 is realized by the processor 102 of the controller 100 executing the user program 110. In other aspects, some or all of the processing may be performed by circuit elements or other hardware.
- step S110 the processor 102 determines whether an execution instruction of the user program 110 has been received. If it is determined that the execution command of the user program 110 has been received (YES in step S110), the processor 102 switches the control to step S112. If not (NO in step S110), the processor 102 executes the process of step S110 again.
- step S112 the processor 102 executes initialization processing such as establishment of communication with the information processing apparatus 200 and the drive device 300. Thereafter, the processor 102 executes the control function 150 (see FIG. 1) defined in the user program 110 and starts control of the drive device 300.
- step S122 the processor 102 changes the filtering condition in accordance with the setting input to the filtering function 152 of the user program 110.
- the processor 102 sets filtering conditions in accordance with the values input to the input units 155B to 155F shown in FIG.
- the method of changing the filtering conditions is as described in FIG. 3, and thus the description thereof will not be repeated.
- step S130 the processor 102 determines whether any communication data has been received from the transmission destination device. If the processor 102 determines that some communication data has been received from the transmission destination device (YES in step S130), the control is switched to step S140. If not (NO in step S130), the processor 102 switches control to step S150.
- step S140 the processor 102 determines whether the communication data received in step S130 satisfies the currently set filtering condition.
- the processor 102 can identify the source device (for example, IP address or MAC address), the port number of the destination device, the communication protocol used when receiving the communication data, and the identification information of the destination device. At least one of (for example, an IP address or MAC address), a port number of a transmission source device, and a communication protocol used when transmitting communication data is extracted from communication data received as comparison information of filtering conditions Do.
- the processor 102 may further specify the communication direction of the communication data as one piece of comparison information from the identification information of the transmission destination device or the transmission source device. If these pieces of comparison information match the filtering condition (YES in step S140), the processor 102 switches the control to step S142. If not (NO in step S140), the processor 102 switches the control to step S150.
- step S142 the processor 102 filters the communication data according to the set operation mode of the filtering function 152. As described in FIG. 3, when “pass” is set in the input unit 155B of the filtering function 152, the processor 102 passes only the communication data that satisfies the filtering condition, and the other communication data. Filter On the other hand, when “block” is set in the input unit 155B of the filtering function 152, the processor 102 filters only the communication data that satisfies the filtering condition and does not pass other communication data.
- step S150 the processor 102 determines whether an instruction to stop the user program 110 has been received. If it is determined that the stop instruction of the user program 110 has been received (YES in step S150), the processor 102 ends the process shown in FIG. If not (NO in step S150), the processor 102 returns the control to step S120.
- the user program 110 created by the user includes the control function 150 and the filtering function 152.
- the control function 150 outputs a control command to the drive device 300 according to the defined control content.
- the filtering function 152 switches whether to transmit the communication data received from the transmission source device to the transmission destination device, according to the setting of the filtering condition input during the execution of the user program 110.
- the controller 100 can change the filtering condition of the communication data without stopping the driving device 300.
- a control device including a filtering function for switching according to setting of filtering conditions inputted during execution of the user program (110).
- the setting of the filtering condition includes a setting for specifying an operation mode of the filtering function when the filtering condition is satisfied,
- the operation mode is An aspect of transmitting only communication data received from the one device to the other device;
- the control device according to Configuration 1 or 2 including an aspect in which the communication data received from the one device is not transmitted to the other device.
- the setting of the filtering condition is for specifying whether transmission of communication data received from the drive device (300) is to be filtered or communication data received from the information processing device (200) is to be filtering target.
- the control device according to configuration 1, including settings.
- the setting of the filtering condition includes at least one of a setting for specifying a transmission destination of communication data received from the one device and a setting for specifying a transmission source of the communication data.
- Configuration 1 to 5 The control device according to any one of the above.
- a control program to execute the step (S122) of switching according to the setting of the filtering condition input therein.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Programmable Controllers (AREA)
Abstract
駆動機器(300)を停止せずに通信データのフィルタリング条件を変更することが可能な技術が望まれている。制御装置(100)は、情報処理装置(200)が属する第1ネットワーク(N1)に接続する物理的な第1通信ポート(100P1)と、駆動機器(300)が属する第2ネットワーク(N2)に接続する物理的な第2通信ポート(100P2)と、駆動機器(300)を制御するために作成されたユーザプログラム(110)を格納する記憶装置とを備える。ユーザプログラム(110)は、駆動機器(300)および情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて切り替えるフィルタリング機能を含む。
Description
本開示は、制御装置による通信データのフィルタリング技術に関する。
様々な生産現場において、PLC(Programmable Logic Controller)やロボットコントローラなどの産業用の制御装置(以下、「コントローラ」ともいう。)が導入されている。コントローラは、種々の産業用の駆動機器を制御することで、生産工程を自動化することができる。
近年、異なる複数のネットワークに接続され得るコントローラが普及している。当該コントローラは、ゲートウェイとしての機能し、上位のネットワークと下位のネットワークとの間の通信データのやり取りを管理する。
このようなコントローラに関し、特開2017-199154号公報(特許文献1)は、「多種多様な処理機械を、異なるネットワーク同士を相互に接続すると共に、異なるネットワークに接続される処理機械の相互制御を行うための設定を容易にできる」設備システムを開示している。
コントローラは、セキュリティのために、設定されているフィルタリング条件を満たした通信データのみを通過させる。通過させるべき通信データは、状況に応じて変化する。そのため、フィルタリング条件を状況に応じて適宜変更することが望まれている。
通信データのフィルタリング条件を変更する方法の一例として、FA(Factory Automation)システムの各種駆動機器を停止した上でネットワーク設定を変更する方法がある。しかしながら、FAシステムの駆動機器が停止すると多大な機会損失が生じるため、フィルタリング条件の変更時にFAシステムを極力停止しないことが望まれている。
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、駆動機器を停止せずに通信データのフィルタリング条件を変更することが可能な技術を提供することである。
本開示の一例では、駆動機器を制御するための制御装置は、情報処理装置が属する第1ネットワークに接続するための物理的な第1通信ポートと、上記駆動機器が属する第2ネットワークに接続するための物理的な第2通信ポートと、上記駆動機器を制御するために作成されたユーザプログラムを格納するための記憶装置とを備える。上記ユーザプログラムは、上記駆動機器および上記情報処理装置の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラムの実行中において入力されるフィルタリング条件の設定に応じて切り替えるためのフィルタリング機能を含む。
この開示によれば、フィルタリング機能は、ユーザプログラムの実行中においてフィルタリング条件の設定入力を受け付けるように規定されているので、制御装置は、駆動機器を停止せずに通信データのフィルタリング条件を変更することができる。
本開示の一例では、上記入力されるフィルタリング条件の設定は、上記フィルタリング条件の変更処理を実行するか否かを指定するための設定を含む。
この開示によれば、制御装置は、駆動機器の駆動中においてフィルタリング条件の実行タイミングを任意に調整することができる。
本開示の一例では、上記入力されるフィルタリング条件の設定は、上記フィルタリング条件が満たされた場合における上記フィルタリング機能の動作態様を指定するための設定を含む。上記動作態様は、上記一方の機器から受信した通信データのみを上記他方の機器に送信する態様と、上記一方の機器から受信した通信データを上記他方の機器に送信しない態様とを含む。
この開示によれば、制御装置は、駆動機器の駆動中であってもフィルタリング機能の動作態様を切り替えることができる。
本開示の一例では、上記入力されるフィルタリング条件の設定は、上記駆動機器から受信した通信データの送信をフィルタリング対象とするか、上記情報処理装置から受信した通信データをフィルタリング対象とするかを指定するための設定を含む。
この開示によれば、制御装置は、駆動機器の駆動中であってもフィルタリング対象とする通信データの通信方向を適宜切り替えることができる。
本開示の一例では、上記入力されるフィルタリング条件の設定は、フィルタリング対象とする通信データの通信プロトコルを指定するための設定を含む。
この開示によれば、制御装置は、駆動機器の駆動中であってもフィルタリング対象の通信プロトコルを切り替えることができる。
本開示の一例では、上記入力されるフィルタリング条件の設定は、上記一方の機器から受信した通信データの送信先を指定するための設定と、当該通信データの送信元を指定するための設定との少なくとも一方を含む。
この開示によれば、制御装置は、駆動機器の駆動中であってもフィルタリング対象とする送信元機器または送信先機器を適宜切り替えることができる。
本開示の他の例では、駆動機器を制御するための制御装置の制御方法は、第1ネットワークに属する情報処理装置と通信を確立するステップと、第2ネットワークに属する上記駆動機器と通信を確立するステップと、上記駆動機器を制御するために作成されたユーザプログラムを上記制御装置が実行するステップと、上記駆動機器および上記情報処理装置の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラムの実行中において入力されるフィルタリング条件の設定に応じて上記ユーザプログラムが切り替えるステップとを備える。
この開示によれば、フィルタリング機能は、ユーザプログラムの実行中においてフィルタリング条件の設定入力を受け付けるように規定されているので、制御装置は、駆動機器を停止せずに通信データのフィルタリング条件を変更することができる。
本開示の他の例では、駆動機器を制御するための制御装置の制御プログラムは、上記制御装置に、第1ネットワークに属する情報処理装置と通信を確立するステップと、第2ネットワークに属する上記駆動機器と通信を確立するステップと、上記駆動機器を制御するために作成されたユーザプログラムを実行するステップと、上記駆動機器および上記情報処理装置の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラムの実行中において入力されるフィルタリング条件の設定に応じて切り替えるステップとを実行させる。
この開示によれば、フィルタリング機能は、ユーザプログラムの実行中においてフィルタリング条件の設定入力を受け付けるように規定されているので、制御装置は、駆動機器を停止せずに通信データのフィルタリング条件を変更することができる。
ある局面において、駆動機器を停止せずに通信データのフィルタリング条件を変更することができる。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<A.適用例>
図1を参照して、本発明の適用例について説明する。図1は、FAシステム1の構成例を示す図である。
図1を参照して、本発明の適用例について説明する。図1は、FAシステム1の構成例を示す図である。
FAシステム1は、設備および装置などの制御対象を制御し、生産工程を自動化するためのシステムである。FAシステム1は、1または複数のコントローラ100と、1または複数の情報処理装置200と、1または複数の駆動機器300とで構成されている。コントローラ100は、物理的な通信ポート100P1,100P2と、記憶装置108とを含む。
コントローラ100は、複数のネットワークに接続され得る。図1の例では、通信ポート100P1(第1通信ポート)は、ネットワークN1(第1ネットワーク)に接続されている。通信ポート100P2(第2通信ポート)は、ネットワークN2(第2ネットワーク)に接続されている。
ネットワークN1には、たとえば、EtherNET(登録商標)が採用される。但し、ネットワークN1は、EtherNETに限定されず、任意の通信手段が採用され得る。図1の例では、ネットワークN1に情報処理装置200が接続されている。情報処理装置200は、たとえば、PC(Personal Computer)、タブレット端末、スマートフォン、表示器(たとえば、HMI(Human Machine Interface))などを含む。
ネットワークN2は、ネットワークN1よりも下位のネットワークである。ネットワークN2には、EtherNet/IP(登録商標)などが採用される。図1の例では、ネットワークN2に駆動機器300が接続されている。駆動機器300は、生産工程を自動化するための種々の産業用機器を含む。一例として、駆動機器300は、アームロボットや、アームロボットを制御するためのロボットコントローラや、生産工程を搬送されるワークを撮影するための画像センサや、生産工程で利用されるその他の機器などを含む。
記憶装置108には、ユーザプログラム110が格納されている。ユーザプログラム110は、駆動機器300に応じて設計者によって実装された制御プログラムである。ユーザプログラム110の開発ツールは、たとえば、PCとしての情報処理装置200にインストールされている。設計者は、予め規定されている複数種類の命令を開発ツール上で組み合わせることで、駆動機器300の構成に合わせたユーザプログラム110を設計することができる。開発ツール上で組み合わせることが可能な命令は、駆動機器300に対する制御命令と、通信データのフィルタリング命令とを含む。開発ツール上でコンパイルされたユーザプログラム110は、コントローラ100にインストールされる。図1の例では、ユーザプログラム110は、駆動機器300に対する制御機能150と、通信データのフィルタリング機能152を含む。
図1の例では、ユーザプログラム110は、制御機能150と、フィルタリング機能152とを含む。典型的には、制御機能150およびフィルタリング機能152は、プログラムである。
制御機能150は、規定されている制御内容に従って駆動機器300に制御命令を出力する。フィルタリング機能152は、情報処理装置200および駆動機器300の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、ユーザプログラム110の実行中において入力されるフィルタリング条件の設定に応じて切り替える。以下では、情報処理装置200および駆動機器300の内の、通信データの送信元となる機器を「送信元機器」ともいう。また、情報処理装置200および駆動機器300の内の、通信データの宛先となる機器を「送信先機器」ともいう。
フィルタリング機能152は、フィルタリング条件の設定入力を受け付けるように規定されているので、コントローラ100は、駆動機器300を停止せずに通信データのフィルタリング条件を変更することができる。その結果、コントローラ100は、フィルタリング対象の通信データをFAシステム1の状態に応じて適宜変えることができる。
なお、フィルタリング機能152によるフィルタリング対象の通信データの種類は、異なるネットワークN1,N2間を伝送されるデータであれば特に限定されない。たとえば、フィルタリング対象の通信データは、TCP/IPなどの通信プロトコルに従った通信パケットであってもよいし、フィールドネットワークを伝送されるフレームであってもよい。
また、フィルタリング機能152に設定可能なフィルタリング条件は、1つであってもよいし、複数であってもよい。
<B.FAシステム1の装置構成>
次に、本実施の形態に従うFAシステム1の全体構成について説明する。図2は、本実施の形態に従うFAシステム1の概略構成を示す模式図である。
次に、本実施の形態に従うFAシステム1の全体構成について説明する。図2は、本実施の形態に従うFAシステム1の概略構成を示す模式図である。
上述のように、FAシステム1は、1または複数のコントローラ100と、1または複数の情報処理装置200と、1または複数の駆動機器300とを含む。
コントローラ100は、複数のネットワークに接続され得る。図2の例では、コントローラ100は、上位のネットワークN1と、下位のネットワークN2に接続されている。
上位のネットワークN1には、情報処理装置200が接続されている。情報処理装置200は、ネットワークN1に接続され得る通信機器である。図2に示されるように、情報処理装置200は、1または複数のサポート装置200Aと、1または複数のサーバ装置200Bと、1または複数の表示器200Cとの少なくとも1つで構成される。
サポート装置200Aは、ユーザプログラム110を設計するための開発環境を設計者に提供する。サポート装置200Aは、たとえば、ノート型PC、デスクトップ型PC、タブレット端末、または、スマートフォンなどである。設計者は、サポート装置200A上でユーザプログラム110を設計し、当該ユーザプログラム110をネットワークN1を介してコントローラ100にダウンロードすることができる。
サーバ装置200Bは、データベースシステム、製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これらに限らず、情報系サービス(制御対象から各種情報を取得して、マクロ的またはミクロ的な分析などを行う処理)を提供する装置をネットワークN1に接続するようにしてもよい。サーバ装置200Bがコントローラ100から受信する各種情報は、コントローラ100のフィルタリング機能152(図1参照)によるフィルタリング対象になり得る。
表示器200Cは、ユーザからの操作を受けて、コントローラ100に対してユーザ操作に応じたコマンドなどを出力する。表示器200Cから出力されるコマンドは、コントローラ100のフィルタリング機能152(図1参照)によるフィルタリング対象になり得る。表示器200Cは、コントローラ100での演算結果などをグラフィカルに表示する。
下位のネットワークN2には、駆動機器300が接続されている。駆動機器300は、直接的または間接的にワークWに対して所定の作業を行うための機器の集合である。図2の例では、駆動機器300は、リモートIO装置310,320と、画像センサ315と、アームロボット325とで構成されている。
リモートIO装置310は、複数の物理的な通信ポートを有する。それぞれの通信ポートに異なるネットワークが接続され得る。図2の例では、リモートIO装置310は、2つの通信ポート310P1,310P2を有する。ネットワークN2は、ハブ305で分離されており、一方が通信ポート310P1に接続される。通信ポート310P2には、ネットワークN3が接続されている。ネットワークN3には、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとしては、EtherCAT(登録商標)、CompoNet(登録商標)などが知られている。
リモートIO装置310は、コントローラ100の制御指令に従って画像センサ315を制御する。画像センサ315は、リモートIO装置310から受けた制御指示に従ってコンベア上を搬送されるワークWを順次撮影し、得られた画像に対して予め定められた画像処理を実行する。これにより、画像センサ315は、コンベア上を搬送されるワークWの品質検査などを順次行う。画像センサ315の検査結果は、リモートIO装置310を介してコントローラ100に順次送られる。
リモートIO装置320は、複数の物理的な通信ポートを有する。それぞれの通信ポートに異なるネットワークが接続され得る。図2の例では、リモートIO装置320は、2つの通信ポート320P1,320P2を有する。ネットワークN2は、ハブ305で分離されており、一方が通信ポート310P2に接続される。通信ポート320P2には、ネットワークN3が接続されている。ネットワークN3には、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとしては、EtherCAT、CompoNetなどが知られている。
リモートIO装置320は、コントローラ100の制御指令に従ってアームロボット325を制御する。一例として、コントローラ100は、画像センサ315による検査工程(作業工程A)に従って、アームロボット325に所定の作業(作業工程B)を行わせるための制御指令をリモートIO装置320に出力する。リモートIO装置320は、当該制御指令に従ってアームロボット325を制御する。一例として、リモートIO装置320は、検査品質が不良と判断されたワークWをコンベアから除去するように制御指令を与える。アームロボット325の状態(たとえば、各関節の位置や角度など)は、リモートIO装置320からコントローラ100に順次フィードバックされる。
<C.ファンクションブロック>
上述のように、ユーザプログラム110は、情報処理装置200および駆動機器300の一方の機器(すなわち、送信元機器)から受信した通信データを他方の機器(すなわち、送信先機器)に送信するか否かを決定するためのフィルタリング条件を、入力されるフィルタリング条件の設定に応じて切り替えるためのフィルタリング機能152を含む。
上述のように、ユーザプログラム110は、情報処理装置200および駆動機器300の一方の機器(すなわち、送信元機器)から受信した通信データを他方の機器(すなわち、送信先機器)に送信するか否かを決定するためのフィルタリング条件を、入力されるフィルタリング条件の設定に応じて切り替えるためのフィルタリング機能152を含む。
フィルタリング機能152は、コントローラ100を通過する通信データをフィルタリングするためのプログラム(制御命令)であり、種々のプログラムで規定され得る。一例として、フィルタリング機能152は、ファンクションブロックダイアグラム(FBD:Function Block Diagram)で規定される。
以下では、フィルタリング機能152がファンクションブロックで規定されている前提で説明を行うが、フィルタリング機能152は、他のプログラム言語で規定されてもよい。一例として、フィルタリング機能152は、ラダーダイアグラム(LD:Ladder Diagram)で規定されてもよいし、命令リスト(IL:Instruction List)、構造化テキスト(ST:Structured Text)、および、シーケンシャルファンクションチャート(SFC:Sequential Function Chart)のいずれか、あるいは、これらの組み合わせで規定されてもよい。さらにあるいは、JavaScript(登録商標)やC言語のような汎用的なプログラミング言語で規定されていてもよい。
図3は、ファンクションブロックFBで規定されているフィルタリング機能152を示す図である。図3に示されるように、ファンクションブロックFBは、フィルタリング条件の設定を受け付ける入力部155A~155Fと、フィルタリング条件の設定処理を行った結果を出力するための出力部157A~157Dとを含む。入力部155A~155Fは、フィルタリング機能152によるフィルタリング条件の設定の入力を受け付ける。すなわち、フィルタリング機能152は、入力部155A~155Fに入力される値に応じてフィルタリング条件を切り替える。
「Excute」として示される入力部155Aは、フィルタリング条件の変更処理を実行するか否かを指定するための設定を受け付ける。一例として、入力部155Aは、「True」または「False」の入力を受け付ける。入力部155Aに「False」が入力されている限り、フィルタリング機能152は、フィルタリング条件を変更しない。一方で、入力部155Aに「True」が入力された場合には、フィルタリグ条件の変更処理を実行する。この場合、他の入力部155B~155Fに入力されたフィルタリング条件を新たなフィルタリング条件として設定する。これにより、コントローラ100は、駆動機器300の駆動中においてフィルタリング条件の実行タイミングを任意に調整することができる。
「Action」として示される入力部155Bは、フィルタリング条件が満たされた場合におけるフィルタリング機能152の動作態様を指定するための設定を受け付ける。一例として、入力部155Bは、「pass」または「block」の入力を受け付ける。入力部155Bに「pass」が入力された場合、フィルタリング機能152は、フィルタリング条件を満たした通信データのみを通過させるようにフィルタリング条件を設定する。すなわち、この場合には、フィルタリング条件を満たした通信データのみが送信先機器に送信され、それ以外の通信データは送信先機器に送信されない。一方で、入力部155Bに「block」が入力された場合、フィルタリング条件を満たした通信データを遮断するようにフィルタリング条件を設定する。すなわち、この場合には、フィルタリング条件を満たした通信データのみが遮断され、それ以外の通信データは送信先機器に送信される。これにより、コントローラ100は、駆動機器300の駆動中であっても入力部155Bに入力する値に応じてフィルタリング機能152の動作態様を適宜切り替えることができる。
「Direction」として示される入力部155Cは、フィルタリング対象の通信データの通信方向を指定するための入力を受け付ける。すなわち、入力部155Cは、駆動機器300から受信した通信データの送信をフィルタリング対象とするか、情報処理装置200から受信した通信データをフィルタリング対象とするかを指定するための入力を受け付ける。一例として、入力部155Cは、「in」または「out」の入力を受け付ける。入力部155Cに「in」が入力された場合、フィルタリング機能152は、上位のネットワークN1に属する情報処理装置200から下位のネットワークN2に属する駆動機器300に送信された通信データをフィルタリング対象とするようにフィルタリング条件を変更する。入力部155Cに「out」が入力された場合、フィルタリング機能152は、下位のネットワークN2に属する駆動機器300から上位のネットワークN1に属する情報処理装置200に送信された通信データをフィルタリング対象とするようにフィルタリング条件を変更する。これにより、コントローラ100は、駆動機器300の駆動中であっても入力部155Cに入力する値に応じてフィルタリング対象とする通信データの通信方向を適宜切り替えることができる。
「Protocol」として示される入力部155Dは、フィルタリング対象とする通信データの通信プロトコルを指定するための入力を受け付ける。一例として、入力部155Dは、通信プロトコルの識別情報の入力を受け付ける。当該識別情報は、通信プロトコル名で指定されてよいし、通信プロトコルのID(Identification)で指定されてもよい。一例として、入力部155Dは、「TCP」または「FTP」の入力を受け付ける。入力部155Dに「TCP」が入力された場合、フィルタリング機能152は、TCPプロトコルに従った通信データをフィルタリング対象とするようにフィルタリング条件を変更する。入力部155Dに「FTP」が入力された場合、フィルタリング機能152は、FTPプロトコルに従った通信データをフィルタリング対象とするようにフィルタリング条件を変更する。これにより、コントローラ100は、駆動機器300の駆動中であっても入力部155Dに入力する値に応じてフィルタリング対象の通信プロトコルを適宜切り替えることができる。
なお、フィルタリング対象として入力部155Dに指定される通信プロトコルは、上位のネットワークN1に対して指定されてもよいし、下位のネットワークN2に対して指定されてもよい。
「IP Address」として示される入力部155Eは、送信先機器を指定するための入力を受け付ける。一例として、送信先機器は、IPアドレスで指定される。たとえば、「10.0.0.1」が入力部155Eに入力された場合、フィルタリング機能152は、IPアドレス「10.0.0.1」の送信先機器に送られる通信データをフィルタリング対象とするようにフィルタリング条件を変更する。これにより、コントローラ100は、駆動機器300の駆動中であっても入力部155Eに入力する値に応じてフィルタリング対象とする送信元機器を適宜切り替えることができる。
なお、上述では、通信データの送信先機器を入力部155Eで指定できる例について説明を行ったが、ファンクションブロックFBは、通信データの送信元機器を入力部155Eまたは他の入力部で指定できるように規定されてもよい。
「Port」として示される入力部155Fは、通信データの送信先機器のポート番号を指定するための入力を受け付ける。一例として、「80」が入力部155Fに入力された場合、フィルタリング機能152は、送信先機器のポート番号「80」に送られる通信データをフィルタリング対象とするようにフィルタリング条件を変更する。これにより、コントローラ100は、駆動機器300の駆動中であっても入力部155Fに入力する値に応じてフィルタリング対象とするポート番号を適宜切り替えることができる。
なお、上述では、通信データの送信先機器の通信ポートを入力部155Fで指定できる例について説明を行ったが、ファンクションブロックFBは、通信データの送信元機器のポート番号を入力部155Fまたは他の入力部で指定できるように規定されてもよい。
フィルタリング条件が正常に設定された場合には、正常終了を示す信号が、「Done」として示される出力部157Aから出力される。フィルタリング条件の変更中には、変更処理中を示す信号が、「Busy」として示される出力部157Bから出力される。フィルタリング条件が適切に設定されなかった場合には、異常終了を示す信号が、「Error」として示される出力部157Cから出力される。この場合には、さらに、エラーの内容を識別するためのエラーIDが、「ErrorID」として示される出力部157Dから出力される。
なお、ファンクションブロックFBには、入力部155A~155Fおよび出力部157A~157Dの他にも様々な入力部および出力部が設けられもよい。一例として、複数の通信インターフェイスが存在する場合には、通信インターフェイスを指定するための入力部がファンクションブロックFBに設けられてもよい。また、上述では、ファンクションブロックFBが1つのフィルタリング条件のみを受け付ける例について説明を行ったが、ファンクションブロックFBは、複数のフィルタリング条件を受け付けるように規定されてもよい。
<D.プログラム例>
図4を参照して、図3で説明したファンクションブロックFBの使用例について説明する。図4は、図3で説明したファンクションブロックFBを組み込んだユーザプログラムの例を示す図である。
図4を参照して、図3で説明したファンクションブロックFBの使用例について説明する。図4は、図3で説明したファンクションブロックFBを組み込んだユーザプログラムの例を示す図である。
図4の例では、ユーザプログラム110は、ラダープログラムで規定されている。当該ユーザプログラム110は、ワークに対する作業工程に応じて通信データのフィルタリング条件を変えるように規定されている。なお、図4に示されるユーザプログラム110は、コントローラ100における全処理を示しているわけではなく、たとえば、各作業工程の切り替え時における一部のロジックが省略されている。
ユーザプログラム110は、入力要素IN0~IN7と、ファンクションブロックFB0~FB2と、出力要素OUT0~OUT2とで規定されている。ファンクションブロックFB1,FB2は、図3で説明した、フィルタリング機能152を有するファンクションブロックFBに相当する。
入力要素IN0~IN7の値は、割付けられている変数に応じて変化する。より具体的には、入力要素IN0には、変数「ChangeTrigger」が割り当てられている。変数「ChangeTrigger」は、BOOL型であり、初期値は、「False」(=OFF)である。変数「ChangeTrigger」の値は、コントローラ100が起動されたことに基づいて、「True」(=ON)に変化する。その他の場合、変数「ChangeTrigger」の値は、「False」(=OFF)となる。
入力要素IN1には、変数「Busy0」が割り当てられている。変数「Busy0」は、BOOL型である。また、変数「Busy0」は、ファンクションブロックFB1の出力「Busy」に関連付けられている。そのため、入力要素IN1の値は、ファンクションブロックFB1の出力「Busy」の値に応じて変化する。上述したように、ファンクションブロックFB1の出力「Busy」からは、フィルタリング条件の変更中において変更処理中を示す信号「True」(=ON)が出力される。入力要素IN1における変数「Busy0」の値は、ファンクションブロックFB1の出力「Busy」の値と反対になるので、ファンクションブロックFB1の出力「Busy」が「True」(=ON)となる場合、入力要素IN1の値は、「False」(=OFF)となる。一方で、出力「Busy」が「False」(=OFF)となる場合、入力要素IN1の値は、「True」(=ON)となる。
入力要素IN2には、変数「Done0」が割り当てられている。変数「Done0」は、BOOL型であり、初期値は、「False」(=OFF)である。また、変数「Done0」は、ファンクションブロックFB1の出力「Done」に関連付けられている。上述したように、フィルタリング条件が正常に変更された場合には、ファンクションブロックFB1の出力「Done」からは、正常終了を示す信号「True」(=ON)が出力される。ファンクションブロックFB1の出力「Done」が「True」(=ON)となると、入力要素IN2の値は、「True」(=ON)となる。一方で、ファンクションブロックFB1の出力「Done」が「False」(=OFF)となると、入力要素IN2の値は、「False」(=OFF)となる。
入力要素IN3には、変数「Error0」が割り当てられている。変数「Error0」は、BOOL型であり、初期値は、「False」(=OFF)である。また、変数「Error0」は、ファンクションブロックFB1の出力「Error」に関連付けられている。上述したように、フィルタリング条件の変更処理が異常終了した場合には、ファンクションブロックFB1の出力「Error」からは、異常を示す信号「True」(=ON)が出力される。ファンクションブロックFB1の出力「Error」が「True」(=ON)となると、入力要素IN3の値は、「True」(=ON)となる。一方で、ファンクションブロックFB1の出力「Error」が「False」(=OFF)となると、入力要素IN3の値は、「False」(=OFF)となる。
入力要素IN4には、変数「SettingTrigger0」が割り当てられている。変数「SettingTrigger0」は、BOOL型であり、初期値は、「False」(=OFF)である。また、変数「SettingTrigger0」は、ファンクションブロックFB0の出力「Q1」に関連付けられている。ファンクションブロックFB0の出力「Q1」が「True」(=ON)となると、入力要素IN4の値は、「True」(=ON)となる。一方で、ファンクションブロックFB0の出力「Q1」が「False」(=OFF)となると、入力要素IN4の値は、「False」(=OFF)となる。
入力要素IN5には、変数「PA」が割り当てられている。変数「PA」は、BOOL型であり、初期値は、「False」(=OFF)である。図4には示されていないが、作業工程Aを実現するための制御機能150がユーザプログラム110に規定されている。当該制御機能150は、作業工程Aの実行中に変数「PA」の値を「True」(=ON)とし、作業工程Aの実行中でない場合に変数「PA」の値を「False」(=OFF)とするように規定されている。
入力要素IN6には、変数「SettingTrigger1」が割り当てられている。変数「SettingTrigger1」は、BOOL型であり、初期値は、「False」(=OFF)である。図4には示されていないが、作業工程Bのリセット処理がユーザプログラム110に規定されており、変数「SettingTrigger1」の値は、当該リセット処理の結果に応じて変化する。変数「SettingTrigger1」の値は、作業工程Bを実行時に開始されるリセット処理が終了したことに基づいて、「True」(=ON)となる。その結果、入力要素IN6の値も「True」(=ON)となる。一方で、変数「SettingTrigger1」の値が「False」(=OFF)になると、入力要素IN6の値は、「False」(=OFF)となる。
入力要素IN7には、変数「PB」が割り当てられている。変数「PB」は、BOOL型であり、初期値は、「False」(=OFF)である。図4には示されていないが、作業工程Bを実現するための制御機能150がユーザプログラム110に規定されている。当該制御機能150は、作業工程Bの実行中に変数「PB」の値を「True」(=ON)とし、作業工程Bの実行中でない場合に変数「PB」の値を「False」(=OFF)とするように規定されている。
ファンクションブロックFB0は、作業工程Aの開始時に実行されるリセット処理を実行するためのプログラムである。ファンクションブロックFB0は、入力部「Set」,「Reset1」と、出力部「Q1」とを有する。変数「ChangeTrigger」が「True」(=ON)になり、かつ、変数「Busy0」が「False」(=OFF)になった場合に、有効を示す信号「True」(=ON)が入力部「Set」に入力される。それ以外の場合には、有効を示す信号「False」(=OFF)が入力部「Set」に入力される。また、変数「Done0」が「True」(=ON)になった場合、または、変数「Error0」が「True」(=ON)になった場合、有効を示す信号「True」(=ON)が入力部「Reest1」に入力される。それ以外の場合には、有効を示す信号「False」(=OFF)が入力部「Reest1」に入力される。有効を示す信号が入力部「Set」,「Reset1」の両方に入力されたことに基づいて、ファンクションブロックFB0は、作業工程Aに関するリセット処理を開始する。当該リセット処理が正常に終了した場合には、ファンクションブロックFB0の出力部「Q1」の値は、「True」(=ON)となる。
ファンクションブロックFB1は、通信データのフィルタリング条件を変更するためのプログラムである。変数「SettingTrigger0」が「True」(=ON)になり、かつ、変数「PA」が「True」(=ON)になったことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB1の入力部「Execute」に入力される。このことに基づいて、ファンクションブロックFB1は、フィルタリング条件の変更処理を実行する。
より具体的には、ファンクションブロックFB1は、入力部「Action」に入力される「pass」、入力部「Direction」に入力される「in」、入力部「Protocol」に入力される「TCP」、入力部「IP Address」に入力される「10.0.0.1」、および、入力部「Port」に入力される「80」に従ったフィルタリング条件を新たなフィルタリング条件として設定する。フィルタリング条件の変更方法の詳細については図3で説明した通りであるので、その説明については繰り返さない。
ファンクションブロックFB2は、通信データのフィルタリング条件を変更するためのプログラムである。変数「SettingTrigger1」が「True」(=ON)になり、かつ、変数「PB」が「True」(=ON)になったことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB2の入力部「Execute」に入力される。このことに基づいて、ファンクションブロックFB2は、フィルタリング条件の変更処理を実行する。
より具体的には、ファンクションブロックFB2は、入力部「Action」に入力される「pass」、入力部「Direction」に入力される「in」、入力部「Protocol」に入力される「FTP」、入力部「IP Address」に入力される「10.0.0.2」、および、入力部「Port」に入力される「20」に従ったフィルタリング条件を新たなフィルタリング条件として設定する。フィルタリング条件の変更方法の詳細については図3で説明した通りであるので、その説明については繰り返さない。
出力要素OUT0~OUT2の値は、それぞれ、関連付けられているファンクションブロックの出力値に応じて変化する。出力要素OUT0には、変数「SettingTrigger0」が割付けられている。また、出力要素OUT0は、ファンクションブロックFB0の出力「Q1」に関連付けられている。その結果、出力要素OUT0の値は、出力「Q1」の値に応じて変化する。
出力要素OUT1には、変数「Done0」が割付けられている。また、出力要素OUT1は、ファンクションブロックFB1の出力「Done」に関連付けられている。その結果、出力要素OUT1の値は、ファンクションブロックFB1の出力「Done」の値に応じて変化する。
出力要素OUT2には、変数「Done1」が割付けられている。また、出力要素OUT2は、ファンクションブロックFB2の出力「Done」に関連付けられている。その結果、出力要素OUT2の値は、ファンクションブロックFB2の出力「Done」の値に応じて変化する。
以上のようにして、作業工程Aにおいては、ファンクションブロックFB1に入力されるフィルタリング条件が設定され、作業工程Bにおいては、ファンクションブロックFB2に入力されるフィルタリング条件が設定される。このように、作業工程に応じてフィルタリング条件が適宜変更される。フィルタリング条件が固定である場合には、作業工程Aで通過させるべき通信データと、作業工程Bで通過させるべき通信データとの両方が常に通過するようにフィルタリング条件が設定される必要があるが、図4に示されるユーザプログラム110においては、その必要がなくなる。
なお、上述では、作業工程に応じてフィルタリング条件が変えられる例について説明を行ったが、ユーザプログラム110は、その他の状況に応じてフィルタリング条件を変更するように規定されてもよい。一例として、ユーザプログラム110は、FAシステム1における駆動機器300の装置構成が変化した場合に、FAシステム1の装置構成に応じたフィルタリング条件を設定するように規定されてもよい。これにより、たとえば、意図しない通信機器がコントローラ100に接続された場合に、コントローラ100は、当該通信機器をブロックすることができる。通信機器の接続/非接続を検知する方法として、ネットワークの状態を監視するファンクションブロックなどを利用する方法が考えられる。当該ファンクションブロックは、ネットワークテーブルの状態を定期的に監視し、当該ネットワークテーブルの変化情報から通信機器の接続/非接続を検知する。
他の例として、ユーザプログラム110は、外部機器からの悪意の攻撃を受けた場合、当該悪意の攻撃を防ぐためのフィルタリング条件を設定するように規定されてもよい。一例として、コントローラ100の通信ドライバが単位時間当たりの受信データ量(たとえば、単位時間当たりの受信パケット数)を監視し、当該受信データ量が所定閾値を超えた場合に、外部機器からの悪意の攻撃を受けていると判断する。外部機器からの悪意の攻撃が検知された場合、フィルタリング機能152は、IPアドレスやポート番号などの情報に基づいて、悪意の攻撃を行っている外部機器をブロックする。あるいは、外部機器からの悪意の攻撃が検知された場合、フィルタリング機能152は、全ての通信パケットの受信をブロックしてもよい。
他の例として、ユーザプログラム110は、コントローラ100の通信の接続状況が変化した場合、接続状況に応じたフィルタリング条件を設定するように規定されてもよい。たとえば、フィルタリング機能152は、送信元機器との通信が確立されてから非接続状態になるまでの間のみ、当該送信元機器からの受信データを通過させ、それ以外の場合は当該送信元機器からの受信データをブロックする。これにより、フィルタリング機能152は、必要な期間のみ通信データを通過させるので、セキュリティを向上させることができる。
また、上述では、ファンクションブロックFB1,FB2の入力部「Action」,「pass」,「Direction」,「Protocol」,「IP Address」,「Port」に固定値が入力される前提で説明を行ったが、これらの入力部には変数などが入力されてもよい。
<E.通信データのデータ構造>
コントローラ100は、送信元機器から受信した通信データがフィルタリング条件を満たすか否かに応じて、受信した通信データをフィルタリング対象とするか否かを判断する。典型的には、フィルタリング対象とするか否かを判断するための情報は、通信データに規定されている。
コントローラ100は、送信元機器から受信した通信データがフィルタリング条件を満たすか否かに応じて、受信した通信データをフィルタリング対象とするか否かを判断する。典型的には、フィルタリング対象とするか否かを判断するための情報は、通信データに規定されている。
一例として、通信データは、送信元機器の識別情報(たとえば、IPアドレスやMACアドレス)と、送信先機器のポート番号と、通信データの受信時に利用された通信プロトコルと、送信先機器の識別情報(たとえば、IPアドレスやMACアドレス)と、送信元機器のポート番号と、通信データの送信時に利用された通信プロトコルとの内の少なくとも1つを含む。コントローラ100は、通信データからこれらの情報を抽出し、これらの情報がフィルタリング条件に合致するか否かに応じて、当該通信データをフィルタリング対象とするか否かを判断する。
コントローラ100によるフィルタリング対象の通信データの種類は、異なるネットワーク間を伝送される通信データであれば特に限定されない。以下では、図5を参照して、コントローラ100によるフィルタリング対象の通信データの一例について説明する。
コントローラ100によるフィルタリング対象の通信データは、たとえば、TCP/IPプロトコルに従う通信パケットを含む。図5は、TCP/IPプロトコルに従う通信パケットのデータ構造を示す図である。
送信元機器は、送信対象のデータを複数の通信パケットに分割して、各通信パケットをコントローラ100に順次送信する。図5には、送信元機器によって分割された通信パケットの1つが通信パケットPAとして示されている。
通信パケットPAは、Ethenetプロトコルのヘッダ部分であるEthernetヘッダと、Ethenetプロトコルのデータ部分であるEthernetデータとで構成されている。Ethernetデータは、IPプロトコルのヘッダ部分であるIPヘッダと、IPプロトコルのデータ部分であるIPデータとで構成されている。IPデータは、TCPプロトコルのヘッダ部分であるTCPヘッダと、TCPプロトコルのデータ部分であるTCPデータとで構成されている。
通信パケットPAのIPヘッダは、送信元機器のIPアドレスと、送信先機器のIPアドレスと、通信プロトコルとを含む。通信パケットPAのTCPヘッダは、送信元機器のポート番号と、送信先機器のポート番号とを含む。通信パケットPAのTCPデータは、送信対象のデータの内容を含む。送信対象のデータは、たとえば、駆動機器300の状態を表わす各種変数や、情報処理装置200による各種変数の取得命令などを含む。ここでいう変数とは、ユーザプログラム110に含まれる各種変数のこという。当該変数は、駆動機器300の各種コンポーネントの状態に応じて変化する。
コントローラ100は、通信パケットPAを受信したことに基づいて、当該通信パケットPAからフィルタリング条件と比較するための情報を抽出する。当該情報は、たとえば、送信元機器のIPアドレスと、送信先機器のIPアドレスと、通信プロトコルと、送信元機器のポート番号と、送信先機器のポート番号との少なくとも1つを含む。コントローラ100は、通信パケットPAから抽出した情報がフィルタリング条件を満たすか否かを判断する。通信パケットPAから抽出した情報がフィルタリング条件を満たすと判断した場合、コントローラ100は、通信パケットPAをフィルタリング対象とする。
<F.コントローラ100のハードウェア構成>
図6は、コントローラ100のハードウェア構成例を示すブロック図である。図6を参照して、コントローラ100は、プロセッサ102と、チップセット104と、主メモリ106と、記憶装置108と、USB(Universal Serial Bus)インターフェイス112と、メモリカードインターフェイス114と、ネットワークインターフェイス118と、内部バスコントローラ120と、フィールドネットワークコントローラ130とを含む。
図6は、コントローラ100のハードウェア構成例を示すブロック図である。図6を参照して、コントローラ100は、プロセッサ102と、チップセット104と、主メモリ106と、記憶装置108と、USB(Universal Serial Bus)インターフェイス112と、メモリカードインターフェイス114と、ネットワークインターフェイス118と、内部バスコントローラ120と、フィールドネットワークコントローラ130とを含む。
プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。このように、コントローラ100は、1または複数のプロセッサ102、および/または、1または複数のコアを有するプロセッサ102を有している。チップセット104は、プロセッサ102および周辺エレメントを制御することで、コントローラ100全体としての処理を実現する。主メモリ106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。記憶装置108は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成される。
プロセッサ102は、記憶装置108に格納された各種プログラムを読出して、主メモリ106に展開して実行することで、制御対象に応じた制御を実現する。記憶装置108には、コントローラ100の制御プログラム109が格納されている。制御プログラム109は、基本的な処理を実現するためのシステムプログラム111に加えて、制御対象の製造装置や設備に応じて作成されたユーザプログラム110を含む。
USBインターフェイス112は、USB接続を介した外部装置(たとえば、ユーザプログラムの開発などを行うサポート装置)との間のデータ通信を仲介する。
メモリカードインターフェイス114は、メモリカード116が着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
ネットワークインターフェイス118は、ネットワークN1を介したデータ通信の仲介が可能になっている。
内部バスコントローラ120は、コントローラ100に装着される機能ユニットとの間のデータ通信を仲介する。フィールドネットワークコントローラ130は、ネットワークN2を介した他のユニットとの間のデータ通信を仲介する。
図6には、プロセッサ102がプログラムを実行することで必要な処理が実現される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
<G.コントローラ100の制御構造>
図7を参照して、コントローラ100の制御構造について説明する。図7は、コントローラ100が実行する処理の一部を表わすフローチャートである。図7に示される処理は、コントローラ100のプロセッサ102がユーザプログラム110を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
図7を参照して、コントローラ100の制御構造について説明する。図7は、コントローラ100が実行する処理の一部を表わすフローチャートである。図7に示される処理は、コントローラ100のプロセッサ102がユーザプログラム110を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、プロセッサ102は、ユーザプログラム110の実行命令を受け付けたか否かを判断する。プロセッサ102は、ユーザプログラム110の実行命令を受け付けたと判断した場合(ステップS110においてYES)、制御をステップS112に切り替える。そうでない場合には(ステップS110においてNO)、プロセッサ102は、ステップS110の処理を再び実行する。
ステップS112において、プロセッサ102は、情報処理装置200や駆動機器300との通信の確立など初期化処理を実行する。その後、プロセッサ102は、ユーザプログラム110に規定されている制御機能150(図1参照)を実行し、駆動機器300の制御を開始する。
ステップS120において、プロセッサ102は、通信データのフィルタリング条件を変更するための実行命令を受け付けたか否かを判断する。一例として、プロセッサ102は、ユーザプログラム110に規定されているフィルタリング機能152における上述の入力部155A(図3参照)に「True」(=ON)が入力されたことに基づいて、フィルタリング条件を変更するための実行命令を受け付けたと判断する。プロセッサ102は、通信データのフィルタリング条件を変更するための実行命令を受け付けたと判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、プロセッサ102は、制御をステップS130に切り替える。
ステップS122において、プロセッサ102は、ユーザプログラム110のフィルタリング機能152に入力される設定に応じてフィルタリング条件を変更する。一例として、プロセッサ102は、図3に示される入力部155B~155Fに入力される値に応じて、フィルタリング条件を設定する。フィルタリング条件の変更方法については図3で説明した通りであるので、その説明については繰り返さない。
ステップS130において、プロセッサ102は、送信先機器から何らかの通信データを受信したか否かを判断する。プロセッサ102は、送信先機器から何らかの通信データを受信したと判断した場合(ステップS130においてYES)、制御をステップS140に切り替える。そうでない場合には(ステップS130においてNO)、プロセッサ102は、制御をステップS150に切り替える。
ステップS140において、プロセッサ102は、ステップS130で受信した通信データが現在設定されているフィルタリング条件を満たすか否かを判断する。一例として、プロセッサ102は、送信元機器の識別情報(たとえば、IPアドレスやMACアドレス)と、送信先機器のポート番号と、通信データの受信時に利用された通信プロトコルと、送信先機器の識別情報(たとえば、IPアドレスやMACアドレス)と、送信元機器のポート番号と、通信データの送信時に利用された通信プロトコルとの内の少なくとも1つを、フィルタリング条件の比較情報として受信した通信データから抽出する。このとき、プロセッサ102は、送信先機器や送信元機器の識別情報から通信データの通信方向を比較情報の1つとしてさらに特定してもよい。プロセッサ102は、これらの比較情報がフィルタリング条件に合致している場合(ステップS140においてYES)、制御をステップS142に切り替える。そうでない場合には(ステップS140においてNO)、プロセッサ102は、制御をステップS150に切り替える。
ステップS142において、プロセッサ102は、フィルタリング機能152の設定されている動作態様に従って、通信データをフィルタリングする。図3で説明したように、フィルタリング機能152の入力部155Bに「pass」が設定されている場合には、プロセッサ102は、フィルタリング条件を満たした通信データのみを通過させ、それ以外の通信データをフィルタリングする。一方で、フィルタリング機能152の入力部155Bに「block」が設定されている場合には、プロセッサ102は、フィルタリング条件を満たした通信データのみをフィルタリングし、それ以外の通信データを通過させない。
ステップS150において、プロセッサ102は、ユーザプログラム110の停止命令を受け付けたか否かを判断する。プロセッサ102は、ユーザプログラム110の停止命令を受け付けたと判断した場合(ステップS150においてYES)、図7に示される処理を終了する。そうでない場合には(ステップS150においてNO)、プロセッサ102は、制御をステップS120に戻す。
<H.まとめ>
以上のようにして、ユーザによって作成されたユーザプログラム110は、制御機能150と、フィルタリング機能152とを含む。制御機能150は、規定されている制御内容に従って駆動機器300に制御命令を出力する。フィルタリング機能152は、送信元機器から受信した通信データを送信先機器に送信するか否かを、ユーザプログラム110の実行中において入力されるフィルタリング条件の設定に応じて切り替える。
以上のようにして、ユーザによって作成されたユーザプログラム110は、制御機能150と、フィルタリング機能152とを含む。制御機能150は、規定されている制御内容に従って駆動機器300に制御命令を出力する。フィルタリング機能152は、送信元機器から受信した通信データを送信先機器に送信するか否かを、ユーザプログラム110の実行中において入力されるフィルタリング条件の設定に応じて切り替える。
このように、フィルタリング機能152は、フィルタリング条件の設定入力を受け付けるように規定されているので、コントローラ100は、駆動機器300を停止せずに通信データのフィルタリング条件を変更することができる。
<I.付記>
以上のように、本実施形態は以下のような開示を含む。
以上のように、本実施形態は以下のような開示を含む。
[構成1]
駆動機器(300)を制御するための制御装置(100)であって、
情報処理装置(200)が属する第1ネットワーク(N1)に接続するための物理的な第1通信ポート(100P1)と、
前記駆動機器(300)が属する第2ネットワーク(N2)に接続するための物理的な第2通信ポート(100P2)と、
前記駆動機器(300)を制御するために作成されたユーザプログラム(110)を格納するための記憶装置(108)とを備え、
前記ユーザプログラム(110)は、前記駆動機器(300)および前記情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて切り替えるためのフィルタリング機能を含む、制御装置。
駆動機器(300)を制御するための制御装置(100)であって、
情報処理装置(200)が属する第1ネットワーク(N1)に接続するための物理的な第1通信ポート(100P1)と、
前記駆動機器(300)が属する第2ネットワーク(N2)に接続するための物理的な第2通信ポート(100P2)と、
前記駆動機器(300)を制御するために作成されたユーザプログラム(110)を格納するための記憶装置(108)とを備え、
前記ユーザプログラム(110)は、前記駆動機器(300)および前記情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて切り替えるためのフィルタリング機能を含む、制御装置。
[構成2]
前記フィルタリング条件の設定は、前記フィルタリング条件の変更処理を実行するか否かを指定するための設定を含む、構成1に記載の制御装置。
前記フィルタリング条件の設定は、前記フィルタリング条件の変更処理を実行するか否かを指定するための設定を含む、構成1に記載の制御装置。
[構成3]
前記フィルタリング条件の設定は、前記フィルタリング条件が満たされた場合における前記フィルタリング機能の動作態様を指定するための設定を含み、
前記動作態様は、
前記一方の機器から受信した通信データのみを前記他方の機器に送信する態様と、
前記一方の機器から受信した通信データを前記他方の機器に送信しない態様とを含む、構成1または2に記載の制御装置。
前記フィルタリング条件の設定は、前記フィルタリング条件が満たされた場合における前記フィルタリング機能の動作態様を指定するための設定を含み、
前記動作態様は、
前記一方の機器から受信した通信データのみを前記他方の機器に送信する態様と、
前記一方の機器から受信した通信データを前記他方の機器に送信しない態様とを含む、構成1または2に記載の制御装置。
[構成4]
前記フィルタリング条件の設定は、前記駆動機器(300)から受信した通信データの送信をフィルタリング対象とするか、前記情報処理装置(200)から受信した通信データをフィルタリング対象とするかを指定するための設定を含む、構成1に記載の制御装置。
前記フィルタリング条件の設定は、前記駆動機器(300)から受信した通信データの送信をフィルタリング対象とするか、前記情報処理装置(200)から受信した通信データをフィルタリング対象とするかを指定するための設定を含む、構成1に記載の制御装置。
[構成5]
前記フィルタリング条件の設定は、フィルタリング対象とする通信データの通信プロトコルを指定するための設定を含む、構成1~4のいずれか1項に記載の制御装置。
前記フィルタリング条件の設定は、フィルタリング対象とする通信データの通信プロトコルを指定するための設定を含む、構成1~4のいずれか1項に記載の制御装置。
[構成6]
前記フィルタリング条件の設定は、前記一方の機器から受信した通信データの送信先を指定するための設定と、当該通信データの送信元を指定するための設定との少なくとも一方を含む、構成1~5のいずれか1項に記載の制御装置。
前記フィルタリング条件の設定は、前記一方の機器から受信した通信データの送信先を指定するための設定と、当該通信データの送信元を指定するための設定との少なくとも一方を含む、構成1~5のいずれか1項に記載の制御装置。
[構成7]
駆動機器(300)を制御するための制御装置(100)の制御方法であって、
第1ネットワーク(N1)に属する情報処理装置(200)と通信を確立するステップ(S112)と、
第2ネットワーク(N2)に属する前記駆動機器(300)と通信を確立するステップ(S112)と、
前記駆動機器(300)を制御するために作成されたユーザプログラム(110)を前記制御装置(100)が実行するステップ(S112)と、
前記駆動機器(300)および前記情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて前記ユーザプログラム(110)が切り替えるステップ(S122)とを備える、制御方法。
駆動機器(300)を制御するための制御装置(100)の制御方法であって、
第1ネットワーク(N1)に属する情報処理装置(200)と通信を確立するステップ(S112)と、
第2ネットワーク(N2)に属する前記駆動機器(300)と通信を確立するステップ(S112)と、
前記駆動機器(300)を制御するために作成されたユーザプログラム(110)を前記制御装置(100)が実行するステップ(S112)と、
前記駆動機器(300)および前記情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて前記ユーザプログラム(110)が切り替えるステップ(S122)とを備える、制御方法。
[構成8]
駆動機器(300)を制御するための制御装置(100)の制御プログラムであって、
前記制御プログラムは、前記制御装置に、
第1ネットワーク(N1)に属する情報処理装置(200)と通信を確立するステップ(S112)と、
第2ネットワーク(N2)に属する前記駆動機器(300)と通信を確立するステップ(S112)と、
前記駆動機器(300)を制御するために作成されたユーザプログラム(110)を実行するステップ(S112)と、
前記駆動機器(300)および前記情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて切り替えるステップ(S122)とを実行させる、制御プログラム。
駆動機器(300)を制御するための制御装置(100)の制御プログラムであって、
前記制御プログラムは、前記制御装置に、
第1ネットワーク(N1)に属する情報処理装置(200)と通信を確立するステップ(S112)と、
第2ネットワーク(N2)に属する前記駆動機器(300)と通信を確立するステップ(S112)と、
前記駆動機器(300)を制御するために作成されたユーザプログラム(110)を実行するステップ(S112)と、
前記駆動機器(300)および前記情報処理装置(200)の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラム(110)の実行中において入力されるフィルタリング条件の設定に応じて切り替えるステップ(S122)とを実行させる、制御プログラム。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 FAシステム、100 コントローラ、100P1,100P2,310P1,310P2,320P1,320P2 通信ポート、102 プロセッサ、104 チップセット、106 主メモリ、108 記憶装置、109 制御プログラム、110 ユーザプログラム、111 システムプログラム、112 USBインターフェイス、114 メモリカードインターフェイス、116 メモリカード、118 ネットワークインターフェイス、120 内部バスコントローラ、130 フィールドネットワークコントローラ、150 制御機能、152 フィルタリング機能、155A,155B,155C,155D,155E,155F 入力部、157A,157B,157C,157D 出力部、200 情報処理装置、200A サポート装置、200B サーバ装置、200C 表示器、300 駆動機器、305 ハブ、310,320 リモートIO装置、315 画像センサ、325 アームロボット。
Claims (8)
- 駆動機器を制御するための制御装置であって、
情報処理装置が属する第1ネットワークに接続するための物理的な第1通信ポートと、
前記駆動機器が属する第2ネットワークに接続するための物理的な第2通信ポートと、
前記駆動機器を制御するために作成されたユーザプログラムを格納するための記憶装置とを備え、
前記ユーザプログラムは、前記駆動機器および前記情報処理装置の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラムの実行中において入力されるフィルタリング条件の設定に応じて切り替えるためのフィルタリング機能を含む、制御装置。 - 前記入力されるフィルタリング条件の設定は、前記フィルタリング条件の変更処理を実行するか否かを指定するための設定を含む、請求項1に記載の制御装置。
- 前記入力されるフィルタリング条件の設定は、前記フィルタリング条件が満たされた場合における前記フィルタリング機能の動作態様を指定するための設定を含み、
前記動作態様は、
前記一方の機器から受信した通信データのみを前記他方の機器に送信する態様と、
前記一方の機器から受信した通信データを前記他方の機器に送信しない態様とを含む、請求項1または2に記載の制御装置。 - 前記入力されるフィルタリング条件の設定は、前記駆動機器から受信した通信データの送信をフィルタリング対象とするか、前記情報処理装置から受信した通信データをフィルタリング対象とするかを指定するための設定を含む、請求項1に記載の制御装置。
- 前記入力されるフィルタリング条件の設定は、フィルタリング対象とする通信データの通信プロトコルを指定するための設定を含む、請求項1~4のいずれか1項に記載の制御装置。
- 前記入力されるフィルタリング条件の設定は、前記一方の機器から受信した通信データの送信先を指定するための設定と、当該通信データの送信元を指定するための設定との少なくとも一方を含む、請求項1~5のいずれか1項に記載の制御装置。
- 駆動機器を制御するための制御装置の制御方法であって、
第1ネットワークに属する情報処理装置と通信を確立するステップと、
第2ネットワークに属する前記駆動機器と通信を確立するステップと、
前記駆動機器を制御するために作成されたユーザプログラムを前記制御装置が実行するステップと、
前記駆動機器および前記情報処理装置の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラムの実行中において入力されるフィルタリング条件の設定に応じて前記ユーザプログラムが切り替えるステップとを備える、制御方法。 - 駆動機器を制御するための制御装置の制御プログラムであって、
前記制御プログラムは、前記制御装置に、
第1ネットワークに属する情報処理装置と通信を確立するステップと、
第2ネットワークに属する前記駆動機器と通信を確立するステップと、
前記駆動機器を制御するために作成されたユーザプログラムを実行するステップと、
前記駆動機器および前記情報処理装置の一方の機器から受信した通信データを他方の機器に送信するか否かを決定するためのフィルタリング条件を、当該ユーザプログラムの実行中において入力されるフィルタリング条件の設定に応じて切り替えるステップとを実行させる、制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/643,834 US11226611B2 (en) | 2018-01-22 | 2018-12-20 | Control device, control method, and control program |
CN201880055502.0A CN111095137B (zh) | 2018-01-22 | 2018-12-20 | 控制装置、控制方法和存储介质 |
EP18901114.1A EP3745221A4 (en) | 2018-01-22 | 2018-12-20 | DEVICE, PROCESS AND CONTROL PROGRAM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-008339 | 2018-01-22 | ||
JP2018008339A JP7078889B2 (ja) | 2018-01-22 | 2018-01-22 | 制御装置、制御方法、および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019142587A1 true WO2019142587A1 (ja) | 2019-07-25 |
Family
ID=67302168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/046988 WO2019142587A1 (ja) | 2018-01-22 | 2018-12-20 | 制御装置、制御方法、および制御プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11226611B2 (ja) |
EP (1) | EP3745221A4 (ja) |
JP (1) | JP7078889B2 (ja) |
CN (1) | CN111095137B (ja) |
WO (1) | WO2019142587A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019128668A (ja) * | 2018-01-22 | 2019-08-01 | オムロン株式会社 | 制御装置、制御方法、および制御プログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221108A (ja) * | 1994-12-12 | 1996-08-30 | Omron Corp | Plcのリモートi/oシステム |
JP2003244243A (ja) * | 2002-02-13 | 2003-08-29 | Seiko Epson Corp | フィルタリング機能を有するネットワーク接続装置 |
JP2006099777A (ja) * | 2004-09-28 | 2006-04-13 | Rockwell Automation Technologies Inc | レガシー・オートメーション・システムのための集中管理プロキシ・ベースのセキュリティ |
JP2010212961A (ja) * | 2009-03-10 | 2010-09-24 | Canon Inc | 処理装置、その制御方法、及びプログラム |
JP2013143077A (ja) * | 2012-01-12 | 2013-07-22 | Hitachi Ltd | 制御装置の監視方法および制御装置監視システム |
WO2016018622A1 (en) * | 2014-07-28 | 2016-02-04 | Ge Intelligent Platforms, Inc. | Apparatus and method for security of industrial control networks |
JP2016034066A (ja) * | 2014-07-31 | 2016-03-10 | 株式会社日立システムズ | 遠隔監視制御システムおよびセキュリティゲートウェイならびに通信制御プログラム |
JP2017199154A (ja) | 2016-04-26 | 2017-11-02 | 株式会社ジェイテクト | 設備システム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029849A (ja) * | 1998-07-15 | 2000-01-28 | Hitachi Ltd | 分散制御システム、及び分散制御システムにおけるフィルタリング方法 |
JP2002268961A (ja) * | 2001-03-08 | 2002-09-20 | Toshiba Corp | 監視制御装置、監視制御方法及び監視制御プログラム |
US7158764B2 (en) | 2001-12-13 | 2007-01-02 | Electronic Data Systems Corporation | System and method for sending high fidelity sound between wireless units |
JP2004214948A (ja) * | 2002-12-27 | 2004-07-29 | Ntt Comware Corp | パケット通信方法、パケット通信装置、パケット通信プログラム、およびパケット通信プログラム記録媒体 |
JP2005005820A (ja) * | 2003-06-10 | 2005-01-06 | Hitachi Ltd | フィルタリング装置に対するフィルタ設定情報管理方法 |
JP4290526B2 (ja) * | 2003-10-29 | 2009-07-08 | 富士通株式会社 | ネットワークシステム |
JP4815956B2 (ja) * | 2005-09-06 | 2011-11-16 | オムロン株式会社 | 作業監視装置、フィルタリング方法、作業時間計測システム、制御プログラム、および記録媒体 |
JP4700473B2 (ja) * | 2005-11-04 | 2011-06-15 | 株式会社 デジタルデザイン | データ通信方法 |
JP2007201757A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | 情報処理装置および方法、並びにプログラム |
US8737398B2 (en) | 2008-12-31 | 2014-05-27 | Schneider Electric USA, Inc. | Communication module with network isolation and communication filter |
EP2400708B1 (de) * | 2010-06-22 | 2013-12-04 | Siemens Aktiengesellschaft | Netzwerk-Schutzeinrichtung |
DE102010025638B4 (de) * | 2010-06-30 | 2012-09-06 | Siemens Aktiengesellschaft | Verfahren zum Verarbeiten von Daten in einem paketvermittelten Kommunikationsnetz |
JP5614293B2 (ja) * | 2011-01-12 | 2014-10-29 | 富士通株式会社 | 通信制御装置、通信システム、情報処理装置および通信制御方法 |
US20120198541A1 (en) * | 2011-02-02 | 2012-08-02 | Reeves Randall E | Methods and apparatus for preventing network intrusion |
JP2015039080A (ja) * | 2011-07-27 | 2015-02-26 | 株式会社東芝 | 情報処理装置及び通信制御方法 |
JP6114204B2 (ja) * | 2014-01-16 | 2017-04-12 | 日本電信電話株式会社 | 通信システム、フィルタリング装置、フィルタリング方法およびプログラム |
US9729440B2 (en) * | 2015-02-22 | 2017-08-08 | Mellanox Technologies, Ltd. | Differentiating among multiple management control instances using IP addresses |
US10482063B2 (en) * | 2017-08-14 | 2019-11-19 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
JP7078889B2 (ja) * | 2018-01-22 | 2022-06-01 | オムロン株式会社 | 制御装置、制御方法、および制御プログラム |
-
2018
- 2018-01-22 JP JP2018008339A patent/JP7078889B2/ja active Active
- 2018-12-20 US US16/643,834 patent/US11226611B2/en active Active
- 2018-12-20 CN CN201880055502.0A patent/CN111095137B/zh active Active
- 2018-12-20 WO PCT/JP2018/046988 patent/WO2019142587A1/ja unknown
- 2018-12-20 EP EP18901114.1A patent/EP3745221A4/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221108A (ja) * | 1994-12-12 | 1996-08-30 | Omron Corp | Plcのリモートi/oシステム |
JP2003244243A (ja) * | 2002-02-13 | 2003-08-29 | Seiko Epson Corp | フィルタリング機能を有するネットワーク接続装置 |
JP2006099777A (ja) * | 2004-09-28 | 2006-04-13 | Rockwell Automation Technologies Inc | レガシー・オートメーション・システムのための集中管理プロキシ・ベースのセキュリティ |
JP2010212961A (ja) * | 2009-03-10 | 2010-09-24 | Canon Inc | 処理装置、その制御方法、及びプログラム |
JP2013143077A (ja) * | 2012-01-12 | 2013-07-22 | Hitachi Ltd | 制御装置の監視方法および制御装置監視システム |
WO2016018622A1 (en) * | 2014-07-28 | 2016-02-04 | Ge Intelligent Platforms, Inc. | Apparatus and method for security of industrial control networks |
JP2016034066A (ja) * | 2014-07-31 | 2016-03-10 | 株式会社日立システムズ | 遠隔監視制御システムおよびセキュリティゲートウェイならびに通信制御プログラム |
JP2017199154A (ja) | 2016-04-26 | 2017-11-02 | 株式会社ジェイテクト | 設備システム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019128668A (ja) * | 2018-01-22 | 2019-08-01 | オムロン株式会社 | 制御装置、制御方法、および制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP3745221A1 (en) | 2020-12-02 |
US20210064004A1 (en) | 2021-03-04 |
US11226611B2 (en) | 2022-01-18 |
EP3745221A4 (en) | 2021-09-29 |
JP2019128668A (ja) | 2019-08-01 |
JP7078889B2 (ja) | 2022-06-01 |
CN111095137A (zh) | 2020-05-01 |
CN111095137B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6922793B2 (ja) | 制御装置、制御方法、および制御プログラム | |
US9344296B2 (en) | Access protection accessory for an automation network | |
US11196812B2 (en) | Method for establishing a network communication in an automation system | |
WO2019142587A1 (ja) | 制御装置、制御方法、および制御プログラム | |
CN110309649B (zh) | 支持装置、非易失性的计算机可读记录介质以及设定方法 | |
JP2019179361A (ja) | セーフティ制御システムおよびセーフティ制御ユニット | |
JP6612151B2 (ja) | ネットワーク機器監視装置 | |
JP2008181572A (ja) | Plcシステム | |
WO2019176386A1 (ja) | 制御システム、制御方法、および制御プログラム | |
US20220327206A1 (en) | Control system | |
JP4147430B2 (ja) | プログラマブル・コントローラ・システム | |
KR20130038749A (ko) | 설비 제어 장치, 이를 구비한 설비 관제 시스템 및 설비 관제 방법 | |
JP4873220B2 (ja) | フィールド通信システム | |
US20190305977A1 (en) | Control apparatus | |
JP2011134061A (ja) | プログラマブルコントローラ | |
WO2019198456A1 (ja) | セーフティ制御システムおよびセーフティ制御システムにおける制御方法 | |
US11774127B2 (en) | Building system controller with multiple equipment failsafe modes | |
JP7163657B2 (ja) | サポート装置、設定方法、および設定プログラム | |
KR102350208B1 (ko) | 리던던트 난방, 환기, 및 공조 제어 시스템 | |
JP2014010479A (ja) | 二重化装置 | |
JP2016096492A (ja) | 制御システム、および中継装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18901114 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018901114 Country of ref document: EP Effective date: 20200824 |