JP7056395B2 - Control device and its control method - Google Patents

Control device and its control method Download PDF

Info

Publication number
JP7056395B2
JP7056395B2 JP2018113843A JP2018113843A JP7056395B2 JP 7056395 B2 JP7056395 B2 JP 7056395B2 JP 2018113843 A JP2018113843 A JP 2018113843A JP 2018113843 A JP2018113843 A JP 2018113843A JP 7056395 B2 JP7056395 B2 JP 7056395B2
Authority
JP
Japan
Prior art keywords
cycle
period
transmission
data
reference 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.)
Active
Application number
JP2018113843A
Other languages
Japanese (ja)
Other versions
JP2019215818A (en
Inventor
俊規 玉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018113843A priority Critical patent/JP7056395B2/en
Priority to PCT/JP2019/021152 priority patent/WO2019239884A1/en
Publication of JP2019215818A publication Critical patent/JP2019215818A/en
Application granted granted Critical
Publication of JP7056395B2 publication Critical patent/JP7056395B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

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)

Description

本発明は、プログラマブルコントローラ(Programmable Logic Controller;以下、PLCとも称す)などの制御装置等に関する。 The present invention relates to a control device such as a programmable logic controller (hereinafter, also referred to as PLC).

従来、同一周波数帯を利用する2つの通信レートの各々において送信するデータが互いに衝突するのを防ぐため、一方の通信レートにおける送信を禁止する送信禁止期間を設けることが知られている。例えば下掲の特許文献1には、一方の通信レートにおいて送信するデータの大きさに対応する長さの送信禁止期間を、一方の通信レートにおける送信に対して設定する通信システムが開示されている。 Conventionally, in order to prevent data to be 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, Patent Document 1 below discloses a communication system in which a transmission prohibition period having a length corresponding to the size of data to be transmitted at one communication rate is set for transmission at one communication rate. ..

特開2012-186629号公報Japanese Unexamined Patent Publication No. 2012-186629

しかしながら、上述のような従来技術には、同一経路を利用する複数の送信について、或る送信について、一般的に予想される送信開始時刻(=基準時刻)と実際の送信開始時刻とは乖離し得るという点を考慮できていないという問題がある。以下、図8および図9を参照して、具体的に説明する。 However, in the prior art as described above, for a plurality of transmissions using the same route, the transmission start time (= reference time) generally expected is different from the actual transmission start time for a certain transmission. There is a problem that the point of getting is not taken into consideration. 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 illustrating a conventional adjustment method between transmission of the first cycle data CD and transmission of the second cycle data ND using the same route. In FIG. 8, the second cycle data ND cannot be transmitted while the first cycle data CD is being transmitted, and similarly, the first cycle data CD cannot be transmitted while the second cycle data ND is being transmitted. Can not. Further, it is assumed that the transmission of the first period data CD is periodically executed in preference to the transmission of the second period data ND.

図8において、第1周期データCDは、第1周期データCDを送信すべき時刻である「送信開始時刻S」と共に第1送信キューTXQ0にバッファリングされ(つまり、格納され)、バッファリングが完了すると送信可能状態となる。そして、送信可能状態となった第1周期データCDは、送信開始時刻Sに、ネットワークへの送信を開始される。つまり、第1周期データCDを送信すべき時刻である「送信開始時刻S」と、第1周期データCDの実際の送信開始時刻とは、一致するものとする。 In FIG. 8, the first period data CD is buffered (that is, stored) in the first transmission queue TXQ0 together with the “transmission start time S” which is the time when the first period data CD should be transmitted, and the buffering is completed. Then, it becomes ready for transmission. Then, the first period data CD that has become transmitable is started to be transmitted to the network at the transmission start time S. That is, it is assumed that the "transmission start time S", which is the time when the first cycle data CD should be transmitted, and the actual transmission start time of the first cycle data CD coincide with each other.

第2周期データNDは、第2送信キューTXQ1にバッファリングされ、バッファリングが完了すると送信可能状態となる。そして、送信可能状態となった第2周期データNDは、「第1周期データCDの送信中の期間」および「送信禁止期間Bの期間」以外の期間において、ネットワークへの送信を開始される。つまり、「第1周期データCDの送信中の期間」および「送信禁止期間Bの期間」においては、第2周期データNDの送信を開始することはできない。送信禁止期間Bは、第1周期データCDの送信を送信開始時刻Sに開始するために設定され、送信禁止期間B中は、第2周期データNDの送信開始が禁止される。 The second period data ND is buffered in the second transmission queue TXQ1 and becomes ready for transmission when the buffering is completed. Then, the second cycle data ND that has become transmitable is started to be transmitted to the network 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, the transmission of the second cycle data ND cannot be started in the "period during transmission of the first cycle data CD" and the "period of the transmission prohibition period B". The transmission prohibition period B is set to start the transmission of the first cycle data CD at the transmission start time S, and during the transmission prohibition period B, the 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 Nth cycle is “transmission start time S (n)”, and is transmitted in the N + 1 cycle. The transmission start time S of the first period data CD to be power is expressed as "transmission start time S (n + 1)". N is a "natural number greater than or equal to 0". Similarly, with respect to the transmission prohibition period B, the transmission prohibition period B set for the transmission of the first period data CD to be transmitted in the N + 1 cycle 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 cycle data ND is started between the "time retroactive from the transmission start time S (n + 1) to the time required for the transmission of the second cycle data ND" to the "transmission start time S (n + 1)", the second cycle data ND is transmitted. The time at which the transmission of the two-cycle data ND ends is later than the transmission start time S (n + 1). Then, 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, the period from "the time retroactive from the transmission start time S (n + 1) to the time required for transmission of the second period data ND" to "transmission start time S (n + 1)" is set as the transmission prohibition period B. The transmission of the first period 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, at the time when the buffering of the second cycle data ND is completed (the time when transmission is possible), the transmission start time S (n + 1) of the first cycle data CD to be transmitted in the N + 1 cycle is unknown, so that the second cycle When the data ND buffering is completed, the transmission prohibition period B cannot be set.

そこで、図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 periodically transmitted first cycle data CD is added to the transmission start time S. The "reference time T (= reference time)" which is the set time is used. The transmission cycle C is also referred to as a "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, the time obtained by adding the "time interval corresponding to the transmission cycle C" to the transmission start time S (n) of the first cycle data CD in the Nth cycle is defined as the reference time T (n + 1) in the N + 1th cycle. Then, using the reference time T, the period from "the time retroactive from the reference time T to the time required for transmission of the second cycle data ND" to "reference time T" is defined as the 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 cycle always match, the transmission of the first cycle 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). Then, the transmission of the first period 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 cycle data ND is set so 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 discrepancy 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, the transmission of the first cycle data CD cannot be started at the transmission start time S. Hereinafter, problems that the prior art falls into when a discrepancy occurs between the reference time T (n + 1) and the transmission start time S (n + 1) will be described with reference to FIG.

図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 a conventional technique in which the “time required for transmission of the second period data ND” is set before the reference time T as the transmission prohibition period B, in which the reference time T (n + 1) and the transmission start time S (n + 1) are set. It is a figure explaining the problem which occurs when the divergence occurs. FIG. 9A is a diagram illustrating a problem that occurs in the prior 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 prior 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) in the Nth cycle is later than the reference time T (n) in 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 cycle C" is added, shows the following tendency. That is, the reference time T (n + 1) in the N + 1 cycle tends to be later than the transmission start time S (n + 1) in the N + 1 cycle. Here, in the prior 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, a time later than the transmission start time S (n + 1) is set as a reference time T (n + 1), and before the reference time T (n + 1), "time required for transmission of the second cycle data ND". The 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, by setting the period from "the time retroactive from the transmission start time S (n + 1) to the time required for transmission of the second period data ND" to "the transmission start time S (n + 1)" as the transmission prohibition period B. , The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 9A, the transmission prohibition period B, which is the “time required for transmission of the second period data ND”, is before the reference time T (n + 1), which is later than the transmission start time S (n + 1). Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is the “transmission start time” from the “time retroactive from the transmission start time S (n + 1) to the time required to transmit the second cycle data ND”. 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 when the second cycle data ND becomes transmitable is not included in the "period during transmission of the first cycle data CD" or the "period of the transmission prohibition period B", and is the second. Transmission of the periodic data ND is started immediately after the transmission becomes ready. In FIG. 9A, the time when 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 while the second cycle data ND is being transmitted. The 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) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle, the “transmission cycle” is set to 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 cycle tends to be earlier than the transmission start time S (n + 1) in the N + 1 cycle. Here, in the prior 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, a time earlier than the transmission start time S (n + 1) is set as the reference time T (n + 1), and before the reference time T (n + 1), the "time required for transmission of the second cycle data ND" is used. 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, by setting the period from "the time retroactive from the transmission start time S (n + 1) to the time required for transmission of the second period data ND" to "the transmission start time S (n + 1)" as the transmission prohibition period B. , The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 9B, the transmission prohibition period B, which is the “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). It is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is the “transmission start time” from the “time retroactive from the transmission start time S (n + 1) to the time required to transmit the second cycle data ND”. 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 when the second cycle data ND becomes transmitable is not included in the "period during transmission of the first cycle data CD" or the "period of the transmission prohibition period B", and is the second. Transmission of the periodic data ND is started immediately after the transmission becomes ready. In FIG. 9B, the time when 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 while the second cycle data ND is being transmitted. The 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 FIGS. 8 and 9, in the prior art, the "time required for transmission of the second period data ND" calculated based on the amount of data 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 from each other, the first cycle data CD is set at the transmission start time S (n + 1) of the N + 1th cycle. It may not be possible 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 prior art is N + 1. It is possible 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-mentioned problems, and an object thereof is when the reference time of a certain cycle and the actual transmission start time deviate from each other in the data to be transmitted periodically. Another object is to realize a control device or the like capable of transmitting data at a scheduled time in 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 problems, the control device according to one aspect of the present invention is a control device that outputs the first cycle data for each control cycle, and the first cycle data is converted into the first cycle data. An acquisition unit to be acquired together with the transmission start time and a time interval corresponding to the control cycle are added to the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, where N is a natural number of 0 or more. It is generated using the calculation unit that calculates the reference time of the N + 1 cycle, the transmission start time of the first cycle data to be transmitted in the control cycle of the N cycle, and the difference between the reference time of the N cycle. The priority is higher than the first cycle data in the setting unit that sets the transmission prohibition period at least one before and after the reference time in the N + 1 cycle and the period other than the transmission prohibition period set by the setting unit. It is characterized by including a transmission unit that starts transmission of low second period data.

前記の構成によれば、前記制御装置は、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を考慮して、前記第2周期データの送信開始を禁止する前記送信禁止期間を算出する。そして、前記制御装置は、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出した、N+1周期目の基準時刻の前および後ろの少なくとも一方に、前記送信禁止期間を設定する。その上で、前記制御装置は、前記送信禁止期間でない期間に、前記第2周期データの送信を開始する。つまり、前記制御装置は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、N周期目における送信開始時刻と基準時刻との差を考慮した前記送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する。 According to the above configuration, the control device takes into consideration 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, and the second cycle. The transmission prohibition period for prohibiting the start of transmission of periodic data is calculated. Then, the control device adds the time interval corresponding to the control cycle to the transmission start time of the Nth cycle, and calculates the transmission prohibition period at least one before and after the reference time of the N + 1th cycle. To set. Then, the control device starts the transmission of the second period data during a period other than the transmission prohibition period. That is, even when the transmission start time in the Nth cycle and the reference time deviate from each other, 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 in the N + 1th cycle. Set at least one before and after the reference time of.

したがって、前記制御装置は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、両者の差を考慮した適切な前記送信禁止期間を設定し、N+1周期目の送信開始時刻に前記第1周期データの送信を開始できるとの効果を奏する。 Therefore, even when the transmission start time in the Nth cycle and the reference time deviate from each other, the control device sets an appropriate transmission prohibition period in consideration of the difference between the two, and sets the transmission start time in the N + 1th cycle. It has the effect of being able to start the transmission of the first period data.

本発明の一態様に係る制御装置は、前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成部と、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成部と、をさらに備え、前記設定部によって設定される前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含んでもよい。 The control device according to one aspect of the present invention has a first generation unit that generates a basic period, which is a period required for transmission of the second cycle data, from the amount of data of the second cycle data, and a control cycle of the Nth cycle. Further includes 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 and the reference time of the Nth cycle, and the transmission set by the setting unit. The prohibition period may include the 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 in which the start of transmission is prohibited is set.

ここで、前記第2周期データの送信中は、前記第1周期データを送信することはできないため、N+1周期目の前記送信開始時刻に前記第1周期データの送信を開始するには、理論的には、以下のように、前記送信禁止期間を設定する必要がある。すなわち、「N+1周期目の前記送信開始時刻から前記第2周期データの送信に要する時間を遡った時刻」から「N+1周期目の前記送信開始時刻」までの期間を前記送信禁止期間とする必要がある。 Here, since the first cycle data cannot be transmitted during the transmission of the second cycle data, it is theoretical to start the transmission of the first cycle data at the transmission start time of the N + 1 cycle. It is necessary to set the transmission prohibition period as follows. That is, it is necessary to set the period from "the time retroactive from the transmission start time of the N + 1 cycle to the time required for transmission of the second cycle data" to "the transmission start time of the N + 1 cycle" as the transmission prohibition period. be.

そして、「前記第2周期データの送信に要する時間」は、前記第2周期データのデータ量に比例すると考えられ、すなわち、前記第2周期データのデータ量から算出される。そこで、前記制御装置は、前記第2周期データのデータ量から生成した前記基礎期間を含む期間を、前記送信禁止期間として利用する。 Then, 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, is calculated from the data amount of the second cycle data. Therefore, the control device uses the 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 cycle" cannot be grasped before the acquisition of the first cycle data in the N + 1 cycle, whereas the "reference time in the N + 1 cycle" is the "N cycle". It can be calculated in advance by adding the "time interval corresponding to the control cycle" to the "transmission start time". Further, it is general that the difference between the transmission start time and the reference time in the N + 1th cycle is equal to or less than the difference between the transmission start time and the reference time in the Nth cycle. Therefore, the control device sets 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 + 1th cycle" as the transmission prohibition period. Set as.

したがって、前記制御装置は、N周期目における前記送信開始時刻と前記基準時刻とが乖離する場合にも、両者の差、および、前記第2周期データのデータ量を考慮した、適切な前記送信禁止期間を設定することができるとの効果を奏する。 Therefore, even when the transmission start time and the reference time in the Nth cycle deviate from each other, the control device appropriately prohibits the transmission in consideration of the difference between the two and the data amount of the second cycle data. It has the effect of being able to set the period.

