WO2019176337A1 - FA(Factory Automation)システム、コントローラ、および制御方法 - Google Patents

FA(Factory Automation)システム、コントローラ、および制御方法 Download PDF

Info

Publication number
WO2019176337A1
WO2019176337A1 PCT/JP2019/002736 JP2019002736W WO2019176337A1 WO 2019176337 A1 WO2019176337 A1 WO 2019176337A1 JP 2019002736 W JP2019002736 W JP 2019002736W WO 2019176337 A1 WO2019176337 A1 WO 2019176337A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
packet data
packet
controllers
module
Prior art date
Application number
PCT/JP2019/002736
Other languages
English (en)
French (fr)
Inventor
文章 小西
陽一 黒川
久則 五十嵐
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN201980004105.5A priority Critical patent/CN111065976B/zh
Priority to EP19767391.6A priority patent/EP3767409A4/en
Priority to US16/643,549 priority patent/US11215974B2/en
Publication of WO2019176337A1 publication Critical patent/WO2019176337A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31094Data exchange between modules, cells, devices, processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33244Packet information exchange
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • This disclosure relates to a technique for stopping packet data buffering processing for an arbitrary controller.
  • controllers such as PLCs (Programmable Logic Controllers) and robot controllers have been introduced.
  • the controller controls various industrial drive devices to automate the production process.
  • the controller controls the drive device via a field network that performs periodic communication such as EtherCAT (registered trademark). Packet data is transmitted to the field network, and the controller and the driving device communicate with each other by reading and writing data from and to the packet data.
  • EtherCAT registered trademark
  • Packet data is stored in a buffer in the controller for error analysis. Since the buffer capacity is limited, when the buffer overflows, any packet data in the buffer is deleted. For the abnormality analysis, the packet data immediately before the occurrence of the abnormality is important. Regarding a technique for preventing such packet data loss, Japanese Patent Application Laid-Open No. 2011-35664 (Patent Document 1) aims to “perform an abnormality analysis easily and reliably in an EtherCAT FA system”. A controller is disclosed. The controller prevents deletion of important packet data by stopping the packet monitoring function when an abnormality occurs.
  • the present disclosure has been made in order to solve the above-described problems, and an object in one aspect is to provide a technique capable of preventing packet data loss for any controller connected to the same network. It is to be.
  • each of the disclosure includes a plurality of controllers that control the drive devices to be controlled.
  • Each of the plurality of controllers buffers the buffer, a communication module for performing packet communication with another controller, packet data generated by the own controller, and packet data received by the own controller in the buffer.
  • a packet monitor module for stopping the buffering function of the packet monitor module for a designated controller of the plurality of controllers based on a predetermined stop condition being satisfied Including modules.
  • each controller can stop not only the buffering function in its own controller but also the buffering function in other controllers. Therefore, it is possible not only to prevent loss of packet data buffered in the own controller, but also to prevent loss of packet data buffered in another controller.
  • the stop module stops the buffering function of the packet monitor module in the own controller based on receiving a stop command for stopping the buffering function from the other controller.
  • the stop module can not only send a buffering function stop command to another controller, but can also stop the buffering function in response to a stop command from another controller.
  • the packet data includes transmission source information for specifying a transmission source controller and transmission destination information for specifying a transmission destination controller.
  • the FA system further includes an external device configured to be able to communicate with the plurality of controllers.
  • the external device includes a communication module for receiving packet data stored in each buffer of the plurality of controllers from each of the plurality of controllers, and each of packet data received from each of the plurality of controllers.
  • a display unit for displaying transmission source information and transmission destination information.
  • the display unit displays packet data in which transmission source information matches and transmission destination information matches in association with each other.
  • the user can more easily discover which packet data is lost by which controller.
  • the display unit displays packet data in which transmission source information matches and transmission destination information matches that does not include a pair of packet data in a display mode different from other packet data.
  • the user can immediately find out which packet data has been lost.
  • each of the plurality of controllers is designated from among the plurality of controllers based on an interface unit for connecting an external storage device and a predetermined storage condition being satisfied.
  • each controller can store the buffered packet data in the external storage device, and can prevent loss of the buffered packet data.
  • a controller that controls a drive device to be controlled receives a buffer, a communication module for performing packet communication with another controller, packet data generated by the controller, and the other controller receiving A packet monitor module for buffering the packet data in the buffer, and a designated controller of the controller or the other controller based on a predetermined stop condition being satisfied, And a stop module for stopping the buffering function of the packet monitor module.
  • each controller can stop not only the buffering function in its own controller but also the buffering function in other controllers. Therefore, it is possible not only to prevent loss of packet data buffered in the own controller, but also to prevent loss of packet data buffered in another controller.
  • a control method of a controller that controls a drive device to be controlled includes a step of performing packet communication with another controller, packet data generated by the controller, and packet data received by the other controller.
  • the buffer of the controller and the buffering step for a designated controller of the controller or the other controller based on the fact that a predetermined stop condition is satisfied And stop buffering at.
  • each controller can stop not only the buffering function in its own controller but also the buffering function in other controllers. Therefore, it is possible not only to prevent loss of packet data buffered in the own controller, but also to prevent loss of packet data buffered in another controller.
  • CIP Common Industrial Protocol
  • FIG. 1 is a diagram showing an outline of the FA system 10.
  • the FA system 10 is a system for controlling objects to be controlled such as equipment and devices and automating the production process.
  • the FA system 10 includes a plurality of controllers.
  • two controllers 100A and 100B are shown as examples of a plurality of controllers.
  • the plurality of controllers are collectively referred to as the controller 100.
  • Controllers 100A and 100B can be connected to the same network N1.
  • the network N1 for example, EtherNet / IP (registered trademark) is adopted.
  • the controllers 100A and 100B include a buffer 150, a communication module 152, a packet monitor module 154, and a stop module 156, respectively.
  • the buffer 150 is a volatile storage area in the controller 100, for example.
  • the buffer 150 is a storage area such as a RAM (Random Access Memory) or a cache memory.
  • the communication module 152 is a functional module for realizing communication with other communication devices by packet communication.
  • the “other communication device” is a concept including an arbitrary communication device excluding its own controller.
  • other communication devices include information processing terminals such as other controllers, drive devices 300 (see FIG. 2) to be controlled by the own controller, and servers connected to the controllers.
  • the packet monitor module 154 is a functional module for capturing transmitted / received packet data. More specifically, the packet monitor module 154 sequentially stores packet data generated by its own controller for transmission to another communication device and packet data received by the own controller from the other communication device in the buffer 150. Ring. The size of the buffer 150 is limited, and the packet monitor module 154 manages the buffer 150 in, for example, a FIFO (First In First Out) format or a LIFO (Last In First Out) format.
  • Packet data is a concept including arbitrary communication data of a certain size transmitted through the controller 100.
  • the packet data may be communication data generated according to the EtherNet / IP communication protocol, communication data generated according to the EtherNET (registered trademark) communication protocol, communication data generated according to the EtherCAT communication protocol, or CompoNet.
  • the stop module 156 is a functional module for stopping the packet data buffering function by the packet monitor module 154. More specifically, the stop module 156 determines whether the packet monitor module 154 has the designated controller among the controllers connected to the network N1 based on the fact that the predetermined stop condition 108 is satisfied. Stop the buffering function. The stop condition 108 is satisfied based on the occurrence of an error in the own controller, for example. Details of the stop condition 108 will be described later.
  • the stop module 156 When the own controller is designated as the stop target, the stop module 156 outputs a stop command for stopping the buffering function to the packet monitor module 154 of the own controller.
  • the packet monitor module 154 stops the packet data buffering process based on the reception of the stop command.
  • the stop module 156 when another controller is designated as a stop target, the stop module 156 generates a stop command for the buffering function and transmits the stop command to the other controller via the communication module 152.
  • the other controller that has received the stop instruction stops the packet data buffering function.
  • FA system 10 can stop not only the buffering function in its own controller but also the buffering function in other controllers. As a result, it is possible not only to prevent loss of packet data buffered in the own controller, but also to prevent loss of packet data buffered in another controller.
  • FIG. 2 is a schematic diagram schematically showing the apparatus configuration of the FA system 10.
  • the FA system 10 includes one or more controllers 100, one or more development support apparatuses 200, and one or more drive devices 300.
  • controllers 100 In the example of FIG. 2, three controllers 100A to 100C and one development support apparatus 200 are shown.
  • the controller 100 has a plurality of physical communication ports. A different network can be connected to each communication port. In the example of FIG. 2, the controller 100 has two communication ports P1 and P2. A network N1 is connected to the communication port P1. A network N2 is connected to the communication port P2.
  • the controller 100 and the development support apparatus 200 are connected to the network N1 via the hub 90.
  • any information processing apparatus can be connected to the network N1.
  • a display such as an HMI (Human Machine Interface) or a server device can be connected to the network N1.
  • the development support apparatus 200 is, for example, a notebook PC (Personal Computer), a desktop PC, a tablet terminal, or a smartphone.
  • a development tool 30 can be installed in the development support apparatus 200.
  • the development tool 30 is an application for supporting development of a control program for the controller 100.
  • the development tool 30 is “Sysmac Studio” manufactured by OMRON Corporation.
  • the user can design a control program for the controller 100 on the development tool 30 and install the designed control program in the controller 100.
  • the created control program is sent to the controller 100 as an executable file compiled by the development support apparatus 200.
  • the controller 100 controls the drive device 300 to be controlled according to a control program created on the development support apparatus 200.
  • the driving device 300 is a set of devices for performing predetermined work on the workpiece directly or indirectly.
  • the driving device 300 includes a robot controller 300A, a servo driver 300B, an arm robot 301A controlled by the robot controller 300A, a servo motor 301B controlled by the servo driver 300B, and the like.
  • the driving device 300 may include a visual sensor for photographing a workpiece, other devices used in the production process, and the like.
  • FA system 10 has the following setting functions A to C.
  • (Function A) A function for the development support apparatus 200 to accept various settings related to the packet monitor module 154 (see FIG. 1).
  • FIG. 3 is a sequence diagram showing a flow of setting processing for the packet monitor module 154 (see FIG. 1).
  • step S10 it is assumed that the development support apparatus 200 receives an activation operation of the development tool 30. Based on this, the development support apparatus 200 displays a program creation screen.
  • FIG. 4 is a diagram illustrating a program creation screen 31 that is an example of a user interface provided by the development tool 30. The program creation screen 31 is displayed on the display unit 221 of the development support apparatus 200, for example.
  • FIG. 4 shows a user program 210 that is an example of a control program for the controller 100.
  • User program 210 may be written in any programming language.
  • the user program 210 may be defined by a ladder diagram (LD: Ladder Diagram), an instruction list (IL: Instruction List), a structured text (ST: Structured Text), and a sequential function chart (SFC). : Sequential Function Chart) or a combination of these.
  • the user program 210 may be defined in a general-purpose programming language such as JavaScript (registered trademark) or C language.
  • the user program 210 is described by a ladder diagram.
  • the designer can design a user program 210 that matches the drive device 300 to be controlled by combining arbitrary function blocks or defining input / output relationships of variables and function blocks. it can.
  • the function block is a function that is repeatedly used in the user program 210 as a component.
  • the user program 210 includes variables “A” to “C” and function blocks FB1 and FB2.
  • the function block FA1 executes a predetermined function defined in the function block FB1 based on the value of the variable “A” associated with the input unit.
  • the execution result is reflected in the variable “B” associated with the output unit of the function block FA1.
  • the function block FB2 executes a predetermined function defined in the function block FB2 based on the value of the variable “B” associated with the input unit.
  • the execution result is reflected in the variable “C” associated with the output unit of the function block FA2.
  • Development tool 30 provides various function blocks.
  • the above-described stop module 156 (see FIG. 1) for stopping the packet data buffering function is provided as a function block.
  • a start module for starting execution of the packet data buffering function is provided as a function block.
  • a storage module for storing packet data buffered in the buffer 150 in an external storage device (for example, a memory card) is provided as a function block.
  • step S12 the development tool 30 calls a setting screen for performing various settings relating to the packet monitor module 154 (see FIG. 1). Based on this, a setting screen is displayed on the display unit 221 of the development support apparatus 200.
  • FIG. 5 is a diagram showing a setting screen 33 which is an example of a user interface provided by the development tool 30.
  • the setting screen 33 is a user interface that receives various settings related to the packet monitor module 154.
  • the setting screen 33 includes setting fields 41, 42, 45, 47, a save button 50, and a cancel button 51.
  • a start condition for packet data buffering processing a stop condition for buffering packet data, a save condition for packet data, a transfer condition for packet data, and the like are set.
  • the setting column 41 receives a setting for designating the operation mode of the packet monitor module 154.
  • operation modes include “start”, “stop”, “save”, “transfer”, and the like.
  • a list of operation targets that can be specified is displayed based on the pressing of the button 41A. The user can specify the operation mode of the packet monitor module 154 by selecting one operation mode from the displayed list of operation modes.
  • the setting column 42 accepts settings for specifying execution conditions.
  • an error type of an event log that may occur in the controller 100, an error type indicated by packet data, or the like can be specified.
  • execution condition candidates that can be specified in the setting column 42 are defined in advance. For example, a list of execution condition candidates that can be specified is displayed based on the button 42A being pressed. The user can specify an execution condition by selecting one execution condition from the displayed list of execution condition candidates.
  • an execution condition in which “start” is specified in the setting column 41 is also referred to as a “start condition”.
  • An execution condition for which “stop” is specified in the setting column 41 is also referred to as a “stop condition”.
  • An execution condition for which “save” is specified in the setting column 41 is also referred to as a “save condition”.
  • An execution condition for which “transfer” is specified in the setting column 41 is also referred to as a “transfer condition”.
  • the setting field 45 accepts a setting for designating a command target controller.
  • the controller to be commanded may be selected from predetermined candidates or may be designated by inputting controller identification information (for example, controller name, IP address, etc.).
  • controller identification information for example, controller name, IP address, etc.
  • a list of controller candidates that can be designated as command targets is displayed based on the button 45A being pressed. The user can designate a controller to be instructed by selecting one controller from the displayed list of controller candidates.
  • the controller 100 operates the packet monitor module 154 of the controller specified in the setting column 45 in the operation mode specified in the setting column 41 based on the execution condition specified in the setting column 42 being satisfied.
  • the controller 100 starts the execution of the packet monitor module 154 for the command target controller associated with the start condition.
  • the controller 100 stops the packet monitor module 154 for the command target controller associated with the stop condition.
  • the stop condition corresponds to the above-described stop condition 108 (see FIG. 1).
  • the controller 100 causes the own controller to store the buffered packet data for the command target controller associated with the stop condition.
  • the controller 100 transfers the packet data buffered for the command target controller associated with the transfer condition to the designated transmission destination.
  • the setting column 47 receives a setting for designating ON / OFF of the notification function.
  • ON is specified in the setting column 47
  • the occurrence of an error is notified when the execution condition specified in the setting column 42 is satisfied.
  • the occurrence of an error may be notified by a sound such as a warning sound, or may be notified by displaying a message or the like.
  • OFF is specified in the setting field 47, the occurrence of an error is not notified even when the execution condition specified in the setting field 42 is satisfied.
  • the development support apparatus 200 saves the setting information 212 input on the setting screen 33.
  • the cancel button 51 on the setting screen 33 is pressed, the development support apparatus 200 closes the setting screen 33 without saving the setting information 212 input to the setting screen 33.
  • the development tool 30 accepts a compilation operation in step S14. Based on this, the development tool 30 compiles the user program 210 created on the program creation screen 31. Thereafter, it is assumed that the development tool 30 accepts a download operation of the compilation result. Based on this, the development tool 30 transfers the setting information 212 stored in step S12 to the controller 100 together with the compiled user program 210. The controller 100 stores the received user program 210 and setting information 212 in an internal storage device.
  • FIG. 6 is a sequence diagram showing a data flow between the controllers 100A to 100C when the stop condition 108 is satisfied.
  • FIG. 7 is a conceptual diagram schematically showing an operation mode of the controllers 100A to 100C when the stop condition 108 is satisfied.
  • step number shown in FIG. 6 and the step number shown in FIG. 7 correspond to each other.
  • step S30A the controller 100A is activated in step S30A. Based on this, the controller 100A starts executing the packet monitoring function by the packet monitor module 154.
  • step S30B the controller 100B is activated in step S30B. Based on this, the controller 100B starts executing the packet monitoring function by the packet monitor module 154.
  • step S30C the controller 100C is activated in step S30C. Based on this, the controller 100C starts executing the packet monitoring function by the packet monitor module 154.
  • step S31A it is assumed that the controller 100A receives an execution instruction for the user program 210 stored in the controller itself. Based on this, the controller 100A starts executing the user program 210.
  • step S31B it is assumed that the controller 100B receives an execution instruction of the user program 210 stored in the controller itself. Based on this, the controller 100B starts executing the user program 210.
  • step S31C it is assumed that the controller 100C receives an execution instruction for the user program 210 stored in the controller. Based on this, the controller 100C starts executing the user program 210.
  • step S32 the controller 100A determines whether any of the execution conditions defined in the setting information 212 is satisfied. For example, it is assumed that a stop condition that is an example of an execution condition is satisfied. In this case (YES in step S32), controller 100A switches control to step S34. When controller 100A determines that none of the execution conditions specified in setting information 212 is satisfied (NO in step S32), controller 100A executes step S32 again.
  • controllers 100A to 100C are designated as the command target controllers.
  • the controller 100A stops the packet data buffering process in its own controller and the packet data buffering process in the other controllers 100B and 100C.
  • step S34 the stop module 156 of the controller 100A stops the buffering function for the packet monitor module 154 in its own controller. Thereby, accumulation of packet data in the buffer 150 of the controller 100A is stopped.
  • step S36 the stop module 156 of the controller 100A generates a buffering function stop command and transmits the stop command to the other controllers 100B and 100C.
  • the stop module 156 of the controller 100B stops the buffering function of the packet monitor module 154 of the controller 100B based on the reception of the stop command from the controller 100A. Thereby, the accumulation of packet data in the buffer 150 of the controller 100B is stopped.
  • the stop module 156 of the controller 100C stops the buffering function of the packet monitor module 154 of the controller 100C based on the reception of the stop command from the controller 100A. Thereby, the accumulation of packet data in the buffer 150 of the controller 100C is stopped.
  • the controller 100 has a function of stopping the buffering function between the own controller and another controller based on the fact that a predetermined stop condition is satisfied.
  • the buffering functions of the own controller and the other controller are stopped simultaneously or substantially simultaneously. Thereby, each controller can leave the packet data buffered during the synchronization period in the buffer 150.
  • FIG. 8 is a sequence diagram showing a flow of processing for collecting buffered packet data from each controller.
  • step S50 it is assumed that the development support apparatus 200 receives an event log screen display operation. Based on this, the development support apparatus 200 displays an event log screen.
  • FIG. 9 is a diagram illustrating an event log screen 35 that is an example of a user interface provided by the development tool 30. The event log screen 35 is displayed on the display unit 221 of the development support apparatus 200, for example.
  • the development support apparatus 200 displays the event log collected from each controller 100 on the event log screen 35.
  • the event log screen 35 has display columns 60-65.
  • the display column 60 displays the importance of the error that has occurred.
  • the display column 61 displays a communication protocol in which an error has occurred.
  • the display column 62 the communication port that is the source of the error is displayed.
  • an event name is displayed in the display column 63.
  • event codes are displayed in the display field 65.
  • development support apparatus 200 accepts whether or not to start packet collection based on the pressing of any of the detail buttons displayed in display field 65.
  • FIG. 10 is a diagram illustrating an example of a confirmation screen.
  • FIG. 10 shows a confirmation screen 70 as an example of the confirmation screen.
  • the confirmation screen 70 includes a button 71 indicating “Yes” and a button 72 indicating “No”.
  • the button 71 indicating “Yes” is pressed, the development support apparatus 200 starts collecting packet data in each controller 100.
  • the button 72 indicating “No” is pressed, the development support apparatus 200 closes the confirmation screen 70 without doing anything.
  • step S60 the development support apparatus 200 transmits packet data to each of the designated controllers 100A to 100C based on the pressing of the button 71 indicating “Yes” on the confirmation screen 70. Send an acquisition request.
  • step S62 each of the controllers 100A to 100C acquires the packet data stored in the buffer 150 (see FIG. 1) of its own controller, and transmits the packet data to the development support apparatus 200.
  • step S70 the development support apparatus 200 displays the collection result of the packet data collected from each of the controllers 100A to 100C.
  • FIG. 11 is a diagram showing a packet data collection result screen 37 ⁇ / b> A that is an example of a user interface provided by the development tool 30.
  • Packet data conforming to EtherCAT, EtherCAT, EtherNet / IP, etc. includes an EtherNET header.
  • the EtherNET header includes transmission source information (for example, an IP address) for specifying the transmission source controller and transmission destination information (for example, an IP address) for specifying the transmission destination controller.
  • transmission source information for example, an IP address
  • transmission destination information for example, an IP address
  • the packet data includes information such as a destination port number.
  • the collection result screen 37A displays the IP address of the transmission source and the IP address of the transmission destination for each collected packet data based on information defined in the packet data. Since the record of the packet data remains in both the transmission source controller and the transmission destination controller, it is assumed that the packet data has been lost for some reason for the controller in which no paired record remains. By displaying the source IP address and the destination IP address for each packet data, the user can easily grasp which packet data has been lost by which controller and analyze the communication error. It becomes easy.
  • the collection result screen 37A displays packet data with matching transmission source information and matching transmission destination information.
  • these packet data are displayed in a line.
  • the record of the packet data transmitted from the controller 100A having the IP address “A” to the controller 100B having the IP address “B” remains in both the controller 100A and the controller 100B.
  • the development support apparatus 200 displays the corresponding packet data collected from each of the controller 100A and the controller 100B side by side. As a result, the user can more easily find out which packet data is lost by which controller, and the analysis of the communication error is further facilitated.
  • the collection result screen 37A displays the packet data in which the transmission source information matches and the packet data in which the transmission destination information matches does not exist in a display mode different from other packet data. That is, packet data for which there is no pair of packet data is highlighted.
  • the highlighted display is realized by, for example, hatching display, display in a specific color (for example, red), blink display, and the like.
  • highlighting is realized by hatching (broken lines 82 and 83).
  • FIG. 12 is a diagram showing a collection result screen 37B, which is a modification of the collection result screen 37A.
  • the collection result screen 37 ⁇ / b> B includes a search condition input area 85 and a search result display area 86.
  • the search condition input area 85 accepts various conditions for searching packet data.
  • the input area 85 receives controller identification information as a search condition.
  • the search conditions that can be specified in the input area 85 are not limited to the identification information of the controller.
  • a communication protocol, a port number, or the like may be input as a search condition.
  • the development support apparatus 200 searches the collected packet data for packet data that matches the specified search condition, and matches the specified search condition.
  • a list of packet data to be displayed is displayed in the search result display area 86.
  • search results for example, the IP address of the transmission source controller, the IP address of the transmission destination controller, the communication protocol used during communication, the port number of the transmission destination, and remarks are displayed.
  • FIG. 13 is a sequence diagram showing a control flow when the packet data storage function is executed.
  • step S80 the controller 100A determines whether or not the storage condition defined in the setting information 212 (see FIG. 5) is satisfied.
  • controller 100A determines that the storage condition defined in setting information 212 is satisfied (YES in step S80)
  • controller 100A switches control to step S82. If not (NO in step S80), the process of step S80 is executed again.
  • the storage condition defined in the setting information 212 is associated with the command target controller.
  • the controllers 100A to 100C are associated as the command target controllers.
  • the controller 100A executes a process for storing the packet data buffered in its own controller and a process for storing the packet data buffered in the other controllers 100B and 100C.
  • step S82 the controller 100A stores the packet data buffered in the buffer 150 of its own controller in an external storage device (for example, a memory card 140 described later). Thereby, the packet data in the controller 100A is stored as log data.
  • an external storage device for example, a memory card 140 described later.
  • step S84 the controller 100A generates a packet data storage command, and transmits the packet command to the other controllers 100B and 100C.
  • the controller 100B stores the packet data buffered in the buffer 150 of the controller 100B in an external storage device (for example, a memory card 140 described later) based on the reception of the save command from the controller 100A. Thereby, the packet data in the controller 100B is left in the external storage device.
  • the controller 100C stores the packet data buffered in the buffer 150 of the controller 100C in an external storage device (for example, a memory card 140 described later) based on the reception of the save command from the controller 100A. Thereby, the packet data in the controller 100C is stored in the external storage device.
  • FIG. 14 is a sequence diagram showing a control flow when the buffering process start function by the packet monitor module 154 is executed.
  • step S90 the controller 100A determines whether or not the start condition defined in the setting information 212 (see FIG. 5) is satisfied.
  • controller 100A determines that the start condition defined in setting information 212 is satisfied (YES in step S90)
  • controller 100A switches control to step S92. If not (NO in step S90), the process of step S90 is executed again.
  • the start condition defined in the setting information 212 is associated with the controller to be commanded.
  • the controllers 100A to 100C are associated as the command target controllers.
  • the controller 100A starts the packet data buffering process in its own controller and the packet data buffering process in the other controllers 100B and 100C.
  • step S92 the controller 100A causes the packet monitor module 154 in its own controller to start a buffering function. Thereby, the buffering process of the packet data to the buffer 150 of the own controller is started.
  • step S94 the controller 100A generates a buffering function start command, and transmits the start command to the other controllers 100B and 100C.
  • the controller 100B causes the packet monitor module 154 of the controller 100B to start the buffering function.
  • the controller 100C causes the packet monitor module 154 of the controller 100C to start the buffering function based on the reception of the start command from the controller 100A. Thereby, accumulation of the packet data in the buffer 150 of the controller 100C is started.
  • the controller 100 has a function of starting a buffering function between the own controller and another controller based on the fact that a predetermined start condition is satisfied.
  • the buffering functions of the own controller and the other controller are started simultaneously or substantially simultaneously.
  • FIG. 15 is a schematic diagram illustrating an example of a hardware configuration of the controller 100.
  • the controller 100 includes a communication interface 101, a control device 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a nonvolatile storage device 110, and an internal bus.
  • a controller 122, a fieldbus controller 124, and a memory card interface 139 are included.
  • the control device 102 reads out the control program 111 stored in the storage device 110, develops it in the main memory 106, and executes it, thereby realizing arbitrary control for the drive device 300 to be controlled.
  • the control program 111 includes various programs for controlling the controller 100.
  • the control program 111 includes a system program 109, a user program 210, and the like.
  • the system program 109 includes instruction codes for providing basic functions of the controller 100 such as data input / output processing and execution timing control.
  • the user program 210 is downloaded from the development support apparatus 200.
  • the user program 210 is arbitrarily designed according to the control target, and includes a sequence program 210A for executing sequence control and a motion program 210B for executing motion control.
  • the chip set 104 realizes processing as the entire controller 100 by controlling each component.
  • the storage device 110 stores various data in addition to the control program 111.
  • the storage device 110 stores the setting information 212 (see FIG. 5) described above.
  • the internal bus controller 122 is an interface for exchanging data with various devices connected to the controller 100 through an internal bus. As an example of such a device, an I / O unit 126 is connected.
  • the fieldbus controller 124 is an interface for exchanging data with various drive devices 300 connected to the controller 100 through the fieldbus.
  • a robot controller 300A and a servo driver 300B are connected.
  • a driving device such as a visual sensor may be connected.
  • the internal bus controller 122 and the field bus controller 124 can give arbitrary commands to connected devices and can acquire arbitrary data managed by the devices.
  • the internal bus controller 122 and / or the field bus controller 124 also functions as an interface for exchanging data with the robot controller 300A and the servo driver 300B.
  • the communication interface 101 controls data exchange through various wired / wireless networks.
  • the controller 100 communicates with an external device such as the development support apparatus 200 via the communication interface 101.
  • the controller 100 performs packet communication with other communication devices via the communication interface 101.
  • the memory card interface 139 is an interface unit for connecting a memory card 140 (for example, an SD card) which is an example of an external storage medium.
  • the memory card interface 139 is configured so that the memory card 140 can be attached and detached, and data can be written to and read from the memory card 140.
  • FIG. 16 is a schematic diagram illustrating a hardware configuration of the development support apparatus 200.
  • the development support apparatus 200 includes, for example, a computer configured according to a general-purpose computer architecture.
  • the development support apparatus 200 includes a control device 202 such as a CPU and an MPU, a main memory 204, a nonvolatile storage device 208, a communication interface 211, an I / O (Input / Output) interface 214, and a display interface 220. including. These components are communicably connected to each other via an internal bus 225.
  • the control device 202 implements various processes in the development tool 30 by expanding and executing the development support program 208A stored in the storage device 208 in the main memory 204.
  • the development support program 208A is a program for providing a development environment for the user program 210.
  • the storage device 208 stores various data generated by the development tool 30 in addition to the development support program 208A.
  • the data includes, for example, the above-described user program 210 created on the development tool 30, the above-described setting information 212, and the like.
  • the communication interface 211 exchanges data with other communication devices via a network.
  • the other communication devices include, for example, external devices such as the controller 100 and a server.
  • the development support apparatus 200 may be configured so that various programs such as the development support program 208A can be downloaded from the other communication device via the communication interface 211.
  • the I / O interface 214 is connected to the operation unit 215 and takes in a signal indicating a user operation from the operation unit 215.
  • the operation unit 215 typically includes a keyboard, a mouse, a touch panel, a touch pad, and the like, and accepts an operation from the user.
  • the display interface 220 is connected to the display unit 221 and transmits an image signal for displaying an image to the display unit 221 in accordance with a command from the control device 202 or the like.
  • the display unit 221 includes an LCD (Liquid Crystal Display), an organic EL (Electro Luminescence) display, and the like, and presents various information to the user.
  • Various screens provided by the development tool 30 can be displayed on the display unit 221.
  • the development support apparatus 200 and the display unit 221 are shown as separate bodies, but the development support apparatus 200 and the display unit 221 may be integrally configured.
  • FIG. 17 is a diagram illustrating an example of functional configurations of the controller 100 and the development support apparatus 200.
  • each of the controllers 100A and 100B includes a communication command execution module 151, a communication module 152, a communication driver 153, and a packet monitor module 154 as functional configurations. These functional modules are mounted in the system program 109 (see FIG. 15), for example.
  • the communication module 152 includes a client function 152A and a server function 152B.
  • a user program 210 is installed on the development support apparatus 200 in the controllers 100A and 100B.
  • the user program 210 has, as one function thereof, a stop module 156 for stopping packet data buffering processing by the packet monitor module 154 and a start for starting packet data buffering processing by the packet monitor module 154.
  • a module 157 and a storage module 158 for storing the buffered packet data in an external storage device are included.
  • the functional modules of the controller 100 are executed by the control device 102 (see FIG. 15).
  • the communication command execution module 151 is a functional module for controlling the communication module 152.
  • the communication command execution module 151 generates a CIP parameter for generating a CIP message based on the reception of a buffering stop command from the stop module 156, and outputs the CIP parameter to the client function 152A. Details of the CIP parameters will be described later.
  • the communication driver 153 is software for the communication interface 101 (see FIG. 15).
  • the communication driver 153 is provided by the manufacturer according to the type of the communication interface 101, and may be installed in advance or may be installed as necessary.
  • the controller 100 realizes communication with other controllers and the development support apparatus 200 via the communication driver 153.
  • the server function 152B stops the packet monitor module 154 of its own controller based on, for example, receiving a stop command.
  • the stop command may be issued spontaneously from the own controller, or may be issued from another controller or the development support apparatus 200.
  • a case where a stop command is issued from the development support apparatus 200 will be described.
  • the user confirms on the development support apparatus 200 that an error has occurred in one of the controllers 100, and selects the controller 100 that stops the buffering function on the development support apparatus 200. Based on this, the development support apparatus 200 transmits a buffering function stop command to the designated controller 100 to the controller 100A.
  • the development support apparatus 200 includes a communication module 252 and a communication driver 253 as functional modules.
  • the communication module 252 includes a client function 252A.
  • the function modules of the development support apparatus 200 are executed by the control apparatus 202 (see FIG. 16).
  • the communication driver 253 is software for the communication interface 211 (see FIG. 16).
  • the communication driver 253 is provided by a manufacturer according to the type of the communication interface 211, and may be installed in advance or may be installed as necessary.
  • the development support apparatus 200 realizes communication with the controller 100 via the communication driver 253.
  • the communication module 152 generates a CIP message that defines a control command for the packet monitor module 154 based on the CIP parameters.
  • CIP parameters will be described with reference to FIGS.
  • FIG. 18 is a diagram showing CIP parameters for performing settings related to the packet monitor module 154.
  • the CIP parameter includes a service code regarding valid / invalid setting of the packet monitor module 154.
  • a service code regarding valid / invalid setting of the packet monitor module 154.
  • the current setting value indicating the validity / invalidity of the packet monitor module 154 is acquired.
  • the validity / invalidity of the packet monitor module 154 is set according to the input.
  • the CIP parameters include service codes related to various settings of the packet monitor module 154. For example, for example, when “0x50” is input as the service code, various current settings of the packet monitor module 154 are acquired. When “0x51” is input as the service code, various settings of the packet monitor module 154 are set according to the input.
  • FIG. 19 is a diagram showing CIP parameters for designating an execution instruction of the packet monitor module 154.
  • the CIP parameter includes a service code for starting the packet monitoring process of the packet monitor module 154 (that is, packet data buffering process). For example, when “0x4B” is input as the service code, packet monitoring processing by the packet monitor module 154 is started.
  • the CIP parameter includes a service code for stopping the packet monitoring process of the packet monitor module 154. For example, when “0x4C” is input as the service code, the packet monitoring process by the packet monitor module 154 is stopped.
  • the CIP parameters include CIP parameters for storing packet data buffered by the packet monitor module 154 in an external storage device. For example, when “0x4D” is input as the service code, the buffered packet data is stored in the external storage device.
  • FIG. 20 is a diagram showing CIP parameters for acquiring the current state of the packet monitor module 154.
  • the CIP parameter includes a service code for acquiring the current state of the packet monitor module 154. For example, when “0x52” is input as the service code, the current state of the packet monitor module 154 is obtained.
  • the state of the packet monitor module 154 includes, for example, a state where packet monitoring is set to invalid, a state indicating that packet monitoring is stopped, a state indicating that packet monitoring is being executed, and the like.
  • the controller 100 stops the buffering function of the packet monitor module 154 for the designated controller based on the fact that a predetermined stop condition is satisfied. That is, the controller 100 can stop not only the buffering function in its own controller but also the buffering functions in other controllers. As a result, it is possible not only to prevent loss of packet data buffered in the own controller, but also to prevent loss of packet data buffered in another controller.
  • the present embodiment includes the following disclosure.
  • Each includes a plurality of controllers (100A to 100C) for controlling the drive device to be controlled, Each of the plurality of controllers (100A to 100C) A buffer (150); A communication module (152) for performing packet communication with another controller; A packet monitor module (154) for buffering packet data generated by the controller and packet data received by the controller in the buffer (150); The buffering function of the packet monitor module (154) is stopped for the designated controller among the plurality of controllers (100A to 100C) based on the fact that the predetermined stop condition (108) is satisfied.
  • FA Vectory Automation
  • the stop module (156) stops the buffering function of the packet monitor module (154) in the own controller based on reception of a stop command for stopping the buffering function from the other controller.
  • the packet data includes transmission source information for specifying a transmission source controller, and transmission destination information for specifying a transmission destination controller.
  • the FA system further includes an external device (200) configured to be able to communicate with the plurality of controllers (100A to 100C),
  • the external device (200) A communication module (252) for receiving packet data stored in each buffer (150) of each of the plurality of controllers (100A to 100C) from each of the plurality of controllers (100A to 100C);
  • the FA system according to Configuration 1 or 2 further comprising: a display unit (221) for displaying transmission source information and transmission destination information for each of packet data received from each of the plurality of controllers (100A to 100C).
  • Each of the plurality of controllers (100A to 100C) includes an interface unit (139) for connecting an external storage device, Based on the fact that a predetermined storage condition is satisfied, packet data stored in the buffer (150) of the designated controller among the plurality of controllers (100A to 100C) is respectively transferred to the controller.
  • the FA system according to any one of configurations 1 to 5, further comprising a storage module (159) for storing in the external storage device (140) connected to the external storage device.
  • a controller for controlling a drive device to be controlled A buffer (150); A communication module (152) for performing packet communication with another controller; A packet monitor module (154) for buffering packet data generated by the controller and packet data received by the other controller in the buffer (150); To stop the buffering function of the packet monitor module (154) for the designated controller of the controller or the other controller based on the fact that a predetermined stop condition (108) is satisfied And a stop module (156).
  • a control method of a controller for controlling a drive device to be controlled Performing packet communication with other controllers; Buffering packet data generated by the controller and packet data received by the other controller in a buffer (150) of the controller; Stopping buffering in the buffering step for a designated controller of the controller or the other controller based on a predetermined stop condition (108) being satisfied. Including a control method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

