[go: up one dir, main page]

WO2022185581A1 - Control device and data transfer method - Google Patents

Control device and data transfer method Download PDF

Info

Publication number
WO2022185581A1
WO2022185581A1 PCT/JP2021/034454 JP2021034454W WO2022185581A1 WO 2022185581 A1 WO2022185581 A1 WO 2022185581A1 JP 2021034454 W JP2021034454 W JP 2021034454W WO 2022185581 A1 WO2022185581 A1 WO 2022185581A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
period
read
request
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2021/034454
Other languages
French (fr)
Japanese (ja)
Inventor
俊規 玉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of WO2022185581A1 publication Critical patent/WO2022185581A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present disclosure relates to a control device and a data transfer method.
  • FA Vectory Automation
  • PLCs Programmable Logic Controllers
  • FA technology improvement in data transfer throughput is desired in order to meet the demand for real-time performance.
  • the transfer throughput is improved.
  • the transfer of high-priority data becomes necessary immediately after the transfer of low-priority data is requested, the transfer of high-priority data is delayed. Therefore, it is desirable to suppress delays in transferring data with high priority.
  • Patent Document 1 discloses a transfer device that dynamically controls the maximum data request size by referring to scheduling information that indicates a schedule of timings at which data transfers occur.
  • the transfer device sets the maximum data request size of the second data at the timing at which the transfer interrupt of the first data may occur during the transfer of the second data whose priority is lower than that of the first data. Control to a value below the threshold. As a result, the delay in transferring the first data with high priority is suppressed.
  • Patent Literature 1 A technology is known that can issue multiple data transfer requests in succession. Patent Literature 1 does not assume such a technique. Therefore, when this technology is applied to Patent Document 1, a request for transferring data with low priority may be issued a plurality of times in succession. This can cause a delay in transferring high priority data.
  • the present disclosure has been made in view of the above problems, and an object thereof is to provide a control device and a data transfer method capable of suppressing delays in transferring high-priority data.
  • a control device includes a processor, a memory, and a data transfer circuit.
  • the data transfer circuit includes a first request issuing unit that issues a first read request to the memory in accordance with the execution of the first task by the processor, and a second request to the memory in response to the execution of the second task by the processor. It includes a second request issuing unit that issues read requests, and a management unit that manages the number of read requests that can be continuously issued.
  • the first task has a higher priority than the second task.
  • the management unit sets the number of second read requests that can be continuously issued by the second request issuing unit to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period. limit to
  • the number of read requests issued by the second request issuing unit in response to the execution of the second low-priority task by the processor during the first period in which the execution of the first high-priority task is scheduled limited in number.
  • the first request issuing unit can issue a read request in accordance with the execution of the high-priority first task by the processor in the first period.
  • a delay in transferring read data corresponding to a high-priority task is suppressed.
  • the management unit limits the number of second read requests that can be continuously issued by the second request issuing unit to 1 in the first period.
  • the second request issuing unit can issue only one read request in succession. Therefore, during the remaining period, the first request issuing unit can issue a read request according to the execution of the high-priority first task by the processor.
  • the processor executes a user program for controlling the controlled object.
  • the first period is predetermined based on the user program.
  • the user program can estimate the processing sequence of the processor. Therefore, according to the above disclosure, it is possible to accurately determine the first period during which the execution of the first task is scheduled.
  • the processor executes a user program for controlling the controlled object.
  • the first period is included in the period during which the processor executes the user program to control the controlled object, and is not included in the activation period and termination period of the user program.
  • the first period is not included in the activation period and the termination period of the user program, so the number of second read requests that can be issued in succession is not limited. As a result, the frequency of waiting for the issuance of read requests is reduced, and the data transfer throughput is improved.
  • the management unit does not limit the number of first read requests that can be issued continuously by the first request issuing unit in the first period and the second period.
  • the number of read requests corresponding to the execution of the high-priority first task is not limited, and the delay in transferring data corresponding to the read requests is suppressed.
  • the data transfer circuit further includes a third request issuing unit that issues a third read request to the memory in response to execution of the third task by the processor.
  • the third task has a lower priority than the first task.
  • the management unit limits the number of second read requests that can be continuously issued by the second request issuing unit to a first value in the first period, and limits the number of second read requests that can be continuously issued by the third request issuing unit to a first value. The number of requests is limited to a second value during the first time period.
  • the limit on the number of read requests that can be issued consecutively can be changed according to the task.
  • the third task has higher priority than the second task.
  • the first value is less than the second value.
  • the data transfer circuit further includes a third request issuing unit that issues a third read request to the memory in response to execution of the third task by the processor.
  • the third task has a lower priority than the first task and a higher priority than the second task.
  • the management unit sets the number of second read requests that can be continuously issued by the second request issuing unit to a first value in the first period, and sets the number to the second value in the third period when execution of the third task is scheduled. value, and set to the third value in periods other than the first period and the third period. The first value and the second value are less than the third value.
  • the first value is smaller than the second value. According to the above disclosure, the delay in transferring data corresponding to the read request according to the execution of the first task can be suppressed more than the third task.
  • the data transfer circuit further includes an arbitration circuit that arbitrates access to the memory.
  • the manager may be included in the arbitration circuit.
  • a data transfer method in a control device comprising a processor and a memory includes the steps of issuing a first read request to the memory in response to execution of a first task by the processor; The method includes the steps of: issuing a second read request to the memory according to execution of the task; and managing the number of read requests that can be continuously issued.
  • the first task has a higher priority than the second task.
  • the managing step includes setting the number of first read requests that can be issued in succession to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period. include. Also in this disclosure, delay in transferring data with high priority is suppressed.
  • FIG. 4 is a diagram showing an example of data transfer in the embodiment
  • FIG. 1 is a schematic diagram showing a configuration example of a control system including a control device according to an embodiment
  • FIG. It is a figure which shows the structure of a support apparatus roughly.
  • FIG. 10 is a diagram showing an example of a period during which a change signal is activated
  • FIG. 10 is a diagram showing another example of data transfer in the embodiment
  • FIG. It is a figure which shows the structure of the control apparatus which concerns on a modification.
  • FIG. 1 is a diagram schematically showing an example of the configuration of a control device 1 according to this embodiment.
  • the control device 1 is, for example, an industrial controller such as a PLC (Programmable Logic Controller).
  • PLC Programmable Logic Controller
  • a PLC will be described as a specific example as a typical example of the "control device", but the technical idea disclosed in this specification is not limited to the PLC, and can be applied to any control device. Applicable.
  • the control device 1 includes a processor 10, a main memory 20, a root complex 30, a clock section 40, a data transfer circuit 50, ports 61 and 62, and a memory 63. .
  • the processor 10 is composed of, for example, a CPU (Central Processing Unit), an MPU (microprocessor unit), and the like.
  • the processor 10 reads various programs stored in a storage (not shown), develops them in the main memory 20, and executes them, thereby performing control according to the control target.
  • the storage is composed of, for example, non-volatile storage devices such as HDDs (Hard Disk Drives) and SSDs (Solid State Drives).
  • the main memory 20 is composed of a volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).
  • the clock unit 40 is composed of, for example, a free-running counter. Based on the count value of the clock unit 40, the processor 10 executes various processes for controlling the control target.
  • the root complex 30 executes communication with the data transfer circuit 50.
  • the root complex 30 communicates with the data transfer circuit 50 according to a communication standard such as PCIe (Peripheral Component Interconnect Express). Note that the root complex 30 may communicate with the data transfer circuit 50 according to other communication standards than PCIe.
  • PCIe Peripheral Component Interconnect Express
  • root complex 30 is connected to the processor 10 via a system bus and connected to the main memory 20 via a memory bus. Furthermore, the root complex 30 is connected to the clock section 40 .
  • the data transfer circuit 50 is a circuit that transfers data between the main memory 20 and the device or memory 63 .
  • the data transfer circuit 50 is configured by, for example, an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
  • the data transfer circuit 50 includes DMACs (Direct Memory Access Controllers) 51 to 53, an arbitration circuit 54, an endpoint 55, a clock section 56, a change signal output section 57, Phy chips 58 and 59, memory I/ F (interface) 60 and .
  • DMACs Direct Memory Access Controllers
  • the endpoint 55 is connected to the root complex 30 and communicates with the root complex 30.
  • Phy chips 58 and 59 are connected to ports 61 and 62, respectively. Ports 61 and 62 are connected to units such as I/O devices. This allows the data transfer circuit 50 to communicate with an external unit.
  • the memory I/F 60 is connected with the memory 63 . This allows the data transfer circuit 50 to access the memory 63 .
  • the DMAC 51 is connected to the Phy chip 58 and transfers data directly between the main memory 20 and units connected to the port 61 .
  • DMAC 52 is connected to Phy chip 59 and transfers data directly between main memory 20 and units connected to port 62 .
  • DMAC 53 is connected to memory I/F 60 and directly transfers data between main memory 20 and memory 63 .
  • the DMACs 51 to 53 issue read requests to the main memory 20 according to instructions from the processor 10 .
  • the root complex 30 reads data from the main memory 20 and transfers the read data (hereinafter referred to as read data) to the data transfer circuit 50 in response to the read request.
  • the root complex 30 can continuously accept read requests until the transfer of read data is completed.
  • the upper limit value Nmax of the number of read requests that the root complex 30 can continuously accept is determined according to the communication standard, buffer capacity, and the like.
  • the upper limit value Nmax is set in the endpoint 55 in advance.
  • the endpoint 55 only requests read requests up to the upper limit Nmax. That is, the endpoint 55 outputs read requests issued from the DMCs 51 to 53 to the root complex 30 only when the number of read requests for which corresponding read data has not yet been transferred is less than the upper limit value Nmax.
  • Management units 51a to 53a are added to the DMACs 51 to 53, respectively.
  • the management units 51a-53a respectively manage the number of read requests issued by the DAMCs 51-53.
  • the management units 51a to 53a limit the number of read requests that can be continuously issued from the DMACs 51 to 53 to the limit value N in response to the change signal output from the change signal output unit 57 being active. , respectively (hereinafter referred to as "restriction function").
  • the limit value N is smaller than the upper limit value Nmax of the number of read requests that the root complex 30 can continuously accept.
  • the management unit 53a limits the number of read requests that the DMAC 53 can issue continuously to "1". In this case, even if the number of read requests for which the corresponding read data has not been transferred is less than the upper limit value Nmax, the DMAC 53 issues the read request and completes the transfer of the read data corresponding to the read request. Until this time, the next read request cannot be issued.
  • the management units 51a to 53a can switch between enabling/disabling the restriction function. For example, when the limiting functions of the management units 51a and 52a are set to be disabled and the limiting function of the management unit 53a is set to be enabled, the number of read requests that can be issued continuously in response to the change signal only for the DMAC 53 is the limit value. is limited to N. In the DMACs 51 and 52, even if the change signal is active, the number of read requests that can be continuously issued is not limited to the limit value N ( ⁇ Nmax). Note that the management units 51a to 53a may disable the limiting function by setting the limiting value N to the upper limit value Nmax.
  • the arbitration circuit 54 arbitrates access requests to the main memory 20 . For example, the arbitration circuit 54 performs arbitration to avoid conflicts due to simultaneous accesses from the DMACs 51-53.
  • the clock unit 56 is composed of, for example, a free-running counter.
  • the count value of clock section 56 is synchronized in advance with the count value of clock section 40 .
  • the change signal output unit 57 generates a change signal based on the predetermined schedule information and the count value of the clock unit 56, and outputs the generated change signal to the DMACs 51-53.
  • the schedule information indicates the start timing and end timing of the period during which the change signal is active.
  • the change signal output unit 57 switches the change signal from inactive to active when the count value of the clock unit 56 reaches the start timing indicated by the schedule information.
  • the change signal output unit 57 switches the change signal from active to inactive when the count value of the clock unit 56 reaches the end timing indicated by the schedule information.
  • FIG. 2 is a diagram showing an example of data transfer in a reference form that does not have the change signal output section 57 and management sections 51a to 53a.
  • FIG. 2 shows an example in which the upper limit value Nmax of the number of read requests that the root complex 30 can continuously accept is four.
  • the horizontal axis indicates time.
  • Level 1 shows a read request sent from the DMAC 51 to the endpoint 55 .
  • the second row shows a read request sent from the DMAC 53 to the endpoint 55 .
  • the third row shows a read request transmitted from endpoint 55 to root complex 30 .
  • the fourth row shows read data to be transferred.
  • the DMAC 53 continuously issues four read requests R1 to R4 in response to receiving a read instruction from the processor 10 at time t1.
  • the endpoint 55 determines that the number of read requests whose read data transfer has not been completed is the upper limit value Nmax. Therefore, the endpoint 55 does not issue the next read request to the root complex 30 until the transfer of the read data D1 corresponding to the read request R1 is completed. As a result, even if DMAC 51 receives a read instruction from processor 10 at time t 2 , read requests R 5 and R 6 from DMAC 51 are not output from endpoint 55 to root complex 30 .
  • the endpoint 55 When the endpoint 55 outputs the read request R5 to the root complex 30, the endpoint 55 determines that the number of read requests for which the transfer of read data has not been completed is the upper limit value Nmax. Therefore, the endpoint 55 does not request the next read request R6 from the root complex 30 until the transfer of the read data D2 corresponding to the read request R2 is completed.
  • the transfer of read data D5 corresponding to read request R5 is started at time t5 after the transfer of read data D1 to D4 respectively corresponding to read requests R1 to R4 is completed. Transfer of read data D6 corresponding to read request R6 is started following transfer of read data D5.
  • the control device 1 has a change signal output section 57 and management sections 51a to 53a in order to solve such problems.
  • the change signal output unit 57 Based on the execution schedule of each task, the change signal output unit 57 generates an active change signal during a first period during which the high-priority task is scheduled to be executed, and generates an inactive change signal during a second period other than the first period. Generate a change signal. Further, the validity/invalidity of the limiting function of each of the management units 51a to 53a is set according to the priority of the task.
  • the limiting function of the management unit 51a of the DMAC 51 that issues read requests according to the execution of high-priority tasks is disabled, and the DMAC 53 that issues read requests according to the execution of low-priority tasks is managed.
  • the limiting function of the section 53a is set to valid.
  • FIG. 3 is a diagram showing an example of data transfer in this embodiment.
  • FIG. 3 shows an example in which the upper limit value Nmax is 4 and the limit value N is 1.
  • the limiting function of the management section 51a is disabled, and the limiting function of the management section 53a is enabled.
  • the horizontal axis indicates time.
  • the first row shows the change signal.
  • the second row shows a read request sent from the DMAC 51 to the endpoint 55 .
  • the third row shows a read request sent from the DMAC 53 to the endpoint 55 .
  • the fourth row shows a read request transmitted from endpoint 55 to root complex 30 .
  • Level 5 shows read data to be transferred.
  • the change signal is active during the period T1 during which the high priority task is scheduled to be executed.
  • FIG. 3 shows an example in which the DMAC 53 receives a read instruction corresponding to execution of a low-priority task by the processor 10 at time t1 within the period T1. In the example shown in FIG. 3, it is necessary to issue four read requests R1 to R4 in response to the read instruction.
  • the DMAC 53 issues a read request R1 at time t1.
  • the DMAC 51 receives a read instruction according to the execution of the high-priority task by the processor 10. Assume that two read requests R5 and R6 need to be issued in response to the read instruction. The restriction function of the management unit 51a of the DMAC 51 is disabled. Therefore, the DMAC 51 continuously issues read requests R5 and R6.
  • the change signal switches to inactive.
  • the number of read requests for which the transfer of read data has not been completed is three, which is less than the upper limit value Nmax.
  • the DMAC 53 issues the next read request R2.
  • Read request R6 is output from endpoint 55 to root complex 30 .
  • the endpoint 55 When the endpoint 55 outputs the read request R2, it determines that the number of read requests for which the transfer of read data has not been completed is the upper limit value Nmax. As a result, the endpoint 55 does not request the remaining read requests R3 and R4 issued from the DMAC 53 to the root complex 30 .
  • the endpoint 55 determines that the number of read requests whose read data transfer has not been completed is less than the upper limit value Nmax. As a result, the endpoint 55 outputs the read request R3 issued by the DMAC 53 to the root complex 30 .
  • the endpoint 55 When the endpoint 55 outputs the read request R3, it determines that the number of read requests for which the transfer of read data has not been completed is the upper limit value Nmax. Therefore, the endpoint 55 does not request the remaining read request R4 issued from the DMAC 53 to the root complex 30 .
  • the endpoint 55 determines that the number of read requests whose read data transfer has not been completed is less than the upper limit value Nmax. As a result, the endpoint 55 outputs the read request R4 issued from the DMAC 53 to the root complex 30.
  • the change signal becomes active during the period T1 during which the high-priority task is scheduled to be executed. Therefore, even if the DMAC 53 receives a read instruction corresponding to the execution of a low-priority task in the period T1, the DMAC 53 can issue only the number of read requests equal to or less than the limit value N in succession. As a result, the DMAC 51 can issue a read request when receiving a read instruction corresponding to the execution of a high-priority task during the period T1. As a result, a delay in transferring read data corresponding to a high-priority task is suppressed.
  • FIG. 4 is a schematic diagram showing a configuration example of a control system including the control device 1 according to this embodiment. As shown in FIG. 4, the control system comprises a control device 1, one or more units 2, and a support device 3.
  • the unit 2 is equipment and devices to be controlled, and various devices (sensors, actuators, etc.) placed there.
  • the support device 3 creates a user program to be executed in the control device 1 and installs the user program in the control device 1 .
  • a user program is a sequence program for controlling a controlled object, and includes an IO refresh program, a control operation program, a peripheral processing program, a communication program, and the like.
  • the support device 3 analyzes the user program and generates schedule information for determining the period during which the change signal is active according to the priority of each task executed by the control device 1.
  • the schedule information is set in the change signal output section 57 of the control device 1 .
  • the schedule information indicates the start timing and end timing of the period during which the change signal is active.
  • FIG. 5 is a diagram schematically showing the configuration of the support device 3.
  • the support device 3 includes a CPU 302 , a ROM 303 , a RAM 304 , an HDD 305 , a communication controller 307 and an I/O (Input/Output) interface 308 .
  • Support device 3 further includes keyboard 309 and display 310 .
  • Keyboard 309 accepts input including instructions to support device 3 from the user.
  • Support device 3 may include other devices, such as a mouse, to accept the input.
  • the display 310 includes an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) and displays a video or image according to a video signal or image signal output from the support device 3 .
  • the support device 3 is provided with an R/W (reader/writer) device 306 for detachably mounting an external storage medium 301 and reading/writing programs and/or data from/to the mounted storage medium 301 .
  • the communication controller 307 controls communication between the support device 3 and external devices (including the control device 1) via the network.
  • the communication controller 307 includes, for example, a NIC (Network Interface Card).
  • I/O interface 308 controls the exchange of data between CPU 302 and keyboard 309 and display 310 .
  • the HDD 305 includes a system program 70 including an OS, a UPG generation program 71 for generating user programs 69, a UPG library 172 storing one or more generated user programs 69, and a scheduler 72.
  • the UPG generation program 71 operates according to user operations received from the keyboard 309, such as an editor that edits (generates) the user program 69, a compiler that compiles the edited user program 69, a builder that converts the user program 69 into an executable format, and the like. include. Note that the builder may also include a compilation function.
  • the scheduler 72 is a program that estimates a processing sequence when the user program 69 is executed by the control device 1 and generates schedule information.
  • the scheduler 72 is a program that analyzes the user program 69 and estimates resource allocation such as usage time of the processor 10 and execution timing according to priorities set for a plurality of tasks defined by the user program 69 .
  • the scheduler 72 determines the sequence of each process in the control cycle by analyzing the user program 69.
  • FIG. 6 is a diagram showing an example of a processing sequence of the control device 1.
  • FIG. 6 in the example shown in FIG. 6, in the control cycle TC, data transmission processing to each unit 2, arithmetic processing for controlling the controlled object, data reception processing from each unit 2, and other processing are performed in this order. executed.
  • Other processing includes, for example, communication processing with a host device.
  • the scheduler 72 schedules each unit 2 in the control cycle TC.
  • a period T2 during which the data transmission process is scheduled to be executed is estimated.
  • the scheduler 72 estimates the period during which the execution of the arithmetic processing for controlling the controlled object is scheduled in the control cycle TC based on the above (e) information on the content of the arithmetic processing.
  • the scheduler 72 Based on (b) the model and number of units 2 connected to the control device 1 and (d) the amount of data to be transmitted to each unit 2, the scheduler 72 sends data to each unit 2 in the control cycle TC. Estimates a period T3 during which the reception process of is scheduled to be executed.
  • the scheduler 72 uses the priority set for each of the multiple tasks defined by the user program 69 and the processing sequence obtained by analyzing the user program 69 to generate schedule information.
  • the CPU 302 identifies from the processing sequence a period during which the task with the highest priority or a predetermined number of tasks with the highest priority are executed, and generates schedule information indicating the start timing and end timing of the identified period. .
  • schedule information indicating the start timing and end timing of a period T1 during which the data transmission process is scheduled to be executed, and the start timing and end timing of a period T2 during which the data reception process is scheduled to be executed. is generated.
  • the scheduler 72 sets the generated schedule information in the change signal output unit 57 of the control device 1 . Thereby, the change signal output unit 57 switches the change signal to active between the periods T2 and T3.
  • the periods T2 and T3 in which the number of read requests that can be continuously issued by the DMAC are limited are predetermined based on the user program 69.
  • the scheduler 72 enables the limiting function of the DMAC management unit used in executing the task with the lowest priority or the predetermined number of lower-priority tasks among the plurality of DMACs possessed by the control device 1. and disable the limiting function of the remaining DMAC management units.
  • control device 1 When the power is turned on, the control device 1 activates the installed user program and executes the user program 69 . Furthermore, the control device 1 terminates the user program 69 when an abnormality occurs or for reasons such as maintenance of the controlled object.
  • FIG. 7 is a diagram showing an example of a period during which the change signal is activated. It is desirable that the read data corresponding to the execution of the task with high priority be transferred before other data. Therefore, as shown in FIG. 7, the scheduler 72 includes the period during which the change signal is activated within the period during which the user program 69 is executed to control the controlled object.
  • the scheduler 72 does not include the period during which the change signal is activated within the activation period and the termination period of the user program 69 .
  • the DMAC 51 issues a read request according to the execution of the first task
  • the DMAC 53 issues the read request according to the execution of the second task
  • the DMAC 52 issues the read request according to the execution of the third task.
  • the second task has a lower priority than the first task
  • the third task has a lower priority than the first task and a higher priority than the second task.
  • the limiting function of the DMACs 52 and 53 is enabled, and an active change signal is output during the period T1 during which the execution of the first task is scheduled.
  • the management unit 53a limits the number of DMACs 53 that can continuously issue read requests to a first limit value.
  • the management unit 52a limits the number of DMACs 52 that can issue read requests in succession to a second limit value when the change signal is active.
  • the first limit value may be the same as the second limit value.
  • the first limit value may be set smaller than the second limit value according to the priority of the second task and the third task. For example, the first limit value is set to "1" and the second limit value is set to "2".
  • the change signal output section 57 may output a plurality of change signals.
  • the limit value may be different for each change signal for the DMAC with the limit function enabled.
  • FIG. 8 is a diagram showing another example of data transfer in this embodiment.
  • FIG. 8 shows an example in which the upper limit value Nmax is 4 and the limit values for the first and second change signals are 1 and 2, respectively.
  • the limiting functions of the management units 51a and 52a are disabled, and the limiting function of the DMAC 53 is enabled.
  • the horizontal axis indicates time.
  • the first row shows the first modification signal.
  • the second row shows the second modified signal.
  • the third row shows a read request sent from the DMAC 51 to the endpoint 55 .
  • the fourth row shows a read request sent from DMAC 52 to endpoint 55 .
  • Level 5 shows a read request sent from the DMAC 53 to the endpoint 55 .
  • Row 6 shows a read request transmitted from endpoint 55 to root complex 30 .
  • Level 7 shows read data to be transferred.
  • the first change signal is generated so as to be active during the period T4 during which the high-priority task is scheduled to be executed.
  • the second change signal is generated to be active during the period T5 during which the medium priority task is scheduled to be executed. Note that the period T4 and the period T5 may overlap each other. When both the period T4 and the period T5 are active, the number of read requests that can be issued consecutively in the DMAC with the limit function enabled corresponds to the first change signal and the second change signal, respectively. Limited to the lesser of the two limits.
  • FIG. 8 shows an example in which the DMAC 53 receives a read instruction corresponding to execution of a low-priority task by the processor 10 at time t11 in period T4.
  • the DMAC 53 receives a read instruction corresponding to execution of a low-priority task by the processor 10 at time t11 in period T4.
  • the management unit 53a limits the number of read requests that can be continuously issued by the DMAC 53 to "1". Therefore, the DMAC 53 issues only the read request R11 and cannot issue the read requests R12 and R13 consecutively.
  • the DMAC 53 issues the remaining read request R12. Since the transfer of the read data D11 corresponding to the read request R11 is completed before time t13, the DMAC 53 can also issue the read request R13 following the read request R12.
  • the first change signal becomes active during the period T4 during which the high-priority task is scheduled to be executed. Therefore, even if the DMAC 53 receives a read instruction corresponding to execution of a low-priority task during the period T4, the DMAC 53 can issue only one read request R11. As a result, the DMAC 51 can issue the read requests R21 and R22 when receiving a read instruction corresponding to the execution of the high-priority task during the period T4. As a result, the transfer delay of the read data D21 and D22 corresponding to the high-priority task is suppressed.
  • FIG. 8 shows an example in which the DMAC 53 receives a read instruction corresponding to the execution of a low-priority task by the processor 10 at time t14 within the period T3.
  • the DMAC 53 receives a read instruction corresponding to the execution of a low-priority task by the processor 10 at time t14 within the period T3.
  • the second modification signal is active. Therefore, the management unit 53a limits the number of read requests that can be continuously issued by the DMAC 53 to "2". Therefore, the DMAC 53 continuously issues the read requests R14 and R15 and cannot issue the read request R16.
  • the second change signal switches to inactive.
  • the DMAC 53 issues the remaining read request R16. Since transfer of read data D14 corresponding to read request R14 is completed before time t16, DMAC 53 can issue read request R16 after time t16.
  • the second change signal becomes active during the period T3 during which the medium-priority task is scheduled to be executed. Therefore, even if the DMAC 53 receives a read instruction corresponding to execution of a low-priority task during the period T5, the DMAC 53 can issue only two read requests R14 and R15. As a result, the DMAC 52 can issue a read request when receiving a read instruction corresponding to the execution of a medium-priority task during the period T5. As a result, a delay in transferring read data corresponding to a medium-priority task is suppressed.
  • the limit value should be set according to the priority of the task. By reducing the limit value, the number of read requests associated with the execution of low-priority tasks is reduced, and the delay in read data transfer associated with the execution of the target task is suppressed. However, there is a possibility that the number of read requests waiting to be issued due to the execution of low-priority tasks will increase, so the transfer of read data that accompanies the execution of low-priority tasks will be delayed.
  • time T6 from time t11 to time t12 and time T7 from time t15 to time t16 are handled.
  • the time T8 required to transfer the read data D11-D13, D21 and D22 is longer than the time T9 required to transfer the read data D14-D16, D31 and D32 corresponding to the read requests R14-R16, R31 and R32.
  • the limit value also affects transfer efficiency. Therefore, the limit value of each DMAC is set in consideration of both transfer efficiency and task priority.
  • the DMAC is provided with a management unit that limits the number of read requests issued in succession by the DMAC.
  • the management unit may be provided in the arbitration circuit.
  • FIG. 9 is a diagram showing the configuration of a control device according to a modification.
  • the control device 1A differs from the control device 1 in that the data transfer circuit 50 is replaced with a data transfer circuit 50A.
  • the data transfer circuit 50A is different from the data transfer circuit 50 in that it includes an arbitration circuit 64 instead of the arbitration circuit 54, and the DMACs 51-53 do not have management units 51a-53a, respectively.
  • the change signal output unit 57 outputs a change signal to the arbitration circuit 64 .
  • the arbitration circuit 64 has the same function as the arbitration circuit 54. Further, the arbitration circuit 64 has a management section 64a.
  • the management unit 64a manages the number of consecutively issued read requests for each of the DMACs 51-53. Specifically, the management unit 64a limits the number of consecutively issued read requests to the limit value for each of the DMACs 51 to 53 in response to the active change signal. Note that the management unit 64a can switch between enabling/disabling the function of limiting the number of consecutively issued read requests for each of the DMACs 51-53.
  • the management unit 64a switches enable/disable of the restriction function for each of the DMACs 51 to 53 according to the setting by the support device 3. FIG.
  • composition 3 The processor (20) executes a user program (69) for controlling a controlled object, The control device (1, 1A) according to configuration 1 or 2, wherein said first time period is predetermined based on said user program (69).
  • Composition 4 The processor (10) executes a user program (69) for controlling a controlled object,
  • the first period is included within the period during which the processor (10) executes the user program (69) to control the controlled object, and within the startup period and the termination period of the user program (69)
  • a controller (1, 1A) according to configuration 1 or 2, not included.
  • the management units (53a to 53c, 64a) do not limit the number of the first read requests that can be issued continuously by the first request issuing unit (51) during the first period and the second period. 5.
  • the control device according to any one of configurations 1 to 4.
  • the data transfer circuit (50, 50A) further includes a third request issuing unit (52) that issues a third read request to the memory in response to execution of a third task by the processor (10), the third task has a lower priority than the first task;
  • the management units (53a to 53c, 64a) limit the number of the second read requests that can be continuously issued by the second request issuing unit (53) to a first value in the first period, and
  • the control device (1, 1A) according to configuration 1, wherein the number of said third read requests that can be continuously issued by said third request issuing section (52) is limited to a second value in said first period.
  • composition 7 the third task has a higher priority than the second task; 7.
  • the data transfer circuit (50, 50A) further includes a third request issuing unit (52) that issues a third read request to the memory (20) in response to execution of a third task by the processor (10). including the third task has a lower priority than the first task and a higher priority than the second task;
  • the management units (53a to 53c, 64a) set the number of the second read requests that can be continuously issued by the second request issuing unit (53) to a first value in the first period, and set to a second value in a third period during which execution of the third task is scheduled, and set to a third value in periods other than the first period and the third period; Control device (1, lA) according to configuration 1, wherein said first value and said second value are less than said third value.
  • composition 9 The controller (1, lA) of arrangement 8, wherein said first value is less than said second value.
  • the data transfer circuit (50A) further includes an arbitration circuit (64) that arbitrates access to the memory (20), The control device (1A) according to any one of Configurations 1 to 8, wherein the management section (64a) is included in the arbitration circuit (64).
  • Composition 11 A data transfer method in a control device (1, 1A) comprising a processor (10) and a memory (20), issuing a first read request to the memory in response to execution of a first task by the processor (10); issuing a second read request to the memory in response to execution of a second task by the processor (10); managing the number of read requests that can be issued in succession; the first task has a higher priority than the second task; In the managing step, the number of the first read requests that can be continuously issued is set to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period.
  • a data transfer method including steps to configure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Bus Control (AREA)
  • Programmable Controllers (AREA)

