Control system and method

The control system optimizes control cycles by using a management program to activate information programs, reducing scanning processing and maintaining efficient operation.

JP7848076B2Active Publication Date: 2026-04-20HITACHI IND EQUIP SYST CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HITACHI IND EQUIP SYST CO LTD
Filing Date
2022-07-29
Publication Date
2026-04-20

AI Technical Summary

Technical Problem

In control systems, the need to generate and output activation signals for information programs increases the scanning processing and code requirements, lengthening the control cycle and complicating the control program.

Method used

A control system architecture where the control program transmits a control command to a management program, which identifies and activates the appropriate information program, generating the necessary activation signal, thereby reducing the scanning processing burden on the control program.

Benefits of technology

This approach suppresses the increase in scanning processing required during the control cycle, allowing for efficient operation of information programs without extensive modifications to the control program.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848076000001
    Figure 0007848076000001
  • Figure 0007848076000002
    Figure 0007848076000002
  • Figure 0007848076000003
    Figure 0007848076000003
Patent Text Reader

Abstract

To suppress an increase in the amount of scanning processing in a control program even when the operation of an information program is required in a control cycle.SOLUTION: A control system having a control program and information programs has a management program and a parameter set of the information programs. The control program performs, within a control cycle, scanning processing (real-time processing of controlling a controlled device). The control program transmits, in the control cycle, a control command as a signal representing a code associated with the information program to be activated. The management program receives the control command, specifies the information program to be activated and in correspondence with the code representing the received control command, reads the parameter set of the information program to be activated, generates an activation signal associated with the read parameter set, and outputs the generated activation signal to the information program to be activated.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to control technology.

Background Art

[0002] For example, a control system disclosed in Patent Document 1 is known. This control system has a control device, and in the control device, a control program and an information program are executed.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In a control system, the control device may be an industrial control device, and the controlled device of the control device may be industrial equipment such as an industrial motor or a compressor. The control program in the control device controls such a controlled device. Specifically, for example, the control program performs a scan process, which is a process of controlling the controlled device and has real-time performance, within the control period determined for the control program for each control period. The information program performs information processing determined for the information program.

[0005] Control devices may be called sequence control devices, motion control devices, or programmable logic controllers (PLCs). Control programs in control devices typically describe the control content using control-specific programming languages ​​such as ladder logic (LD language), sequential function chart (SFC language), function block (FBD language), structured text (ST language), or instruction list (IL language).

[0006] A control program can be written that causes at least one of one or more information programs to operate within a control cycle.

[0007] However, in order to operate an information program, it is necessary to generate an activation signal for that information program and output that activation signal to the information program. Furthermore, the output activation signal must typically be associated with a parameter set (one or more parameters) used by the information program to be activated, and the control program needs to read the parameter set for the activation signal. For these reasons, the amount of scanning processing increases, which in turn lengthens the control cycle and increases the amount of code required for the control program. [Means for solving the problem]

[0008] A control system for controlling one or more controlled devices comprises one or more arithmetic units. Each arithmetic unit includes a control program, one or more information programs, a management program, and parameter sets for each of the information programs. For each of the information programs, the parameter set consists of one or more parameters required for that information program. The control program is a program that performs a scan process, a real-time process for controlling the controlled devices, at each control cycle defined for the control program. For each of the information programs, the information program performs the information processing defined for that information program. During the control cycle, the control program transmits a control command, which is a signal representing a code associated with the information program to be activated among the one or more information programs. The management program receives the control command and identifies the information program to be activated corresponding to the code represented by the received control command. The management program reads the parameter set of the information program to be activated, generates an activation signal associated with the read parameter set, and outputs the generated activation signal to the information program to be activated. [Effects of the Invention]

[0009] According to the present invention, even if the operation of an information program is required during the control cycle, it is possible to suppress the increase in the amount of scanning processing required for the control program. [Brief explanation of the drawing]

[0010] [Figure 1] An example of the physical configuration of a system including the control system according to the first embodiment is shown. [Figure 2] An example of the logical configuration of the control system according to the first embodiment is shown. [Figure 3] An example of the logical configuration of the control system according to the second embodiment is shown. [Figure 4]An example of the logical configuration of the control system according to the third embodiment is shown. [Modes for carrying out the invention]