同一のネットワークに接続される任意のコントローラ(100A~100C)についてパケットデータの損失を防ぐことができる技術を提供する。FAシステムは、複数のコントローラ(100A~100C)を備える。各コントローラ(100A~100C)は、バッファ(150)と、他のコントローラとパケット通信を行う通信モジュール(152)と、自コントローラで生成されたパケットデータと、自コントローラが受信したパケットデータとをバッファ(150)にバッファリングするパケットモニタモジュール(154)と、予め定められた停止条件(108)が満たされたことに基づいて、複数のコントローラ(100A~100C)の内の指定されているコントローラについて、パケットモニタモジュール(154)のバッファリング機能を停止する停止モジュール(156)とを含む。

Description

FA(Factory Automation)システム、コントローラ、および制御方法
 本開示は、任意のコントローラについてパケットデータのバッファリング処理を停止するための技術に関する。
 様々な生産現場において、PLC(Programmable Logic Controller)やロボットコントローラなどの産業用の制御装置(以下、「コントローラ」ともいう。)が導入されている。コントローラが種々の産業用の駆動機器を制御することで、生産工程が自動化される。
 コントローラは、EtherCAT(登録商標)などの定周期通信を行うフィールドネットワークを介して駆動機器を制御する。このフィールドネットワークには、パケットデータが伝送され、コントローラおよび駆動機器は、このパケットデータに対してデータを読み書きすることで互いに通信する。
 パケットデータは、異常解析などのために、コントローラ内のバッファに保存される。バッファの容量には限りがあるため、バッファが溢れた場合には、バッファ内のいずれかのパケットデータが削除される。異常解析のためには、異常発生直前のパケットデータが重要となる。このようなパケットデータの損失を防ぐための技術に関し、特開2011-35664号公報(特許文献1)は、「EtherCATのFAシステムにおいて、異常解析を簡単・確実に行えるようにすること」を目的とするコントローラを開示している。当該コントローラは、異常が発生した場合にパケットモニタリング機能を停止することで、重要なパケットデータの削除を防止する。