Abstract

A data transfer circuit of this control device comprises a first request issuing unit that issues a first read request to a memory in response to execution of a first task by a processor, a second request issuing unit that issues a second read request to the memory in response to execution of a second task by the processor, and a management unit that manages the number of read requests that can be issued continuously. The priority of the first task is higher than that of the second task. The management unit limits the number of second read requests that can be issued continuously by the second request issuing unit so as to be smaller in a first period in which the first task is planned to be executed than in a second period other than the first period.

Description

制御装置およびデータ転送方法Control device and data transfer method

 本開示は、制御装置およびデータ転送方法に関する。 The present disclosure relates to a control device and a data transfer method.

 様々な生産現場において、PLC(プログラマブルロジックコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。FA技術では、リアルタイム性の要求に応えるために、データの転送スループットの向上が望まれている。一度に転送可能なデータサイズを大きくすることにより、転送スループットが向上する。しかしながら、優先度の低いデータの転送が要求された直後に優先度の高いデータの転送が必要となった場合、優先度の高いデータの転送が遅延する。そのため、優先度の高いデータの転送の遅延を抑制することが望まれる。 FA (Factory Automation) technology using control devices such as PLCs (Programmable Logic Controllers) is widely used in various production sites. In FA technology, improvement in data transfer throughput is desired in order to meet the demand for real-time performance. By increasing the data size that can be transferred at one time, the transfer throughput is improved. However, if the transfer of high-priority data becomes necessary immediately after the transfer of low-priority data is requested, the transfer of high-priority data is delayed. Therefore, it is desirable to suppress delays in transferring data with high priority.

 特開2019-54350号公報(特許文献1)は、データの転送が発生するタイミングの予定を示すスケジューリング情報を参照して、最大データ要求サイズを動的に制御する転送装置を開示している。転送装置は、第1のデータの転送割り込みが、第1のデータよりも優先度が低い第2のデータの転送中に発生する可能性があるタイミングにおいて、第2のデータの最大データ要求サイズを閾値未満の値に制御する。これにより、優先度の高い第1のデータの転送の遅延が抑制される。 Japanese Patent Application Laid-Open No. 2019-54350 (Patent Document 1) discloses a transfer device that dynamically controls the maximum data request size by referring to scheduling information that indicates a schedule of timings at which data transfers occur. The transfer device sets the maximum data request size of the second data at the timing at which the transfer interrupt of the first data may occur during the transfer of the second data whose priority is lower than that of the first data. Control to a value below the threshold. As a result, the delay in transferring the first data with high priority is suppressed.

特開2019-54350号公報JP 2019-54350 A

 データの転送の要求を複数回連続して発行できる技術が知られている。特許文献1は、このような技術を想定していない。そのため、この技術を特許文献1に適用した場合、優先度の低いデータの転送の要求が複数回連続して発行され得る。これにより、優先度の高いデータの転送の遅延が生じ得る。 A technology is known that can issue multiple data transfer requests in succession. Patent Literature 1 does not assume such a technique. Therefore, when this technology is applied to Patent Document 1, a request for transferring data with low priority may be issued a plurality of times in succession. This can cause a delay in transferring high priority data.

 本開示は、上記の問題に鑑みてなされたものであり、その目的は、優先度の高いデータの転送の遅延が抑制可能な制御装置およびデータ転送方法を提供することである。 The present disclosure has been made in view of the above problems, and an object thereof is to provide a control device and a data transfer method capable of suppressing delays in transferring high-priority data.

 本開示の一例によれば、制御装置は、プロセッサと、メモリと、データ転送回路と、を備える。データ転送回路は、プロセッサによる第1タスクの実行に応じて、メモリへの第1リード要求を発行する第1要求発行部と、記プロセッサによる第2タスクの実行に応じて、メモリへの第2リード要求を発行する第2要求発行部と、連続して発行可能なリード要求の個数を管理する管理部と、を含む。第1タスクは、第2タスクよりも優先度が高い。管理部は、第2要求発行部が連続して発行可能な第2リード要求の個数を、第1タスクの実行が予定される第1期間において第1期間以外の第2期間よりも少なくなるように制限する。 According to one example of the present disclosure, a control device includes a processor, a memory, and a data transfer circuit. The data transfer circuit includes a first request issuing unit that issues a first read request to the memory in accordance with the execution of the first task by the processor, and a second request to the memory in response to the execution of the second task by the processor. It includes a second request issuing unit that issues read requests, and a management unit that manages the number of read requests that can be continuously issued. The first task has a higher priority than the second task. The management unit sets the number of second read requests that can be continuously issued by the second request issuing unit to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period. limit to

 上記の開示によれば、高優先の第1タスクの実行が予定される第1期間において、プロセッサによる低優先の第2タスクの実行に応じた、第2要求発行部によって発行されるリード要求の個数が制限される。これにより、第1要求発行部は、第1期間において、プロセッサによる高優先の第1タスクの実行に応じて、リード要求を発行できる。その結果、高優先のタスクに対応するリードデータの転送の遅延が抑制される。 According to the above disclosure, the number of read requests issued by the second request issuing unit in response to the execution of the second low-priority task by the processor during the first period in which the execution of the first high-priority task is scheduled limited in number. Thereby, the first request issuing unit can issue a read request in accordance with the execution of the high-priority first task by the processor in the first period. As a result, a delay in transferring read data corresponding to a high-priority task is suppressed.

 上述の開示において、管理部は、第1期間において、第2要求発行部が連続して発行可能な第2リード要求の個数を1に制限する。 In the above disclosure, the management unit limits the number of second read requests that can be continuously issued by the second request issuing unit to 1 in the first period.

 上記の開示によれば、第1期間において、プロセッサが先に低優先の第2タスクを実行したとしても、第2要求発行部は、連続して1個のリード要求しか発行できない。そのため、残りの期間において、第1要求発行部は、プロセッサによる高優先の第1タスクの実行に応じて、リード要求を発行できる。 According to the above disclosure, even if the processor first executes the low-priority second task in the first period, the second request issuing unit can issue only one read request in succession. Therefore, during the remaining period, the first request issuing unit can issue a read request according to the execution of the high-priority first task by the processor.

 上述の開示において、プロセッサは、制御対象を制御するためのユーザプログラムを実行する。第1期間は、ユーザプログラムに基づいて予め定められる。 In the above disclosure, the processor executes a user program for controlling the controlled object. The first period is predetermined based on the user program.

 ユーザプログラムにより、プロセッサの処理シーケンスを推定できる。そのため、上記の開示によれば、第1タスクの実行が予定される第1期間を精度良く定めることができる。 The user program can estimate the processing sequence of the processor. Therefore, according to the above disclosure, it is possible to accurately determine the first period during which the execution of the first task is scheduled.

 上述の開示において、プロセッサは、制御対象を制御するためのユーザプログラムを実行する。第1期間は、プロセッサがユーザプログラムを実行して制御対象を制御する期間内に含まれ、ユーザプログラムの起動期間内および終了期間内には含まれない。 In the above disclosure, the processor executes a user program for controlling the controlled object. The first period is included in the period during which the processor executes the user program to control the controlled object, and is not included in the activation period and termination period of the user program.

 ユーザプログラムの起動期間および終了期間では、転送されるデータ順は問われない。そのため、上記の開示によれば、ユーザプログラムの起動期間内および終了期間内に第1期間が含まれないため、連続して発行可能な第2リード要求の個数が制限されない。その結果、リード要求の発行を待機する頻度が低下し、データの転送スループットが向上する。  In the user program startup period and termination period, the order of data to be transferred does not matter. Therefore, according to the above disclosure, the first period is not included in the activation period and the termination period of the user program, so the number of second read requests that can be issued in succession is not limited. As a result, the frequency of waiting for the issuance of read requests is reduced, and the data transfer throughput is improved.

 上述の開示において、管理部は、第1期間および第2期間において、第1要求発行部が連続して発行可能な第1リード要求の個数を制限しない。 In the above disclosure, the management unit does not limit the number of first read requests that can be issued continuously by the first request issuing unit in the first period and the second period.

 上記の開示によれば、高優先の第1タスクの実行に応じたリード要求の個数が制限されず、当該リード要求に対応するデータの転送の遅延が抑制される。 According to the above disclosure, the number of read requests corresponding to the execution of the high-priority first task is not limited, and the delay in transferring data corresponding to the read requests is suppressed.

 上述の開示において、データ転送回路は、プロセッサによる第3タスクの実行に応じて、メモリへの第3リード要求を発行する第3要求発行部をさらに含む。第3タスクは、第1タスクよりも優先度が低い。管理部は、第2要求発行部が連続して発行可能な第2リード要求の個数を、第1期間において第1値に制限し、第3要求発行部が連続して発行可能な第3リード要求の個数を、第1期間において第2値に制限する。 In the above disclosure, the data transfer circuit further includes a third request issuing unit that issues a third read request to the memory in response to execution of the third task by the processor. The third task has a lower priority than the first task. The management unit limits the number of second read requests that can be continuously issued by the second request issuing unit to a first value in the first period, and limits the number of second read requests that can be continuously issued by the third request issuing unit to a first value. The number of requests is limited to a second value during the first time period.

 上記の開示によれば、タスクに応じて、連続して発行可能なリード要求の個数の制限数を変更できる。 According to the above disclosure, the limit on the number of read requests that can be issued consecutively can be changed according to the task.

 上述の開示において、第3タスクは、第2タスクよりも優先度が高い。第1値は、第2値より小さい。 In the above disclosure, the third task has higher priority than the second task. The first value is less than the second value.

 上記の開示によれば、優先度の高いタスクの実行に応じたリード要求に対応するデータの転送の遅延を抑制できる。 According to the above disclosure, it is possible to suppress delays in transferring data corresponding to read requests in response to execution of tasks with high priority.

 上述の開示において、データ転送回路は、プロセッサによる第3タスクの実行に応じて、メモリへの第3リード要求を発行する第3要求発行部をさらに含む。第3タスクは、第1タスクよりも優先度が低く、第2タスクよりも優先度が高い。管理部は、第2要求発行部が連続して発行可能な第2リード要求の個数を、第1期間において第1値に設定し、第3タスクの実行が予定される第3期間において第2値に設定し、第1期間および第3期間以外の期間において第3値に設定する。第1値および第2値は第3値よりも小さい。 In the above disclosure, the data transfer circuit further includes a third request issuing unit that issues a third read request to the memory in response to execution of the third task by the processor. The third task has a lower priority than the first task and a higher priority than the second task. The management unit sets the number of second read requests that can be continuously issued by the second request issuing unit to a first value in the first period, and sets the number to the second value in the third period when execution of the third task is scheduled. value, and set to the third value in periods other than the first period and the third period. The first value and the second value are less than the third value.

 上記の開示によれば、第2タスクよりも優先度の高い第1タスクおよび第3タスクの実行に応じたリード要求に対応するデータの転送の遅延を抑制できる。 According to the above disclosure, it is possible to suppress delays in transferring data corresponding to read requests in response to the execution of the first task and the third task, which have higher priority than the second task.

 上述の開示において、第1値は、第2値より小さい。上記の開示によれば、第3タスクよりも第1タスクの実行に応じたリード要求に対応するデータの転送の遅延をより抑制できる。 In the above disclosure, the first value is smaller than the second value. According to the above disclosure, the delay in transferring data corresponding to the read request according to the execution of the first task can be suppressed more than the third task.

 上述の開示において、データ転送回路は、メモリへのアクセスを調停する調停回路をさらに含む。管理部は、調停回路に含まれてもよい。 In the above disclosure, the data transfer circuit further includes an arbitration circuit that arbitrates access to the memory. The manager may be included in the arbitration circuit.

 本開示の一例によれば、プロセッサとメモリとを備える制御装置におけるデータ転送方法は、プロセッサによる第1タスクの実行に応じて、メモリへの第1リード要求を発行するステップと、プロセッサによる第2タスクの実行に応じて、メモリへの第2リード要求を発行するステップと、連続して発行可能なリード要求の個数を管理するステップと、を備える。第1のタスクは、第2のタスクよりも優先度が高い。管理するステップは、連続して発行可能な第1リード要求の個数を、第1タスクの実行が予定される第1期間において第1期間以外の第2期間よりも少なくなるように設定するステップを含む。この開示においても、優先度の高いデータの転送の遅延が抑制される。 According to an example of the present disclosure, a data transfer method in a control device comprising a processor and a memory includes the steps of issuing a first read request to the memory in response to execution of a first task by the processor; The method includes the steps of: issuing a second read request to the memory according to execution of the task; and managing the number of read requests that can be continuously issued. The first task has a higher priority than the second task. The managing step includes setting the number of first read requests that can be issued in succession to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period. include. Also in this disclosure, delay in transferring data with high priority is suppressed.

 本開示によれば、優先度の高いデータの転送の遅延が抑制できる。 According to the present disclosure, it is possible to suppress delays in transferring high-priority data.

本実施の形態に係る制御装置の構成の一例を模式的に示す図である。It is a figure which shows typically an example of a structure of the control apparatus which concerns on this Embodiment. 変更信号出力部および管理部を有しない参考形態におけるデータ転送の一例を示す図である。It is a figure which shows an example of data transfer in a reference form which does not have a change signal output part and a management part. 本実施の形態におけるデータ転送の一例を示す図である。FIG. 4 is a diagram showing an example of data transfer in the embodiment; FIG. 本実施の形態に係る制御装置を含む制御システムの構成例を示す模式図である。1 is a schematic diagram showing a configuration example of a control system including a control device according to an embodiment; FIG. サポート装置の構成を概略的に示す図である。It is a figure which shows the structure of a support apparatus roughly. 制御装置の処理シーケンスの一例を示す図である。It is a figure which shows an example of the processing sequence of a control apparatus. 変更信号がアクティブにされる期間の一例を示す図である。FIG. 10 is a diagram showing an example of a period during which a change signal is activated; 本実施の形態におけるデータ転送の別の例を示す図である。FIG. 10 is a diagram showing another example of data transfer in the embodiment; FIG. 変形例に係る制御装置の構成を示す図である。It is a figure which shows the structure of the control apparatus which concerns on a modification.

 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are denoted by the same reference numerals, and the description thereof will not be repeated.

 §1 適用例
 まず、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御装置1の構成の一例を模式的に示す図である。制御装置1は、たとえばPLC(Programmable Logic Controller)のような産業用コントローラである。以下の説明においては、「制御装置」の典型例として、PLCを具体例として説明するが、PLCに限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
§1 Application Example First, an example of a scene to which the present invention is applied will be described. FIG. 1 is a diagram schematically showing an example of the configuration of a control device 1 according to this embodiment. The control device 1 is, for example, an industrial controller such as a PLC (Programmable Logic Controller). In the following description, a PLC will be described as a specific example as a typical example of the "control device", but the technical idea disclosed in this specification is not limited to the PLC, and can be applied to any control device. Applicable.

 図1に示されるように、制御装置1は、プロセッサ10と、メインメモリ20と、ルートコンプレックス30と、時計部40と、データ転送回路50と、ポート61,62と、メモリ63と、を備える。 As shown in FIG. 1, the control device 1 includes a processor 10, a main memory 20, a root complex 30, a clock section 40, a data transfer circuit 50, ports 61 and 62, and a memory 63. .

 プロセッサ10は、たとえばCPU(Central Processing Unit)、MPU(microprocessor unit)などで構成される。プロセッサ10は、図示しないストレージに記憶された各種プログラムを読み出し、メインメモリ20に展開して実行することにより、制御対象に応じた制御を行なう。ストレージは、たとえばHDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。メインメモリ20は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。 The processor 10 is composed of, for example, a CPU (Central Processing Unit), an MPU (microprocessor unit), and the like. The processor 10 reads various programs stored in a storage (not shown), develops them in the main memory 20, and executes them, thereby performing control according to the control target. The storage is composed of, for example, non-volatile storage devices such as HDDs (Hard Disk Drives) and SSDs (Solid State Drives). The main memory 20 is composed of a volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).

 時計部40は、たとえばフリーランカウンタによって構成される。プロセッサ10は、時計部40のカウント値に基づいて、制御対象を制御するための各種の処理を実行する。 The clock unit 40 is composed of, for example, a free-running counter. Based on the count value of the clock unit 40, the processor 10 executes various processes for controlling the control target.

 ルートコンプレックス30は、データ転送回路50との通信を実行する。ルートコンプレックス30は、たとえばPCIe(Peripheral Component Interconnect Express)等の通信規格に従って、データ転送回路50と通信する。なお、ルートコンプレックス30は、PCIeに限らず他の通信規格に従ってデータ転送回路50と通信してもよい。 The root complex 30 executes communication with the data transfer circuit 50. The root complex 30 communicates with the data transfer circuit 50 according to a communication standard such as PCIe (Peripheral Component Interconnect Express). Note that the root complex 30 may communicate with the data transfer circuit 50 according to other communication standards than PCIe.

 さらに、ルートコンプレックス30は、システムバスを介してプロセッサ10と接続され、メモリバスを介してメインメモリ20と接続される。さらに、ルートコンプレックス30は、時計部40と接続される。 Further, the root complex 30 is connected to the processor 10 via a system bus and connected to the main memory 20 via a memory bus. Furthermore, the root complex 30 is connected to the clock section 40 .

 データ転送回路50は、メインメモリ20とデバイスまたはメモリ63との間でデータを転送する回路である。データ転送回路50は、たとえばFPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって構成される。データ転送回路50は、DMAC(Direct Memory Access Controller)51~53と、調停回路54と、エンドポイント55と、時計部56と、変更信号出力部57と、Phyチップ58,59と、メモリI/F(interface)60と、を含む。 The data transfer circuit 50 is a circuit that transfers data between the main memory 20 and the device or memory 63 . The data transfer circuit 50 is configured by, for example, an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The data transfer circuit 50 includes DMACs (Direct Memory Access Controllers) 51 to 53, an arbitration circuit 54, an endpoint 55, a clock section 56, a change signal output section 57, Phy chips 58 and 59, memory I/ F (interface) 60 and .

 エンドポイント55は、ルートコンプレックス30と接続され、ルートコンプレックス30と通信する。 The endpoint 55 is connected to the root complex 30 and communicates with the root complex 30.

 Phyチップ58,59は、ポート61,62にそれぞれ接続される。ポート61,62は、I/Oデバイス等のユニットと接続される。これにより、データ転送回路50は、外部のユニットと通信できる。 Phy chips 58 and 59 are connected to ports 61 and 62, respectively. Ports 61 and 62 are connected to units such as I/O devices. This allows the data transfer circuit 50 to communicate with an external unit.

 メモリI/F60は、メモリ63と接続される。これにより、データ転送回路50は、メモリ63にアクセスできる。 The memory I/F 60 is connected with the memory 63 . This allows the data transfer circuit 50 to access the memory 63 .

 DMAC51は、Phyチップ58と接続され、メインメモリ20とポート61に接続されるユニットとの間で直接データを転送する。DMAC52は、Phyチップ59と接続され、メインメモリ20とポート62に接続されるユニットとの間で直接データを転送する。DMAC53は、メモリI/F60と接続され、メインメモリ20とメモリ63との間で直接データを転送する。 The DMAC 51 is connected to the Phy chip 58 and transfers data directly between the main memory 20 and units connected to the port 61 . DMAC 52 is connected to Phy chip 59 and transfers data directly between main memory 20 and units connected to port 62 . DMAC 53 is connected to memory I/F 60 and directly transfers data between main memory 20 and memory 63 .

 DMAC51~53は、プロセッサ10からの指示に応じて、メインメモリ20へのリード要求を発行する。ルートコンプレックス30は、リード要求に応じて、メインメモリ20のデータを読み出し、読み出したデータ(以下、リードデータ」と称する)をデータ転送回路50に転送する。 The DMACs 51 to 53 issue read requests to the main memory 20 according to instructions from the processor 10 . The root complex 30 reads data from the main memory 20 and transfers the read data (hereinafter referred to as read data) to the data transfer circuit 50 in response to the read request.

 ルートコンプレックス30は、リードデータの転送が完了するまでの間に、連続してリード要求を受け付け可能である。ルートコンプレックス30が連続して受け付け可能なリード要求の個数の上限値Nmaxは、通信規格、バッファ容量等に応じて定められる。上限値Nmaxは予めエンドポイント55に設定される。エンドポイント55は、上限値Nmaxまでのリード要求しかリクエストしない。すなわち、エンドポイント55は、対応するリードデータが未転送であるリード要求の個数が上限値Nmax未満である場合にのみ、DMC51~53から発行されたリード要求をルートコンプレックス30に出力する。 The root complex 30 can continuously accept read requests until the transfer of read data is completed. The upper limit value Nmax of the number of read requests that the root complex 30 can continuously accept is determined according to the communication standard, buffer capacity, and the like. The upper limit value Nmax is set in the endpoint 55 in advance. The endpoint 55 only requests read requests up to the upper limit Nmax. That is, the endpoint 55 outputs read requests issued from the DMCs 51 to 53 to the root complex 30 only when the number of read requests for which corresponding read data has not yet been transferred is less than the upper limit value Nmax.

 DMAC51~53には,管理部51a~53aがそれぞれ付加される。管理部51a~53aは、DAMC51~53から発行されるリード要求の発行数をそれぞれ管理する。 Management units 51a to 53a are added to the DMACs 51 to 53, respectively. The management units 51a-53a respectively manage the number of read requests issued by the DAMCs 51-53.

 具体的には、管理部51a~53aは、変更信号出力部57から出力される変更信号がアクティブであることに応じて、DMAC51~53から連続して発行可能なリード要求の個数を制限値Nにそれぞれ制限する機能(以下、「制限機能」と称する。)を有する。制限値Nは、ルートコンプレックス30が連続して受け付け可能なリード要求の個数の上限値Nmaxよりも小さい。 Specifically, the management units 51a to 53a limit the number of read requests that can be continuously issued from the DMACs 51 to 53 to the limit value N in response to the change signal output from the change signal output unit 57 being active. , respectively (hereinafter referred to as "restriction function"). The limit value N is smaller than the upper limit value Nmax of the number of read requests that the root complex 30 can continuously accept.

 たとえば、変更信号がアクティブである場合、管理部53aは、DMAC53が連続して発行可能なリード要求の個数を「1」に制限する。この場合、対応するリードデータが未転送であるリード要求の個数が上限値Nmax未満であったとしても、DMAC53は、リード要求を発行してから当該リード要求に対応するリードデータの転送が完了するまでの間、次のリード要求を発行できない。 For example, when the change signal is active, the management unit 53a limits the number of read requests that the DMAC 53 can issue continuously to "1". In this case, even if the number of read requests for which the corresponding read data has not been transferred is less than the upper limit value Nmax, the DMAC 53 issues the read request and completes the transfer of the read data corresponding to the read request. Until this time, the next read request cannot be issued.

 管理部51a~53aは、制限機能を有効/無効に切り替え可能である。たとえば、管理部51a,52aの制限機能が無効に設定され、管理部53aの制限機能が有効に設定された場合、DMAC53のみ変更信号に応じて連続して発行可能なリード要求の個数が制限値Nに制限される。DMAC51,52では、変更信号がアクティブであったとしても、連続して発行可能なリード要求の個数が制限値N(<Nmax)に制限されない。なお、管理部51a~53aは、制限値Nを上限値Nmaxに設定することにより、制限機能を無効にしてもよい。 The management units 51a to 53a can switch between enabling/disabling the restriction function. For example, when the limiting functions of the management units 51a and 52a are set to be disabled and the limiting function of the management unit 53a is set to be enabled, the number of read requests that can be issued continuously in response to the change signal only for the DMAC 53 is the limit value. is limited to N. In the DMACs 51 and 52, even if the change signal is active, the number of read requests that can be continuously issued is not limited to the limit value N (<Nmax). Note that the management units 51a to 53a may disable the limiting function by setting the limiting value N to the upper limit value Nmax.

 調停回路54は、メインメモリ20へのアクセス要求を調停する。たとえば、調停回路54は、DMAC51~53からの同時アクセスによる衝突を避けるための調停を行なう。 The arbitration circuit 54 arbitrates access requests to the main memory 20 . For example, the arbitration circuit 54 performs arbitration to avoid conflicts due to simultaneous accesses from the DMACs 51-53.

 時計部56は、たとえばフリーランカウンタによって構成される。時計部56のカウント値は、時計部40のカウント値と予め同期される。 The clock unit 56 is composed of, for example, a free-running counter. The count value of clock section 56 is synchronized in advance with the count value of clock section 40 .

 変更信号出力部57は、予め定められたスケジュール情報と時計部56のカウント値とに基づいて変更信号を生成し、生成した変更信号をDMAC51~53に出力する。スケジュール情報は、変更信号がアクティブとなる期間の開始タイミングおよび終了タイミングを示す。変更信号出力部57は、時計部56のカウント値がスケジュール情報によって示される開始タイミングに到達すると、変更信号を非アクティブからアクティブに切り替える。変更信号出力部57は、時計部56のカウント値がスケジュール情報によって示される終了タイミングに到達すると、変更信号をアクティブから非アクティブに切り替える。 The change signal output unit 57 generates a change signal based on the predetermined schedule information and the count value of the clock unit 56, and outputs the generated change signal to the DMACs 51-53. The schedule information indicates the start timing and end timing of the period during which the change signal is active. The change signal output unit 57 switches the change signal from inactive to active when the count value of the clock unit 56 reaches the start timing indicated by the schedule information. The change signal output unit 57 switches the change signal from active to inactive when the count value of the clock unit 56 reaches the end timing indicated by the schedule information.

 図2は、変更信号出力部57および管理部51a~53aを有しない参考形態におけるデータ転送の一例を示す図である。図2には、ルートコンプレックス30の連続して受け付け可能なリード要求の個数の上限値Nmaxが4であるときの例が示される。図2において、横軸は時間を示す。1段目は、DMAC51からエンドポイント55に送信されるリード要求を示す。2段目は、DMAC53からエンドポイント55に送信されるリード要求を示す。3段目は、エンドポイント55からルートコンプレックス30に伝送されるリード要求を示す。4段目は、転送されるリードデータを示す。 FIG. 2 is a diagram showing an example of data transfer in a reference form that does not have the change signal output section 57 and management sections 51a to 53a. FIG. 2 shows an example in which the upper limit value Nmax of the number of read requests that the root complex 30 can continuously accept is four. In FIG. 2, the horizontal axis indicates time. Level 1 shows a read request sent from the DMAC 51 to the endpoint 55 . The second row shows a read request sent from the DMAC 53 to the endpoint 55 . The third row shows a read request transmitted from endpoint 55 to root complex 30 . The fourth row shows read data to be transferred.

 図2に示す例では、DMAC53は、時刻t1においてプロセッサ10からリード指示を受けたことに応じて、連続して4個のリード要求R1~R4を発行する。 In the example shown in FIG. 2, the DMAC 53 continuously issues four read requests R1 to R4 in response to receiving a read instruction from the processor 10 at time t1.

 リード要求R4がルートコンプレックス30に伝送された時刻t2において、エンドポイント55は、リードデータの転送の完了していないリード要求の個数が上限値Nmaxであると判断する。そのため、リード要求R1に対応するリードデータD1の転送が完了するまで、エンドポイント55は、次のリード要求をルートコンプレックス30にリクエストしない。その結果、DMAC51が時刻t2においてプロセッサ10からリード指示を受けたとしても、DMAC51からのリード要求R5,R6は、エンドポイント55からルートコンプレックス30に出力されない。 At time t2 when the read request R4 is transmitted to the root complex 30, the endpoint 55 determines that the number of read requests whose read data transfer has not been completed is the upper limit value Nmax. Therefore, the endpoint 55 does not issue the next read request to the root complex 30 until the transfer of the read data D1 corresponding to the read request R1 is completed. As a result, even if DMAC 51 receives a read instruction from processor 10 at time t 2 , read requests R 5 and R 6 from DMAC 51 are not output from endpoint 55 to root complex 30 .

 エンドポイント55は、リード要求R1に対応するリードデータD1の転送が完了した時刻t3において、リードデータの転送の完了していないリード要求の個数(3個)が上限値Nmax(=4個)未満であると判断する。これにより、エンドポイント55は、DMAC51から発行されたリード要求R5をルートコンプレックス30に出力する。 At the time t3 when the transfer of the read data D1 corresponding to the read request R1 is completed, the endpoint 55 determines that the number of read requests for which the transfer of the read data has not been completed (3) is less than the upper limit value Nmax (=4). We judge that it is. As a result, the endpoint 55 outputs the read request R5 issued from the DMAC 51 to the root complex 30 .

 エンドポイント55は、リード要求R5をルートコンプレックス30に出力すると、リードデータの転送の完了していないリード要求の個数が上限値Nmaxであると判断する。そのため、リード要求R2に対応するリードデータD2の転送が完了するまで、エンドポイント55は、次のリード要求R6をルートコンプレックス30にリクエストしない。 When the endpoint 55 outputs the read request R5 to the root complex 30, the endpoint 55 determines that the number of read requests for which the transfer of read data has not been completed is the upper limit value Nmax. Therefore, the endpoint 55 does not request the next read request R6 from the root complex 30 until the transfer of the read data D2 corresponding to the read request R2 is completed.

 ルートコンプレックス30エンドポイント55は、リード要求R2に対応するリードデータD2の転送が完了した時刻t4において、リードデータの転送の完了していないリード要求の個数(3個)が上限値Nmax(=4個)未満であると判断する。これにより、エンドポイント55は、DMAC51から発行されたリード要求R6をルートコンプレックス30に出力する。 At the time t4 when the transfer of the read data D2 corresponding to the read request R2 is completed, the root complex 30 endpoint 55 determines that the number of read requests (three) for which the transfer of the read data has not been completed reaches the upper limit value Nmax (=4). pieces). As a result, the endpoint 55 outputs the read request R6 issued from the DMAC 51 to the root complex 30 .

 リード要求R5に対応するリードデータD5の転送は、リード要求R1~R4にそれぞれ対応するリードデータD1~D4の転送が完了した後の時刻t5に開始される。リード要求R6に対応するリードデータD6の転送は、リードデータD5の転送に続いて開始される。 The transfer of read data D5 corresponding to read request R5 is started at time t5 after the transfer of read data D1 to D4 respectively corresponding to read requests R1 to R4 is completed. Transfer of read data D6 corresponding to read request R6 is started following transfer of read data D5.

 DMAC51が優先度の高いタスクの実行に応じてリード要求を発行し、DMAC53が優先度の低いタスクの実行に応じてリード要求を発行する場合、図2に示されるように、優先度の高いタスクに対応するリードデータD5,D6の転送が遅延するという問題が生じる。 When the DMAC 51 issues a read request according to execution of a task with high priority and the DMAC 53 issues a read request according to execution of a task with low priority, as shown in FIG. A problem arises in that the transfer of the read data D5 and D6 corresponding to .

 本実施の形態に係る制御装置1は、このような問題を解決するために、変更信号出力部57および管理部51a~53aを有する。変更信号出力部57は、各タスクの実行スケジュールに基づいて、高優先のタスクの実行が予定される第1期間においてアクティブの変更信号を生成し、第1期間以外の第2期間において非アクティブの変更信号を生成する。さらに、タスクの優先度に応じて、管理部51a~53aの各々の制限機能の有効/無効が設定される。具体的には、高優先のタスクの実行に応じてリード要求を発行するDMAC51の管理部51aの制限機能が無効に設定され、低優先のタスクの実行に応じてリード要求を発行するDMAC53の管理部53aの制限機能が有効に設定される。 The control device 1 according to the present embodiment has a change signal output section 57 and management sections 51a to 53a in order to solve such problems. Based on the execution schedule of each task, the change signal output unit 57 generates an active change signal during a first period during which the high-priority task is scheduled to be executed, and generates an inactive change signal during a second period other than the first period. Generate a change signal. Further, the validity/invalidity of the limiting function of each of the management units 51a to 53a is set according to the priority of the task. Specifically, the limiting function of the management unit 51a of the DMAC 51 that issues read requests according to the execution of high-priority tasks is disabled, and the DMAC 53 that issues read requests according to the execution of low-priority tasks is managed. The limiting function of the section 53a is set to valid.

 図3は、本実施の形態におけるデータ転送の一例を示す図である。図3には、上限値Nmaxが4であり、かつ、制限値Nが1であるときの例が示される。ただし、管理部51aの制限機能は無効に設定され、管理部53aの制限機能は有効に設定される。 FIG. 3 is a diagram showing an example of data transfer in this embodiment. FIG. 3 shows an example in which the upper limit value Nmax is 4 and the limit value N is 1. In FIG. However, the limiting function of the management section 51a is disabled, and the limiting function of the management section 53a is enabled.

 図3において、横軸は時間を示す。1段目は、変更信号を示す。2段目は、DMAC51からエンドポイント55に送信されるリード要求を示す。3段目は、DMAC53からエンドポイント55に送信されるリード要求を示す。4段目は、エンドポイント55からルートコンプレックス30に伝送されるリード要求を示す。5段目は、転送されるリードデータを示す。 In Figure 3, the horizontal axis indicates time. The first row shows the change signal. The second row shows a read request sent from the DMAC 51 to the endpoint 55 . The third row shows a read request sent from the DMAC 53 to the endpoint 55 . The fourth row shows a read request transmitted from endpoint 55 to root complex 30 . Level 5 shows read data to be transferred.

 図3に示されるように、変更信号は、高優先のタスクの実行が予定される期間T1においてアクティブとなる。図3には、期間T1内の時刻t1において、プロセッサ10による低優先のタスクの実行に応じたリード指示をDMAC53が受けた場合の例が示される。図3に示す例では、当該リード指示に応じて4個のリード要求R1~R4の発行が必要である。 As shown in FIG. 3, the change signal is active during the period T1 during which the high priority task is scheduled to be executed. FIG. 3 shows an example in which the DMAC 53 receives a read instruction corresponding to execution of a low-priority task by the processor 10 at time t1 within the period T1. In the example shown in FIG. 3, it is necessary to issue four read requests R1 to R4 in response to the read instruction.

 DMAC53は、時刻t1において、リード要求R1を発行する。期間T1では変更信号がアクティブである。そのため、DMAC53の管理部53aは、連続して発行可能なリード要求の個数を制限値N(=1)に制限する。その結果、DMAC53は、ルートコンプレックス30が受け付けたリード要求に対応するリードデータの転送が完了するまで、次のリード要求R2を発行できない。 The DMAC 53 issues a read request R1 at time t1. The change signal is active during the period T1. Therefore, the management unit 53a of the DMAC 53 limits the number of read requests that can be issued continuously to the limit value N (=1). As a result, the DMAC 53 cannot issue the next read request R2 until the read data transfer corresponding to the read request accepted by the root complex 30 is completed.

 時刻t1より後であり、かつ、期間T1内である時刻t6において、DMAC51は、プロセッサ10による高優先のタスクの実行に応じたリード指示を受ける。当該リード指示に応じて2個のリード要求R5,R6の発行が必要であるとする。DMAC51の管理部51aの制限機能は無効に設定されている。そのため、DMAC51は、リード要求R5,R6を連続して発行する。 At time t6, which is later than time t1 and within period T1, the DMAC 51 receives a read instruction according to the execution of the high-priority task by the processor 10. Assume that two read requests R5 and R6 need to be issued in response to the read instruction. The restriction function of the management unit 51a of the DMAC 51 is disabled. Therefore, the DMAC 51 continuously issues read requests R5 and R6.

 期間T1の終了の時刻t7において、変更信号が非アクティブに切り替わる。時刻t7において、リードデータの転送が完了していないリード要求の個数は、上限値Nmaxよりも少ない3個である。その結果、時刻t6において、DMAC53は、次のリード要求R2を発行する。リード要求R6は、エンドポイント55からルートコンプレックス30に出力される。 At time t7 at the end of period T1, the change signal switches to inactive. At time t7, the number of read requests for which the transfer of read data has not been completed is three, which is less than the upper limit value Nmax. As a result, at time t6, the DMAC 53 issues the next read request R2. Read request R6 is output from endpoint 55 to root complex 30 .

 エンドポイント55は、リード要求R2を出力すると、リードデータの転送の完了していないリード要求の個数が上限値Nmaxであると判断する。これにより、エンドポイント55は、DMAC53から発行される残りのリード要求R3,R4をルートコンプレックス30にリクエストしない。 When the endpoint 55 outputs the read request R2, it determines that the number of read requests for which the transfer of read data has not been completed is the upper limit value Nmax. As a result, the endpoint 55 does not request the remaining read requests R3 and R4 issued from the DMAC 53 to the root complex 30 .

 その後、リード要求R1に対応するリードデータD1の転送が完了した時刻t3において、エンドポイント55は、リードデータの転送の完了していないリード要求の個数が上限値Nmax未満であると判断する。その結果、エンドポイント55は、DMAC53から発行されたリード要求R3をルートコンプレックス30に出力する。 After that, at time t3 when the transfer of the read data D1 corresponding to the read request R1 is completed, the endpoint 55 determines that the number of read requests whose read data transfer has not been completed is less than the upper limit value Nmax. As a result, the endpoint 55 outputs the read request R3 issued by the DMAC 53 to the root complex 30 .

 エンドポイント55は、リード要求R3を出力すると、リードデータの転送の完了していないリード要求の個数が上限値Nmaxであると判断する。そのため、エンドポイント55は、DMAC53から発行される残りのリード要求R4をルートコンプレックス30にリクエストしない。 When the endpoint 55 outputs the read request R3, it determines that the number of read requests for which the transfer of read data has not been completed is the upper limit value Nmax. Therefore, the endpoint 55 does not request the remaining read request R4 issued from the DMAC 53 to the root complex 30 .

 その後、リード要求R5に対応するリードデータD5の転送が完了した時刻t8において、エンドポイント55は、リードデータの転送の完了していないリード要求の個数が上限値Nmax未満であると判断する。その結果、エンドポイント55は、DMAC53から発行されたリード要求R4をルートコンプレックス30に出力する。 After that, at time t8 when the transfer of read data D5 corresponding to read request R5 is completed, the endpoint 55 determines that the number of read requests whose read data transfer has not been completed is less than the upper limit value Nmax. As a result, the endpoint 55 outputs the read request R4 issued from the DMAC 53 to the root complex 30. FIG.

 図3に示されるように、高優先のタスクの実行が予定される期間T1において、変更信号がアクティブになる。そのため、期間T1において、低優先のタスクの実行に応じたリード指示をDMAC53が受けたとしても、DMAC53は、制限値N以下の個数のリード要求しか連続して発行できない。これにより、DMAC51は、期間T1において、高優先のタスクの実行に応じたリード指示を受けたときに、リード要求を発行できる。その結果、高優先のタスクに対応するリードデータの転送の遅延が抑制される。 As shown in FIG. 3, the change signal becomes active during the period T1 during which the high-priority task is scheduled to be executed. Therefore, even if the DMAC 53 receives a read instruction corresponding to the execution of a low-priority task in the period T1, the DMAC 53 can issue only the number of read requests equal to or less than the limit value N in succession. As a result, the DMAC 51 can issue a read request when receiving a read instruction corresponding to the execution of a high-priority task during the period T1. As a result, a delay in transferring read data corresponding to a high-priority task is suppressed.

 §2 具体例
 <A.システムの構成例>
 図4は、本実施の形態に係る制御装置1を含む制御システムの構成例を示す模式図である。図4に示されるように、制御システムは、制御装置1と、1以上のユニット2と、サポート装置3と、を備える。