本発明の一態様に係る制御装置において、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも遅い場合、前記設定部は、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 later than the reference time of the Nth cycle, the setting unit performs the N + 1 cycle. 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 is the end point.

前記の構成によれば、前記制御装置は、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも遅い場合、N+1周期目の前記基準時刻が終点となるように、前記基礎期間と前記調整期間との合計期間を含む期間を、前記送信禁止期間として設定する。 According to the above configuration, when the transmission start time in the Nth cycle is later than the reference time in the Nth cycle, the control device has the basic period so that the reference time in the N + 1th cycle becomes the end point. A period including the total period of the adjustment period and the adjustment period is set as the transmission prohibition period.

ここで、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも遅い場合、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出するN+1周期目の前記基準時刻は、N+1周期目の前記送信開始時刻よりも遅れるのが一般的である。 Here, when the transmission start time in the Nth cycle is later than the reference time in the Nth cycle, the N + 1th cycle is calculated by adding a time interval corresponding to the control cycle to the transmission start time in the Nth cycle. The reference time of the above is generally later than the transmission start time of the N + 1 cycle.

そのため、「N+1周期目の前記基準時刻から、前記第2周期データの送信に要する時間に対応する前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間のみを、前記送信禁止期間として設定したのでは、十分ではない可能性がある。言い換えれば、望ましい送信禁止期間は、「N+1周期目の前記基準時刻から前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間よりも、長いと考えられる。 Therefore, only the period from "the time retroactive to the basic period corresponding to the time required for transmission of the second cycle data from the reference time in the N + 1 cycle" to "the reference time in the N + 1 cycle" is described. Setting it as a transmission prohibition period may not be sufficient. In other words, the desirable transmission prohibition period is considered to be longer than the period from "the time retroactive from the reference time in the N + 1 cycle to the reference time in the N + 1 cycle" to "the reference time in the N + 1 cycle".

そこで、前記制御装置は、さらに、N周期目における前記送信開始時刻と前記基準時刻との差を考慮して、N+1周期目の前記送信禁止期間を設定する。すなわち、前記制御装置は、前記基礎期間を前記送信禁止期間として設定するのに加えて、「N周期目における前記送信開始時刻と前記基準時刻との差分期間である前記調整期間」を、前記送信禁止期間として設定する。具体的には、前記制御装置は、「N+1周期目の前記基準時刻から、前記基礎期間と前記調整期間との合計期間を含む期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間を、前記送信禁止期間として設定する。 Therefore, the control device further sets the transmission prohibition period in the N + 1 cycle in consideration of the difference between the transmission start time and the reference time in the Nth cycle. That is, in addition to setting the basic period as the transmission prohibition period, the control device sets the "adjustment period, which is the difference period between the transmission start time and the reference time in the Nth cycle", in the transmission. Set as a prohibited period. Specifically, the control device is from "a time retroactive from the reference time in the N + 1 cycle to a period including the total period of the basic period and the adjustment period" to "the reference time in the N + 1 cycle". 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 considers the difference between the two and the data amount of the second cycle data, and has an appropriate transmission prohibition period. It has the effect of being able to 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 unit performs the N + 1 cycle. The period including the basic period is set as the transmission prohibition period so that the reference time of the eye is the end point, and the transmission prohibition period is the period including the adjustment period so that the reference time of the N + 1th cycle is the start point. It may be set as.

前記の構成によれば、前記制御装置は、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも早い場合、N+1周期目の基準時刻が終点となるように前記基礎期間を含む期間を前記送信禁止期間として設定する。さらに、前記制御装置は、N+1周期目の基準時刻が始点となるように前記調整期間を含む期間を前記送信禁止期間として設定する。 According to the above configuration, when the transmission start time in the Nth cycle is earlier than the reference time in the Nth cycle, the control device includes the basic period so that the reference time in the N + 1th cycle becomes the end point. The 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 in the N + 1 cycle becomes the starting point.

ここで、N周期目の前記送信開始時刻がN周期目の前記基準時刻よりも早い場合、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出するN+1周期目の前記基準時刻は、N+1周期目の前記送信開始時刻よりも早くなるのが一般的である。 Here, when the transmission start time in the Nth cycle is earlier than the reference time in the Nth cycle, the N + 1th cycle is calculated by adding a time interval corresponding to the control cycle to the transmission start time in the Nth cycle. The reference time of the above is generally earlier than the transmission start time of the N + 1 cycle.

そのため、「N+1周期目の前記基準時刻から、前記第2周期データの送信に要する時間に対応する前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間のみを、前記送信禁止期間として設定したのでは、十分ではない可能性がある。言い換えれば、望ましい送信禁止期間は、「N+1周期目の前記基準時刻から前記基礎期間を遡った時刻」から「N+1周期目の前記基準時刻」までの期間よりも、長いと考えられる。 Therefore, only the period from "the time retroactive to the basic period corresponding to the time required for transmission of the second cycle data from the reference time in the N + 1 cycle" to "the reference time in the N + 1 cycle" is described. Setting it as a transmission prohibition period may not be sufficient. In other words, the desirable transmission prohibition period is considered to be longer than the period from "the time retroactive from the reference time in the N + 1 cycle to the reference time in the N + 1 cycle" to "the reference time in the N + 1 cycle".

そこで、前記制御装置は、さらに、N周期目における前記送信開始時刻と前記基準時刻との差を考慮して、N+1周期目の前記送信禁止期間を設定する。すなわち、前記制御装置は、前記基礎期間を前記送信禁止期間として設定するのに加えて、「N周期目における前記送信開始時刻と前記基準時刻との差分期間である前記調整期間」を、前記送信禁止期間として設定する。具体的には、前記制御装置は、「N+1周期目の前記基準時刻から前記基礎期間を遡った時刻」から、「N+1周期目の前記基準時刻」までの期間を、前記送信禁止期間として設定する。また、前記制御装置は、「N+1周期目の前記基準時刻」から、「N+1周期目の前記基準時刻から、前記調整期間を含む期間を進んだ時刻」までの期間を、前記送信禁止期間として設定する。 Therefore, the control device further sets the transmission prohibition period in the N + 1 cycle in consideration of the difference between the transmission start time and the reference time in the Nth cycle. That is, in addition to setting the basic period as the transmission prohibition period, the control device sets the "adjustment period, which is the difference period between the transmission start time and the reference time in the Nth cycle", in the transmission. Set as a prohibited period. Specifically, the control device sets a period from "a time retroactive to the basic period from the reference time in the N + 1 cycle" to "the reference time in the N + 1 cycle" as the transmission prohibition period. .. Further, the control device sets a period from "the reference time in the N + 1 cycle" to "the time advanced from the reference time in the N + 1 cycle to the time including the adjustment period" as the transmission prohibition period. 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 consideration the difference between the two and the amount of data in the second cycle data, and has an appropriate transmission prohibition period. It has the effect of being able to set.

本発明の一態様に係る制御装置は、前記送信部が、所定回数の前記制御周期にわたって連続して、前記第2周期データを送信しないと、前記送信禁止期間であっても強制的に、前記送信部に、前記第2周期データの送信を開始させる指示部をさらに備えてもよい。 In the control device according to one aspect of the present invention, if the transmission unit does not continuously transmit the second cycle data over a predetermined number of times of the control cycle, the control device is forcibly described even during the transmission prohibition period. The transmission unit may further include an instruction unit for starting the transmission of the second period data.

前記の構成によれば、前記制御装置は、前記第2周期データを所定回数の前記制御周期にわたって連続して送信しないと、前記送信禁止期間であっても強制的に、前記第2周期データの送信を開始する。したがって、前記制御装置は、所定回数の前記制御周期にわたって連続して送信されなかった前記第2周期データを、送信することができるとの効果を奏する。 According to the above configuration, if the control device does not continuously transmit the second cycle data over a predetermined number of times of the control cycle, the control device is forced to transmit the second cycle data even during the transmission prohibition period. Start sending. Therefore, the control device has the effect of being able to transmit the second cycle data that has not been continuously transmitted over the predetermined number of control cycles.

本発明の一態様に係る制御装置は、前記送信部が、所定回数の前記制御周期にわたって連続して、前記第2周期データを送信しないと、前記送信部が前記所定回数の前記制御周期にわたって連続して前記第2周期データを送信しないことを外部に通知する通知部をさらに備えてもよい。 In the control device according to one aspect of the present invention, if the transmission unit does not transmit the second cycle data continuously over the control cycle of a predetermined number of times, the transmission unit continues over the control cycle of the predetermined number of times. Further, a notification unit may be further provided to notify the outside that the second period data is not transmitted.

前記の構成によれば、前記制御装置は、前記第2周期データを所定回数の前記制御周期にわたって連続して送信しないと、前記第2周期データを前記所定回数の前記制御周期にわたって連続して送信していないことを外部に通知する。したがって、前記制御装置は、前記第2周期データを前記所定回数の前記制御周期にわたって連続して送信していないという状況が発生すると、そのような状況が発生していることを、外部に通知することができるとの効果を奏する。 According to the above 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 you have not done so. Therefore, when a situation occurs in which the second cycle data is not continuously transmitted over the predetermined number of times of the control cycle, the control device notifies the outside that such a situation has occurred. It has the effect of being able to.

上記の課題を解決するために、本発明の一態様に係る制御方法は、制御周期ごとに第1周期データを出力する制御装置の制御方法であって、前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得ステップと、Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出ステップと、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定ステップと、前記設定ステップにて設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信ステップと、を含むことを特徴としている。 In order to solve the above problems, the control method according to one 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 used for the first cycle data. A time interval corresponding to the control cycle is set at the acquisition step to be acquired together with the transmission start time of the periodic data and the transmission start time of the first cycle data to be transmitted in the control cycle of the Nth cycle, where N is a natural number of 0 or more. Is added to calculate the reference time of the N + 1 cycle, and the 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 is used. The first cycle data is set in at least one of the setting steps before and after the reference time in the N + 1 cycle, and in a period other than the transmission prohibition period set in the setting step. It is characterized by including a transmission step of initiating transmission of second period data having a lower priority.

前記の方法によれば、前記制御方法は、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を考慮して、前記第2周期データの送信開始を禁止する前記送信禁止期間を算出する。そして、前記制御方法は、N周期目の前記送信開始時刻に前記制御周期に相当する時間間隔を付加して算出した、N+1周期目の基準時刻の前および後ろの少なくとも一方に、前記送信禁止期間を設定する。その上で、前記制御方法は、前記送信禁止期間でない期間に、前記第2周期データの送信を開始する。つまり、前記制御方法は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、N周期目における送信開始時刻と基準時刻との差を考慮した前記送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する。 According to the method, the control method takes into consideration 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, and the second control method. The transmission prohibition period for prohibiting the start of transmission of periodic data is calculated. Then, in the control method, the transmission prohibition period is set at least one before and after the reference time in the N + 1 cycle, which is calculated by adding a time interval corresponding to the control cycle to the transmission start time in the N cycle. To set. Then, the control method starts the transmission of the second period data during a period other than the transmission prohibition period. That is, in the control method, even when the transmission start time in the Nth cycle and the reference time deviate from each other, the transmission prohibition period in consideration of the difference between the transmission start time and the reference time in the Nth cycle is set to the N + 1th cycle. Set at least one before and after the reference time of.

したがって、前記制御方法は、N周期目における送信開始時刻と基準時刻とが乖離する場合にも、両者の差を考慮した適切な前記送信禁止期間を設定し、N+1周期目の送信開始時刻に前記第1周期データの送信を開始できるとの効果を奏する。 Therefore, in the control method, even when the transmission start time in the Nth cycle and the reference time deviate from each other, an appropriate transmission prohibition period is set in consideration of the difference between the two, and the transmission start time in the N + 1th cycle is set. It has the effect of being able to start the transmission of the first period data.

本開示の一態様によれば、周期的に送信すべきデータについて、或る周期の基準時刻と実際の送信開始時刻とが乖離した場合にも、次の周期の予定時刻にデータを送信することができるという効果を奏する。 According to one aspect of the present disclosure, regarding data to be transmitted periodically, even if the reference time of a certain cycle and the actual transmission start time deviate from each other, the data is transmitted at the scheduled time of the next cycle. It has the effect of being able to.

本発明の一実施形態に係るPLCのCPUユニットの構成例を示す図である。It is a figure which shows the structural example of the CPU unit of PLC which concerns on one Embodiment of this invention. 本発明の一実施形態に係るPLCを含む制御システムの概要を示す図である。It is a figure which shows the outline of the control system including PLC which concerns on one Embodiment of this invention. 図1のCPUユニット(特に、FPGA)が実行する処理の全体概要を示すフロー図である。It is a flow diagram which shows the whole outline of the process which a CPU unit (particularly FPGA) of FIG. 1 executes. 図3の送信禁止期間算出処理の詳細を説明するフロー図である。It is a flow diagram explaining the details of the transmission prohibition period calculation process of FIG. 図3の送信禁止期間設定処理の詳細を説明するフロー図である。It is a flow diagram explaining the details of the transmission prohibition period setting process of FIG. N周期目において基準時刻より送信開始時刻が遅い場合に図1のCPUユニット(特に、FPGA)が実行する処理の一例を示す図である。It is a figure which shows an example of the process which the CPU unit (particularly FPGA) of FIG. 1 executes when the transmission start time is later than the reference time in the Nth cycle. N周期目において基準時刻より送信開始時刻が早い場合に図1のCPUユニット(特に、FPGA)が実行する処理の一例を示す図である。It is a figure which shows an example of the process which the CPU unit (particularly FPGA) of FIG. 1 executes when the transmission start time is earlier than the reference time in the Nth cycle. 同一経路を利用する2つの送信について、従来までの調整方法を説明する図である。It is a figure explaining the conventional adjustment method about two transmissions using the same route. 従来技術について、基準時刻と送信開始時刻とに乖離が発生した場合に発生する問題を説明する図である。It is a figure explaining the problem which occurs when the reference time and the transmission start time deviate from each other about the prior art.

〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明し、具体的には、本発明の実施形態1について、図1から図9に基づいて詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、機械および設備等の制御対象を制御するPLC(プログラマブル・ロジック・コントローラ、Programmable Logic Controller)10を、特に、PLC10のCPUユニット100を、制御装置の典型例として説明を行う。なお、「CPU」は「Central Processing Unit」の略である。また、以下の説明において「N」は、「0以上の自然数」を表わす。
[Embodiment 1]
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, and specifically, the first embodiment of the present invention will be described from FIGS. 1 to 1. It will be described in detail based on 9. The same or corresponding parts in the drawings are designated by the same reference numerals and the description thereof will not be repeated. In the present embodiment, a PLC (Programmable Logic Controller) 10 that controls a controlled object such as a machine and equipment, and in particular, a CPU unit 100 of the PLC 10 will be described as a typical example of a control device. .. Note that "CPU" is an abbreviation for "Central Processing Unit". Further, in the following description, "N" represents "a natural number of 0 or more".

PLC10についての理解を容易にするため、以下では先ず、図8および図9を参照して従来技術の概要を説明し、その後に、PLC10の概要を説明していくこととする。 In order to facilitate the understanding of the PLC 10, the outline of the prior art will be described first with reference to FIGS. 8 and 9, and then the outline of the PLC 10 will be described.

§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 (Outline of prior art and issues)
In FIG. 8, the transmission of the first cycle data CD and the transmission of the second cycle data ND use the same route, and during the transmission of the first cycle data CD, the second cycle data ND cannot be transmitted, and the second cycle data ND cannot be transmitted. While the periodic data ND is being 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" which is the time when the first cycle data CD should be transmitted, and when the buffering is completed, the first cycle data CD is in a transmittable state. Similarly, the second period 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 Nth 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の送信に要する時間」を利用する。 In the prior art, since the transmission of the first cycle data CD in the transmittable state is started at the transmission start time S, the "time required for the 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 + 1th cycle T" is added. (N + 1) ”is calculated. Then, in the prior art, the "time required for the transmission of the second cycle data ND" is set to the transmission prohibition period for prohibiting the start of the transmission of the second cycle data ND so that the reference time T (n + 1) in the N + 1 cycle is the end point. It is set as B (“transmission prohibition period B (n + 1)” in FIG. 8).

ただし、図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 of using the "time required for transmission of the second cycle data ND" calculated based on the amount of data of the second cycle data ND as the transmission prohibition period B is the reference time T. It is not possible to deal with the case where (n) and the transmission start time S (n) in the Nth cycle deviate from each other. 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 prior art is N + 1. It is possible 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 FIGS. 8 and 9, the conventional technique of setting the transmission prohibition period B only from the amount of data (the size of the data size) of the second period data ND has the following problems. That is, if 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 periodic transmission (= transmission start time S) are set. If does not match, you may not be able to keep the regular transmission. That is, if the error between the N + 1th transmission start time S (n + 1) and the N + 1th reference time T (n + 1) is large, the prior art may not be able to set an appropriate transmission prohibition period B. As a result, for example, the transmission of TXQ1 may be started before the transmission of TXQ0, and the 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, the PLC 10 sets the adjustment period Ba (margin time) in addition to the "time required for transmission of the second period data ND (= basic period Bb)" calculated based on the amount of data of the second period data ND. Set as the transmission prohibition period B. In particular, the PLC 10 dynamically changes the adjustment period Ba (in the N + 1 cycle) according to the state of the previous transmission (that is, the transmission state of the first cycle data CD in the Nth cycle), and optimizes the adjustment period Ba. Perform the conversion. Hereinafter, the outline of the control system 1 including the PLC 10 will be described with reference to FIG.

(本実施形態に係る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 control system 1. In the control system 1 illustrated in FIG. 1, one or more PLCs 10 and a device whose operation is controlled by the PLC10 are connected to a control system network such as a field network 20. Servo drivers 33 and 34 are connected to the PLC 10 of FIG. 2 via a network such as the field network 20 and the PLC system bus 400, and each of the servo drivers 33 and 34 is further connected to each of the servo motors 41 and 42. Has been done.

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 PLC 10 is a control device that controls an input device and an output device in a production facility. For example, the PLC 10 transmits a first cycle data CD and a second cycle data ND to a network such as the field network 20 and the PLC system bus 400, and particularly for the transmission of the first cycle data CD and the second cycle data ND. Execute the following processing. That is, in order to avoid the situation that "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 PLC 10 is prohibited from transmitting the second cycle data ND. Set the transmission prohibition period B. In the following, it is assumed that the PLC 10 transmits the first cycle data CD periodically (specifically, every control cycle (specifically, transmission cycle C)). Hereinafter, the transmission / reception of the first cycle data CD and the second cycle data ND controlled by the PLC 10 will be described in detail.

(第1周期データCDの送受信)
第1に、PLC10と機器とは、生産設備に対する高速高精度な制御を実行するために、フィールドネットワーク20を介してサイクリック(つまり、周期的に)に通信を行なって、INデータおよびOUTデータ(以下、「IOデータ」という)を送受信する。第1周期データCDは、例えば、このような「生産設備に対する高速高精度な制御を実行するためのIOデータ」であり、「生産設備に対する高速高精度な制御を実行するためのデータ」は「制御データ」とも称される。
(Transmission and reception of 1st period data CD)
First, the PLC 10 and the equipment communicate cyclically (that is, periodically) via the field network 20 in order to execute high-speed and high-precision control over the production equipment, and IN data and OUT data are used. Send and receive (hereinafter referred to as "IO data"). The first period 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 "data". Also called "control data".

PLC10は、ラダーロジック(ラダー言語)によって記述されたラダープログラム(ソースプログラム)などがコンパイルされることにより生成されたユーザプログラムを実行することにより、制御対象に対する高速かつ高精度の制御を実行する。ここで、「ユーザプログラム」は、ユーザの制御対象(例えば、対象のラインおよびプロセス)に応じて作成され、すなわち、制御システム1を用いて制御する制御対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。オブジェクトプログラム形式のユーザプログラムは、PLC10の不揮発性メモリ105などに格納される。ユーザプログラムは、CPUユニット100のマイクロプロセッサ103で実行され、その実行結果が、制御データとして、つまり、第1周期データCDとして、PLC10の制御対象へと送信される。 The PLC 10 executes high-speed and high-precision control for a controlled object by executing a user program generated by compiling a ladder program (source program) or the like described by ladder logic (ladder language). Here, the "user program" is created according to the user's controlled object (for example, the target line and process), that is, according to the controlled object line (process) controlled by the control system 1. It is a program designed arbitrarily. The user program in the object program format is stored in the non-volatile memory 105 or the like of the PLC 10. 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 first cycle data CD.

具体的には、制御対象に対する高速かつ高精度の制御のためのユーザプログラムは、高速周期で、マイクロプロセッサ103によって繰り返し実行され、PLC10は、その実行結果である第1周期データCDを定周期で制御対象へと送信する。PLC10(特に、CPUユニット100)は、IOユニット301~303および特殊ユニット304などの機能ユニットと、サーボドライバ33および34、リモートIOターミナル35などのスレーブ装置とに、第1周期データCDを定周期で送信する。ここで、生産設備に対する高速かつ高精度の制御のためには、PLC10から各制御機器への命令頻度を高める必要があり、PLC10によるスレーブ装置(フィールド機器)への第1周期データCDの送信については、μsオーダーでの通信が要求される。 Specifically, the user program for high-speed and high-precision control of the controlled object is repeatedly executed by the microprocessor 103 at a high-speed cycle, and the PLC 10 outputs the first cycle data CD, which is the execution result, at a fixed cycle. Send to the controlled object. The PLC 10 (particularly, the CPU unit 100) transmits the first cycle data CD to the functional units such as 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 in a fixed cycle. Send with. Here, in order to control the production equipment at high speed and with high accuracy, it is necessary to increase the command frequency from the PLC 10 to each control device, and the transmission of the first period data CD to the slave device (field device) by the PLC 10 is performed. Is required to communicate in the order of μs.

(第2周期データNDの送受信)
第2に、PLC10(特に、CPUユニット100)は、生産設備の高速かつ高精度な制御に加えて、以下の処理を実行する。すなわち、PLC10は、例えば、(1)外部のデータベースとの接続に係る処理、(2)外部の表示装置との接続に係る処理、および(3)制御対象から取得する情報を蓄積し、蓄積した情報を外部のサーバに送信する処理などを実行する。具体的には、PLC10は、第1周期データCD(制御データ)以外のデータの送信および受信(収集)を実行し、例えば、機能ユニット、スレーブ装置、および、各種の外部機器(例えば、外部の情報系サーバ)との間で、第2周期データNDを送受信する。
(Transmission and reception of second period data ND)
Second, the PLC 10 (particularly, the CPU unit 100) executes the following processing in addition to high-speed and high-precision control of the production equipment. That is, the PLC 10 has accumulated and accumulated, for example, (1) processing related to connection with an external database, (2) processing related to connection with an external display device, and (3) information acquired from a control target. Executes processing such as sending information to an external server. Specifically, the PLC 10 transmits and receives (collects) data other than the first period data CD (control data), for example, a functional unit, a slave device, and various external devices (for example, an external device). The second period data ND is transmitted to and received from the information system server).

第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 period data ND is, for example, information system data showing statistical information of the attenuation value of the sensor received 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 the details will be described later, but the 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 start of transmission of the second period data ND is controlled (prohibited) so as not to occur. The second period data ND is repeatedly transmitted aperiodically or at a time interval (cycle) equal to or longer than the "transmission cycle C (= control cycle) of the first cycle data CD transmitted periodically". As described above, in the PLC10, the punctuality of the order of "μs (1 / 1,000,000 second)" is required for the first cycle data CD transmitted at a fixed cycle. On the other hand, the punctuality required for the transmission of the second period data ND is, for example, on the order of ms (thousandths of a second).

(制御システムを構成する機器の概要)
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を介して、互いにデータを遣り取りできるように構成される。
(Overview of the equipment that makes up the control system)
The PLC 10 is a control device that controls control targets such as machines and equipment 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 a control program, which is also called a user program, for example, and controls the operation of the entire control system 1 in an integrated manner. 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), and a special unit 304. including. IO units 301 to 303 and special units 304 may also be referred to as functional units. The CPU unit 100, each of the IO units 301 to 303, and the special unit 304 are configured so that data can be exchanged with each other via the PLC system bus 400.

CPUユニット100は、制御対象の状態等に係る種々の処理を実行し、例えば、「出力データの送信と、入力データの受信と、入力データを使用して出力データを生成する制御プログラムの実行とを繰り返すことによって制御対象を制御する」処理を実行する。CPUユニット100の詳細については、図1を参照して後述する。 The CPU unit 100 executes various processes related to the state of the controlled object, for example, "transmission of output data, reception of input data, and execution of a control program that generates output data using the input data." "Controlling the controlled object by repeating" is executed. Details of the CPU unit 100 will be described later with reference to FIG.

電源ユニット200は、CPUユニット100、IOユニット301~303、および、特殊ユニット304に、適切な電圧の電源を供給する。 The power supply unit 200 supplies power to the CPU unit 100, IO units 301 to 303, and the special unit 304 with an appropriate voltage.

IOユニット301~303は、各々、一般的な入出力処理に関するユニットであり、オン/オフといったデータ(つまり、2値化されたデータ)の入出力を司る。具体的には、IOユニット301~303の各々は、センサなどの入力機器であるデバイス31が何らかの対象物を検出している状態(オン)、および、何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット301~303の各々は、リレー、アクチュエータといった出力機器であるデバイス32に対して、活性化するための指令(オン)、および、不活性化するための指令(オフ)のいずれかを出力する。 Each of the IO units 301 to 303 is a unit related to general input / output processing, and controls input / output of data such as on / off (that is, binarized data). Specifically, in each of the IO units 301 to 303, a state in which the device 31 which is an input device such as a sensor detects some object (on), and a state in which no object is detected (in the state). Gather information about which of the off). Further, each of the IO units 301 to 303 has either a command (on) for activating or a command (off) for inactivating the device 32, which is an output device such as a relay or an actuator. Is output.

特殊ユニット304は、IOユニット301~303が処理するデータとは異なるデータ(例えば、アナログデータ)の入出力、温度制御、特定の通信方式による通信といった、IOユニット301~303ではサポートしない機能を有する。 The special unit 304 has functions that the IO units 301 to 303 do not support, such as input / output of data (for example, analog data) different from the data processed by the IO units 301 to 303, temperature control, and communication by a specific communication method. ..

フィールドネットワーク20は、CPUユニット100とフィールド機器(サーボドライバ33、サーボドライバ34、および、リモートIOターミナル35等)との間で遣り取りされる各種データを伝送する。フィールドネットワーク20としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネットとしては、例えば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)-III、Powerlink、SERCOS(登録商標)-III、CIP Motionなどが知られている。なお、フィールドネットワーク20として、産業用イーサネット以外のフィールドネットワークを用いてもよい。例えば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。 The field network 20 transmits various data exchanged between the CPU unit 100 and the field equipment (servo driver 33, servo driver 34, remote IO terminal 35, etc.). As the field network 20, various types of Industrial Ethernet (registered trademark) can be typically used. As industrial Ethernet, for example, EtherCAT (registered trademark), Profile IRT, MECHATROLINK (registered trademark) -III, Powerlink, SERCOS (registered trademark) -III, CIP Motion and the like are known. As the field network 20, a field network other than Industrial Ethernet may be used. For example, if motion control is not performed, DeviceNet, CompoNet / IP (registered trademark), or the like may be used.

なおPLC10は、CPUユニット100にIOユニット301~303の各々の機能およびサーボドライバ33および34の機能を持たせることにより、そのような内蔵機能でまかなえる範囲については、CPUユニット100が直接制御対象を制御してもよい。 In the PLC 10, the CPU unit 100 is provided with the functions of the IO units 301 to 303 and the functions of the servo drivers 33 and 34, so that the CPU unit 100 directly controls the range covered by such built-in functions. You may control it.

サーボドライバ33および34の各々は、フィールドネットワーク20を介してCPUユニット100と接続されるとともに、CPUユニット100からの指令値に従ってサーボモータ41および42の各々を駆動する。なお、図2には、サーボモータ41および42の各々とサーボドライバ33および34の各々とを組み合わせたシステム例を示したが、その他の構成、たとえば、パルスモータとパルスモータドライバとを組み合わせたシステムを採用することもできる。 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 servomotors 41 and 42 according to the command value from the CPU unit 100. Note that FIG. 2 shows an example of a system in which each of the servo motors 41 and 42 and each of the servo drivers 33 and 34 are combined, but other configurations, for example, a system in which a pulse motor and a pulse motor driver are combined are shown. Can also be adopted.