特開2011-35664号公報
 同一のネットワークに複数のコントローラが接続されることがある。より詳細な解析を行うためには、自コントローラにバッファリングされているパケットデータだけでなく、他のコントローラにバッファリングされているパケットデータも必要となることがある。そのため、同一のネットワークに接続される任意のコントローラについてパケットデータの損失を防ぐことが望まれている。
 本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、同一のネットワークに接続される任意のコントローラについてパケットデータの損失を防ぐことができる技術を提供することである。
 本開示の一例では、それぞれが制御対象の駆動機器を制御する複数のコントローラを備える。上記複数のコントローラは、それぞれ、バッファと、他のコントローラとパケット通信を行うための通信モジュールと、自コントローラで生成されたパケットデータと、自コントローラが受信したパケットデータとを上記バッファにバッファリングするためのパケットモニタモジュールと、予め定められた停止条件が満たされたことに基づいて、上記複数のコントローラの内の指定されているコントローラについて、上記パケットモニタモジュールのバッファリング機能を停止するための停止モジュールとを含む。
 この開示によれば、各コントローラは、自コントローラにおけるバッファリング機能だけでなく、他のコントローラにおけるバッファリング機能も停止することができる。そのため、自コントローラにバッファリングされたパケットデータの損失を防ぐことができるだけでなく、他のコントローラにバッファリングされたパケットデータの損失を防ぐことができる。
 本開示の一例では、上記停止モジュールは、バッファリング機能を停止する停止命令を上記他のコントローラから受信したことに基づいて、上記自コントローラにおける上記パケットモニタモジュールのバッファリング機能を停止する。
 この開示によれば、上記停止モジュールは、バッファリング機能の停止命令を他のコントローラに送るだけでなく、他のコントローラからの停止命令を受けて、バッファリング機能を停止させることができる。
 本開示の一例では、上記パケットデータは、送信元のコントローラを特定するための送信元情報と、送信先のコントローラを特定するための送信先情報とを有する。上記FAシステムは、上記複数のコントローラと通信可能に構成されている外部機器をさらに備える。上記外部機器は、上記複数のコントローラのそれぞれのバッファに格納されているパケットデータを上記複数のコントローラのそれぞれから受信するための通信モジュールと、上記複数のコントローラのそれぞれから受信したパケットデータの各々について送信元情報と送信先情報とを表示するための表示部とを含む。
 この開示によれば、パケットデータの記録は、送信元のコントローラおよび送信先のコントローラの両方に残るので、仮に、対の記録が残っていないコントローラについては、何らかの原因でパケットデータが損失したこととなる。送信元情報と送信先情報とが各パケットデータについて表示されることで、ユーザは、どのパケットデータがどのコントローラで損失したのかを容易に把握することができる。
 本開示の一例では、上記表示部は、送信元情報が一致し、かつ送信先情報が一致するパケットデータ同士を対応させて表示する。
 この開示によれば、ユーザは、どのパケットデータがどのコントローラで損失したのかをより簡単に発見することができ。
 本開示の一例では、上記表示部は、送信元情報が一致し、かつ送信先情報が一致する対のパケットデータが存在しないパケットデータを他のパケットデータとは異なる表示態様で表示する。
 この開示によれば、ユーザは、どのパケットデータが損失したのかを即座に発見することができる。
 本開示の一例では、上記複数のコントローラは、それぞれ、外部記憶装置を接続するためのインターフェイス部と、予め定められた保存条件が満たされたことに基づいて、上記複数のコントローラの内の指定されているコントローラのバッファに格納されているパケットデータを、それぞれ、当該コントローラに接続されている上記外部記憶装置に格納するための保存モジュールとを含む。
 この開示によれば、各コントローラは、バッファリングされたパケットデータを外部記憶装置に保存することができ、バッファリングされたパケットデータの損失を防ぐことができる。
 本開示の一例では、制御対象の駆動機器を制御するコントローラは、バッファと、他のコントローラとパケット通信を行うための通信モジュールと、上記コントローラで生成されたパケットデータと、上記他のコントローラが受信したパケットデータとを上記バッファにバッファリングするためのパケットモニタモジュールと、予め定められた停止条件が満たされたことに基づいて、上記コントローラまたは上記他のコントローラの内の指定されているコントローラについて、上記パケットモニタモジュールのバッファリング機能を停止するための停止モジュールとを含む。
 この開示によれば、各コントローラは、自コントローラにおけるバッファリング機能だけでなく、他のコントローラにおけるバッファリング機能も停止することができる。そのため、自コントローラにバッファリングされたパケットデータの損失を防ぐことができるだけでなく、他のコントローラにバッファリングされたパケットデータの損失を防ぐことができる。
 本開示の一例では、制御対象の駆動機器を制御するコントローラの制御方法は、他のコントローラとパケット通信を行うステップと、上記コントローラで生成されたパケットデータと、上記他のコントローラが受信したパケットデータとを上記コントローラのバッファにバッファリングするステップと、予め定められた停止条件が満たされたことに基づいて、上記コントローラまたは上記他のコントローラの内の指定されているコントローラについて、上記バッファリングするステップでのバッファリングを停止するステップとを含む。
 この開示によれば、各コントローラは、自コントローラにおけるバッファリング機能だけでなく、他のコントローラにおけるバッファリング機能も停止することができる。そのため、自コントローラにバッファリングされたパケットデータの損失を防ぐことができるだけでなく、他のコントローラにバッファリングされたパケットデータの損失を防ぐことができる。