§2 Concrete example <A. System configuration example>
FIG. 4 is a schematic diagram showing a configuration example of a control system including the control device 1 according to this embodiment. As shown in FIG. 4, the control system comprises a control device 1, one or more units 2, and a support device 3.

 ユニット2は、制御対象の設備および装置、ならびに、それらに配置されている各種デバイス(センサやアクチュエータなど)である。 The unit 2 is equipment and devices to be controlled, and various devices (sensors, actuators, etc.) placed there.

 サポート装置3は、制御装置1において実行されるユーザプログラムの作成および制御装置1へのユーザプログラムのインストールを行なう。ユーザプログラムは、制御対象を制御するためのシーケンスプログラムであり、IOリフレッシュプログラム、制御演算プログラム、周辺処理プログラム、通信プログラムなどを含む。 The support device 3 creates a user program to be executed in the control device 1 and installs the user program in the control device 1 . A user program is a sequence program for controlling a controlled object, and includes an IO refresh program, a control operation program, a peripheral processing program, a communication program, and the like.

 さらに、サポート装置3は、ユーザプログラムを解析し、制御装置1において実行される各タスクの優先度に応じて、変更信号がアクティブとなる期間を決定するためのスケジュール情報を生成する。スケジュール情報は、制御装置1の変更信号出力部57に設定される。スケジュール情報は、変更信号がアクティブとなる期間の開始タイミングおよび終了タイミングを示す。 Further, the support device 3 analyzes the user program and generates schedule information for determining the period during which the change signal is active according to the priority of each task executed by the control device 1. The schedule information is set in the change signal output section 57 of the control device 1 . The schedule information indicates the start timing and end timing of the period during which the change signal is active.

 <B.サポート装置の構成>
 図5は、サポート装置3の構成を概略的に示す図である。図5に示されるように、サポート装置3は、CPU302と、ROM303と、RAM304と、HDD305と、通信コントローラ307と、I/O(Input/Output)インターフェイス308と、を含む。サポート装置3は、さらに、キーボード309およびディスプレイ310を含む。キーボード309は、ユーザからのサポート装置3に対する指示を含む入力を受付ける。当該入力を受付けるために、サポート装置3は、マウス等の他のデバイスを含んでもよい。ディスプレイ310は、LCD(Liquid Crystal Display)または有機EL(Electro Luminescence)を含み、サポート装置3から出力される映像信号または画像信号に従う映像または画像を表示する。サポート装置3は、外部の記憶媒体301を脱着自在に装着し、装着された記憶媒体301にプログラムおよび/またはデータを読み書きするR/W(リーダライタ)デバイス306を備える。