リモートIOターミナル35は、基本的には、IOユニット301~303と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル35は、フィールドネットワーク20でのデータ伝送に係る処理を行うための通信カプラ36と、1つ以上のIOユニット(図2の例では、IOユニット37および38)とを含む。通信カプラ36と、IOユニット37および38の各々とは、リモートIOターミナルバス39を介して、データを互いに遣り取りできるように構成される。 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). And include. The communication coupler 36 and each of the IO units 37 and 38 are configured so that data can be exchanged with each other via the remote IO terminal bus 39.

PLC10には、任意の通信ケーブル40によって、解析用デバイス50が接続されており、例えば、Ether IP(登録商標)により通信接続されていてもよい。PLC10は、第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していないと、「所定回数の制御周期にわたって連続して第2周期データNDを送信していない」旨を解析用デバイス50に通知する。解析用デバイス50は、PLC10から、「所定回数の制御周期にわたって連続して第2周期データNDを送信していない」旨を通知されると、その旨をユーザに表示する。解析用デバイス50は、通常のPC(Personal Computer)によって構成され、タッチパネル、ディスプレイなどの入出力デバイスを備える。 The analysis device 50 is connected to the PLC 10 by an arbitrary communication cable 40, and may be communication-connected by, for example, Ether IP (registered trademark). If the PLC 10 does not continuously transmit the second cycle data ND over a predetermined number of control cycles after the second cycle data ND becomes transmitable, the PLC 10 "consecutively second cycle over a predetermined number of control cycles. Notify the analysis device 50 that "data ND has not been transmitted". When the analysis device 50 is notified by the PLC 10 that "the second cycle data ND is not continuously transmitted over a predetermined number of control cycles", the analysis device 50 displays to that effect to the user. The analysis device 50 is composed of a normal PC (Personal Computer) and includes input / output devices such as a touch panel and a display.

(CPUユニットの概要)
これまで図2を用いてPLC10を含む制御システム1の全体概要を説明してきたが、次に、PLC10におけるCPUユニット100、特にCPUユニット100の備えるFPGA101について、その概要を説明しておく。
(Overview of CPU unit)
Up to now, the overall outline of the control system 1 including the PLC 10 has been described with reference to FIG. 2, but next, the outline of the CPU unit 100 in the PLC 10, particularly the FPGA 101 included in the CPU unit 100 will be described.

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 PLC 10 is a control device that outputs a first cycle data CD for each control cycle (specifically, transmission cycle C), and is an acquisition unit 110, a calculation unit 130, a setting unit 160, and a second transmission unit. 170 (2) (transmitter) and. The acquisition unit 110 acquires the first cycle data CD together with the transmission start time S of the first cycle data CD. The calculation unit 130 corresponds to the transmission cycle C at the transmission start time S (n) of the first cycle data CD to be transmitted in the control cycle (= transmission cycle C) of the Nth cycle, where N is a natural number of 0 or more. The reference time T (n + 1) in the N + 1 cycle is calculated by adding a time interval. The setting unit 160 is a transmission generated by 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 at least one before and after the reference time T (n + 1) in the N + 1 cycle. The second transmission unit 170 (2) starts the transmission of the second cycle data ND, which has a lower priority than the first cycle data CD, during the period other than the transmission prohibition period B set by the setting unit 160.

前記の構成によれば、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 PLC 10 considers 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. Then, the transmission prohibition period B for prohibiting the start of transmission of the second period data ND is calculated. Then, the PLC 10 is calculated by adding a time interval corresponding to the transmission cycle C to the transmission start time S (n) in the Nth cycle, at least one of the front and the back of the reference time T (n + 1) in the N + 1th cycle. , Set the transmission prohibition period B (n + 1). Then, the PLC 10 starts the transmission of the second period data ND during the period other than the transmission prohibition period B (n + 1). That is, the PLC 10 has the transmission start time S (n) and the reference time T (n) in the Nth cycle even when the transmission start time S (n) in the Nth cycle and the reference time T (n) deviate from each other. The transmission prohibition period B (n + 1) in consideration of the difference between the two is set at least one before and after the reference time T (n + 1) in the N + 1 cycle.

したがって、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 from each other, the PLC 10 sets an appropriate transmission prohibition period B (n + 1) in consideration of the difference between the two. It is effective that the transmission of the first cycle data CD can be started at the transmission start time S (n + 1) in the N + 1th cycle.

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 PLC 10 further includes a first generation unit 140 and a second generation unit 150. The first generation unit 140 generates a basic period Bb, which is a period required for transmission of the second period data ND, from the amount of data of the second period data ND. The second generation unit 150 "is the difference (= difference period) 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 adjustment period Ba, which is "V (n))", is generated. Then, in the PLC 10, the transmission prohibition period B set by the setting unit 160 includes the total period of the basic period Bb and the adjustment period Ba.

前記の構成によれば、PLC10は、「N周期目の制御周期における送信開始時刻S(n)と基準時刻T(n)との差」および「第2周期データNDのデータ量」を考慮して、第2周期データNDの送信開始が禁止される送信禁止期間Bを設定する。 According to the above configuration, the PLC 10 considers "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 amount of data in the second cycle data ND". Therefore, the transmission prohibition period B in which the start of transmission of the second period data ND is prohibited is set.

ここで、第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 can be started at the transmission start time S (n + 1) of the N + 1th cycle. , Theoretically, it is necessary to set the transmission prohibition period B (n + 1) as follows. That is, from "the time retroactive from the transmission start time S (n + 1) in the N + 1 cycle to the time required for transmission of the second cycle data ND (= basic period Bb)" to "the transmission start time S (n + 1) in the N + 1 cycle". It is necessary to set the period up to "the transmission prohibition period B".

そして、「第2周期データNDの送信に要する時間(=基礎期間Bb)」は、第2周期データNDのデータ量に比例すると考えられ、すなわち、第2周期データNDのデータ量から算出される。そこで、PLC10は、第2周期データNDのデータ量から生成した基礎期間Bbを含む期間を、送信禁止期間Bとして利用する。 Then, 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 PLC 10 uses the period including the basic period Bb generated from the data amount of the second period data ND as the transmission prohibition period B.

また、「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の取得前に予め算出する。 Further, the "transmission start time S (n + 1) in the N + 1 cycle" cannot be grasped before the acquisition of the first cycle data CD in the N + 1 cycle, whereas the "reference time T (n + 1) in the N + 1 cycle" is. , N + 1 can be grasped before the acquisition of the first cycle data CD of the cycle. That is, the PLC 10 adds a "time interval corresponding to the control cycle (= transmission cycle C)" to the "Nth cycle transmission start time S (n)" and "N + 1th cycle reference time T (n + 1)). Is calculated in advance before the acquisition of the first cycle data CD in the N + 1th cycle.

さらに、「N+1周期目における、送信開始時刻S(n+1)と基準時刻T(n+1)との差」は、「N周期目における、送信開始時刻S(n)と基準時刻T(n)との差」以下となることが、一般的である。 Further, the "difference between the transmission start time S (n + 1) and the reference time T (n + 1) in the N + 1th cycle" is "the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle". It is generally less than or equal to the difference.

そこで、PLC10は、「N+1周期目の基準時刻T(n+1)」に対し、「N周期目における送信開始時刻S(n)と基準時刻T(n)との差から生成した調整期間Ba」を含む期間を、送信禁止期間Bとして設定する。 Therefore, the PLC 10 sets the "adjustment period Ba generated from the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle" with respect to the "reference time T (n + 1) in the N + 1th cycle". The included period is set as the transmission prohibition period B.

したがって、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。 Therefore, the PLC 10 is appropriate in consideration of the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle and the data amount of the second cycle data ND. It is effective that the transmission prohibition period B (n + 1) can be set.

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, 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 sets the following. The transmission prohibition period B (n + 1) is set so as to be. That is, the setting unit 160 sets the transmission prohibition period B for 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 cycle becomes the end point. Set as (n + 1).

前記の構成によれば、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) in the Nth cycle is later than the reference time T (n) in the Nth cycle, the PLC10 ends at the reference time T (n + 1) in the N + 1th cycle. Therefore, the 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).

ここで、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) in the N + 1 cycle calculated by adding the above is generally later than the transmission start time S (n + 1) in the N + 1 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, from "the time retroactive from the reference time T (n + 1) in the N + 1 cycle to the basic period Bb (n + 1) corresponding to the time required for transmitting the second cycle data ND" to "the reference time T (n + 1) in the N + 1 cycle". It may not be sufficient to set only the period up to ")" as the transmission prohibition period B (n + 1). In other words, the desirable transmission prohibition period B (n + 1) is from "the time retroactive from the reference time T (n + 1) in the N + 1 cycle to the base time Bb (n + 1) in the N + 1 cycle" to "the reference time T (n + 1) in the N + 1 cycle". It is considered to be longer than the period of.

そこで、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 PLC 10 further sets the transmission prohibition period B (n + 1) in the N + 1th cycle in consideration of the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle. That is, in addition to setting the basic period Bb (n + 1) as the transmission prohibition period B (n + 1), the PLC 10 has a difference period V which 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 has an "N + 1 cycle" from "a time retroactive from the reference time T (n + 1) in the N + 1 cycle to a period including the total period of the basic period Bb (n + 1) and the adjustment period Ba (n + 1)". The period up to the reference time T (n + 1) of the eye is set as the transmission prohibition period B (n + 1).

したがって、PLC10は、N周期目において送信開始時刻S(n)が基準時刻T(n)よりも遅い場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。 Therefore, the PLC 10 is appropriate in consideration of the difference between the two and the data amount of the second cycle data ND even when the transmission start time S (n) is later than the reference time T (n) in the Nth cycle. It has the effect that the transmission prohibition period B (n + 1) can be set.

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, 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 earlier than the reference time T (n) of the Nth cycle, the setting unit 160 sets the following. The transmission prohibition period B (n + 1) is set so as to be. 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 cycle becomes the end point. Further, the setting unit 160 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 cycle becomes the starting point.

前記の構成によれば、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) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle, the PLC10 ends at the reference time T (n + 1) in the N + 1th cycle. Therefore, the period including the basic period Bb (n + 1) is set as the transmission prohibition period B (n + 1). Further, 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 cycle becomes the starting point.

ここで、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) in the N + 1 cycle calculated by adding the above is generally earlier than the transmission start time S (n + 1) in the N + 1 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, from "the time retroactive from the reference time T (n + 1) in the N + 1 cycle to the basic period Bb (n + 1) corresponding to the time required for transmitting the second cycle data ND" to "the reference time T (n + 1) in the N + 1 cycle". It may not be sufficient to set only the period up to ")" as the transmission prohibition period B (n + 1). In other words, the desirable transmission prohibition period B (n + 1) is from "the time retroactive from the reference time T (n + 1) in the N + 1 cycle to the base time Bb (n + 1) in the N + 1 cycle" to "the reference time T (n + 1) in the N + 1 cycle". It is considered to be longer than the period of.

そこで、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 PLC 10 further sets the transmission prohibition period B (n + 1) in the N + 1th cycle in consideration of the difference between the transmission start time S (n) and the reference time T (n) in the Nth cycle. That is, in addition to setting the basic period Bb (n + 1) as the transmission prohibition period B (n + 1), the PLC 10 has a difference period V which 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 sets the period from "the time retroactive from the reference time T (n + 1) in the N + 1 cycle to the basic period Bb (n + 1)" to "the reference time T (n + 1) in the N + 1 cycle". It is set as the transmission prohibition period B (n + 1). Further, the PLC 10 sets the period from "the reference time T (n + 1) in the N + 1 cycle" to "the time advanced from the reference time T (n + 1) in the N + 1 cycle to the time including the adjustment period Ba (n + 1)". , Set as the transmission prohibition period B (n + 1).

したがって、PLC10は、N周期目において送信開始時刻S(n)が基準時刻T(n)よりも早い場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。 Therefore, the PLC 10 is appropriate in consideration of the difference between the two and the data amount of the second cycle data ND even when the transmission start time S (n) is earlier than the reference time T (n) in the Nth cycle. It has the effect that the transmission prohibition period B (n + 1) can be set.

PLC10は、指示部180をさらに備えている。指示部180は、「第2送信部170(2)が、所定回数の制御周期(=送信周期C)にわたって連続して、第2周期データNDを送信しない」と、送信禁止期間Bであっても強制的に、第2送信部170(2)に、第2周期データNDの送信を開始させる。 The PLC 10 further includes an indicator 180. The instruction unit 180 states that "the second transmission unit 170 (2) does not continuously transmit the second cycle data ND over a predetermined number of control cycles (= transmission cycle C)" in the transmission prohibition period B. Also forcibly causes the second transmission unit 170 (2) to start the transmission of the second period data ND.

前記の構成によれば、PLC10は、第2周期データNDを所定回数の制御周期にわたって連続して送信しないと、送信禁止期間Bであっても強制的に、第2周期データNDの送信を開始する。したがって、PLC10は、所定回数の制御周期にわたって連続して送信されなかった第2周期データNDを、送信することができるとの効果を奏する。 According to the above configuration, the PLC 10 forcibly starts the transmission of the second cycle data ND even in the transmission prohibition period B unless the second cycle data ND is continuously transmitted over a predetermined number of control cycles. do. Therefore, the PLC 10 has the effect of being able to transmit the second period data ND that has not been continuously transmitted over a predetermined number of control cycles.

PLC10は、通知部190をさらに備えている。通知部190は、「第2送信部170(2)が、所定回数の制御周期にわたって連続して、第2周期データNDを送信しない」と、「第2送信部170(2)が所定回数の制御周期にわたって連続して第2周期データNDを送信しない」ことを外部に通知する。 The PLC 10 further includes a notification unit 190. The notification unit 190 states that "the second transmission unit 170 (2) does not continuously transmit the second cycle data ND over a predetermined number of control cycles" and "the second transmission unit 170 (2) has a predetermined number of times." Notify the outside that the second cycle data ND is not continuously transmitted over the control cycle.

前記の構成によれば、PLC10は、第2周期データNDを所定回数の制御周期にわたって連続して送信しないと、「第2周期データNDを所定回数の制御周期にわたって連続して送信していない」ことを外部に通知する。したがって、PLC10は、「第2周期データNDを所定回数の制御周期にわたって連続して送信していない」という状況が発生すると、そのような状況が発生していることを、外部に通知することができるとの効果を奏する。 According to the above configuration, the PLC 10 "does not continuously transmit the second cycle data ND over a predetermined number of control cycles" unless the second cycle data ND is continuously transmitted over a predetermined number of control cycles. Notify the outside. Therefore, when the situation that "the second cycle data ND is not continuously transmitted over a predetermined number of control cycles" occurs, the PLC 10 may notify the outside that such a situation has occurred. It has the effect of being able to do it.