[0011] In the following explanation, "interface device" may refer to one or more interface devices. These one or more interface devices may be at least one of the following: An I / O interface device is one or more I / O (Input / Output) interface devices. The I / O interface device is an interface device to at least one of the following: an I / O device and a remote display computer. The I / O interface device to the display computer may be a communication interface device. The at least one I / O device may be either a user interface device, such as an input device like a keyboard and a pointing device, or an output device like a display device. A communication interface device which is one or more communication interface devices. One or more communication interface devices may be one or more identical communication interface devices (for example, one or more NICs (Network Interface Cards)) or two or more different communication interface devices (for example, a NIC and an HBA (Host Bus Adapter)).

[0012] Furthermore, in the following explanation, "memory" refers to one or more memory devices, which are typically main memory devices. At least one memory device in memory may be a volatile memory device or a non-volatile memory device.

[0013] Furthermore, in the following explanation, "persistent storage device" refers to one or more persistent storage devices. Persistent storage devices are typically non-volatile storage devices (e.g., auxiliary storage devices), specifically, for example, HDDs (Hard Disk Drives) or SSDs (Solid State Drives).

[0014] Furthermore, in the following explanation, "storage device" may refer to at least memory, including both memory and persistent storage.

[0015] Furthermore, in the following explanation, "processor" refers to one or more processor modules. At least one processor module is typically a microprocessor device such as a CPU (Central Processing Unit), but may be other types of processor devices such as a GPU (Graphics Processing Unit). At least one processor device may be single-core or multi-core. At least one processor module may be a processor core.

[0016] Furthermore, in the following explanation, the program may be used as the subject to describe the process. However, since a program is executed by a processor and performs defined processes using memory devices and / or interface devices as appropriate, the subject of the process may also be the processor (or a device such as a controller having that processor). A program may be installed from a program source into a device such as a computer. The program source may be, for example, a program distribution server or a computer-readable (e.g., non-temporary) recording medium. Also, in the following explanation, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs.

[0017] In the following description, the processing may be described with a function (e.g., the function expressed as the "yyy" part) as the subject. However, the function may be realized by one or more computer programs being executed by a processor. When the function is realized by the program being executed by the processor, since the defined processing is performed while appropriately using a storage device and / or an interface device, etc., the function may be regarded as at least a part of the processor. The processing described with the function as the subject may also be the processing performed by a processor or a device having the processor. The description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.

[0018] In the following description, when describing without distinguishing between elements of the same type, a common part of the reference signs may be used, and when distinguishing between elements of the same type, reference signs may be used. [First Embodiment]

[0019] FIG. 1 shows an example of the physical configuration of a system including a control system according to the first embodiment.

[0020] The control system 109 is installed in the factory 10 where the controlled device 12 is located. The controlled device 12 is, for example, industrial equipment such as an industrial motor or a compressor. The factory 10 is an example of the site where the controlled device 12 is located.

[0021] The management system 101 and the control system 109 are connected to a communication network 108 (e.g., the Internet or a WAN (Wide Area Network)). The control system 109 is connected to, for example, a communication network 19 (e.g., a LAN (Local Area Network)) within the factory 10. The control system 109 can communicate with the management system 101 via the communication networks 19 and 108. The communication networks 108 and 19 are communication networks used during information communication processing performed by an information program (communication processing different from the processing in which a control program transmits control data to a controlled device 12 in a scan process).

[0022] The control system 109 and one or more I / O modules 119 (an example of an I / O port) are connected to a communication network 118 (e.g., Ethernet (registered trademark)). The communication network 118 is a communication network used to transmit control data to the controlled device 12 in control processing performed by a control program.

[0023] The communication networks 19, 108, and 118 may be different networks, or two or more of the communication networks 19, 108, and 118 may be the same network.

[0024] One or more peripheral devices 120 are connected to one or more I / O modules 119. Peripheral devices 120 may be devices such as sensors or media drives (e.g., HDDs or SSDs). The I / O modules 119 function as bus slots to which peripheral devices 120 are detachably mounted as needed. The controlled device 12 is connected to the I / O modules 119 via or without the peripheral devices 120. The controlled device 12 and the I / O modules 119 may be connected in a 1:1, 1:many, many:1, or many:many configuration. In addition, some I / O modules 119 may be connected to the communication network 108 in addition to the communication network 118; that is, some I / O modules 119 may be devices shared by the control program and the information program. Furthermore, at least one I / O module 119 may be at least part of the network interface device and I / O control device of at least one arithmetic unit 40.

