CONTROL SYSTEM
20230065450 · 2023-03-02
Inventors
Cpc classification
G05B2219/1214
PHYSICS
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B2219/1194
PHYSICS
G05B2219/31467
PHYSICS
H04L67/10
ELECTRICITY
G05B19/414
PHYSICS
H04L67/12
ELECTRICITY
International classification
Abstract
A control system is configured by two-way communication conducted between a controller and a display terminal for displaying an operating state of the controller, and includes a processing time managing unit configured to measure time taken for processing pieces of data received from another end, and obtain from the other end and manage time taken on the other end for processing the pieces of data sent to the other end, and a congestion control unit configured to adjust a data sending amount to the other end per unit time based on the time taken for processing the pieces of data on the other end which are managed by the processing time managing unit.
Claims
1. A control system configured by two-way communication conducted between a controller and a display terminal for displaying an operating state of the controller, comprising: a processing time managing unit configured to measure time taken for processing pieces of data received from another end, and obtains from the other end and manage time taken on the other end for processing the pieces of data sent to the other end; and a congestion control unit configured to adjust a data sending amount to the other end per unit time based on the time taken for processing the pieces of data on the other end, the time being managed by the processing time managing unit.
2. A controller for performing two-way communication with a display terminal, wherein the display terminal is configured to display an operating state of the controller, and wherein the controller comprises: a processing time managing unit configured to measure time taken for processing pieces of data received from the display terminal, and obtains from the display terminal and manage time taken in the display terminal for processing the pieces of data sent to the display terminal; and a congestion control unit configured to adjust a data sending amount to the display terminal per unit time based on the time taken in the display terminal for processing the pieces of data sent to the display terminal, the time being managed by the processing time managing unit.
3. The control system according to claim 1, further comprising a dummy data generating unit configured to periodically generate predetermined dummy data, and give instructions to the processing time managing unit to send the generated data to the other end.
4. The controller according to claim 2, further comprising a dummy data generating unit configured to periodically generate predetermined dummy data, and give instructions to the processing time managing unit to send the generated data to the display terminal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
BEST MODE FOR IMPLEMENTING THE INVENTION
[0016] Illustrative embodiments of the present invention will now be described with reference to the accompanying drawings.
[0017]
[0018] The controller 100 according to the embodiment includes a central processing unit (CPU) 101 that is a processor for controlling the controller 100 as a whole. The CPU 101 is configured to read a system program stored in a read-only memory (ROM) 102 via a bus 112 to thereby control the controller 100 as a whole in accordance with the system program. A random-access memory (RAM) 103 is configured to temporarily store temporary computation data and pieces of data to be displayed, as well as various pieces of data input by an external device.
[0019] A non-volatile memory 104 is configured to a memory, solid state drive (SSD) or similar which is, for example, backed up by a battery, not shown. In the non-volatile memory 104, a state of storage of data written therein is retained even when a power source of the controller 100 is turned off. The non-volatile memory 104 is configured to store, for example, pieces of data and a control program read from an external device 122 via an interface 105, pieces of data and a control program input via an input device 121, pieces of data obtained from the industrial machine, pieces of data obtained from the display terminal 200, and pieces of data obtained from a host system, such as fog computing system or cloud server. The pieces of data and programs stored in the non-volatile memory 104 may be deployed into the RAM 103 during executed or used. Furthermore, the ROM 102 is configured to beforehand store various system programs, such as known analysis program.
[0020] The interface 105 is for connecting the CPU 101 in the controller 100 to the external device 122, such as USB device. For example, control program and various parameters to be used in controlling the industrial machine can be read from the external device 122. In addition to that, the control program, the various parameters and so on edited in the controller 100 can be stored in external storing means via the external device 122, and can be sent via the network 5 to the display terminal 200 and another computer, such as fog computing system or cloud server.
[0021] A programable machine controller (PMC) 106 is configured to output a signal by a sequence program incorporated in the controller 100 to the industrial machine and peripheral devices of the industrial machine (e.g., a tool exchanger, an actuator such as robot, and sensors attached to the industrial machine) via an input/output (I/O) unit 107, so as to control the peripheral devices. The PMC 106 is also configured to receive signals from various switches in an operation board provided to a body of the industrial machine, the peripheral devices and others, conduct necessary signal processing, and then send the signals to the CPU 101.
[0022] The pieces of data and so on read in the memory and pieces of data obtained by executing, for example, the control program and the system program are output via an interface 108 and displayed on a display device 120. Furthermore, the input device 121 configured with a keyboard, pointing device and others sends a command in accordance with an operation by an operator via an interface 109, pieces of data and others to the CPU 101.
[0023] An interface 111 is for connecting the CPU 101 in the controller 100 to the wired or wireless network 5. To the network 5, the display terminal 200, the fog computing system, the cloud server and others are connected. The controller 100 exchanges data via the network 5 with the display terminal 200, the fog computing system, the cloud server and others.
[0024] On the other hand, the display terminal 200 according to the embodiment includes a CPU 201 that is a processor for controlling the display terminal 200 as a whole. The CPU 201 is configured to read a system program stored in a ROM 202 via a bus 212 to control the display terminal 200 as a whole in accordance with the system program. A RAM 203 is configured to temporarily store temporary computing data and pieces of data to be displayed as well as various data input from an external device.
[0025] A non-volatile memory 204 is configured with a memory, SSD (solid state drive) or similar which is, for example, backed up by a battery, not shown. In the non-volatile memory 204, a state of storage of data written therein is retained even when a power source of the display terminal 200 is turned off. The non-volatile memory 204 is configured to store, for example, pieces of data input via an input device 221, pieces of data obtained from the controller 100, and pieces of data obtained from a host system, such as fog computing system or cloud server. The pieces of data and programs stored in the non-volatile memory 204 may be deployed into the RAM 203 during executed or used. Furthermore, the ROM 202 is configured to store beforehand various system programs, such as known analysis program.
[0026] The pieces of data read in the memory, and pieces of data obtained by executing the system program, etc. are output via an interface 208 and then displayed on a display device 220. Furthermore, the input device 221 is configured with a keyboard, a pointing device and others to send a command in accordance with an operation by an operator and the pieced of data via an interface 209 to the CPU 201.
[0027] An interface 211 is for connecting the CPU 201 in the display terminal 200 to the wired or wireless network 5. To the network 5, the controller 100, the fog computing system, the cloud server and others are connected. The display terminal 200 exchanges data via the network 5 with the controller 100, the fog computing system, the cloud server and others.
[0028] A shaft control circuit 130 for controlling shafts in the industrial machine is configured to receive an axis movement command amount from the CPU 101 and then output a shaft command to a servo amplifier 140. The servo amplifier 140 is configured to receive the shaft command and then drive a servo motor 150 configured to move the shafts in the industrial machine. The servo motor 150 incorporates a position and speed detector for feeding back a position/speed feedback signal from the position/speed detector to a shaft control circuit 130, so as to perform feedback control on the position and speed. It should be noted that the hardware configuration diagram of
[0029]
[0030] The controller 100 constituting the control system 1 according to the embodiment includes a control unit 152, a display unit 154, an input unit 156, a processing time managing unit 162, a congestion control unit 164, a data sending unit 166, and a data receiving unit 168. Furthermore, the RAM 103 or the non-volatile memory 104 stores beforehand a control program 158 for controlling an operation of an industrial machine 300 driven by the servo motor 150.
[0031] The control unit 152 is actualized in such a way that the CPU 101 in the controller 100 shown in
[0032] The display unit 154 and the input unit 156 are actualized in such a way that the CPU 101 in the controller 100 shown in
[0033] The processing time managing unit 162 is actualized in such a way that the CPU 101 in the controller 100 shown in
[0034] In addition to that, the processing time managing unit 162 measures processing time on the controller 100 with respect to each piece of data sent from the display terminal 200, and then sends the measured processing time via the congestion control unit 164 and the data sending unit 166 to the display terminal 200.
[0035] The congestion control unit 164 is actualized in such a way that the CPU 101 in the controller 100 shown in
[0036] The congestion control unit 164 controls the data sending amount per unit time for sending data to the display terminal 200 based on the data processing amount Dpn.sub.2 per unit time processed by the display terminal 200 input by the processing time managing unit 162. The congestion control unit 164 compares, for example, the data sending amount Dsn.sub.1 per unit time for currently sending pieces of data from the controller 100 to the display terminal 200 with the data processing amount Dpn.sub.2 of the data processed per unit time by the display terminal 200.
[0037] In the case where the data processing amount Dpn.sub.2 of the data processed per unit time by the display terminal 200 is greater than the data sending amount Dsn.sub.1 per unit time for sending data from the controller 100 to the display terminal 200, the congestion control unit 164 increases the data sending amount Dsn.sub.1 per unit time for sending data from the controller 100 to the display terminal 200. On the other hand, in the case where the data processing amount Dpn.sub.2 of the data processed per unit time by the display terminal 200 is smaller than the data sending amount Dsn.sub.1 per unit time for sending data from the controller 100 to the display terminal 200, the congestion control unit 164 decreases the data sending amount Dsn.sub.1 per unit time for sending data from the controller 100 to the display terminal 200. The congestion control unit 164 may compare the amount Dsn.sub.1 with the amount Dpn.sub.2 by taking into account a predefined certain safety margin value.
[0038] The data sending unit 166 and the data receiving unit 168 are actualized in such a way that the CPU 101 in the controller 100 shown in
[0039] The display terminal 200 that constitutes the control system 1 according to the embodiment includes a data processing unit 252, a display unit 254, an input unit 256, a processing time managing unit 262, a congestion control unit 264, a data sending unit 266 and a data receiving unit 268.
[0040] The data processing unit 252 is actualized in such a way that the CPU 201 in the display terminal 200 shown in
[0041] The display unit 254 and the input unit 256 are actualized in such a way that the CPU 201 in the display terminal 200 shown in
[0042] The processing time managing unit 262 is actualized in such a way that the CPU 201 in the display terminal 200 shown in
[0043] In addition to that, the processing time managing unit 262 measures processing time on the display terminal 200 concerning each piece of data sent from the controller 100, and then sends the measured processing time via the congestion control unit 264 and the data sending unit 266 to the controller 100.
[0044] The congestion control unit 264 is actualized in such a way that the CPU 201 in the display terminal 200 shown in
[0045] The congestion control unit 264 controls the data sending amount per unit time for sending data to the controller 100 based on the data processing amount Dpn.sub.1 per unit time on the controller 100 input by the processing time managing unit 262. The congestion control unit 264 compares, for example, the data sending amount Dsn.sub.2 per unit time for pieces of data currently sent from the display terminal 200 to the controller 100 with the data processing amount Dpn.sub.1 of the data processed by the controller 100 per unit time. In the case where the data processing amount Dpn.sub.1 of the data processed by the controller 100 per unit time is greater than the data sending amount Dsn.sub.2 per unit time for sending data from the display terminal 200 to the controller 100, the congestion control unit 264 increases the data sending amount Dsn.sub.2 per unit time for sending data from the display terminal 200 to the controller 100. On the other hand, in the case where the data processing amount Dpn.sub.1 of the data processed by the controller 100 per unit time is smaller than the data sending amount Dsn.sub.2 per unit time for sending data from the display terminal 200 to the controller 100, the congestion control unit 264 decreases the data sending amount Dsn.sub.2 per unit time for sending data from the display terminal 200 to the controller 100. The congestion control unit 264 may compare the amount Dsn.sub.2 with the amount Dpn.sub.1 by taking into account a predefined certain safety margin value.
[0046] The data sending unit 266 and the data receiving unit 268 are actualized in such a way that the CPU 201 in the display terminal 200 shown in
[0047] In the control system 1 with the above-described configuration, the data sending side takes into consideration the time of processing data on the data receiving side in the two-way communication, so as to be able to perform the congestion control suitable for the current data processing state. In particular, when the controller 100 sends pieces of data in succession to the display terminal 200 to display the data, there is less difference between the data currently obtained by the controller 100 and the data displayed on the display device 220 of the display terminal 200. Thus, the operator can safely carry out the operation.
[0048] As an alternative of the control system 1 according to the embodiment, when the data sending amount is small, the controller 100 and the display terminal 200 may include configurations for monitoring a data processing condition on the other end. For example, as shown in
[0049] In the above-described alternative, for instance, if there is a situation in which the controller 100 is not being monitored by an operator, the above configurations have efficacy for the case where the operator is required to log in for monitoring the controller 100. In this controller 100, when the operator has not logged in, the controller 100 cannot send data obtained by the control unit 152 to the display terminal 200. Thus, the processing time managing units 162, 262 cannot appropriately manage the data processing condition on the ether end in such situation, and thereby the congestion control units 164, 264 cannot set appropriate data sending amounts Dsn.sub.1, Dsn.sub.2 per unit time. However, the dummy data generating units 170, 270 send out dummy data at predetermined timings and then receive times taken for processing the dummy data from the other ends, thereby maintaining appropriate data sending amounts Dsn.sub.1, Dsn.sub.2 at all times.
[0050]
[0051] Whilst the embodiment of the present invention has been illustrated in the foregoing, the present invention is not limited to the above-described embodiments and may be implemented in various aspects with modifications made thereto as appropriate.
REFERENCE SIGNS LIST
[0052] 1 Control System [0053] 5 Network [0054] 100 Controller [0055] 101 CPU [0056] 102 ROM [0057] 103 RAM [0058] 104 Non-volatile Memory [0059] 105, 108, 109, 111 Interface [0060] 106 PMC [0061] 107 I/O Unit [0062] 112 Bus [0063] 120 Display Device [0064] 121 Input Device [0065] 122 External Device [0066] 130 Shaft Control Circuit [0067] 140 Servo Amplifier [0068] 150 Servo Motor [0069] 152 Control Unit [0070] 154 Display Unit [0071] 156 Input Unit [0072] 158 Control Program [0073] 162 Processing Time Managing Unit [0074] 164 Congestion Control Unit [0075] 166 Data Sending Unit [0076] 168 Data Receiving Unit [0077] 170 Dummy Data Generating Unit [0078] 200 Display Terminal [0079] 201 CPU [0080] 202 ROM [0081] 203 RAM [0082] 204 Non-volatile Memory [0083] 208, 209, 211 Interface [0084] 212 Bus [0085] 220 Display Device [0086] 221 Input Device [0087] 252 Data Processing Unit [0088] 254 Display Unit [0089] 256 Input Unit [0090] 262 Processing Time Managing Unit [0091] 264 Congestion Control Unit [0092] 266 Data Sending Unit [0093] 268 Data Receiving Unit [0094] 270 Dummy Data Generating Unit [0095] 300 Industrial Machine