以上に概要を説明したPLC10について、次に、図1を参照して、PLC10(特に、PLC10のCPUユニット100)のハードウェア構成例、および、(特に、FPGA101が備える)機能ブロックについて説明する。 With respect to the PLC 10 outlined above, a hardware configuration example of the PLC 10 (particularly, the CPU unit 100 of the PLC 10) and a functional block (particularly provided in the FPGA 101) will be described with reference to FIG.

§2.構成例
(CPUユニットのハードウェア構成)
図1は、PLC10のCPUユニット100の構成例を示す図である。図1に例示する通り、CPUユニット100は、ハードウェア構成として、FPGA101と、チップセット102と、マイクロプロセッサ103と、メインメモリ104と、不揮発性メモリ105と、を含む。CPUユニット100は、さらに、不図示のUSBコネクタを含んでもよい。チップセット102と他のコンポーネントとの間は、各種のバス(内部バス)を介してそれぞれ結合されている。なお、マイクロプロセッサ103とチップセット102とは、一体に形成されていてもよい。
§2. Configuration example (hardware configuration of CPU unit)
FIG. 1 is a diagram showing a configuration example of the CPU unit 100 of the PLC 10. As illustrated in FIG. 1, the CPU unit 100 includes an FPGA 101, a chipset 102, a microprocessor 103, a main memory 104, and a non-volatile memory 105 as hardware configurations. The CPU unit 100 may further include a USB connector (not shown). The chipset 102 and other components are connected to each other via various buses (internal buses). The microprocessor 103 and the chipset 102 may be integrally formed.

マイクロプロセッサ103およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、マイクロプロセッサ103は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、マイクロプロセッサ103に必要な命令コードを生成する。さらに、チップセット102は、マイクロプロセッサ103での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。 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 code sequentially supplied from the chipset 102 according to the internal clock. The chipset 102 exchanges internal data with various connected components and generates instruction codes necessary for the microprocessor 103. Further, the chipset 102 has a function of caching data and the like obtained as a result of executing arithmetic processing in the microprocessor 103.

CPUユニット100は、記憶手段として、メインメモリ104および不揮発性メモリ105を備えている。メインメモリ104は、揮発性の記憶領域(RAM)であり、CPUユニット100へ電源投入後にマイクロプロセッサ103で実行されるべき各種プログラムを保持する。また、メインメモリ104は、マイクロプロセッサ103による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104として、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等を用いることができる。 The CPU unit 100 includes a main memory 104 and a non-volatile 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 power is turned on to the CPU unit 100. The main memory 104 is also used as a working memory when executing various programs by the microprocessor 103. As such a main memory 104, for example, a DRAM (Dynamic Random Access Memory), a SRAM (Static Random Access Memory), or the like can be used.

一方、不揮発性メモリ105は、各種のプログラムおよびパラメータなどのデータを不揮発的に保持する。これらのデータは、必要に応じて、マイクロプロセッサ103がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ105は、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体、DVD-RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。 On the other hand, the non-volatile memory 105 non-volatilely holds data such as various programs and parameters. These data are copied to the main memory 104 for access by the microprocessor 103, if necessary. As such a non-volatile memory 105, a semiconductor memory such as a flash memory can be used. Alternatively, a magnetic recording medium such as a hard disk drive, an optical recording medium such as a DVD-RAM (Digital Versatile Disk Random Access Memory), or the like can be used.

FPGA101は、製造後にユーザが回路構成を設定することのできるプログラマブル論理回路であって、例えば出力データの送信および入力データの受信などの通信処理を含む種々の処理を実行する。FPGA101は、通信処理として、CPUユニット100以外のユニットおよびPLC10以外の装置へ出力データの送信と、CPUユニット100以外のユニットおよびPLC10以外の装置からの入力データの受信とを実行する。さらに、FPGA101は、通信処理として、メインメモリ104との間でデータの送受信を実行する。ただし、FPGA101が実行する処理は通信処理に限られるものではない。 The FPGA 101 is a programmable logic circuit whose circuit configuration can be set by a user after manufacturing, and executes various processes including communication processes such as transmission of output data and reception of input data. As communication processing, the FPGA 101 executes transmission of output data to a unit other than the CPU unit 100 and a device other than the PLC10, and reception of input data from a unit other than the CPU unit 100 and a device other than the PLC10. Further, the FPGA 101 executes data transmission / reception with / from the main memory 104 as a communication process. However, the processing executed by the FPGA 101 is not limited to the communication processing.

なお本実施形態において、CPUユニット100からCPUユニット100以外のユニットに出力されるデータ、および、PLC10からPLC10以外の装置に出力されるデータを、「出力データ」とも称す。また、CPUユニット100以外のユニットからCPUユニット100に入力されるデータ、および、PLC10以外の装置からPLC10に入力されるデータを、「入力データ」とも称す。 In the present embodiment, the data output from the CPU unit 100 to a unit other than the CPU unit 100 and the data output from the PLC 10 to a device other than the PLC 10 are also referred to as "output data". Further, the data input to the CPU unit 100 from a unit other than the CPU unit 100 and the data input to the PLC 10 from a device other than the PLC 10 are also referred to as "input data".

(第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への格納および送信依頼の実行主体とは、別の主体(例えば、別のコア)であってもよい。
(Overview of transmission preparation processing for the 1st cycle data CD and the 2nd cycle data ND)
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 chip set 102, for example. Set in main memory 104 (in other words, store data). Then, the microprocessor 103 requests the FPGA 101 to transmit the data set in the main memory 104 via the chipset 102. For example, the microprocessor 103 may be composed of a plurality of cores, and each core may store the data assigned to each core in the main memory 104 via the chipset 102. For example, the first core stores the first cycle data CD in the main memory 104, requests the FPGA 101 to transmit the first cycle data CD, and the second core stores the second cycle data ND in the main memory 104. The FPGA 101 may be requested to transmit the 1-cycle data CD. That is, each of the plurality of cores may store the data assigned to each core in the main memory 104 and execute the transmission request to the FPGA 101. In other words, the subject for storing the first period data CD in the main memory 104 and executing the transmission request and the subject for storing the second period data ND in the main memory 104 and executing the transmission request are different entities (for example, for example. It may be another core).

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 the 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) by the DMA (Dynamic Memory Access) function. Specifically, the FPGA 101 acquires the first period data CD from the main memory 104, and buffers the acquired first period data CD in the first transmission queue TXQ0. Similarly, the FPGA 101 acquires the second period data ND from the main memory 104, and buffers the acquired second period data ND in the second transmission queue TXQ1.

ここで、第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) in the Nth cycle. Then, when the transmission start time S (n) and the reference time T (n) do not match, the FPGA 101 calculates the difference period V (n), which is the difference between the two.

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 N + 1th front transmission of the difference period V (n). Set as a period. That is, when the transmission start time S (n) is later than the reference time T (n), the setting unit 160 sets the difference period V (n) as the adjustment period Ba (n + 1) before the reference time T (n + 1). Set. The front transmission prohibition period is a transmission prohibition period B that is additionally set in addition to the basic period Bb before the reference time T, and is a period during which transmission start of the second cycle data ND is prohibited.

具体的には、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, the FPGA 101 is described as "a period in which the" transmission start time S (n) is delayed from the reference time T (n) in the basic period Bb (= difference period V (n)) before the reference time T (n + 1). )) ”Is added as the transmission prohibition period B (n + 1). That is, the FPGA 101 prohibits transmission so that the end point of the period including the total period of the difference period V (n) (= adjustment period Ba (n + 1)) and the basic period Bb (n + 1) becomes the reference time T (n + 1). Set the period B (n + 1).

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 + 1th rear side 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). do. The rear transmission prohibition period is a transmission prohibition period B set after the reference time T, and is a period during which transmission start of the second cycle data ND is prohibited.

具体的には、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 FPGA 101 sets the basic period Bb as the transmission prohibition period B (n + 1) before the reference time T (n + 1). Further, the FPGA 101 prohibits transmission of "a period in which the transmission start time S (n) is earlier than the reference time T (n) in the Nth cycle (= difference period V (n))" after the reference time T (n + 1). It is set as the period B (n + 1). That is, the FPGA 101 sets the transmission prohibition period B (n + 1) so that the end point of the basic period Bb (n + 1) becomes the reference time T (n + 1). Further, the FPGA 101 sets the transmission prohibition period B (n + 1) so that the start point of the difference period V (n) (= adjustment period Ba (n + 1)) becomes the reference time T (n + 1).

送信可能状態となった第2周期データNDについて、FPGA101(特に、第2送信部170(2))は、第1周期データCDの送信中でも、送信禁止期間B中でもなければ、第2周期データNDの送信を開始する。FPGA101は、第1周期データCDの送信中または送信禁止期間B中であれば、第2周期データNDの送信を開始しない。FPGA101は、第1周期データCDの送信完了後、例えば、送信禁止期間Bを解除し、第2周期データNDの送信を開始する。 Regarding the second cycle data ND that is ready for transmission, the FPGA 101 (particularly, the second transmission unit 170 (2)) is not in the transmission of the first cycle data CD or in the transmission prohibition period B, the second cycle data ND. Start sending. The FPGA 101 does not start the transmission of the second cycle data ND if the transmission of the first cycle data CD or the transmission prohibition period B is in progress. After the transmission of the first cycle data CD is completed, the FPGA 101 cancels the transmission prohibition period B, for example, and starts the transmission of the second cycle data ND.

(FPGAの備える機能ブロック)
FPGA101は、機能ブロックとして、取得部110、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190を含んでいる。
(Functional block of FPGA)
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.

取得部110は、第1周期データCDと、その第1周期データCDの送信開始時刻Sとを、チップセット102を介して、例えばメインメモリ104から取得する。そして、取得部110は、取得した第1周期データCDおよび送信開始時刻Sを、送信キューテーブル121の第1送信キューTXQ0に格納し、言い換えれば、第1送信キューTXQ0にセットする。 The acquisition unit 110 acquires the first cycle data CD and the transmission start time S of the first cycle data CD from, for example, the main memory 104 via the chipset 102. Then, the acquisition unit 110 stores the acquired first period data CD and the transmission start time S in the first transmission queue TXQ0 of the transmission queue table 121, in other words, sets them in the first transmission queue TXQ0.

ここで、送信開始時刻Sは、定周期で送信すべき高優先データである第1周期データCDの送信を開始する予定時刻である。送信開始時刻Sは、第1周期データCDと共に上位システムによってメインメモリ104にセットされ、例えば、マイクロプロセッサ103によって、チップセット102を介して、メインメモリ104に第1周期データCDと共に格納される。 Here, the transmission start time S is a scheduled time for starting transmission of the first cycle data CD, which is high priority data to be transmitted at a fixed cycle. The transmission start time S is set in the main memory 104 by the host system together with the first cycle data CD, and is stored in the main memory 104 together with the first cycle data CD by the microprocessor 103 via the chipset 102, for example.

また、取得部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 acquisition unit 110 acquires the second period data ND via the chipset 102, for example, from the main memory 104, and stores the acquired second period data ND in the second transmission queue TXQ1 of the transmission queue table 121. do. The acquisition unit 110 acquires the transmission start time of the second cycle data ND and the second cycle data ND from the main memory 104, and the transmission start time of the acquired second cycle data ND and the second cycle data ND. May be stored in the second transmission queue TXQ1. However, in the following description, in order to facilitate the understanding of the PLC10 that "the transmission start of the first cycle data CD is secured at the transmission start time S", the transmission start time of the second cycle data ND is described. No particular explanation will be given.

算出部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 calculation unit 130 calculates a "reference time T (= reference time)" which is a time obtained by adding a time interval corresponding to the transmission cycle C of the first cycle data CD to be periodically transmitted to the transmission start time S. For example, the calculation unit 130 sets the time obtained by adding the "time interval corresponding to the transmission cycle C" to the transmission start time S (n) of the first cycle data CD in the Nth cycle as the reference time T in the N + 1th cycle (N + 1 cycle). n + 1). It should be noted that "T (0) = S (0)". The calculation unit 130 stores the calculated reference time T (for example, the reference time T (n + 1) in the N + 1 cycle) in the reference time table 122.

第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 first generation unit 140 determines the amount of data in the second cycle data ND stored in the second transmission queue TXQ1 (for example, the transmission data length). From, the basic period Bb is calculated. The basic period Bb is, for example, "the time required to transmit the second period data ND". The first generation unit 140 notifies the setting unit 160 of the calculated basic period Bb.

第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)を取得し、例えば、第1送信キューTXQ0を参照して、第1送信キューTXQ0に第1周期データCDと共にセットされている送信開始時刻S(n)を取得する。また、第2生成部150は、基準時刻テーブル122を参照して、N周期目の基準時刻T(n)を取得する。 The second generation unit 150 acquires the transmission start time S (n) of the first cycle data CD in the Nth cycle, refers to, for example, the first transmission queue TXQ0, and puts the first cycle data in the first transmission queue TXQ0. Acquires the transmission start time S (n) set together with the CD. Further, the second generation unit 150 acquires the reference time T (n) in the Nth cycle with reference to the reference time table 122.

第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)と、N周期目のN周期目の基準時刻T(n)とを比較し、両者が一致しない場合、両者の差である差分期間V(n)を算出し、算出した差分期間V(n)を、設定部160に通知する。 The second generation unit 150 compares the transmission start time S (n) of the first cycle data CD in the Nth cycle with the reference time T (n) in the Nth cycle of the Nth cycle, and when they do not match. , The difference period V (n), which is the difference between the two, is calculated, and the calculated difference period V (n) is notified to the setting unit 160.

なお、本実施形態においては、原則として、第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, as a general rule, the "transmission start time S", which is the time when the first cycle data CD should be transmitted, and the first transmission unit 170 (1) actually transmit the first cycle data CD. It shall be the same as the start time (actual transmission start time). In a certain control cycle M, when the "transmission start time S (m)" which is the time when the first cycle data CD should be transmitted and the actual transmission start time of the first cycle data CD do not match, the second generation unit In 150, the difference period V (n) is calculated as follows. That is, the second generation unit 150 is the difference between the "transmission start time S (m), which is the time when the first cycle data CD should be transmitted in the control cycle M" and the "reference time T (M) of the control cycle M". May be calculated as the difference period V (n). Further, the second generation unit 150 sets the difference between the "actual transmission start time of the first cycle data CD in the control cycle M" and the "reference time T (M) of the control cycle M" in the difference period V (n). It may be calculated as. When the "actual transmission start time of the first period data CD" is used for the calculation of the difference period V (n), the second generation unit 150 is referred to from the transmission unit 170 (particularly, the first transmission unit 170 (1)). The "actual transmission start time of the first cycle data CD in each control cycle (= each transmission cycle)" may be acquired.