実施の形態に従うFAシステムの概略を示す図である。 実施の形態に従うFAシステムの装置構成を概略的に示す模式図である。 パケットモニタモジュールに対する設定処理の流れを示すシーケンス図である。 開発ツールが提供するユーザインターフェイスの一例であるプログラム作成画面を示す図である。 開発ツールが提供するユーザインターフェイスの一例である設定画面を示す図である。 停止条件が満たされた場合におけるコントローラ間のデータの流れを示すシーケンス図である。 停止条件が満たされた場合におけるコントローラの動作態様を概略的に示す概念図である。 バッファリングされたパケットデータを各コントローラから収集する処理の流れを示すシーケンス図である。 開発ツールが提供するユーザインターフェイスの一例であるイベントログ画面を示す図である。 開発ツールが提供するユーザインターフェイスの一例である確認画面を示す図である。 開発ツールが提供するユーザインターフェイスの一例であるパケットデータの収集結果画面を示す図である。 変形例に従う収集結果画面を示す図である。 パケットデータの保存機能が実行された場合における制御フローを示すシーケンス図である。 パケットモニタモジュールによるバッファリング処理の開始機能が実行された場合における制御フローを示すシーケンス図である。 実施の形態に従うコントローラのハードウェア構成の一例を示す模式図である。 実施の形態に従う開発支援装置のハードウェア構成を示す模式図である。 実施の形態に従うコントローラおよび開発支援装置の機能構成の一例を示す図である。 パケットモニタモジュールに対する設定を行うためのCIP(Common Industrial Protocol)パラメータを示す図である。 パケットモニタモジュールの実行命令を指定するためのCIPパラメータを示す図である。 パケットモニタモジュールの現状態を取得するためのCIPパラメータを示す図である。
 以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
 <A.適用例>
 図1を参照して、本発明の適用例について説明する。図1は、FAシステム10の概略を示す図である。
 FAシステム10は、設備および装置などの制御対象を制御し、生産工程を自動化するためのシステムである。FAシステム10は、複数のコントローラを含む。図1には、複数のコントローラの例として、2つのコントローラ100A,100Bが示されている。以下では、複数のコントローラを総称してコントローラ100ともいう。
 コントローラ100A、100Bは、同一のネットワークN1に接続され得る。ネットワークN1には、たとえば、EtherNet/IP(登録商標)などが採用される。
 コントローラ100A、100Bは、それぞれ、バッファ150と、通信モジュール152、パケットモニタモジュール154と、停止モジュール156とを含む。
 バッファ150は、たとえば、コントローラ100内における揮発性の記憶領域である。一例として、バッファ150は、RAM(Random Access Memory)やキャッシュメモリなどの記憶領域である。
 通信モジュール152は、パケット通信により他の通信装置との通信を実現するための機能モジュールである。「他の通信装置」とは、自コントローラを除く、任意の通信装置を含む概念である。たとえば、他の通信装置は、他のコントローラや、自コントローラによる制御対象の駆動機器300(図2参照)や、コントローラに接続されるサーバなどの情報処理端末を含む。
 パケットモニタモジュール154は、送受信されるパケットデータをキャプチャリングするための機能モジュールである。より具体的には、パケットモニタモジュール154は、他の通信装置に送信するために自コントローラで生成されたパケットデータと、自コントローラが他の通信装置から受信したパケットデータとをバッファ150に順次バッファリングする。バッファ150のサイズは、制限されており、パケットモニタモジュール154は、たとえば、FIFO(First In First Out)形式またはLIFO(Last In First Out)形式でバッファ150を管理する。
 「パケットデータ」とは、コントローラ100を伝送される一定サイズの任意の通信データを含む概念である。一例として、パケットデータは、EtherNet/IPの通信プロトコルに従って生成された通信データや、EtherNET(登録商標)の通信プロトコルに従って生成された通信データや、EtherCATの通信プロトコルに従って生成された通信データや、CompoNet(登録商標)の通信プロトコルに従って生成された通信データや、OPC-UA(Object Linking and Embedding for Process Control Unified Architecture)の通信プロトコルに従って生成された通信データなどを含む。
 停止モジュール156は、パケットモニタモジュール154によるパケットデータのバッファリング機能を停止するための機能モジュールである。より具体的には、停止モジュール156は、予め定められた停止条件108が満たされたことに基づいて、ネットワークN1に接続されているコントローラの内の指定されているコントローラについて、パケットモニタモジュール154のバッファリング機能を停止する。停止条件108は、たとえば、自コントローラにエラーが発生したことに基づいて満たされる。停止条件108の詳細については後述する。
 自コントローラが停止対象として指定されている場合には、停止モジュール156は、バッファリング機能を停止するための停止命令を自コントローラのパケットモニタモジュール154に出力する。パケットモニタモジュール154は、当該停止命令を受け付けたことに基づいて、パケットデータのバッファリング処理を停止する。
 一方で、他のコントローラが停止対象として指定されている場合には、停止モジュール156は、バッファリング機能の停止命令を生成し、通信モジュール152を介して当該停止命令を他のコントローラに送信する。当該停止命令を受信した他のコントローラは、パケットデータのバッファリング機能を停止する。
 バッファ150の容量は、限られているため、バッファ150が溢れた場合には、バッファ150内のいずれかのパケットデータが削除される。本実施の形態に従うFAシステム10は、自コントローラにおけるバッファリング機能だけでなく、他のコントローラにおけるバッファリング機能も停止することができる。これにより、自コントローラにバッファリングされたパケットデータの損失を防ぐことができるだけでなく、他のコントローラにバッファリングされたパケットデータの損失を防ぐことができる。
 <B.FAシステム10の装置構成>
 図2を参照して、FAシステム10の装置構成の一例について説明する。図2は、FAシステム10の装置構成を概略的に示す模式図である。
 FAシステム10は、1つ以上のコントローラ100と、1つ以上の開発支援装置200と、1つ以上の駆動機器300とを含む。図2の例では、3つのコントローラ100A~100Cと、1つの開発支援装置200とが示されている。
 コントローラ100は、複数の物理的な通信ポートを有する。それぞれの通信ポートには異なるネットワークが接続され得る。図2の例では、コントローラ100は、2つの通信ポートP1,P2を有する。通信ポートP1には、ネットワークN1が接続されている。通信ポートP2には、ネットワークN2が接続されている。
 コントローラ100および開発支援装置200は、ハブ90を介してネットワークN1に接続されている。他にも、ネットワークN1には、任意の情報処理装置が接続され得る。一例として、ネットワークN1には、HMI(Human Machine Interface)などの表示器やサーバ装置などが接続され得る。
 開発支援装置200は、たとえば、ノート型PC(Personal Computer)、デスクトップ型PC、タブレット端末、または、スマートフォンなどである。開発支援装置200には、開発ツール30がインストールされ得る。開発ツール30は、コントローラ100用の制御プログラムの開発を支援するためのアプリケーションである。一例として、開発ツール30は、オムロン社製の「Sysmac Studio」である。ユーザは、開発ツール30上でコントローラ100用の制御プログラムを設計し、設計した制御プログラムをコントローラ100にインストールすることができる。作成された制御プログラムは、開発支援装置200によってコンパイルされた実行形式のファイルとしてコントローラ100に送られる。
 下位のネットワークN2には、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとしては、EtherCAT、CompoNetなどが知られている。コントローラ100は、開発支援装置200上で作成された制御プログラムに従って制御対象の駆動機器300を制御する。
 駆動機器300は、直接的または間接的にワークに対して所定の作業を行うための機器の集合である。図2の例では、駆動機器300は、ロボットコントローラ300Aや、サーボドライバ300Bや、ロボットコントローラ300Aに制御されるアームロボット301Aや、サーボドライバ300Bによって制御されるサーボモータ301Bなどを含む。また、駆動機器300は、ワークを撮影するための視覚センサや、生産工程で利用されるその他の機器などを含んでもよい。
 <C.FAシステム10の機能>
 典型的には、FAシステム10は、以下の設定機能A~Cを有する。
 (機能A)パケットモニタモジュール154(図1参照)に関する各種設定を開発支援装置200が受け付ける機能。
 (機能B)上記機能(a)で受け付けた設定に従って各コントローラが自コントローラおよび他のコントローラのパケットモニタモジュール154の動作態様を切り替える機能。
 (機能C)各コントローラのパケットモニタモジュール154によりバッファリングされたパケットデータを開発支援装置200が収集する機能。
 典型的な使用例では、これらの機能A~Cが順に実行される。以下では、これらの上記機能A~Cについて順に説明する。
  [C1.設定機能]
 まず、図3~図5を参照して、FAシステム10の上記機能Aについて説明する。図3は、パケットモニタモジュール154(図1参照)に対する設定処理の流れを示すシーケンス図である。
 ステップS10において、開発支援装置200は、開発ツール30の起動操作を受け付けたとする。このことに基づいて、開発支援装置200は、プログラム作成画面を表示する。図4は、開発ツール30が提供するユーザインターフェイスの一例であるプログラム作成画面31を示す図である。プログラム作成画面31は、たとえば、開発支援装置200の表示部221に表示される。
 ユーザは、プログラム作成画面31上でコントローラ100用の制御プログラムを開発することができる。図4には、コントローラ100用の制御プログラムの一例であるユーザプログラム210が示されている。ユーザプログラム210は、任意のプログラミング言語で記述され得る。一例として、ユーザプログラム210は、ラダーダイアグラム(LD:Ladder Diagram)で規定されてもよいし、命令リスト(IL:Instruction List)、構造化テキスト(ST:Structured Text)、および、シーケンシャルファンクションチャート(SFC:Sequential Function Chart)のいずれか、あるいは、これらの組み合わせで規定される。あるいは、ユーザプログラム210は、JavaScript(登録商標)やC言語のような汎用的なプログラミング言語で規定されていてもよい。
 図4の例では、ユーザプログラム210は、ラダーダイアグラムで記述されている。設計者は、プログラム作成画面31上で、任意のファンクションブロックを組み合わせたり、変数やファンクションブロックの入出力関係を規定することで、制御対象の駆動機器300に合わせたユーザプログラム210を設計することができる。ファンクションブロックとは、ユーザプログラム210内で繰り返し使用される機能が部品化されたものである。
 図4の例では、ユーザプログラム210は、変数「A」~「C」と、ファンクションブロックFB1,FB2とを含む。ファンクションブロックFA1は、その入力部に関連付けられている変数「A」の値に基づいて、ファンクションブロックFB1に規定されている予め定められた機能を実行する。当該実行結果は、ファンクションブロックFA1の出力部に関連付けられている変数「B」に反映される。ファンクションブロックFB2は、その入力部に関連付けられている変数「B」の値に基づいて、ファンクションブロックFB2に規定されている予め定められた機能を実行する。当該実行結果は、ファンクションブロックFA2の出力部に関連付けられている変数「C」に反映される。このように、設計者は、プログラム作成画面31上で、変数やファンクションブロックを組み合わせることで、任意のユーザプログラム210を設計することができる。
 開発ツール30は、種々のファンクションブロックを提供する。一例として、パケットデータのバッファリング機能を停止するための上述の停止モジュール156(図1参照)がファンクションブロックとして提供される。他にも、パケットデータのバッファリング機能の実行を開始するための開始モジュールがファンクションブロックとして提供される。他にも、バッファ150にバッファリングされたパケットデータを外部記憶装置(たとえば、メモリカードなど)に保存するための保存モジュールがファンクションブロックとして提供される。
 再び図3を参照して、ステップS12において、開発ツール30は、パケットモニタモジュール154(図1参照)に関する各種設定を行うための設定画面を呼び出したとする。このことに基づいて、設定画面が開発支援装置200の表示部221に表示される。
 図5は、開発ツール30が提供するユーザインターフェイスの一例である設定画面33を示す図である。設定画面33は、パケットモニタモジュール154に関する各種設定を受け付けるユーザインターフェイスである。
 図5に示されるように、設定画面33は、設定欄41,42,45,47と、保存ボタン50と、キャンセルボタン51とを含む。設定画面33に入力された設定によって、パケットデータのバッファリング処理の開始条件や、パケットデータのバッファリング処理の停止条件や、パケットデータの保存条件や、パケットデータの転送条件などが設定される。
 より具体的には、設定欄41は、パケットモニタモジュール154の動作態様を指定するための設定を受け付ける。指定可能な動作態様としては、たとえば、「開始」、「停止」、「保存」、「転送」などが挙げられる。一例として、ボタン41Aが押下されたことに基づいて、指定可能な動作対象が一覧表示される。ユーザは、表示された動作態様の一覧から一の動作態様を選択することで、パケットモニタモジュール154の動作態様を指定することができる。
 設定欄42は、実行条件を指定するための設定を受け付ける。設定欄42には、たとえば、コントローラ100内で発生し得るイベントログのエラー種別や、パケットデータによって示されるエラー種別などが指定され得る。典型的には、設定欄42で指定可能な実行条件の候補は、予め規定されている。たとえば、ボタン42Aが押下されたことに基づいて、指定可能な実行条件の候補が一覧表示される。ユーザは、表示された実行条件の候補の一覧から一の実行条件を選択することで、実行条件を指定することができる。
 以下では、設定欄41に「開始」が指定されている実行条件を「開始条件」ともいう。設定欄41に「停止」が指定されている実行条件を「停止条件」ともいう。設定欄41に「保存」が指定されている実行条件を「保存条件」ともいう。設定欄41に「転送」が指定されている実行条件を「転送条件」ともいう。
 設定欄45は、命令対象のコントローラを指定するための設定を受け付ける。命令対象のコントローラは、予め定められた候補の中から選択されてもよいし、コントローラの識別情報(たとえば、コントローラ名やIPアドレスなど)の入力により指定されてもよい。一例として、ボタン45Aが押下されたことに基づいて、命令対象として指定可能なコントローラの候補が一覧表示される。ユーザは、表示されたコントローラの候補の一覧から一のコントローラを選択することで、命令対象のコントローラを指定することができる。
 コントローラ100は、設定欄42で指定された実行条件が満たされたことに基づいて、設定欄45で指定されたコントローラのパケットモニタモジュール154を、設定欄41で指定された動作態様で動作させる。
 一例として、開始条件が満たされた場合には、コントローラ100は、当該開始条件に対応付けられている命令対象のコントローラについてパケットモニタモジュール154の実行を開始させる。
 停止条件が満たされた場合には、コントローラ100は、当該停止条件に対応付けられている命令対象のコントローラについてパケットモニタモジュール154を停止させる。当該停止条件は、上述の停止条件108(図1参照)に対応する。
 保存条件が満たされた場合には、コントローラ100は、当該停止条件に対応付けられている命令対象のコントローラについてバッファリングされているパケットデータを自コントローラに保存させる。
 転送条件が満たされた場合には、コントローラ100は、当該転送条件に対応付けられている命令対象のコントローラについてバッファリングされているパケットデータを指定された送信先に転送させる。
 設定欄47は、報知機能のON/OFFを指定するための設定を受け付ける。設定欄47においてONが指定された場合には、設定欄42で指定された実行条件が満たされたときに、エラーの発生が報知される。エラーの発生は、警告音などの音によって報知されてもよいし、メッセージなどの表示によって報知されてもよい。設定欄47においてOFFが指定された場合には、設定欄42で指定された実行条件が満たされたときであっても、エラーの発生が報知されない。
 保存ボタン50が押下された場合には、開発支援装置200は、設定画面33に入力された設定情報212を保存する。設定画面33のキャンセルボタン51が押下された場合には、開発支援装置200は、設定画面33に入力された設定情報212を保存せずに設定画面33を閉じる。
 再び図2を参照して、ステップS14において、開発ツール30は、コンパイル操作を受け付けたとする。このことに基づいて、開発ツール30は、プログラム作成画面31上で作成されたユーザプログラム210をコンパイルする。その後、開発ツール30は、コンパイル結果のダウンロード操作を受け付けたとする。このことに基づいて、開発ツール30は、コンパイルされたユーザプログラム210とともに、ステップS12で保存された設定情報212をコントローラ100に転送する。コントローラ100は、受信したユーザプログラム210と設定情報212とを内部の記憶装置に保存する。
  [C2.パケットモニタモジュール154の停止機能]
 次に、図6および図7を参照して、FAシステム10の上記機能Bの一例について説明する。図6は、停止条件108が満たされた場合におけるコントローラ100A~100C間のデータの流れを示すシーケンス図である。図7は、停止条件108が満たされた場合におけるコントローラ100A~100Cの動作態様を概略的に示す概念図である。
 図6に示されるステップ番号と、図7に示されるステップ番号とは、互いに対応している。
 ステップS30Aにおいて、コントローラ100Aが起動されたとする。このことに基づいて、コントローラ100Aは、パケットモニタモジュール154によるパケットモニタリング機能の実行を開始する。
 ステップS30Bにおいて、コントローラ100Bが起動されたとする。このことに基づいて、コントローラ100Bは、パケットモニタモジュール154によるパケットモニタリング機能の実行を開始する。
 ステップS30Cにおいて、コントローラ100Cが起動されたとする。このことに基づいて、コントローラ100Cは、パケットモニタモジュール154によるパケットモニタリング機能の実行を開始する。
 ステップS31Aにおいて、コントローラ100Aは、自コントローラに格納されているユーザプログラム210の実行命令を受け付けたとする。このことに基づいて、コントローラ100Aは、ユーザプログラム210の実行を開始する。
 ステップS31Bにおいて、コントローラ100Bは、自コントローラに格納されているユーザプログラム210の実行命令を受け付けたとする。このことに基づいて、コントローラ100Bは、ユーザプログラム210の実行を開始する。
 ステップS31Cにおいて、コントローラ100Cは、自コントローラに格納されているユーザプログラム210の実行命令を受け付けたとする。このことに基づいて、コントローラ100Cは、ユーザプログラム210の実行を開始する。
 ステップS32において、コントローラ100Aは、設定情報212に規定されている実行条件のいずれかが満たされたか否かを判断する。たとえば、実行条件の一例である停止条件が満たされたとする。この場合(ステップS32においてYES)、コントローラ100Aは、制御をステップS34に切り替える。コントローラ100Aは、設定情報212に規定されている実行条件のいずれも満たされていないと判断した場合(ステップS32においてNO)、ステップS32の処理を再び実行する。
 一例として、命令対象のコントローラとして、コントローラ100A~100Cが指定されていたとする。この場合、コントローラ100Aは、自コントローラにおけるパケットデータのバッファリング処理と、他のコントローラ100B,100Cにおけるパケットデータのバッファリング処理とを停止する。
 より具体的には、ステップS34において、コントローラ100Aの停止モジュール156は、自コントローラにおけるパケットモニタモジュール154についてバッファリング機能を停止する。これにより、コントローラ100Aのバッファ150へのパケットデータの蓄積が停止される。
 ステップS36において、コントローラ100Aの停止モジュール156は、バッファリング機能の停止命令を生成し、当該停止命令を他のコントローラ100B,100Cに送信する。コントローラ100Bの停止モジュール156は、コントローラ100Aから停止命令を受信したことに基づいて、コントローラ100Bのパケットモニタモジュール154のバッファリング機能を停止する。これにより、コントローラ100Bのバッファ150へのパケットデータの蓄積が停止される。同様に、コントローラ100Cの停止モジュール156は、コントローラ100Aから停止命令を受信したことに基づいて、コントローラ100Cのパケットモニタモジュール154のバッファリング機能を停止する。これにより、コントローラ100Cのバッファ150へのパケットデータの蓄積が停止される。
 このように、コントローラ100は、予め定められた停止条件が満たされたことに基づいて、自コントローラと他のコントローラとのバッファリング機能を停止する機能を有する。好ましくは、自コントローラおよび他のコントローラのバッファリング機能は、同時または略同時に停止される。これにより、各コントローラは、同期間内にバッファリングされたパケットデータをバッファ150に残すことができる。
  [C3.パケットデータの収集処理]
 次に、図8~図11を参照して、FAシステム10の上記機能Cについて説明する。図8は、バッファリングされたパケットデータを各コントローラから収集する処理の流れを示すシーケンス図である。
 ステップS50において、開発支援装置200は、イベントログ画面の表示操作を受け付けたとする。このことに基づいて、開発支援装置200は、イベントログ画面を表示する。図9は、開発ツール30が提供するユーザインターフェイスの一例であるイベントログ画面35を示す図である。イベントログ画面35は、たとえば、開発支援装置200の表示部221に表示される。
 開発支援装置200は、各コントローラ100から収集したイベントログをイベントログ画面35に表示する。イベントログ画面35は、表示欄60~65を有する。表示欄60には、発生しているエラーの重要度が表示される。表示欄61には、エラーが発生した通信プロトコルが表示される。表示欄62には、エラーの発生源の通信ポートが表示される。表示欄63には、イベント名が表示される。表示欄64には、イベントコードが表示される。表示欄65には、詳細ボタンが表示される。
 再び図8を参照して、ステップS52において、開発支援装置200は、表示欄65に表示される詳細ボタンのいずれかが押下されたことに基づいて、パケット収集を開始するか否か受け付けるための確認画面を表示する。図10は、確認画面の一例を示す図である。
 図10には、確認画面の一例として確認画面70が示されている。確認画面70は、「はい」を示すボタン71と、「いいえ」を示すボタン72とを有する。「はい」を示すボタン71が押下された場合、開発支援装置200は、各コントローラ100におけるパケットデータの収集を開始する。「いいえ」を示すボタン72が押下された場合、開発支援装置200は、何もせずに確認画面70を閉じる。
 再び図8を参照して、ステップS60において、開発支援装置200は、確認画面70における「はい」を示すボタン71が押下されたことに基づいて、指定されたコントローラ100A~100Cのそれぞれにパケットデータの取得要求を送信する。
 ステップS62において、コントローラ100A~100Cは、それぞれ、自コントローラのバッファ150(図1参照)に格納されているパケットデータを取得し、当該パケットデータを開発支援装置200に送信する。
 ステップS70において、開発支援装置200は、コントローラ100A~100Cのそれぞれから収集したパケットデータの収集結果を表示する。図11は、開発ツール30が提供するユーザインターフェイスの一例であるパケットデータの収集結果画面37Aを示す図である。
 EtherCAT、EtherCAT、EtherNet/IPなどに従うパケットデータは、EtherNETヘッダを含む。このEtherNETヘッダは、送信元のコントローラを特定するための送信元情報(たとえば、IPアドレス)と、送信先のコントローラを特定するための送信先情報(たとえば、IPアドレス)とを含む。他にも、当該パケットデータは、送信先のポート番号などの情報を含む。
 収集結果画面37Aは、パケットデータに規定されている情報に基づいて、収集された各パケットデータについて送信元のIPアドレスと送信先のIPアドレスとを表示する。パケットデータの記録は、送信元のコントローラおよび送信先のコントローラの両方に残るので、仮に、対の記録が残っていないコントローラについては、何らかの原因でパケットデータが損失したこととなる。送信元のIPアドレスと送信先のIPアドレスとが各パケットデータについて表示されることで、ユーザは、どのパケットデータがどのコントローラで損失したのかを容易に把握することができ、通信エラーの解析が容易になる。
 好ましくは、収集結果画面37Aは、送信元情報が一致し、かつ送信先情報が一致するパケットデータ同士を対応させて表示する。図11の例では、これらのパケットデータ同士が一列に並べて表示されている。たとえば、破線部分81に示されるように、IPアドレス「A」のコントローラ100AからIPアドレス「B」のコントローラ100Bに送信されたパケットデータの記録は、コントローラ100Aおよびコントローラ100Bの両方に残っている。開発支援装置200は、コントローラ100Aおよびコントローラ100Bのそれぞれから収集したこれらの対応するパケットデータを並べて表示する。これにより、ユーザは、どのパケットデータがどのコントローラで損失したのかをより簡単に発見することができ、通信エラーの解析がさらに容易になる。
 好ましくは、収集結果画面37Aは、送信元情報が一致し、かつ送信先情報が一致する対のパケットデータが存在しないパケットデータを他のパケットデータとは異なる表示態様で表示する。すなわち、対のパケットデータが存在しないパケットデータが強調表示される。強調表示は、たとえば、ハッチング表示、特定色(たとえば、赤色)での表示、点滅表示などで実現される。図11の例では、強調表示がハッチング表示で実現されている(破線部分82,83)。対のパケットデータが存在しないパケットデータが強調表示されることで、ユーザは、どのパケットデータが損失したのかを即座に発見することができる。
 なお、パケットデータの収集結果画面37Aは、図11の例に限定されない。図12は、収集結果画面37Aの変形例である収集結果画面37Bを示す図である。図12に示されるように、収集結果画面37Bは、検索条件の入力領域85と、検索結果の表示領域86とを有する。
 検索条件の入力領域85は、パケットデータを検索するための種々の条件を受け付ける。一例として、入力領域85は、コントローラの識別情報を検索条件として受け付ける。なお、入力領域85で指定可能な検索条件は、コントローラの識別情報に限定されない。一例として、検索条件として、通信プロトコル、ポート番号などが入力されてもよい。
 検索条件が入力領域85に入力されたことに基づいて、開発支援装置200は、収集したパケットデータの中から、指定された検索条件に合致するパケットデータを検索し、指定された検索条件に合致するパケットデータを検索結果の表示領域86に一覧表示する。検索結果として、たとえば、送信元のコントローラのIPアドレスと、送信先のコントローラのIPアドレスと、通信時に利用された通信プロトコルと、送信先のポート番号と、備考とが表示される。
 <D.パケットデータの保存機能>
 図13を参照して、バッファリングされたパケットデータを保存するための保存機能について説明する。図13は、パケットデータの保存機能が実行された場合における制御フローを示すシーケンス図である。
 ステップS80において、コントローラ100Aは、設定情報212(図5参照)に規定されている保存条件が満たされたか否かを判断する。コントローラ100Aは、設定情報212に規定されている保存条件が満たされたと判断した場合(ステップS80においてYES)、制御をステップS82に切り替える。そうでない場合には(ステップS80においてNO)、ステップS80の処理を再び実行する。
 設定情報212に規定されている保存条件には、命令対象のコントローラが対応付けられている。一例として、命令対象のコントローラとして、コントローラ100A~100Cが対応付けられていたとする。この場合、コントローラ100Aは、自コントローラにバッファリングされたパケットデータの保存処理と、他のコントローラ100B,100Cにバッファリングされたパケットデータの保存処理とを実行する。
 より具体的には、ステップS82において、コントローラ100Aは、自コントローラのバッファ150にバッファリングされているパケットデータを外部記憶装置(たとえば、後述のメモリカード140)に保存する。これにより、コントローラ100Aにおけるパケットデータがログデータとして保存される。
 ステップS84において、コントローラ100Aは、パケットデータの保存命令を生成し、当該保存命令を他のコントローラ100B,100Cに送信する。コントローラ100Bは、コントローラ100Aから保存命令を受信したことに基づいて、コントローラ100Bのバッファ150にバッファリングされているパケットデータを外部記憶装置(たとえば、後述のメモリカード140)に保存する。これにより、コントローラ100Bにおけるパケットデータが外部記憶装置に残される。同様に、コントローラ100Cは、コントローラ100Aから保存命令を受信したことに基づいて、コントローラ100Cのバッファ150にバッファリングされているパケットデータを外部記憶装置(たとえば、後述のメモリカード140)に保存する。これにより、コントローラ100Cにおけるパケットデータが外部記憶装置に保存される。
 <E.バッファリング処理の開始機能>
 図14を参照して、パケットモニタモジュール154にバッファリング処理を開始させるための開始機能について説明する。図14は、パケットモニタモジュール154によるバッファリング処理の開始機能が実行された場合における制御フローを示すシーケンス図である。
 ステップS90において、コントローラ100Aは、設定情報212(図5参照)に規定されている開始条件が満たされたか否かを判断する。コントローラ100Aは、設定情報212に規定されている開始条件が満たされたと判断した場合(ステップS90においてYES)、制御をステップS92に切り替える。そうでない場合には(ステップS90においてNO)、ステップS90の処理を再び実行する。
 設定情報212に規定されている開始条件には、命令対象のコントローラが対応付けられている。一例として、命令対象のコントローラとして、コントローラ100A~100Cが対応付けられていたとする。この場合、コントローラ100Aは、自コントローラにおけるパケットデータのバッファリング処理をと、他のコントローラ100B,100Cにおけるパケットデータのバッファリング処理とを開始する。
 より具体的には、ステップS92において、コントローラ100Aは、自コントローラにおけるパケットモニタモジュール154にバッファリング機能を開始させる。これにより、自コントローラのバッファ150へのパケットデータのバッファリング処理が開始される。
 ステップS94において、コントローラ100Aは、バッファリング機能の開始命令を生成し、当該開始命令を他のコントローラ100B,100Cに送信する。コントローラ100Bは、コントローラ100Aから開始命令を受信したことに基づいて、コントローラ100Bのパケットモニタモジュール154にバッファリング機能を開始させる。これにより、コントローラ100Bのバッファ150へのパケットデータの蓄積が開始される。同様に、コントローラ100Cは、コントローラ100Aから開始命令を受信したことに基づいて、コントローラ100Cのパケットモニタモジュール154にバッファリング機能を開始させる。これにより、コントローラ100Cのバッファ150へのパケットデータの蓄積が開始される。
 このように、コントローラ100は、予め定められた開始条件が満たされたことに基づいて、自コントローラと他のコントローラとのバッファリング機能を開始する機能を有する。好ましくは、自コントローラおよび他のコントローラのバッファリング機能は、同時または略同時に開始される。
 <F.ハードウェア構成>
 図15および図16を参照して、コントローラ100および開発支援装置200のハードウェア構成について順に説明する。
  (F1.コントローラ100のハードウェア構成)
 まず、図15を参照して、コントローラ100のハードウェア構成について説明する。図15は、コントローラ100のハードウェア構成の一例を示す模式図である。
 コントローラ100は、通信インターフェイス101と、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などの制御装置102と、チップセット104と、主メモリ106と、不揮発性の記憶装置110と、内部バスコントローラ122と、フィールドバスコントローラ124と、メモリカードインターフェイス139とを含む。
 制御装置102は、記憶装置110に格納された制御プログラム111を読み出して、主メモリ106に展開して実行することで、制御対象の駆動機器300などに対する任意の制御を実現する。制御プログラム111は、コントローラ100を制御するための各種プログラムを含む。一例として、制御プログラム111は、システムプログラム109およびユーザプログラム210などを含む。システムプログラム109は、データの入出力処理や実行タイミング制御などの、コントローラ100の基本的な機能を提供するための命令コードを含む。ユーザプログラム210は、開発支援装置200からダウンロードされたものである。ユーザプログラム210は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム210Aおよびモーション制御を実行するためのモーションプログラム210Bとを含む。
 チップセット104は、各コンポーネントを制御することで、コントローラ100全体としての処理を実現する。
 記憶装置110は、制御プログラム111の他にも種々のデータを格納する。一例として、記憶装置110は、上述の設定情報212(図5参照)などを格納する。
 内部バスコントローラ122は、コントローラ100と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、I/Oユニット126が接続されている。
 フィールドバスコントローラ124は、コントローラ100とフィールドバスを通じて連結される各種の駆動機器300とデータを遣り取りするインターフェイスである。このようなデバイスの一例として、ロボットコントローラ300Aやサーボドライバ300Bが接続されている。他にも、視覚センサなどの駆動機器が接続されてもよい。
 内部バスコントローラ122およびフィールドバスコントローラ124は、接続されているデバイスに対して任意の指令を与えることができるとともに、デバイスが管理している任意のデータを取得することができる。また、内部バスコントローラ122および/またはフィールドバスコントローラ124は、ロボットコントローラ300Aやサーボドライバ300Bとの間でデータを遣り取りするためのインターフェイスとしても機能する。
 通信インターフェイス101は、各種の有線/無線ネットワークを通じたデータの遣り取りを制御する。コントローラ100は、通信インターフェイス101を介して、開発支援装置200などの外部機器と通信を行う。コントローラ100は、通信インターフェイス101を介して他の通信装置とパケット通信を行う。
 メモリカードインターフェイス139は、外部記憶媒体の一例であるメモリカード140(たとえば、SDカード)を接続するためのインターフェイス部である。メモリカードインターフェイス139は、メモリカード140を着脱可能に構成されており、メモリカード140に対してデータを書き込み、メモリカード140からデータを読出すことが可能になっている。
  (F2.開発支援装置200のハードウェア構成)
 次に、図16を参照して、開発支援装置200のハードウェア構成について説明する。図16は、開発支援装置200のハードウェア構成を示す模式図である。
 開発支援装置200は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。開発支援装置200は、CPUやMPUなどの制御装置202と、主メモリ204と、不揮発性の記憶装置208と、通信インターフェイス211と、I/O(Input/Output)インターフェイス214と、表示インターフェイス220とを含む。これらのコンポーネントは、内部バス225を介して互いに通信可能に接続されている。
 制御装置202は、記憶装置208に格納されている開発支援プログラム208Aを主メモリ204に展開して実行することで、開発ツール30における各種処理を実現する。開発支援プログラム208Aは、ユーザプログラム210の開発環境を提供するためのプログラムである。記憶装置208は、開発支援プログラム208Aの他にも、開発ツール30で生成された各種データなどを格納する。当該データは、たとえば、開発ツール30上で作成された上述のユーザプログラム210や、上述の設定情報212などを含む。
 通信インターフェイス211は、他の通信機器との間でネットワークを介してデータを遣り取りする。当該他の通信機器は、たとえば、コントローラ100、サーバなどの外部機器を含む。開発支援装置200は、通信インターフェイス211を介して、当該他の通信機器から、開発支援プログラム208Aなどの各種プログラムをダウンロード可能なように構成されてもよい。
 I/Oインターフェイス214は、操作部215に接続され、操作部215からのユーザ操作を示す信号を取り込む。操作部215は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。
 表示インターフェイス220は、表示部221と接続され、制御装置202などからの指令に従って、表示部221に対して、画像を表示するための画像信号を送出する。表示部221は、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイなどからなり、ユーザに対して各種情報を提示する。表示部221には、開発ツール30によって提供される各種画面(たとえば、上述のプログラム作成画面31や設定画面33)が表示され得る。なお、図16の例では、開発支援装置200および表示部221が別体として示されているが、開発支援装置200および表示部221は、一体的に構成されてもよい。
 <G.機能構成>
 図17を参照して、コントローラ100および開発支援装置200の機能について説明する。図17は、コントローラ100および開発支援装置200の機能構成の一例を示す図である。
 図17に示されるように、コントローラ100A,100Bは、それぞれ、機能構成として、通信命令実行モジュール151と、通信モジュール152と、通信ドライバ153と、パケットモニタモジュール154とを含む。これらの機能モジュールは、たとえば、システムプログラム109(図15参照)内に実装される。通信モジュール152は、クライアント機能152Aと、サーバ機能152Bとを含む。
 また、コントローラ100A,100Bには、開発支援装置200上でユーザプログラム210がインストールされている。ユーザプログラム210は、たとえば、その一機能として、パケットモニタモジュール154によるパケットデータのバッファリング処理を停止するための停止モジュール156と、パケットモニタモジュール154によるパケットデータのバッファリング処理を開始するための開始モジュール157と、バッファリングされたパケットデータを外部記憶装置に保存するための保存モジュール158とを含む。典型的には、コントローラ100の機能モジュールは、制御装置102(図15参照)によって実行される。
 通信モジュール152、パケットモニタモジュール154、および停止モジュール156の機能については上述の通りであるので、以下では、それらの機能の説明については繰り返さない。
 通信命令実行モジュール151は、通信モジュール152を制御するための機能モジュールである。一例として、通信命令実行モジュール151は、停止モジュール156からバッファリング停止命令を受け付けたことに基づいて、CIPメッセージを生成するためのCIPパラメータを生成し、CIPパラメータをクライアント機能152Aに出力する。CIPパラメータの詳細については後述する。
 通信ドライバ153は、通信インターフェイス101(図15参照)用のソフトウェアである。通信ドライバ153は、通信インターフェイス101の種類に応じてメーカーによって提供されるものであり、予めインストールされていてもよいし、必要に応じてインストールされてもよい。コントローラ100は、通信ドライバ153を介して、他のコントローラや開発支援装置200との通信を実現する。
 サーバ機能152Bは、たとえば、停止命令を受け付けたことに基づいて、自コントローラのパケットモニタモジュール154を停止する。停止命令は、自コントローラから自発的に発せられることもあるし、他のコントローラや開発支援装置200から発せられることもある。
 一例として、停止命令が開発支援装置200から発せられる場合について説明する。ユーザは、いずれかのコントローラ100にエラーが発生していることを開発支援装置200上で確認し、バッファリング機能を停止するコントローラ100を開発支援装置200上で選択する。このことに基づいて、開発支援装置200は、指定されたコントローラ100にバッファリング機能の停止命令をコントローラ100Aに送信する。
 開発支援装置200は、機能モジュールとして、通信モジュール252と、通信ドライバ253とを有する。通信モジュール252は、クライアント機能252Aを含む。典型的には、開発支援装置200の機能モジュールは、制御装置202(図16参照)によって実行される。
 通信ドライバ253は、通信インターフェイス211(図16参照)用のソフトウェアである。通信ドライバ253は、通信インターフェイス211の種類に応じてメーカーによって提供されるものであり、予めインストールされていてもよいし、必要に応じてインストールされてもよい。開発支援装置200は、通信ドライバ253を介して、コントローラ100との通信を実現する。
 <H.CIPメッセージ>
 上述のように、通信モジュール152は、CIPパラメータに基づいて、パケットモニタモジュール154に対する制御指令を規定するCIPメッセージを生成する。以下では、図18~図20を参照して、CIPパラメータの具体例について説明する。
 図18は、パケットモニタモジュール154に関する設定を行うためのCIPパラメータを示す図である。
 一例として、CIPパラメータは、パケットモニタモジュール154の有効/無効の設定に関するサービスコードを含む。たとえば、サービスコードとして「0x4E」が入力された場合には、パケットモニタモジュール154の有効/無効を示す現在の設定値が取得される。サービスコードとして「0x4F」が入力された場合には、パケットモニタモジュール154の有効/無効が入力に応じてセットされる。
 他にも、CIPパラメータは、パケットモニタモジュール154の各種設定に関するサービスコードを含む。たとえば、たとえば、サービスコードとして「0x50」が入力された場合には、パケットモニタモジュール154の現在の各種設定が取得される。サービスコードとして「0x51」が入力された場合には、パケットモニタモジュール154の各種設定が入力に応じてセットされる。
 図19は、パケットモニタモジュール154の実行命令を指定するためのCIPパラメータを示す図である。
 一例として、CIPパラメータは、パケットモニタモジュール154のパケットモニタリング処理(すなわち、パケットデータのバッファリング処理)を開始するためのサービスコードを含む。たとえば、サービスコードとして「0x4B」が入力された場合には、パケットモニタモジュール154によるパケットモニタリング処理が開始される。
 他にも、CIPパラメータは、パケットモニタモジュール154のパケットモニタリング処理を停止するためのサービスコードを含む。たとえば、サービスコードとして「0x4C」が入力された場合には、パケットモニタモジュール154によるパケットモニタリング処理が停止する。
 他にも、CIPパラメータは、パケットモニタモジュール154によってバッファリングされたパケットデータを外部記憶装置に保存するためのCIPパラメータを含む。たとえば、サービスコードとして「0x4D」が入力された場合には、バッファリングされたパケットデータが外部記憶装置に保存される。
 図20は、パケットモニタモジュール154の現状態を取得するためのCIPパラメータを示す図である。
 一例として、CIPパラメータは、パケットモニタモジュール154の現状態を取得するためのサービスコードを含む。たとえば、サービスコードとして「0x52」が入力された場合には、パケットモニタモジュール154の現状態が得られる。パケットモニタモジュール154の状態は、たとえば、パケットモニタリングが無効に設定されている状態、パケットモニタリングの停止中を示す状態、パケットモニタリングの実行中を示す状態などを含む。
 <I.まとめ>
 以上のようにして、コントローラ100は、予め定められた停止条件が満たされたことに基づいて、指定されているコントローラについて、パケットモニタモジュール154のバッファリング機能を停止する。すなわち、コントローラ100は、自コントローラにおけるバッファリング機能だけでなく、他のコントローラにおけるバッファリング機能も停止することができる。これにより、自コントローラにバッファリングされたパケットデータの損失を防ぐことができるだけでなく、他のコントローラにバッファリングされたパケットデータの損失を防ぐことができる。
 <J.付記>
 以上のように、本実施形態は以下のような開示を含む。
 [構成1]
 それぞれが制御対象の駆動機器を制御する複数のコントローラ(100A~100C)を備え、
 前記複数のコントローラ(100A~100C)は、それぞれ、
  バッファ(150)と、
  他のコントローラとパケット通信を行うための通信モジュール(152)と、
  自コントローラで生成されたパケットデータと、自コントローラが受信したパケットデータとを前記バッファ(150)にバッファリングするためのパケットモニタモジュール(154)と、
  予め定められた停止条件(108)が満たされたことに基づいて、前記複数のコントローラ(100A~100C)の内の指定されているコントローラについて、前記パケットモニタモジュール(154)のバッファリング機能を停止するための停止モジュール(156)とを含む、FA(Factory Automation)システム。
 [構成2]
 前記停止モジュール(156)は、バッファリング機能を停止する停止命令を前記他のコントローラから受信したことに基づいて、前記自コントローラにおける前記パケットモニタモジュール(154)のバッファリング機能を停止する、構成1に記載のFAシステム。
 [構成3]
 前記パケットデータは、送信元のコントローラを特定するための送信元情報と、送信先のコントローラを特定するための送信先情報とを有し、
 前記FAシステムは、前記複数のコントローラ(100A~100C)と通信可能に構成されている外部機器(200)をさらに備え、
 前記外部機器(200)は、
  前記複数のコントローラ(100A~100C)のそれぞれのバッファ(150)に格納されているパケットデータを前記複数のコントローラ(100A~100C)のそれぞれから受信するための通信モジュール(252)と、
  前記複数のコントローラ(100A~100C)のそれぞれから受信したパケットデータの各々について送信元情報と送信先情報とを表示するための表示部(221)とを含む、構成1または2に記載のFAシステム。
 [構成4]
 前記表示部(221)は、送信元情報が一致し、かつ送信先情報が一致するパケットデータ同士を対応させて表示する、構成3に記載のFAシステム。
 [構成5]
 前記表示部(221)は、送信元情報が一致し、かつ送信先情報が一致する対のパケットデータが存在しないパケットデータを他のパケットデータとは異なる表示態様で表示する、構成4に記載のFAシステム。
 [構成6]
 前記複数のコントローラ(100A~100C)は、それぞれ、外部記憶装置を接続するためのインターフェイス部(139)を含み、
  予め定められた保存条件が満たされたことに基づいて、前記複数のコントローラ(100A~100C)の内の指定されているコントローラのバッファ(150)に格納されているパケットデータを、それぞれ、当該コントローラに接続されている前記外部記憶装置(140)に格納するための保存モジュール(159)とを含む、構成1~5のいずれか1項に記載のFAシステム。
 [構成7]
 制御対象の駆動機器を制御するコントローラであって、
 バッファ(150)と、
 他のコントローラとパケット通信を行うための通信モジュール(152)と、
 前記コントローラで生成されたパケットデータと、前記他のコントローラが受信したパケットデータとを前記バッファ(150)にバッファリングするためのパケットモニタモジュール(154)と、
 予め定められた停止条件(108)が満たされたことに基づいて、前記コントローラまたは前記他のコントローラの内の指定されているコントローラについて、前記パケットモニタモジュール(154)のバッファリング機能を停止するための停止モジュール(156)とを含む、コントローラ。
 [構成8]
 制御対象の駆動機器を制御するコントローラの制御方法であって、
 他のコントローラとパケット通信を行うステップと、
 前記コントローラで生成されたパケットデータと、前記他のコントローラが受信したパケットデータとを前記コントローラのバッファ(150)にバッファリングするステップと、
 予め定められた停止条件(108)が満たされたことに基づいて、前記コントローラまたは前記他のコントローラの内の指定されているコントローラについて、前記バッファリングするステップでのバッファリングを停止するステップとを含む、制御方法。
 今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
 10 FAシステム、30 開発ツール、31 プログラム作成画面、33 設定画面、35 イベントログ画面、37A,37B 収集結果画面、41,42,45,47 設定欄、41A,42A,45A,71,72 ボタン、50 保存ボタン、51 キャンセルボタン、60,61,62,63,64,65 表示欄、70 確認画面、81,82,83 破線部分、85 入力領域、86 表示領域、90 ハブ、100,100A,100B,100C コントローラ、101,211 通信インターフェイス、102,202 制御装置、104 チップセット、106,204 主メモリ、108 停止条件、109 システムプログラム、110,208 記憶装置、111 制御プログラム、122 内部バスコントローラ、124 フィールドバスコントローラ、126 I/Oユニット、139 メモリカードインターフェイス、140 メモリカード、150 バッファ、151 通信命令実行モジュール、152,252 通信モジュール、152A,252A クライアント機能、152B サーバ機能、153,253 通信ドライバ、154 パケットモニタモジュール、156 停止モジュール、157 開始モジュール、158 保存モジュール、200 開発支援装置、208A 開発支援プログラム、210 ユーザプログラム、210A シーケンスプログラム、210B モーションプログラム、212 設定情報、214 I/Oインターフェイス、215 操作部、220 表示インターフェイス、221 表示部、225 内部バス、300 駆動機器、300A ロボットコントローラ、300B サーボドライバ、301A アームロボット、301B サーボモータ。