<B. Configuration of support device>
FIG. 5 is a diagram schematically showing the configuration of the support device 3. As shown in FIG. As shown in FIG. 5 , the support device 3 includes a CPU 302 , a ROM 303 , a RAM 304 , an HDD 305 , a communication controller 307 and an I/O (Input/Output) interface 308 . Support device 3 further includes keyboard 309 and display 310 . Keyboard 309 accepts input including instructions to support device 3 from the user. Support device 3 may include other devices, such as a mouse, to accept the input. The display 310 includes an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) and displays a video or image according to a video signal or image signal output from the support device 3 . The support device 3 is provided with an R/W (reader/writer) device 306 for detachably mounting an external storage medium 301 and reading/writing programs and/or data from/to the mounted storage medium 301 .

 通信コントローラ307は、ネットワークを介したサポート装置3と外部装置(制御装置1を含む)との通信を制御する。通信コントローラ307は、例えばNIC(Network Interface Card)を含んで構成される。I/Oインターフェイス308は、CPU302とキーボード309およびディスプレイ310との間のデータの遣り取りを制御する。 The communication controller 307 controls communication between the support device 3 and external devices (including the control device 1) via the network. The communication controller 307 includes, for example, a NIC (Network Interface Card). I/O interface 308 controls the exchange of data between CPU 302 and keyboard 309 and display 310 .

 HDD305は、OSを含むシステムプログラム70、ユーザプログラム69を生成するためのUPG生成プログラム71、生成された1または複数のユーザプログラム69を格納するUPGライブラリ172、およびスケジューラ72を含む。 The HDD 305 includes a system program 70 including an OS, a UPG generation program 71 for generating user programs 69, a UPG library 172 storing one or more generated user programs 69, and a scheduler 72.

 UPG生成プログラム71は、キーボード309から受け付けるユーザ操作に従い、ユーザプログラム69を編集(生成)するエディタ、編集されたユーザプログラム69をコンパイルするコンパイラ、ユーザプログラム69を実行可能な形式に変換するビルダなどを含む。なお、ビルダが、コンパイルの機能を含んでもよい。 The UPG generation program 71 operates according to user operations received from the keyboard 309, such as an editor that edits (generates) the user program 69, a compiler that compiles the edited user program 69, a builder that converts the user program 69 into an executable format, and the like. include. Note that the builder may also include a compilation function.

 スケジューラ72は、ユーザプログラム69を制御装置1に実行させたときの処理シーケンスを推定するとともに、スケジュール情報を生成するプログラムである。スケジューラ72は、ユーザプログラム69を解析し、ユーザプログラム69によって定義される複数のタスクに対して設定された優先度に従い、プロセッサ10の使用時間などリソース割当てや実行タイミングなどを推定するプログラムである。 The scheduler 72 is a program that estimates a processing sequence when the user program 69 is executed by the control device 1 and generates schedule information. The scheduler 72 is a program that analyzes the user program 69 and estimates resource allocation such as usage time of the processor 10 and execution timing according to priorities set for a plurality of tasks defined by the user program 69 .

 <C.スケジュール情報の生成方法>
 図6を参照して、スケジュール情報の生成方法について説明する。ユーザプログラム69は、以下の(a)~(e)を示す情報に基づいて作成される。