[0025] The management system 101 is an example of a higher-level system of the control system 109. The management system 101 comprises an EPROM 201, a CPU 202, main memory 203, peripheral control device 205, non-volatile storage device 206, and a network I / F device 207. The management system 101 is connected to the communication network 108 via the network I / F device 207.

[0026] The control system 109 comprises one or more arithmetic units 40. Each arithmetic unit 40 comprises an interface device, a memory device, and a processor connected thereto. All arithmetic units 40 may have the same or different hardware configurations. Any arithmetic unit 40 may serve as a destination for control programs or information programs. In this embodiment, arithmetic unit 40M is the main arithmetic unit, a destination for control programs, and a destination for information programs. Arithmetic units 40E1 and 40E2 are additional arithmetic units, which cannot serve as a destination for control programs but can serve as a destination for information programs. Arithmetic units 40E may be reduced in number. In other words, arithmetic unit 40M alone may constitute the control system 109. Hereinafter, arithmetic unit 40M may be referred to as "control device 40M," and arithmetic unit 40E may be referred to as "expansion device 40E."

[0027] The system configuration of the control system 109 differs depending on whether or not there is an expansion device 40E, what type of communication medium the expansion device 40E is connected to, and which arithmetic unit 40 the information program that communicates with the control program is located on. In other words, the system configuration depends on the presence or absence of the expansion device 40E, the type of communication medium to which the control device 40M and the expansion device 40E are connected, and the arithmetic unit 40 to which each application is located. In the example in Figure 1, the expansion device 40E1 is connected to the communication network 118. The expansion device 40E2 is connected to the PIO bus 28 (an example of a bus) ("PIO" is an abbreviation for Programmed I / O). The PIO bus 28 may be a bus printed on the baseboard, and by connecting the control device 40M and the expansion device 40E2 to the baseboard, the control program executed on the control device 40M and the information program executed on the expansion device 40E2 may communicate (share) data via the PIO bus 28.

[0028] The hardware configuration of the arithmetic unit 40 can be described using the control unit 40M as an example. Specifically, the control unit 40M includes memory 169 (for example, EPROM 208 and main memory 210), peripheral control device 212, I / O control device 214, non-volatile storage device 215, network I / F device 213, and a CPU 209 connected to them. The I / O control device 214 and network I / F device 213 are examples of interface devices. The memory 169 and non-volatile storage device 215 are examples of storage devices. The CPU 209 is an example of a processor.

[0029] The peripheral control unit 212 is connected to the network interface device 213, the I / O control unit 214, the non-volatile storage device 215, and the bus 211. The bus 211 is also connected to the memory 169 and the CPU 209. Devices 213, 215, and 214 are controlled through the peripheral control unit 212.

[0030] The EPROM 208 may contain at least one control program and one information program pre-stored, or it may contain programs downloaded from a program source such as a program distribution server (not shown). The control system 109 can be equipped with more than one control program and / or multiple information programs by setting the resources available to each program in the control system 109.

[0031] The CPU 209 reads the control program (and information program) stored in the EPROM 208 into the main memory 210 and executes it, thereby controlling the operation of the control program (and information program). For example, by executing the control program, the CPU 209 controls multiple peripheral devices 120 via the peripheral control device 212, the I / O control device 214, and multiple I / O modules 119. The peripheral devices 120 may be associated with the I / O modules 119 on a one-to-one basis. The CPU 209 may be either single-core or multi-core. One core may execute at least one application from one or more control programs and one or more information programs. Typically, one core may execute one control program, one control program and one or more information programs, or one or more information programs.

[0032] The configuration terminal 29 is connected to the control system 109 (e.g., control device 40M) via the communication network 19 (or without the communication network 19). The configuration terminal 29 is, for example, a computer having input devices, display devices, interface devices, storage devices and processors connected thereto (e.g., a desktop, laptop, or tablet personal computer, or a smartphone). The configuration terminal 29 may give instructions or make settings to the control system 109. The configuration terminal 29 may also be part of the management system 101.

