JP7056395B2 - Control device and its control method - Google Patents
Control device and its control method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
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,
しかしながら、上述のような従来技術には、同一経路を利用する複数の送信について、或る送信について、一般的に予想される送信開始時刻(=基準時刻)と実際の送信開始時刻とは乖離し得るという点を考慮できていないという問題がある。以下、図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.
〔実施形態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
PLC10についての理解を容易にするため、以下では先ず、図8および図9を参照して従来技術の概要を説明し、その後に、PLC10の概要を説明していくこととする。
In order to facilitate the understanding of the
§1.適用例
(従来技術の概要および課題)
図8において、第1周期データCDの送信と第2周期データNDの送信とは同一経路を利用し、第1周期データCDの送信中は、第2周期データNDを送信ができず、第2周期データNDの送信中は、第1周期データCDを送信ができない。第1周期データCDは、第1周期データCDを送信すべき時刻である「送信開始時刻S」と共に第1送信キューTXQ0にバッファリングされ、バッファリングが完了すると送信可能状態となる。同様に、第2周期データNDは、第2送信キューTXQ1にバッファリングされ、バッファリングが完了すると送信可能状態となる。第1周期データCDは周期的に送信され、N周期目に送信すべき第1周期データCDの送信開始時刻Sは「送信開始時刻S(n)」、N+1周期目に送信すべき第1周期データCDの送信開始時刻Sは「送信開始時刻S(n+1)」と表現される。
§1. Application example (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の概要)
図2は、制御システム1の全体概要を示す図である。図1に例示する制御システム1において、1つ以上のPLC10と、PLC10により動作が制御される機器とは、フィールドネットワーク20等の制御系のネットワークに接続されている。図2のPLC10には、フィールドネットワーク20およびPLCシステムバス400などのネットワークを介して、サーボドライバ33および34が接続され、サーボドライバ33および34の各々にはさらにサーボモータ41および42の各々が接続されている。
(Outline of PLC according to this embodiment)
FIG. 2 is a diagram showing an overall outline of the
PLC10は、生産設備内の入力機器および出力機器の制御等を司る制御装置である。例えば、PLC10は、フィールドネットワーク20およびPLCシステムバス400などのネットワークに、第1周期データCDおよび第2周期データNDを送信し、特に、第1周期データCDおよび第2周期データNDの送信について、以下の処理を実行する。すなわち、PLC10は、「第2周期データNDの送信によって送信開始時刻Sに第1周期データCDの送信を開始できない」事態が発生するのを回避するため、第2周期データNDの送信が禁止される送信禁止期間Bを設定する。なお以下では、PLC10は、周期的に(具体的には、制御周期(具体的には、送信周期C)ごとに)、第1周期データCDを送信するものとする。以下、PLC10が制御する、第1周期データCDおよび第2周期データNDの送受信について、詳細に説明する。
The
(第1周期データCDの送受信)
第1に、PLC10と機器とは、生産設備に対する高速高精度な制御を実行するために、フィールドネットワーク20を介してサイクリック(つまり、周期的に)に通信を行なって、INデータおよびOUTデータ(以下、「IOデータ」という)を送受信する。第1周期データCDは、例えば、このような「生産設備に対する高速高精度な制御を実行するためのIOデータ」であり、「生産設備に対する高速高精度な制御を実行するためのデータ」は「制御データ」とも称される。
(Transmission and reception of 1st period data CD)
First, the
PLC10は、ラダーロジック(ラダー言語)によって記述されたラダープログラム(ソースプログラム)などがコンパイルされることにより生成されたユーザプログラムを実行することにより、制御対象に対する高速かつ高精度の制御を実行する。ここで、「ユーザプログラム」は、ユーザの制御対象(例えば、対象のラインおよびプロセス)に応じて作成され、すなわち、制御システム1を用いて制御する制御対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。オブジェクトプログラム形式のユーザプログラムは、PLC10の不揮発性メモリ105などに格納される。ユーザプログラムは、CPUユニット100のマイクロプロセッサ103で実行され、その実行結果が、制御データとして、つまり、第1周期データCDとして、PLC10の制御対象へと送信される。
The
具体的には、制御対象に対する高速かつ高精度の制御のためのユーザプログラムは、高速周期で、マイクロプロセッサ103によって繰り返し実行され、PLC10は、その実行結果である第1周期データCDを定周期で制御対象へと送信する。PLC10(特に、CPUユニット100)は、IOユニット301~303および特殊ユニット304などの機能ユニットと、サーボドライバ33および34、リモートIOターミナル35などのスレーブ装置とに、第1周期データCDを定周期で送信する。ここで、生産設備に対する高速かつ高精度の制御のためには、PLC10から各制御機器への命令頻度を高める必要があり、PLC10によるスレーブ装置(フィールド機器)への第1周期データCDの送信については、μsオーダーでの通信が要求される。
Specifically, the user program for high-speed and high-precision control of the controlled object is repeatedly executed by the
(第2周期データNDの送受信)
第2に、PLC10(特に、CPUユニット100)は、生産設備の高速かつ高精度な制御に加えて、以下の処理を実行する。すなわち、PLC10は、例えば、(1)外部のデータベースとの接続に係る処理、(2)外部の表示装置との接続に係る処理、および(3)制御対象から取得する情報を蓄積し、蓄積した情報を外部のサーバに送信する処理などを実行する。具体的には、PLC10は、第1周期データCD(制御データ)以外のデータの送信および受信(収集)を実行し、例えば、機能ユニット、スレーブ装置、および、各種の外部機器(例えば、外部の情報系サーバ)との間で、第2周期データNDを送受信する。
(Transmission and reception of second period data ND)
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
第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
(制御システムを構成する機器の概要)
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
CPUユニット100は、制御対象の状態等に係る種々の処理を実行し、例えば、「出力データの送信と、入力データの受信と、入力データを使用して出力データを生成する制御プログラムの実行とを繰り返すことによって制御対象を制御する」処理を実行する。CPUユニット100の詳細については、図1を参照して後述する。
The
電源ユニット200は、CPUユニット100、IOユニット301~303、および、特殊ユニット304に、適切な電圧の電源を供給する。
The
IOユニット301~303は、各々、一般的な入出力処理に関するユニットであり、オン/オフといったデータ(つまり、2値化されたデータ)の入出力を司る。具体的には、IOユニット301~303の各々は、センサなどの入力機器であるデバイス31が何らかの対象物を検出している状態(オン)、および、何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット301~303の各々は、リレー、アクチュエータといった出力機器であるデバイス32に対して、活性化するための指令(オン)、および、不活性化するための指令(オフ)のいずれかを出力する。
Each of the
特殊ユニット304は、IOユニット301~303が処理するデータとは異なるデータ(例えば、アナログデータ)の入出力、温度制御、特定の通信方式による通信といった、IOユニット301~303ではサポートしない機能を有する。
The
フィールドネットワーク20は、CPUユニット100とフィールド機器(サーボドライバ33、サーボドライバ34、および、リモートIOターミナル35等)との間で遣り取りされる各種データを伝送する。フィールドネットワーク20としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネットとしては、例えば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)-III、Powerlink、SERCOS(登録商標)-III、CIP Motionなどが知られている。なお、フィールドネットワーク20として、産業用イーサネット以外のフィールドネットワークを用いてもよい。例えば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。
The
なおPLC10は、CPUユニット100にIOユニット301~303の各々の機能およびサーボドライバ33および34の機能を持たせることにより、そのような内蔵機能でまかなえる範囲については、CPUユニット100が直接制御対象を制御してもよい。
In the
サーボドライバ33および34の各々は、フィールドネットワーク20を介してCPUユニット100と接続されるとともに、CPUユニット100からの指令値に従ってサーボモータ41および42の各々を駆動する。なお、図2には、サーボモータ41および42の各々とサーボドライバ33および34の各々とを組み合わせたシステム例を示したが、その他の構成、たとえば、パルスモータとパルスモータドライバとを組み合わせたシステムを採用することもできる。
Each of the
リモートIOターミナル35は、基本的には、IOユニット301~303と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル35は、フィールドネットワーク20でのデータ伝送に係る処理を行うための通信カプラ36と、1つ以上のIOユニット(図2の例では、IOユニット37および38)とを含む。通信カプラ36と、IOユニット37および38の各々とは、リモートIOターミナルバス39を介して、データを互いに遣り取りできるように構成される。
The
PLC10には、任意の通信ケーブル40によって、解析用デバイス50が接続されており、例えば、Ether IP(登録商標)により通信接続されていてもよい。PLC10は、第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していないと、「所定回数の制御周期にわたって連続して第2周期データNDを送信していない」旨を解析用デバイス50に通知する。解析用デバイス50は、PLC10から、「所定回数の制御周期にわたって連続して第2周期データNDを送信していない」旨を通知されると、その旨をユーザに表示する。解析用デバイス50は、通常のPC(Personal Computer)によって構成され、タッチパネル、ディスプレイなどの入出力デバイスを備える。
The
(CPUユニットの概要)
これまで図2を用いてPLC10を含む制御システム1の全体概要を説明してきたが、次に、PLC10におけるCPUユニット100、特にCPUユニット100の備えるFPGA101について、その概要を説明しておく。
(Overview of CPU unit)
Up to now, the overall outline of the
PLC10は、制御周期(具体的には、送信周期C)ごとに第1周期データCDを出力する制御装置であって、取得部110と、算出部130と、設定部160と、第2送信部170(2)(送信部)と、を備えている。取得部110は、第1周期データCDを、第1周期データCDの送信開始時刻Sと共に取得する。算出部130は、Nを0以上の自然数として、N周期目の制御周期(=送信周期C)に送信すべき第1周期データCDの送信開始時刻S(n)に、送信周期Cに相当する時間間隔を付加して、N+1周期目の基準時刻T(n+1)を算出する。設定部160は、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差を用いて生成された送信禁止期間B(具体的には、送信禁止期間B(n+1))を、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に設定する。第2送信部170(2)は、設定部160により設定された送信禁止期間Bでない期間に、第1周期データCDより優先度が低い第2周期データNDの送信を開始する。
The
前記の構成によれば、PLC10は、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差を考慮して、第2周期データNDの送信開始を禁止する送信禁止期間Bを算出する。そして、PLC10は、N周期目の送信開始時刻S(n)に送信周期Cに相当する時間間隔を付加して算出した、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に、送信禁止期間B(n+1)を設定する。その上で、PLC10は、送信禁止期間B(n+1)でない期間に、第2周期データNDの送信を開始する。つまり、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、N周期目における送信開始時刻S(n)と基準時刻T(n)との差を考慮した送信禁止期間B(n+1)を、N+1周期目の基準時刻T(n+1)の前および後ろの少なくとも一方に設定する。
According to the above configuration, the
したがって、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差を考慮した適切な送信禁止期間B(n+1)を設定し、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始できるとの効果を奏する。
Therefore, even when the transmission start time S (n) and the reference time T (n) in the Nth cycle deviate from each other, the
PLC10は、第1生成部140と、第2生成部150と、をさらに備えている。第1生成部140は、第2周期データNDのデータ量から、第2周期データNDの送信に要する期間である基礎期間Bbを生成する。第2生成部150は、「N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)と、N周期目の基準時刻T(n)との差(=差分期間V(n))」である調整期間Baを生成する。そして、PLC10において、設定部160によって設定される送信禁止期間Bは、基礎期間Bbと調整期間Baとの合計期間を含んでいる。
The
前記の構成によれば、PLC10は、「N周期目の制御周期における送信開始時刻S(n)と基準時刻T(n)との差」および「第2周期データNDのデータ量」を考慮して、第2周期データNDの送信開始が禁止される送信禁止期間Bを設定する。
According to the above configuration, the
ここで、第2周期データNDの送信中は、第1周期データCDを送信することはできないため、N+1周期目の送信開始時刻S(n+1)に第1周期データCDの送信を開始するには、理論的には、以下のように、送信禁止期間B(n+1)を設定する必要がある。すなわち、「N+1周期目の送信開始時刻S(n+1)から、第2周期データNDの送信に要する時間(=基礎期間Bb)を遡った時刻」から「N+1周期目の送信開始時刻S(n+1)」までの期間を送信禁止期間Bとする必要がある。 Here, since the first cycle data CD cannot be transmitted during the transmission of the second cycle data ND, the transmission of the first cycle data CD 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
また、「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
さらに、「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
したがって、PLC10は、N周期目における送信開始時刻S(n)と基準時刻T(n)とが乖離する場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。
Therefore, the
PLC10において、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも遅い場合、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるように、基礎期間Bb(n+1)と調整期間Ba(n+1)との合計期間を含む期間を、送信禁止期間B(n+1)として設定する。
In the PLC10, 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
前記の構成によれば、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
したがって、PLC10は、N周期目において送信開始時刻S(n)が基準時刻T(n)よりも遅い場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。
Therefore, the
PLC10において、N周期目の制御周期に送信すべき第1周期データCDの送信開始時刻S(n)が、N周期目の基準時刻T(n)よりも早い場合、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるように、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。また、設定部160は、N+1周期目の基準時刻T(n+1)が始点となるように、調整期間Ba(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。
In the PLC10, 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
前記の構成によれば、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
ここで、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
したがって、PLC10は、N周期目において送信開始時刻S(n)が基準時刻T(n)よりも早い場合にも、両者の差、および、第2周期データNDのデータ量を考慮した、適切な送信禁止期間B(n+1)を設定することができるとの効果を奏する。
Therefore, the
PLC10は、指示部180をさらに備えている。指示部180は、「第2送信部170(2)が、所定回数の制御周期(=送信周期C)にわたって連続して、第2周期データNDを送信しない」と、送信禁止期間Bであっても強制的に、第2送信部170(2)に、第2周期データNDの送信を開始させる。
The
前記の構成によれば、PLC10は、第2周期データNDを所定回数の制御周期にわたって連続して送信しないと、送信禁止期間Bであっても強制的に、第2周期データNDの送信を開始する。したがって、PLC10は、所定回数の制御周期にわたって連続して送信されなかった第2周期データNDを、送信することができるとの効果を奏する。
According to the above configuration, the
PLC10は、通知部190をさらに備えている。通知部190は、「第2送信部170(2)が、所定回数の制御周期にわたって連続して、第2周期データNDを送信しない」と、「第2送信部170(2)が所定回数の制御周期にわたって連続して第2周期データNDを送信しない」ことを外部に通知する。
The
前記の構成によれば、PLC10は、第2周期データNDを所定回数の制御周期にわたって連続して送信しないと、「第2周期データNDを所定回数の制御周期にわたって連続して送信していない」ことを外部に通知する。したがって、PLC10は、「第2周期データNDを所定回数の制御周期にわたって連続して送信していない」という状況が発生すると、そのような状況が発生していることを、外部に通知することができるとの効果を奏する。
According to the above configuration, the
以上に概要を説明したPLC10について、次に、図1を参照して、PLC10(特に、PLC10のCPUユニット100)のハードウェア構成例、および、(特に、FPGA101が備える)機能ブロックについて説明する。
With respect to the
§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
マイクロプロセッサ103およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、マイクロプロセッサ103は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、マイクロプロセッサ103に必要な命令コードを生成する。さらに、チップセット102は、マイクロプロセッサ103での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
The
CPUユニット100は、記憶手段として、メインメモリ104および不揮発性メモリ105を備えている。メインメモリ104は、揮発性の記憶領域(RAM)であり、CPUユニット100へ電源投入後にマイクロプロセッサ103で実行されるべき各種プログラムを保持する。また、メインメモリ104は、マイクロプロセッサ103による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104として、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等を用いることができる。
The
一方、不揮発性メモリ105は、各種のプログラムおよびパラメータなどのデータを不揮発的に保持する。これらのデータは、必要に応じて、マイクロプロセッサ103がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ105は、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体、DVD-RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。
On the other hand, the
FPGA101は、製造後にユーザが回路構成を設定することのできるプログラマブル論理回路であって、例えば出力データの送信および入力データの受信などの通信処理を含む種々の処理を実行する。FPGA101は、通信処理として、CPUユニット100以外のユニットおよびPLC10以外の装置へ出力データの送信と、CPUユニット100以外のユニットおよびPLC10以外の装置からの入力データの受信とを実行する。さらに、FPGA101は、通信処理として、メインメモリ104との間でデータの送受信を実行する。ただし、FPGA101が実行する処理は通信処理に限られるものではない。
The
なお本実施形態において、CPUユニット100からCPUユニット100以外のユニットに出力されるデータ、および、PLC10からPLC10以外の装置に出力されるデータを、「出力データ」とも称す。また、CPUユニット100以外のユニットからCPUユニット100に入力されるデータ、および、PLC10以外の装置からPLC10に入力されるデータを、「入力データ」とも称す。
In the present embodiment, the data output from the
(第1周期データCDおよび第2周期データNDの送信準備処理の概要)
マイクロプロセッサ103は、CPUユニット100の外部に送信する第1周期データCD(例えば、制御データ)と第2周期データND(例えば、制御データ以外のデータ)とを、チップセット102を介して、例えばメインメモリ104に設定する(言い換えれば、データを格納する)。そして、マイクロプロセッサ103は、チップセット102を介して、FPGA101に、メインメモリ104に設定したデータの送信を依頼する。なお、例えばマイクロプロセッサ103を複数のコアによって構成し、各コアが、各コアに割り当てられているデータを、チップセット102を介して、メインメモリ104に格納してもよい。例えば、第1コアが第1周期データCDをメインメモリ104に格納し、第1周期データCDの送信をFPGA101に依頼し、第2コアが第2周期データNDをメインメモリ104に格納し、第1周期データCDの送信をFPGA101に依頼してもよい。すなわち、複数のコアの各々が、各々のコアに割り当てられているデータのメインメモリ104への格納、および、FPGA101への送信依頼を実行してもよい。言い換えれば、第1周期データCDのメインメモリ104への格納および送信依頼の実行主体と、第2周期データNDのメインメモリ104への格納および送信依頼の実行主体とは、別の主体(例えば、別のコア)であってもよい。
(Overview of transmission preparation processing for the 1st cycle data CD and the 2nd cycle data ND)
The
FPGA101(特に、取得部110)は、DMA(Dynamic Memory Access)機能にて、メインメモリ104に設定されたデータを、FPGA101の内部RAM120(特に、送信キューテーブル121の送信キューTXQ)に転送する。具体的には、FPGA101は、第1周期データCDをメインメモリ104から取得し、取得した第1周期データCDを第1送信キューTXQ0にバッファリングする。同様に、FPGA101は、第2周期データNDをメインメモリ104から取得し、取得した第2周期データNDを第2送信キューTXQ1にバッファリングする。
The FPGA 101 (particularly, the acquisition unit 110) transfers the data set in the
ここで、第2周期データNDが第2送信キューTXQ1にバッファリングされると、FPGA101(特に、第1生成部140)は、第2送信キューTXQ1に格納されている第2周期データNDの送信データ長から、基礎期間Bbを計算する。 Here, when the second cycle data ND is buffered in the second transmission queue TXQ1, the FPGA 101 (particularly, the first generation unit 140) transmits the second cycle data ND stored in the second transmission queue TXQ1. The basic period Bb is calculated from the data length.
また、FPGA101(特に、第2生成部150)は、N周期目の第1周期データCDの送信が開始されると、N周期目の第1周期データCDの送信開始時刻S(n)を取得し、取得した送信開始時刻S(n)と、N周期目の基準時刻T(n)とを比較する。そして、送信開始時刻S(n)と基準時刻T(n)とが一致しない場合、FPGA101は、両者の差である差分期間V(n)を算出する。
Further, the FPGA 101 (particularly, the second generation unit 150) acquires the transmission start time S (n) of the first cycle data CD of the Nth cycle when the transmission of the first cycle data CD of the Nth cycle is started. Then, the acquired transmission start time S (n) is compared with the reference time T (n) in the Nth cycle. Then, when the transmission start time S (n) and the reference time T (n) do not match, the
N周期目の送信開始時刻S(n)がN周期目の基準時刻T(n)より遅い場合、FPGA101(特に、設定部160)は、差分期間V(n)を、N+1回目の前側送信禁止期間として設定する。つまり、送信開始時刻S(n)が基準時刻T(n)より遅い場合、設定部160は、差分期間V(n)を、基準時刻T(n+1)の前に、調整期間Ba(n+1)として設定する。前側送信禁止期間は、基準時刻Tの前に、基礎期間Bbに追加して設定される送信禁止期間Bであり、第2周期データNDの送信開始が禁止される期間である。
When the transmission start time S (n) of the Nth cycle is later than the reference time T (n) of the Nth cycle, the FPGA 101 (particularly, the setting unit 160) prohibits the 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
具体的には、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
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
具体的には、FPGA101は、基礎期間Bbを、基準時刻T(n+1)の前に、送信禁止期間B(n+1)として設定する。また、FPGA101は、「送信開始時刻S(n)がN周期目の基準時刻T(n)より早い期間(=差分期間V(n))」を、基準時刻T(n+1)の後に、送信禁止期間B(n+1)として設定する。つまり、FPGA101は、基礎期間Bb(n+1)の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。また、FPGA101は、差分期間V(n)(=調整期間Ba(n+1))の始点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。
Specifically, the
送信可能状態となった第2周期データNDについて、FPGA101(特に、第2送信部170(2))は、第1周期データCDの送信中でも、送信禁止期間B中でもなければ、第2周期データNDの送信を開始する。FPGA101は、第1周期データCDの送信中または送信禁止期間B中であれば、第2周期データNDの送信を開始しない。FPGA101は、第1周期データCDの送信完了後、例えば、送信禁止期間Bを解除し、第2周期データNDの送信を開始する。
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の備える機能ブロック)
FPGA101は、機能ブロックとして、取得部110、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190を含んでいる。
(Functional block of FPGA)
The
取得部110は、第1周期データCDと、その第1周期データCDの送信開始時刻Sとを、チップセット102を介して、例えばメインメモリ104から取得する。そして、取得部110は、取得した第1周期データCDおよび送信開始時刻Sを、送信キューテーブル121の第1送信キューTXQ0に格納し、言い換えれば、第1送信キューTXQ0にセットする。
The
ここで、送信開始時刻Sは、定周期で送信すべき高優先データである第1周期データCDの送信を開始する予定時刻である。送信開始時刻Sは、第1周期データCDと共に上位システムによってメインメモリ104にセットされ、例えば、マイクロプロセッサ103によって、チップセット102を介して、メインメモリ104に第1周期データCDと共に格納される。
Here, the transmission start time S is a scheduled time 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
また、取得部110は、第2周期データNDを、チップセット102を介して、例えばメインメモリ104から取得し、取得した第2周期データNDを、送信キューテーブル121の第2送信キューTXQ1に格納する。取得部110は、メインメモリ104から、第2周期データNDとその第2周期データNDの送信開始時刻とを取得し、取得した第2周期データNDとその第2周期データNDの送信開始時刻とを、第2送信キューTXQ1に格納してもよい。ただし、以下の説明においては、「送信開始時刻Sでの第1周期データCDの送信開始を確保する」というPLC10についての理解を容易にするため、第2周期データNDの送信開始時刻については、特に説明を行なわない。
Further, the
算出部130は、周期的に送信される第1周期データCDの送信周期Cに相当する時間間隔を送信開始時刻Sに付加した時刻である「基準時刻T(=基準時刻)」を算出する。例えば、算出部130は、N周期目の第1周期データCDの送信開始時刻S(n)に、「送信周期Cに相当する時間間隔」を付加した時刻を、N+1周期目の基準時刻T(n+1)とする。なお、「T(0)=S(0)」とする。算出部130は、算出した基準時刻T(例えば、N+1周期目の基準時刻T(n+1))を、基準時刻テーブル122に格納する。
The
第1生成部140は、第2周期データNDが第2送信キューTXQ1にバッファリングされると、第2送信キューTXQ1に格納されている第2周期データNDのデータ量(例えば、送信データ長)から、基礎期間Bbを算出する。基礎期間Bbは、例えば「第2周期データNDの送信に要する時間」である。第1生成部140は、算出した、基礎期間Bbを、設定部160に通知する。
When the second cycle data ND is buffered in the second transmission queue TXQ1, the
第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)を取得し、例えば、第1送信キューTXQ0を参照して、第1送信キューTXQ0に第1周期データCDと共にセットされている送信開始時刻S(n)を取得する。また、第2生成部150は、基準時刻テーブル122を参照して、N周期目の基準時刻T(n)を取得する。
The
第2生成部150は、N周期目の第1周期データCDの送信開始時刻S(n)と、N周期目のN周期目の基準時刻T(n)とを比較し、両者が一致しない場合、両者の差である差分期間V(n)を算出し、算出した差分期間V(n)を、設定部160に通知する。
The
なお、本実施形態においては、原則として、第1周期データCDを送信すべき時刻である「送信開始時刻S」と、第1送信部170(1)が第1周期データCDの送信を実際に開始した時刻(実際の送信開始時刻)とは、一致するものとする。或る制御周期Mにおいて、第1周期データCDを送信すべき時刻である「送信開始時刻S(m)」と第1周期データCDの実際の送信開始時刻とが一致しない場合、第2生成部150は、以下のように差分期間V(n)を算出する。すなわち、第2生成部150は、「制御周期Mにおいて第1周期データCDを送信すべき時刻である送信開始時刻S(m)」と「制御周期Mの基準時刻T(M)」との差を、差分期間V(n)として算出してもよい。また、第2生成部150は、「制御周期Mにおける第1周期データCDの実際の送信開始時刻」と「制御周期Mの基準時刻T(M)」との差を、差分期間V(n)として算出してもよい。差分期間V(n)の算出に「第1周期データCDの実際の送信開始時刻」を用いる場合、第2生成部150は、送信部170(特に、第1送信部170(1))から、「各制御周期(=各送信周期)における、第1周期データCDの実際の送信開始時刻」を取得してもよい。
In this embodiment, 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
設定部160は、基準時刻テーブル122を参照して取得した基準時刻Tに対して、第1生成部140から通知される基礎期間Bb、および、第2生成部150から通知される差分期間V(n)を用いて、N+1周期目の送信禁止期間B(n+1)を設定する。
The
設定部160は、「差分期間V(n)=0」であると、基準時刻T(n)と送信開始時刻S(n)とが一致していると判定する。そして、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)に設定する。
When the "difference period V (n) = 0", the
設定部160は、「差分期間V(n)>0」であると、基準時刻T(n)より送信開始時刻S(n)が遅いと判定する。そして、設定部160は、差分期間V(n)を、N+1回目の前側送信禁止期間(つまり、調整期間Ba(n+1))として設定する。具体的には、設定部160は、差分期間V(n)(=調整期間Ba(n+1))と基礎期間Bb(n+1)との合計期間を含む期間の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。つまり、設定部160は、基準時刻T(n+1)の前に、「基礎期間Bbに、『送信開始時刻S(n)がN周期目の基準時刻T(n)から遅れた期間(=差分期間V(n))』を加えた期間」を、送信禁止期間B(n+1)として設定する。例えば、設定部160は、「基準時刻T(n+1)から『差分期間V(n)(=調整期間Ba(n+1))と基礎期間Bb(n+1)との合計期間』を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)に設定する。
When the "difference period V (n)> 0", the
設定部160は、「差分期間V(n)<0」であると、基準時刻T(n)より送信開始時刻S(n)が早いと判定する。そして、設定部160は、差分期間V(n)を、N+1回目の後側送信禁止期間(つまり、調整期間Ba(n+1))として設定する。具体的には、設定部160は、基礎期間Bb(n+1)の終点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。また、設定部160は、差分期間V(n)(=調整期間Ba(n+1))の始点が基準時刻T(n+1)となるように、送信禁止期間B(n+1)を設定する。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間を、送信禁止期間B(n+1)に設定する。
When the "difference period V (n) <0", the
送信部170は、データ送信を制御し、例えば、第1送信キューTXQ0にセットされた第1周期データCD、および、第2送信キューTXQ1にセットされた第2周期データNDの送信を制御し、第1送信部170(1)と第2送信部170(2)とを含む。
The
第1送信部170(1)は、第1周期データCDの送信を制御し、具体的には、第1送信キューTXQ0にセットされた第1周期データCDの送信を、第1周期データCDと共に第1送信キューTXQ0にセットされている送信開始時刻Sに、開始する。第1送信部170(1)は、第2周期データNDの送信中は、第1周期データCDを送信することができない。 The first transmission unit 170 (1) controls the transmission of the first cycle data CD, 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
指示部180は、第2送信部170(2)に、送信禁止期間B中であっても、第2周期データNDの送信を開始するように指示し、つまり、第2周期データNDの強制送信を指示する。指示部180は、第2送信部170(2)から「第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していない」ことを通知されると、自動的に、第2送信部170(2)に強制送信を指示してもよい。また、指示部180は、ユーザから第2周期データNDの強制送信を指示されると、第2送信部170(2)に、強制送信を指示してもよい。指示部180からこの指示を受けた第2送信部170(2)は、送信禁止期間B中であっても、第2送信キューTXQ1にセットされた第2周期データNDの送信を開始する。
The
通知部190は、第2送信部170(2)から「第2周期データNDが送信可能状態になってから所定回数の制御周期にわたって連続して第2周期データNDを送信していない」ことを通知されると、以下の処理の実行を指示する。すなわち、通知部190は、「所定回数の制御周期にわたって連続して、第2周期データNDが送信されていない」旨を、例えばマイクロプロセッサ103等を介して、解析用デバイス50に通知して、その旨を解析用デバイス50に表示させる。
The
(FPGAの備える記憶部)
図1に例示するFPGA101は、内部RAM120を備えている。内部RAM120は、FPGA101が使用する各種データを格納する記憶装置である。内部RAM120は、FPGA101が実行する各種処理の制御プログラム、および、その制御プログラムを実行するときに読み出す各種データを非一時的に記憶している。内部RAM120はさらに、送信キューテーブル121、基準時刻テーブル122、および、設定情報123を格納している。
(Memory unit provided by FPGA)
The
送信キューテーブル121は、複数の送信キューTXQ0、TXQ1、・・・、TXQnを含んでいる。なお、以下の説明において、複数の送信キューTXQ0、TXQ1、・・・、TXQnの各々を区別する必要が無い場合、単に「送信キューTXQ」と称する。送信キューTXQには上位システムからの送信データがバッファリングされ、例えば、マイクロプロセッサ103によって、チップセット102を介して、メインメモリ104にセットされた送信データは、取得部110によって送信キューTXQにセットされる。
The transmission queue table 121 includes a plurality of transmission queues TXQ0, TXQ1, ..., TXQn. In the following description, when it is not necessary to distinguish each of the plurality of transmission queues TXQ0, TXQ1, ..., TXQn, 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
例えば、第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
なお、内部RAM120には、CPUユニット100の外部から受信するデータが格納される、不図示の受信キューテーブルがさらに格納されていてもよい。受信キューテーブルは、複数の受信キューRXQ0、RXQ1、・・・、RXQnを含み、RXQ0、RXQ1、・・・、RXQnの各々は、FIFO方式を採用していてもよい。
The
基準時刻テーブル122には、算出部130により算出される基準時刻Tが格納される。基準時刻Tは、送信開始時刻Sの代わりに、送信禁止期間Bを設定するための基準として算出され、具体的には、算出部130によって算出される(=生成される)。
算出部130は、例えば「T(0)=S(0)」として、「或る制御周期における送信開始時刻S」に「第1周期データCDの送信周期Cに相当する時間間隔」を付加した時刻を、「次の制御周期における基準時刻T」として算出する。そして、算出部130は、算出した「次の制御周期における基準時刻T」を基準時刻テーブル122に格納する。
The reference time T calculated by the
The
設定情報123には、送信周期Cを含む、制御システム1の動作等に関係する、各種の設定情報が格納されている。送信周期Cは、「制御周期」とも称され、定周期で送信する高優先データである第1周期データCDの送信時間間隔である。FPGA101は、送信周期Cを以下の2つの方法のいずれかによって取得する。すなわち、FPGA101は、上位システムから(具体的には、チップセット102を介して、マイクロプロセッサ103から)通知される時間間隔を、送信周期Cとして、設定情報123に格納してもよい。また、FPGA101は、所定回数の制御周期分(例えば、N周期分)の、第1周期データCDの送信開始時刻Sの間の平均時間間隔を算出し、算出した平均時間間隔を、送信周期Cとして、設定情報123に格納してもよい。
The setting
これまでに概要を説明してきたCPUユニット100(特に、FPGA101)について、次に、図3等を用いて、CPUユニット100(特に、FPGA101)の実行する処理について、その概要を説明していく。 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
第1生成部140および第2生成部150は、送信禁止期間算出処理を実行する(S300)。送信禁止期間算出処理の詳細については、図4を用いて後述する。また、設定部160は、送信禁止期間設定処理を実行する(S400)。送信禁止期間設定処理の詳細については、図5を用いて後述する。
The
第2送信部170(2)は、第2送信キューTXQ1に第2周期データNDが格納されているかを確認する(S500)。第2送信キューTXQ1に第2周期データNDが格納されていないことが確認されると(S500でNo)、つまり、送信可能状態にある第2周期データNDがないことが確認されると、設定部160は処理を終了し、つまり、送信禁止期間Bは設定されない。送信可能状態にある第2周期データNDはないため、第2送信部170(2)は、第2周期データNDの送信を開始しない。また、第1送信部170(1)は、第1送信キューTXQ0にセットされた第1周期データCDの送信を、第1周期データCDと共に第1送信キューTXQ0にセットされている送信開始時刻Sに、開始する。
The second transmission unit 170 (2) confirms whether the second 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.
第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
また、第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
第1生成部140は、第2送信キューTXQ1にセットされた第2周期データNDのデータ量を測定し(S340)、第2周期データNDの送信に要する期間(=基礎期間Bb(n+1))を算出する(S350)。第1生成部140は、算出した基礎期間Bb(n+1)を、設定部160に通知する。
The
(送信禁止期間設定処理の詳細)
図5は、図3の送信禁止期間設定処理の詳細を説明するフロー図である。図5に例示するように、設定部160は、N周期目の基準時刻T(n)とN周期目の送信開始時刻S(n)とが一致しているかを確認する(S410)。設定部160は、例えば、第2生成部150から通知された差分期間V(n)について、「差分期間V(n)=0」であると、基準時刻T(n)と送信開始時刻S(n)とが一致していると判定し、差分期間V(n)が0でないと、両者が一致しないと判定する。
(Details of transmission prohibition period setting process)
FIG. 5 is a flow chart illustrating the details of the transmission prohibition period setting process of FIG. As illustrated in FIG. 5, the
基準時刻T(n)と送信開始時刻S(n)とが一致した(つまり、差分期間V(n)が0である)ことを確認すると(S410でYes)、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)を含む期間を、送信禁止期間B(n+1)として設定する(S420)。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)として設定する。
When it is confirmed that the reference time T (n) and the transmission start time S (n) match (that is, the difference period V (n) is 0) (Yes in S410), the
基準時刻T(n)と送信開始時刻S(n)とが一致しない(つまり、差分期間V(n)が0でない)ことを確認すると(S410でNo)、設定部160は、N周期目の基準時刻T(n)よりN周期目の送信開始時刻S(n)が遅いかを判定する(S430)。設定部160は、「差分期間V(n)=送信開始時刻S(n)-基準時刻T(n)>0」であると、N周期目の基準時刻T(n)よりN周期目の送信開始時刻S(n)が遅いと判定してもよい。また、設定部160は、「差分期間V(n)<0」であると、N周期目の基準時刻T(n)よりN周期目の送信開始時刻S(n)が早いと判定してもよい。
When it is confirmed that the reference time T (n) and the transmission start time S (n) do not match (that is, the difference period V (n) is not 0) (No in S410), the
基準時刻T(n)より送信開始時刻S(n)が遅いこと(つまり、「差分期間V(n)>0」)を確認すると(S430でYes)、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)と調整期間Ba(n+1)(=差分期間V(n))との合計を含む期間を、送信禁止期間B(n+1)として設定する(S440)。例えば、設定部160は、「基準時刻T(n+1)から、基礎期間Bb(n+1)と調整期間Ba(n+1)との合計期間を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)として設定する。
When it is confirmed that the transmission start time S (n) is later than the reference time T (n) (that is, "difference period V (n)> 0") (Yes in S430), the
基準時刻T(n)より送信開始時刻S(n)が早いこと(つまり、「差分期間V(n)<0」)を確認すると(S430でNo)、設定部160は、以下のように送信禁止期間B(n+1)を設定する。すなわち、設定部160は、N+1周期目の基準時刻T(n+1)が終点となるよう、基礎期間Bb(n+1)を含む期間を、送信禁止期間Bに設定する(S450)。例えば、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)」を終点とする期間を、送信禁止期間B(n+1)として設定する。
When it is confirmed that the transmission start time S (n) is earlier than the reference time T (n) (that is, "difference period V (n) <0") (No in S430), the
さらに、設定部160は、N+1周期目の基準時刻T(n+1)が始点となるよう、調整期間Ba(n+1)(=差分期間V(n))を含む期間を、送信禁止期間B(n+1)として設定する(S460)。例えば、設定部160は、「基準時刻T(n+1)」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間を、送信禁止期間B(n+1)として設定する。
Further, the
S450およびS460によって、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」を始点とし、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」を終点とする期間が、送信禁止期間B(n+1)として設定される。 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
(処理例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
終点が基準時刻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
また、設定部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
したがって、設定部160は、「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」までを、送信禁止期間B(n+1)として設定する。
Therefore, the
「基準時刻T(n+1)から基礎期間Bb(n+1)を遡った時刻」から、「基準時刻T(n+1)から調整期間Ba(n+1)を経過した時刻」までが、送信禁止期間B(n+1)として設定されることにより、図7の(B)では第2周期データNDの送信が適切に禁止されている。すなわち、図7の(B)では、図7の(A)の送信禁止期間B(n+1)よりも調整期間Ba(n+1)分だけ長い送信禁止期間B(n+1)が設定されている。 The transmission prohibition period B (n + 1) is from "the time 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
例えば、通知部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
That is, the
また、上位システム(例えば、マイクロプロセッサ103)は、第2周期データNDの強制送信処理の実行を指示するユーザ操作を受け付けると、第2周期データNDの強制送信処理の実行を、例えばチップセット102等を介して、FPGA101に指示する。FPGA101(特に、指示部180)は、第2送信部170(2)に、送信禁止期間B中であっても、第2周期データNDの送信を開始するように指示する。第2送信部170(2)は、指示部180からの指示に従って、第2送信キューTXQ1にセットされている第2周期データNDの送信を、送信禁止期間Bであるか否かに関わらず、開始する。
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
§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
また、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
これまで、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
また、前述の通り、FPGA101は、マイクロプロセッサ103等から送信周期Cを通知されてもよいし、所定回数の制御周期分の第1周期データCDの送信開始時刻Sの間の平均時間間隔を算出し、算出した平均時間間隔を、送信周期Cとしてもよい。ここで、複数の第1周期データCDの送信開始時刻Sの間の平均時間間隔から送信周期Cを算出する場合、或る制御周期において送信すべき第1周期データCDが無い場合、送信周期Cを正確に算出するため、FPGA101は、以下の処理を実行する。すなわち、FPGA101は、P番目の制御周期において送信すべき第1周期データCDがない場合、P-1番目の制御周期の送信開始時刻S(p-1)と、P+1番目の制御周期の送信開始時刻S(p+1)との間の時間間隔は、送信周期Cの算出に用いない。
Further, as described above, the
これまで、取得部110、内部RAM120、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190が、FPGA(Field-Programmable gate array)において実現される例を説明してきた。しかしながら、これらの機能ブロックがFPGAを用いて実現されることは必須ではなく、例えば、ASIC(Application Specific Integrated Circuit)を用いて実現されてもよい。つまり、取得部110、内部RAM120、算出部130、第1生成部140、第2生成部150、設定部160、送信部170、指示部180、および、通知部190は、ASICを用いて実現されてもよい。
So far, the
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 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
180
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周期データの送信開始時刻と共に取得する取得部と、
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周期データの送信開始時刻と共に取得する取得部と、
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周期データの送信開始時刻と共に取得する取得部と、
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.
ことを特徴とする請求項1から3のいずれか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.
ことを特徴とする請求項1から4のいずれか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周期データの送信開始時刻と共に取得する取得ステップと、
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周期データを、前記第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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011234401A (en) | 2011-06-30 | 2011-11-17 | Denso Corp | Radio communication apparatus and radio communication system |
JP2017060042A (en) | 2015-09-17 | 2017-03-23 | 株式会社デンソー | Communication device |
JP2018060484A (en) | 2016-10-07 | 2018-04-12 | オムロン株式会社 | Arithmetic unit and control device |
-
2018
- 2018-06-14 JP JP2018113843A patent/JP7056395B2/en active Active
-
2019
- 2019-05-28 WO PCT/JP2019/021152 patent/WO2019239884A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011234401A (en) | 2011-06-30 | 2011-11-17 | Denso Corp | Radio communication apparatus and radio communication system |
JP2017060042A (en) | 2015-09-17 | 2017-03-23 | 株式会社デンソー | Communication device |
JP2018060484A (en) | 2016-10-07 | 2018-04-12 | オムロン株式会社 | Arithmetic unit and control device |
Also Published As
Publication number | Publication date |
---|---|
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 |