(a)制御周期
(b)制御装置1に接続されるユニット2の機種および台数
(c)各ユニット2へ送信するデータの内容
(d)各ユニット2から受信するデータの内容
(e)演算処理内容。
<C. Method of generating schedule information>
A method of generating schedule information will be described with reference to FIG. The user program 69 is created based on the information shown in (a) to (e) below.
(a) Control cycle (b) Model and number of units 2 connected to control device 1 (c) Contents of data transmitted to each unit 2 (d) Contents of data received from each unit 2 (e) Operation processing content.

 スケジューラ72は、ユーザプログラム69を解析することにより、制御周期における各処理のシーケンスを決定する。 The scheduler 72 determines the sequence of each process in the control cycle by analyzing the user program 69.

 図6は、制御装置1の処理シーケンスの一例を示す図である。図6に示す例では、制御周期TCにおいて、各ユニット2へのデータの送信処理、制御対象を制御するための演算処理、各ユニット2からのデータの受信処理、および、その他の処理がこの順に実行される。その他の処理には、たとえば上位機器との通信処理などが含まれる。 FIG. 6 is a diagram showing an example of a processing sequence of the control device 1. FIG. In the example shown in FIG. 6, in the control cycle TC, data transmission processing to each unit 2, arithmetic processing for controlling the controlled object, data reception processing from each unit 2, and other processing are performed in this order. executed. Other processing includes, for example, communication processing with a host device.

 スケジューラ72は、上記の(b)制御装置1に接続されるユニット2の機種および台数と(c)各ユニット2へ送信するデータの内容とに基づいて、制御周期TCにおいて、各ユニット2へのデータの送信処理の実行が予定される期間T2を推定する。 Based on (b) the model and number of units 2 connected to the control device 1 and (c) the content of data to be transmitted to each unit 2, the scheduler 72 schedules each unit 2 in the control cycle TC. A period T2 during which the data transmission process is scheduled to be executed is estimated.

 スケジューラ72は、上記の(e)演算処理内容の情報に基づいて、制御周期TCにおいて、制御対象を制御するための演算処理の実行が予定される期間を推定する。 The scheduler 72 estimates the period during which the execution of the arithmetic processing for controlling the controlled object is scheduled in the control cycle TC based on the above (e) information on the content of the arithmetic processing.

 スケジューラ72は、上記の(b)制御装置1に接続されるユニット2の機種および台数と(d)各ユニット2へ送信するデータ量とに基づいて、制御周期TCにおいて、各ユニット2へのデータの受信処理の実行が予定される期間T3を推定する。 Based on (b) the model and number of units 2 connected to the control device 1 and (d) the amount of data to be transmitted to each unit 2, the scheduler 72 sends data to each unit 2 in the control cycle TC. Estimates a period T3 during which the reception process of is scheduled to be executed.

 さらに、スケジューラ72は、ユーザプログラム69によって定義される複数のタスクの各々について設定された優先度とユーザプログラム69の解析により得られた処理シーケンスとを用いて、スケジュール情報を生成する。たとえば、CPU302は、優先度が最も高いタスク、もしくは、優先度の上位所定数のタスクが実行される期間を処理シーケンスから特定し、特定した期間の開始タイミングおよび終了タイミングを示すスケジュール情報を生成する。図6に示す例では、データの送信処理の実行が予定される期間T1の開始タイミングおよび終了タイミングと、データの受信処理の実行が予定される期間T2の開始タイミングおよび終了タイミングとを示すスケジュール情報が生成される。 Furthermore, the scheduler 72 uses the priority set for each of the multiple tasks defined by the user program 69 and the processing sequence obtained by analyzing the user program 69 to generate schedule information. For example, the CPU 302 identifies from the processing sequence a period during which the task with the highest priority or a predetermined number of tasks with the highest priority are executed, and generates schedule information indicating the start timing and end timing of the identified period. . In the example shown in FIG. 6, schedule information indicating the start timing and end timing of a period T1 during which the data transmission process is scheduled to be executed, and the start timing and end timing of a period T2 during which the data reception process is scheduled to be executed. is generated.

 スケジューラ72は、生成したスケジュール情報を制御装置1の変更信号出力部57に設定する。これにより、変更信号出力部57は、期間T2,T3の間において、変更信号をアクティブに切り替える。このように、DMACの連続して発行可能なリード要求の個数が制限される期間T2,T3は、ユーザプログラム69に基づいて予め定められる。 The scheduler 72 sets the generated schedule information in the change signal output unit 57 of the control device 1 . Thereby, the change signal output unit 57 switches the change signal to active between the periods T2 and T3. Thus, the periods T2 and T3 in which the number of read requests that can be continuously issued by the DMAC are limited are predetermined based on the user program 69. FIG.

 さらに、スケジューラ72は、制御装置1が有する複数のDMACのうち、優先度が最も低いタスクもしくは優先度の下位所定数のタスクの実行に伴い使用されるDMACの管理部の制限機能を有効に設定し、残りのDMACの管理部の制限機能を無効に設定する。 Further, the scheduler 72 enables the limiting function of the DMAC management unit used in executing the task with the lowest priority or the predetermined number of lower-priority tasks among the plurality of DMACs possessed by the control device 1. and disable the limiting function of the remaining DMAC management units.

 制御装置1は、電源が投入されると、インストールされたユーザプログラムを起動させ、ユーザプログラム69を実行する。さらに、制御装置1は、異常発生時や制御対象のメンテナンスなどの理由により、ユーザプログラム69を終了させる。 When the power is turned on, the control device 1 activates the installed user program and executes the user program 69 . Furthermore, the control device 1 terminates the user program 69 when an abnormality occurs or for reasons such as maintenance of the controlled object.

 図7は、変更信号がアクティブにされる期間の一例を示す図である。優先度の高いタスクの実行に応じたリードデータは、他のデータよりも先に転送されることが望ましい。そのため、図7に示されるように、スケジューラ72は、変更信号がアクティブにされる期間を、ユーザプログラム69を実行して制御対象を制御する期間内に含ませる。 FIG. 7 is a diagram showing an example of a period during which the change signal is activated. It is desirable that the read data corresponding to the execution of the task with high priority be transferred before other data. Therefore, as shown in FIG. 7, the scheduler 72 includes the period during which the change signal is activated within the period during which the user program 69 is executed to control the controlled object.

 一方、ユーザプログラム69の起動期間では、起動に必要な複数のリードデータは、いかなる順序で転送されても問題ない。同様に、ユーザプログラム69の終了期間では、終了に必要な複数のリードデータは、いかなる順序で転送されても問題ない。そのため、図7に示されるように、スケジューラ72は、変更信号がアクティブにされる期間を、ユーザプログラム69の起動期間内および終了期間内に含めない。 On the other hand, during the start-up period of the user program 69, the multiple pieces of read data required for start-up can be transferred in any order. Similarly, during the termination period of the user program 69, the plurality of read data required for termination may be transferred in any order. Therefore, as shown in FIG. 7, the scheduler 72 does not include the period during which the change signal is activated within the activation period and the termination period of the user program 69 .

 <D.連続して発行可能なリード要求の制限例>
 (D-1.制限例1)
 複数のDMACの制限機能が有効に設定された場合、当該複数のDMACの制限値は、同一であってもよいし、互いに異なっていてもよい。