設定部160は、基準時刻テーブル122を参照して取得した基準時刻Tに対して、第1生成部140から通知される基礎期間Bb、および、第2生成部150から通知される差分期間V(n)を用いて、N+1周期目の送信禁止期間B(n+1)を設定する。 The setting unit 160 has a basic period Bb notified by the first generation unit 140 and a difference period V (notified by the second generation unit 150) with respect to the reference time T acquired by referring to the reference time table 122. Using n), the transmission prohibition period B (n + 1) in the N + 1th cycle is set.

設定部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)に設定する。 When the "difference period V (n) = 0", the setting unit 160 determines that the reference time T (n) and the transmission start time S (n) match. Then, the setting unit 160 sets a 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 cycle becomes the end point. For example, the setting unit 160 has a transmission prohibition period B (transmission prohibition period B) starting from "a time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)" and ending at "reference time T (n + 1)". Set to n + 1).

設定部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)に設定する。 When the "difference period V (n)> 0", the setting unit 160 determines that the transmission start time S (n) is later than the reference time T (n). Then, the setting unit 160 sets the difference period V (n) as the N + 1th front transmission prohibition period (that is, the adjustment period Ba (n + 1)). Specifically, in the setting unit 160, the end point of the period including the total period of the difference period V (n) (= adjustment period Ba (n + 1)) and the basic period Bb (n + 1) is the reference time T (n + 1). As described above, the transmission prohibition period B (n + 1) is set. That is, before the reference time T (n + 1), the setting unit 160 states that "in the basic period Bb," the transmission start time S (n) is delayed from the reference time T (n) in the Nth cycle (= difference period). The period in which "V (n))" is added is set as the transmission prohibition period B (n + 1). For example, the setting unit 160 starts from "a time retroactive from the reference time T (n + 1) to the" total period of the difference period V (n) (= adjustment period Ba (n + 1)) and the basic period Bb (n + 1) "". Then, the period ending from the "reference time T (n + 1)" is set to the transmission prohibition period B (n + 1).

設定部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)に設定する。 When the "difference period V (n) <0", the setting unit 160 determines that the transmission start time S (n) is earlier than the reference time T (n). Then, the setting unit 160 sets the difference period V (n) as the N + 1th rear transmission prohibition period (that is, the adjustment period Ba (n + 1)). Specifically, the setting unit 160 sets the transmission prohibition period B (n + 1) so that the end point of the basic period Bb (n + 1) becomes the reference time T (n + 1). Further, the setting unit 160 sets the transmission prohibition period B (n + 1) so that the start point of the difference period V (n) (= adjustment period Ba (n + 1)) becomes the reference time T (n + 1). For example, the setting unit 160 starts from "the time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)" and sets "the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)". The period to be the end point is set to the transmission prohibition period B (n + 1).

送信部170は、データ送信を制御し、例えば、第1送信キューTXQ0にセットされた第1周期データCD、および、第2送信キューTXQ1にセットされた第2周期データNDの送信を制御し、第1送信部170(1)と第2送信部170(2)とを含む。 The transmission unit 170 controls data transmission, and controls, for example, transmission of the first cycle data CD set in the first transmission queue TXQ0 and the second cycle data ND set in the second transmission queue TXQ1. The first transmission unit 170 (1) and the second transmission unit 170 (2) are included.

第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, and specifically, the transmission of the first cycle data CD set in the first transmission queue TXQ0 is transmitted together with the first cycle data CD. It 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, and specifically, the transmission of the second cycle data ND set in the second transmission queue TXQ1 is "the first cycle data CD. It starts in a period other than "the period during transmission and the period of transmission prohibition B". That is, in the "period during transmission of the first cycle data CD" and the "period during the transmission prohibition period B", the second transmission unit 170 (2) does not start the transmission of the second cycle data ND. When the second transmission unit 170 (2) cannot continuously transmit the second cycle data ND in the 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. Notify the instruction unit 180 and the notification unit 190 that "the transmission has not been completed". In other words, the second transmission unit 170 (2) notifies the indicator unit 180 of the situation when the second cycle data ND cannot be continuously transmitted over a predetermined number of control cycles after being set in the second transmission queue TXQ1. Notify department 190.

指示部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 instruction unit 180 instructs the second transmission unit 170 (2) to start the transmission of the second cycle data ND even during the transmission prohibition period B, that is, the forced transmission of the second cycle data ND. To instruct. The instruction unit 180 indicates from the second transmission unit 170 (2) that "the second cycle data ND has not been continuously transmitted over a predetermined number of control cycles since the second cycle data ND became ready for transmission". Upon being notified, the second transmission unit 170 (2) may be automatically instructed to perform forced transmission. Further, when the user instructs the instruction unit 180 to forcibly transmit the second cycle data ND, the instruction unit 180 may instruct the second transmission unit 170 (2) to perform the forced transmission. Upon receiving this instruction from the instruction unit 180, the second transmission unit 170 (2) starts transmitting the second period data ND set in the second transmission queue TXQ1 even during the transmission prohibition period B.

通知部190は、第2送信部170(2)から「第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していない」ことを通知されると、以下の処理の実行を指示する。すなわち、通知部190は、「所定回数の制御周期にわたって連続して、第2周期データNDが送信されていない」旨を、例えばマイクロプロセッサ103等を介して、解析用デバイス50に通知して、その旨を解析用デバイス50に表示させる。 The notification unit 190 indicates from the second transmission unit 170 (2) that "the second cycle data ND has not been continuously transmitted over a predetermined number of control cycles since the second cycle data ND became capable of transmission". When notified, it instructs the execution of the following processing. That is, the notification unit 190 notifies the analysis device 50 that "the second cycle data ND has not been continuously transmitted over a predetermined number of control cycles", for example, via the microprocessor 103 or the like. The analysis device 50 is displayed to that effect.

(FPGAの備える記憶部)
図1に例示するFPGA101は、内部RAM120を備えている。内部RAM120は、FPGA101が使用する各種データを格納する記憶装置である。内部RAM120は、FPGA101が実行する各種処理の制御プログラム、および、その制御プログラムを実行するときに読み出す各種データを非一時的に記憶している。内部RAM120はさらに、送信キューテーブル121、基準時刻テーブル122、および、設定情報123を格納している。
(Memory unit provided by FPGA)
The FPGA 101 illustrated in FIG. 1 includes an internal RAM 120. The internal RAM 120 is a storage device for storing various data used by the FPGA 101. The internal RAM 120 non-temporarily stores 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.

送信キューテーブル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, it is simply referred to as "transmission queue TXQ". The transmission data from the host system is buffered in the transmission queue TXQ. For example, 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. Will be done.

例えば、第1送信キューTXQ0には、第1周期データCDと、その第1周期データCDの送信開始時刻Sとが、バッファリングされる(言い換えれば、第1周期データCDと、送信開始時刻Sとが、セットされる)。同様に、第2送信キューTXQ1には、第2周期データNDがバッファリングされる(つまり、セットされる)。 For example, the first cycle data CD and the transmission start time S of the first cycle data CD are buffered in the first transmission queue TXQ0 (in other words, the first cycle data CD and the transmission start time S). And are set). Similarly, the second period 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 set of transmission data to the transmission queue TXQ is completed, the transmission data is ready to start transmission to an actual network line such as the field network 20 and the PLC system bus 400. The transmit queue TXQ employs, for example, a FIFO (first in, first out, first in, first out) method.

なお、内部RAM120には、CPUユニット100の外部から受信するデータが格納される、不図示の受信キューテーブルがさらに格納されていてもよい。受信キューテーブルは、複数の受信キューRXQ0、RXQ1、・・・、RXQnを含み、RXQ0、RXQ1、・・・、RXQnの各々は、FIFO方式を採用していてもよい。 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 receive queue table includes a plurality of receive queues RXQ0, RXQ1, ..., RXQn, and each of RXQ0, RXQ1, ..., RXQn may adopt a FIFO method.

基準時刻テーブル122には、算出部130により算出される基準時刻Tが格納される。基準時刻Tは、送信開始時刻Sの代わりに、送信禁止期間Bを設定するための基準として算出され、具体的には、算出部130によって算出される(=生成される)。
算出部130は、例えば「T(0)=S(0)」として、「或る制御周期における送信開始時刻S」に「第1周期データCDの送信周期Cに相当する時間間隔」を付加した時刻を、「次の制御周期における基準時刻T」として算出する。そして、算出部130は、算出した「次の制御周期における基準時刻T」を基準時刻テーブル122に格納する。
The reference time T calculated by the calculation unit 130 is stored in the reference time table 122. The reference time T is calculated as a reference for setting the transmission prohibition period B instead of the transmission start time S, and specifically, is calculated (= generated) by the calculation unit 130.
The calculation unit 130 adds, for example, "T (0) = S (0)" to "the transmission start time S in a certain control cycle" and "the time interval corresponding to the transmission cycle C of the first cycle data CD". The time is calculated as "reference time T in the next control cycle". Then, the calculation unit 130 stores the calculated "reference time T in the next control cycle" in the reference time table 122.

設定情報123には、送信周期Cを含む、制御システム1の動作等に関係する、各種の設定情報が格納されている。送信周期Cは、「制御周期」とも称され、定周期で送信する高優先データである第1周期データCDの送信時間間隔である。FPGA101は、送信周期Cを以下の2つの方法のいずれかによって取得する。すなわち、FPGA101は、上位システムから(具体的には、チップセット102を介して、マイクロプロセッサ103から)通知される時間間隔を、送信周期Cとして、設定情報123に格納してもよい。また、FPGA101は、所定回数の制御周期分(例えば、N周期分)の、第1周期データCDの送信開始時刻Sの間の平均時間間隔を算出し、算出した平均時間間隔を、送信周期Cとして、設定情報123に格納してもよい。 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 which is high priority data to be 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 the transmission cycle C. It may be stored in the setting information 123.

これまでに概要を説明してきたCPUユニット100(特に、FPGA101)について、次に、図3等を用いて、CPUユニット100(特に、FPGA101)の実行する処理について、その概要を説明していく。 Regarding the CPU unit 100 (particularly FPGA101) whose outline has been described so far, the outline of the processing executed by the CPU unit 100 (particularly FPGA101) will be described next with reference to FIG. 3 and the like.

§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. Operation example (Overview of the processing executed by PLC10)
FIG. 3 is a flow chart showing an overall outline of the processing executed by the CPU unit 100 (particularly, FPGA 101). As illustrated in FIG. 3, the calculation unit 130 acquires the transmission start time S (n) in 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) in the N + 1 cycle is calculated (S200). The calculation unit 130 stores the calculated reference time T (n + 1) in the reference time table 122.

第1生成部140および第2生成部150は、送信禁止期間算出処理を実行する(S300)。送信禁止期間算出処理の詳細については、図4を用いて後述する。また、設定部160は、送信禁止期間設定処理を実行する(S400)。送信禁止期間設定処理の詳細については、図5を用いて後述する。 The first generation unit 140 and the second generation unit 150 execute the transmission prohibition period calculation process (S300). The details of the transmission prohibition period calculation process will be described later with reference to FIG. Further, the setting unit 160 executes the transmission prohibition period setting process (S400). The details of the transmission prohibition period setting process will be described later with reference to FIG.

第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 period 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 the transmittable state, the setting is made. Unit 160 ends the process, that is, the transmission prohibition period B is not set. Since there is no second cycle data ND in the transmittable state, the second transmission unit 170 (2) does not start the 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 in the first transmission queue TXQ0 at the transmission start time S. To start.

第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 period data ND is stored in the second transmission queue TXQ1 (Yes in S500), the second transmission unit 170 (2) confirms whether the transmission prohibition period B is in progress (Yes). S600). When the second transmission unit 170 (2) confirms that the transmission prohibition period B is in progress (Yes in S600), the second transmission unit 170 (2) is in a period other than the transmission prohibition period B after the transmission of the first period data CD is completed. Transmission of periodic data ND is started (S700). When the second transmission unit 170 (2) confirms that the transmission prohibition period B is not in progress (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 of the control device that outputs the first cycle data CD for each control cycle (specifically, the transmission cycle C), and is the first cycle data. The acquisition step (S100) for acquiring the CD together with the transmission start time S of the first cycle data CD, and the first cycle to be transmitted in the control cycle (= transmission cycle C) of the Nth cycle with N as a natural number of 0 or more. A calculation step (S200) for calculating the reference time T (n + 1) in the N + 1 cycle by adding a time interval corresponding to the transmission cycle C to the transmission start time S (n) of the data CD, and control of the N cycle. The 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) of the Nth cycle is set to the N + 1 cycle. Priority is given to the first cycle data CD during the setting step (S400) set at least one before and after the reference time T (n + 1) of the eye and the period other than the transmission prohibition period B (n + 1) set in the setting step. A transmission step (S700) for initiating transmission of the second period data ND having a low degree is included.

前記の方法によれば、前記制御方法は、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, in the control method, 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, the transmission prohibition period B (n + 1) for prohibiting the start of transmission of the second period data ND is calculated. Then, the control method is at least before and after the reference time T (n + 1) in the N + 1th cycle, which is calculated by adding the time interval corresponding to the transmission cycle C to the transmission start time S (n) in the Nth cycle. On the other hand, the transmission prohibition period B (n + 1) is set. Then, the control method starts the transmission of the second period data ND during a period other than 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 from each other, the transmission start time S and the reference time T (n) in the Nth cycle The transmission prohibition period B (n + 1) in consideration of the difference is set at least one before and after the reference time T (n + 1) in the N + 1 cycle.