Claims (8)

  1.  それぞれが制御対象の駆動機器を制御する複数のコントローラを備え、
     前記複数のコントローラは、それぞれ、
      バッファと、
      他のコントローラとパケット通信を行うための通信モジュールと、
      自コントローラで生成されたパケットデータと、自コントローラが受信したパケットデータとを前記バッファにバッファリングするためのパケットモニタモジュールと、
      予め定められた停止条件が満たされたことに基づいて、前記複数のコントローラの内の指定されているコントローラについて、前記パケットモニタモジュールのバッファリング機能を停止するための停止モジュールとを含む、FA(Factory Automation)システム。
  2.  前記停止モジュールは、バッファリング機能を停止する停止命令を前記他のコントローラから受信したことに基づいて、前記自コントローラにおける前記パケットモニタモジュールのバッファリング機能を停止する、請求項1に記載のFAシステム。
  3.  前記パケットデータは、送信元のコントローラを特定するための送信元情報と、送信先のコントローラを特定するための送信先情報とを有し、
     前記FAシステムは、前記複数のコントローラと通信可能に構成されている外部機器をさらに備え、
     前記外部機器は、
      前記複数のコントローラのそれぞれのバッファに格納されているパケットデータを前記複数のコントローラのそれぞれから受信するための通信モジュールと、
      前記複数のコントローラのそれぞれから受信したパケットデータの各々について送信元情報と送信先情報とを表示するための表示部とを含む、請求項1または2に記載のFAシステム。
  4.  前記表示部は、送信元情報が一致し、かつ送信先情報が一致するパケットデータ同士を対応させて表示する、請求項3に記載のFAシステム。
  5.  前記表示部は、送信元情報が一致し、かつ送信先情報が一致する対のパケットデータが存在しないパケットデータを他のパケットデータとは異なる表示態様で表示する、請求項4に記載のFAシステム。
  6.  前記複数のコントローラは、それぞれ、
      外部記憶装置を接続するためのインターフェイス部と、
      予め定められた保存条件が満たされたことに基づいて、前記複数のコントローラの内の指定されているコントローラのバッファに格納されているパケットデータを、それぞれ、当該コントローラに接続されている前記外部記憶装置に格納するための保存モジュールとを含む、請求項1~5のいずれか1項に記載のFAシステム。
  7.  制御対象の駆動機器を制御するコントローラであって、
     バッファと、
     他のコントローラとパケット通信を行うための通信モジュールと、
     前記コントローラで生成されたパケットデータと、前記他のコントローラが受信したパケットデータとを前記バッファにバッファリングするためのパケットモニタモジュールと、
     予め定められた停止条件が満たされたことに基づいて、前記コントローラまたは前記他のコントローラの内の指定されているコントローラについて、前記パケットモニタモジュールのバッファリング機能を停止するための停止モジュールとを含む、コントローラ。
  8.  制御対象の駆動機器を制御するコントローラの制御方法であって、
     他のコントローラとパケット通信を行うステップと、
     前記コントローラで生成されたパケットデータと、前記他のコントローラが受信したパケットデータとを前記コントローラのバッファにバッファリングするステップと、
     予め定められた停止条件が満たされたことに基づいて、前記コントローラまたは前記他のコントローラの内の指定されているコントローラについて、前記バッファリングするステップでのバッファリングを停止するステップとを含む、制御方法。