<D. Examples of restrictions on read requests that can be issued in succession>
(D-1. Restriction example 1)
When a plurality of DMAC limit functions are enabled, the limit values of the plurality of DMACs may be the same or different from each other.

 たとえば、DMAC51が第1タスクの実行に応じてリード要求を発行し、DMAC53が第2タスクの実行に応じてリード要求を発行し、DMAC52が第3タスクの実行に応じてリード要求を発行する場合を例にとり、制限値の設定例について説明する。なお、第2タスクは、第1タスクよりも優先度が低い。第3タスクは、第1タスクよりも優先度が低く、第2タスクよりも優先度が高い。 For example, when the DMAC 51 issues a read request according to the execution of the first task, the DMAC 53 issues the read request according to the execution of the second task, and the DMAC 52 issues the read request according to the execution of the third task. will be described as an example of setting the limit value. Note that the second task has a lower priority than the first task. The third task has a lower priority than the first task and a higher priority than the second task.

 この場合、DMAC52,53の制限機能が有効に設定され、第1タスクの実行が予定されている期間T1において、アクティブの変更信号が出力される。管理部53aは、変更信号がアクティブである場合に、DMAC53の連続してリード要求を発行できる個数を第1制限値に制限する。管理部52aは、変更信号がアクティブである場合に、DMAC52の連続してリード要求を発行できる個数を第2制限値に制限する。第1制限値は、第2制限値と同じであってもよい。あるいは、第2タスクと第3タスクとの優先度に応じて、第1制限値は、第2制限値よりも小さくなるように設定されてもよい。たとえば、第1制限値が「1」に設定され、第2制限値が「2」に設定される。 In this case, the limiting function of the DMACs 52 and 53 is enabled, and an active change signal is output during the period T1 during which the execution of the first task is scheduled. When the change signal is active, the management unit 53a limits the number of DMACs 53 that can continuously issue read requests to a first limit value. The management unit 52a limits the number of DMACs 52 that can issue read requests in succession to a second limit value when the change signal is active. The first limit value may be the same as the second limit value. Alternatively, the first limit value may be set smaller than the second limit value according to the priority of the second task and the third task. For example, the first limit value is set to "1" and the second limit value is set to "2".

 (D-2.制限例2)
 変更信号出力部57は、複数の変更信号を出力してもよい。この場合、制限機能が有効に設定されたDMACについて、変更信号ごとに制限値を異ならせてもよい。