したがって、前記制御方法は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差を考慮した適切な送信禁止期間B(n+1)を設定し、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できるとの効果を奏する。 Therefore, in the control method, even when the transmission start time S (n) and the reference time T (n) in the Nth cycle deviate from each other, an appropriate transmission prohibition period B (n + 1) is set in consideration of the difference between the two. Then, the transmission of the first cycle data CD can be started at the transmission start time S (n + 1) in the N + 1th 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 transmission prohibition period calculation process)
FIG. 4 is a flow chart illustrating the details of the transmission prohibition period calculation process of FIG. As illustrated in FIG. 4, first, the second generation unit 150 acquires the transmission start time S (n) of the first cycle data CD in the Nth cycle (S310). The second generation unit 150 may refer to the first transmission queue TXQ0 and acquire the transmission start time S (n) set in the first transmission queue TXQ0 together with the first period data CD. Further, 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.

また、第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に通知する。 Further, the second generation unit 150 acquires the reference time T (n) in the Nth cycle with reference to the reference time table 122 (S320). The second generation unit 150 compares the acquired transmission start time S (n) with the reference time T (n), and the transmission start time S (n) in the Nth cycle and the reference time T (n) in the Nth cycle. The difference from (= difference period V (n)) is calculated (S330). The second generation unit 150 calculates the difference period V (n) as, for example, "difference period V (n) = transmission start time S (n) -reference time T (n)". The second generation unit 150 notifies the setting unit 160 of the calculated difference period V (n).

第1生成部140は、第2送信キューTXQ1にセットされた第2周期データNDのデータ量を測定し(S340)、第2周期データNDの送信に要する期間(=基礎期間Bb(n+1))を算出する(S350)。第1生成部140は、算出した基礎期間Bb(n+1)を、設定部160に通知する。 The first generation unit 140 measures the amount of data of the second cycle data ND set in the second transmission queue TXQ1 (S340), and the period required for transmitting the second cycle data ND (= basic period Bb (n + 1)). Is calculated (S350). The first generation unit 140 notifies the setting unit 160 of the calculated basic period Bb (n + 1).

(送信禁止期間設定処理の詳細)
図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 flow chart illustrating the details of the transmission prohibition period setting process of FIG. As illustrated in FIG. 5, the setting unit 160 confirms whether the reference time T (n) in the Nth cycle and the transmission start time S (n) in the Nth cycle coincide with each other (S410). For example, when the difference period V (n) notified from the second generation unit 150 is “difference period V (n) = 0”, the setting unit 160 sets the reference time T (n) and the transmission start time S ( It is determined that n) and the same, and if the difference period V (n) is not 0, it is determined that the two do not match.

基準時刻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 as follows. The transmission prohibition period B (n + 1) is set in. 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 cycle becomes the end point (S420). For example, the setting unit 160 has a transmission prohibition period B (transmission prohibition period B) starting from "a time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)" and ending at "reference time T (n + 1)". Set as n + 1).

基準時刻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 setting unit 160 sets the Nth cycle. It is determined whether the transmission start time S (n) in the Nth cycle is later than the reference time T (n) (S430). When the setting unit 160 is "difference period V (n) = transmission start time S (n) -reference time T (n)> 0", the setting unit 160 transmits the Nth cycle from the reference time T (n) of the Nth cycle. It may be determined that the start time S (n) is late. Further, if the setting unit 160 determines that the "difference period V (n) <0", the transmission start time S (n) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle. good.

基準時刻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 setting unit 160 transmits as follows. The prohibition period B (n + 1) is set. That is, the setting unit 160 includes the sum of the basic period Bb (n + 1) and the adjustment period Ba (n + 1) (= difference period V (n)) so that the reference time T (n + 1) in the N + 1 cycle becomes the end point. The period is set as the transmission prohibition period B (n + 1) (S440). For example, the setting unit 160 starts from "a time retroactive from the reference time T (n + 1) to the total period of the basic period Bb (n + 1) and the adjustment period Ba (n + 1)" as the "reference time T (n + 1)". Is set as the transmission prohibition period B (n + 1).

基準時刻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 setting unit 160 transmits as follows. The prohibition period B (n + 1) is set. That is, the setting unit 160 sets the transmission prohibition period B to the period including the basic period Bb (n + 1) so that the reference time T (n + 1) in the N + 1 cycle becomes the end point (S450). For example, the setting unit 160 has a transmission prohibition period B (transmission prohibition period B) starting from "a time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)" and ending at "reference time T (n + 1)". Set as n + 1).

さらに、設定部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 setting unit 160 sets the transmission prohibition period B (n + 1) for a period including the adjustment period Ba (n + 1) (= difference period V (n)) so that the reference time T (n + 1) in the N + 1 cycle becomes the starting point. Is set as (S460). For example, the setting unit 160 sets a period starting from "reference time T (n + 1)" and ending at "time after the adjustment period Ba (n + 1) has elapsed from reference time T (n + 1)" as a transmission prohibition period B (transmission prohibition period B). Set as n + 1).

S450およびS460によって、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間が、送信禁止期間B(n+1)として設定される。 By S450 and S460, the starting point is "the time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)", and the end point is "the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)". The period to be performed 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 PLC 10 sets the length of the transmission prohibition period B (n + 1) set in the N + 1 cycle according to the transmission state of the first cycle data CD in the N cycle. It is dynamically changed and the transmission prohibition period B (n + 1) of the optimum length is set. Hereinafter, a specific processing example executed by the PLC 10 will be described with reference to FIGS. 6 and 7.

(処理例1 N周期目において、基準時刻Tより送信開始時刻Sが遅い場合)
図6は、N周期目において、基準時刻T(n)より送信開始時刻S(n)が遅い場合にPLC10(特に、FPGA101)が実行する処理の一例を、従来までの調整方法と対比して説明する図である。
(Processing example 1 In the Nth cycle, when the transmission start time S is later than the reference time T)
FIG. 6 shows an example of processing executed by the PLC 10 (particularly, FPGA 101) when the transmission start time S (n) is later than the reference time T (n) in the Nth cycle, in comparison with 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. For cases, problems that occur in the prior art are shown. As shown in FIG. 6A, when the transmission start time S (n) in the Nth cycle is later than the reference time T (n) in 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 cycle C" is added, shows the following tendency. That is, the reference time T (n + 1) in the N + 1 cycle tends to be later than the transmission start time S (n + 1) in the N + 1 cycle. Here, in the prior 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, a time later than the transmission start time S (n + 1) is set as a reference time T (n + 1), and before the reference time T (n + 1), "time required for transmission of the second cycle data ND". The 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, by setting the period from "the time retroactive from the transmission start time S (n + 1) to the time required for transmission of the second period data ND" to "the transmission start time S (n + 1)" as the transmission prohibition period B. , The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 6A, the transmission prohibition period B, which is the “time required for transmission of the second period data ND”, is before the reference time T (n + 1), which is later than the transmission start time S (n + 1). Is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is the “transmission start time” from the “time retroactive from the transmission start time S (n + 1) to the time required to transmit the second cycle data ND”. 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 when the second cycle data ND becomes transmitable is not included in the "period during transmission of the first cycle data CD" or the "period of the transmission prohibition period B", and is the second. Transmission of the periodic data ND is started immediately after the transmission becomes ready. 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 while the second period data ND is being transmitted. The 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)を設定する。 FIG. 6B is a diagram illustrating a transmission prohibition period B (n + 1) set by the PLC 10 when the transmission start time S (n) is later than the reference time T (n). When the transmission start time S (n) in the Nth cycle is later than the reference time T (n) in the Nth cycle, the FPGA 101 (particularly, the setting unit 160) has the transmission start time S (n) and the reference time T (n). The difference period V (n), which is the difference period with and from, is set as the N + 1th front transmission prohibition period. That is, the setting unit 160 sets the reference time T (n + 1) at the end point of the period including the total period of the difference period V (n) (= adjustment period Ba (n + 1)) and the basic period Bb (n + 1). The transmission prohibition period B (n + 1) is set.

終点が基準時刻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), (1) in FIG. In B), the transmission of the second period data ND is appropriately prohibited. That is, in (B) of FIG. 6, a transmission prohibition period B (n + 1) longer than the transmission prohibition period B (n + 1) of FIG. 6 (A) 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 "prohibiting the start of transmission of the second cycle data ND by an appropriate transmission prohibition period B (n + 1)" fails, the first transmission of the second cycle 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, it is possible to "prohibit the start of transmission of the second cycle data ND by an appropriate transmission prohibition period B (n + 1)", and the transmission of the first cycle data CD is performed. , The transmission start time S (n + 1).

(処理例2 N周期目において、基準時刻Tより送信開始時刻Sが早い場合)
図7は、N周期目において、基準時刻T(n)より送信開始時刻S(n)が早い場合にPLC10(特に、FPGA101)が実行する処理の一例を、従来までの調整方法と対比して説明する図である。
(Processing example 2 In the Nth cycle, when the transmission start time S is earlier than the reference time T)
FIG. 7 shows an example of the 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, in comparison 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, when 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 occurs in the prior art. As shown in FIG. 7A, 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 cycle” is set to 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 cycle tends to be earlier than the transmission start time S (n + 1) in the N + 1 cycle. Here, in the prior 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, a time earlier than the transmission start time S (n + 1) is set as the reference time T (n + 1), and before the reference time T (n + 1), the "time required for transmission of the second cycle data ND" is used. 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, by setting the period from "the time retroactive from the transmission start time S (n + 1) to the time required for transmission of the second period data ND" to "the transmission start time S (n + 1)" as the transmission prohibition period B. , The transmission of the first period data CD can be started at the transmission start time S (n + 1). However, in FIG. 7A, the transmission prohibition period B, which is the “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). It is set. That is, the transmission prohibition period B set by the prior art before the reference time T (n + 1) is the “transmission start time” from the “time retroactive from the transmission start time S (n + 1) to the time required to transmit the second cycle data ND”. 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 when the second cycle data ND becomes transmitable is not included in the "period during transmission of the first cycle data CD" or the "period of the transmission prohibition period B", and is the second. Transmission of the periodic data ND is started immediately after the transmission becomes ready. In FIG. 7A, the time when 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 while the second cycle data ND is being transmitted. The 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)として設定する。 FIG. 7B is a diagram illustrating a 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). When the transmission start time S (n) in the Nth cycle is earlier than the reference time T (n) in the Nth cycle, the FPGA 101 (particularly, the setting unit 160) has the transmission start time S (n) and the reference time T (n). The difference period V (n), which is the difference period with and from, is set as the N + 1th rear transmission prohibition period. That is, the setting unit 160 sets the difference period V (n) (= adjustment period Ba (n + 1)) after the reference time T (n + 1), and the start point of the difference period V (n) becomes the reference time T (n + 1). As described above, the transmission prohibition period B (n + 1) is set. Specifically, the setting unit 160 sets the time from "reference time T (n + 1)" to "time after the difference period V (n) (= adjustment period Ba (n + 1)) from the reference time T (n + 1)". It is set as the transmission prohibition period B (n + 1).

また、設定部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)として設定する。 Further, the setting unit 160 sets the basic period Bb (n + 1) as the transmission prohibition period B (n + 1) so that the end point of the basic period Bb (n + 1) becomes the reference time T (n + 1). Specifically, the setting unit 160 sets the transmission prohibition period B (n + 1) from the “time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)” to the “reference time T (n + 1)”. do.

したがって、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」までを、送信禁止期間B(n+1)として設定する。 Therefore, the setting unit 160 sets the time from "the time retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)" to "the time after the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)". It is set as the transmission prohibition period B (n + 1).

「基準時刻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 retroactive from the reference time T (n + 1) to the basic period Bb (n + 1)" to "the time when the adjustment period Ba (n + 1) has elapsed from the reference time T (n + 1)". By setting as, in FIG. 7B, the 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) in FIG. 7 (A) 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 "prohibiting the start of transmission of the second cycle data ND by an appropriate transmission prohibition period B (n + 1)" fails, the first transmission of the second cycle 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, it is possible to "prohibit the start of transmission of the second cycle data ND by an appropriate transmission prohibition period B (n + 1)", and the transmission of the first cycle data CD is performed. , The transmission start time S (n + 1).

(通知処理および強制送信処理)
例えば、送信周期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 attempting to transmit second cycle data ND (that is, second cycle data ND with a large amount of data) having a long transmission time with respect to transmission cycle C (= control cycle), transmission of second cycle data ND is performed. The following problems may occur with respect to. That is, the basic period Bb increases in proportion to the amount of data in the second period data ND, and here, the length of the transmission prohibition period B is equal to or greater than the length of the basic period Bb (the transmission prohibition period B is the basic period). Includes the total period of period Bb and adjustment period Ba). Therefore, when the amount of data in the second cycle data ND becomes large, the length of the transmission prohibition period B may be longer than the length of the transmission cycle C (= control cycle). In that case, for example, the transmission prohibition time B always occurs 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. The problem can occur.

その対応として、所定回数の制御周期にわたって連続して第2周期データNDの送信ができないと、PLC10は、そのような状況の発生を外部に通知する通知処理を実行する。また、PLC10は、送信禁止期間Bに関わらず、第2周期データNDの送信を開始する強制送信処理を実行する。 As a countermeasure, if the second cycle data ND cannot be continuously transmitted over a predetermined number of control cycles, the PLC 10 executes a notification process for notifying the outside of the occurrence of such a situation. Further, the PLC 10 executes a forced transmission process for starting the transmission of the second period data ND regardless of the transmission prohibition period B.

例えば、通知部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 notification unit 190 continuously detects "a state in which transmission of the second cycle data ND cannot be performed due to the transmission prohibition period B" over a predetermined number of times (for example, M times). Then, the following processing is executed.
That is, the notification unit 190 notifies the host system (for example, the microprocessor 103) of the occurrence of "a state in which the second cycle data ND cannot be continuously transmitted over the M cycle due to the transmission prohibition period B". ,Notice. The host system causes the analysis device 50 connected to the CPU unit 100 to be in a state where the second cycle data ND cannot be continuously transmitted over the M cycle due to the transmission prohibition period B. Notice. When the analysis device 50 receives the notification from the host system, the user is informed of the occurrence of "a state in which the second cycle data ND cannot be continuously transmitted over the M cycle due to the transmission prohibition period B". indicate.

また、上位システム(例えば、マイクロプロセッサ103)は、第2周期データNDの強制送信処理の実行を指示するユーザ操作を受け付けると、第2周期データNDの強制送信処理の実行を、例えばチップセット102等を介して、FPGA101に指示する。FPGA101(特に、指示部180)は、第2送信部170(2)に、送信禁止期間B中であっても、第2周期データNDの送信を開始するように指示する。第2送信部170(2)は、指示部180からの指示に従って、第2送信キューTXQ1にセットされている第2周期データNDの送信を、送信禁止期間Bであるか否かに関わらず、開始する。 Further, when the host system (for example, the microprocessor 103) receives a user operation instructing the execution of the forced transmission process of the second cycle data ND, the host set 102 executes the forced transmission process of the second cycle data ND, for example. Instruct the FPGA 101 via the like. The FPGA 101 (particularly, the instruction unit 180) instructs the second transmission unit 170 (2) to start the transmission of the second period data ND even during the transmission prohibition period B. According to the instruction from the instruction unit 180, the second transmission unit 170 (2) transmits the second period data ND set in the second transmission queue TXQ1 regardless of whether or not the transmission prohibition period B is set. Start.

