WO2019239884A1 - Control device, and control method therefor - Google Patents
Control device, and control method therefor Download PDFInfo
- Publication number
- WO2019239884A1 WO2019239884A1 PCT/JP2019/021152 JP2019021152W WO2019239884A1 WO 2019239884 A1 WO2019239884 A1 WO 2019239884A1 JP 2019021152 W JP2019021152 W JP 2019021152W WO 2019239884 A1 WO2019239884 A1 WO 2019239884A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transmission
- period
- cycle
- data
- time
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
Definitions
- the present invention relates to control devices such as a programmable controller (hereinafter also referred to as PLC).
- PLC programmable controller
- Patent Document 1 listed below discloses a communication system in which a transmission prohibition period having a length corresponding to the size of data transmitted at one communication rate is set for transmission at one communication rate. .
- FIG. 8 is a diagram for explaining a conventional adjustment method for transmission of the first cycle data CD and transmission of the second cycle data ND using the same route.
- the second cycle data ND cannot be transmitted.
- the transmission of the first cycle data CD is periodically executed in preference to the transmission of the second cycle data ND.
- the first cycle data CD is buffered (that is, stored) in the first transmission queue TXQ0 together with the “transmission start time S” that is the time at which the first cycle data CD should be transmitted, and the buffering is completed. Then, transmission is possible. Then, transmission of the first cycle data CD that has become ready for transmission to the network is started at the transmission start time S. That is, the “transmission start time S”, which is the time at which the first cycle data CD is to be transmitted, and the actual transmission start time of the first cycle data CD are the same.
- the second cycle data ND is buffered in the second transmission queue TXQ1, and becomes ready for transmission when the buffering is completed. Then, transmission of the second cycle data ND in the transmittable state to the network is started in a period other than the “period during transmission of the first cycle data CD” and the “period of the transmission prohibition period B”. That is, in the “period during transmission of the first cycle data CD” and “period of the transmission prohibition period B”, the transmission of the second cycle data ND cannot be started.
- the transmission prohibition period B is set to start transmission of the first cycle data CD at the transmission start time S. During the transmission prohibition period B, transmission start of the second cycle data ND is prohibited.
- the first cycle data CD is periodically transmitted, and the transmission start time S of the first cycle data CD to be transmitted in the N cycle is “transmission start time S (n)”, and is transmitted in the N + 1 cycle.
- the transmission start time S of the power first cycle data CD is expressed as “transmission start time S (n + 1)”.
- N is a “natural number greater than or equal to zero”.
- the transmission prohibition period B the transmission prohibition period B set for transmission of the first period data CD to be transmitted in the (N + 1) period is particularly expressed as “transmission prohibition period B (n + 1)”.
- the transmission start time S of the first cycle data CD can be acquired only at the same time as the first cycle data CD, that is, it cannot be grasped in advance.
- the transmission start time S (n + 1) of the first cycle data CD to be transmitted in the (N + 1) th cycle is unknown at the buffering completion time (transmittable time) of the second cycle data ND,
- the transmission prohibition period B cannot be set when buffering of the data ND is completed.
- a time interval corresponding to the transmission cycle C of the first periodic data CD transmitted periodically is added to the transmission start time S.
- the transmission cycle C is also referred to as “control cycle”.
- FIG. 9 shows the conventional technique in which “the time required for transmission of the second cycle data ND” is set as the transmission prohibition period B before the reference time T at the reference time T (n + 1) and the transmission start time S (n + 1). It is a figure explaining the problem which generate
- FIG. 9A is a diagram illustrating a problem that occurs in the related art when the transmission start time S (n) in the Nth cycle is delayed from the reference time T (n) in the Nth cycle.
- FIG. 9B is a diagram illustrating a problem that occurs in the related art when the transmission start time S (n) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle.
- the transmission start time S (n) of the Nth cycle is delayed from the reference time T (n) of the Nth cycle, “transmission” is performed at the transmission start time S (n).
- the reference time T (n + 1) which is the time to which the “time interval corresponding to the period C” is added, shows the following tendency. That is, the reference time T (n + 1) in the (N + 1) th cycle tends to be delayed from the transmission start time S (n + 1) in the (N + 1) th cycle.
- the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1).
- the time later than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for transmission of the second period data ND” before the reference time T (n + 1).
- a transmission prohibition period B is set.
- the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”.
- the transmission of the first period data CD can be started at the transmission start time S (n + 1).
- the transmission prohibition period B before the reference time T (n + 1) delayed from the transmission start time S (n + 1), the transmission prohibition period B, which is “the time required for transmission of the second period data ND”. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is later than the period until time S (n + 1) ".
- the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible.
- the time at which the transmission of the second cycle data ND is completed is later than the transmission start time S (n + 1), and the first cycle data CD cannot be transmitted during the transmission of the second cycle data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
- the “transmission cycle” is set at the transmission start time S (n).
- the reference time T (n + 1) which is the time to which the “time interval corresponding to C” is added, shows the following tendency. That is, the reference time T (n + 1) in the (N + 1) th cycle tends to be earlier than the transmission start time S (n + 1) in the (N + 1) th cycle.
- the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1).
- the time earlier than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for the transmission of the second period data ND” before the reference time T (n + 1).
- a certain transmission prohibition period B is set.
- the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”.
- the transmission of the first period data CD can be started at the transmission start time S (n + 1).
- the transmission prohibition period B which is “time required for transmission of the second period data ND”, is set before the reference time T (n + 1) earlier than the transmission start time S (n + 1), is set. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is earlier than the period until “time S (n + 1)”.
- the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible.
- the time when the transmission of the second period data ND is completed is later than the transmission start time S (n + 1), and the first period data CD cannot be transmitted during the transmission of the second period data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
- the “time required for transmission of the second period data ND” calculated based on the data amount of the second period data ND is transmitted.
- the prohibition period B is set before the reference time T.
- One aspect of the present disclosure has been made to solve the above-described problem, and the purpose of the present disclosure is for a case where a reference time of a certain cycle and an actual transmission start time are different from each other regarding data to be transmitted periodically
- Another object is to realize a control device or the like that can transmit data at the scheduled time of the next cycle.
- a control device is a control device that outputs first cycle data for each control cycle, and the first cycle data is converted into the first cycle data.
- a time interval corresponding to the control period is added to the transmission start time of the first period data to be transmitted in the control period of the Nth period, where N is a natural number greater than or equal to 0, and is acquired together with the transmission start time.
- a control method is a control method for a control device that outputs first cycle data for each control cycle, and the first cycle data is the first cycle data.
- a difference between the calculation step of calculating the reference time of the (N + 1) th cycle, the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the Nth cycle is used.
- a setting step for setting the transmission prohibition period generated at least before or after the reference time of the (N + 1) th cycle, and a period other than the transmission prohibition period set in the setting step Priority than data includes a transmission step of starting transmission of lower second period data.
- data that is to be transmitted periodically is transmitted at a scheduled time of the next cycle even when the reference time of a certain cycle and the actual transmission start time deviate. There is an effect that can be.
- Embodiment 1 an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings. Specifically, FIG. 9 will be described in detail. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated.
- a PLC (Programmable Logic Controller) 10 that controls a control target such as a machine and equipment, in particular, a CPU unit 100 of the PLC 10 will be described as a typical example of a control device.
- CPU is an abbreviation for “Central Processing Unit”.
- N represents “a natural number of 0 or more”.
- the transmission of the first cycle data CD and the transmission of the second cycle data ND use the same path, and during the transmission of the first cycle data CD, the second cycle data ND cannot be transmitted.
- the first periodic data CD cannot be transmitted.
- the first cycle data CD is buffered in the first transmission queue TXQ0 together with the “transmission start time S” that is the time at which the first cycle data CD should be transmitted, and becomes ready for transmission when the buffering is completed.
- the second cycle data ND is buffered in the second transmission queue TXQ1, and becomes ready for transmission when the buffering is completed.
- the first cycle data CD is periodically transmitted.
- the transmission start time S of the first cycle data CD to be transmitted in the N cycle is “transmission start time S (n)”, and the first cycle to be transmitted in the N + 1 cycle.
- the transmission start time S of the data CD is expressed as “transmission start time S (n + 1)”.
- the “time required for transmission of the second cycle data ND” is based on the data amount of the second cycle data ND.
- the “time required for transmission of the second period data ND” calculated in the above is used.
- the time interval corresponding to the transmission cycle C is added to “the transmission start time S (n) of the first cycle data CD in the Nth cycle”, and “the reference time T in the (N + 1) th cycle”. (N + 1) "is calculated. Then, according to the related art, the “time required for transmission of the second cycle data ND” is set to the transmission prohibition period for prohibiting the start of transmission of the second cycle data ND so that the reference time T (n + 1) of the (N + 1) th cycle ends. B (“transmission prohibited period B (n + 1)” in FIG. 8) is set.
- the PLC 10 sets the adjustment period Ba (margin time), Set as the transmission prohibition period B.
- the PLC 10 dynamically changes the adjustment period Ba (in the (N + 1) th cycle) according to the state of the previous transmission (that is, the transmission state of the first cycle data CD in the Nth cycle) to optimize the adjustment period Ba. Execute the conversion.
- the outline of the control system 1 including the PLC 10 will be described with reference to FIG.
- FIG. 2 is a diagram showing an overall outline of the control system 1.
- one or more PLCs 10 and devices whose operations are controlled by the PLC 10 are connected to a control network such as the field network 20.
- 2 is connected to servo drivers 33 and 34 via a network such as the field network 20 and the PLC system bus 400, and each of the servo drivers 41 and 42 is further connected to each of the servo drivers 33 and 34.
- a control network such as the field network 20.
- servo drivers 33 and 34 via a network such as the field network 20 and the PLC system bus 400
- the PLC 10 is a control device that controls input devices and output devices in the production facility.
- the PLC 10 transmits the first period data CD and the second period data ND to a network such as the field network 20 and the PLC system bus 400, and in particular, regarding the transmission of the first period data CD and the second period data ND.
- the following processing is executed. That is, the PLC 10 is prohibited from transmitting the second cycle data ND in order to avoid a situation in which “the transmission of the first cycle data CD cannot be started at the transmission start time S due to the transmission of the second cycle data ND”.
- the transmission prohibition period B is set.
- the PLC 10 transmits the first cycle data CD periodically (specifically, every control cycle (specifically, transmission cycle C)).
- transmission / reception of the first cycle data CD and the second cycle data ND controlled by the PLC 10 will be described in detail.
- first cycle data CD is, for example, such “IO data for executing high-speed and high-precision control for production equipment”, and “data for executing high-speed and high-precision control for production equipment” is “ Also referred to as “control data”.
- the PLC 10 executes a user program generated by compiling a ladder program (source program) described by ladder logic (ladder language), thereby executing high-speed and high-precision control on a control target.
- the “user program” is created according to a user's control target (for example, a target line and process), that is, according to a control target line (process) controlled using the control system 1, etc. It is a program designed arbitrarily.
- the user program in the object program format is stored in the nonvolatile memory 105 of the PLC 10 or the like.
- the user program is executed by the microprocessor 103 of the CPU unit 100, and the execution result is transmitted to the control target of the PLC 10 as control data, that is, as the first cycle data CD.
- a user program for high-speed and high-accuracy control on a control target is repeatedly executed by the microprocessor 103 at a high-speed cycle, and the PLC 10 outputs the first cycle data CD that is the execution result at a fixed cycle. Send to control target.
- the PLC 10 (particularly the CPU unit 100) sends the first cycle data CD to the functional units such as the IO units 301 to 303 and the special unit 304 and the slave devices such as the servo drivers 33 and 34 and the remote IO terminal 35 at a fixed cycle. Send with.
- the PLC 10 transmits the first cycle data CD to the slave device (field device). Requires communication in the ⁇ s order.
- the PLC 10 executes the following processing in addition to high-speed and high-precision control of the production facility. That is, the PLC 10 stores, for example, (1) processing related to connection to an external database, (2) processing related to connection to an external display device, and (3) information acquired from a control target. Execute processing to send information to an external server. Specifically, the PLC 10 performs transmission and reception (collection) of data other than the first cycle data CD (control data). For example, the function unit, the slave device, and various external devices (for example, external devices) The second period data ND is transmitted to and received from the information system server.
- the second cycle data ND is information system data indicating, for example, statistical information on the attenuation value of the sensor light reception signal used for failure diagnosis of the control system 1.
- the second cycle data ND has a lower priority than the first cycle data CD, and will be described in detail later.
- transmission of the first cycle data CD at the transmission start time may be hindered by the transmission of the second cycle data ND.
- the transmission start of the second cycle data ND is controlled (prohibited) so that there is no such.
- the PLC 10 is required to have the punctuality of the order of “ ⁇ s (one millionth of a second)” for the first cycle data CD transmitted at a fixed cycle.
- the punctuality required for transmission of the second period data ND is, for example, on the order of ms (thousandth of a second).
- the PLC 10 is a control device that controls controlled objects such as machines and facilities in the control system 1, and is a master device that manages data transmission via the field network 20 in the control system 1.
- the PLC 10 executes, for example, a control program that is also called a user program, and controls the overall operation of the control system 1.
- the PLC 10 includes a CPU unit 100 that executes main arithmetic processing, a power supply unit 200, one or more IO (Input / Output) units (IO units 301 to 303 in the example of FIG. 2), a special unit 304, including.
- the IO units 301 to 303 and the special unit 304 may be called function units.
- the CPU unit 100, each of the IO units 301 to 303, and the special unit 304 are configured to exchange data with each other via the PLC system bus 400.
- the CPU unit 100 executes various processes related to the state of the control target, for example, “transmission of output data, reception of input data, execution of a control program that generates output data using the input data; The process of controlling the control target by repeating is executed. Details of the CPU unit 100 will be described later with reference to FIG.
- the power supply unit 200 supplies power of an appropriate voltage to the CPU unit 100, the IO units 301 to 303, and the special unit 304.
- the IO units 301 to 303 are units related to general input / output processing, and control input / output of data such as on / off (that is, binarized data). Specifically, each of the IO units 301 to 303 is in a state in which the device 31 that is an input device such as a sensor detects some target object (ON) and in a state in which no target object is detected (in FIG. Gather information about whether it is off). Each of the IO units 301 to 303 is either a command to activate (on) or a command to deactivate (off) to the device 32 which is an output device such as a relay or an actuator. Is output.
- the special unit 304 has functions not supported by the IO units 301 to 303, such as input / output of data (for example, analog data) different from data processed by the IO units 301 to 303, temperature control, and communication using a specific communication method. .
- the field network 20 transmits various data exchanged between the CPU unit 100 and field devices (servo driver 33, servo driver 34, remote IO terminal 35, etc.).
- field devices servo driver 33, servo driver 34, remote IO terminal 35, etc.
- various types of industrial Ethernet can be used.
- industrial Ethernet for example, EtherCAT (registered trademark), Profinet IRT, MECHALINKIN (registered trademark) -III, Powerlink, SERCOS (registered trademark) -III, CIP Motion, and the like are known.
- a field network other than industrial Ethernet may be used as the field network 20. For example, if the motion control is not performed, DeviceNet, CompoNet / IP (registered trademark), or the like may be used.
- the PLC 10 allows the CPU unit 100 to directly control the CPU unit 100 within the range covered by such built-in functions by providing the CPU unit 100 with the functions of the IO units 301 to 303 and the functions of the servo drivers 33 and 34. You may control.
- Each of the servo drivers 33 and 34 is connected to the CPU unit 100 via the field network 20 and drives each of the servo motors 41 and 42 according to a command value from the CPU unit 100.
- FIG. 2 shows a system example in which each of the servo motors 41 and 42 and each of the servo drivers 33 and 34 are combined.
- other configurations for example, a system in which a pulse motor and a pulse motor driver are combined. Can also be adopted.
- the remote IO terminal 35 basically performs processing related to general input / output processing in the same manner as the IO units 301 to 303. More specifically, the remote IO terminal 35 includes a communication coupler 36 for performing processing related to data transmission in the field network 20, and one or more IO units (IO units 37 and 38 in the example of FIG. 2). Including. The communication coupler 36 and each of the IO units 37 and 38 are configured to exchange data with each other via the remote IO terminal bus 39.
- the PLC 10 is connected to an analysis device 50 by an arbitrary communication cable 40, and may be connected to the PLC 10 by, for example, Ether IP (registered trademark). If the PLC 10 does not transmit the second cycle data ND continuously over a predetermined number of control cycles after the second cycle data ND is in a transmittable state, the PLC 10 indicates that “the second cycle continues over a predetermined number of control cycles. The analysis device 50 is notified that the data ND has not been transmitted. When the analysis device 50 is notified from the PLC 10 that “the second cycle data ND is not transmitted continuously over a predetermined number of control cycles”, the analysis device 50 displays this fact to the user.
- the analysis device 50 is configured by a normal PC (Personal Computer) and includes input / output devices such as a touch panel and a display.
- PC Personal Computer
- the PLC 10 is a control device that outputs the first cycle data CD every control cycle (specifically, the transmission cycle C), and includes an acquisition unit 110, a calculation unit 130, a setting unit 160, and a second transmission unit. 170 (2) (transmission unit).
- the acquisition unit 110 acquires the first cycle data CD together with the transmission start time S of the first cycle data CD.
- a time interval is added to calculate a reference time T (n + 1) of the (N + 1) period.
- the setting unit 160 generates a transmission generated using the difference between the transmission start time S (n) of the first cycle data CD to be transmitted in the control cycle of the Nth cycle and the reference time T (n) of the Nth cycle.
- the prohibition period B (specifically, the transmission prohibition period B (n + 1)) is set to at least one before or after the reference time T (n + 1) of the N + 1 period.
- the second transmission unit 170 (2) starts transmission of the second cycle data ND having a lower priority than the first cycle data CD in a period that is not the transmission prohibition period B set by the setting unit 160.
- the PLC 10 considers the difference between the transmission start time S (n) of the first cycle data CD to be transmitted in the Nth cycle control cycle and the Nth cycle reference time T (n). Then, a transmission prohibition period B for prohibiting the start of transmission of the second cycle data ND is calculated. Then, the PLC 10 calculates at least one before and after the reference time T (n + 1) of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the transmission cycle C to the transmission start time S (n) of the Nth cycle. The transmission prohibition period B (n + 1) is set. Then, the PLC 10 starts transmitting the second cycle data ND in a period that is not the transmission prohibition period B (n + 1).
- the PLC 10 determines that the transmission start time S (n) in the Nth cycle and the reference time T (n)
- the transmission prohibition period B (n + 1) considering the difference is set at least one before or after the reference time T (n + 1) of the (N + 1) th cycle.
- the PLC 10 sets an appropriate transmission prohibition period B (n + 1) considering the difference between the two, There is an effect that transmission of the first cycle data CD can be started at the transmission start time S (n + 1) of the (N + 1) th cycle.
- the PLC 10 further includes a first generation unit 140 and a second generation unit 150.
- generation part 140 produces
- the transmission prohibition period B set by the setting unit 160 includes a total period of the basic period Bb and the adjustment period Ba.
- the PLC 10 takes into account “the difference between the transmission start time S (n) and the reference time T (n) in the control cycle of the Nth cycle” and “the data amount of the second cycle data ND”.
- the transmission prohibition period B in which the transmission start of the second cycle data ND is prohibited is set.
- the transmission of the first cycle data CD is started at the transmission start time S (n + 1) of the (N + 1) th cycle.
- the difference between the transmission start time S (n + 1) and the reference time T (n + 1) in the (N + 1) th cycle is “the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle”. It is common for the difference to be less than or equal to.
- the PLC 10 sets the “adjustment period Ba generated from the difference between the transmission start time S (n) in the Nth cycle and the reference time T (n)” with respect to the “N + 1th cycle reference time T (n + 1)”.
- the including period is set as the transmission prohibition period B.
- the PLC 10 appropriately considers the difference between the two and the data amount of the second cycle data ND. It is possible to set an effective transmission prohibition period B (n + 1).
- the setting unit 160 when the transmission start time S (n) of the first cycle data CD to be transmitted in the control cycle of the Nth cycle is later than the reference time T (n) of the Nth cycle, the setting unit 160 Thus, the transmission prohibition period B (n + 1) is set. That is, the setting unit 160 sets a period including the total period of the basic period Bb (n + 1) and the adjustment period Ba (n + 1) so that the reference time T (n + 1) in the (N + 1) -th cycle ends. Set as (n + 1).
- the PLC 10 determines that the reference time T (n + 1) of the (N + 1) th cycle is the end point. In such a manner, a period including the total period of the basic period Bb (n + 1) and the adjustment period Ba (n + 1) is set as the transmission prohibition period B (n + 1).
- the time interval corresponding to the transmission cycle C at the transmission start time S (n) of the Nth cycle is generally delayed from the transmission start time S (n + 1) of the (N + 1) th cycle.
- the reference time T (n + 1) in the (N + 1) -th cycle from “the time that has gone back from the basic period Bb (n + 1) corresponding to the time required for transmission of the second cycle data ND from the reference time T (n + 1) in the (N + 1) -th cycle”. If only the period up to “)” is set as the transmission prohibition period B (n + 1), it may not be sufficient. In other words, the desirable transmission prohibition period B (n + 1) is “from the reference time T (n + 1) in the (N + 1) th cycle to the basic period Bb (n + 1)” to “the reference time T (n + 1) in the (N + 1) th cycle”. It is considered to be longer than this period.
- the PLC 10 further sets a transmission prohibition period B (n + 1) in the (N + 1) th period in consideration of the difference between the transmission start time S (n) in the Nth period and the reference time T (n). That is, the PLC 10 sets the basic period Bb (n + 1) as the transmission prohibition period B (n + 1), and in addition, sets the difference period V that is a difference period between the transmission start time S (n) and the reference time T (n). (N) is set as the transmission prohibition period B (n + 1). Specifically, the PLC 10 determines that the “N + 1 period from the time including the total period of the basic period Bb (n + 1) and the adjustment period Ba (n + 1) from the reference time T (n + 1) of the (N + 1) period”. The period until the “eye reference time T (n + 1)” is set as the transmission prohibition period B (n + 1).
- the PLC 10 takes into account the difference between the two and the data amount of the second cycle data ND. There is an effect that the transmission prohibition period B (n + 1) can be set.
- the setting unit 160 when the transmission start time S (n) of the first cycle data CD to be transmitted in the control cycle of the N cycle is earlier than the reference time T (n) of the N cycle, the setting unit 160 Thus, the transmission prohibition period B (n + 1) is set. That is, the setting unit 160 sets the period including the basic period Bb (n + 1) as the transmission prohibition period B (n + 1) so that the reference time T (n + 1) in the (N + 1) th cycle is the end point. In addition, the setting unit 160 sets the period including the adjustment period Ba (n + 1) as the transmission prohibition period B (n + 1) so that the reference time T (n + 1) in the (N + 1) -th cycle starts.
- the PLC 10 determines that the reference time T (n + 1) of the (N + 1) th cycle is the end point.
- the period including the basic period Bb (n + 1) is set as the transmission prohibition period B (n + 1).
- the PLC 10 sets a period including the adjustment period Ba (n + 1) as the transmission prohibition period B (n + 1) so that the reference time T (n + 1) in the (N + 1) -th cycle starts.
- the time interval corresponding to the transmission cycle C at the transmission start time S (n) of the Nth cycle is generally earlier than the transmission start time S (n + 1) of the (N + 1) th cycle.
- the reference time T (n + 1) in the (N + 1) -th cycle from “the time that has gone back from the basic period Bb (n + 1) corresponding to the time required for transmission of the second cycle data ND from the reference time T (n + 1) in the (N + 1) -th cycle”. If only the period up to “)” is set as the transmission prohibition period B (n + 1), it may not be sufficient. In other words, the desirable transmission prohibition period B (n + 1) is “from the reference time T (n + 1) in the (N + 1) th cycle to the basic period Bb (n + 1)” to “the reference time T (n + 1) in the (N + 1) th cycle”. It is considered to be longer than this period.
- the PLC 10 further sets a transmission prohibition period B (n + 1) in the (N + 1) th period in consideration of the difference between the transmission start time S (n) in the Nth period and the reference time T (n). That is, the PLC 10 sets the basic period Bb (n + 1) as the transmission prohibition period B (n + 1), and in addition, sets the difference period V that is a difference period between the transmission start time S (n) and the reference time T (n). (N) is set as the transmission prohibition period B (n + 1).
- the PLC 10 determines a period from “a time that is based on the basic time Bb (n + 1) from the reference time T (n + 1) in the (N + 1) th cycle” to “a reference time T (n + 1) in the (N + 1) th cycle”. It is set as a transmission prohibition period B (n + 1). Further, the PLC 10 sets a period from “the reference time T (n + 1) in the (N + 1) th cycle” to “the time that has passed through the period including the adjustment period Ba (n + 1) from the reference time T (n + 1) in the (N + 1) th cycle”. The transmission prohibition period B (n + 1) is set.
- the PLC 10 takes into account the difference between the two and the data amount of the second cycle data ND. There is an effect that the transmission prohibition period B (n + 1) can be set.
- the PLC 10 further includes an instruction unit 180.
- the PLC 10 if the PLC 10 does not transmit the second cycle data ND continuously over a predetermined number of control cycles, the PLC 10 forcibly starts transmission of the second cycle data ND even in the transmission prohibition period B. To do. Therefore, the PLC 10 has an effect that it can transmit the second cycle data ND that has not been transmitted continuously over a predetermined number of control cycles.
- the PLC 10 further includes a notification unit 190.
- the notification unit 190 indicates that “the second transmission unit 170 (2) does not transmit the second cycle data ND continuously over a predetermined number of control cycles” and “the second transmission unit 170 (2) does not transmit the predetermined number of times. “Not transmit second period data ND continuously over the control period” is notified to the outside.
- the PLC 10 may notify the outside that such a situation has occurred. There is an effect that you can.
- FIG. 1 is a diagram illustrating a configuration example of the CPU unit 100 of the PLC 10.
- the CPU unit 100 includes an FPGA 101, a chip set 102, a microprocessor 103, a main memory 104, and a nonvolatile memory 105 as hardware configurations.
- the CPU unit 100 may further include a USB connector (not shown).
- the chip set 102 and other components are coupled via various buses (internal buses). Note that the microprocessor 103 and the chip set 102 may be integrally formed.
- the microprocessor 103 and the chipset 102 are typically configured according to a general-purpose computer architecture. That is, the microprocessor 103 interprets and executes the instruction codes sequentially supplied from the chip set 102 according to the internal clock.
- the chip set 102 exchanges internal data with various connected components and generates instruction codes necessary for the microprocessor 103. Further, the chip set 102 has a function of caching data obtained as a result of execution of arithmetic processing in the microprocessor 103.
- the CPU unit 100 includes a main memory 104 and a nonvolatile memory 105 as storage means.
- the main memory 104 is a volatile storage area (RAM), and holds various programs to be executed by the microprocessor 103 after the CPU unit 100 is powered on.
- the main memory 104 is also used as a working memory when the microprocessor 103 executes various programs.
- a main memory 104 for example, DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), or the like can be used.
- the non-volatile memory 105 holds data such as various programs and parameters in a non-volatile manner. These data are copied to the main memory 104 so that the microprocessor 103 can access them as necessary.
- a nonvolatile memory 105 a semiconductor memory such as a flash memory can be used.
- a magnetic recording medium such as a hard disk drive or an optical recording medium such as a DVD-RAM (Digital Versatile Disk Random Access Memory) may be used.
- the FPGA 101 is a programmable logic circuit that allows a user to set a circuit configuration after manufacture, and executes various processes including communication processes such as transmission of output data and reception of input data.
- communication processing the FPGA 101 executes transmission of output data to units other than the CPU unit 100 and devices other than the PLC 10, and reception of input data from units other than the CPU unit 100 and devices other than the PLC 10.
- the FPGA 101 performs data transmission / reception with the main memory 104 as a communication process.
- the process executed by the FPGA 101 is not limited to the communication process.
- data output from the CPU unit 100 to units other than the CPU unit 100 and data output from the PLC 10 to devices other than the PLC 10 are also referred to as “output data”.
- Data input to the CPU unit 100 from units other than the CPU unit 100 and data input to the PLC 10 from devices other than the PLC 10 are also referred to as “input data”.
- the microprocessor 103 transmits the first cycle data CD (for example, control data) and the second cycle data ND (for example, data other than the control data) to be transmitted to the outside of the CPU unit 100 via the chipset 102, for example. It is set in the main memory 104 (in other words, data is stored). Then, the microprocessor 103 requests the FPGA 101 to transmit the data set in the main memory 104 via the chip set 102.
- the microprocessor 103 may be configured by a plurality of cores, and each core may store data assigned to each core in the main memory 104 via the chipset 102.
- the first core stores the first cycle data CD in the main memory 104
- the second core stores the second cycle data ND in the main memory 104
- the FPGA 101 may be requested to transmit the one-cycle data CD.
- each of the plurality of cores may store data assigned to each core in the main memory 104 and request transmission to the FPGA 101.
- the main entity that stores and transmits the first cycle data CD in the main memory 104 and the main entity that stores and transmits the second cycle data ND in the main memory 104 are different entities (for example, Another core) may be used.
- the FPGA 101 (particularly, the acquisition unit 110) transfers data set in the main memory 104 to the internal RAM 120 of the FPGA 101 (particularly, the transmission queue TXQ of the transmission queue table 121) using a DMA (Dynamic Memory Access) function. Specifically, the FPGA 101 acquires the first cycle data CD from the main memory 104, and buffers the acquired first cycle data CD in the first transmission queue TXQ0. Similarly, the FPGA 101 acquires the second cycle data ND from the main memory 104, and buffers the acquired second cycle data ND in the second transmission queue TXQ1.
- DMA Dynamic Memory Access
- the FPGA 101 transmits the second cycle data ND stored in the second transmission queue TXQ1.
- the basic period Bb is calculated from the data length.
- the FPGA 101 acquires the transmission start time S (n) of the first cycle data CD of the Nth cycle when the transmission of the first cycle data CD of the Nth cycle is started. Then, the acquired transmission start time S (n) is compared with the reference time T (n) of the Nth cycle. If the transmission start time S (n) and the reference time T (n) do not match, the FPGA 101 calculates a difference period V (n) that is the difference between the two.
- the FPGA 101 (particularly, the setting unit 160) prohibits the difference period V (n) from the N + 1th front transmission.
- the front transmission prohibition period is a transmission prohibition period B set in addition to the basic period Bb before the reference time T, and is a period during which the start of transmission of the second period data ND is prohibited.
- a period B (n + 1) is set.
- the FPGA 101 When the transmission start time S (n) of the Nth cycle is earlier than the reference time T (n) of the Nth cycle, the FPGA 101 (particularly, the setting unit 160) transmits the difference period V (n) to the (N + 1) th rear transmission. Set as a prohibited period. That is, when the transmission start time S (n) is earlier than the reference time T (n), the setting unit 160 sets the difference period V (n) as the adjustment period Ba (n + 1) after the reference time T (n + 1). To do.
- the rear side transmission prohibition period is a transmission prohibition period B set after the reference time T, and is a period during which the start of transmission of the second cycle data ND is prohibited.
- the FPGA 101 For the second cycle data ND that is in a transmittable state, the FPGA 101 (particularly, the second transmission unit 170 (2)) is in the second cycle data ND unless it is during the transmission of the first cycle data CD or the transmission prohibited period B. Start sending. If the FPGA 101 is transmitting the first cycle data CD or is in the transmission prohibition period B, the FPGA 101 does not start transmitting the second cycle data ND. After completing the transmission of the first cycle data CD, the FPGA 101 cancels the transmission prohibition period B and starts transmitting the second cycle data ND, for example.
- the FPGA 101 includes an acquisition unit 110, a calculation unit 130, a first generation unit 140, a second generation unit 150, a setting unit 160, a transmission unit 170, an instruction unit 180, and a notification unit 190 as functional blocks.
- the acquisition unit 110 acquires the first cycle data CD and the transmission start time S of the first cycle data CD from the main memory 104, for example, via the chipset 102. Then, the acquisition unit 110 stores the acquired first cycle data CD and the transmission start time S in the first transmission queue TXQ0 of the transmission queue table 121, in other words, sets the first period data CD and the transmission start time S in the first transmission queue TXQ0.
- the transmission start time S is a scheduled time at which transmission of the first cycle data CD, which is high priority data to be transmitted at regular intervals, is started.
- the transmission start time S is set in the main memory 104 together with the first cycle data CD by the host system, and is stored together with the first cycle data CD in the main memory 104 via the chipset 102 by the microprocessor 103, for example.
- the acquisition unit 110 acquires the second cycle data ND from, for example, the main memory 104 via the chipset 102, and stores the acquired second cycle data ND in the second transmission queue TXQ1 of the transmission queue table 121. To do.
- the acquisition unit 110 acquires the second cycle data ND and the transmission start time of the second cycle data ND from the main memory 104, and acquires the acquired second cycle data ND and the transmission start time of the second cycle data ND. May be stored in the second transmission queue TXQ1.
- the transmission start time of the second cycle data ND is: No particular explanation will be given.
- the first generation unit 140 stores the data amount (for example, transmission data length) of the second cycle data ND stored in the second transmission queue TXQ1. From this, the basic period Bb is calculated.
- the basic period Bb is, for example, “time required for transmission of the second period data ND”.
- the first generation unit 140 notifies the setting unit 160 of the calculated basic period Bb.
- the second generation unit 150 acquires the transmission start time S (n) of the first cycle data CD in the Nth cycle, and refers to the first transmission queue TXQ0, for example, and stores the first cycle data in the first transmission queue TXQ0.
- the transmission start time S (n) set with the CD is acquired.
- the second generation unit 150 refers to the reference time table 122 and acquires the reference time T (n) of the Nth cycle.
- the second generation unit 150 compares the transmission start time S (n) of the first cycle data CD of the Nth cycle with the reference time T (n) of the Nth cycle of the Nth cycle, and the two do not match
- the difference period V (n) that is the difference between the two is calculated, and the calculated difference period V (n) is notified to the setting unit 160.
- the start time (actual transmission start time) is the same.
- the second generator 150 calculates the difference period V (n) as follows. That is, the second generation unit 150 determines the difference between “the transmission start time S (m) that is the time at which the first cycle data CD should be transmitted in the control cycle M” and “the reference time T (M) of the control cycle M”.
- the setting unit 160 performs the basic period Bb notified from the first generation unit 140 and the difference period V (notified from the second generation unit 150) with respect to the reference time T acquired with reference to the reference time table 122. n) is used to set the transmission prohibition period B (n + 1) of the (N + 1) th cycle.
- a period including “V (n))” is set as a transmission prohibition period B (n + 1).
- the setting unit 160 sets “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” as the starting point, and “the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)”.
- the period set as the end point is set to the transmission prohibited period B (n + 1).
- the transmission unit 170 controls data transmission, for example, controls transmission of the first period data CD set in the first transmission queue TXQ0 and the second period data ND set in the second transmission queue TXQ1,
- the first transmission unit 170 (1) and the second transmission unit 170 (2) are included.
- the first transmission unit 170 (1) controls the transmission of the first cycle data CD, specifically, the transmission of the first cycle data CD set in the first transmission queue TXQ0 together with the first cycle data CD.
- the transmission starts at the transmission start time S set in the first transmission queue TXQ0.
- the first transmission unit 170 (1) cannot transmit the first cycle data CD while the second cycle data ND is being transmitted.
- the second transmission unit 170 (2) controls the transmission of the second cycle data ND. Specifically, the second transmission unit 170 (2) transmits the second cycle data ND set in the second transmission queue TXQ1 as “first cycle data CD. In the period other than the “transmission period and transmission prohibition period B period”. That is, in the “period during transmission of the first cycle data CD” and the “period of the transmission prohibition period B”, the second transmission unit 170 (2) does not start transmission of the second cycle data ND. When the second transmission unit 170 (2) cannot continuously transmit the second cycle data ND in a transmittable state over a predetermined number of control cycles, the second transmission unit 170 (2) continuously transmits the second cycle data ND over a predetermined number of control cycles.
- “Not transmitted” is notified to the instruction unit 180 and the notification unit 190.
- the second transmission unit 170 (2) cannot continuously transmit the second cycle data ND for a predetermined number of control cycles after the second cycle data ND is set in the second transmission queue TXQ1, the second transmission unit 170 (2) notifies the instruction unit 180 of the situation. To the unit 190.
- the instruction unit 180 instructs the second transmission unit 170 (2) to start transmission of the second cycle data ND even during the transmission prohibition period B, that is, forced transmission of the second cycle data ND. Instruct.
- the instruction unit 180 indicates from the second transmission unit 170 (2) that “the second cycle data ND has not been transmitted continuously over a predetermined number of control cycles after the second cycle data ND has become transmittable”. When notified, the second transmission unit 170 (2) may be instructed to perform forced transmission automatically. Further, when the instruction unit 180 is instructed by the user to forcibly transmit the second period data ND, the instruction unit 180 may instruct the second transmission unit 170 (2) to perform forcible transmission. Receiving this instruction from the instruction unit 180, the second transmission unit 170 (2) starts transmission of the second period data ND set in the second transmission queue TXQ1 even during the transmission prohibition period B.
- the notification unit 190 indicates from the second transmission unit 170 (2) that “the second cycle data ND has not been transmitted continuously over a predetermined number of control cycles after the second cycle data ND has become transmittable”. When notified, it instructs execution of the following processing. That is, the notification unit 190 notifies the analyzing device 50 that the second cycle data ND is not transmitted continuously over a predetermined number of control cycles, for example, via the microprocessor 103, and the like. That effect is displayed on the analysis device 50.
- the FPGA 101 illustrated in FIG. 1 includes an internal RAM 120.
- the internal RAM 120 is a storage device that stores various data used by the FPGA 101.
- the internal RAM 120 stores non-temporarily a control program for various processes executed by the FPGA 101 and various data to be read when the control program is executed.
- the internal RAM 120 further stores a transmission queue table 121, a reference time table 122, and setting information 123.
- the transmission queue table 121 includes a plurality of transmission queues TXQ0, TXQ1, ..., TXQn.
- transmission queue TXQ when it is not necessary to distinguish each of the plurality of transmission queues TXQ0, TXQ1,..., TXQn, they are simply referred to as “transmission queue TXQ”.
- Transmission data from the host system is buffered in the transmission queue TXQ.
- the transmission data set in the main memory 104 by the microprocessor 103 via the chipset 102 is set in the transmission queue TXQ by the acquisition unit 110. Is done.
- the first cycle data CD and the transmission start time S of the first cycle data CD are buffered (in other words, the first cycle data CD and the transmission start time S). Is set).
- the second cycle data ND is buffered (that is, set) in the second transmission queue TXQ1.
- the transmission queue TXQ employs, for example, a FIFO (first-in, first-out, first-in first-out) system.
- the internal RAM 120 may further store a reception queue table (not shown) in which data received from the outside of the CPU unit 100 is stored.
- the reception queue table includes a plurality of reception queues RXQ0, RXQ1, ..., RXQn, and each of RXQ0, RXQ1, ..., RXQn may adopt a FIFO method.
- the reference time table 122 stores the reference time T calculated by the calculation unit 130.
- the setting information 123 stores various setting information related to the operation of the control system 1 including the transmission cycle C.
- the transmission cycle C is also referred to as a “control cycle”, and is a transmission time interval of the first cycle data CD that is high-priority data transmitted at a fixed cycle.
- the FPGA 101 acquires the transmission cycle C by one of the following two methods. That is, the FPGA 101 may store the time interval notified from the host system (specifically, from the microprocessor 103 via the chipset 102) in the setting information 123 as the transmission cycle C. Further, the FPGA 101 calculates an average time interval between the transmission start times S of the first cycle data CD for a predetermined number of control cycles (for example, N cycles), and uses the calculated average time interval as a transmission cycle C. May be stored in the setting information 123.
- the CPU unit 100 (especially the FPGA 101) whose outline has been described so far will now be described with reference to FIG. 3 and the like for the processing executed by the CPU unit 100 (particularly, the FPGA 101).
- FIG. 3 is a flowchart showing an overall outline of processing executed by the CPU unit 100 (particularly, the FPGA 101).
- the calculation unit 130 acquires the transmission start time S (n) of the Nth cycle (S100), and adds a time corresponding to the transmission cycle C to the acquired transmission start time S (n). Then, the reference time T (n + 1) of the (N + 1) th cycle is calculated (S200). The calculation unit 130 stores the calculated reference time T (n + 1) in the reference time table 122.
- the first generation unit 140 and the second generation unit 150 execute a transmission prohibition period calculation process (S300). Details of the transmission prohibition period calculation process will be described later with reference to FIG.
- the setting unit 160 executes a transmission prohibition period setting process (S400). Details of the transmission prohibition period setting process will be described later with reference to FIG.
- the second transmission unit 170 (2) confirms whether the second cycle data ND is stored in the second transmission queue TXQ1 (S500). When it is confirmed that the second cycle data ND is not stored in the second transmission queue TXQ1 (No in S500), that is, when it is confirmed that there is no second cycle data ND in a transmittable state, the setting is performed. The unit 160 ends the processing, that is, the transmission prohibition period B is not set. Since there is no second cycle data ND in a transmittable state, the second transmission unit 170 (2) does not start transmission of the second cycle data ND. Further, the first transmission unit 170 (1) transmits the transmission of the first cycle data CD set in the first transmission queue TXQ0 together with the first cycle data CD to the transmission start time S set in the first transmission queue TXQ0. To start.
- the second transmission unit 170 (2) confirms whether it is in the transmission prohibition period B ( S600).
- the second transmission unit 170 (2) confirms that it is in the transmission prohibition period B (Yes in S600)
- the second transmission unit 170 (2) Transmission of the periodic data ND is started (S700).
- the second transmission unit 170 (2) starts transmission of the second cycle data ND (S800).
- a transmission prohibition period B (n + 1) generated by using the difference between the transmission start time S (n) of the first cycle data CD to be transmitted in the cycle and the reference time T (n) in the Nth cycle is represented as N + 1 cycles.
- Eye reference time T ( +1) a second period having a lower priority than the first period data CD during the setting step (S400) set at least before and after the transmission period and the transmission prohibition period B (n + 1) set in the setting step
- the control method is the difference between the transmission start time S (n) of the first cycle data CD to be transmitted in the control cycle of the Nth cycle and the reference time T (n) of the Nth cycle.
- a transmission prohibition period B (n + 1) for prohibiting the start of transmission of the second period data ND is calculated.
- the control method calculates at least before and after the reference time T (n + 1) of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the transmission cycle C to the transmission start time S (n) of the Nth cycle.
- a transmission prohibition period B (n + 1) is set.
- the control method starts transmission of the second cycle data ND in a period that is not the transmission prohibition period B (n + 1). That is, in the control method, even when the transmission start time S (n) in the Nth cycle and the reference time T (n) deviate, the transmission start time S in the Nth cycle and the reference time T (n)
- the transmission prohibition period B (n + 1) considering the difference is set to at least one before or after the reference time T (n + 1) of the (N + 1) th cycle.
- the control method sets an appropriate transmission prohibition period B (n + 1) considering the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle.
- the transmission of the first cycle data CD can be started at the transmission start time S (n + 1) of the (N + 1) th cycle.
- FIG. 4 is a flowchart for explaining details of the transmission prohibition period calculation processing of FIG.
- the second generation unit 150 first acquires the transmission start time S (n) of the first cycle data CD in the Nth cycle (S310).
- the second generation unit 150 may acquire the transmission start time S (n) set in the first transmission queue TXQ0 together with the first cycle data CD with reference to the first transmission queue TXQ0.
- the second generation unit 150 sets the “actual transmission start time of the first period data CD” from the transmission unit 170 (particularly, the first transmission unit 170 (1)) as the transmission start time S (n). You may get it.
- the second generation unit 150 refers to the reference time table 122 and acquires the reference time T (n) of the Nth cycle (S320).
- the second generation unit 150 compares the acquired transmission start time S (n) with the reference time T (n), and transmits the Nth cycle transmission start time S (n) and the Nth cycle reference time T (n).
- Difference period V (n) is calculated (S330).
- the second generation unit 150 notifies the setting unit 160 of the calculated difference period V (n).
- FIG. 5 is a flowchart for explaining the details of the transmission prohibition period setting process of FIG.
- the setting unit 160 When it is confirmed that the reference time T (n) and the transmission start time S (n) match (that is, the difference period V (n) is 0) (Yes in S410), the setting unit 160: Is set to the transmission prohibition period B (n + 1). That is, the setting unit 160 sets the period including the basic period Bb (n + 1) as the transmission prohibition period B (n + 1) so that the reference time T (n + 1) of the (N + 1) th cycle is the end point (S420). For example, the setting unit 160 sets a period whose start point is “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” and whose end point is “the reference time T (n + 1)” to the transmission prohibition period B ( n + 1).
- the setting unit 160 starts from “a time retroactive to the total period of the basic period Bb (n + 1) and the adjustment period Ba (n + 1) from the reference time T (n + 1)” and “the reference time T (n + 1)”. Is set as the transmission prohibition period B (n + 1).
- the setting unit 160 transmits as follows: A prohibition period B (n + 1) is set. That is, the setting unit 160 sets the period including the basic period Bb (n + 1) as the transmission prohibition period B so that the reference time T (n + 1) of the (N + 1) th cycle is the end point (S450). For example, the setting unit 160 sets a period whose start point is “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” and whose end point is “the reference time T (n + 1)” to the transmission prohibition period B ( n + 1).
- the PLC 10 sets the length of the transmission prohibition period B (n + 1) set in the N + 1 period in accordance with the transmission state of the first period data CD in the N period. It is dynamically changed to set the transmission prohibition period B (n + 1) having the optimum length.
- a specific processing example executed by the PLC 10 will be described with reference to FIGS. 6 and 7.
- FIG. 6 shows an example of processing executed by the PLC 10 (particularly, the FPGA 101) when the transmission start time S (n) is later than the reference time T (n) in the Nth period, in contrast to the conventional adjustment method. It is a figure explaining.
- (A) in FIG. 6 is the same as (A) in FIG. 9, that is, the transmission start time S (n) in the Nth cycle is delayed from the reference time T (n) in the Nth cycle.
- problems that occur in the prior art are shown.
- FIG. 6A when the transmission start time S (n) of the Nth cycle is delayed from the reference time T (n) of the Nth cycle, “transmission” is performed at the transmission start time S (n).
- the reference time T (n + 1) which is the time to which the “time interval corresponding to the period C” is added, shows the following tendency.
- the reference time T (n + 1) in the (N + 1) th cycle tends to be delayed from the transmission start time S (n + 1) in the (N + 1) th cycle.
- the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1). That is, according to the prior art, the time later than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for transmission of the second period data ND” before the reference time T (n + 1).
- a transmission prohibition period B is set.
- the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”.
- the transmission of the first period data CD can be started at the transmission start time S (n + 1).
- the transmission prohibition period B before the reference time T (n + 1) delayed from the transmission start time S (n + 1), the transmission prohibition period B, which is “the time required for transmission of the second period data ND”. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is later than the period until time S (n + 1) ".
- the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible.
- the time when the transmission of the second period data ND is completed is later than the transmission start time S (n + 1), and the first period data CD cannot be transmitted during the transmission of the second period data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
- (B) in FIG. 6 is a diagram for explaining the transmission prohibition period B (n + 1) set by the PLC 10 when the transmission start time S (n) is delayed from the reference time T (n).
- the FPGA 101 determines the transmission start time S (n) and the reference time T (n).
- a difference period V (n) that is a difference period between and N + 1 is set as the N + 1-th front transmission prohibition period.
- a transmission prohibition period B (n + 1) is set.
- transmission prohibition period B (n + 1) including the total period of the adjustment period Ba (n + 1) and the basic period Bb (n + 1) so that the end point becomes the reference time T (n + 1), ( In B)
- transmission of the second period data ND is appropriately prohibited. That is, in FIG. 6B, a transmission prohibition period B (n + 1) longer than the transmission prohibition period B (n + 1) in FIG. 6A by the adjustment period Ba (n + 1) is set.
- FIG. 7 shows an example of processing executed by the PLC 10 (particularly, the FPGA 101) when the transmission start time S (n) is earlier than the reference time T (n) in the Nth cycle, as compared with the conventional adjustment method. It is a figure explaining.
- (A) in FIG. 7 is the same as (B) in FIG. 9, that is, the transmission start time S (n) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle.
- the “transmission cycle” is set at the transmission start time S (n).
- the reference time T (n + 1) which is the time to which the “time interval corresponding to C” is added, shows the following tendency.
- the reference time T (n + 1) in the (N + 1) th cycle tends to be earlier than the transmission start time S (n + 1) in the (N + 1) th cycle.
- the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1). That is, in the prior art, the time earlier than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for the transmission of the second period data ND” before the reference time T (n + 1).
- a certain transmission prohibition period B is set.
- the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”.
- the transmission of the first period data CD can be started at the transmission start time S (n + 1).
- the transmission prohibition period B which is “time required for transmission of the second period data ND”, is set. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is earlier than the period until “time S (n + 1)”.
- the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible.
- the time when the transmission of the second period data ND is completed is later than the transmission start time S (n + 1), and the first period data CD cannot be transmitted during the transmission of the second period data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
- FIG. 7 is a figure explaining the transmission prohibition period B (n + 1) set by the PLC 10 when the transmission start time S (n) is earlier than the reference time T (n).
- the FPGA 101 determines the transmission start time S (n) and the reference time T (n).
- a difference period V (n) that is a difference period between and N + 1 is set as the N + 1-th rear transmission prohibition period.
- the transmission prohibition period B (n + 1) is set.
- the setting unit 160 sets the basic period Bb (n + 1) as the transmission prohibited period B (n + 1) so that the end point of the basic period Bb (n + 1) is the reference time T (n + 1). Specifically, the setting unit 160 sets the period from “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” to “the reference time T (n + 1)” as the transmission prohibition period B (n + 1). To do.
- the setting unit 160 extends from “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” to “the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)”. It is set as a transmission prohibition period B (n + 1).
- the transmission prohibition period B (n + 1) is from “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” to “the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)”.
- transmission of the second period data ND is appropriately prohibited. That is, in FIG. 7B, a transmission prohibition period B (n + 1) longer than the transmission prohibition period B (n + 1) of FIG. 7A by the adjustment period Ba (n + 1) is set.
- the PLC 10 executes notification processing for notifying the occurrence of such a situation to the outside. Regardless of the transmission prohibition period B, the PLC 10 executes forced transmission processing for starting transmission of the second period data ND.
- the notification unit 190 continuously detects “a state in which the second period data ND cannot be transmitted due to the transmission prohibition period B” over a predetermined number of control cycles (for example, M times). Then, the following processing is executed. In other words, the notification unit 190 notifies the host system (for example, the microprocessor 103) of the occurrence of “a state in which the second period data ND cannot be transmitted continuously for M periods due to the transmission prohibition period B”. ,Notice.
- the host system causes the analysis device 50 connected to the CPU unit 100 to generate “a state in which the second period data ND cannot be transmitted continuously for M periods due to the transmission prohibition period B”. Notice.
- the analysis device 50 receives the notification from the host system, it causes the occurrence of “a state in which the second period data ND cannot be transmitted continuously over M periods due to the transmission prohibition period B” to the user. indicate.
- the host system for example, the microprocessor 103
- the host system for example, the microprocessor 103 executes the forced transmission process of the second cycle data ND, for example, the chipset 102.
- the FPGA 101 is instructed via the above.
- the FPGA 101 (in particular, the instruction unit 180) instructs the second transmission unit 170 (2) to start transmission of the second period data ND even during the transmission prohibition period B.
- the second transmission unit 170 (2) transmits the second period data ND set in the second transmission queue TXQ1 according to the instruction from the instruction unit 180 regardless of whether or not it is the transmission prohibition period B. Start.
- the FPGA 101 may include a plurality of transmission queues. That is, a plurality of transmission queues (TXQ 0, TXQ 1, corresponding to each of a plurality of priorities (first, second,... N) given to data transmitted by the CPU unit 100 (in particular, the FPGA 101). ... TXQ (n ⁇ 1)) may be included in the CPU unit 100 (particularly, the FPGA 101) in the PLC 10.
- the CPU unit 100 controls a plurality of transmissions for controlling transmission of data set in each of a plurality of transmission queues (TXQ0, TXQ1,... TXQ (n ⁇ 1)). May be provided.
- the FPGA 101 includes the first transmission unit 170 (1) to the (N + 1) th transmission unit 170 (n) that control the transmission of data set in each of the first transmission queue TXQ0 to the N + 1th transmission queue TXQn. May be.
- the reference time T (n + m) in the (N + M) period may be calculated.
- the FPGA 101 may be notified of the transmission cycle C from the microprocessor 103 or the like, and calculates the average time interval between the transmission start times S of the first cycle data CD for a predetermined number of control cycles.
- the calculated average time interval may be used as the transmission cycle C.
- the FPGA 101 executes the following processing.
- the FPGA 101 starts the transmission start time S (p ⁇ 1) of the P ⁇ 1th control cycle and the transmission start of the P + 1th control cycle.
- the time interval from the time S (p + 1) is not used for calculating the transmission period C.
- the acquisition unit 110, the internal RAM 120, the calculation unit 130, the first generation unit 140, the second generation unit 150, the setting unit 160, the transmission unit 170, the instruction unit 180, and the notification unit 190 have been described as FPGA (Field-Programmable An example has been described which is realized in gate array. However, it is not essential for these functional blocks to be realized using an FPGA, and for example, they may be realized using an ASIC (Application Specific Integrated Circuit). That is, the acquisition unit 110, the internal RAM 120, the calculation unit 130, the first generation unit 140, the second generation unit 150, the setting unit 160, the transmission unit 170, the instruction unit 180, and the notification unit 190 are realized using an ASIC. May be.
- the control device is a control device that outputs first cycle data for each control cycle, and acquires the first cycle data together with a transmission start time of the first cycle data; , N is a natural number greater than or equal to 0, a time interval corresponding to the control cycle is added to the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the (N + 1) th cycle is obtained.
- a transmission prohibition period generated by using the difference between the calculation unit to calculate, the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the Nth cycle is represented as the (N + 1) th cycle.
- the control device takes into account the difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and the reference time of the Nth cycle.
- the transmission prohibition period for prohibiting the start of transmission of periodic data is calculated.
- the control device calculates the transmission prohibition period at least before or after the reference time of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle. Set.
- the control device starts transmission of the second cycle data during a period that is not the transmission prohibition period.
- control device sets the transmission prohibition period in consideration of the difference between the transmission start time and the reference time in the Nth cycle to the N + 1th cycle even when the transmission start time and the reference time in the Nth cycle diverge. Set at least one before and after the reference time.
- the control device sets an appropriate transmission prohibition period considering the difference between the two, and the transmission start time at the (N + 1) th cycle There is an effect that transmission of the first period data can be started.
- the control apparatus which concerns on 1 aspect of this invention is the 1st production
- the control period of the Nth period A second generation unit that generates an adjustment period that is the difference between the transmission start time of the first cycle data to be transmitted to the reference time of the Nth cycle, and the transmission set by the setting unit
- the prohibition period may include a total period of the basic period and the adjustment period.
- the control device takes into consideration the “difference between the transmission start time and the reference time in the control cycle of the Nth cycle” and the “data amount of the second cycle data” and the second cycle data
- the transmission prohibition period during which the start of transmission is prohibited is set.
- the transmission prohibition period as follows. That is, it is necessary to set the period from “the time that is required to transmit the second cycle data from the transmission start time of the (N + 1) th cycle” to “the transmission start time of the (N + 1) th cycle” as the transmission prohibited period. is there.
- the “time required for transmitting the second cycle data” is considered to be proportional to the data amount of the second cycle data, that is, calculated from the data amount of the second cycle data. Therefore, the control device uses a period including the basic period generated from the data amount of the second cycle data as the transmission prohibition period.
- the “transmission start time in the (N + 1) th cycle” cannot be grasped before the acquisition of the first cycle data in the (N + 1) th cycle, whereas the “reference time in the (N + 1) th cycle” It can be calculated in advance by adding “a time interval corresponding to the control period” to the “transmission start time”. Further, the difference between the transmission start time and the reference time in the (N + 1) th cycle is generally less than or equal to the difference between the transmission start time and the reference time in the Nth cycle. Therefore, the control device includes a period including the “adjustment period generated from the difference between the transmission start time and the reference time in the Nth cycle” with respect to “the reference time in the (N + 1) th cycle”. Set as.
- the control device appropriately prohibits the transmission in consideration of the difference between them and the data amount of the second cycle data. There is an effect that the period can be set.
- the setting section A period including the total period of the basic period and the adjustment period may be set as the transmission prohibition period so that the reference time of the eye becomes the end point.
- the control device sets the basic period so that the reference time of the (N + 1) th cycle ends. And a period including the total period of the adjustment period are set as the transmission prohibition period.
- the N + 1th cycle calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle
- the reference time is later than the transmission start time of the (N + 1) th cycle.
- the transmission prohibition period may not be sufficient. In other words, it is considered that the desirable transmission prohibition period is longer than the period from “the time that goes back the basic period from the reference time in the (N + 1) th cycle” to “the reference time in the (N + 1) th cycle”.
- the control device further sets the transmission prohibition period of the (N + 1) th period in consideration of the difference between the transmission start time and the reference time in the Nth period. That is, in addition to setting the basic period as the transmission prohibition period, the control apparatus sets the “adjustment period that is a difference period between the transmission start time and the reference time in the Nth period” to the transmission Set as a prohibited period.
- the control device may be configured such that “from the reference time of the (N + 1) th cycle to the reference time of the (N + 1) th cycle” from “a time retroactive to a period including the total period of the basic period and the adjustment period”. Is set as the transmission prohibition period.
- the control device takes into account the difference between the two and the data amount of the second cycle data. There is an effect that can be set.
- the setting section A period including the basic period is set as the transmission prohibition period so that the reference time of the eye becomes the end point, and a period including the adjustment period is set so that the reference time of the (N + 1) th period is the start point. May be set as
- the control device when the transmission start time of the Nth cycle is earlier than the reference time of the Nth cycle, the control device includes the basic period so that the reference time of the (N + 1) th cycle is the end point. A period is set as the transmission prohibition period. Further, the control device sets a period including the adjustment period as the transmission prohibition period so that the reference time of the (N + 1) -th cycle is the starting point.
- the N + 1th cycle is calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle.
- the reference time is generally earlier than the transmission start time in the (N + 1) period.
- the transmission prohibition period may not be sufficient. In other words, it is considered that the desirable transmission prohibition period is longer than the period from “the time that goes back the basic period from the reference time in the (N + 1) th cycle” to “the reference time in the (N + 1) th cycle”.
- the control device further sets the transmission prohibition period of the (N + 1) th period in consideration of the difference between the transmission start time and the reference time in the Nth period. That is, in addition to setting the basic period as the transmission prohibition period, the control apparatus sets the “adjustment period that is a difference period between the transmission start time and the reference time in the Nth period” to the transmission Set as a prohibited period. Specifically, the control device sets, as the transmission prohibition period, a period from “the time when the basic period is traced back from the reference time in the (N + 1) th cycle” to “the reference time in the (N + 1) th cycle”. . Further, the control device sets a period from “the reference time in the (N + 1) th cycle” to “a time that has advanced through the period including the adjustment period from the reference time in the (N + 1) th cycle” as the transmission prohibition period. To do.
- the control device takes into account the difference between the two and the data amount of the second cycle data. There is an effect that can be set.
- the control unit forcibly includes the transmission prohibition period. You may further provide the instruction
- the control device if the control device does not transmit the second cycle data continuously over a predetermined number of the control cycles, the control device forcibly sets the second cycle data even in the transmission prohibition period. Start sending. Therefore, the control device has an effect that the second cycle data that has not been continuously transmitted over the predetermined number of control cycles can be transmitted.
- the transmission unit when the transmission unit does not transmit the second cycle data continuously over a predetermined number of control cycles, the transmission unit continues over the predetermined number of control cycles.
- a notification unit that notifies the outside that the second cycle data is not transmitted may be further provided.
- the control device if the control device does not continuously transmit the second cycle data over the predetermined number of control cycles, the control device continuously transmits the second cycle data over the predetermined number of control cycles. Notify the outside that it has not. Therefore, when a situation occurs in which the second cycle data is not continuously transmitted over the predetermined number of the control cycles, the control device notifies the outside that such a situation has occurred. There is an effect that you can.
- a control method is a control method for a control device that outputs first cycle data for each control cycle, and acquires the first cycle data together with a transmission start time of the first cycle data.
- a setting step that is set at least before or after the reference time of the (N + 1) th cycle, and a second lower priority than the first cycle data during a period that is not the transmission prohibition period set in the setting step
- a transmission step of starting transmission of the period data includes.
- the control method takes into account the difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and the reference time of the Nth cycle.
- the transmission prohibition period for prohibiting the start of transmission of periodic data is calculated.
- the transmission prohibition period is calculated at least before or after the reference time of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle. Set. Then, the control method starts transmission of the second period data during a period that is not the transmission prohibition period.
- control method sets the transmission prohibition period in consideration of the difference between the transmission start time and the reference time in the Nth cycle to the N + 1th cycle even when the transmission start time and the reference time in the Nth cycle diverge. Set at least one before and after the reference time.
- control method sets an appropriate transmission prohibition period considering the difference between the transmission start time and the reference time in the Nth cycle, and sets the transmission start time in the (N + 1) th cycle. There is an effect that transmission of the first period data can be started.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、プログラマブルコントローラ(Programmable Logic Controller;以下、PLCとも称す)などの制御装置等に関する。 The present invention relates to control devices such as a programmable controller (hereinafter also referred to as PLC).
従来、同一周波数帯を利用する2つの通信レートの各々において送信するデータが互いに衝突するのを防ぐため、一方の通信レートにおける送信を禁止する送信禁止期間を設けることが知られている。例えば下掲の特許文献1には、一方の通信レートにおいて送信するデータの大きさに対応する長さの送信禁止期間を、一方の通信レートにおける送信に対して設定する通信システムが開示されている。
Conventionally, in order to prevent data transmitted at each of two communication rates using the same frequency band from colliding with each other, it is known to provide a transmission prohibition period for prohibiting transmission at one communication rate. For example,
しかしながら、上述のような従来技術には、同一経路を利用する複数の送信について、或る送信について、一般的に予想される送信開始時刻(=基準時刻)と実際の送信開始時刻とは乖離し得るという点を考慮できていないという問題がある。以下、図8および図9を参照して、具体的に説明する。 However, in the related art as described above, for a plurality of transmissions using the same route, a transmission start time (= reference time) generally expected for a certain transmission and the actual transmission start time are different. There is a problem that the point of obtaining cannot be considered. Hereinafter, a specific description will be given with reference to FIGS. 8 and 9.
図8は、同一経路を利用する、第1周期データCDの送信と第2周期データNDの送信との、従来までの調整方法を説明する図である。図8において、第1周期データCDの送信中は、第2周期データNDを送信することはできず、同様に、第2周期データNDの送信中は、第1周期データCDを送信することはできない。また、第1周期データCDの送信は周期的に、第2周期データNDの送信に優先して実行されるものとする。 FIG. 8 is a diagram for explaining a conventional adjustment method for transmission of the first cycle data CD and transmission of the second cycle data ND using the same route. In FIG. 8, during transmission of the first cycle data CD, the second cycle data ND cannot be transmitted. Similarly, during transmission of the second cycle data ND, it is possible to transmit the first cycle data CD. Can not. Further, it is assumed that the transmission of the first cycle data CD is periodically executed in preference to the transmission of the second cycle data ND.
図8において、第1周期データCDは、第1周期データCDを送信すべき時刻である「送信開始時刻S」と共に第1送信キューTXQ0にバッファリングされ(つまり、格納され)、バッファリングが完了すると送信可能状態となる。そして、送信可能状態となった第1周期データCDは、送信開始時刻Sに、ネットワークへの送信を開始される。つまり、第1周期データCDを送信すべき時刻である「送信開始時刻S」と、第1周期データCDの実際の送信開始時刻とは、一致するものとする。 In FIG. 8, the first cycle data CD is buffered (that is, stored) in the first transmission queue TXQ0 together with the “transmission start time S” that is the time at which the first cycle data CD should be transmitted, and the buffering is completed. Then, transmission is possible. Then, transmission of the first cycle data CD that has become ready for transmission to the network is started at the transmission start time S. That is, the “transmission start time S”, which is the time at which the first cycle data CD is to be transmitted, and the actual transmission start time of the first cycle data CD are the same.
第2周期データNDは、第2送信キューTXQ1にバッファリングされ、バッファリングが完了すると送信可能状態となる。そして、送信可能状態となった第2周期データNDは、「第1周期データCDの送信中の期間」および「送信禁止期間Bの期間」以外の期間において、ネットワークへの送信を開始される。つまり、「第1周期データCDの送信中の期間」および「送信禁止期間Bの期間」においては、第2周期データNDの送信を開始することはできない。送信禁止期間Bは、第1周期データCDの送信を送信開始時刻Sに開始するために設定され、送信禁止期間B中は、第2周期データNDの送信開始が禁止される。 The second cycle data ND is buffered in the second transmission queue TXQ1, and becomes ready for transmission when the buffering is completed. Then, transmission of the second cycle data ND in the transmittable state to the network is started in a period other than the “period during transmission of the first cycle data CD” and the “period of the transmission prohibition period B”. That is, in the “period during transmission of the first cycle data CD” and “period of the transmission prohibition period B”, the transmission of the second cycle data ND cannot be started. The transmission prohibition period B is set to start transmission of the first cycle data CD at the transmission start time S. During the transmission prohibition period B, transmission start of the second cycle data ND is prohibited.
図8において、第1周期データCDは周期的に送信され、N周期目に送信すべき第1周期データCDの送信開始時刻Sは「送信開始時刻S(n)」、N+1周期目に送信すべき第1周期データCDの送信開始時刻Sは「送信開始時刻S(n+1)」と表現される。Nは、「0以上の自然数」である。同様に、送信禁止期間Bについて、N+1周期目に送信すべき第1周期データCDの送信のために設定される送信禁止期間Bは、特に「送信禁止期間B(n+1)」と表現される。 In FIG. 8, the first cycle data CD is periodically transmitted, and the transmission start time S of the first cycle data CD to be transmitted in the N cycle is “transmission start time S (n)”, and is transmitted in the N + 1 cycle. The transmission start time S of the power first cycle data CD is expressed as “transmission start time S (n + 1)”. N is a “natural number greater than or equal to zero”. Similarly, regarding the transmission prohibition period B, the transmission prohibition period B set for transmission of the first period data CD to be transmitted in the (N + 1) period is particularly expressed as “transmission prohibition period B (n + 1)”.
「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの間に第2周期データNDの送信を開始すると、第2周期データNDの送信が終了する時刻は送信開始時刻S(n+1)より遅くなる。そして、第2周期データNDの送信が終了するまでは第1周期データCDの送信を開始できないため、送信開始時刻S(n+1)に第1周期データCDの送信を開始することはできなくなる。したがって、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間を、送信禁止期間Bとすることで、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができる。 When the transmission of the second period data ND is started between “the time when the time required to transmit the second period data ND from the transmission start time S (n + 1)” and “the transmission start time S (n + 1)” is started, The time when transmission of the two-cycle data ND ends is later than the transmission start time S (n + 1). Since the transmission of the first cycle data CD cannot be started until the transmission of the second cycle data ND is completed, the transmission of the first cycle data CD cannot be started at the transmission start time S (n + 1). Therefore, by setting the period from “time retroactive to the time required for transmission of the second period data ND from the transmission start time S (n + 1)” to “transmission start time S (n + 1)” as the transmission prohibition period B, The transmission of the first cycle data CD can be started at the transmission start time S (n + 1).
ただし、第1周期データCDの送信開始時刻Sは、第1周期データCDと同時にしか取得できず、つまり、予め把握しておくことができない。図8において、第2周期データNDのバッファリング完了時点(送信可能時点)では、N+1周期目に送信すべき第1周期データCDの送信開始時刻S(n+1)は不明であるため、第2周期データNDのバッファリング完了時点では送信禁止期間Bを設定できない。 However, the transmission start time S of the first cycle data CD can be acquired only at the same time as the first cycle data CD, that is, it cannot be grasped in advance. In FIG. 8, since the transmission start time S (n + 1) of the first cycle data CD to be transmitted in the (N + 1) th cycle is unknown at the buffering completion time (transmittable time) of the second cycle data ND, The transmission prohibition period B cannot be set when buffering of the data ND is completed.
そこで、図8に例示する従来までの調整方法においては、送信開始時刻Sの代わりに、周期的に送信される第1周期データCDの送信周期Cに相当する時間間隔を送信開始時刻Sに付加した時刻である「基準時刻T(=基準時刻)」を利用する。送信周期Cは、「制御周期」とも称する。 Therefore, in the conventional adjustment method illustrated in FIG. 8, instead of the transmission start time S, a time interval corresponding to the transmission cycle C of the first periodic data CD transmitted periodically is added to the transmission start time S. The “reference time T (= reference time)” that is the calculated time is used. The transmission cycle C is also referred to as “control cycle”.
例えば、N周期目の第1周期データCDの送信開始時刻S(n)に、「送信周期Cに相当する時間間隔」を付加した時刻を、N+1周期目の基準時刻T(n+1)とする。そして、基準時刻Tを用いて、「基準時刻Tから第2周期データNDの送信に要する時間を遡った時刻」から「基準時刻T」までの期間を、送信禁止期間Bとする。なお、以下では「T(0)=S(0)」とする。 For example, a time obtained by adding a “time interval corresponding to the transmission cycle C” to the transmission start time S (n) of the first cycle data CD of the Nth cycle is set as a reference time T (n + 1) of the (N + 1) th cycle. Then, using the reference time T, a period from “time from the reference time T to the time required for transmission of the second cycle data ND” to “reference time T” is defined as a transmission prohibition period B. In the following, it is assumed that “T (0) = S (0)”.
図8に示すように、従来までの調整方法においても、各周期における基準時刻Tと送信開始時刻Sとが常に一致する場合には、送信開始時刻Sに第1周期データCDの送信を開始することができる。すなわち、第2周期データNDのデータ量に基づいて算出した送信禁止期間B(=第2周期データNDの送信に要する時間)を、基準時刻T(=送信開始時刻S)の前に設定することで、送信開始時刻Sに第1周期データCDの送信を開始できるようになる。具体的には、図8では、基準時刻T(n+1)(=送信開始時刻S(n+1))が終点となるように、第2周期データNDのデータ量に基づいて算出した送信禁止期間Bを設定している。 As shown in FIG. 8, even in the conventional adjustment method, when the reference time T and the transmission start time S in each period always coincide, transmission of the first period data CD is started at the transmission start time S. be able to. That is, the transmission prohibition period B (= time required for transmission of the second cycle data ND) calculated based on the data amount of the second cycle data ND is set before the reference time T (= transmission start time S). Thus, the transmission of the first cycle data CD can be started at the transmission start time S. Specifically, in FIG. 8, the transmission prohibition period B calculated based on the data amount of the second period data ND is set such that the reference time T (n + 1) (= transmission start time S (n + 1)) is the end point. It is set.
しかしながら、基準時刻T(n+1)と送信開始時刻S(n+1)とに乖離が発生した場合、「第2周期データNDの送信に要する時間」を、送信禁止期間Bとして、基準時刻Tの前に設定しても、送信開始時刻Sに第1周期データCDの送信を開始できない。以下、図9を用いて、基準時刻T(n+1)と送信開始時刻S(n+1)とに乖離が発生した場合に従来技術が陥る問題点を説明する。 However, when a difference occurs between the reference time T (n + 1) and the transmission start time S (n + 1), the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T. Even if it is set, transmission of the first cycle data CD cannot be started at the transmission start time S. Hereinafter, with reference to FIG. 9, a problem that the conventional technique falls when a difference occurs between the reference time T (n + 1) and the transmission start time S (n + 1) will be described.
図9は、「第2周期データNDの送信に要する時間」を送信禁止期間Bとして基準時刻Tの前に設定する従来技術について、基準時刻T(n+1)と送信開始時刻S(n+1)とに乖離が発生した場合に発生する問題を説明する図である。図9の(A)は、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも遅れた場合について、従来技術において発生する問題を説明する図である。図9の(B)は、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも早い場合について、従来技術において発生する問題を説明する図である。 FIG. 9 shows the conventional technique in which “the time required for transmission of the second cycle data ND” is set as the transmission prohibition period B before the reference time T at the reference time T (n + 1) and the transmission start time S (n + 1). It is a figure explaining the problem which generate | occur | produces when deviation arises. FIG. 9A is a diagram illustrating a problem that occurs in the related art when the transmission start time S (n) in the Nth cycle is delayed from the reference time T (n) in the Nth cycle. . FIG. 9B is a diagram illustrating a problem that occurs in the related art when the transmission start time S (n) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle.
図9の(A)に示すように、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも遅れた場合、送信開始時刻S(n)に「送信周期Cに相当する時間間隔」を付加した時刻である基準時刻T(n+1)は、以下の傾向を示す。すなわち、N+1周期目の基準時刻T(n+1)は、N+1周期目の送信開始時刻S(n+1)よりも遅れる傾向がある。ここで、従来技術は、「第2周期データNDの送信に要する時間」を、基準時刻T(n+1)の前に、送信禁止期間Bとして設定する。つまり、従来技術は、送信開始時刻S(n+1)よりも遅れた時刻を基準時刻T(n+1)として、その基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bを設定する。 As shown in FIG. 9A, when the transmission start time S (n) of the Nth cycle is delayed from the reference time T (n) of the Nth cycle, “transmission” is performed at the transmission start time S (n). The reference time T (n + 1), which is the time to which the “time interval corresponding to the period C” is added, shows the following tendency. That is, the reference time T (n + 1) in the (N + 1) th cycle tends to be delayed from the transmission start time S (n + 1) in the (N + 1) th cycle. Here, according to the related art, the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1). That is, according to the prior art, the time later than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for transmission of the second period data ND” before the reference time T (n + 1). A transmission prohibition period B is set.
前述の通り、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間を送信禁止期間Bとすることで、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができる。しかしながら、図9の(A)においては、送信開始時刻S(n+1)よりも遅れた基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bが設定されている。つまり、従来技術が基準時刻T(n+1)の前に設定する送信禁止期間Bは、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間よりも、遅れている。 As described above, the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”. The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 9A, before the reference time T (n + 1) delayed from the transmission start time S (n + 1), the transmission prohibition period B, which is “the time required for transmission of the second period data ND”. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is later than the period until time S (n + 1) ".
その結果、第2周期データNDが送信可能状態となった時点は、「第1周期データCDの送信中の期間」にも「送信禁止期間Bの期間」にも含まれておらず、第2周期データNDは、送信可能状態となった直後に、送信が開始されている。図9の(A)において、第2周期データNDの送信が完了する時刻は送信開始時刻S(n+1)より遅く、第2周期データNDの送信中は第1周期データCDを送信できないため、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができない。 As a result, the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible. In FIG. 9A, the time at which the transmission of the second cycle data ND is completed is later than the transmission start time S (n + 1), and the first cycle data CD cannot be transmitted during the transmission of the second cycle data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
図9の(B)に示すように、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも早い場合、送信開始時刻S(n)に「送信周期Cに相当する時間間隔」を付加した時刻である基準時刻T(n+1)は、以下の傾向を示す。すなわち、N+1周期目の基準時刻T(n+1)は、N+1周期目の送信開始時刻S(n+1)よりも早くなる傾向がある。ここで、従来技術は、「第2周期データNDの送信に要する時間」を、基準時刻T(n+1)の前に、送信禁止期間Bとして設定する。つまり、従来技術は、送信開始時刻S(n+1)よりも早い時刻を基準時刻T(n+1)として、その基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bを設定する。 As shown in FIG. 9B, when the transmission start time S (n) of the Nth cycle is earlier than the reference time T (n) of the Nth cycle, the “transmission cycle” is set at the transmission start time S (n). The reference time T (n + 1), which is the time to which the “time interval corresponding to C” is added, shows the following tendency. That is, the reference time T (n + 1) in the (N + 1) th cycle tends to be earlier than the transmission start time S (n + 1) in the (N + 1) th cycle. Here, according to the related art, the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1). That is, in the prior art, the time earlier than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for the transmission of the second period data ND” before the reference time T (n + 1). A certain transmission prohibition period B is set.
前述の通り、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間を送信禁止期間Bとすることで、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができる。しかしながら、図9の(B)においては、送信開始時刻S(n+1)よりも早い基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bが設定されている。つまり、従来技術が基準時刻T(n+1)の前に設定する送信禁止期間Bは、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間よりも、早い。 As described above, the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”. The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 9B, before the reference time T (n + 1) earlier than the transmission start time S (n + 1), the transmission prohibition period B, which is “time required for transmission of the second period data ND”, is set. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is earlier than the period until “time S (n + 1)”.
その結果、第2周期データNDが送信可能状態となった時点は、「第1周期データCDの送信中の期間」にも「送信禁止期間Bの期間」にも含まれておらず、第2周期データNDは、送信可能状態となった直後に、送信が開始されている。図9の(B)において、第2周期データNDの送信が完了する時刻は送信開始時刻S(n+1)より遅く、第2周期データNDの送信中は第1周期データCDを送信できないため、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができない。 As a result, the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible. In FIG. 9B, the time when the transmission of the second period data ND is completed is later than the transmission start time S (n + 1), and the first period data CD cannot be transmitted during the transmission of the second period data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
これまでに図8および図9を参照して説明したように、従来技術では、第2周期データNDのデータ量に基づいて算出される「第2周期データNDの送信に要する時間」を、送信禁止期間Bとして、基準時刻Tの前に設定する。 As described above with reference to FIG. 8 and FIG. 9, in the related art, the “time required for transmission of the second period data ND” calculated based on the data amount of the second period data ND is transmitted. The prohibition period B is set before the reference time T.
しかしながら、このような従来技術では、基準時刻T(n)とN周期目の送信開始時刻S(n)とが乖離した場合、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できないことがあり得る。つまり、N周期目の第1周期データCDの基準時刻(=基準時刻T(n))と実際の送信開始時刻(=送信開始時刻S(n))とが乖離した場合、従来技術は、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できないことがあり得る。 However, in such a conventional technique, when the reference time T (n) and the transmission start time S (n) of the Nth cycle deviate, the first cycle data CD is transmitted at the transmission start time S (n + 1) of the (N + 1) th cycle. May not be able to start sending. That is, when the reference time (= reference time T (n)) of the first cycle data CD in the Nth cycle and the actual transmission start time (= transmission start time S (n)) deviate from each other, the conventional technique is N + 1. There is a possibility that the transmission of the first cycle data CD cannot be started at the transmission start time S (n + 1) of the cycle.
本開示の一態様は、前記課題を解決するためになされたものであり、その目的は、周期的に送信すべきデータについて、或る周期の基準時刻と実際の送信開始時刻とが乖離した場合にも、次の周期の予定時刻にデータを送信できる制御装置等を実現することにある。 One aspect of the present disclosure has been made to solve the above-described problem, and the purpose of the present disclosure is for a case where a reference time of a certain cycle and an actual transmission start time are different from each other regarding data to be transmitted periodically Another object is to realize a control device or the like that can transmit data at the scheduled time of the next cycle.
上記の課題を解決するために、本発明の一態様に係る制御装置は、制御周期ごとに第1周期データを出力する制御装置であって、前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得部と、Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出部と、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定部と、前記設定部により設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信部と、を備えている。 In order to solve the above-described problem, a control device according to one aspect of the present invention is a control device that outputs first cycle data for each control cycle, and the first cycle data is converted into the first cycle data. A time interval corresponding to the control period is added to the transmission start time of the first period data to be transmitted in the control period of the Nth period, where N is a natural number greater than or equal to 0, and is acquired together with the transmission start time. Are generated using a difference between the calculation unit for calculating the reference time of the (N + 1) th cycle, the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the Nth cycle. A setting unit that sets the transmission prohibition period to at least one before and after the reference time of the (N + 1) th cycle, and a period that is not the transmission prohibition period set by the setting unit has a higher priority than the first cycle data. Low second cycle And a, a transmission unit to start sending over data.
上記の課題を解決するために、本発明の一態様に係る制御方法は、制御周期ごとに第1周期データを出力する制御装置の制御方法であって、前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得ステップと、Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出ステップと、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定ステップと、前記設定ステップにて設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信ステップと、を含んでいる。 In order to solve the above-described problem, a control method according to an aspect of the present invention is a control method for a control device that outputs first cycle data for each control cycle, and the first cycle data is the first cycle data. An acquisition step of acquiring together with the transmission start time of periodic data, and a time interval corresponding to the control period at the transmission start time of the first period data to be transmitted in the control period of the Nth period, where N is a natural number of 0 or more And a difference between the calculation step of calculating the reference time of the (N + 1) th cycle, the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the Nth cycle is used. A setting step for setting the transmission prohibition period generated at least before or after the reference time of the (N + 1) th cycle, and a period other than the transmission prohibition period set in the setting step Priority than data includes a transmission step of starting transmission of lower second period data.
本開示の一態様によれば、周期的に送信すべきデータについて、或る周期の基準時刻と実際の送信開始時刻とが乖離した場合にも、次の周期の予定時刻にデータを送信することができるという効果を奏する。 According to one aspect of the present disclosure, data that is to be transmitted periodically is transmitted at a scheduled time of the next cycle even when the reference time of a certain cycle and the actual transmission start time deviate. There is an effect that can be.
〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明し、具体的には、本発明の実施形態1について、図1から図9に基づいて詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、機械および設備等の制御対象を制御するPLC(プログラマブル・ロジック・コントローラ、Programmable Logic Controller)10を、特に、PLC10のCPUユニット100を、制御装置の典型例として説明を行う。なお、「CPU」は「Central Processing Unit」の略である。また、以下の説明において「N」は、「0以上の自然数」を表わす。
Hereinafter, an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings. Specifically, FIG. 9 will be described in detail. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated. In the present embodiment, a PLC (Programmable Logic Controller) 10 that controls a control target such as a machine and equipment, in particular, a
PLC10についての理解を容易にするため、以下では先ず、図8および図9を参照して従来技術の概要を説明し、その後に、PLC10の概要を説明していくこととする。
In order to facilitate understanding of the
§1.適用例
(従来技術の概要および課題)
図8において、第1周期データCDの送信と第2周期データNDの送信とは同一経路を利用し、第1周期データCDの送信中は、第2周期データNDを送信ができず、第2周期データNDの送信中は、第1周期データCDを送信ができない。第1周期データCDは、第1周期データCDを送信すべき時刻である「送信開始時刻S」と共に第1送信キューTXQ0にバッファリングされ、バッファリングが完了すると送信可能状態となる。同様に、第2周期データNDは、第2送信キューTXQ1にバッファリングされ、バッファリングが完了すると送信可能状態となる。第1周期データCDは周期的に送信され、N周期目に送信すべき第1周期データCDの送信開始時刻Sは「送信開始時刻S(n)」、N+1周期目に送信すべき第1周期データCDの送信開始時刻Sは「送信開始時刻S(n+1)」と表現される。
§1. Application example (Overview and issues of conventional technology)
In FIG. 8, the transmission of the first cycle data CD and the transmission of the second cycle data ND use the same path, and during the transmission of the first cycle data CD, the second cycle data ND cannot be transmitted. During transmission of the periodic data ND, the first periodic data CD cannot be transmitted. The first cycle data CD is buffered in the first transmission queue TXQ0 together with the “transmission start time S” that is the time at which the first cycle data CD should be transmitted, and becomes ready for transmission when the buffering is completed. Similarly, the second cycle data ND is buffered in the second transmission queue TXQ1, and becomes ready for transmission when the buffering is completed. The first cycle data CD is periodically transmitted. The transmission start time S of the first cycle data CD to be transmitted in the N cycle is “transmission start time S (n)”, and the first cycle to be transmitted in the N + 1 cycle. The transmission start time S of the data CD is expressed as “transmission start time S (n + 1)”.
従来技術は、送信可能状態となった第1周期データCDの送信を、送信開始時刻Sに開始するため、「第2周期データNDの送信に要する時間」第2周期データNDのデータ量に基づいて算出される「第2周期データNDの送信に要する時間」を利用する。 Since the prior art starts transmission of the first cycle data CD in a transmittable state at the transmission start time S, the “time required for transmission of the second cycle data ND” is based on the data amount of the second cycle data ND. The “time required for transmission of the second period data ND” calculated in the above is used.
すなわち、従来技術は先ず、「N周期目の第1周期データCDの送信開始時刻S(n)」に「送信周期Cに相当する時間間隔」を付加して、「N+1周期目の基準時刻T(n+1)」を算出する。そして、従来技術は、N+1周期目の基準時刻T(n+1)が終点となるよう、「第2周期データNDの送信に要する時間」を、第2周期データNDの送信開始を禁止する送信禁止期間B(図8における「送信禁止期間B(n+1)」)として、設定する。 That is, in the prior art, first, “the time interval corresponding to the transmission cycle C” is added to “the transmission start time S (n) of the first cycle data CD in the Nth cycle”, and “the reference time T in the (N + 1) th cycle”. (N + 1) "is calculated. Then, according to the related art, the “time required for transmission of the second cycle data ND” is set to the transmission prohibition period for prohibiting the start of transmission of the second cycle data ND so that the reference time T (n + 1) of the (N + 1) th cycle ends. B (“transmission prohibited period B (n + 1)” in FIG. 8) is set.
ただし、図9に示すように、第2周期データNDのデータ量に基づいて算出される「第2周期データNDの送信に要する時間」を送信禁止期間Bとして利用する従来技術は、基準時刻T(n)とN周期目の送信開始時刻S(n)とが乖離した場合に対応できない。すなわち、N周期目の第1周期データCDの基準時刻(=基準時刻T(n))と実際の送信開始時刻(=送信開始時刻S(n))とが乖離した場合、従来技術は、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できないことがあり得る。 However, as shown in FIG. 9, the conventional technique using the “time required for transmission of the second cycle data ND” calculated based on the data amount of the second cycle data ND as the transmission prohibition period B is based on the reference time T It is not possible to cope with the case where (n) and the transmission start time S (n) in the Nth cycle deviate. That is, when the reference time (= reference time T (n)) of the first cycle data CD in the Nth cycle is different from the actual transmission start time (= transmission start time S (n)), the conventional technique is N + 1. There is a possibility that the transmission of the first cycle data CD cannot be started at the transmission start time S (n + 1) of the cycle.
図8および図9を参照して説明したように、第2周期データNDのデータ量(データサイズの大きさ)のみから送信禁止期間Bを設定する従来技術には、以下の問題がある。すなわち、第2周期データNDのデータ量のみから送信禁止期間Bを設定すると、定期送信の周期から算出する基準時刻(=基準時刻T)と実際の定期送信の送信時刻(=送信開始時刻S)とが一致しない場合、定期送信を守れないことがある。つまり、N+1回目の送信開始時刻S(n+1)とN+1回目の基準時刻T(n+1)との誤差が大きい場合、従来技術は適切な送信禁止期間Bを設定することができないことがあり得る。その結果、例えばTXQ0の送信よりも先にTXQ1の送信が開始され、送信開始時刻S(n+1)に第1周期データCDの送信を開始できないことがあり得る。 As described with reference to FIG. 8 and FIG. 9, the prior art that sets the transmission prohibition period B only from the data amount (data size) of the second period data ND has the following problems. That is, when the transmission prohibition period B is set only from the data amount of the second cycle data ND, the reference time (= reference time T) calculated from the periodic transmission cycle and the actual transmission time of the regular transmission (= transmission start time S) If does not match, periodic transmission may not be observed. That is, if the error between the (N + 1) th transmission start time S (n + 1) and the (N + 1) th reference time T (n + 1) is large, the related art may not be able to set an appropriate transmission prohibition period B. As a result, for example, TXQ1 transmission may be started before TXQ0 transmission, and transmission of the first period data CD may not be started at the transmission start time S (n + 1).
そこで、PLC10は、第2周期データNDのデータ量に基づいて算出される「第2周期データNDの送信に要する時間(=基礎期間Bb)」に加えて、調整期間Ba(余裕時間)を、送信禁止期間Bとして設定する。特に、PLC10は、前回送信の状態(つまり、N周期目における第1周期データCDの送信状態)に合わせて、(N+1周期目の)調整期間Baを動的に変更し、調整期間Baの最適化を実行する。以下、図2を用いて、PLC10を含む制御システム1の概要について説明する。
Therefore, in addition to the “time required for transmission of the second period data ND (= basic period Bb)” calculated based on the data amount of the second period data ND, the
(本実施形態に係るPLCの概要)
図2は、制御システム1の全体概要を示す図である。図1に例示する制御システム1において、1つ以上のPLC10と、PLC10により動作が制御される機器とは、フィールドネットワーク20等の制御系のネットワークに接続されている。図2のPLC10には、フィールドネットワーク20およびPLCシステムバス400などのネットワークを介して、サーボドライバ33および34が接続され、サーボドライバ33および34の各々にはさらにサーボモータ41および42の各々が接続されている。
(Outline of PLC according to this embodiment)
FIG. 2 is a diagram showing an overall outline of the
PLC10は、生産設備内の入力機器および出力機器の制御等を司る制御装置である。例えば、PLC10は、フィールドネットワーク20およびPLCシステムバス400などのネットワークに、第1周期データCDおよび第2周期データNDを送信し、特に、第1周期データCDおよび第2周期データNDの送信について、以下の処理を実行する。すなわち、PLC10は、「第2周期データNDの送信によって送信開始時刻Sに第1周期データCDの送信を開始できない」事態が発生するのを回避するため、第2周期データNDの送信が禁止される送信禁止期間Bを設定する。なお以下では、PLC10は、周期的に(具体的には、制御周期(具体的には、送信周期C)ごとに)、第1周期データCDを送信するものとする。以下、PLC10が制御する、第1周期データCDおよび第2周期データNDの送受信について、詳細に説明する。
The
(第1周期データCDの送受信)
第1に、PLC10と機器とは、生産設備に対する高速高精度な制御を実行するために、フィールドネットワーク20を介してサイクリック(つまり、周期的に)に通信を行なって、INデータおよびOUTデータ(以下、「IOデータ」という)を送受信する。第1周期データCDは、例えば、このような「生産設備に対する高速高精度な制御を実行するためのIOデータ」であり、「生産設備に対する高速高精度な制御を実行するためのデータ」は「制御データ」とも称される。
(Transmission / reception of first period data CD)
First, the
PLC10は、ラダーロジック(ラダー言語)によって記述されたラダープログラム(ソースプログラム)などがコンパイルされることにより生成されたユーザプログラムを実行することにより、制御対象に対する高速かつ高精度の制御を実行する。ここで、「ユーザプログラム」は、ユーザの制御対象(例えば、対象のラインおよびプロセス)に応じて作成され、すなわち、制御システム1を用いて制御する制御対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。オブジェクトプログラム形式のユーザプログラムは、PLC10の不揮発性メモリ105などに格納される。ユーザプログラムは、CPUユニット100のマイクロプロセッサ103で実行され、その実行結果が、制御データとして、つまり、第1周期データCDとして、PLC10の制御対象へと送信される。
The
具体的には、制御対象に対する高速かつ高精度の制御のためのユーザプログラムは、高速周期で、マイクロプロセッサ103によって繰り返し実行され、PLC10は、その実行結果である第1周期データCDを定周期で制御対象へと送信する。PLC10(特に、CPUユニット100)は、IOユニット301~303および特殊ユニット304などの機能ユニットと、サーボドライバ33および34、リモートIOターミナル35などのスレーブ装置とに、第1周期データCDを定周期で送信する。ここで、生産設備に対する高速かつ高精度の制御のためには、PLC10から各制御機器への命令頻度を高める必要があり、PLC10によるスレーブ装置(フィールド機器)への第1周期データCDの送信については、μsオーダーでの通信が要求される。
Specifically, a user program for high-speed and high-accuracy control on a control target is repeatedly executed by the
(第2周期データNDの送受信)
第2に、PLC10(特に、CPUユニット100)は、生産設備の高速かつ高精度な制御に加えて、以下の処理を実行する。すなわち、PLC10は、例えば、(1)外部のデータベースとの接続に係る処理、(2)外部の表示装置との接続に係る処理、および(3)制御対象から取得する情報を蓄積し、蓄積した情報を外部のサーバに送信する処理などを実行する。具体的には、PLC10は、第1周期データCD(制御データ)以外のデータの送信および受信(収集)を実行し、例えば、機能ユニット、スレーブ装置、および、各種の外部機器(例えば、外部の情報系サーバ)との間で、第2周期データNDを送受信する。
(Transmission and reception of second period data ND)
Secondly, the PLC 10 (in particular, the CPU unit 100) executes the following processing in addition to high-speed and high-precision control of the production facility. That is, the
第2周期データNDは、例えば、制御システム1の故障診断に使用するセンサ受光信号の減衰値の統計情報などを示す情報系データである。第2周期データNDは第1周期データCDよりも優先度が低く、詳細は後述するが、第1周期データCDの信開始時刻における送信が、第2周期データNDの送信によって、妨げられることがないよう、第2周期データNDの送信開始が制御される(禁止される)。第2周期データNDは、非周期的に、または、「周期的に送信される第1周期データCDの送信周期C(=制御周期)」以上の時間間隔(周期)で繰り返し、送信される。前述の通り、PLC10において、定周期で送信する第1周期データCDについては「μs(100万分の1秒)」オーダーの定時性が求められる。これに対し、第2周期データNDの送信について求められる定時性は、例えば、ms(千分の1秒)のオーダーである。
The second cycle data ND is information system data indicating, for example, statistical information on the attenuation value of the sensor light reception signal used for failure diagnosis of the
(制御システムを構成する機器の概要)
PLC10は、制御システム1において、機械および設備などの制御対象を制御する制御装置であり、制御システム1における、フィールドネットワーク20を介したデータ伝送を管理するマスタ装置である。PLC10は、例えばユーザプログラムとも称される制御プログラムを実行して、制御システム1全体の動作を統括的に制御する。PLC10は、主たる演算処理を実行するCPUユニット100と、電源ユニット200と、1つ以上のIO(Input/ Output)ユニット(図2の例では、IOユニット301~303)と、特殊ユニット304と、を含む。IOユニット301~303、および、特殊ユニット304は、機能ユニットと呼ばれることもある。CPUユニット100と、IOユニット301~303の各々と、特殊ユニット304とは、PLCシステムバス400を介して、互いにデータを遣り取りできるように構成される。
(Outline of devices constituting the control system)
The
CPUユニット100は、制御対象の状態等に係る種々の処理を実行し、例えば、「出力データの送信と、入力データの受信と、入力データを使用して出力データを生成する制御プログラムの実行とを繰り返すことによって制御対象を制御する」処理を実行する。CPUユニット100の詳細については、図1を参照して後述する。
The
電源ユニット200は、CPUユニット100、IOユニット301~303、および、特殊ユニット304に、適切な電圧の電源を供給する。
The
IOユニット301~303は、各々、一般的な入出力処理に関するユニットであり、オン/オフといったデータ(つまり、2値化されたデータ)の入出力を司る。具体的には、IOユニット301~303の各々は、センサなどの入力機器であるデバイス31が何らかの対象物を検出している状態(オン)、および、何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット301~303の各々は、リレー、アクチュエータといった出力機器であるデバイス32に対して、活性化するための指令(オン)、および、不活性化するための指令(オフ)のいずれかを出力する。
The
特殊ユニット304は、IOユニット301~303が処理するデータとは異なるデータ(例えば、アナログデータ)の入出力、温度制御、特定の通信方式による通信といった、IOユニット301~303ではサポートしない機能を有する。
The
フィールドネットワーク20は、CPUユニット100とフィールド機器(サーボドライバ33、サーボドライバ34、および、リモートIOターミナル35等)との間で遣り取りされる各種データを伝送する。フィールドネットワーク20としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネットとしては、例えば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)-III、Powerlink、SERCOS(登録商標)-III、CIP Motionなどが知られている。なお、フィールドネットワーク20として、産業用イーサネット以外のフィールドネットワークを用いてもよい。例えば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。
The
なおPLC10は、CPUユニット100にIOユニット301~303の各々の機能およびサーボドライバ33および34の機能を持たせることにより、そのような内蔵機能でまかなえる範囲については、CPUユニット100が直接制御対象を制御してもよい。
The
サーボドライバ33および34の各々は、フィールドネットワーク20を介してCPUユニット100と接続されるとともに、CPUユニット100からの指令値に従ってサーボモータ41および42の各々を駆動する。なお、図2には、サーボモータ41および42の各々とサーボドライバ33および34の各々とを組み合わせたシステム例を示したが、その他の構成、たとえば、パルスモータとパルスモータドライバとを組み合わせたシステムを採用することもできる。
Each of the
リモートIOターミナル35は、基本的には、IOユニット301~303と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル35は、フィールドネットワーク20でのデータ伝送に係る処理を行うための通信カプラ36と、1つ以上のIOユニット(図2の例では、IOユニット37および38)とを含む。通信カプラ36と、IOユニット37および38の各々とは、リモートIOターミナルバス39を介して、データを互いに遣り取りできるように構成される。
The
PLC10には、任意の通信ケーブル40によって、解析用デバイス50が接続されており、例えば、Ether IP(登録商標)により通信接続されていてもよい。PLC10は、第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していないと、「所定回数の制御周期にわたって連続して第2周期データNDを送信していない」旨を解析用デバイス50に通知する。解析用デバイス50は、PLC10から、「所定回数の制御周期にわたって連続して第2周期データNDを送信していない」旨を通知されると、その旨をユーザに表示する。解析用デバイス50は、通常のPC(Personal Computer)によって構成され、タッチパネル、ディスプレイなどの入出力デバイスを備える。
The
(CPUユニットの概要)
これまで図2を用いてPLC10を含む制御システム1の全体概要を説明してきたが、次に、PLC10におけるCPUユニット100、特にCPUユニット100の備えるFPGA101について、その概要を説明しておく。
(Overview of CPU unit)
The overall outline of the
PLC10は、制御周期(具体的には、送信周期C)ごとに第1周期データCDを出力する制御装置であって、取得部110と、算出部130と、設定部160と、第2送信部170(2)(送信部)と、を備えている。取得部110は、第1周期データCDを、第1周期データCDの送信開始時刻Sと共に取得する。算出部130は、Nを0以上の自然数として、N周期目の制御周期(=送信周期C)に送信すべき第1周期データCDの送信開始時刻S(n)に、送信周期Cに相当する時間間隔を付加して、N+1周期目の基準時刻T(n+1)を算出する。設定部160は、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差を用いて生成された送信禁止期間B(具体的には、送信禁止期間B(n+1))を、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に設定する。第2送信部170(2)は、設定部160により設定された送信禁止期間Bでない期間に、第1周期データCDより優先度が低い第2周期データNDの送信を開始する。
The
前記の構成によれば、PLC10は、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差を考慮して、第2周期データNDの送信開始を禁止する送信禁止期間Bを算出する。そして、PLC10は、N周期目の送信開始時刻S(n)に送信周期Cに相当する時間間隔を付加して算出した、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に、送信禁止期間B(n+1)を設定する。その上で、PLC10は、送信禁止期間B(n+1)でない期間に、第2周期データNDの送信を開始する。つまり、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、N周期目における送信開始時刻S(n)と基準時刻T(n)との差を考慮した送信禁止期間B(n+1)を、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に設定する。
According to the above configuration, the
したがって、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差を考慮した適切な送信禁止期間B(n+1)を設定し、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できるとの効果を奏する。
Therefore, even when the transmission start time S (n) and the reference time T (n) in the Nth cycle deviate, the
PLC10は、第1生成部140と、第2生成部150と、をさらに備えている。第1生成部140は、第2周期データNDのデータ量から、第2周期データNDの送信に要する期間である基礎期間Bbを生成する。第2生成部150は、「N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差(=差分期間V(n))」である調整期間Baを生成する。そして、PLC10において、設定部160によって設定される送信禁止期間Bは、基礎期間Bbと調整期間Baとの合計期間を含んでいる。
The
前記の構成によれば、PLC10は、「N周期目の制御周期における送信開始時刻S(n)と基準時刻T(n)との差」および「第2周期データNDのデータ量」を考慮して、第2周期データNDの送信開始が禁止される送信禁止期間Bを設定する。
According to the above configuration, the
ここで、第2周期データNDの送信中は、第1周期データCDを送信することはできないため、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始するには、理論的には、以下のように、送信禁止期間B(n+1)を設定する必要がある。すなわち、「N+1周期目の送信開始時刻S(n+1)から、第2周期データNDの送信に要する時間(=基礎期間Bb)を遡った時刻」から「N+1周期目の送信開始時刻S(n+1)」までの期間を送信禁止期間Bとする必要がある。 Here, since the first cycle data CD cannot be transmitted during the transmission of the second cycle data ND, the transmission of the first cycle data CD is started at the transmission start time S (n + 1) of the (N + 1) th cycle. Theoretically, it is necessary to set the transmission prohibition period B (n + 1) as follows. That is, “the transmission start time S (n + 1) of the (N + 1) th cycle” from “the time that is required to transmit the time required for transmission of the second cycle data ND (= basic period Bb) from the transmission start time S (n + 1) of the (N + 1) th cycle”. It is necessary to set the period until "the transmission prohibition period B".
そして、「第2周期データNDの送信に要する時間(=基礎期間Bb)」は、第2周期データNDのデータ量に比例すると考えられ、すなわち、第2周期データNDのデータ量から算出される。そこで、PLC10は、第2周期データNDのデータ量から生成した基礎期間Bbを含む期間を、送信禁止期間Bとして利用する。
The “time required for transmission of the second cycle data ND (= basic period Bb)” is considered to be proportional to the data amount of the second cycle data ND, that is, calculated from the data amount of the second cycle data ND. . Therefore, the
また、「N+1周期目の送信開始時刻S(n+1)」は、N+1周期目の第1周期データCDの取得前には把握できないのに対し、「N+1周期目の基準時刻T(n+1)」は、N+1周期目の第1周期データCDの取得前に把握することができる。すなわち、PLC10は、「N周期目の送信開始時刻S(n)」に「制御周期(=送信周期C)に相当する時間間隔」を付加して、「N+1周期目の基準時刻T(n+1)」を、N+1周期目の第1周期データCDの取得前に予め算出する。
The “N + 1 cycle transmission start time S (n + 1)” cannot be grasped before the acquisition of the first cycle data CD of the N + 1 cycle, whereas the “N + 1 cycle reference time T (n + 1)” is , N + 1 period before obtaining the first period data CD. That is, the
さらに、「N+1周期目における、送信開始時刻S(n+1)と基準時刻T(n+1)との差」は、「N周期目における、送信開始時刻S(n)と基準時刻T(n)との差」以下となることが、一般的である。 Furthermore, “the difference between the transmission start time S (n + 1) and the reference time T (n + 1) in the (N + 1) th cycle” is “the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle”. It is common for the difference to be less than or equal to.
そこで、PLC10は、「N+1周期目の基準時刻T(n+1)」に対し、「N周期目における送信開始時刻S(n)と基準時刻T(n)との差から生成した調整期間Ba」を含む期間を、送信禁止期間Bとして設定する。
Therefore, the
したがって、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。
Therefore, even when the transmission start time S (n) and the reference time T (n) in the Nth cycle deviate, the
PLC10において、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも遅い場合、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるように、基礎期間Bb(n+1)と調整期間Ba(n+1)との合計期間を含む期間を、送信禁止期間B(n+1)として設定する。
In the
前記の構成によれば、PLC10は、N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)よりも遅い場合、N+1周期目の基準時刻T(n+1)が終点となるように、基礎期間Bb(n+1)と調整期間Ba(n+1)との合計期間を含む期間を、送信禁止期間B(n+1)として設定する。
According to the above configuration, when the transmission start time S (n) of the Nth cycle is later than the reference time T (n) of the Nth cycle, the
ここで、N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)よりも遅い場合、N周期目の送信開始時刻S(n)に送信周期Cに相当する時間間隔を付加して算出するN+1周期目の基準時刻T(n+1)は、N+1周期目の送信開始時刻S(n+1)よりも遅れるのが一般的である。 Here, when the transmission start time S (n) of the Nth cycle is later than the reference time T (n) of the Nth cycle, the time interval corresponding to the transmission cycle C at the transmission start time S (n) of the Nth cycle. The reference time T (n + 1) of the (N + 1) th cycle calculated by adding is generally delayed from the transmission start time S (n + 1) of the (N + 1) th cycle.
そのため、「N+1周期目の基準時刻T(n+1)から、第2周期データNDの送信に要する時間に対応する基礎期間Bb(n+1)を遡った時刻」から「N+1周期目の基準時刻T(n+1)」までの期間のみを、送信禁止期間B(n+1)として設定したのでは、十分ではない可能性がある。言い換えれば、望ましい送信禁止期間B(n+1)は、「N+1周期目の基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から「N+1周期目の基準時刻T(n+1)」までの期間よりも、長いと考えられる。 Therefore, “the reference time T (n + 1) in the (N + 1) -th cycle” from “the time that has gone back from the basic period Bb (n + 1) corresponding to the time required for transmission of the second cycle data ND from the reference time T (n + 1) in the (N + 1) -th cycle”. If only the period up to “)” is set as the transmission prohibition period B (n + 1), it may not be sufficient. In other words, the desirable transmission prohibition period B (n + 1) is “from the reference time T (n + 1) in the (N + 1) th cycle to the basic period Bb (n + 1)” to “the reference time T (n + 1) in the (N + 1) th cycle”. It is considered to be longer than this period.
そこで、PLC10は、さらに、N周期目における送信開始時刻S(n)と基準時刻T(n)との差を考慮して、N+1周期目の送信禁止期間B(n+1)を設定する。すなわち、PLC10は、基礎期間Bb(n+1)を送信禁止期間B(n+1)として設定するのに加えて、送信開始時刻S(n)と基準時刻T(n)との差分期間である差分期間V(n)を、送信禁止期間B(n+1)として設定する。具体的には、PLC10は、「N+1周期目の基準時刻T(n+1)から、基礎期間Bb(n+1)と調整期間Ba(n+1)との合計期間を含む期間を遡った時刻」から「N+1周期目の基準時刻T(n+1)」までの期間を、送信禁止期間B(n+1)として設定する。
Therefore, the
したがって、PLC10は、N周期目において送信開始時刻S(n)が基準時刻T(n)よりも遅い場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。
Therefore, even when the transmission start time S (n) is later than the reference time T (n) in the N-th cycle, the
PLC10において、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも早い場合、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるように、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。また、設定部160は、N+1周期目の基準時刻T(n+1)が始点となるように、調整期間Ba(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。
In the
前記の構成によれば、PLC10は、N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)よりも早い場合、N+1周期目の基準時刻T(n+1)が終点となるように、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。さらに、PLC10は、N+1周期目の基準時刻T(n+1)が始点となるように、調整期間Ba(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。
According to the above configuration, when the transmission start time S (n) of the Nth cycle is earlier than the reference time T (n) of the Nth cycle, the
ここで、N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)よりも早い場合、N周期目の送信開始時刻S(n)に送信周期Cに相当する時間間隔を付加して算出するN+1周期目の基準時刻T(n+1)は、N+1周期目の送信開始時刻S(n+1)よりも早くなるのが一般的である。 Here, when the transmission start time S (n) of the Nth cycle is earlier than the reference time T (n) of the Nth cycle, the time interval corresponding to the transmission cycle C at the transmission start time S (n) of the Nth cycle. The reference time T (n + 1) of the (N + 1) th cycle calculated by adding is generally earlier than the transmission start time S (n + 1) of the (N + 1) th cycle.
そのため、「N+1周期目の基準時刻T(n+1)から、第2周期データNDの送信に要する時間に対応する基礎期間Bb(n+1)を遡った時刻」から「N+1周期目の基準時刻T(n+1)」までの期間のみを、送信禁止期間B(n+1)として設定したのでは、十分ではない可能性がある。言い換えれば、望ましい送信禁止期間B(n+1)は、「N+1周期目の基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から「N+1周期目の基準時刻T(n+1)」までの期間よりも、長いと考えられる。 Therefore, “the reference time T (n + 1) in the (N + 1) -th cycle” from “the time that has gone back from the basic period Bb (n + 1) corresponding to the time required for transmission of the second cycle data ND from the reference time T (n + 1) in the (N + 1) -th cycle”. If only the period up to “)” is set as the transmission prohibition period B (n + 1), it may not be sufficient. In other words, the desirable transmission prohibition period B (n + 1) is “from the reference time T (n + 1) in the (N + 1) th cycle to the basic period Bb (n + 1)” to “the reference time T (n + 1) in the (N + 1) th cycle”. It is considered to be longer than this period.
そこで、PLC10は、さらに、N周期目における送信開始時刻S(n)と基準時刻T(n)との差を考慮して、N+1周期目の送信禁止期間B(n+1)を設定する。すなわち、PLC10は、基礎期間Bb(n+1)を送信禁止期間B(n+1)として設定するのに加えて、送信開始時刻S(n)と基準時刻T(n)との差分期間である差分期間V(n)を、送信禁止期間B(n+1)として設定する。具体的には、PLC10は、「N+1周期目の基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から、「N+1周期目の基準時刻T(n+1)」までの期間を、送信禁止期間B(n+1)として設定する。また、PLC10は、「N+1周期目の基準時刻T(n+1)」から、「N+1周期目の基準時刻T(n+1)から、調整期間Ba(n+1)を含む期間を進んだ時刻」までの期間を、送信禁止期間B(n+1)として設定する。
Therefore, the
したがって、PLC10は、N周期目において送信開始時刻S(n)が基準時刻T(n)よりも早い場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。
Therefore, even when the transmission start time S (n) is earlier than the reference time T (n) in the N-th cycle, the
PLC10は、指示部180をさらに備えている。指示部180は、「第2送信部170(2)が、所定回数の制御周期(=送信周期C)にわたって連続して、第2周期データNDを送信しない」と、送信禁止期間Bであっても強制的に、第2送信部170(2)に、第2周期データNDの送信を開始させる。
The
前記の構成によれば、PLC10は、第2周期データNDを所定回数の制御周期にわたって連続して送信しないと、送信禁止期間Bであっても強制的に、第2周期データNDの送信を開始する。したがって、PLC10は、所定回数の制御周期にわたって連続して送信されなかった第2周期データNDを、送信することができるとの効果を奏する。
According to the above configuration, if the
PLC10は、通知部190をさらに備えている。通知部190は、「第2送信部170(2)が、所定回数の制御周期にわたって連続して、第2周期データNDを送信しない」と、「第2送信部170(2)が所定回数の制御周期にわたって連続して第2周期データNDを送信しない」ことを外部に通知する。
The
前記の構成によれば、PLC10は、第2周期データNDを所定回数の制御周期にわたって連続して送信しないと、「第2周期データNDを所定回数の制御周期にわたって連続して送信していない」ことを外部に通知する。したがって、PLC10は、「第2周期データNDを所定回数の制御周期にわたって連続して送信していない」という状況が発生すると、そのような状況が発生していることを、外部に通知することができるとの効果を奏する。
According to the above configuration, if the
以上に概要を説明したPLC10について、次に、図1を参照して、PLC10(特に、PLC10のCPUユニット100)のハードウェア構成例、および、(特に、FPGA101が備える)機能ブロックについて説明する。
Regarding the
§2.構成例
(CPUユニットのハードウェア構成)
図1は、PLC10のCPUユニット100の構成例を示す図である。図1に例示する通り、CPUユニット100は、ハードウェア構成として、FPGA101と、チップセット102と、マイクロプロセッサ103と、メインメモリ104と、不揮発性メモリ105と、を含む。CPUユニット100は、さらに、不図示のUSBコネクタを含んでもよい。チップセット102と他のコンポーネントとの間は、各種のバス(内部バス)を介してそれぞれ結合されている。なお、マイクロプロセッサ103とチップセット102とは、一体に形成されていてもよい。
§2. Configuration example (CPU unit hardware configuration)
FIG. 1 is a diagram illustrating a configuration example of the
マイクロプロセッサ103およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、マイクロプロセッサ103は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、マイクロプロセッサ103に必要な命令コードを生成する。さらに、チップセット102は、マイクロプロセッサ103での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
The
CPUユニット100は、記憶手段として、メインメモリ104および不揮発性メモリ105を備えている。メインメモリ104は、揮発性の記憶領域(RAM)であり、CPUユニット100へ電源投入後にマイクロプロセッサ103で実行されるべき各種プログラムを保持する。また、メインメモリ104は、マイクロプロセッサ103による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104として、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等を用いることができる。
The
一方、不揮発性メモリ105は、各種のプログラムおよびパラメータなどのデータを不揮発的に保持する。これらのデータは、必要に応じて、マイクロプロセッサ103がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ105は、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体、DVD-RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。
On the other hand, the
FPGA101は、製造後にユーザが回路構成を設定することのできるプログラマブル論理回路であって、例えば出力データの送信および入力データの受信などの通信処理を含む種々の処理を実行する。FPGA101は、通信処理として、CPUユニット100以外のユニットおよびPLC10以外の装置へ出力データの送信と、CPUユニット100以外のユニットおよびPLC10以外の装置からの入力データの受信とを実行する。さらに、FPGA101は、通信処理として、メインメモリ104との間でデータの送受信を実行する。ただし、FPGA101が実行する処理は通信処理に限られるものではない。
The
なお本実施形態において、CPUユニット100からCPUユニット100以外のユニットに出力されるデータ、および、PLC10からPLC10以外の装置に出力されるデータを、「出力データ」とも称す。また、CPUユニット100以外のユニットからCPUユニット100に入力されるデータ、および、PLC10以外の装置からPLC10に入力されるデータを、「入力データ」とも称す。
In the present embodiment, data output from the
(第1周期データCDおよび第2周期データNDの送信準備処理の概要)
マイクロプロセッサ103は、CPUユニット100の外部に送信する第1周期データCD(例えば、制御データ)と第2周期データND(例えば、制御データ以外のデータ)とを、チップセット102を介して、例えばメインメモリ104に設定する(言い換えれば、データを格納する)。そして、マイクロプロセッサ103は、チップセット102を介して、FPGA101に、メインメモリ104に設定したデータの送信を依頼する。なお、例えばマイクロプロセッサ103を複数のコアによって構成し、各コアが、各コアに割り当てられているデータを、チップセット102を介して、メインメモリ104に格納してもよい。例えば、第1コアが第1周期データCDをメインメモリ104に格納し、第1周期データCDの送信をFPGA101に依頼し、第2コアが第2周期データNDをメインメモリ104に格納し、第1周期データCDの送信をFPGA101に依頼してもよい。すなわち、複数のコアの各々が、各々のコアに割り当てられているデータのメインメモリ104への格納、および、FPGA101への送信依頼を実行してもよい。言い換えれば、第1周期データCDのメインメモリ104への格納および送信依頼の実行主体と、第2周期データNDのメインメモリ104への格納および送信依頼の実行主体とは、別の主体(例えば、別のコア)であってもよい。
(Outline of transmission preparation process of first cycle data CD and second cycle data ND)
The
FPGA101(特に、取得部110)は、DMA(Dynamic Memory Access)機能にて、メインメモリ104に設定されたデータを、FPGA101の内部RAM120(特に、送信キューテーブル121の送信キューTXQ)に転送する。具体的には、FPGA101は、第1周期データCDをメインメモリ104から取得し、取得した第1周期データCDを第1送信キューTXQ0にバッファリングする。同様に、FPGA101は、第2周期データNDをメインメモリ104から取得し、取得した第2周期データNDを第2送信キューTXQ1にバッファリングする。
The FPGA 101 (particularly, the acquisition unit 110) transfers data set in the
ここで、第2周期データNDが第2送信キューTXQ1にバッファリングされると、FPGA101(特に、第1生成部140)は、第2送信キューTXQ1に格納されている第2周期データNDの送信データ長から、基礎期間Bbを計算する。 Here, when the second cycle data ND is buffered in the second transmission queue TXQ1, the FPGA 101 (particularly, the first generation unit 140) transmits the second cycle data ND stored in the second transmission queue TXQ1. The basic period Bb is calculated from the data length.
また、FPGA101(特に、第2生成部150)は、N周期目の第1周期データCDの送信が開始されると、N周期目の第1周期データCDの送信開始時刻S(n)を取得し、取得した送信開始時刻S(n)と、N周期目の基準時刻T(n)とを比較する。そして、送信開始時刻S(n)と基準時刻T(n)とが一致しない場合、FPGA101は、両者の差である差分期間V(n)を算出する。
Further, the FPGA 101 (particularly, the second generation unit 150) acquires the transmission start time S (n) of the first cycle data CD of the Nth cycle when the transmission of the first cycle data CD of the Nth cycle is started. Then, the acquired transmission start time S (n) is compared with the reference time T (n) of the Nth cycle. If the transmission start time S (n) and the reference time T (n) do not match, the
N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)より遅い場合、FPGA101(特に、設定部160)は、差分期間V(n)を、N+1回目の前側送信禁止期間として設定する。つまり、送信開始時刻S(n)が基準時刻T(n)より遅い場合、設定部160は、差分期間V(n)を、基準時刻T(n+1)の前に、調整期間Ba(n+1)として設定する。前側送信禁止期間は、基準時刻Tの前に、基礎期間Bbに追加して設定される送信禁止期間Bであり、第2周期データNDの送信開始が禁止される期間である。
When the transmission start time S (n) of the Nth cycle is later than the reference time T (n) of the Nth cycle, the FPGA 101 (particularly, the setting unit 160) prohibits the difference period V (n) from the N + 1th front transmission. Set as period. That is, when the transmission start time S (n) is later than the reference time T (n), the
具体的には、FPGA101は、基準時刻T(n+1)の前に、「基礎期間Bbに、『送信開始時刻S(n)が基準時刻T(n)から遅れた期間(=差分期間V(n))』を加えた期間」を、送信禁止期間B(n+1)として設定する。つまり、FPGA101は、差分期間V(n)(=調整期間Ba(n+1))と基礎期間Bb(n+1)との合計期間を含む期間の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。
Specifically, before the reference time T (n + 1), the
N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)より早い場合、FPGA101(特に、設定部160)は、差分期間V(n)を、N+1回目の後側送信禁止期間として設定する。つまり、送信開始時刻S(n)が基準時刻T(n)より早い場合、設定部160は、差分期間V(n)を、基準時刻T(n+1)の後に、調整期間Ba(n+1)として設定する。後側送信禁止期間は、基準時刻Tの後ろに設定される送信禁止期間Bであり、第2周期データNDの送信開始が禁止される期間である。
When the transmission start time S (n) of the Nth cycle is earlier than the reference time T (n) of the Nth cycle, the FPGA 101 (particularly, the setting unit 160) transmits the difference period V (n) to the (N + 1) th rear transmission. Set as a prohibited period. That is, when the transmission start time S (n) is earlier than the reference time T (n), the
具体的には、FPGA101は、基礎期間Bbを、基準時刻T(n+1)の前に、送信禁止期間B(n+1)として設定する。また、FPGA101は、「送信開始時刻S(n)がN周期目の基準時刻T(n)より早い期間(=差分期間V(n))」を、基準時刻T(n+1)の後に、送信禁止期間B(n+1)として設定する。つまり、FPGA101は、基礎期間Bb(n+1)の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。また、FPGA101は、差分期間V(n)(=調整期間Ba(n+1))の始点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。
Specifically, the
送信可能状態となった第2周期データNDについて、FPGA101(特に、第2送信部170(2))は、第1周期データCDの送信中でも、送信禁止期間B中でもなければ、第2周期データNDの送信を開始する。FPGA101は、第1周期データCDの送信中または送信禁止期間B中であれば、第2周期データNDの送信を開始しない。FPGA101は、第1周期データCDの送信完了後、例えば、送信禁止期間Bを解除し、第2周期データNDの送信を開始する。
For the second cycle data ND that is in a transmittable state, the FPGA 101 (particularly, the second transmission unit 170 (2)) is in the second cycle data ND unless it is during the transmission of the first cycle data CD or the transmission prohibited period B. Start sending. If the
(FPGAの備える機能ブロック)
FPGA101は、機能ブロックとして、取得部110、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190を含んでいる。
(Functional block of FPGA)
The
取得部110は、第1周期データCDと、その第1周期データCDの送信開始時刻Sとを、チップセット102を介して、例えばメインメモリ104から取得する。そして、取得部110は、取得した第1周期データCDおよび送信開始時刻Sを、送信キューテーブル121の第1送信キューTXQ0に格納し、言い換えれば、第1送信キューTXQ0にセットする。
The
ここで、送信開始時刻Sは、定周期で送信すべき高優先データである第1周期データCDの送信を開始する予定時刻である。送信開始時刻Sは、第1周期データCDと共に上位システムによってメインメモリ104にセットされ、例えば、マイクロプロセッサ103によって、チップセット102を介して、メインメモリ104に第1周期データCDと共に格納される。
Here, the transmission start time S is a scheduled time at which transmission of the first cycle data CD, which is high priority data to be transmitted at regular intervals, is started. The transmission start time S is set in the
また、取得部110は、第2周期データNDを、チップセット102を介して、例えばメインメモリ104から取得し、取得した第2周期データNDを、送信キューテーブル121の第2送信キューTXQ1に格納する。取得部110は、メインメモリ104から、第2周期データNDとその第2周期データNDの送信開始時刻とを取得し、取得した第2周期データNDとその第2周期データNDの送信開始時刻とを、第2送信キューTXQ1に格納してもよい。ただし、以下の説明においては、「送信開始時刻Sでの第1周期データCDの送信開始を確保する」というPLC10についての理解を容易にするため、第2周期データNDの送信開始時刻については、特に説明を行なわない。
Further, the
算出部130は、周期的に送信される第1周期データCDの送信周期Cに相当する時間間隔を送信開始時刻Sに付加した時刻である「基準時刻T(=基準時刻)」を算出する。例えば、算出部130は、N周期目の第1周期データCDの送信開始時刻S(n)に、「送信周期Cに相当する時間間隔」を付加した時刻を、N+1周期目の基準時刻T(n+1)とする。なお、「T(0)=S(0)」とする。算出部130は、算出した基準時刻T(例えば、N+1周期目の基準時刻T(n+1))を、基準時刻テーブル122に格納する。
The
第1生成部140は、第2周期データNDが第2送信キューTXQ1にバッファリングされると、第2送信キューTXQ1に格納されている第2周期データNDのデータ量(例えば、送信データ長)から、基礎期間Bbを算出する。基礎期間Bbは、例えば「第2周期データNDの送信に要する時間」である。第1生成部140は、算出した、基礎期間Bbを、設定部160に通知する。
When the second cycle data ND is buffered in the second transmission queue TXQ1, the
第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)を取得し、例えば、第1送信キューTXQ0を参照して、第1送信キューTXQ0に第1周期データCDと共にセットされている送信開始時刻S(n)を取得する。また、第2生成部150は、基準時刻テーブル122を参照して、N周期目の基準時刻T(n)を取得する。
The
第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)と、N周期目のN周期目の基準時刻T(n)とを比較し、両者が一致しない場合、両者の差である差分期間V(n)を算出し、算出した差分期間V(n)を、設定部160に通知する。
The
なお、本実施形態においては、原則として、第1周期データCDを送信すべき時刻である「送信開始時刻S」と、第1送信部170(1)が第1周期データCDの送信を実際に開始した時刻(実際の送信開始時刻)とは、一致するものとする。或る制御周期Mにおいて、第1周期データCDを送信すべき時刻である「送信開始時刻S(m)」と第1周期データCDの実際の送信開始時刻とが一致しない場合、第2生成部150は、以下のように差分期間V(n)を算出する。すなわち、第2生成部150は、「制御周期Mにおいて第1周期データCDを送信すべき時刻である送信開始時刻S(m)」と「制御周期Mの基準時刻T(M)」との差を、差分期間V(n)として算出してもよい。また、第2生成部150は、「制御周期Mにおける第1周期データCDの実際の送信開始時刻」と「制御周期Mの基準時刻T(M)」との差を、差分期間V(n)として算出してもよい。差分期間V(n)の算出に「第1周期データCDの実際の送信開始時刻」を用いる場合、第2生成部150は、送信部170(特に、第1送信部170(1))から、「各制御周期(=各送信周期)における、第1周期データCDの実際の送信開始時刻」を取得してもよい。
In this embodiment, in principle, the “transmission start time S”, which is the time at which the first cycle data CD should be transmitted, and the first transmission unit 170 (1) actually transmit the first cycle data CD. The start time (actual transmission start time) is the same. In a certain control cycle M, when the “transmission start time S (m)”, which is the time at which the first cycle data CD should be transmitted, does not match the actual transmission start time of the first cycle data CD, the
設定部160は、基準時刻テーブル122を参照して取得した基準時刻Tに対して、第1生成部140から通知される基礎期間Bb、および、第2生成部150から通知される差分期間V(n)を用いて、N+1周期目の送信禁止期間B(n+1)を設定する。
The
設定部160は、「差分期間V(n)=0」であると、基準時刻T(n)と送信開始時刻S(n)とが一致していると判定する。そして、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)に設定する。
The
設定部160は、「差分期間V(n)>0」であると、基準時刻T(n)より送信開始時刻S(n)が遅いと判定する。そして、設定部160は、差分期間V(n)を、N+1回目の前側送信禁止期間(つまり、調整期間Ba(n+1))として設定する。具体的には、設定部160は、差分期間V(n)(=調整期間Ba(n+1))と基礎期間Bb(n+1)との合計期間を含む期間の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。つまり、設定部160は、基準時刻T(n+1)の前に、「基礎期間Bbに、『送信開始時刻S(n)がN周期目の基準時刻T(n)から遅れた期間(=差分期間V(n))』を加えた期間」を、送信禁止期間B(n+1)として設定する。例えば、設定部160は、「基準時刻T(n+1)から『差分期間V(n)(=調整期間Ba(n+1))と基礎期間Bb(n+1)との合計期間』を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)に設定する。
The
設定部160は、「差分期間V(n)<0」であると、基準時刻T(n)より送信開始時刻S(n)が早いと判定する。そして、設定部160は、差分期間V(n)を、N+1回目の後側送信禁止期間(つまり、調整期間Ba(n+1))として設定する。具体的には、設定部160は、基礎期間Bb(n+1)の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。また、設定部160は、差分期間V(n)(=調整期間Ba(n+1))の始点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間を、送信禁止期間B(n+1)に設定する。
The
送信部170は、データ送信を制御し、例えば、第1送信キューTXQ0にセットされた第1周期データCD、および、第2送信キューTXQ1にセットされた第2周期データNDの送信を制御し、第1送信部170(1)と第2送信部170(2)とを含む。
The
第1送信部170(1)は、第1周期データCDの送信を制御し、具体的には、第1送信キューTXQ0にセットされた第1周期データCDの送信を、第1周期データCDと共に第1送信キューTXQ0にセットされている送信開始時刻Sに、開始する。第1送信部170(1)は、第2周期データNDの送信中は、第1周期データCDを送信することができない。 The first transmission unit 170 (1) controls the transmission of the first cycle data CD, specifically, the transmission of the first cycle data CD set in the first transmission queue TXQ0 together with the first cycle data CD. The transmission starts at the transmission start time S set in the first transmission queue TXQ0. The first transmission unit 170 (1) cannot transmit the first cycle data CD while the second cycle data ND is being transmitted.
第2送信部170(2)は、第2周期データNDの送信を制御し、具体的には、第2送信キューTXQ1にセットされた第2周期データNDの送信を、「第1周期データCDの送信中の期間および送信禁止期間Bの期間」以外の期間において、開始する。つまり、「第1周期データCDの送信中の期間」および「送信禁止期間Bの期間」においては、第2送信部170(2)は、第2周期データNDの送信を開始しない。第2送信部170(2)は、送信可能状態にある第2周期データNDを所定回数の制御周期にわたって連続して送信できないと、「第2周期データNDを所定回数の制御周期にわたって連続して送信できていない」ことを、指示部180と通知部190とに通知する。言い換えれば、第2送信部170(2)は、第2周期データNDが第2送信キューTXQ1にセットされてから所定回数の制御周期にわたって連続して送信できないと、その状況を指示部180と通知部190とに通知する。
The second transmission unit 170 (2) controls the transmission of the second cycle data ND. Specifically, the second transmission unit 170 (2) transmits the second cycle data ND set in the second transmission queue TXQ1 as “first cycle data CD. In the period other than the “transmission period and transmission prohibition period B period”. That is, in the “period during transmission of the first cycle data CD” and the “period of the transmission prohibition period B”, the second transmission unit 170 (2) does not start transmission of the second cycle data ND. When the second transmission unit 170 (2) cannot continuously transmit the second cycle data ND in a transmittable state over a predetermined number of control cycles, the second transmission unit 170 (2) continuously transmits the second cycle data ND over a predetermined number of control cycles. “Not transmitted” is notified to the
指示部180は、第2送信部170(2)に、送信禁止期間B中であっても、第2周期データNDの送信を開始するように指示し、つまり、第2周期データNDの強制送信を指示する。指示部180は、第2送信部170(2)から「第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していない」ことを通知されると、自動的に、第2送信部170(2)に強制送信を指示してもよい。また、指示部180は、ユーザから第2周期データNDの強制送信を指示されると、第2送信部170(2)に、強制送信を指示してもよい。指示部180からこの指示を受けた第2送信部170(2)は、送信禁止期間B中であっても、第2送信キューTXQ1にセットされた第2周期データNDの送信を開始する。
The
通知部190は、第2送信部170(2)から「第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していない」ことを通知されると、以下の処理の実行を指示する。すなわち、通知部190は、「所定回数の制御周期にわたって連続して、第2周期データNDが送信されていない」旨を、例えばマイクロプロセッサ103等を介して、解析用デバイス50に通知して、その旨を解析用デバイス50に表示させる。
The
(FPGAの備える記憶部)
図1に例示するFPGA101は、内部RAM120を備えている。内部RAM120は、FPGA101が使用する各種データを格納する記憶装置である。内部RAM120は、FPGA101が実行する各種処理の制御プログラム、および、その制御プログラムを実行するときに読み出す各種データを非一時的に記憶している。内部RAM120はさらに、送信キューテーブル121、基準時刻テーブル122、および、設定情報123を格納している。
(Storage unit included in FPGA)
The
送信キューテーブル121は、複数の送信キューTXQ0、TXQ1、・・・、TXQnを含んでいる。なお、以下の説明において、複数の送信キューTXQ0、TXQ1、・・・、TXQnの各々を区別する必要が無い場合、単に「送信キューTXQ」と称する。送信キューTXQには上位システムからの送信データがバッファリングされ、例えば、マイクロプロセッサ103によって、チップセット102を介して、メインメモリ104にセットされた送信データは、取得部110によって送信キューTXQにセットされる。
The transmission queue table 121 includes a plurality of transmission queues TXQ0, TXQ1, ..., TXQn. In the following description, when it is not necessary to distinguish each of the plurality of transmission queues TXQ0, TXQ1,..., TXQn, they are simply referred to as “transmission queue TXQ”. Transmission data from the host system is buffered in the transmission queue TXQ. For example, the transmission data set in the
例えば、第1送信キューTXQ0には、第1周期データCDと、その第1周期データCDの送信開始時刻Sとが、バッファリングされる(言い換えれば、第1周期データCDと、送信開始時刻Sとが、セットされる)。同様に、第2送信キューTXQ1には、第2周期データNDがバッファリングされる(つまり、セットされる)。 For example, in the first transmission queue TXQ0, the first cycle data CD and the transmission start time S of the first cycle data CD are buffered (in other words, the first cycle data CD and the transmission start time S). Is set). Similarly, the second cycle data ND is buffered (that is, set) in the second transmission queue TXQ1.
送信キューTXQへの送信データのセットが完了すると、送信データは、フィールドネットワーク20およびPLCシステムバス400などの、実際のネットワーク回線への送信を開始できる状態になる。送信キューTXQは、例えば、FIFO(first in, first out、先入れ先出し)方式を採用している。
When the transmission data setting to the transmission queue TXQ is completed, the transmission data is ready to start transmission to an actual network line such as the
なお、内部RAM120には、CPUユニット100の外部から受信するデータが格納される、不図示の受信キューテーブルがさらに格納されていてもよい。受信キューテーブルは、複数の受信キューRXQ0、RXQ1、・・・、RXQnを含み、RXQ0、RXQ1、・・・、RXQnの各々は、FIFO方式を採用していてもよい。
The
基準時刻テーブル122には、算出部130により算出される基準時刻Tが格納される。基準時刻Tは、送信開始時刻Sの代わりに、送信禁止期間Bを設定するための基準として算出され、具体的には、算出部130によって算出される(=生成される)。算出部130は、例えば「T(0)=S(0)」として、「或る制御周期における送信開始時刻S」に「第1周期データCDの送信周期Cに相当する時間間隔」を付加した時刻を、「次の制御周期における基準時刻T」として算出する。そして、算出部130は、算出した「次の制御周期における基準時刻T」を基準時刻テーブル122に格納する。
The reference time table 122 stores the reference time T calculated by the
設定情報123には、送信周期Cを含む、制御システム1の動作等に関係する、各種の設定情報が格納されている。送信周期Cは、「制御周期」とも称され、定周期で送信する高優先データである第1周期データCDの送信時間間隔である。FPGA101は、送信周期Cを以下の2つの方法のいずれかによって取得する。すなわち、FPGA101は、上位システムから(具体的には、チップセット102を介して、マイクロプロセッサ103から)通知される時間間隔を、送信周期Cとして、設定情報123に格納してもよい。また、FPGA101は、所定回数の制御周期分(例えば、N周期分)の、第1周期データCDの送信開始時刻Sの間の平均時間間隔を算出し、算出した平均時間間隔を、送信周期Cとして、設定情報123に格納してもよい。
The setting
これまでに概要を説明してきたCPUユニット100(特に、FPGA101)について、次に、図3等を用いて、CPUユニット100(特に、FPGA101)の実行する処理について、その概要を説明していく。 The CPU unit 100 (especially the FPGA 101) whose outline has been described so far will now be described with reference to FIG. 3 and the like for the processing executed by the CPU unit 100 (particularly, the FPGA 101).
§3.動作例
(PLC10が実行する処理の全体概要)
図3は、CPUユニット100(特に、FPGA101)が実行する処理の全体概要を示すフロー図である。図3に例示するように、算出部130は、N周期目の送信開始時刻S(n)を取得し(S100)、取得した送信開始時刻S(n)に送信周期Cに相当する時間を付加して、N+1周期目の基準時刻T(n+1)を算出する(S200)。算出部130は、算出した基準時刻T(n+1)を基準時刻テーブル122に格納する。
§3. Example of operation (Overall overview of processing executed by the PLC 10)
FIG. 3 is a flowchart showing an overall outline of processing executed by the CPU unit 100 (particularly, the FPGA 101). As illustrated in FIG. 3, the
第1生成部140および第2生成部150は、送信禁止期間算出処理を実行する(S300)。送信禁止期間算出処理の詳細については、図4を用いて後述する。また、設定部160は、送信禁止期間設定処理を実行する(S400)。送信禁止期間設定処理の詳細については、図5を用いて後述する。
The
第2送信部170(2)は、第2送信キューTXQ1に第2周期データNDが格納されているかを確認する(S500)。第2送信キューTXQ1に第2周期データNDが格納されていないことが確認されると(S500でNo)、つまり、送信可能状態にある第2周期データNDがないことが確認されると、設定部160は処理を終了し、つまり、送信禁止期間Bは設定されない。送信可能状態にある第2周期データNDはないため、第2送信部170(2)は、第2周期データNDの送信を開始しない。また、第1送信部170(1)は、第1送信キューTXQ0にセットされた第1周期データCDの送信を、第1周期データCDと共に第1送信キューTXQ0にセットされている送信開始時刻Sに、開始する。
The second transmission unit 170 (2) confirms whether the second cycle data ND is stored in the second transmission queue TXQ1 (S500). When it is confirmed that the second cycle data ND is not stored in the second transmission queue TXQ1 (No in S500), that is, when it is confirmed that there is no second cycle data ND in a transmittable state, the setting is performed. The
第2送信キューTXQ1に第2周期データNDが格納されていることが確認されると(S500でYes)、第2送信部170(2)は、送信禁止期間B中であるかを確認する(S600)。第2送信部170(2)は、送信禁止期間B中であることを確認すると(S600でYes)、第1周期データCDの送信が完了した後、送信禁止期間B以外の期間に、第2周期データNDの送信を開始する(S700)。第2送信部170(2)は、送信禁止期間B中でないことを確認すると(S600でNo)、第2周期データNDの送信を開始する(S800)。 When it is confirmed that the second cycle data ND is stored in the second transmission queue TXQ1 (Yes in S500), the second transmission unit 170 (2) confirms whether it is in the transmission prohibition period B ( S600). When the second transmission unit 170 (2) confirms that it is in the transmission prohibition period B (Yes in S600), after the transmission of the first period data CD is completed, in the period other than the transmission prohibition period B, the second transmission unit 170 (2) Transmission of the periodic data ND is started (S700). When it is confirmed that the second transmission unit 170 (2) is not in the transmission prohibition period B (No in S600), the second transmission unit 170 (2) starts transmission of the second cycle data ND (S800).
図3に例示した処理フローは、以下のように整理することができる。すなわち、PLC10(特に、FPGA101)が実行する制御方法は、制御周期(具体的には、送信周期C)ごとに第1周期データCDを出力する制御装置の制御方法であって、第1周期データCDを、第1周期データCDの送信開始時刻Sと共に取得する取得ステップ(S100)と、Nを0以上の自然数として、N周期目の制御周期(=送信周期C)に送信すべき第1周期データCDの送信開始時刻S(n)に、送信周期Cに相当する時間間隔を付加して、N+1周期目の基準時刻T(n+1)を算出する算出ステップ(S200)と、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差を用いて生成された送信禁止期間B(n+1)を、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に設定する設定ステップ(S400)と、設定ステップにて設定された送信禁止期間B(n+1)でない期間に、第1周期データCDより優先度が低い第2周期データNDの送信を開始する送信ステップ(S700)と、を含んでいる。 The processing flow illustrated in FIG. 3 can be organized as follows. That is, the control method executed by the PLC 10 (particularly, the FPGA 101) is a control method for a control device that outputs the first cycle data CD every control cycle (specifically, the transmission cycle C), and the first cycle data An acquisition step (S100) for acquiring the CD together with the transmission start time S of the first cycle data CD, and a first cycle to be transmitted in the control cycle (= transmission cycle C) of the Nth cycle, where N is a natural number of 0 or more. A calculation step (S200) for calculating the reference time T (n + 1) of the (N + 1) th cycle by adding a time interval corresponding to the transmission cycle C to the transmission start time S (n) of the data CD, and the control of the Nth cycle A transmission prohibition period B (n + 1) generated by using the difference between the transmission start time S (n) of the first cycle data CD to be transmitted in the cycle and the reference time T (n) in the Nth cycle is represented as N + 1 cycles. Eye reference time T ( +1) a second period having a lower priority than the first period data CD during the setting step (S400) set at least before and after the transmission period and the transmission prohibition period B (n + 1) set in the setting step And a transmission step (S700) for starting transmission of data ND.
前記の方法によれば、前記制御方法は、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差を考慮して、第2周期データNDの送信開始を禁止する送信禁止期間B(n+1)を算出する。そして、前記制御方法は、N周期目の送信開始時刻S(n)に送信周期Cに相当する時間間隔を付加して算出した、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に、送信禁止期間B(n+1)を設定する。その上で、前記制御方法は、送信禁止期間B(n+1)でない期間に、第2周期データNDの送信を開始する。つまり、前記制御方法は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、N周期目における送信開始時刻Sと基準時刻T(n)との差を考慮した送信禁止期間B(n+1)を、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に設定する。 According to the above method, the control method is the difference between the transmission start time S (n) of the first cycle data CD to be transmitted in the control cycle of the Nth cycle and the reference time T (n) of the Nth cycle. In consideration of the above, a transmission prohibition period B (n + 1) for prohibiting the start of transmission of the second period data ND is calculated. The control method calculates at least before and after the reference time T (n + 1) of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the transmission cycle C to the transmission start time S (n) of the Nth cycle. On the other hand, a transmission prohibition period B (n + 1) is set. In addition, the control method starts transmission of the second cycle data ND in a period that is not the transmission prohibition period B (n + 1). That is, in the control method, even when the transmission start time S (n) in the Nth cycle and the reference time T (n) deviate, the transmission start time S in the Nth cycle and the reference time T (n) The transmission prohibition period B (n + 1) considering the difference is set to at least one before or after the reference time T (n + 1) of the (N + 1) th cycle.
したがって、前記制御方法は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差を考慮した適切な送信禁止期間B(n+1)を設定し、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できるとの効果を奏する。 Therefore, the control method sets an appropriate transmission prohibition period B (n + 1) considering the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle. As a result, the transmission of the first cycle data CD can be started at the transmission start time S (n + 1) of the (N + 1) th cycle.
(送信禁止期間算出処理の詳細)
図4は、図3の送信禁止期間算出処理の詳細を説明するフロー図である。図4に例示するように、先ず第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)を取得する(S310)。第2生成部150は、第1送信キューTXQ0を参照して、第1送信キューTXQ0に第1周期データCDと共にセットされている送信開始時刻S(n)を取得してもよい。また、第2生成部150は、送信部170(特に、第1送信部170(1))から、「第1周期データCDの実際の送信開始時刻」を、送信開始時刻S(n)として、取得てもよい。
(Details of the transmission prohibition period calculation process)
FIG. 4 is a flowchart for explaining details of the transmission prohibition period calculation processing of FIG. As illustrated in FIG. 4, the
また、第2生成部150は、基準時刻テーブル122を参照して、N周期目の基準時刻T(n)を取得する(S320)。第2生成部150は、取得した送信開始時刻S(n)と基準時刻T(n)とを比較し、N周期目の送信開始時刻S(n)とN周期目の基準時刻T(n)との差(=差分期間V(n))を算出する(S330)。第2生成部150は、例えば、「差分期間V(n)=送信開始時刻S(n)-基準時刻T(n)」として、差分期間V(n)を算出する。第2生成部150は、算出した差分期間V(n)を、設定部160に通知する。
Also, the
第1生成部140は、第2送信キューTXQ1にセットされた第2周期データNDのデータ量を測定し(S340)、第2周期データNDの送信に要する期間(=基礎期間Bb(n+1))を算出する(S350)。第1生成部140は、算出した基礎期間Bb(n+1)を、設定部160に通知する。
The
(送信禁止期間設定処理の詳細)
図5は、図3の送信禁止期間設定処理の詳細を説明するフロー図である。図5に例示するように、設定部160は、N周期目の基準時刻T(n)とN周期目の送信開始時刻S(n)とが一致しているかを確認する(S410)。設定部160は、例えば、第2生成部150から通知された差分期間V(n)について、「差分期間V(n)=0」であると、基準時刻T(n)と送信開始時刻S(n)とが一致していると判定し、差分期間V(n)が0でないと、両者が一致しないと判定する。
(Details of transmission prohibition period setting process)
FIG. 5 is a flowchart for explaining the details of the transmission prohibition period setting process of FIG. As illustrated in FIG. 5, the
基準時刻T(n)と送信開始時刻S(n)とが一致した(つまり、差分期間V(n)が0である)ことを確認すると(S410でYes)、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する(S420)。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)として設定する。
When it is confirmed that the reference time T (n) and the transmission start time S (n) match (that is, the difference period V (n) is 0) (Yes in S410), the setting unit 160: Is set to the transmission prohibition period B (n + 1). That is, the
基準時刻T(n)と送信開始時刻S(n)とが一致しない(つまり、差分期間V(n)が0でない)ことを確認すると(S410でNo)、設定部160は、N周期目の基準時刻T(n)よりN周期目の送信開始時刻S(n)が遅いかを判定する(S430)。設定部160は、「差分期間V(n)=送信開始時刻S(n)-基準時刻T(n)>0」であると、N周期目の基準時刻T(n)よりN周期目の送信開始時刻S(n)が遅いと判定してもよい。また、設定部160は、「差分期間V(n)<0」であると、N周期目の基準時刻T(n)よりN周期目の送信開始時刻S(n)が早いと判定してもよい。
When it is confirmed that the reference time T (n) and the transmission start time S (n) do not match (that is, the difference period V (n) is not 0) (No in S410), the
基準時刻T(n)より送信開始時刻S(n)が遅いこと(つまり、「差分期間V(n)>0」)を確認すると(S430でYes)、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)と調整期間Ba(n+1)(=差分期間V(n))との合計を含む期間を、送信禁止期間B(n+1)として設定する(S440)。例えば、設定部160は、「基準時刻T(n+1)から、基礎期間Bb(n+1)と調整期間Ba(n+1)との合計期間を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)として設定する。
When it is confirmed that the transmission start time S (n) is later than the reference time T (n) (that is, “difference period V (n)> 0”) (Yes in S430), the
基準時刻T(n)より送信開始時刻S(n)が早いこと(つまり、「差分期間V(n)<0」)を確認すると(S430でNo)、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)を含む期間を、送信禁止期間Bに設定する(S450)。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)として設定する。
When it is confirmed that the transmission start time S (n) is earlier than the reference time T (n) (that is, “difference period V (n) <0”) (No in S430), the
さらに、設定部160は、N+1周期目の基準時刻T(n+1)が始点となるよう、調整期間Ba(n+1)(=差分期間V(n))を含む期間を、送信禁止期間B(n+1)として設定する(S460)。例えば、設定部160は、「基準時刻T(n+1)」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間を、送信禁止期間B(n+1)として設定する。
Further, the
S450およびS460によって、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間が、送信禁止期間B(n+1)として設定される。 Through S450 and S460, “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” is set as the start point, and “the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)” is set as the end point. The transmission period is set as the transmission prohibition period B (n + 1).
図3から図5を用いて説明してきたように、PLC10は、N周期目における第1周期データCDの送信状態に合わせて、N+1周期目に設定する送信禁止期間B(n+1)の長さを動的に変更し、最適な長さの送信禁止期間B(n+1)を設定する。以下、図6および図7を用いて、PLC10が実行する具体的な処理例を説明する。
As described with reference to FIGS. 3 to 5, the
(処理例1 N周期目において、基準時刻Tより送信開始時刻Sが遅い場合)
図6は、N周期目において、基準時刻T(n)より送信開始時刻S(n)が遅い場合にPLC10(特に、FPGA101)が実行する処理の一例を、従来までの調整方法と対比して説明する図である。
(Processing Example 1 When the transmission start time S is later than the reference time T in the Nth cycle)
FIG. 6 shows an example of processing executed by the PLC 10 (particularly, the FPGA 101) when the transmission start time S (n) is later than the reference time T (n) in the Nth period, in contrast to the conventional adjustment method. It is a figure explaining.
すなわち、図6の(A)は、図9の(A)と同様であり、つまり、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも遅れた場合について、従来技術において発生する問題が示されている。図6の(A)に示すように、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも遅れた場合、送信開始時刻S(n)に「送信周期Cに相当する時間間隔」を付加した時刻である基準時刻T(n+1)は、以下の傾向を示す。すなわち、N+1周期目の基準時刻T(n+1)は、N+1周期目の送信開始時刻S(n+1)よりも遅れる傾向がある。ここで、従来技術は、「第2周期データNDの送信に要する時間」を、基準時刻T(n+1)の前に、送信禁止期間Bとして設定する。つまり、従来技術は、送信開始時刻S(n+1)よりも遅れた時刻を基準時刻T(n+1)として、その基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bを設定する。 That is, (A) in FIG. 6 is the same as (A) in FIG. 9, that is, the transmission start time S (n) in the Nth cycle is delayed from the reference time T (n) in the Nth cycle. In some cases, problems that occur in the prior art are shown. As shown in FIG. 6A, when the transmission start time S (n) of the Nth cycle is delayed from the reference time T (n) of the Nth cycle, “transmission” is performed at the transmission start time S (n). The reference time T (n + 1), which is the time to which the “time interval corresponding to the period C” is added, shows the following tendency. That is, the reference time T (n + 1) in the (N + 1) th cycle tends to be delayed from the transmission start time S (n + 1) in the (N + 1) th cycle. Here, according to the related art, the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1). That is, according to the prior art, the time later than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for transmission of the second period data ND” before the reference time T (n + 1). A transmission prohibition period B is set.
前述の通り、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間を送信禁止期間Bとすることで、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができる。しかしながら、図6の(A)においては、送信開始時刻S(n+1)よりも遅れた基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bが設定されている。つまり、従来技術が基準時刻T(n+1)の前に設定する送信禁止期間Bは、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間よりも、遅れている。 As described above, the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”. The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 6A, before the reference time T (n + 1) delayed from the transmission start time S (n + 1), the transmission prohibition period B, which is “the time required for transmission of the second period data ND”. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is later than the period until time S (n + 1) ".
その結果、第2周期データNDが送信可能状態となった時点は、「第1周期データCDの送信中の期間」にも「送信禁止期間Bの期間」にも含まれておらず、第2周期データNDは、送信可能状態となった直後に、送信が開始されている。図6の(A)において、第2周期データNDの送信が完了する時刻は送信開始時刻S(n+1)より遅く、第2周期データNDの送信中は第1周期データCDを送信できないため、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができない。 As a result, the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible. In FIG. 6A, the time when the transmission of the second period data ND is completed is later than the transmission start time S (n + 1), and the first period data CD cannot be transmitted during the transmission of the second period data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
図6の(B)は、送信開始時刻S(n)が基準時刻T(n)よりも遅れた場合に、PLC10が設定する送信禁止期間B(n+1)について説明する図である。N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)より遅い場合、FPGA101(特に、設定部160)は、送信開始時刻S(n)と基準時刻T(n)との差分期間である差分期間V(n)を、N+1回目の前側送信禁止期間として設定する。すなわち、設定部160は、差分期間V(n)(=調整期間Ba(n+1))と基礎期間Bb(n+1)との合計期間を含む期間の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。
(B) in FIG. 6 is a diagram for explaining the transmission prohibition period B (n + 1) set by the
終点が基準時刻T(n+1)となるように、調整期間Ba(n+1)と基礎期間Bb(n+1)との合計期間を含む送信禁止期間B(n+1)が設定されることにより、図6の(B)では第2周期データNDの送信が適切に禁止されている。すなわち、図6の(B)では、図6の(A)の送信禁止期間B(n+1)よりも調整期間Ba(n+1)分だけ長い送信禁止期間B(n+1)が設定されている。 By setting the transmission prohibition period B (n + 1) including the total period of the adjustment period Ba (n + 1) and the basic period Bb (n + 1) so that the end point becomes the reference time T (n + 1), ( In B), transmission of the second period data ND is appropriately prohibited. That is, in FIG. 6B, a transmission prohibition period B (n + 1) longer than the transmission prohibition period B (n + 1) in FIG. 6A by the adjustment period Ba (n + 1) is set.
図6の(A)では、「適切な送信禁止期間B(n+1)によって第2周期データNDの送信開始を禁止する」のに失敗しているため、第2周期データNDの送信によって、第1周期データCDの送信開始が、送信開始時刻S(n+1)よりも遅れている。これに対して、図6の(A)では、「適切な送信禁止期間B(n+1)によって第2周期データNDの送信開始を禁止する」ことができており、第1周期データCDの送信は、送信開始時刻S(n+1)に開始されている。 In FIG. 6A, since the “start of transmission of the second period data ND is prohibited by an appropriate transmission prohibition period B (n + 1)” has failed, the transmission of the second period data ND causes the first The transmission start of the periodic data CD is delayed from the transmission start time S (n + 1). On the other hand, in FIG. 6A, “the transmission start of the second cycle data ND can be prohibited by an appropriate transmission prohibition period B (n + 1)”, and the transmission of the first cycle data CD is The transmission start time S (n + 1) is started.
(処理例2 N周期目において、基準時刻Tより送信開始時刻Sが早い場合)
図7は、N周期目において、基準時刻T(n)より送信開始時刻S(n)が早い場合にPLC10(特に、FPGA101)が実行する処理の一例を、従来までの調整方法と対比して説明する図である。
(Processing Example 2 When the transmission start time S is earlier than the reference time T in the Nth cycle)
FIG. 7 shows an example of processing executed by the PLC 10 (particularly, the FPGA 101) when the transmission start time S (n) is earlier than the reference time T (n) in the Nth cycle, as compared with the conventional adjustment method. It is a figure explaining.
すなわち、図7の(A)は、図9の(B)と同様であり、つまり、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも早い場合について、従来技術において発生する問題を説明する図である。図7の(A)に示すように、N周期目の送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも早い場合、送信開始時刻S(n)に「送信周期Cに相当する時間間隔」を付加した時刻である基準時刻T(n+1)は、以下の傾向を示す。すなわち、N+1周期目の基準時刻T(n+1)は、N+1周期目の送信開始時刻S(n+1)よりも早くなる傾向がある。ここで、従来技術は、「第2周期データNDの送信に要する時間」を、基準時刻T(n+1)の前に、送信禁止期間Bとして設定する。つまり、従来技術は、送信開始時刻S(n+1)よりも早い時刻を基準時刻T(n+1)として、その基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bを設定する。 That is, (A) in FIG. 7 is the same as (B) in FIG. 9, that is, the transmission start time S (n) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle. It is a figure explaining the problem which generate | occur | produces in a prior art about. As shown in FIG. 7A, when the transmission start time S (n) of the Nth cycle is earlier than the reference time T (n) of the Nth cycle, the “transmission cycle” is set at the transmission start time S (n). The reference time T (n + 1), which is the time to which the “time interval corresponding to C” is added, shows the following tendency. That is, the reference time T (n + 1) in the (N + 1) th cycle tends to be earlier than the transmission start time S (n + 1) in the (N + 1) th cycle. Here, according to the related art, the “time required for transmission of the second period data ND” is set as the transmission prohibition period B before the reference time T (n + 1). That is, in the prior art, the time earlier than the transmission start time S (n + 1) is set as the reference time T (n + 1), and “the time required for the transmission of the second period data ND” before the reference time T (n + 1). A certain transmission prohibition period B is set.
前述の通り、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間を送信禁止期間Bとすることで、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができる。しかしながら、図7の(A)においては、送信開始時刻S(n+1)よりも早い基準時刻T(n+1)の前に、「第2周期データNDの送信に要する時間」である送信禁止期間Bが設定されている。つまり、従来技術が基準時刻T(n+1)の前に設定する送信禁止期間Bは、「送信開始時刻S(n+1)から第2周期データNDの送信に要する時間を遡った時刻」から「送信開始時刻S(n+1)」までの期間よりも、早い。 As described above, the transmission prohibition period B is defined as a period from “a time after the time required to transmit the second period data ND from the transmission start time S (n + 1)” to “a transmission start time S (n + 1)”. The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 7A, before the reference time T (n + 1) earlier than the transmission start time S (n + 1), the transmission prohibition period B, which is “time required for transmission of the second period data ND”, is set. Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is “transmission start” from “a time retroactive to the transmission time of the second period data ND from the transmission start time S (n + 1)”. It is earlier than the period until “time S (n + 1)”.
その結果、第2周期データNDが送信可能状態となった時点は、「第1周期データCDの送信中の期間」にも「送信禁止期間Bの期間」にも含まれておらず、第2周期データNDは、送信可能状態となった直後に、送信が開始されている。図7の(A)において、第2周期データNDの送信が完了する時刻は送信開始時刻S(n+1)より遅く、第2周期データNDの送信中は第1周期データCDを送信できないため、送信開始時刻S(n+1)に第1周期データCDの送信を開始することができない。 As a result, the time point at which the second cycle data ND is ready for transmission is not included in the “period during transmission of the first cycle data CD” or the “period of the transmission prohibited period B”. Transmission of the periodic data ND is started immediately after the transmission becomes possible. In FIG. 7A, the time when the transmission of the second period data ND is completed is later than the transmission start time S (n + 1), and the first period data CD cannot be transmitted during the transmission of the second period data ND. Transmission of the first period data CD cannot be started at the start time S (n + 1).
図7の(B)は、送信開始時刻S(n)が基準時刻T(n)よりも早い場合に、PLC10が設定する送信禁止期間B(n+1)について説明する図である。N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)より早い場合、FPGA101(特に、設定部160)は、送信開始時刻S(n)と基準時刻T(n)との差分期間である差分期間V(n)を、N+1回目の後側送信禁止期間として設定する。すなわち、設定部160は、差分期間V(n)(=調整期間Ba(n+1))を、基準時刻T(n+1)の後に、差分期間V(n)の始点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)として設定する。具体的には、設定部160は、「基準時刻T(n+1)」から「基準時刻T(n+1)から差分期間V(n)(=調整期間Ba(n+1))を経過した時刻」までを、送信禁止期間B(n+1)として設定する。
(B) of FIG. 7 is a figure explaining the transmission prohibition period B (n + 1) set by the
また、設定部160は、基礎期間Bb(n+1)の終点が基準時刻T(n+1)となるように、基礎期間Bb(n+1)を、送信禁止期間B(n+1)として設定する。具体的には、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から「基準時刻T(n+1)」までを、送信禁止期間B(n+1)として設定する。
Also, the
したがって、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」までを、送信禁止期間B(n+1)として設定する。
Therefore, the
「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」までが、送信禁止期間B(n+1)として設定されることにより、図7の(B)では第2周期データNDの送信が適切に禁止されている。すなわち、図7の(B)では、図7の(A)の送信禁止期間B(n+1)よりも調整期間Ba(n+1)分だけ長い送信禁止期間B(n+1)が設定されている。 The transmission prohibition period B (n + 1) is from “the time when the basic period Bb (n + 1) is traced back from the reference time T (n + 1)” to “the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)”. Thus, in FIG. 7B, transmission of the second period data ND is appropriately prohibited. That is, in FIG. 7B, a transmission prohibition period B (n + 1) longer than the transmission prohibition period B (n + 1) of FIG. 7A by the adjustment period Ba (n + 1) is set.
図7の(A)では、「適切な送信禁止期間B(n+1)によって第2周期データNDの送信開始を禁止する」のに失敗しているため、第2周期データNDの送信によって、第1周期データCDの送信開始が、送信開始時刻S(n+1)よりも遅れている。これに対して、図7の(A)では、「適切な送信禁止期間B(n+1)によって第2周期データNDの送信開始を禁止する」ことができており、第1周期データCDの送信は、送信開始時刻S(n+1)に開始されている。 In FIG. 7A, since the “prohibit transmission start of the second period data ND by an appropriate transmission prohibition period B (n + 1)” has failed, the transmission of the second period data ND causes the first The transmission start of the periodic data CD is delayed from the transmission start time S (n + 1). On the other hand, in FIG. 7A, “the transmission start of the second cycle data ND can be prohibited by an appropriate transmission prohibition period B (n + 1)”, and the transmission of the first cycle data CD is The transmission start time S (n + 1) is started.
(通知処理および強制送信処理)
例えば、送信周期C(=制御周期)に対して、送信時間が長い第2周期データND(つまり、データ量の大きい第2周期データND)を送信しようとする場合、第2周期データNDの送信について、以下の問題が発生し得る。すなわち、第2周期データNDのデータ量に比例して基礎期間Bbは大きくなり、ここで、送信禁止期間Bの長さは、基礎期間Bbの長さ以上である(送信禁止期間Bは、基礎期間Bbと調整期間Baとの合計期間を含んでいる)。そのため、第2周期データNDのデータ量が大きくなると、送信禁止期間Bの長さが、送信周期C(=制御周期)の長さ以上となり得る。その場合、例えば、或る制御周期の送信開始時刻S(n)と次の制御周期の送信開始時刻S(n+1)との間が常に送信禁止時間Bとなり、第2周期データNDを送信できなくなるという問題が発生し得る。
(Notification processing and forced transmission processing)
For example, when transmitting the second cycle data ND having a long transmission time with respect to the transmission cycle C (= control cycle) (that is, the second cycle data ND having a large data amount), the second cycle data ND is transmitted. The following problems may occur. That is, the basic period Bb increases in proportion to the data amount of the second cycle data ND, and the length of the transmission prohibited period B is equal to or longer than the length of the basic period Bb (the transmission prohibited period B is equal to the basic period Bb). The total period of the period Bb and the adjustment period Ba is included). Therefore, when the data amount of the second cycle data ND increases, the length of the transmission prohibition period B can be equal to or longer than the length of the transmission cycle C (= control cycle). In this case, for example, the transmission prohibition time B is always between the transmission start time S (n) of a certain control cycle and the transmission start time S (n + 1) of the next control cycle, and the second cycle data ND cannot be transmitted. May occur.
その対応として、所定回数の制御周期にわたって連続して第2周期データNDの送信ができないと、PLC10は、そのような状況の発生を外部に通知する通知処理を実行する。また、PLC10は、送信禁止期間Bに関わらず、第2周期データNDの送信を開始する強制送信処理を実行する。
Correspondingly, when the second cycle data ND cannot be transmitted continuously over a predetermined number of control cycles, the
例えば、通知部190は、「送信禁止期間Bが原因となって、第2周期データNDの送信ができない状態」を、予め決められている回数(例えば、M回)の制御周期にわたって連続で検知すると、以下の処理を実行する。すなわち、通知部190は、「送信禁止期間Bが原因となって、M周期にわたって連続して、第2周期データNDの送信ができない状態」の発生を、上位システム(例えば、マイクロプロセッサ103)に、通知する。上位システムは、CPUユニット100に接続されている解析用デバイス50へ、「送信禁止期間Bが原因となって、M周期にわたって連続して、第2周期データNDの送信ができない状態」の発生を通知する。解析用デバイス50は、上位システムからの通知を受信すると、「送信禁止期間Bが原因となって、M周期にわたって連続して、第2周期データNDの送信ができない状態」の発生を、ユーザに表示する。
For example, the
また、上位システム(例えば、マイクロプロセッサ103)は、第2周期データNDの強制送信処理の実行を指示するユーザ操作を受け付けると、第2周期データNDの強制送信処理の実行を、例えばチップセット102等を介して、FPGA101に指示する。FPGA101(特に、指示部180)は、第2送信部170(2)に、送信禁止期間B中であっても、第2周期データNDの送信を開始するように指示する。第2送信部170(2)は、指示部180からの指示に従って、第2送信キューTXQ1にセットされている第2周期データNDの送信を、送信禁止期間Bであるか否かに関わらず、開始する。
When the host system (for example, the microprocessor 103) receives a user operation instructing execution of the forced transmission process of the second cycle data ND, the host system (for example, the microprocessor 103) executes the forced transmission process of the second cycle data ND, for example, the
§4.変形例
これまで、第1送信キューTXQ0および第2送信キューTXQ1を用いて送信キューの説明を行なってきたが、送信キューが2つであることは必須ではなく、PLC10におけるCPUユニット100(特に、FPGA101)は複数の送信キューを備えてもよい。すなわち、CPUユニット100(特に、FPGA101)が送信するデータに付与される複数の優先度(第1、第2、・・・第N)の各々に対応する、複数の送信キュー(TXQ0、TXQ1、・・・TXQ(n-1))を、PLC10におけるCPUユニット100(特に、FPGA101)は備えていてもよい。
§4. Modifications Up to now, the transmission queue has been described using the first transmission queue TXQ0 and the second transmission queue TXQ1, but it is not essential that there are two transmission queues, and the
また、PLC10におけるCPUユニット100(特に、FPGA101)は、複数の送信キュー(TXQ0、TXQ1、・・・TXQ(n-1))の各々にセットされるデータについての送信を制御する、複数の送信部を備えていてもよい。例えば、FPGA101は、第1送信キューTXQ0から第N+1送信キューTXQnの各々にセットされているデータの各々の送信を制御する第1送信部170(1)から第N+1送信部170(n)を備えてもよい。
Further, the CPU unit 100 (particularly, the FPGA 101) in the
これまで、Nを0以上の自然数として、算出部130が、N周期目の送信開始時刻S(n)に、制御周期(=送信周期C)に相当する時間間隔を付加して、N+1周期目の基準時刻T(n+1)を算出する例を説明してきた。ここで、Mを1以上の自然数として、算出部130は、N周期目の送信開始時刻S(n)に、「制御周期(=送信周期C)に相当する時間間隔」のM倍の期間を付加して、N+M周期目の基準時刻T(n+m)を算出してもよい。
Up to now, assuming that N is a natural number greater than or equal to 0, the
また、前述の通り、FPGA101は、マイクロプロセッサ103等から送信周期Cを通知されてもよいし、所定回数の制御周期分の第1周期データCDの送信開始時刻Sの間の平均時間間隔を算出し、算出した平均時間間隔を、送信周期Cとしてもよい。ここで、複数の第1周期データCDの送信開始時刻Sの間の平均時間間隔から送信周期Cを算出する場合、或る制御周期において送信すべき第1周期データCDが無い場合、送信周期Cを正確に算出するため、FPGA101は、以下の処理を実行する。すなわち、FPGA101は、P番目の制御周期において送信すべき第1周期データCDがない場合、P-1番目の制御周期の送信開始時刻S(p-1)と、P+1番目の制御周期の送信開始時刻S(p+1)との間の時間間隔は、送信周期Cの算出に用いない。
Further, as described above, the
これまで、取得部110、内部RAM120、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190が、FPGA(Field-Programmable gate array)において実現される例を説明してきた。しかしながら、これらの機能ブロックがFPGAを用いて実現されることは必須ではなく、例えば、ASIC(Application Specific Integrated Circuit)を用いて実現されてもよい。つまり、取得部110、内部RAM120、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190は、ASICを用いて実現されてもよい。
Up to now, the
(付記事項)
本発明の一態様に係る制御装置は、制御周期ごとに第1周期データを出力する制御装置であって、前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得部と、Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出部と、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定部と、前記設定部により設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信部と、を備えている。
(Additional notes)
The control device according to an aspect of the present invention is a control device that outputs first cycle data for each control cycle, and acquires the first cycle data together with a transmission start time of the first cycle data; , N is a natural number greater than or equal to 0, a time interval corresponding to the control cycle is added to the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the (N + 1) th cycle is obtained. A transmission prohibition period generated by using the difference between the calculation unit to calculate, the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, and the reference time of the Nth cycle is represented as the (N + 1) th cycle. And starting transmission of second period data having a lower priority than the first period data during a period that is not the transmission prohibition period set by the setting part and at least one of before and after the reference time With the transmitter It is equipped with a.
前記の構成によれば、前記制御装置は、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を考慮して、前記第2周期データの送信開始を禁止する前記送信禁止期間を算出する。そして、前記制御装置は、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出した、N+1周期目の基準時刻の前および後ろの少なくとも一方に、前記送信禁止期間を設定する。その上で、前記制御装置は、前記送信禁止期間でない期間に、前記第2周期データの送信を開始する。つまり、前記制御装置は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、N周期目における送信開始時刻と基準時刻との差を考慮した前記送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する。 According to the above configuration, the control device takes into account the difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and the reference time of the Nth cycle. The transmission prohibition period for prohibiting the start of transmission of periodic data is calculated. Then, the control device calculates the transmission prohibition period at least before or after the reference time of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle. Set. Then, the control device starts transmission of the second cycle data during a period that is not the transmission prohibition period. That is, the control device sets the transmission prohibition period in consideration of the difference between the transmission start time and the reference time in the Nth cycle to the N + 1th cycle even when the transmission start time and the reference time in the Nth cycle diverge. Set at least one before and after the reference time.
したがって、前記制御装置は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、両者の差を考慮した適切な前記送信禁止期間を設定し、N+1周期目の送信開始時刻に前記第1周期データの送信を開始できるとの効果を奏する。 Therefore, even when the transmission start time in the Nth cycle and the reference time deviate, the control device sets an appropriate transmission prohibition period considering the difference between the two, and the transmission start time at the (N + 1) th cycle There is an effect that transmission of the first period data can be started.
本発明の一態様に係る制御装置は、前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成部と、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成部と、をさらに備え、前記設定部によって設定される前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含んでもよい。 The control apparatus which concerns on 1 aspect of this invention is the 1st production | generation part which produces | generates the basic period which is a period required for transmission of the said 2nd period data from the data amount of the said 2nd period data, The control period of the Nth period A second generation unit that generates an adjustment period that is the difference between the transmission start time of the first cycle data to be transmitted to the reference time of the Nth cycle, and the transmission set by the setting unit The prohibition period may include a total period of the basic period and the adjustment period.
前記の構成によれば、前記制御装置は、「N周期目の制御周期における送信開始時刻と基準時刻との差」および「前記第2周期データのデータ量」を考慮して、第2周期データの送信開始が禁止される前記送信禁止期間を設定する。 According to the above configuration, the control device takes into consideration the “difference between the transmission start time and the reference time in the control cycle of the Nth cycle” and the “data amount of the second cycle data” and the second cycle data The transmission prohibition period during which the start of transmission is prohibited is set.
ここで、前記第2周期データの送信中は、前記第1周期データを送信することはできないため、N+1周期目の前記送信開始時刻に前記第1周期データの送信を開始するには、理論的には、以下のように、前記送信禁止期間を設定する必要がある。すなわち、「N+1周期目の前記送信開始時刻から前記第2周期データの送信に要する時間を遡った時刻」から「N+1周期目の前記送信開始時刻」までの期間を前記送信禁止期間とする必要がある。 Here, since the first period data cannot be transmitted during the transmission of the second period data, it is theoretically necessary to start the transmission of the first period data at the transmission start time of the (N + 1) period. Therefore, it is necessary to set the transmission prohibition period as follows. That is, it is necessary to set the period from “the time that is required to transmit the second cycle data from the transmission start time of the (N + 1) th cycle” to “the transmission start time of the (N + 1) th cycle” as the transmission prohibited period. is there.
そして、「前記第2周期データの送信に要する時間」は、前記第2周期データのデータ量に比例すると考えられ、すなわち、前記第2周期データのデータ量から算出される。そこで、前記制御装置は、前記第2周期データのデータ量から生成した前記基礎期間を含む期間を、前記送信禁止期間として利用する。 The “time required for transmitting the second cycle data” is considered to be proportional to the data amount of the second cycle data, that is, calculated from the data amount of the second cycle data. Therefore, the control device uses a period including the basic period generated from the data amount of the second cycle data as the transmission prohibition period.
また、「N+1周期目の前記送信開始時刻」は、N+1周期目の前記第1周期データの取得前には把握できないのに対し、「N+1周期目の前記基準時刻」は、「N周期目の前記送信開始時刻」に「前記制御周期に相当する時間間隔」を付加して予め算出できる。さらに、N+1周期目における前記送信開始時刻と前記基準時刻との差は、N周期目における前記送信開始時刻と前記基準時刻との差以下となることが、一般的である。そこで、前記制御装置は、「N+1周期目の前記基準時刻」に対し、「N周期目における前記送信開始時刻と前記基準時刻との差から生成した調整期間」を含む期間を、前記送信禁止期間として設定する。 Further, the “transmission start time in the (N + 1) th cycle” cannot be grasped before the acquisition of the first cycle data in the (N + 1) th cycle, whereas the “reference time in the (N + 1) th cycle” It can be calculated in advance by adding “a time interval corresponding to the control period” to the “transmission start time”. Further, the difference between the transmission start time and the reference time in the (N + 1) th cycle is generally less than or equal to the difference between the transmission start time and the reference time in the Nth cycle. Therefore, the control device includes a period including the “adjustment period generated from the difference between the transmission start time and the reference time in the Nth cycle” with respect to “the reference time in the (N + 1) th cycle”. Set as.
したがって、前記制御装置は、N周期目における前記送信開始時刻と前記基準時刻とが乖離する場合にも、両者の差、および、前記第2周期データのデータ量を考慮した、適切な前記送信禁止期間を設定することができるとの効果を奏する。 Therefore, even when the transmission start time and the reference time in the Nth cycle are different from each other, the control device appropriately prohibits the transmission in consideration of the difference between them and the data amount of the second cycle data. There is an effect that the period can be set.
本発明の一態様に係る制御装置において、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも遅い場合、前記設定部は、N+1周期目の基準時刻が終点となるように、前記基礎期間と前記調整期間との合計期間を含む期間を、前記送信禁止期間として設定してもよい。 In the control device according to an aspect of the present invention, when the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle is later than the reference time of the Nth cycle, the setting section A period including the total period of the basic period and the adjustment period may be set as the transmission prohibition period so that the reference time of the eye becomes the end point.
前記の構成によれば、前記制御装置は、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも遅い場合、N+1周期目の前記基準時刻が終点となるように、前記基礎期間と前記調整期間との合計期間を含む期間を、前記送信禁止期間として設定する。 According to the above configuration, when the transmission start time of the Nth cycle is later than the reference time of the Nth cycle, the control device sets the basic period so that the reference time of the (N + 1) th cycle ends. And a period including the total period of the adjustment period are set as the transmission prohibition period.
ここで、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも遅い場合、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出するN+1周期目の前記基準時刻は、N+1周期目の前記送信開始時刻よりも遅れるのが一般的である。 Here, when the transmission start time of the Nth cycle is later than the reference time of the Nth cycle, the N + 1th cycle calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle In general, the reference time is later than the transmission start time of the (N + 1) th cycle.
そのため、「N+1周期目の前記基準時刻から、前記第2周期データの送信に要する時間に対応する前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間のみを、前記送信禁止期間として設定したのでは、十分ではない可能性がある。言い換えれば、望ましい送信禁止期間は、「N+1周期目の前記基準時刻から前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間よりも、長いと考えられる。 For this reason, only the period from “the time that goes back the basic period corresponding to the time required for transmission of the second cycle data from the reference time of the (N + 1) th cycle” to “the reference time of the (N + 1) th cycle” Setting the transmission prohibition period may not be sufficient. In other words, it is considered that the desirable transmission prohibition period is longer than the period from “the time that goes back the basic period from the reference time in the (N + 1) th cycle” to “the reference time in the (N + 1) th cycle”.
そこで、前記制御装置は、さらに、N周期目における前記送信開始時刻と前記基準時刻との差を考慮して、N+1周期目の前記送信禁止期間を設定する。すなわち、前記制御装置は、前記基礎期間を前記送信禁止期間として設定するのに加えて、「N周期目における前記送信開始時刻と前記基準時刻との差分期間である前記調整期間」を、前記送信禁止期間として設定する。具体的には、前記制御装置は、「N+1周期目の前記基準時刻から、前記基礎期間と前記調整期間との合計期間を含む期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間を、前記送信禁止期間として設定する。 Therefore, the control device further sets the transmission prohibition period of the (N + 1) th period in consideration of the difference between the transmission start time and the reference time in the Nth period. That is, in addition to setting the basic period as the transmission prohibition period, the control apparatus sets the “adjustment period that is a difference period between the transmission start time and the reference time in the Nth period” to the transmission Set as a prohibited period. Specifically, the control device may be configured such that “from the reference time of the (N + 1) th cycle to the reference time of the (N + 1) th cycle” from “a time retroactive to a period including the total period of the basic period and the adjustment period”. Is set as the transmission prohibition period.
したがって、前記制御装置は、N周期目における前記送信開始時刻が前記基準時刻よりも遅い場合にも、両者の差、および、前記第2周期データのデータ量を考慮した、適切な前記送信禁止期間を設定することができるとの効果を奏する。 Therefore, even when the transmission start time in the Nth cycle is later than the reference time, the control device takes into account the difference between the two and the data amount of the second cycle data. There is an effect that can be set.
本発明の一態様に係る制御装置において、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも早い場合、前記設定部は、N+1周期目の基準時刻が終点となるように前記基礎期間を含む期間を前記送信禁止期間として設定し、かつ、N+1周期目の基準時刻が始点となるように前記調整期間を含む期間を前記送信禁止期間として設定してもよい。 In the control device according to one aspect of the present invention, when the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle is earlier than the reference time of the Nth cycle, the setting section A period including the basic period is set as the transmission prohibition period so that the reference time of the eye becomes the end point, and a period including the adjustment period is set so that the reference time of the (N + 1) th period is the start point. May be set as
前記の構成によれば、前記制御装置は、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも早い場合、N+1周期目の基準時刻が終点となるように前記基礎期間を含む期間を前記送信禁止期間として設定する。さらに、前記制御装置は、N+1周期目の基準時刻が始点となるように前記調整期間を含む期間を前記送信禁止期間として設定する。 According to the configuration, when the transmission start time of the Nth cycle is earlier than the reference time of the Nth cycle, the control device includes the basic period so that the reference time of the (N + 1) th cycle is the end point. A period is set as the transmission prohibition period. Further, the control device sets a period including the adjustment period as the transmission prohibition period so that the reference time of the (N + 1) -th cycle is the starting point.
ここで、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも早い場合、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出するN+1周期目の前記基準時刻は、N+1周期目の前記送信開始時刻よりも早くなるのが一般的である。 Here, when the transmission start time of the Nth cycle is earlier than the reference time of the Nth cycle, the N + 1th cycle is calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle. The reference time is generally earlier than the transmission start time in the (N + 1) period.
そのため、「N+1周期目の前記基準時刻から、前記第2周期データの送信に要する時間に対応する前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間のみを、前記送信禁止期間として設定したのでは、十分ではない可能性がある。言い換えれば、望ましい送信禁止期間は、「N+1周期目の前記基準時刻から前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間よりも、長いと考えられる。 For this reason, only the period from “the time that goes back the basic period corresponding to the time required for transmission of the second cycle data from the reference time of the (N + 1) th cycle” to “the reference time of the (N + 1) th cycle” Setting the transmission prohibition period may not be sufficient. In other words, it is considered that the desirable transmission prohibition period is longer than the period from “the time that goes back the basic period from the reference time in the (N + 1) th cycle” to “the reference time in the (N + 1) th cycle”.
そこで、前記制御装置は、さらに、N周期目における前記送信開始時刻と前記基準時刻との差を考慮して、N+1周期目の前記送信禁止期間を設定する。すなわち、前記制御装置は、前記基礎期間を前記送信禁止期間として設定するのに加えて、「N周期目における前記送信開始時刻と前記基準時刻との差分期間である前記調整期間」を、前記送信禁止期間として設定する。具体的には、前記制御装置は、「N+1周期目の前記基準時刻から前記基礎期間を遡った時刻」から、「N+1周期目の前記基準時刻」までの期間を、前記送信禁止期間として設定する。また、前記制御装置は、「N+1周期目の前記基準時刻」から、「N+1周期目の前記基準時刻から、前記調整期間を含む期間を進んだ時刻」までの期間を、前記送信禁止期間として設定する。 Therefore, the control device further sets the transmission prohibition period of the (N + 1) th period in consideration of the difference between the transmission start time and the reference time in the Nth period. That is, in addition to setting the basic period as the transmission prohibition period, the control apparatus sets the “adjustment period that is a difference period between the transmission start time and the reference time in the Nth period” to the transmission Set as a prohibited period. Specifically, the control device sets, as the transmission prohibition period, a period from “the time when the basic period is traced back from the reference time in the (N + 1) th cycle” to “the reference time in the (N + 1) th cycle”. . Further, the control device sets a period from “the reference time in the (N + 1) th cycle” to “a time that has advanced through the period including the adjustment period from the reference time in the (N + 1) th cycle” as the transmission prohibition period. To do.
したがって、前記制御装置は、N周期目における前記送信開始時刻が前記基準時刻よりも早い場合にも、両者の差、および、前記第2周期データのデータ量を考慮した、適切な前記送信禁止期間を設定することができるとの効果を奏する。 Therefore, even when the transmission start time in the Nth cycle is earlier than the reference time, the control device takes into account the difference between the two and the data amount of the second cycle data. There is an effect that can be set.
本発明の一態様に係る制御装置は、前記送信部が、所定回数の前記制御周期にわたって連続して、前記第2周期データを送信しないと、前記送信禁止期間であっても強制的に、前記送信部に、前記第2周期データの送信を開始させる指示部をさらに備えてもよい。 In the control device according to an aspect of the present invention, if the transmission unit does not transmit the second cycle data continuously over a predetermined number of times of the control cycle, the control unit forcibly includes the transmission prohibition period. You may further provide the instruction | indication part which makes a transmission part start transmission of the said 2nd period data.
前記の構成によれば、前記制御装置は、前記第2周期データを所定回数の前記制御周期にわたって連続して送信しないと、前記送信禁止期間であっても強制的に、前記第2周期データの送信を開始する。したがって、前記制御装置は、所定回数の前記制御周期にわたって連続して送信されなかった前記第2周期データを、送信することができるとの効果を奏する。 According to the configuration, if the control device does not transmit the second cycle data continuously over a predetermined number of the control cycles, the control device forcibly sets the second cycle data even in the transmission prohibition period. Start sending. Therefore, the control device has an effect that the second cycle data that has not been continuously transmitted over the predetermined number of control cycles can be transmitted.
本発明の一態様に係る制御装置は、前記送信部が、所定回数の前記制御周期にわたって連続して、前記第2周期データを送信しないと、前記送信部が前記所定回数の前記制御周期にわたって連続して前記第2周期データを送信しないことを外部に通知する通知部をさらに備えてもよい。 In the control device according to an aspect of the present invention, when the transmission unit does not transmit the second cycle data continuously over a predetermined number of control cycles, the transmission unit continues over the predetermined number of control cycles. In addition, a notification unit that notifies the outside that the second cycle data is not transmitted may be further provided.
前記の構成によれば、前記制御装置は、前記第2周期データを所定回数の前記制御周期にわたって連続して送信しないと、前記第2周期データを前記所定回数の前記制御周期にわたって連続して送信していないことを外部に通知する。したがって、前記制御装置は、前記第2周期データを前記所定回数の前記制御周期にわたって連続して送信していないという状況が発生すると、そのような状況が発生していることを、外部に通知することができるとの効果を奏する。 According to the configuration, if the control device does not continuously transmit the second cycle data over the predetermined number of control cycles, the control device continuously transmits the second cycle data over the predetermined number of control cycles. Notify the outside that it has not. Therefore, when a situation occurs in which the second cycle data is not continuously transmitted over the predetermined number of the control cycles, the control device notifies the outside that such a situation has occurred. There is an effect that you can.
本発明の一態様に係る制御方法は、制御周期ごとに第1周期データを出力する制御装置の制御方法であって、前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得ステップと、Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出ステップと、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定ステップと、前記設定ステップにて設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信ステップと、を含んでいる。 A control method according to an aspect of the present invention is a control method for a control device that outputs first cycle data for each control cycle, and acquires the first cycle data together with a transmission start time of the first cycle data. An acquisition step and a transmission start time of the first cycle data to be transmitted in the control cycle of the N cycle, where N is a natural number of 0 or more, and a time interval corresponding to the control cycle is added to the N + 1 cycle A calculation step for calculating a reference time, a transmission prohibition period generated using a difference between a transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and a reference time of the Nth cycle, A setting step that is set at least before or after the reference time of the (N + 1) th cycle, and a second lower priority than the first cycle data during a period that is not the transmission prohibition period set in the setting step A transmission step of starting transmission of the period data includes.
前記の方法によれば、前記制御方法は、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を考慮して、前記第2周期データの送信開始を禁止する前記送信禁止期間を算出する。そして、前記制御方法は、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出した、N+1周期目の基準時刻の前および後ろの少なくとも一方に、前記送信禁止期間を設定する。その上で、前記制御方法は、前記送信禁止期間でない期間に、前記第2周期データの送信を開始する。つまり、前記制御方法は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、N周期目における送信開始時刻と基準時刻との差を考慮した前記送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する。 According to the method, the control method takes into account the difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and the reference time of the Nth cycle. The transmission prohibition period for prohibiting the start of transmission of periodic data is calculated. In the control method, the transmission prohibition period is calculated at least before or after the reference time of the (N + 1) th cycle, which is calculated by adding a time interval corresponding to the control cycle to the transmission start time of the Nth cycle. Set. Then, the control method starts transmission of the second period data during a period that is not the transmission prohibition period. That is, the control method sets the transmission prohibition period in consideration of the difference between the transmission start time and the reference time in the Nth cycle to the N + 1th cycle even when the transmission start time and the reference time in the Nth cycle diverge. Set at least one before and after the reference time.
したがって、前記制御方法は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、両者の差を考慮した適切な前記送信禁止期間を設定し、N+1周期目の送信開始時刻に前記第1周期データの送信を開始できるとの効果を奏する。 Therefore, the control method sets an appropriate transmission prohibition period considering the difference between the transmission start time and the reference time in the Nth cycle, and sets the transmission start time in the (N + 1) th cycle. There is an effect that transmission of the first period data can be started.
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the claims, and embodiments obtained by appropriately combining technical means disclosed in different embodiments. Is also included in the technical scope of the present invention.
10 PLC(制御装置)
110 取得部
130 算出部
140 第1生成部
150 第2生成部
160 設定部
170 第2送信部(送信部)
180 指示部
190 通知部
B 送信禁止期間
C 送信周期(制御周期)
S 送信開始時刻
T 基準時刻
Ba 調整期間
Bb 基礎期間
CD 第1周期データ
ND 第2周期データ
S100 取得ステップ
S200 算出ステップ
S400 設定ステップ
S700 送信ステップ
10 PLC (control device)
DESCRIPTION OF
180
S transmission start time T reference time Ba adjustment period Bb basic period CD first period data ND second period data S100 acquisition step S200 calculation step S400 setting step S700 transmission step
Claims (7)
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得部と、
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定部と、
前記設定部により設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信部と、
を備える制御装置。 A control device that outputs first cycle data for each control cycle,
An acquisition unit for acquiring the first cycle data together with a transmission start time of the first cycle data;
A time interval corresponding to the control period is added to the transmission start time of the first period data to be transmitted in the control period of the N period, where N is a natural number of 0 or more, and a reference time of the (N + 1) period is calculated. A calculating unit to
The transmission prohibition period generated using the difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and the reference time of the Nth cycle is set before the reference time of the (N + 1) th cycle and A setting section to be set in at least one of the back,
A transmission unit that starts transmission of second cycle data having a lower priority than the first cycle data in a period that is not the transmission prohibition period set by the setting unit;
A control device comprising:
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成部と、をさらに備え、
前記設定部によって設定される前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含む
請求項1に記載の制御装置。 A first generation unit that generates a basic period, which is a period required for transmission of the second cycle data, from a data amount of the second cycle data;
A second generation unit that generates an adjustment period that is a difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the N cycle and the reference time of the N cycle;
The control device according to claim 1, wherein the transmission prohibition period set by the setting unit includes a total period of the basic period and the adjustment period.
請求項2に記載の制御装置。 When the transmission start time of the first cycle data to be transmitted in the control cycle of the N cycle is later than the reference time of the N cycle, the setting unit is configured so that the reference time of the (N + 1) cycle is the end point. The control device according to claim 2, wherein a period including a total period of the basic period and the adjustment period is set as the transmission prohibition period.
請求項2または3に記載の制御装置。 When the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle is earlier than the reference time of the Nth cycle, the setting unit sets the reference time of the (N + 1) th cycle to the end point. The period including the basic period is set as the transmission prohibition period, and the period including the adjustment period is set as the transmission prohibition period so that the reference time of the (N + 1) -th cycle is a starting point. Control device.
請求項1から4のいずれか1項に記載の制御装置。 If the transmission unit does not transmit the second cycle data continuously over a predetermined number of the control cycles, the second cycle data is forcibly transmitted to the transmission unit even during the transmission prohibited period. The control device according to claim 1, further comprising an instruction unit that starts the operation.
請求項1から5のいずれか1項に記載の制御装置。 The transmitter does not transmit the second cycle data continuously over the predetermined number of control cycles unless the transmitter transmits the second cycle data continuously over the predetermined number of control cycles. The control device according to any one of claims 1 to 5, further comprising a notification unit that notifies the outside.
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得ステップと、
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出ステップと、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定ステップと、
前記設定ステップにて設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信ステップと、
を含む制御方法。 A control method of a control device that outputs first cycle data for each control cycle,
An acquisition step of acquiring the first cycle data together with a transmission start time of the first cycle data;
A time interval corresponding to the control period is added to the transmission start time of the first period data to be transmitted in the control period of the N period, where N is a natural number of 0 or more, and a reference time of the (N + 1) period is calculated. A calculating step to
The transmission prohibition period generated using the difference between the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle and the reference time of the Nth cycle is set before the reference time of the (N + 1) th cycle and A setting step to set at least one of the back,
A transmission step of starting transmission of second cycle data having a lower priority than the first cycle data in a period that is not the transmission prohibition period set in the setting step;
Control method.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018113843A JP7056395B2 (en) | 2018-06-14 | 2018-06-14 | Control device and its control method |
| JP2018-113843 | 2018-06-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019239884A1 true WO2019239884A1 (en) | 2019-12-19 |
Family
ID=68843289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/021152 Ceased WO2019239884A1 (en) | 2018-06-14 | 2019-05-28 | Control device, and control method therefor |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7056395B2 (en) |
| WO (1) | WO2019239884A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6878705B1 (en) * | 2020-04-24 | 2021-06-02 | 三菱電機株式会社 | Communication devices, communication systems, communication methods, and programs |
| JP7622001B2 (en) * | 2022-03-18 | 2025-01-27 | 株式会社東芝 | Control System |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011234401A (en) * | 2011-06-30 | 2011-11-17 | Denso Corp | Radio communication apparatus and radio communication system |
| JP2017060042A (en) * | 2015-09-17 | 2017-03-23 | 株式会社デンソー | Communication device |
| JP2018060484A (en) * | 2016-10-07 | 2018-04-12 | オムロン株式会社 | Arithmetic unit and control device |
-
2018
- 2018-06-14 JP JP2018113843A patent/JP7056395B2/en active Active
-
2019
- 2019-05-28 WO PCT/JP2019/021152 patent/WO2019239884A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011234401A (en) * | 2011-06-30 | 2011-11-17 | Denso Corp | Radio communication apparatus and radio communication system |
| JP2017060042A (en) * | 2015-09-17 | 2017-03-23 | 株式会社デンソー | Communication device |
| JP2018060484A (en) * | 2016-10-07 | 2018-04-12 | オムロン株式会社 | Arithmetic unit and control device |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019215818A (en) | 2019-12-19 |
| JP7056395B2 (en) | 2022-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6488830B2 (en) | Control device | |
| JP6540166B2 (en) | Control device | |
| JP4905597B1 (en) | Controller support device, controller support program to be executed in the device, and recording medium storing the program | |
| JP6409557B2 (en) | Control device, controller system, output control method, and program | |
| US8977534B2 (en) | Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program | |
| EP3582036B1 (en) | Control device | |
| US20190095246A1 (en) | Support device and non-transitory storage medium | |
| JP6950385B2 (en) | Control device and control method | |
| JP7067406B2 (en) | Control system, control device and control method | |
| JP2019053459A (en) | Control device and control method | |
| JP4748286B1 (en) | Controller support apparatus, controller support program to be executed in the apparatus, recording medium storing the program, and method for estimating execution time of control program | |
| JP2016194831A (en) | Controller | |
| JP6828482B2 (en) | Control system and pulse output device | |
| CN111095138B (en) | Control device, control method for control device, information processing program, and recording medium | |
| WO2019239884A1 (en) | Control device, and control method therefor | |
| JP6729746B2 (en) | Control device | |
| EP3764175B1 (en) | Control device and control system | |
| JP7077848B2 (en) | Control device | |
| JP7110911B2 (en) | Control method for controller and communication control unit provided in controller | |
| EP4571437A1 (en) | Field bus system | |
| WO2019230268A1 (en) | Control device and control method for same |
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: 19819562 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: 19819562 Country of ref document: EP Kind code of ref document: A1 |