[0033] As described above, each arithmetic unit 40 comprises an interface device, a memory device, and a processor connected thereto. The control device 40M is an example of a first arithmetic unit. The expansion device 40E is an example of a second arithmetic unit. The interface device of the control device 40M and the interface device of the expansion device 40E are connected to each other so as to be able to communicate with one another, and signals are transmitted and received through these interface devices.

[0034] Figure 2 shows an example of the logical configuration of the control system 109.

[0035] The control program 317 is executed by the CPU of the control device 40M. The control device 40M may be called a sequence control device, a motion control device, or a programmable logic controller (PLC). Typically, the control program 317 describes the control content in a control-specific programming language such as ladder logic (LD language), sequential function chart (SFC language), function block (FBD language), structured text (ST language), or instruction list (IL language). The control program 317 may be, for example, a program that performs sequence control. The control program 317 is a program that performs a scan process, which is a real-time process that controls the controlled device 12, at each control cycle defined for the control program 317.

[0036] The information program 312 is executed by the CPU of the expansion device 40E. The information program 312 is a program that performs information processing defined for the information program 312. The information program 312 is activated and operates (executes defined information processing) by an activation signal (call signal). The expansion device 40E has multiple (or one) information programs 312.

[0037] In the control system 109, the control program 317 needs to output a signal specifying the information program 312 if there is an information program 312 to be activated during the control cycle, but it does not need to read the parameter set required for the information program 312 or generate an activation signal (an activation signal for the information program 312) associated with that parameter set. Therefore, even if the operation of the information program 312 is required during the control cycle, the increase in the amount of scanning processing required by the control program 317 can be suppressed.

[0038] Specifically, the control program 317 transmits a control command in the control cycle that specifies the code associated with the information program 312 to be activated from among multiple (or one) information programs 312. For example, if information program 312A is the information program to be activated, the control program 317 transmits a control signal specifying the code "100", and if information program 312B is the information program to be activated, it transmits a control signal specifying the code "101". The control program 317 may identify the code of the information program to be activated by referring to a table (not shown), or the code for each information program may be written in the control program 317.

[0039] The information program 312 is executed in an expansion device 40E where the control program 317 is not executed, rather than in the control device 40M where the control program 317 is executed, and the expansion device 40E is equipped with a management program 311. The management program 311 (a) receives a control command from the control program 317, (b) identifies the information program 312 corresponding to the code associated with the received control command, (c) reads the parameter set of the identified information program 312, (d) generates an activation signal associated with the read parameter set, and (e) outputs the generated activation signal to the information program 312 identified in (b).

[0040] The information program 312 may consist of an application program and a container for that application program (an example of a program execution environment). The startup signal for the information program 312 may be a signal for starting the container associated with a parameter set, and the management program 311 may be a program for starting the container (e.g., a script). Since the management program 311 starts the container, it is expected that the following will become unnecessary, for example. • Create a user-defined dedicated network in advance. • Exposing the container port to the container host's IP address. The control program 317 sends the container port number in addition to the parameter set to the information program 312.

[0041] The management program 311 has functions such as an I / F unit (interface unit) 316, a reading unit 315, a generation unit 314, and a management unit 301.

[0042] The I / F unit 316 receives a control command from the control program 317 and identifies the information program 312 corresponding to the code associated with the received control command from the lookup table 309. The lookup table 309 is stored in the storage device (memory 169 or non-volatile storage device 215) of the expansion device 40E. For each information program 312 that can be activated (in other words, for each code that can be associated with a control command), the lookup table 309 represents a code and the ID (identification data) of the information program 312 corresponding to that code. The ID of the information program 312 may be data that becomes an element of the generated activation signal (for example, the name of the information program 312), or it may be data used as a key to identify the parameter set to be read from the parameter set group 313. Note that the management program 311 may identify the information program 312 corresponding to the code associated with the control command by a method other than using the lookup table 309 (for example, the value obtained by the management program 311 performing a predetermined operation using the code may be the ID of the information program 312). Furthermore, the "code" of information program 312 may be a control command (signal) transmitted from control program 317, and the "ID" of information program 312 may be the name of information program 312. For example, suppose the code is "0x0100", and the information program 312 corresponding to this code is information program 312A, and its ID (name) is "Info.A". When management program 311 receives a control command (signal) representing the code "0x0100", it identifies the ID "Info.A" corresponding to the code "0x0100" from lookup table 309, and includes the identified ID "Info.A" and the parameter set obtained for information program 312A in the activation signal for information program 312A.