PCT/JP2019/002736 2018-03-12 2019-01-28 FA(Factory Automation)システム、コントローラ、および制御方法 WO2019176337A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980004105.5A CN111065976B (zh) 2018-03-12 2019-01-28 工厂自动化系统、控制器和控制方法
EP19767391.6A EP3767409A4 (en) 2018-03-12 2019-01-28 INDUSTRIAL AUTOMATION (FA) SYSTEM, CONTROL DEVICE, AND CONTROL PROCESS
US16/643,549 US11215974B2 (en) 2018-03-12 2019-01-28 Factory automation (FA) system, controller, and control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018043851A JP6984499B2 (ja) 2018-03-12 2018-03-12 FA(Factory Automation)システム、コントローラ、および制御方法
JP2018-043851 2018-03-12

Publications (1)

Publication Number Publication Date
WO2019176337A1 true WO2019176337A1 (ja) 2019-09-19

Family

ID=67908297

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/002736 WO2019176337A1 (ja) 2018-03-12 2019-01-28 FA(Factory Automation)システム、コントローラ、および制御方法

Country Status (5)

Country Link
US (1) US11215974B2 (ja)
EP (1) EP3767409A4 (ja)
JP (1) JP6984499B2 (ja)
CN (1) CN111065976B (ja)
WO (1) WO2019176337A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7276309B2 (ja) 2020-12-25 2023-05-18 株式会社安川電機 プログラム作成装置、プログラム作成方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08331146A (ja) * 1995-06-02 1996-12-13 Hitachi Electron Service Co Ltd Lanアナライザ
JPH11134007A (ja) * 1997-10-27 1999-05-21 Honda Motor Co Ltd プログラマブルコントローラを用いた設備の監視システム
JP2000047707A (ja) * 1998-07-27 2000-02-18 Omron Corp 情報管理装置およびその制御方法
JP2011035664A (ja) 2009-07-31 2011-02-17 Omron Corp コントローラ
JP2012181784A (ja) * 2011-03-03 2012-09-20 Hitachi High-Tech Instruments Co Ltd 分散型制御システム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2512201B2 (ja) * 1990-04-27 1996-07-03 松下電器産業株式会社 デ―タの文字列変換表示における通信制御方法及びその回線モニタ及びその通信システム
US7146408B1 (en) * 1996-05-30 2006-12-05 Schneider Automation Inc. Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller
DE19857436A1 (de) * 1998-12-12 2000-06-21 Kuka Roboter Gmbh Verfahren zum Behandeln des Spannungsabfalls in der Steuerung eines Roboters und zum Wiederanfahren eines Roboters nach Spannungsabfall
JP3810965B2 (ja) * 1999-10-18 2006-08-16 株式会社東芝 コントローラシステム、およびそれを適用したプラント
DE602005009845D1 (de) * 2004-10-01 2008-10-30 Matsushita Electric Ind Co Ltd Speicherkartensteuerung,speicherkarten-laufwerkeinrichtung und computerprogramm
JP4247213B2 (ja) * 2005-07-20 2009-04-02 ファナック株式会社 複数のロボット制御装置を備えるロボットシステム及びロボット制御装置
KR20070049926A (ko) * 2005-11-09 2007-05-14 삼성전자주식회사 멀티미디어신호 수신장치 및 그 제어방법
JP5076488B2 (ja) * 2006-12-22 2012-11-21 富士通株式会社 情報処理装置、履歴管理方法、履歴管理プログラム
JP2008293314A (ja) * 2007-05-25 2008-12-04 Densei Lambda Kk 無停電電源装置用のネットワーク通信システム、並びに、無停電電源装置の負荷機器の稼動状態を制御するために通信するコントローラ群を無停電電源装置毎に組分けする方法
US20100198781A1 (en) * 2007-05-29 2010-08-05 Tsutomu Yuine Plc having communication function
EP2245868B1 (en) * 2007-12-31 2012-02-08 Telefonaktiebolaget L M Ericsson (publ) Optimized mobile internet access
EP2316203A4 (en) * 2008-08-22 2014-12-17 Ericsson Telefon Ab L M METHOD AND APPARATUS FOR AVOIDING UNPOLDED DATA PACKETS
EP2273820A1 (en) * 2009-06-30 2011-01-12 Panasonic Corporation Inter-VPLMN handover via a handover proxy node
JP6362821B2 (ja) * 2012-05-18 2018-07-25 オムロン株式会社 制御装置、制御方法および命令セット
JP6171386B2 (ja) * 2013-02-15 2017-08-02 オムロン株式会社 コントローラ、情報処理装置およびプログラム
CN106411820B (zh) * 2015-07-29 2019-05-21 中国科学院沈阳自动化研究所 一种基于sdn架构的工业通信流传输安全控制方法
KR20170096893A (ko) * 2016-02-17 2017-08-25 엘에스산전 주식회사 통신 패킷 분석 장치
JP6627571B2 (ja) * 2016-02-26 2020-01-08 オムロン株式会社 プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム
US10764781B2 (en) * 2016-05-03 2020-09-01 Qualcomm Incorporated Systems and methods for reordering data received from a plurality of radio access technologies (RATs)
US10387392B2 (en) * 2016-05-17 2019-08-20 Rockwell Automation Technologies, Inc. Method to automate historian configuration using controller based tag meta attribute
KR102018487B1 (ko) * 2016-10-31 2019-09-04 미쓰비시덴키 가부시키가이샤 촬상 기기 제휴 장치, 촬상 기기 제휴 프로그램, 제휴 서포트 시스템 및 제어 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08331146A (ja) * 1995-06-02 1996-12-13 Hitachi Electron Service Co Ltd Lanアナライザ
JPH11134007A (ja) * 1997-10-27 1999-05-21 Honda Motor Co Ltd プログラマブルコントローラを用いた設備の監視システム
JP2000047707A (ja) * 1998-07-27 2000-02-18 Omron Corp 情報管理装置およびその制御方法
JP2011035664A (ja) 2009-07-31 2011-02-17 Omron Corp コントローラ
JP2012181784A (ja) * 2011-03-03 2012-09-20 Hitachi High-Tech Instruments Co Ltd 分散型制御システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3767409A4