§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. Modification example So far, 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 CPU unit 100 in the PLC 10 (particularly,). The FPGA 101) may include a plurality of transmission queues. That is, a plurality of transmission queues (TXQ0, TXQ1, ... TXQ (n-1)) may be provided in the CPU unit 100 (particularly FPGA101) in the PLC 10.

また、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 FPGA101) in the PLC 10 controls the transmission of data set in each of the plurality of transmission queues (TXQ0, TXQ1, ... TXQ (n-1)), and a plurality of transmissions. It may be provided with a part. For example, the FPGA 101 includes first transmission units 170 (1) to N + 1th transmission units 170 (n) that control the transmission of each of the data set in each of the first transmission queue TXQ0 to the N + 1th transmission queue TXQn. You may.

これまで、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)を算出してもよい。 So far, with N as a natural number of 0 or more, the calculation unit 130 adds a time interval corresponding to the control cycle (= transmission cycle C) to the transmission start time S (n) in the Nth cycle, and is in the N + 1th cycle. An example of calculating the reference time T (n + 1) of the above has been described. Here, with M as a natural number of 1 or more, the calculation unit 130 sets the transmission start time S (n) of the Nth cycle to a period M times the "time interval corresponding to the control cycle (= transmission cycle C)". In addition, the reference time T (n + m) in the N + M cycle may be calculated.

また、前述の通り、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 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. Then, the calculated average time interval may be used as the transmission cycle C. Here, when the transmission cycle C is calculated from the average time interval between the transmission start times S of the plurality of first cycle data CDs, and when there is no first cycle data CD to be transmitted in a certain control cycle, the transmission cycle C The FPGA 101 executes the following processing in order to accurately calculate. That is, when there is no first cycle data CD to be transmitted in the Pth control cycle, the FPGA 101 has a transmission start time S (p-1) in the P-1st control cycle and a transmission start in the P + 1st control cycle. The time interval between time S (p + 1) is not used in the calculation of the transmission cycle C.

これまで、取得部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を用いて実現されてもよい。 So far, 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 FPGA (Field-Programmable). We have explained an example realized in gate array). However, it is not essential that these functional blocks are realized by using FPGA, and may be realized by using, for example, 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 by using the ASIC. You may.

本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the claims, and the embodiments obtained by appropriately combining the technical means disclosed in the 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)
110 Acquisition unit 130 Calculation unit 140 1st generation unit 150 2nd generation unit 160 Setting unit 170 2nd transmission unit (transmission unit)
180 Indicator 190 Notification B Transmission prohibition period C Transmission cycle (control cycle)
S Transmission start time T Reference time Ba Adjustment period Bb Basic period CD 1st cycle data ND 2nd cycle data S100 Acquisition step S200 Calculation step S400 Setting step S700 Transmission step

Claims (7)

制御周期ごとに第1周期データを出力する制御装置であって、
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得部と、
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定部と、
前記設定部により設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信部と、
前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成部と、
を備え、
前記設定部によって設定される前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含み、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも遅い場合、前記設定部は、N+1周期目の基準時刻が終点となるように、前記基礎期間と前記調整期間との合計期間を含む期間を、前記送信禁止期間として設定することを特徴とする制御装置。
It is a control device that outputs the first cycle data for each control cycle.
An acquisition unit that acquires the first period data together with the transmission start time of the first period data, and
The reference time for the N + 1 cycle is calculated by adding a time interval corresponding to the control cycle to the 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. Calculation unit and
The transmission prohibition period generated by 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 + 1th cycle and The setting part to be set on at least one of the back and
A transmission unit that starts transmission of second period data having a lower priority than the first period data during a period other than the transmission prohibition period set by the setting unit.
A first generation unit that generates a basic period, which is a period required for transmission of the second period data, from the amount of data of the second period data.
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 in the control cycle of the Nth cycle and the reference time of the Nth cycle.
Equipped with
The transmission prohibition period set by the setting unit includes the total period of the basic period and the adjustment period.
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 unit sets the end point so that the reference time of the N + 1th cycle becomes the end point. A control device characterized in that a period including a total period of the basic period and the adjustment period is set as the transmission prohibition period.
制御周期ごとに第1周期データを出力する制御装置であって、
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得部と、
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定部と、
前記設定部により設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信部と、
前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成部と、
を備え、
前記設定部によって設定される前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含み、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも早い場合、前記設定部は、N+1周期目の基準時刻が終点となるように前記基礎期間を含む期間を前記送信禁止期間として設定し、かつ、N+1周期目の基準時刻が始点となるように前記調整期間を含む期間を前記送信禁止期間として設定する
ことを特徴とする制御装置。
It is a control device that outputs the first cycle data for each control cycle.
An acquisition unit that acquires the first period data together with the transmission start time of the first period data, and
The reference time for the N + 1 cycle is calculated by adding a time interval corresponding to the control cycle to the 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. Calculation unit and
The transmission prohibition period generated by 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 + 1th cycle and The setting part to be set on at least one of the back and
A transmission unit that starts transmission of second period data having a lower priority than the first period data during a period other than the transmission prohibition period set by the setting unit.
A first generation unit that generates a basic period, which is a period required for transmission of the second period data, from the amount of data of the second period data.
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 in the control cycle of the Nth cycle and the reference time of the Nth cycle.
Equipped with
The transmission prohibition period set by the setting unit includes the total period of the basic period and the adjustment period.
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 may use the reference time of the N + 1th cycle as the end point. The control is characterized in that 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 cycle becomes the starting point. Device.
制御周期ごとに第1周期データを出力する制御装置であって、
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得部と、
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定部と、
前記設定部により設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信部と、
前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成部と、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成部と、
を備え、
前記設定部によって設定される前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含み、
前記設定部は、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも遅い場合、N+1周期目の基準時刻が終点となるように、前記基礎期間と前記調整期間との合計期間を含む期間を、前記送信禁止期間として設定し、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも早い場合N+1周期目の基準時刻が終点となるように前記基礎期間を含む期間を前記送信禁止期間として設定し、かつ、N+1周期目の基準時刻が始点となるように前記調整期間を含む期間を前記送信禁止期間として設定する
ことを特徴とする制御装置。
It is a control device that outputs the first cycle data for each control cycle.
An acquisition unit that acquires the first period data together with the transmission start time of the first period data, and
The reference time for the N + 1 cycle is calculated by adding a time interval corresponding to the control cycle to the 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. Calculation unit and
The transmission prohibition period generated by 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 + 1th cycle and The setting part to be set on at least one of the back and
A transmission unit that starts transmission of second period data having a lower priority than the first period data during a period other than the transmission prohibition period set by the setting unit.
A first generation unit that generates a basic period, which is a period required for transmission of the second period data, from the amount of data of the second period data.
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 in the control cycle of the Nth cycle and the reference time of the Nth cycle.
Equipped with
The transmission prohibition period set by the setting unit includes the total period of the basic period and the adjustment period.
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 unit sets the reference time of the N + 1th cycle as the end point. A period including the total period of the basic period and the adjustment period is set as the transmission prohibition period.
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 period including the basic period so that the reference time of the N + 1th cycle becomes the end point. 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 in the N + 1 cycle becomes the starting point.
前記送信部が、所定回数の前記制御周期にわたって連続して、前記第2周期データを送信しないと、前記送信禁止期間であっても強制的に、前記送信部に、前記第2周期データの送信を開始させる指示部をさらに備える
ことを特徴とする請求項1からのいずれか1項に記載の制御装置。
If the transmission unit does not continuously transmit the second cycle data over a predetermined number of control cycles, the second cycle data is forcibly transmitted to the transmission unit even during the transmission prohibition period. The control device according to any one of claims 1 to 3 , further comprising an instruction unit for starting the above.
前記送信部が、所定回数の前記制御周期にわたって連続して、前記第2周期データを送信しないと、前記送信部が前記所定回数の前記制御周期にわたって連続して前記第2周期データを送信しないことを外部に通知する通知部をさらに備える
ことを特徴とする請求項1からのいずれか1項に記載の制御装置。
Unless the transmitting unit continuously transmits the second cycle data over a predetermined number of times of the control cycle, the transmitting unit does not continuously transmit the second cycle data over the predetermined number of times of the control cycle. The control device according to any one of claims 1 to 4 , further comprising a notification unit for notifying the outside.
制御周期ごとに第1周期データを出力する制御装置の制御方法であって、
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得ステップと、
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出ステップと、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定ステップと、
前記設定ステップにて設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信ステップと、
前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成ステップと、
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成ステップと、
を含み、
前記設定ステップにて設定された前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含み、
前記設定ステップにて、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも遅い場合、N+1周期目の基準時刻が終点となるように、前記基礎期間と前記調整期間との合計期間を含む期間を、前記送信禁止期間として設定する
ことを特徴とする制御方法。
It is a control method of a control device that outputs the first cycle data for each control cycle.
An acquisition step of acquiring the first period data together with the transmission start time of the first period data, and
The reference time for the N + 1 cycle is calculated by adding a time interval corresponding to the control cycle to the 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. Calculation steps to be performed and
The transmission prohibition period generated by 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 + 1th cycle and Setting steps to set at least one of the back and
A transmission step for starting transmission of second cycle data having a lower priority than the first cycle data during a period other than the transmission prohibition period set in the setting step, and a transmission step.
A first generation step of generating a basic period, which is a period required for transmission of the second period data, from the amount of data of the second period data, and
A second generation step that generates an adjustment period that is 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.
Including
The transmission prohibition period set in the setting step includes the total period of the basic period and the adjustment period.
In the setting step, 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 reference time of the N + 1th cycle becomes the end point. , The period including the total period of the basic period and the adjustment period is set as the transmission prohibition period.
A control method characterized by that.
制御周期ごとに第1周期データを出力する制御装置の制御方法であって、It is a control method of a control device that outputs the first cycle data for each control cycle.
前記第1周期データを、前記第1周期データの送信開始時刻と共に取得する取得ステップと、An acquisition step of acquiring the first period data together with the transmission start time of the first period data, and
Nを0以上の自然数として、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻に、前記制御周期に相当する時間間隔を付加して、N+1周期目の基準時刻を算出する算出ステップと、The reference time for the N + 1 cycle is calculated by adding a time interval corresponding to the control cycle to the 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. Calculation steps to be performed and
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差を用いて生成された送信禁止期間を、N+1周期目の基準時刻の前および後ろの少なくとも一方に設定する設定ステップと、The transmission prohibition period generated by 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 + 1th cycle and Setting steps to set at least one of the back and
前記設定ステップにて設定された前記送信禁止期間でない期間に、前記第1周期データより優先度が低い第2周期データの送信を開始する送信ステップと、A transmission step for starting transmission of second cycle data having a lower priority than the first cycle data during a period other than the transmission prohibition period set in the setting step, and a transmission step.
前記第2周期データのデータ量から、前記第2周期データの送信に要する期間である基礎期間を生成する第1生成ステップと、A first generation step of generating a basic period, which is a period required for transmission of the second period data, from the amount of data of the second period data,
N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻と、N周期目の基準時刻との差である調整期間を生成する第2生成ステップと、A second generation step that generates an adjustment period that is 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.
を含み、Including
前記設定ステップにて設定された前記送信禁止期間は、前記基礎期間と前記調整期間との合計期間を含み、The transmission prohibition period set in the setting step includes the total period of the basic period and the adjustment period.
前記設定ステップにて、N周期目の制御周期に送信すべき前記第1周期データの送信開始時刻が、N周期目の基準時刻よりも早い場合、N+1周期目の基準時刻が終点となるように前記基礎期間を含む期間を前記送信禁止期間として設定し、かつ、N+1周期目の基準時刻が始点となるように前記調整期間を含む期間を前記送信禁止期間として設定するIn the setting step, 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 reference time of the N + 1th cycle becomes 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 cycle becomes the starting point.
ことを特徴とする制御方法。A control method characterized by that.
JP2018113843A 2018-06-14 2018-06-14 Control device and its control method Active JP7056395B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018113843A JP7056395B2 (en) 2018-06-14 2018-06-14 Control device and its control method
PCT/JP2019/021152 WO2019239884A1 (en) 2018-06-14 2019-05-28 Control device, and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018113843A JP7056395B2 (en) 2018-06-14 2018-06-14 Control device and its control method

Publications (2)

Publication Number Publication Date
JP2019215818A JP2019215818A (en) 2019-12-19
JP7056395B2 true JP7056395B2 (en) 2022-04-19

Family

ID=68843289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018113843A Active JP7056395B2 (en) 2018-06-14 2018-06-14 Control device and its control method

Country Status (2)

Country Link
JP (1) JP7056395B2 (en)
WO (1) WO2019239884A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021214966A1 (en) * 2020-04-24 2021-10-28 三菱電機株式会社 Communication device, communication system, communication method, and program
JP2023138057A (en) * 2022-03-18 2023-09-29 株式会社東芝 control system

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
WO2019239884A1 (en) 2019-12-19
JP2019215818A (en) 2019-12-19

Similar Documents

Publication Publication Date Title
JP6488830B2 (en) Control device
JP6540166B2 (en) Control device
US9618922B2 (en) CPU of PLC, system program for PLC, and recording medium storing system program for PLC
JP4807475B1 (en) Arithmetic unit, output control method, and program
US10496079B2 (en) Control device and control method
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
CN110456707B (en) Control device
US8504176B2 (en) CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
JP6729746B2 (en) Control device
US10291233B2 (en) Control system and pulse output device
JP7056395B2 (en) Control device and its control method
JP2012194670A (en) Cpu unit for plc, system program for plc and recording medium for storing system program for plc
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
US20190095246A1 (en) Support device and non-transitory storage medium
JP2008135855A (en) Data transmission/reception system
JP7110911B2 (en) Control method for controller and communication control unit provided in controller
JP7453061B2 (en) Communication control system and communication control method
JP2012194955A (en) Support device, display control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220321

R150 Certificate of patent or registration of utility model

Ref document number: 7056395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150