[0043] The reading unit 315 reads a parameter set corresponding to the ID of the identified information program 312 from the parameter set group 313. A parameter set is one or more parameters. The parameter set group 313 is one or more parameter sets, and may be, for example, a configuration file for each information program 312. The parameter sets may be described in the configuration file. The ID of the identified information program 312 may be used as a key to identify the configuration file. The parameter set group 313 is stored in the storage device of the expansion device 40E, either via or without the management program 311 (e.g., the management unit 301).

[0044] The generation unit 314 generates an activation signal associated with the read parameter set. The ID of the identified information program 312 may be used in generating the activation signal. The generation unit 314 outputs the generated activation signal to the identified information program 312. In the example shown in Figure 2, the identified information program is information program 312A, so the activation signal is output to information program 312A. In response to this activation signal, information program 312A is activated and operates. In this operation, the information processing described in information program 312 is executed.

[0045] The management unit 301 is not necessarily required. The management unit 301 may install, uninstall, and update the information program 312. For example, the following may be performed by the management unit 301. The source of the information program 312 may be any device, for example, a portable storage medium, the management system 101 (e.g., a server) shown in Figure 1, or the control device 40M. The management unit 301 receives an installation command for the additional information program 312T to be launched from the expansion device 40E. In response to the command, the management unit 301 installs the information program 312T on the expansion device 40E. With the addition of the information program 312T, the management unit 301 receives the parameter set of the information program 312T and adds the parameter set to the parameter set group 313. In addition, with the addition of the information program 312T, the management unit 301 receives the code and ID of the information program 312T and adds the code and ID to the lookup table 309. The management unit 301 receives an update command for the information program 312T. In response to the command, the management unit 301 updates the information program 312T. If the configuration of the parameter set changes as a result of the update, the management unit 301 also updates the parameter set in the parameter set group 313 that corresponds to the information program 312T (for example, by replacing the parameter set). The management unit 301 receives an uninstallation command for the information program 312T to be deleted from the expansion device 40E. In response to the command, the management unit 301 uninstalls the information program 312T from the expansion device 40E. Following the deletion of the information program 312T, the management unit 301 deletes the parameter set of the information program 312T from the parameter set group 313. In addition, following the deletion of the information program 312T, the management unit 301 may delete the code and ID of the information program 312T from the lookup table 309.

[0046] As described above, information programs 312 can be added or deleted, but in this embodiment, even if information programs 312 are added, updated, or deleted, changes to the control program 317 are substantially unnecessary. Therefore, it is easy to expand or modify the functions of the control system 109.

[0047] While the control program 317 and the information program 312 may be executed on the same platform (same CPU (and memory)) such as the control device 40M, in this embodiment, the information program 312 is executed on an expansion device 40E (a different platform), which is a different arithmetic unit from the control device 40M (the platform of the control program 317). Furthermore, the management program 311 is executed on the same device (the device containing the information program 312) on which the information program 312 is executed. In this embodiment, since the information program 312 is executed on the expansion device 40E, the management program 311 is also executed on the expansion device 40E. This reduces the constraints on the control device 40M, and therefore makes it easier to replace devices in the control system 109. It is also expected that the control program 317 will be able to secure a larger amount of available resources. [Second Embodiment]

[0048] A second embodiment will be described. In this description, the differences from the first embodiment will be explained primarily, and the similarities with the first embodiment will be omitted or simplified.

[0049] Figure 3 shows an example of the logical configuration of the control system according to the second embodiment.

[0050] An output device 320 is connected to at least one of the multiple (or one) arithmetic units 40. The output device 320 may be a display device (e.g., a liquid crystal display), but in this embodiment, it is one or more LEDs (Light Emitting Diodes) 313. The LEDs 313 may correspond to information programs 312. For example, one or more colored LEDs may be provided for each information program 312.