Also Published As

Publication number Publication date
JP6984499B2 (ja) 2021-12-22
CN111065976B (zh) 2024-02-20
EP3767409A1 (en) 2021-01-20
US11215974B2 (en) 2022-01-04
EP3767409A4 (en) 2021-12-01
JP2019159634A (ja) 2019-09-19
US20200201297A1 (en) 2020-06-25
CN111065976A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
US8249726B2 (en) Method and device for accessing a functional module of automation system
US7272458B2 (en) Control system setting device
CN110050237B (zh) 数据收集装置、数据收集方法及记录介质
US6640140B1 (en) PLC executive with integrated web server
EP1705540B1 (en) Network opening method in manufacturing system
JP2018097663A (ja) 制御システム、制御プログラムおよび制御方法
JP6737298B2 (ja) コントローラ、制御方法、および制御プログラム
WO2019176486A1 (ja) 制御システム、コントローラ、および制御方法
CN111052009B (zh) 控制系统、控制器和控制方法
WO2019167512A1 (ja) 表示装置、画面生成方法、および画面生成プログラム
WO2019176336A1 (ja) 制御システム、開発支援装置、および開発支援プログラム
WO2019176337A1 (ja) FA(Factory Automation)システム、コントローラ、および制御方法
US20210051200A1 (en) Method for establishing a network communication in an automation system
WO2019176386A1 (ja) 制御システム、制御方法、および制御プログラム
JP2019159868A (ja) 制御システム、制御装置および表示装置
WO2023228357A1 (ja) プログラマブルロジックコントローラ、制御システム、データ収集方法及びプログラム
JP7412119B2 (ja) データ活用システム
JP2019159753A (ja) 制御装置、制御方法、および、制御プログラム
JP7044086B2 (ja) 制御システム、制御方法、および制御プログラム
WO2024121975A1 (ja) 表示装置、表示方法及びプログラム
US20220318007A1 (en) Programming support apparatus

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: 19767391

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: 2019767391

Country of ref document: EP

Effective date: 20201012