(D-2. Restriction example 2)
The change signal output section 57 may output a plurality of change signals. In this case, the limit value may be different for each change signal for the DMAC with the limit function enabled.

 図8は、本実施の形態におけるデータ転送の別の例を示す図である。図8には、上限値Nmaxが4であり、かつ、第1,第2変更信号に対する制限値がそれぞれ1,2であるときの例が示される。ただし、管理部51a,52aの制限機能は無効に設定され、DMAC53の制限機能は有効に設定される。 FIG. 8 is a diagram showing another example of data transfer in this embodiment. FIG. 8 shows an example in which the upper limit value Nmax is 4 and the limit values for the first and second change signals are 1 and 2, respectively. However, the limiting functions of the management units 51a and 52a are disabled, and the limiting function of the DMAC 53 is enabled.

 図8において、横軸は時間を示す。1段目は、第1変更信号を示す。2段目は、第2変更信号を示す。3段目は、DMAC51からエンドポイント55に送信されるリード要求を示す。4段目は、DMAC52からエンドポイント55に送信されるリード要求を示す。5段目は、DMAC53からエンドポイント55に送信されるリード要求を示す。6段目は、エンドポイント55からルートコンプレックス30に伝送されるリード要求を示す。7段目は、転送されるリードデータを示す。 In FIG. 8, the horizontal axis indicates time. The first row shows the first modification signal. The second row shows the second modified signal. The third row shows a read request sent from the DMAC 51 to the endpoint 55 . The fourth row shows a read request sent from DMAC 52 to endpoint 55 . Level 5 shows a read request sent from the DMAC 53 to the endpoint 55 . Row 6 shows a read request transmitted from endpoint 55 to root complex 30 . Level 7 shows read data to be transferred.

 第1変更信号は、高優先のタスクの実行が予定される期間T4においてアクティブとなるように生成される。第2変更信号は、中優先のタスクの実行が予定される期間T5においてアクティブとなるように生成される。なお、期間T4と期間T5とは互いに重なっていてもよい。期間T4と期間T5との両者がアクティブである場合、制限機能が有効に設定されたDMACでは、連続して発行可能なリード要求の個数は、第1変更信号および第2変更信号にそれぞれ対応する2つの制限数のうち少ない方の制限値に制限される。 The first change signal is generated so as to be active during the period T4 during which the high-priority task is scheduled to be executed. The second change signal is generated to be active during the period T5 during which the medium priority task is scheduled to be executed. Note that the period T4 and the period T5 may overlap each other. When both the period T4 and the period T5 are active, the number of read requests that can be issued consecutively in the DMAC with the limit function enabled corresponds to the first change signal and the second change signal, respectively. Limited to the lesser of the two limits.

 図8には、期間T4内の時刻t11において、プロセッサ10による低優先のタスクの実行に応じたリード指示をDMAC53が受けた場合の例が示される。図8に示す例では、当該リード指示に応じて3個のリード要求R11~R13の発行が必要である。しかしながら、期間T1では、第1変更信号がアクティブである。そのため、管理部53aは、DMAC53の連続して発行可能なリード要求の個数を「1」に制限する。従って、DMAC53は、リード要求R11のみを発行し、リード要求R12,R13を連続して発行できない。 FIG. 8 shows an example in which the DMAC 53 receives a read instruction corresponding to execution of a low-priority task by the processor 10 at time t11 in period T4. In the example shown in FIG. 8, it is necessary to issue three read requests R11 to R13 in response to the read instruction. However, during time period T1, the first modification signal is active. Therefore, the management unit 53a limits the number of read requests that can be continuously issued by the DMAC 53 to "1". Therefore, the DMAC 53 issues only the read request R11 and cannot issue the read requests R12 and R13 consecutively.

 期間T4内の時刻t11より後の時刻t12において、DMAC51は、プロセッサ10による高優先のタスクの実行に応じたリード指示を受けたとする。当該リード指示に応じて2個のリード要求R21,R22の発行が必要である。管理部51aの制限機能が無効であり、リードデータの転送の完了していないリード要求の個数が上限値Nmax(=4)より少ない1であるため、DMAC51は、連続してリード要求R21,R22を発行する。 Assume that the DMAC 51 receives a read instruction corresponding to the execution of the high-priority task by the processor 10 at time t12 after time t11 within period T4. It is necessary to issue two read requests R21 and R22 according to the read instruction. Since the limiting function of the management unit 51a is invalid and the number of read requests for which the transfer of read data has not been completed is 1, which is less than the upper limit value Nmax (=4), the DMAC 51 continuously outputs the read requests R21 and R22. to be issued.

 その後、期間T4の終了の時刻t13において、第1変更信号が非アクティブに切り替わる。これにより、DMAC53は、残りのリード要求R12を発行する。なお、時刻t13よりも前にリード要求R11に対応するリードデータD11の転送が完了しているため、DMAC53は、リード要求R12に続いてリード要求R13も発行できる。 After that, at time t13 at the end of period T4, the first change signal switches to inactive. As a result, the DMAC 53 issues the remaining read request R12. Since the transfer of the read data D11 corresponding to the read request R11 is completed before time t13, the DMAC 53 can also issue the read request R13 following the read request R12.

 このように、高優先のタスクの実行が予定される期間T4において、第1変更信号がアクティブになる。そのため、期間T4において、低優先のタスクの実行に応じたリード指示をDMAC53が受けたとしても、DMAC53は、1個のリード要求R11しか発行できない。これにより、DMAC51は、期間T4において、高優先のタスクの実行に応じたリード指示を受けたときに、リード要求R21,R22を発行できる。その結果、高優先のタスクに対応するリードデータD21,D22の転送の遅延が抑制される。 Thus, the first change signal becomes active during the period T4 during which the high-priority task is scheduled to be executed. Therefore, even if the DMAC 53 receives a read instruction corresponding to execution of a low-priority task during the period T4, the DMAC 53 can issue only one read request R11. As a result, the DMAC 51 can issue the read requests R21 and R22 when receiving a read instruction corresponding to the execution of the high-priority task during the period T4. As a result, the transfer delay of the read data D21 and D22 corresponding to the high-priority task is suppressed.

 さらに、図8には、期間T3内の時刻t14において、プロセッサ10による低優先のタスクの実行に応じたリード指示をDMAC53が受けた場合の例が示される。図8に示す例では、当該リード指示に応じて3個のリード要求R14~R16の発行が必要である。しかしながら、期間T5では、第2変更信号がアクティブである。そのため、管理部53aは、DMAC53の連続して発行可能なリード要求の個数を「2」に制限する。従って、DMAC53は、リード要求R14,R15を連続して発行し、リード要求R16を発行できない。 Furthermore, FIG. 8 shows an example in which the DMAC 53 receives a read instruction corresponding to the execution of a low-priority task by the processor 10 at time t14 within the period T3. In the example shown in FIG. 8, it is necessary to issue three read requests R14 to R16 in response to the read instruction. However, in time period T5, the second modification signal is active. Therefore, the management unit 53a limits the number of read requests that can be continuously issued by the DMAC 53 to "2". Therefore, the DMAC 53 continuously issues the read requests R14 and R15 and cannot issue the read request R16.

 期間T5内の時刻t14より後の時刻t15において、DMAC52は、プロセッサ10による中優先のタスクの実行に応じたリード指示を受けたとする。当該リード指示に応じて2個のリード要求R31,R32の発行が必要である。管理部52aの制限機能が無効であり、リードデータの転送の完了していないリード要求の個数が上限値Nmax(=4)より少ない2であるため、DMAC52は、連続してリード要求R31,R32を発行する。 At time t15 after time t14 in period T5, it is assumed that the DMAC 52 receives a read instruction according to the execution of the medium-priority task by the processor 10 . It is necessary to issue two read requests R31 and R32 according to the read instruction. Since the limiting function of the management unit 52a is invalid and the number of read requests for which the transfer of read data has not been completed is 2, which is less than the upper limit value Nmax (=4), the DMAC 52 continuously issues the read requests R31 and R32. to be issued.

 その後、期間T5の終了の時刻t16において、第2変更信号が非アクティブに切り替わる。これにより、DMAC53は、残りのリード要求R16を発行する。なお、時刻t16よりも前にリード要求R14に対応するリードデータD14の転送が完了しているため、DMAC53は、時刻t16以降にリード要求R16を発行できる。 After that, at time t16 at the end of period T5, the second change signal switches to inactive. As a result, the DMAC 53 issues the remaining read request R16. Since transfer of read data D14 corresponding to read request R14 is completed before time t16, DMAC 53 can issue read request R16 after time t16.

 このように、中優先のタスクの実行が予定される期間T3において、第2変更信号がアクティブになる。そのため、期間T5において、低優先のタスクの実行に応じたリード指示をDMAC53が受けたとしても、DMAC53は、2個のリード要求R14,R15しか発行できない。これにより、DMAC52は、期間T5において、中優先のタスクの実行に応じたリード指示を受けたときに、リード要求を発行できる。その結果、中優先のタスクに対応するリードデータの転送の遅延が抑制される。 In this way, the second change signal becomes active during the period T3 during which the medium-priority task is scheduled to be executed. Therefore, even if the DMAC 53 receives a read instruction corresponding to execution of a low-priority task during the period T5, the DMAC 53 can issue only two read requests R14 and R15. As a result, the DMAC 52 can issue a read request when receiving a read instruction corresponding to the execution of a medium-priority task during the period T5. As a result, a delay in transferring read data corresponding to a medium-priority task is suppressed.

 制限値は、タスクの優先度に応じて設定されればよい。制限値を小さくすることにより、低優先度のタスクの実行に伴うリード要求の個数が少なくなり、対象としているタスクの実行に伴うリードデータの転送の遅延が抑制される。しかしながら、低優先度のタスクの実行に伴うリード要求の発行待機数が増える可能性があるため、低優先度のタスクの実行に伴うリードデータの転送が遅延する。 The limit value should be set according to the priority of the task. By reducing the limit value, the number of read requests associated with the execution of low-priority tasks is reduced, and the delay in read data transfer associated with the execution of the target task is suppressed. However, there is a possibility that the number of read requests waiting to be issued due to the execution of low-priority tasks will increase, so the transfer of read data that accompanies the execution of low-priority tasks will be delayed.

 たとえば、図8に示されるように、時刻t11から時刻t12までの時間T6と時刻t15から時刻t16までの時間T7とが同じであったとしても、リード要求R11~R13,R21,R22に対応するリードデータD11~D13,D21,D22の転送に要する時間T8は、リード要求R14~R16,R31,R32に対応するリードデータD14~D16,D31,D32の転送に要する時間T9よりも長くなる。 For example, as shown in FIG. 8, even if time T6 from time t11 to time t12 and time T7 from time t15 to time t16 are the same, read requests R11 to R13, R21, and R22 are handled. The time T8 required to transfer the read data D11-D13, D21 and D22 is longer than the time T9 required to transfer the read data D14-D16, D31 and D32 corresponding to the read requests R14-R16, R31 and R32.

 このように、制限値は、転送の効率にも影響を及ぼす。そのため、転送の効率とタスクの優先度との両者を考慮して、各DMACの制限値が設定される。 In this way, the limit value also affects transfer efficiency. Therefore, the limit value of each DMAC is set in consideration of both transfer efficiency and task priority.

 <E.変形例>
 上記の説明では、DMACの連続して発行されるリード要求の発行数を制限する管理部は、当該DMACに備えられる。しかしながら、管理部は、調停回路に設けられてもよい。
<E. Variation>
In the above description, the DMAC is provided with a management unit that limits the number of read requests issued in succession by the DMAC. However, the management unit may be provided in the arbitration circuit.

 図9は、変形例に係る制御装置の構成を示す図である。図9に示されるように、制御装置1Aは、制御装置1と比較して、データ転送回路50の代わりにデータ転送回路50Aを備える点で相違する。データ転送回路50Aは、データ転送回路50と比較して、調停回路54の代わりに調停回路64を備え、DMAC51~53が管理部51a~53aをそれぞれ有さない点で相違する。変更信号出力部57は、調停回路64に変更信号を出力する。 FIG. 9 is a diagram showing the configuration of a control device according to a modification. As shown in FIG. 9, the control device 1A differs from the control device 1 in that the data transfer circuit 50 is replaced with a data transfer circuit 50A. The data transfer circuit 50A is different from the data transfer circuit 50 in that it includes an arbitration circuit 64 instead of the arbitration circuit 54, and the DMACs 51-53 do not have management units 51a-53a, respectively. The change signal output unit 57 outputs a change signal to the arbitration circuit 64 .

 調停回路64は、調停回路54と同じ機能を有する。さらに、調停回路64は、管理部64aを有する。管理部64aは、DMAC51~53の各々について、連続して発行されるリード要求の発行数を管理する。具体的には、管理部64aは、変更信号がアクティブであることに応じて、DMAC51~53の各々について、連続して発行されるリード要求の発行数を制限値に制限する。なお、管理部64aは、DMAC51~53の各々について、連続して発行されるリード要求の発行数の制限機能の有効/無効を切り替え可能である。管理部64aは、サポート装置3による設定に従って、DMAC51~53の各々に対する制限機能の有効/無効を切り替える。 The arbitration circuit 64 has the same function as the arbitration circuit 54. Further, the arbitration circuit 64 has a management section 64a. The management unit 64a manages the number of consecutively issued read requests for each of the DMACs 51-53. Specifically, the management unit 64a limits the number of consecutively issued read requests to the limit value for each of the DMACs 51 to 53 in response to the active change signal. Note that the management unit 64a can switch between enabling/disabling the function of limiting the number of consecutively issued read requests for each of the DMACs 51-53. The management unit 64a switches enable/disable of the restriction function for each of the DMACs 51 to 53 according to the setting by the support device 3. FIG.

 §3 付記
 以上のように、本実施の形態は以下のような開示を含む。
§3 Supplementary Note As described above, the present embodiment includes the following disclosures.

 (構成1)
 制御装置(1,1A)であって、
 プロセッサ(10)と、
 メモリ(20)と、
 データ転送回路(50,50A)と、を備え、
 前記データ転送回路(50,50A)は、
  前記プロセッサ(10)による第1タスクの実行に応じて、前記メモリ(20)への第1リード要求を発行する第1要求発行部(51)と、
  前記プロセッサ(10)による第2タスクの実行に応じて、前記メモリ(10)への第2リード要求を発行する第2要求発行部(53)と、
  連続して発行可能なリード要求の個数を管理する管理部(53a~53c,64a)と、を含み、
 前記第1タスクは、前記第2タスクよりも優先度が高く、
 前記管理部(53a~53c,64a)は、前記第2要求発行部(53)が連続して発行可能な前記第2リード要求の個数を、前記第1タスクの実行が予定される第1期間において前記第1期間以外の第2期間よりも少なくなるように制限する、制御装置(1,1A)。
(Configuration 1)
A control device (1, 1A),
a processor (10);
a memory (20);
a data transfer circuit (50, 50A),
The data transfer circuit (50, 50A)
a first request issuing unit (51) that issues a first read request to the memory (20) in accordance with execution of the first task by the processor (10);
a second request issuing unit (53) for issuing a second read request to the memory (10) in accordance with execution of the second task by the processor (10);
a management unit (53a to 53c, 64a) that manages the number of read requests that can be issued in succession,
the first task has a higher priority than the second task;
The management units (53a to 53c, 64a) control the number of second read requests that can be continuously issued by the second request issuing unit (53) during the first period during which the execution of the first task is scheduled. a control device (1, 1A) that limits the second period other than the first period in the second period.

 (構成2)
 前記管理部(53a~53c,64a)は、前記第1期間において、前記第2要求発行部(53)が連続して発行可能な前記第2リード要求の個数を1に制限する、構成1に記載の制御装置(1,1A)。
(Configuration 2)
According to the configuration 1, the management unit (53a to 53c, 64a) limits the number of the second read requests that can be continuously issued by the second request issuing unit (53) to 1 in the first period. A control device (1, 1A) as described.

 (構成3)
 前記プロセッサ(20)は、制御対象を制御するためのユーザプログラム(69)を実行し、
 前記第1期間は、前記ユーザプログラム(69)に基づいて予め定められる、構成1または2に記載の制御装置(1,1A)。
(Composition 3)
The processor (20) executes a user program (69) for controlling a controlled object,
The control device (1, 1A) according to configuration 1 or 2, wherein said first time period is predetermined based on said user program (69).

 (構成4)
 前記プロセッサ(10)は、制御対象を制御するためのユーザプログラム(69)を実行し、
 前記第1期間は、前記プロセッサ(10)が前記ユーザプログラム(69)を実行して前記制御対象を制御する期間内に含まれ、前記ユーザプログラム(69)の起動期間内および終了期間内には含まれない、構成1または2に記載の制御装置(1,1A)。
(Composition 4)
The processor (10) executes a user program (69) for controlling a controlled object,
The first period is included within the period during which the processor (10) executes the user program (69) to control the controlled object, and within the startup period and the termination period of the user program (69) A controller (1, 1A) according to configuration 1 or 2, not included.

 (構成5)
 前記管理部(53a~53c,64a)は、前記第1期間および前記第2期間において、前記第1要求発行部(51)が連続して発行可能な前記第1リード要求の個数を制限しない、構成1から4のいずれか1項に記載の制御装置。
(Composition 5)
The management units (53a to 53c, 64a) do not limit the number of the first read requests that can be issued continuously by the first request issuing unit (51) during the first period and the second period. 5. The control device according to any one of configurations 1 to 4.

 (構成6)
 前記データ転送回路(50,50A)は、前記プロセッサ(10)による第3タスクの実行に応じて、前記メモリへの第3リード要求を発行する第3要求発行部(52)をさらに含み、
 前記第3タスクは、前記第1タスクよりも優先度が低く、
 前記管理部(53a~53c,64a)は、前記第2要求発行部(53)が連続して発行可能な前記第2リード要求の個数を、前記第1期間において第1値に制限し、前記第3要求発行部(52)が連続して発行可能な前記第3リード要求の個数を、前記第1期間において第2値に制限する、構成1に記載の制御装置(1,1A)。