[0051] The generation unit 314 of the management program 311 causes the output device 320 to output at least one of the following: (a) Is any of the information programs 312 running? (b) Which information program 312 was launched? (c) Is the launched information program functioning correctly?

[0052] For example, (a) may be done by lighting up at least one LED313. (b) may be done by lighting up the LED313 corresponding to the activated information program 312. (c) may be done by lighting up the first color LED313 if the activated information program 312 is operating normally, and lighting up the second color LED313 if there is an abnormality in the activated information program 312.

[0053] This allows the user to be informed of the status of the information program 312 in the control system 109. Furthermore, it allows the user to easily become aware of situations such as when the expansion device 40E is frozen and not operating. [Third Embodiment]

[0054] A third embodiment will be described. In this description, the differences from the first and second embodiments will be explained primarily, while the similarities with the first and second embodiments will be omitted or simplified.

[0055] Figure 4 shows an example of the logical configuration of the control system according to the third embodiment.

[0056] The I / F unit 316 of the management program 311 receives the processing result from the activated information program 312B and notifies the control program 317 of the processing result. The control program 317, upon receiving the processing result, controls the controlled device 12 according to the processing result. In this way, the processing result of the information program 312 can be transmitted to the control program 317 through the management program 311, and the control program 317 can then perform control based on the processing result.

[0057] If an information program exists in the control device 40M in addition to the control program 317, the processing result may be notified to the control program 317, or, instead of the control program 317, to the information program in the control device 40M. When the information program in the control device 40M receives the processing result, the control program 317 may receive the processing result through the shared memory in the control device 40M (shared memory where information exchanged between the control program 317 and the information program is stored) (or through another medium). Furthermore, the user can determine whether the information program or other operations are normal from the display pattern of the LED 313.

[0058] In Figure 4, the control system 109 is configured to perform inspections of the object to be inspected, and the expansion device 40E functions as an inspection device. Various objects or services can be designated as "objects to be inspected," and the data for the "object to be inspected" can be, for example, image data, sensor data (e.g., vibration data or current data), or sound data. In this embodiment, the object to be inspected is a product as an example of an object, and the "data for the object to be inspected" is image data of the product, in particular image data of the product's appearance; therefore, the inspection device is an appearance inspection device. There is a camera 401 and a sensor 402. The camera 401 photographs the product. The sensor 402 detects the product as it moves along the conveyor belt and passes through a predetermined position.

[0059] That is, for example, information program 312A is a program that causes camera 401 to take pictures, information program 312C is a program that trains a machine learning model for inspection (for example, a neural network which is an example of a deep learning model), and information program 312B is a program that performs inference (i.e., visual inspection of the product) using the trained machine learning model. In the lookup table 309, "100" is recorded as the code corresponding to information program 312B, "101" is recorded as the code corresponding to information program 312C, and "102" is recorded as the code corresponding to information program 312A. Also, for example, in the parameter set group 313, the parameter set of information program 312C (the program that executes training) may include the number of training images, the ID of the machine learning model, and the number of epochs. In this embodiment, the following control may be performed.

[0060] Before the visual inspection begins, the control program 317 sends a control command associated with the code "101" to the management program 311. The management program 311 identifies the information program 312C corresponding to the code "101" and reads the parameter set of the information program 312. The management program 311 generates an activation signal (an activation signal for the information program 312C) associated with the parameter set and outputs this activation signal to the information program 312C, thereby activating the information program 312C. The activated information program 312C, acting as a learning unit, trains a machine learning model using at least some of the parameters in the parameter set associated with the activation signal.

[0061] After learning, control is performed for each control cycle. That is, the following (x) and (y) are performed for each control cycle. (x) When the control program 317 detects a product using the sensor 402, it sends a control command associated with the code "102" to the management program 311. The management program 311 identifies the information program 312A corresponding to the code "102", reads the parameter set of the information program 312A, and generates and outputs an activation signal (activation signal for information program 312A) associated with the parameter set. As a result, the information program 312A causes the camera 401 to photograph the product and acquires image data of the photographed product. (y) Next, the control program 317 sends a control command associated with the code "100" to the management program 311. The management program 311 identifies the information program 312B corresponding to the code "100", reads the parameter set of the information program 312B, and generates and outputs an activation signal (activation signal for information program 312B) associated with the parameter set. As a result, the information program 312B uses a trained machine learning model to perform a visual inspection of the product represented by the image data acquired in (x). The information program 312B returns the result of the visual inspection to the management program 311, and the management program 311 sends the result to the control program 317. If the result indicates an abnormality (i.e., the product is defective), the control program 317 instructs an exclusion device (an example of a controlled device) to remove the product from the conveyor.

