Network system and control device
The network system facilitates quick establishment of communication paths for remote monitoring and operation of control devices by using user-specified connection destinations and commands, addressing the inefficiencies of existing technologies in displaying and operating PLCs.
Patent Information
- Application Number
- PCT/JP2025/025963
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-23
- Filing Date
- 2025-07-22
- Publication Date
- 2026-02-26
AI Technical Summary
Existing technologies require significant effort to establish a communication path between a mobile terminal and a PLC within a factory, and do not facilitate quick display of control information and remote operation of the PLC.
A network system with a terminal device, information processing device, and server that enables a first communication path for displaying control information and a second communication path for remote operation, allowing the terminal device to establish connections without inquiry from external devices, using user-specified connection destinations and connection commands.
Enables quick establishment of communication paths for remote monitoring and operation of control devices, such as PLCs, by displaying control information and allowing remote operation directly from a terminal device.
Smart Images

Figure JP2025025963_26022026_PF_FP_ABST
Abstract
Description
Network system and control device
[0001] The present disclosure relates to a network system and a control device that enable remote monitoring and supervision of the control device.
[0002] 2. Description of the Related Art There have been proposed techniques for remotely monitoring the operating status of devices operating in remote factories and for remotely operating the devices.
[0003] For example, International Publication No. 2015 / 140908 (Patent Document 1) discloses a technology in which, when a mobile terminal outside a factory communicates with a PLC within the factory via a data center, the data center generates route information to the PLC based on information identified from a database within the data center (see paragraph 0037).
[0004] Furthermore, Japanese Patent Laid-Open Publication No. 2005-222133 (Patent Document 2) describes a technique for communicably connecting a program editing computer and a data collection computer that are installed away from the factory to a PLC installed in the factory.
[0005] International Publication No. 2015 / 140908 Japanese Patent Application Laid-Open No. 2005-222133
[0006] An operator desires to monitor information relating to the control of a control device and quickly establish a communication path for operating the control device as needed.
[0007] In contrast, in Patent Document 1, in order for a mobile terminal outside a factory to obtain route information for communicating with a PLC inside the factory, the mobile terminal must communicate with a data center (database), the data center must generate route information from information in the database, and data for generating the route information must be pre-registered in the database. Therefore, Patent Document 1 requires a lot of work to establish a communication path between the mobile terminal and the PLC, and cannot meet the above-mentioned demand. Furthermore, Patent Document 2 discloses technology for remotely operating a PLC, but does not disclose a configuration for establishing a communication path.
[0008] One object of the present disclosure is to enable display of information relating to the control of a control device on a terminal device and quick establishment of a communication path for operating the control device from the terminal device.
[0009] The network system according to the present disclosure comprises a plurality of computers belonging to the network, the plurality of computers including a terminal device, an information processing device to which a control device that controls an object is connected, and a server having a memory unit and transferring information from the memory unit to the terminal device for display, the network system comprising a first communication path established between the information processing device and the server on the network, the information processing device having an information transfer unit that transfers information relating to control transferred from the control device to the server via the first communication path to store the information in the memory unit, the terminal device having an operation reception unit that accepts user operations including remote operation of the control device, and an establishment unit that establishes a second communication path on the network for exchanging data based on the user operations between the terminal device and the control device via the server and the information processing device.
[0010] In the above-described network system, information related to control is transferred to a terminal device for display via a first communication path. Data for operating the control device is transferred from the terminal device to the control device via a second communication path. Therefore, information related to the control of the control device is displayed on the terminal device and can be used for remote monitoring, and the control device can be remotely operated from the terminal device.
[0011] Furthermore, the second communication path is established without the terminal device inquiring about the connection destination from an external device such as a server, etc. This allows the second communication path to be established quickly.
[0012] In the above disclosure, the terminal device executes a connection command to communicatively connect the terminal device to the control device, and the connection command includes a command to cause the terminal device to perform a process of establishing a second communication path on the network.
[0013] According to the above disclosure, the terminal device can establish a second communication path by executing a connection command.
[0014] In the above disclosure, the user operation includes an operation of specifying a connection destination that constitutes the second communication path, and the connection command includes specifying the connection destination that constitutes the second communication path. Therefore, the terminal device can establish the second communication path by specifying the connection destination for constructing the second communication path in accordance with the user operation and executing the connection command using the specified connection destination.
[0015] In the above disclosure, the designation of the connection destination includes the network identifier of the control device and the network identifier of the information processing device. Therefore, the designation of the connection destination can use the network identifier of the control device and the network identifier of the information processing device.
[0016] In the above disclosure, the designation of the connection destination further includes the port number of the control device, and therefore the network identifier of the control device and the port number of the control device can be used to designate the connection destination control device.
[0017] In the above disclosure, the control device has a control calculation unit that executes control calculations to calculate control commands in accordance with a program, and remote operation of the control device includes user operation to edit the program.
[0018] According to the above disclosure, remote operation for remotely operating a control device from a terminal device can include user operations accepted by the terminal device for editing a program for control calculations executed by the control device.
[0019] In the above disclosure, the control device has a detection unit that detects the operating state of an object to be controlled in accordance with a control command, and the information related to control includes a control command or an operating state.
[0020] According to the above disclosure, the information relating to control transferred from the server to the terminal device for display can include a control command or an operating state.
[0021] In the above disclosure, the server has a visualization unit that visualizes information related to control stored in a memory unit of the server, and transfers the visualized information related to control to a terminal device for display.
[0022] According to the above disclosure, a user of a terminal device can remotely monitor the control command or operating state of the control device by using visualized information related to the control of the control device.
[0023] In the above disclosure, the server determines whether information relating to control stored in the storage unit of the server satisfies a predetermined condition, and transmits a notification of the determination result to the terminal device.
[0024] According to the above disclosure, a notification indicating whether information regarding control satisfies a predetermined condition is provided to the terminal device, and the terminal device can use the notification together with the information regarding control as information for remote monitoring.
[0025] In the above disclosure, the information processing device connects multiple control devices that belong to a network different from the above network, and the terminal device executes a connection command for each control device to establish a second communication path between the terminal device and the control device.
[0026] According to the above disclosure, the second communication path for communicating with each control device is established by the terminal device specifying the connection destination and executing a connection command without inquiring about the connection destination from an external device such as a server, etc. This allows the second communication path to be quickly established for each control device.
[0027] The terminal device according to the present disclosure comprises a communication unit connectable to a network to which an information processing device that connects a control device that controls an object and a server having a storage unit belong, and the information processing device stores information related to the control transferred from the control device in the storage unit, and transfers the information related to the control to the server via the network, and the server transfers the information in the storage unit to the terminal device via the network for display, and the terminal device further comprises an operation reception unit that accepts user operations including remote operation of the control device, and an establishment unit that establishes a communication path on the network for exchanging data based on the user operations between the terminal device and the control device via the server and the information processing device.
[0028] According to the above disclosure, information relating to the control of the control device is transferred from the server to the terminal device for display. Furthermore, data for operating the control device is transferred from the terminal device to the control device via a communication path. Therefore, the information relating to the control of the control device is displayed on the terminal device and can be used for remote monitoring, and the control device can be remotely operated from the terminal device.
[0029] Furthermore, the terminal device establishes a communication path without inquiring about the connection destination from an external device such as a server, thereby enabling the communication path to be established quickly.
[0030] In the above disclosure, the terminal device executes a connection command to communicatively connect the terminal device to the control device, and the connection command includes a command to cause the terminal device to perform a process of establishing a communication path on the network.
[0031] According to the above disclosure, a terminal device can establish a communication path by specifying a connection destination and executing a connection command.
[0032] In the above disclosure, the user operation includes an operation of specifying a connection destination for configuring a communication path, and the connection command includes a specification of the connection destination for configuring the communication path. Therefore, the terminal device can establish the communication path by specifying a connection destination for configuring the communication path in accordance with the user operation and executing the connection command of the specified connection destination.
[0033] In the above disclosure, the designation of the connection destination includes the network identifier of the control device and the network identifier of the information processing device. Therefore, the designation of the connection destination can use the network identifier of the control device and the network identifier of the information processing device.
[0034] According to the present disclosure, it is possible to display information relating to the control of the control device on the terminal device, and also to quickly establish a communication path for operating the control device from the terminal device.
[0035] FIG. 1 is a diagram schematically showing establishment of a second communication path in a network system 1 according to the present embodiment. FIG. 2 is a diagram schematically showing a configuration example of a terminal device 300 according to the present embodiment. FIG. 3 is a diagram schematically showing a configuration example of a server 200 according to the present embodiment. FIG. 4 is a diagram schematically showing a configuration example of an IPC 150 according to the present embodiment. FIG. 5 is a diagram schematically showing a configuration example of a PLC 100 according to the present embodiment. FIG. 6 is a diagram showing an example of a connection command 3 according to the present embodiment. FIG. 7 is a diagram schematically showing an example of an overall configuration of a network system 1 according to the embodiment. FIG. 8 is a diagram showing an example of a communication sequence according to the present embodiment. FIG. 9 is a diagram showing an example of a communication sequence according to the present embodiment. FIG. 10 is a diagram showing an example of a communication sequence according to the present embodiment. FIG. 11 is a diagram showing an example of a communication sequence according to the present embodiment. FIG. 12 is a diagram showing an example of a screen of a display 308 according to the present embodiment. FIG. 13 is a diagram showing an example of a screen of a display 308 according to the present embodiment.
[0036] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present disclosure will be described in detail with reference to the accompanying drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and the description thereof will not be repeated.
[0037] <A. Application Example> First, with reference to FIG. 7, an example of a situation to which the present disclosure is applied will be described.
[0038] 7 is a schematic diagram showing an example of the overall configuration of a network system 1 according to an embodiment. In this disclosure, the main use of the network system 1 is intended to be a "remote monitoring and remote operation system" that remotely monitors the operating status of a PLC (Programmable Logic Controller) 100, which is an example of an industrial controller, and remotely operates the PLC 100. However, the technical scope of the present disclosure is not limited to the scope of this term and should be reasonably interpreted based on the description of the claims.
[0039] The network system 1 includes multiple computers that belong to a "first network" including the Internet. The multiple computers include a device installed in a factory, a server 200 provided in a cloud environment, and a terminal device 300 for remote operation and a terminal device 350 for remote monitoring that are installed in a location remote from the factory, such as an office.
[0040] The terminal device 300 communicates with the server 200 via a network 75 including the Internet. The terminal device 350 communicates with the server 200 via a network 74 including the Internet. The server 200 communicates with devices in the factory via a network 72 in the factory and a network 73 including the Internet.
[0041] In the network system 1, a first communication path and a second communication path are established (set). More specifically, the first communication path is a communication path for displaying control-related information collected from the PLC 100 on the terminal device 350, i.e., for data for remotely monitoring the operating status of the control device. The second communication path is a communication path for exchanging data based on user operations between the terminal device 300 and the control device in order to remotely operate the PLC 100 from the terminal device 300. The first communication path is configured to include the network 70. The second communication path includes at least networks 72, 73, and 75.
[0042] The terminal device 300 has a PLC editing unit 322, a session securing unit 323 that secures a communication session for the second communication path, and an operation accepting unit 324 that accepts user operations for the terminal device 300. The PLC editing unit 322 edits the software (programs and data) of the PLC 100 based on the user operations. Editing information based on the editing operations is transferred to the PLC 100 via the second communication path, and the PLC 100 edits the user program based on the editing information. The monitoring terminal device 350 also has a browser 351 for displaying information transferred from the server 200.
[0043] The server 200 has a session exchange unit 233 that relays communication between the terminal device 300 and an IPC (industrial personal computer) 150 (described later) on the second communication path, a SCADA (Supervisory Control And Data Acquisition) 234, and a data accumulation unit 232 that includes storage.
[0044] The SCADA 234 stores various data, including information related to control, transferred from the IPC 150 in the storage of the data accumulation unit 232. The SCADA 234 analyzes the data stored in the storage and monitors the operating status of the PLC 100. For example, the SCADA 234 determines whether the information related to control satisfies predetermined conditions, and transfers a notification 7 indicating the determination result to the terminal device 300 or the terminal device 350. The predetermined conditions include a threshold value for determining whether the PLC 100 is in a state where a problem, such as an abnormality, has occurred. The SCADA 234 uses the notification 7 to notify the user of the terminal device 300 or the terminal device 350 that a problem has occurred in the PLC 100.
[0045] The SCADA 234 also serves as a "visualization unit" that converts the data (control-related information) from the data storage unit 232 into visualized data such as a web page. The SCADA 234 transfers the visualized control-related information to the terminal device 350 for display. More specifically, the browser 351 of the terminal device 350 receives the web page provided by the SCADA 234 via the network 74 and displays an image based on the web page on the display. This allows the user to monitor the operating status of the remote PLC 100 from the image displayed on the display screen.
[0046] The factory devices include a router 10, an IPC 150 connected to the router 10 via a network 72, two PLCs 100 connected to the IPC 150 via a network 71, and a DB device 180 having a DB (database). The router 10 is an example of a device that relays communications between the factory devices and an external network 73, and has a firewall.
[0047] The PLC 100 and DB device 180, which are control devices connected to the IPC 150, may be one or more. The DB device 180 controls the DB and includes a DBMS (Data Base Management System) that operates the DB in response to external requests. The types of control devices connected to the IPC 150 are not limited to the PLC 100 and DB device.
[0048] The PLC 100 is connected to a control target such as a field device 90 (described later). The PLC 100 calculates a command value (control command) by executing a control calculation according to a user program, and controls the control target by outputting the calculated command value to the control target. The PLC 100 periodically controls the control target according to a control period.
[0049] The IPC 150 has a session securing unit 171 that establishes and maintains a communication session for the second communication path, and a data collecting unit 172. The data collecting unit 172 receives control-related information transferred from the PLC 100 or the DB device 180 via the network 71 in synchronization with the control period, and stores the information in a storage unit. The data collecting unit 172 collects information, for example, by storing the control-related information in association with time. The IPC 150 stores the information collected by the data collecting unit 172 in the data accumulation unit 232 of the server 200, and therefore also serves as an "information transferring unit" that transfers the information to the server 200 via the network 70.
[0050] The second communication path is a communication path through which the terminal device 300 exchanges data based on user operations received by the operation reception unit 324 between the terminal device 300 and the PLC 100 via the server 200 (session exchange unit 233) and the IPC 150 (session assurance unit 171).
[0051] A connection command 3 for establishing the second communication path is stored in the storage unit of the terminal device 300. The connection command 3 is executed using a parameter indicating a connection destination specified by the terminal device 300. When the connection command 3 is executed, a second communication path including the specified connection destination is established. The connection destination constituting the second communication path is specified by, for example, a device identifier (IP address) or a port number. Data transferred over the second communication path between the terminal device 300 and the PLC 100 includes data for a user to remotely operate the PLC 100.
[0052] In the network system 1 of this embodiment, information related to the control of the PLC 100 is transferred to the terminal device 350 via the first communication path and displayed. Data for remotely operating the PLC 100 is transferred from the terminal device 300 to the PLC 100 via the second communication path, and the PLC 100 is operated in accordance with the data. Therefore, the terminal device 350 can remotely monitor information related to the control of the PLC 100, and the terminal device 300 can remotely operate the PLC 100.
[0053] In this embodiment, the second communication path is established by the terminal device 300 specifying the connection destination and executing the connection command 3, without inquiring about the connection destination from an external device such as the server 200. Therefore, the second communication path can be established quickly.
[0054] In this embodiment, the PLC 100 is shown as an example of a control device, but the present embodiment can be similarly applied to other controllers such as sequencers, as long as they are industrial controllers, and are not limited to PLCs. Furthermore, the terminal device 300 and the terminal device 350 may be provided as an integrated terminal device. Furthermore, the terminal device 300 or the terminal device 350 includes a stationary computer or a portable computer. Portable computers include smartphones, tablet terminals, wearable terminals, etc.
[0055] As a more specific application example, the configuration and processing of the network system 1 according to this embodiment will be described in more detail below.
[0056] <B. Schematic Configuration> Fig. 1 is a diagram that schematically illustrates the establishment of a second communication path 80 in a network system 1 according to the present embodiment. In Fig. 1, a terminal device 300 is connected to a server 200 via a router 30 having a firewall. The other configuration in Fig. 1 is the same as the configuration described in Fig. 7, and therefore description thereof will not be repeated. In Fig. 1, a second communication path 80, indicated by a dashed line, is illustrated as a path along which a user 8 of the terminal device 300 transfers data for remotely operating a PLC 100.
[0057] The PLC 100 is connected to a field network 5, which is an example of a "second network" different from the first network. The field network 5 may be an industrial network such as EtherCAT (registered trademark) or EtherNet / IP (registered trademark). The PLC 100 collects information (status values) indicating the status of field devices 90, including sensors, via the field network 5, executes predetermined control operations using the collected information in accordance with a user program, and outputs control commands, which are the results of the execution, to the field devices 90, such as actuators. The control commands (command values) are calculated by executing control operations such as a sequence program or a motion program. In this embodiment, the information related to control includes the status values, or includes the status values and command values.
[0058] In the field network 5, a protocol that guarantees data arrival time is adopted for communication between the PLC 100 and the field devices 90, enabling real-time control.
[0059] <C. Configuration of Terminal Device 300> Fig. 2 is a schematic diagram showing an example configuration of the terminal device 300 according to this embodiment. The terminal device 300 is a computer having a general-purpose architecture. The terminal device 300 realizes various processes by having a processor execute pre-installed programs.
[0060] The terminal device 300 includes a processor 302 such as a CPU (Central Processing Unit) or an MPU (Micro Controller Unit), a main memory 304 including a ROM (Read Only Memory) or a RAM (Random Access Memory), a hard disk drive (HDD) 306, a display 308, an input unit 309 such as a keyboard or a mouse, and a network controller 312 for exchanging data with other devices. The network controller 312 includes a circuit for communicating with the network 74 or 75. These components are connected to each other via an internal bus 314 so that they can communicate data with each other. The display 308 and the input unit 309 may be configured as a touch panel.
[0061] The hard disk 306 includes a system program 307 including an operating system (OS) for providing a basic program execution environment on the terminal device 300, an application program 310 executed under the OS, and a management table 320. The application program includes a remote editing program 311 and a session management program 313 including a connection command 3. The remote editing program 311 realizes a PLC editing unit 322 when executed, and the session management program 313 realizes a session securing unit 323 when executed. The session securing unit 323 manages information on designated connection destinations for each established session in the management table 320. The session securing unit 323 may also be configured to manage information on designated connection destinations for each established session without using the management table 320. The processor 302 reads and loads the program from the HDD 306 into the main memory 304, and executes the loaded program.
[0062] The hardware configuration of terminal device 350 is similar to that of terminal device 300, and therefore description thereof will not be repeated.
[0063] <D. Configuration of Server 200> Fig. 3 is a schematic diagram showing an example configuration of the server 200 according to this embodiment. The server 200 is a computer having a general-purpose architecture. The server 200 realizes various processes by having a processor execute pre-installed programs.
[0064] The server 200 includes a processor 202 such as a CPU or MPU, a main memory 204 including ROM and RAM, a hard disk (HDD) 206, a display 208, an input unit 210 such as a keyboard and a mouse, and a network controller 212 for exchanging data with other devices. These components are connected to each other via an internal bus 214 so that data can be communicated between them. The hard disk 206 is a memory unit that stores a system program 220 including an OS that provides a basic program execution environment on the server 200, and a server program 222 that runs under the OS. The hard disk 206 has a storage area for a data accumulation unit 232. The processor 202 reads the program from the hard disk 206 into the main memory 204, expands it, and executes it. The data accumulation unit 232 stores control information 230.
[0065] The server program 222 includes a session exchange program 223, a SCADA program 224, and control-related information 230. The SCADA program 224 includes a visualization program 22a that visualizes information, a determination program 22b that determines whether the control-related information 230 satisfies predetermined conditions, and a notification program 22c that sends a notification 7 based on the determination result to the terminal device 300 or the terminal device 350, for example, as an email.
[0066] When the session exchange program 223 is executed, a session exchange unit 233 is realized, and when the SCADA program 224 is executed, a SCADA 234 is realized.
[0067] <E. Configuration of IPC 150> Fig. 4 is a schematic diagram showing an example of the configuration of the IPC 150 according to this embodiment. The IPC 150 realizes various processes by having a processor execute pre-installed programs.
[0068] The IPC 150 includes a processor 151 such as a CPU or an MPU, a main memory 152 including a ROM and a RAM, a hard disk (HDD) 153, a display 155, an input unit 156 such as a keyboard or a mouse, a network controller 154 that connects a network 72 to which, for example, EtherCAT (registered trademark) or Ethernet / IP (registered trademark) is applied, and a network controller 157 that connects a network 71. These components are connected to each other via an internal bus 158 so that they can communicate data with each other. For example, the Ethernet (registered trademark) standard is applied to the network 71, and data is transferred in accordance with TCP / IP (Transmission Control Protocol / Internet Protocol).
[0069] The hard disk 153 stores a system program 163 including an OS for providing a basic program execution environment in the IPC 150, and an application program 160 executed under the OS. The hard disk 153 also has a collection area 164. The application program 160 includes a reservation program 161 and a collection program 162. When the reservation program 161 is executed, a session reservation unit 171 is realized, and when the collection program 162 is executed, a data collection unit 172 is realized that collects (stores) information related to control transferred from the PLC 100 in the collection area 164.
[0070] <F. Configuration of PLC 100> Figure 5 is a schematic diagram showing an example configuration of a PLC 100 according to this embodiment. The PLC 100 corresponds to a computer in which a processor executes pre-installed programs to control a control target. More specifically, the PLC 100 includes a processor 102 such as a CPU or an MPU, a chipset 104, a main memory 106 including ROM and RAM, a flash memory 108, a network controller 116 that communicates with a network 71, a memory card interface 118, an internal bus controller 122, and a field bus controller 124. The flash memory 108 stores application programs including a system program 110 including an OS, a user program 112, an editing program 113 for online editing (described later), an information collection program 167 that collects control-related information, and a target program 169.
[0071] The processor 102 reads out the program stored in the flash memory 108, expands it into the main memory 106, and executes it. When the user program 112 is executed under the system program 110, the processor 102 realizes control of the control object. That is, by linking with the main memory 106 and the flash memory 108, the processor 102 realizes a control unit that performs input / output refresh for exchanging data (control commands, status values) with the field devices 90 and executes control calculations.
[0072] The user program 112 includes a sequence program 112A for executing sequence control on a control object, a motion program 112B for executing motion control, and an input / output refresh program (not shown).
[0073] The chipset 104 controls each component to realize processing of the PLC 100 as a whole. The internal bus controller 122 is an interface that exchanges data with an I / O unit 126 that is connected to the PLC 100 via the internal bus. The field bus controller 124 is an interface that exchanges data with an I / O unit 128 that is connected to the PLC 100 via the field bus. The internal bus controller 122 and the field bus controller 124 acquire, from the network 71, status values that are to be input to the corresponding I / O units 126 and 128, respectively, and output the results of calculations by the processor 102 from the corresponding I / O units 126 and 128 to the network 71 as control commands.
[0074] The memory card interface 118 is configured to allow a memory card 120 to be attached and detached, and allows data to be written to the memory card 120 and data to be read from the memory card 120 .
[0075] The network controller 116 controls data exchange with the IPC 150 via various wired / wireless networks. In the network system 1 of this embodiment, data is exchanged with the network 71 via the network controller 116.
[0076] When the information collection program 167 is executed, the PLC 10 collects in real time, by input / output refresh, status values and control commands exchanged with the field devices 90. When the editing program 113 is executed, the PLC 100 performs editing processing on the target program 169 that is the target of online editing.
[0077] Note that some or all of the functions provided by the terminal device 300, the server 200, the IPC 150, and the PLC 100 executing programs may be implemented as dedicated hardware circuits.
[0078] <G. Connection Command> Fig. 6 is a diagram showing an example of a connection command 3 according to this embodiment. The connection command 3 includes a designation (parameter) of a connection destination for configuring the second communication path 80, and a command for instructing port forwarding and tunneling at the designated connection destination.
[0079] The specification of the connection destination includes the network identifier (IP address) of the PLC 100 of the connection destination and the identifier 64 of the IPC 150 connecting the PLC 100. When a session is established using a port number, the specification of the connection destination includes the port number of the PLC 100.
[0080] 6 is an example of a command for the terminal device 300 to establish a session by specifying a port number of the destination PLC 100. The destination specification in the connection command 3 includes an IP address 61 of the destination PLC 100, a destination port number 62 of the PLC 100, a local port number 63, and an identifier 64 of the IPC 150. The destination port number 62 indicates a port number for connecting from the IPC 150 to the PLC 100. The local port number 63 indicates a port number for connecting the terminal device 300 to a session securing unit 323, which will be described later.
[0081] <H. Communication Sequence> FIGS. 8 to 11 are diagrams showing an example of a communication sequence according to this embodiment.
[0082] (h1. Communication Sequence of Second Communication Path) FIG. 8 shows a communication sequence before a session of the second communication path 80 is established. FIG. 8 shows a communication sequence between the terminal device 300, the server 200, the IPC 150, and the PLC 100. The terminal device 300 includes an operation reception unit 324 and a session securing unit 323. The session securing unit 323 includes a proxy module that serves as an intermediate between the terminal device 300 and the server 200 and relays communication between them. In this embodiment, the proxy module is implemented in the terminal device 300 by installing a plug-in in the terminal device 300. Note that the implementation method of the proxy module is not limited to the plug-in. In the communication sequence of this embodiment, packets are exchanged. The packet includes a header for storing the destination of the packet and a body for storing the payload.
[0083] In this embodiment, the user operations accepted by the operation accepting unit 324 include an operation for specifying the connection destinations that constitute the second communication path. More specifically, in Fig. 8, in order to start a session on the second communication path, the user 8 operates the input unit 309 to specify the connection destinations, i.e., input the IP address 61 of the PLC 100, the connection destination port number 62 of the PLC 100, and the identifier 64 of the IPC 150. When the operation accepting unit 324 accepts the specification of these connection destinations, the specification of the connection destinations and the startsession command 60 are output to the session securing unit 323 (step S1).
[0084] The session securing unit 323 executes a startsession command 60, which is an example of a connection command 3 that includes a parameter specifying the destination of connection, to perform a communication check process for establishing a session (step S2). More specifically, the session securing unit 323 generates a communication check packet specifying a port number 62 and transmits it to the network 72. The packet reaches the PLC 100 via networks 72, 73, and 75 (by tunneling through the session exchange unit 233, the router 10, and the session securing unit 171). The PLC 100 determines whether the port indicated by the destination port number 62 in the packet is open, i.e., available for use. The PLC 100 returns the determination result to the session securing unit 323. This allows the session securing unit 323 to specify the PLC 100 (port) and check communication.
[0085] 9 shows a communication sequence after a session is established for the second communication path 80. After the communication connection is confirmed, the PLC editing unit 322 generates a packet 910 and outputs it to the session securing unit 323 in order to connect to the PLC 100 (step S5). The header 92 of the packet 910 stores the local port number 63, and the body 93 of the packet 910 stores editing information 931.
[0086] The session securing unit 323 registers (writes) session information identifying a session for which communication has been successfully confirmed in the management table 320. In Fig. 9, session information 321 including a local port number 63 and a destination specification (IP address 61 of the destination PLC 100, destination port number 62 of the PLC 100, and identifier 64 of the IPC 150) is registered in the management table 320. The session securing unit 323 holds the session information 321 in the management table 320 from the start to the end of the session. The session securing unit 323 uses the session information 321 to carry out subsequent communication.
[0087] The session securing unit 323 generates a packet 911 and transfers the packet 911 to the server 200 via the network 75 (step S6). A header 92 of the packet 911 stores an identifier 921 (IP address) of the server 200, and a body 93 of the packet 911 stores editing information 931 acquired from the packet 910 and the connection destination indicated by the session information 321 searched for in the management table 320 (i.e., the IP address 61 of the connection destination PLC 100, the connection destination port number 62 of the PLC 100, and the identifier 64 of the IPC 150).
[0088] When the server 200 receives the packet 911, the session exchange unit 233 generates a packet 912 and transfers the packet 912 to the IPC 150 (step S7). The header 92 of the packet 912 stores the identifier 64 (IP address) of the IPC 150, and the body 93 of the packet 912 stores the editing information 931 acquired from the packet 911 and the connection destination indicated by the packet 911 (i.e., the IP address 61 of the connection destination PLC 100 and the connection destination port number 62 of the PLC 100).
[0089] When the IPC 150 receives the packet 912, the session securing unit 171 generates a packet 913 and transfers the packet 913 to the PLC 100 (step S8). The header 92 of the packet 913 stores the destination port number 62 of the PLC 100 obtained from the packet 912, and the body 93 of the packet 913 stores the editing information 931 obtained from the packet 912.
[0090] As shown in the communication sequence of Figure 9, when editing information 931 generated by the PLC editing unit 322 is transferred from terminal device 300 to PLC 100 over the second communication path 80, port forwarding and tunneling are performed on the second communication path 80 for the packet storing the editing information 931 according to the destination based on session information 321.
[0091] (h2. Communication Sequence of First Communication Path) FIG. 10 shows a communication sequence between the server 200, the IPC 150, and the PLC 100 for collecting data on the first communication path. To collect information related to control, the data collection unit 172 of the IPC 150 transfers a request to the PLC 100 (step S10). Upon receiving the request, the PLC 100 transfers a response to the IPC 150 (step S11). The response includes information related to control collected by the information collection program 167. The data collection unit 172 of the IPC 150 transfers (POSTs) the information related to control received from the PLC 100 to the SCADA 234 of the server 200 via the network 70 (first communication path) (step S12). The SCADA 234 stores the information related to control received from the IPC 150 in the data storage unit 232.
[0092] The first communication path may use, for example, HyperText Transfer Protocol (HTTP) or HyperText Transfer Protocol Secure (HTTPs). The first communication path uses the POST method to transfer data in one direction from the IPC 150 to the server 200.
[0093] 11 shows a communication sequence between the browser 351 and the SCADA 234 via the network 74. In this communication sequence, the network 74 uses HTTP (Hypertext Transfer Protocol) or HTTPs (Hypertext Transfer Protocol Secure).
[0094] 11 , the browser 351 of the terminal device 350 sends a request to the SCADA 234 of the server 200 (step S13). The SCADA 234 transfers a response including a web page showing the requested information to the browser 351 (step S14). The browser 351 displays a screen based on the received web page on the display. The web page shows information related to the control of the PLC 100 collected by the SCADA 234. The user 8 can view the information related to the control of the PLC 100 on the screen and monitor the operating status of the remote PLC 100.
[0095] 12 to 14 are diagrams showing examples of screens on the display 308 according to this embodiment. The operations of the user 8 on the terminal device 300 include remote operation of the PLC 100. As an example of remote operation, an operation for editing the user program 112 of the PLC 100 will be described.
[0096] 12 to 14 are examples of a GUI (Graphical User Interface) made up of one or more objects that enable display of the user program 112 and acceptance of editing operations. The GUI in Fig. 12 includes an object 340 that is operated to start online editing of the user program 112. When object 340 is operated, the screen in Fig. 13 is displayed.
[0097] The GUI in Fig. 13 includes boxes 341 and 343 that accept an operation to specify a destination device. When box 341 is operated, a pull-down list showing candidate device types (for example, a controller or a DB device) is displayed. A controller is set in box 341 in Fig. 13 by a user operation. Furthermore, an IP address that is an identifier of the destination PLC 100 (controller) is set in box 342. The IP address set in box 342 corresponds to IP address 61 that specifies the destination PLC 100 among the parameters of connection command 3.
[0098] 14 shows an example of a GUI for online editing. In online editing, the PLC editing unit 322 generates editing information 931 based on a user operation received from the GUI, and communicates with the connected PLC 100 via the second communication path 80 secured by the session securing unit 323. The editing information 931 includes a program editing command and a build command.
[0099] In the PLC 100, the edit program 113 is executed in accordance with the edit information 931 to edit the target program 169. When a build command is executed, the edited target program 169 is converted (built) into a format executable by the PLC 100, and the online edit is completed. On the screen of Fig. 14, a pop-up notification 345 indicates that the edit has been completed. Note that the commands included in the edit information 931 are not limited to edit commands and commands instructing a build.
[0100] In online editing, editing is performed on the target program 169 of the PLC 100. More specifically, in the PLC 100, the user program 112 is copied, and the copied user program is stored in the flash memory 108 as the target program 169 to be edited. In online editing, the PLC 100 continues periodic control of the field devices 90, while editing and building the target program 169 in accordance with the editing information 931 during the processor 102's free time in the control cycle. After the build, the user program 112 is replaced with the built target program 169. In this way, in online editing, editing processing is not performed on the user program 112 referenced by the PLC 100 when executing control calculations. Therefore, the PLC 100 can perform control calculations in parallel with the editing processing. Furthermore, once editing (building) is completed in online editing, the user program referenced for control calculations is switched to the edited user program (target program 169), allowing calculation processing based on the edited user program to begin promptly.
[0101] The editing information 931 is not limited to information for editing the user program 112. For example, the editing information 931 may include information instructing editing of a setting value related to the control of the PLC 931 (such as changing a value).
[0102] The target device for remote monitoring and remote operation is not limited to the PLC 100, but may also be the DB device 180. More specifically, the IPC 150 detects the data volume and access speed of the DB device 180, and the SCADA 234 generates a web page based on control information including the detected data volume and access speed and provides it to the browser 351. This allows the user 8 to remotely monitor the operating status of the DB device 180. The SCADA 234 also determines whether the data volume and access speed satisfy predetermined conditions (e.g., whether the data volume and access speed exceed a threshold). The terminal device 300 specifies the IP address of the DB device 180 as the connection destination, communicates with the specified DB device 180 via the second communication path 80, and remotely operates the DB device 180. The editing information 931 includes, for example, information on Structured Query Language (SQL) operations.
[0103] When the IPC 150 connects multiple control devices (PLC 100, DB device 180) belonging to the network 71, the terminal device 300 executes connection command 3 to specify each control device as the connection destination in order to establish a second communication path 80 between the terminal device 300 and the control device.
[0104] In the network system 1, when a user 8 receives, for example, a trouble notification 7, the user 8 can remotely monitor and operate the operating status of the control device (PLC 100 or DB device 180) from the factory for troubleshooting. The network system 1 visualizes and provides the operating status of the control device after remote operation to the user 8 on the screen of the browser 351. The notification 7 may include a notification that the troubleshooting was successful.
[0105] <J. Supplementary Note> The present embodiment as described above includes the following technical idea. [Configuration 1] A network system (1) comprising a plurality of computers belonging to a network, the plurality of computers including: a terminal device (300); an information processing device (150) connecting a control device (100) that controls an object (90); and a server (200) having a memory unit (206) and transferring information in the memory unit to the terminal device for display; the network system comprising: a first communication path established on the network between the information processing device and the server; the information processing device having an information transfer unit that transfers information (230) related to the control transferred from the control device to the server via the first communication path to store the information in the memory unit; the terminal device having: an operation reception unit (324) that receives user operations including remote operation of the control device; and an establishment unit (323) that establishes a second communication path (80) on the network for exchanging data based on the user operation between the terminal device and the control device via the server and the information processing device. [Configuration 2] The network system according to Configuration 1, wherein the terminal device executes a connection command (3) for communicatively connecting the terminal device to the control device, and the connection command includes a command for causing the terminal device to perform processing for establishing the second communication path on the network. [Configuration 3] The network system according to Configuration 2, wherein the user operation includes an operation for specifying a connection destination that constitutes the second communication path, and the connection command includes a specification (61, 62, 64) of the connection destination. [Configuration 4] The network system according to Configuration 3, wherein the specification of the connection destination includes a network identifier (61) of the control device and a network identifier (64) of the information processing device. [Configuration 5] The network system according to Configuration 4, wherein the specification of the connection destination further includes a port number (62) of the control device.[Configuration 6] The network system of any one of configurations 1 to 5, wherein the control device has a control calculation unit (102) that executes control calculations to calculate a control command according to a program (112), and remote operation of the control device includes user operation to edit the program. [Configuration 7] The network system of configuration 6, wherein the control device has a detection unit (167) that detects an operating state of the object to be controlled according to the control command, and the control-related information includes the control command or the operating state. [Configuration 8] The network system of any one of configurations 1 to 7, wherein the server has a visualization unit (22a) that visualizes the control-related information (230) stored in the memory unit of the server, and transfers the visualized control-related information to the terminal device for display. [Configuration 9] The network system of any one of configurations 1 to 8, wherein the server determines whether the control-related information (230) stored in the memory unit of the server satisfies a predetermined condition, and transmits a notification (7) of the determination result to the terminal device. [Configuration 10] The network system according to any one of configurations 1 to 9, wherein the information processing device connects a plurality of the control devices that belong to a network (71) different from the network, and the terminal device establishes the second communication path between the terminal device and each of the plurality of control devices.[Configuration 11] A terminal device comprising: a communication unit (312) connectable to a network to which an information processing device (150) that connects a control device (100) that controls an object (90) and a server having a storage unit (206) belong; the information processing device transfers information (230) related to the control transferred from the control device to the server via the network to store the information in the storage unit; the server transfers information in the storage unit to the terminal device via the network for display; and the terminal device further comprises: an operation reception unit (324) that receives user operations including remote operation of the control device; and an establishment unit (323) that establishes a communication path (80) on the network for exchanging data based on the user operation between the terminal device and the control device via the server and the information processing device. [Configuration 12] The terminal device according to Configuration 11, wherein the terminal device executes a connection command (3) for communicatively connecting the terminal device to the control device, and the connection command includes a command for causing the terminal device to perform processing for establishing the communication path on the network. [Configuration 13] The terminal device according to Configuration 12, wherein the user operation includes an operation for specifying a connection destination that constitutes the communication path, and the connection command includes specification (61, 62, 64) of the connection destination. [Configuration 14] The terminal device according to Configuration 13, wherein the specification of the connection destination includes a network identifier (61) of the control device and a network identifier (64) of the information processing device.
[0106] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims.
[0107] 1 Network system, 3 Connection command, 5 Field network, 7, 345 Notification, 8 User, 10, 30 Router, 22a Visualization program, 22b Judgment program, 22c Notification program, 60 Command, 61 IP address, 62, 63 Port number, 64, 921 Identifier, 70, 71, 72, 74, 75 Network, 80 Second communication path, 90 Field device, 92 Header, 93 Main body, 102, 151, 202, 302 Processor, 104 Chip set, 106, 152, 204, 304 Main memory, 108 Flash memory, 110, 163, 220, 307 System program, 112 User program, 112A Sequence program, 112B Motion program, 113 Editing program, 116, 154, 157, 212, 312 Network controller, 118 Memory card interface, 120 Memory card, 122 Internal bus controller, 124 Field bus controller, 126, 128 Unit, 153, 206, 306 Hard disk, 155, 208, 308 Display, 156, 210, 309 Input unit, 158, 214, 314 Internal bus, 160, 310 Application program, 161 Securing program, 162 Collection program, 164 Collection area, 167 Information collection program, 169 Target program, 171, 323 Session securing unit, 172 Data collection unit, 180 DB device, 200 Server, 222 Server program, 223 Session exchange program, 224 SCADA program, 230 Information related to control, 232 Data accumulation unit, 233 Session exchange unit, 300, 350 Terminal device, 311 Remote editing program, 313 Session management program, 320 management table, 321 session information, 322 PLC editing unit, 324 operation reception unit, 340 object, 341, 342 box, 351 browser, 910, 911, 912, 913 packet, 931 editing information, S1, S2, S5, S6, S7, S8, S10, S11, S12, S13, S14 steps.
Claims
1. A network system comprising a plurality of computers belonging to a network, the plurality of computers including: a terminal device; an information processing device to which a control device that controls an object is connected; and a server having a memory unit and transferring information in the memory unit to the terminal device for display; the network system comprising a first communication path established on the network between the information processing device and the server; the information processing device having an information transfer unit that transfers information related to the control transferred from the control device to the server via the first communication path to store the information in the memory unit; the terminal device having an operation reception unit that accepts user operations including remote operation of the control device; and an establishment unit that establishes a second communication path on the network for exchanging data based on the user operation between the terminal device and the control device via the server and the information processing device.
2. The network system described in claim 1, wherein the terminal device executes a connection command to communicatively connect the terminal device to the control device, and the connection command includes a command to cause the terminal device to perform a process to establish the second communication path on the network.
3. The network system according to claim 2, wherein the user operation includes an operation for specifying a connection destination that constitutes the second communication path, and the connection command includes a specification of the connection destination.
4. The network system according to claim 3, wherein the designation of the connection destination includes a network identifier of the control device and a network identifier of the information processing device.
5. The network system according to claim 4, wherein the specified connection destination further includes a port number of the control device.
6. A network system according to any one of claims 1 to 5, wherein the control device has a control calculation unit that executes control calculations to calculate control commands in accordance with a program, and remote operation of the control device includes user operation to edit the program.
7. The network system described in claim 6, wherein the control device has a detection unit that detects the operating state of the object to be controlled in accordance with the control command, and the information regarding the control includes the control command or the operating state.
8. A network system as described in any one of claims 1 to 5, wherein the server has a visualization unit that visualizes information relating to the control stored in the memory unit of the server, and transfers the visualized information relating to the control to the terminal device for display.
9. A network system according to any one of claims 1 to 5, wherein the server determines whether the information relating to the control stored in the memory unit of the server satisfies predetermined conditions, and transmits a notification of the determination result to the terminal device.
10. A network system as described in any one of claims 1 to 5, wherein the information processing device connects a plurality of the control devices that belong to a network different from the network, and the terminal device establishes the second communication path between the terminal device and each of the plurality of control devices.
11. A terminal device comprising: a communication unit connectable to a network to which an information processing device connecting a control device that controls an object and a server having a storage unit belong; the information processing device transfers information related to the control transferred from the control device to the server via the network to store the information in the storage unit; the server transfers information in the storage unit to the terminal device via the network for display; and the terminal device further comprises: an operation reception unit that receives user operations including remote operation of the control device; and an establishment unit that establishes a communication path on the network for exchanging data based on the user operations between the terminal device and the control device via the server and the information processing device.
12. The terminal device according to claim 11, wherein the terminal device executes a connection command to communicatively connect the terminal device to the control device, and the connection command includes a command to cause the terminal device to perform a process to establish the communication path on the network.
13. The terminal device according to claim 12, wherein the user operation includes an operation for specifying a connection destination that constitutes the communication path, and the connection command includes a specification of the connection destination.
14. The terminal device according to claim 13, wherein the specified connection destination includes a network identifier of the control device and a network identifier of the information processing device.
Citation Information
Patent Citations
PLC communication system and method based on Json-RPC
CN114253210A
Remote PLC (Programmable Logic Controller) system based on 5G LAN (Local Area Network) and debugging method
CN117793162A
Management system, gateway apparatus, server apparatus, management method, gateway method, management process execution method, and program
WO2015140908A1