(Composition 6)
The data transfer circuit (50, 50A) further includes a third request issuing unit (52) that issues a third read request to the memory in response to execution of a third task by the processor (10),
the third task has a lower priority than the first task;
The management units (53a to 53c, 64a) limit the number of the second read requests that can be continuously issued by the second request issuing unit (53) to a first value in the first period, and The control device (1, 1A) according to configuration 1, wherein the number of said third read requests that can be continuously issued by said third request issuing section (52) is limited to a second value in said first period.

 (構成7)
 前記第3タスクは、前記第2タスクよりも優先度が高く、
 前記第1値は、前記第2値より小さい、構成6に記載の制御装置(1,1A)。
(Composition 7)
the third task has a higher priority than the second task;
7. Control device (1, 1A) according to configuration 6, wherein said first value is less than said second value.

 (構成8)
 前記データ転送回路(50,50A)は、前記プロセッサ(10)による第3タスクの実行に応じて、前記メモリ(20)への第3リード要求を発行する第3要求発行部(52)をさらに含み、
 前記第3タスクは、前記第1タスクよりも優先度が低く、前記第2タスクよりも優先度が高く、
 前記管理部(53a~53c,64a)は、前記第2要求発行部(53)が連続して発行可能な前記第2リード要求の個数を、前記第1期間において第1値に設定し、前記第3タスクの実行が予定される第3期間において第2値に設定し、前記第1期間および前記第3期間以外の期間において第3値に設定し、
 前記第1値および前記第2値は前記第3値よりも小さい、構成1に記載の制御装置(1,lA)。
(Composition 8)
The data transfer circuit (50, 50A) further includes a third request issuing unit (52) that issues a third read request to the memory (20) in response to execution of a third task by the processor (10). including
the third task has a lower priority than the first task and a higher priority than the second task;
The management units (53a to 53c, 64a) set the number of the second read requests that can be continuously issued by the second request issuing unit (53) to a first value in the first period, and set to a second value in a third period during which execution of the third task is scheduled, and set to a third value in periods other than the first period and the third period;
Control device (1, lA) according to configuration 1, wherein said first value and said second value are less than said third value.

 (構成9)
 前記第1値は、前記第2値より小さい、構成8に記載の制御装置(1,lA)。
(Composition 9)
9. The controller (1, lA) of arrangement 8, wherein said first value is less than said second value.

 (構成10)
 前記データ転送回路(50A)は、前記メモリ(20)へのアクセスを調停する調停回路(64)をさらに含み、
 前記管理部(64a)は、前記調停回路(64)に含まれる、構成1から8のいずれか1項に記載の制御装置(1A)。
(Configuration 10)
The data transfer circuit (50A) further includes an arbitration circuit (64) that arbitrates access to the memory (20),
The control device (1A) according to any one of Configurations 1 to 8, wherein the management section (64a) is included in the arbitration circuit (64).

 (構成11)
 プロセッサ(10)とメモリ(20)とを備える制御装置(1,1A)におけるデータ転送方法であって、
 前記プロセッサ(10)による第1タスクの実行に応じて、前記メモリへの第1リード要求を発行するステップと、
 前記プロセッサ(10)による第2タスクの実行に応じて、前記メモリへの第2リード要求を発行するステップと、
 連続して発行可能なリード要求の個数を管理するステップと、を備え、
 前記第1のタスクは、前記第2のタスクよりも優先度が高く、
 前記管理するステップは、連続して発行可能な前記第1リード要求の個数を、前記第1タスクの実行が予定される第1期間において前記第1期間以外の第2期間よりも少なくなるように設定するステップを含む、データ転送方法。
(Composition 11)
A data transfer method in a control device (1, 1A) comprising a processor (10) and a memory (20),
issuing a first read request to the memory in response to execution of a first task by the processor (10);
issuing a second read request to the memory in response to execution of a second task by the processor (10);
managing the number of read requests that can be issued in succession;
the first task has a higher priority than the second task;
In the managing step, the number of the first read requests that can be continuously issued is set to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period. A data transfer method, including steps to configure.

 本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although the embodiment of the present invention has been described, it should be considered that the embodiment disclosed this time is illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims, and is intended to include all changes within the meaning and range of equivalents to the claims.

 1,1A 制御装置、2 ユニット、3 サポート装置、10 プロセッサ、20 メインメモリ、30 ルートコンプレックス、40,56 時計部、50,50A データ転送回路、51a,52a,53a,64a 管理部、54,64 調停回路、55 エンドポイント、57 変更信号出力部、58,59 Phyチップ、60 メモリI/F、61,62 ポート、63 メモリ、69 ユーザプログラム、70 システムプログラム、71 UPG生成プログラム、72 スケジューラ、172 ライブラリ、301 記憶媒体、302 CPU、303 ROM、304 RAM、306 R/Wデバイス、307 通信コントローラ、308 I/Oインターフェイス、309 キーボード、310 ディスプレイ。 1, 1A control device, 2 unit, 3 support device, 10 processor, 20 main memory, 30 root complex, 40, 56 clock section, 50, 50A data transfer circuit, 51a, 52a, 53a, 64a management section, 54, 64 Arbitration circuit, 55 endpoint, 57 change signal output unit, 58, 59 Phy chip, 60 memory I/F, 61, 62 port, 63 memory, 69 user program, 70 system program, 71 UPG generation program, 72 scheduler, 172 Library, 301 storage medium, 302 CPU, 303 ROM, 304 RAM, 306 R/W device, 307 communication controller, 308 I/O interface, 309 keyboard, 310 display.

Claims (11)

 制御装置であって、
 プロセッサと、
 メモリと、
 データ転送回路と、を備え、
 前記データ転送回路は、
  前記プロセッサによる第1タスクの実行に応じて、前記メモリへの第1リード要求を発行する第1要求発行部と、
  前記プロセッサによる第2タスクの実行に応じて、前記メモリへの第2リード要求を発行する第2要求発行部と、
  連続して発行可能なリード要求の個数を管理する管理部と、を含み、
 前記第1タスクは、前記第2タスクよりも優先度が高く、
 前記管理部は、前記第2要求発行部が連続して発行可能な前記第2リード要求の個数を、前記第1タスクの実行が予定される第1期間において前記第1期間以外の第2期間よりも少なくなるように制限する、制御装置。
a controller,
a processor;
memory;
a data transfer circuit;
The data transfer circuit is
a first request issuing unit that issues a first read request to the memory in response to execution of the first task by the processor;
a second request issuing unit that issues a second read request to the memory in response to execution of the second task by the processor;
a management unit that manages the number of read requests that can be issued in succession,
the first task has a higher priority than the second task;
The managing unit determines the number of second read requests that can be continuously issued by the second request issuing unit during a first period during which the execution of the first task is scheduled, in a second period other than the first period. A controller that restricts to less than
 前記管理部は、前記第1期間において、前記第2要求発行部が連続して発行可能な前記第2リード要求の個数を1に制限する、請求項1に記載の制御装置。 The control device according to claim 1, wherein the management unit limits the number of second read requests that can be issued continuously by the second request issuing unit to one during the first period.  前記プロセッサは、制御対象を制御するためのユーザプログラムを実行し、
 前記第1期間は、前記ユーザプログラムに基づいて予め定められる、請求項1または2に記載の制御装置。
The processor executes a user program for controlling a controlled object,
3. The control device according to claim 1, wherein said first period is predetermined based on said user program.
 前記プロセッサは、制御対象を制御するためのユーザプログラムを実行し、
 前記第1期間は、前記プロセッサが前記ユーザプログラムを実行して前記制御対象を制御する期間内に含まれ、前記ユーザプログラムの起動期間内および終了期間内には含まれない、請求項1または2に記載の制御装置。
The processor executes a user program for controlling a controlled object,
3. The first period is included in a period during which the processor executes the user program to control the controlled object, and is not included in a startup period and a termination period of the user program. The control device according to .
 前記管理部は、前記第1期間および前記第2期間において、前記第1要求発行部が連続して発行可能な前記第1リード要求の個数を制限しない、請求項1から4のいずれか1項に記載の制御装置。 5. The management unit according to any one of claims 1 to 4, wherein the management unit does not limit the number of the first read requests that can be issued continuously by the first request issuing unit during the first period and the second period. The control device according to .  前記データ転送回路は、前記プロセッサによる第3タスクの実行に応じて、前記メモリへの第3リード要求を発行する第3要求発行部をさらに含み、
 前記第3タスクは、前記第1タスクよりも優先度が低く、
 前記管理部は、前記第2要求発行部が連続して発行可能な前記第2リード要求の個数を、前記第1期間において第1値に制限し、前記第3要求発行部が連続して発行可能な前記第3リード要求の個数を、前記第1期間において第2値に制限する、請求項1に記載の制御装置。
the data transfer circuit further includes a third request issuing unit that issues a third read request to the memory in response to execution of a third task by the processor;
the third task has a lower priority than the first task;
The management unit limits the number of second read requests that can be continuously issued by the second request issuing unit to a first value in the first period, and the third request issuing unit continuously issues the second read requests. 2. The controller of claim 1, wherein the number of possible third read requests is limited to a second value during the first time period.
 前記第3タスクは、前記第2タスクよりも優先度が高く、
 前記第1値は、前記第2値より小さい、請求項6に記載の制御装置。
the third task has a higher priority than the second task;
7. The controller of claim 6, wherein said first value is less than said second value.
 前記データ転送回路は、前記プロセッサによる第3タスクの実行に応じて、前記メモリへの第3リード要求を発行する第3要求発行部をさらに含み、
 前記第3タスクは、前記第1タスクよりも優先度が低く、前記第2タスクよりも優先度が高く、
 前記管理部は、前記第2要求発行部が連続して発行可能な前記第2リード要求の個数を、前記第1期間において第1値に設定し、前記第3タスクの実行が予定される第3期間において第2値に設定し、前記第1期間および前記第3期間以外の期間において第3値に設定し、
 前記第1値および前記第2値は前記第3値よりも小さい、請求項1に記載の制御装置。
the data transfer circuit further includes a third request issuing unit that issues a third read request to the memory in response to execution of a third task by the processor;
the third task has a lower priority than the first task and a higher priority than the second task;
The management unit sets the number of second read requests that can be continuously issued by the second request issuing unit to a first value in the first period, set to a second value in three periods, and set to a third value in periods other than the first period and the third period;
2. The controller of claim 1, wherein said first value and said second value are less than said third value.
 前記第1値は、前記第2値より小さい、請求項8に記載の制御装置。 The control device according to claim 8, wherein said first value is smaller than said second value.  前記データ転送回路は、前記メモリへのアクセスを調停する調停回路をさらに含み、
 前記管理部は、前記調停回路に含まれる、請求項1から8のいずれか1項に記載の制御装置。
the data transfer circuit further includes an arbitration circuit that arbitrates access to the memory;
The control device according to any one of claims 1 to 8, wherein said management unit is included in said arbitration circuit.
 プロセッサとメモリとを備える制御装置におけるデータ転送方法であって、
 前記プロセッサによる第1タスクの実行に応じて、前記メモリへの第1リード要求を発行するステップと、
 前記プロセッサによる第2タスクの実行に応じて、前記メモリへの第2リード要求を発行するステップと、
 連続して発行可能なリード要求の個数を管理するステップと、を備え、
 前記第1タスクは、前記第2タスクよりも優先度が高く、
 前記管理するステップは、連続して発行可能な前記第1リード要求の個数を、前記第1タスクの実行が予定される第1期間において前記第1期間以外の第2期間よりも少なくなるように設定するステップを含む、データ転送方法。
A data transfer method in a control device comprising a processor and a memory,
issuing a first read request to the memory in response to execution of a first task by the processor;
issuing a second read request to the memory in response to execution of a second task by the processor;
managing the number of read requests that can be issued in succession;
the first task has a higher priority than the second task;
In the managing step, the number of the first read requests that can be continuously issued is set to be smaller in a first period during which execution of the first task is scheduled than in a second period other than the first period. A data transfer method, including steps to configure.
PCT/JP2021/034454 2021-03-03 2021-09-21 Control device and data transfer method Ceased WO2022185581A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-033207 2021-03-03
JP2021033207A JP2022134218A (en) 2021-03-03 2021-03-03 Control device and data transfer method

Publications (1)

Publication Number Publication Date
WO2022185581A1 true WO2022185581A1 (en) 2022-09-09

Family

ID=83155233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034454 Ceased WO2022185581A1 (en) 2021-03-03 2021-09-21 Control device and data transfer method

Country Status (2)

Country Link
JP (1) JP2022134218A (en)
WO (1) WO2022185581A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024030958A (en) 2022-08-25 2024-03-07 株式会社小松製作所 Control device, control method and working machine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003384A (en) * 2017-06-14 2019-01-10 株式会社リコー Data transfer apparatus and data transfer method
JP2019054350A (en) * 2017-09-13 2019-04-04 株式会社東芝 Transfer device, transfer method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003384A (en) * 2017-06-14 2019-01-10 株式会社リコー Data transfer apparatus and data transfer method
JP2019054350A (en) * 2017-09-13 2019-04-04 株式会社東芝 Transfer device, transfer method, and program

Also Published As

Publication number Publication date
JP2022134218A (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US10649935B2 (en) Deferred inter-processor interrupts
CN100347642C (en) Semiconductor device with hardware mechanism for proper clock control
JP5829890B2 (en) Semiconductor data processing apparatus, time trigger communication system, and communication system
US8190941B2 (en) Field control system
JP2011505037A (en) Read data buffering system and method
CN107017014B (en) Dynamic containerized system memory protection for low energy MCU
JP5578713B2 (en) Information processing device
JP5102789B2 (en) Semiconductor device and data processor
US11662948B2 (en) Norflash sharing
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
CN112306652A (en) Wake-up and scheduling with context-aware functionality
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
CN114416322A (en) Task scheduling method and device based on double linked lists, electronic equipment and storage medium
WO2022185581A1 (en) Control device and data transfer method
CN104008005A (en) Apparatus, method and system for controlling processor
Kang et al. Real-time software pipelining for multidomain motion controllers
Ogawa et al. Efficient approach to ensure temporal determinism in automotive control systems
CN119293120A (en) IEC task data consistency synchronization method, device, electronic device and storage medium
CN116841617A (en) Multi-priority hardware timer in real-time field
Cheng et al. Building real-time embedded applications on QduinoMC: A web-connected 3D printer case study (outstanding paper)
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JP2016151949A (en) Dma controller
JP2009059276A (en) Data processing apparatus and program
WO2002093392A1 (en) Data processor
JP3449189B2 (en) Programmable controller

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21929145

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21929145

Country of ref document: EP

Kind code of ref document: A1