[0062] Although several embodiments have been described above, these are merely illustrative examples for explaining the present invention and are not intended to limit the scope of the invention to these embodiments only. The present invention can be implemented in various other forms. For example, in the third embodiment, in the post-learning inference, the inference program may also have an imaging function, so that imaging and inference are executed simultaneously. The inference program may be an example of an information program, or it may be a program that is not classified as an information program. [Explanation of symbols]

[0063] 109... Control System

Claims

1. A control system for controlling one or more controlled devices, Equipped with one or more computing units, The one or more arithmetic units include a control program, one or more information programs, a management program, and parameter sets for each of the one or more information programs. For each of the one or more information programs mentioned above, the parameter set is one or more parameters required for that information program. The control program is a program that performs a scan process, which is a real-time process for controlling the controlled device, at each control cycle defined for the control program. For each of the one or more information programs mentioned above, the information program is a program that performs information processing defined for that information program. The control program transmits a control command, which is a signal representing a code associated with the information program to be activated among the one or more information programs, during the control cycle. The aforementioned management program, Upon receiving the aforementioned control command, Identify the information program to be activated that corresponds to the code represented by the received control command, Read the parameter set of the information program to be launched, A startup signal is generated that associates the read-out parameter set, The generated activation signal is output to the information program to be activated. Control system.

2. The plurality of arithmetic units include a first arithmetic unit and a second arithmetic unit, The first arithmetic unit has the control program, The second computing unit has one or more information programs, a management program, and a parameter set for each of the one or more information programs. The control system according to claim 1.

3. Having an output device connected to at least one of the aforementioned one or more arithmetic units, The management program causes the output device to produce an output that indicates at least one of the following: - Is any of the information programs running? Which information program was launched? - Is the launched information program functioning correctly? The control system according to claim 1.

4. The aforementioned management program The processing results of the launched information program are received from the said information program. The processing result is notified to the control program or the information program in the arithmetic unit having the control program. The control system according to claim 1.

5. It has a storage device and a processor connected thereto, The aforementioned processor executes a management program, The aforementioned storage device stores the parameter sets of one or more information programs. For each of the one or more information programs mentioned above, the parameter set is one or more parameters necessary for starting the information program. For each of the one or more information programs mentioned above, the information program is a program that performs information processing defined for that information program. The aforementioned management program, The control command is received from the control program. Identify the information program corresponding to the code represented by the received control command, Read the parameter set of the identified information program, A startup signal is generated that associates the read-out parameter set, The generated startup signal is output to the identified information program. The control program is a program that performs a scan process, which is a real-time process for controlling the controlled device, at each control cycle defined for the control program, and transmits a control command, which is a signal representing a code associated with the information program to be activated among the one or more information programs, during the control cycle. Computing device.

6. The control command is received from the control program. Identify the information program corresponding to the code represented by the received control command, Read the parameter set of the identified information program, A startup signal is generated that associates the read-out parameter set, The generated startup signal is output to the identified information program. Have the computer do it, The control program is a program that performs a scan process, which is a real-time process for controlling the controlled device, at each control cycle defined for the control program, and transmits a control command, which is a signal representing a code associated with the information program to be activated among one or more information programs, during the control cycle. For each of the one or more information programs mentioned above, the parameter set is one or more parameters necessary for starting the information program. For each of the one or more information programs mentioned above, the information program is a program that performs information processing defined for that information program. Computer program.

Citation Information

Patent Citations

  • Control system and control method

    JP2018084994A

  • Programmable controller and control system

    JP2019057212A

  • Automatic distribution of virtual patches and security context for PLCs

    JP2019527877A

  • Controller

    JP2021077219A

  • Safety control device and safety control method

    WO2012104896A1