JP5602643B2 - Schedule creation device, schedule creation method, and schedule creation program - Google Patents

Schedule creation device, schedule creation method, and schedule creation program Download PDF

Info

Publication number
JP5602643B2
JP5602643B2 JP2011001413A JP2011001413A JP5602643B2 JP 5602643 B2 JP5602643 B2 JP 5602643B2 JP 2011001413 A JP2011001413 A JP 2011001413A JP 2011001413 A JP2011001413 A JP 2011001413A JP 5602643 B2 JP5602643 B2 JP 5602643B2
Authority
JP
Japan
Prior art keywords
schedule
sub
control loop
execution
execution data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011001413A
Other languages
Japanese (ja)
Other versions
JP2012145975A (en
Inventor
英明 石本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Azbil Corp
Original Assignee
Azbil Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Azbil Corp filed Critical Azbil Corp
Priority to JP2011001413A priority Critical patent/JP5602643B2/en
Publication of JP2012145975A publication Critical patent/JP2012145975A/en
Application granted granted Critical
Publication of JP5602643B2 publication Critical patent/JP5602643B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、フィールドバスのセグメントに定義された複数の機能ブロックによって構成される制御ループを、周期的に実行するスケジュールを作成するスケジュール作成装置スケジュール作成方法、及びスケジュール作成プログラムに関する。   The present invention relates to a schedule creation apparatus and a schedule creation program for creating a schedule for periodically executing a control loop composed of a plurality of functional blocks defined in a fieldbus segment.

生産プロセスを管理する現場では、通信機能を有する各種のフィールド機器(例えばセンサやバルブ等)をプラントに設置し、フィールド機器をフィールドバスと呼ばれるネットワークに接続することで、フィールド機器から発信される信号を管理装置等が受信し、各種の生産プロセスを管理している。このため、フィールド機器は、フィールドバスと呼ばれるネットワークに接続されている。   In the field where production processes are managed, various field devices with communication functions (for example, sensors and valves) are installed in the plant, and the signals transmitted from the field devices are connected to a network called a field bus. Is received by a management device and manages various production processes. For this reason, the field device is connected to a network called a field bus.

フィールドバスは、デジタル信号による双方向通信が可能な通信方式であり、1994年に設立されたフィールドバス協会(Fieldbus Foundation TM)により、通信仕様が、ファウンデーションフィールドバス(Foundation fieldbus)として規格化(標準化)されている。 Fieldbus is a communication method that enables two-way communication using digital signals, and its communication specifications are standardized (Foundation fieldbus) by the Fieldbus Foundation TM established in 1994 (standardization). )

従来、フィールドバスのセグメントにおいて、当該セグメントに定義された複数の機能ブロックによって構成される制御ループを、周期的に実行するスケジュールを作成するものとして、制御ループごとに作成したサブスケジュールを使用してスケジュールを作成するもの知られている(例えば、特許文献1参照)。   Conventionally, in a fieldbus segment, using a sub-schedule created for each control loop as a schedule for periodically executing a control loop composed of a plurality of functional blocks defined in the segment. It is known to create a schedule (see, for example, Patent Document 1).

特開2008−90841号公報JP 2008-90841 A

しかしながら、制御ループの実行タイミングを制御するリンクマスタデバイスの性能によって設定可能なサブスケジュールの数が制限されるため、従来のスケジュール作成装置では、制御ループの実行周期の数が、設定可能なサブスケジュールの数より大きい場合に、制御ループを所望の実行周期で実行させることができなかった。   However, since the number of sub-schedules that can be set is limited by the performance of the link master device that controls the execution timing of the control loop, in the conventional schedule creation device, the number of control loop execution cycles can be set When the number is larger than the number of the control loop, the control loop cannot be executed in a desired execution cycle.

本発明のいくつかの態様は前述の問題に鑑みてなされたものであり、制御ループの実行周期の数が、設定可能なサブスケジュールの数より大きい場合でも、制御ループを所望の実行周期で実行させることが可能となるスケジュール作成装置、スケジュール作成方法、及びスケジュール作成プログラムを提供することを目的の1つとする。   Some aspects of the present invention have been made in view of the above-described problems. Even when the number of execution cycles of the control loop is larger than the number of sub-schedules that can be set, the control loop is executed at a desired execution cycle. It is an object to provide a schedule creation device, a schedule creation method, and a schedule creation program that can be executed.

本発明に係るスケジュール作成装置は、フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成装置であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成する実行データ生成部を備える。   A schedule creation device according to the present invention is a schedule creation device for creating a schedule for periodically executing a control loop constituted by a plurality of functional blocks of a fieldbus using a plurality of sub-schedules. When a sub-schedule having a period i times the execution period (i is an integer equal to or greater than 2) is set, an execution data generation unit is provided that generates i execution data for executing the control loop in the sub-schedule. .

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、当該サブスケジュールにおいて当該制御ループを実行させる実行データをi個生成する。これにより、例えばTの周期を有するサブスケジュールにおいて、制御ループをT/iの実行周期でi回実行させることが可能となる。   According to this configuration, when a sub-schedule having a period i times (i is an integer of 2 or more) the execution period of the control loop is set, the execution data for executing the control loop in the sub-schedule is i. Generate. As a result, for example, in a sub-schedule having a period of T, the control loop can be executed i times at an execution period of T / i.

好ましくは、前述の実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。   Preferably, the execution data includes an offset time based on the start time of the sub-schedule.

かかる構成によれば、実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。これにより、i個の実行データを生成する際に、それぞれのオフセット時間の間隔を実行周期に設定することで、容易に当該サブスケジュールにおいて制御ループをi回実行させることができる。   According to such a configuration, the execution data includes an offset time with reference to the start time of the sub-schedule. Thereby, when generating i pieces of execution data, the control loop can be easily executed i times in the sub-schedule by setting the interval of each offset time to the execution cycle.

好ましくは、制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールが設定されている場合に、実行データ生成部は、該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいて実行データをi個生成する。   Preferably, when a plurality of sub-schedules having a period i times the execution period of the control loop and different from each other are set, the execution data generation unit I pieces of execution data are generated in the sub-schedule having the shortest cycle.

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールが設定されている場合に、当該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいてi個の実行データを生成する。これにより、例えば、最長の周期を有するサブスケジュールにおいて実行データを生成する場合と比較して、最短の周期を有するサブスケジュールにおいて実行データを生成すると少ない実行データで済み、生成する実行データの数を減少させることができる。これにより、作成するスケジュールのサイズ等を小さくすることができる。   According to such a configuration, when a plurality of sub-schedules having a period that is i times (i is an integer of 2 or more) the execution period of the control loop and different from each other are set, I pieces of execution data are generated in the sub-schedule having the shortest period among the sub-schedules. Thus, for example, compared with the case of generating execution data in the sub-schedule having the longest cycle, if execution data is generated in the sub-schedule having the shortest cycle, less execution data is required, and the number of execution data to be generated is reduced. Can be reduced. As a result, the size of the schedule to be created can be reduced.

好ましくは、制御ループの動作タイミングを制御するリンクマスタデバイスに、フィールドバスを介してスケジュールを送信する送信部を更に備える。   Preferably, a link master device that controls the operation timing of the control loop is further provided with a transmission unit that transmits the schedule via the field bus.

かかる構成によれば、制御ループの動作タイミングを制御するリンクマスタデバイスに、フィールドバスを介してスケジュールを送信する送信部を更に備える。これにより、リンクマスタデバイスは、スケジュール作成装置により作成されたスケジュールを実行することができる。   According to this configuration, the link master device that controls the operation timing of the control loop is further provided with a transmission unit that transmits the schedule via the fieldbus. Thereby, the link master device can execute the schedule created by the schedule creation device.

好ましくは、前述のリンクマスタデバイスには設定可能なサブスケジュールの数の最大値である設定可能最大数が定められており、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得する設定可能最大数取得部と、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するサブスケジュール設定部と、を更に備える。   Preferably, the aforementioned link master device has a maximum configurable number that is the maximum number of sub-schedules that can be set, and when there are a plurality of link master devices in the field bus segment, A sub-schedule for setting a sub-schedule based on the minimum value of the maximum settable number of each link master device acquired and the settable maximum number acquisition unit for acquiring the maximum settable number of each link master device via And a setting unit.

かかる構成によれば、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得する設定可能最大数取得部と、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するサブスケジュール設定部と、を更に備える。これにより、セグメントにおける全てのリンクマスタデバイスが設定可能な数のサブスケジュールが設定される。これにより、セグメントにおける全てのリンクマスタデバイスが実行可能なスケジュールを各リンクマスタデバイスに送信することができる。   According to such a configuration, when there are a plurality of link master devices in the fieldbus segment, the settable maximum number acquisition unit that acquires the settable maximum number of each link master device via the fieldbus, and each acquired A sub-schedule setting unit configured to set a sub-schedule based on a minimum value of the settable maximum number of link master devices; Thereby, the number of sub-schedules that can be set by all the link master devices in the segment are set. Accordingly, a schedule that can be executed by all link master devices in the segment can be transmitted to each link master device.

本発明に係るスケジュール作成方法及びスケジュール作成プログラムは、フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成方法であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、実行データ生成部が、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成するステップを備える。   A schedule creation method and a schedule creation program according to the present invention are a schedule creation method for creating a schedule for periodically executing a control loop constituted by a plurality of functional blocks of a fieldbus using a plurality of sub-schedules. When a sub-schedule having a period that is i times the control loop execution period (i is an integer of 2 or more) is set, the execution data generation unit executes the execution data for executing the control loop in the sub-schedule. i generating step is provided.

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、実行データ生成部が、当該サブスケジュールにおいて当該制御ループを実行させる実行データをi個生成するステップを備える。これにより、例えばTの周期を有するサブスケジュールにおいて、制御ループ135をT/iの実行周期でi回実行させることが可能となる。   According to such a configuration, when a sub-schedule having a period i times (i is an integer equal to or greater than 2) the execution period of the control loop is set, the execution data generation unit executes the control loop in the sub-schedule. A step of generating i pieces of execution data to be executed. Thereby, for example, in a sub-schedule having a period of T, the control loop 135 can be executed i times at an execution period of T / i.

好ましくは、前述の実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。   Preferably, the execution data includes an offset time based on the start time of the sub-schedule.

かかる構成によれば、実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。これにより、i個の実行データを生成する際に、それぞれのオフセット時間の間隔を実行周期に設定することで、容易に当該サブスケジュールにおいて制御ループをi回実行させることができる。   According to such a configuration, the execution data includes an offset time with reference to the start time of the sub-schedule. Thereby, when generating i pieces of execution data, the control loop can be easily executed i times in the sub-schedule by setting the interval of each offset time to the execution cycle.

好ましくは、制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールがセグメントに設定され、記憶部に記憶されている場合に、前述の生成するステップは、実行データ生成部が、該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいて実行データをi個生成する。   Preferably, when a plurality of sub-schedules having a period i times the execution period of the control loop and different from each other are set in the segment and stored in the storage unit, the generating step described above is performed The execution data generation unit generates i execution data in the sub-schedule having the shortest cycle among the plurality of sub-schedules.

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールがセグメントに設定され、記憶部に記憶されている場合に、実行データ生成部が、当該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいてi個の実行データを生成する。これにより、例えば、最長の周期を有するサブスケジュールにおいて実行データを生成する場合と比較して、最短の周期を有するサブスケジュールにおいて実行データを生成すると少ない実行データで済み、生成する実行データの数を減少させることができる。これにより、作成するスケジュールのサイズ等を小さくすることができる。   According to such a configuration, a plurality of sub-schedules having a period i times (i is an integer equal to or greater than 2) the execution period of the control loop and different from each other are set as segments and stored in the storage unit. The execution data generation unit generates i pieces of execution data in the sub-schedule having the shortest cycle among the plurality of sub-schedules. Thus, for example, compared with the case of generating execution data in the sub-schedule having the longest cycle, if execution data is generated in the sub-schedule having the shortest cycle, less execution data is required, and the number of execution data to be generated is reduced. Can be reduced. As a result, the size of the schedule to be created can be reduced.

好ましくは、制御ループの動作タイミングを制御するリンクマスタデバイスに、送信部が、フィールドバスを介して前記スケジュールを送信するステップを更に備える。   Preferably, the transmission unit further includes a step of transmitting the schedule via the field bus to the link master device that controls the operation timing of the control loop.

かかる構成によれば、制御ループの動作タイミングを制御するリンクマスタデバイスに、送信部が、フィールドバスを介してスケジュールを送信するステップを更に備える。これにより、リンクマスタデバイスは、スケジュール作成方法又はスケジュール作成プログラムにより作成されたスケジュールを実行することができる。   According to this configuration, the transmission unit further includes a step of transmitting the schedule via the fieldbus to the link master device that controls the operation timing of the control loop. Thereby, the link master device can execute the schedule created by the schedule creation method or the schedule creation program.

好ましくは、前述のリンクマスタデバイスには設定可能なサブスケジュールの数の最大値である設定可能最大数が定められており、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、設定可能最大数取得部が、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得するステップと、サブスケジュール設定部が、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するステップと、を更に備える。   Preferably, the above-mentioned link master device has a settable maximum number that is the maximum number of subschedules that can be set, and can be set when there are multiple link master devices in a fieldbus segment. The number acquisition unit obtains the maximum settable number of each link master device via the fieldbus, and the sub-schedule setting unit determines the minimum number of the acquired maximum settable number of each link master device. And setting a sub-schedule.

かかる構成によれば、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、設定可能最大数取得部が、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得するステップと、サブスケジュール設定部が、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するステップと、を更に備える。これにより、セグメントにおける全てのリンクマスタデバイスが設定可能な数のサブスケジュールが設定される。これにより、セグメントにおける全てのリンクマスタデバイスが実行可能なスケジュールを各リンクマスタデバイスに送信することができる。   According to such a configuration, when there are a plurality of link master devices in a fieldbus segment, the settable maximum number acquisition unit acquires the settable maximum number of each link master device via the fieldbus; The schedule setting unit further includes a step of setting a sub-schedule based on a minimum value of the acquired maximum number of link master devices that can be set. Thereby, the number of sub-schedules that can be set by all the link master devices in the segment are set. Accordingly, a schedule that can be executed by all link master devices in the segment can be transmitted to each link master device.

本発明によれば、例えばTの周期を有するサブスケジュールにおいて、制御ループをT/iの実行周期でi回実行させることが可能となる。これにより、制御ループの実行周期の数(種類)が、設定可能なサブスケジュールの最大値(設定可能最大数)より大きい場合でも、制御ループの実行周期のi倍の周期を有するサブスケジュールが設定されている場合に、当該制御ループを所望の実行周期で実行させることができる。   According to the present invention, for example, in a sub-schedule having a period of T, a control loop can be executed i times at a T / i execution period. Thereby, even when the number (type) of execution cycles of the control loop is larger than the maximum value (maximum number that can be set) of the settable sub-schedule, a sub-schedule having a cycle i times the execution cycle of the control loop is set If it is, the control loop can be executed at a desired execution cycle.

本発明の第1実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。It is a block diagram explaining the schematic structure of the field apparatus management system in 1st Embodiment of this invention. 図1に示したフィールド装置と機能ブロックとの関係を説明するブロック図である。It is a block diagram explaining the relationship between the field device shown in FIG. 1, and a functional block. 図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。It is an image figure explaining the example of the control loop comprised by the functional block shown in FIG. 図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。It is an image figure explaining the example of the control loop comprised by the functional block shown in FIG. 図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。It is an image figure explaining the example of the control loop comprised by the functional block shown in FIG. 図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。It is an image figure explaining the example of the control loop comprised by the functional block shown in FIG. 図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。It is an image figure explaining the example of the control loop comprised by the functional block shown in FIG. 図3に示した制御ループの実行タイミングを説明する図である。It is a figure explaining the execution timing of the control loop shown in FIG. 図4に示した制御ループの実行タイミングを説明する図である。It is a figure explaining the execution timing of the control loop shown in FIG. 図5に示した制御ループの実行タイミングを説明する図である。It is a figure explaining the execution timing of the control loop shown in FIG. 図6に示した制御ループの実行タイミングを説明する図である。It is a figure explaining the execution timing of the control loop shown in FIG. 図7に示した制御ループの実行タイミングを説明する図である。It is a figure explaining the execution timing of the control loop shown in FIG. 図1に示したスケジュール作成装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the schedule preparation apparatus shown in FIG. 本発明の第2実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。It is a block diagram explaining the schematic structure of the field apparatus management system in 2nd Embodiment of this invention. 図14に示したスケジュール作成装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the schedule preparation apparatus shown in FIG.

以下に本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号で表している。但し、図面は模式的なものである。したがって、具体的な寸法などは以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。   Embodiments of the present invention will be described below. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, the drawings are schematic. Therefore, specific dimensions and the like should be determined in light of the following description. Moreover, it is a matter of course that portions having different dimensional relationships and ratios are included between the drawings.

[第1実施形態]
図1乃至図13は、本発明の第1実施形態を示すためのものである。図1は、本発明の第1実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。図1に示すように、フィールド機器管理システム100は、フィールドバスのセグメント(以下、単にセグメントという)10と、コントローラ20と、本発明に係るスケジュール作成装置30とを備える。
[First Embodiment]
1 to 13 are for illustrating a first embodiment of the present invention. FIG. 1 is a block diagram illustrating a schematic configuration of a field device management system according to the first embodiment of the present invention. As shown in FIG. 1, a field device management system 100 includes a fieldbus segment (hereinafter simply referred to as a segment) 10, a controller 20, and a schedule creation device 30 according to the present invention.

セグメント10は、複数のフィールド機器11A〜11Jと、リンクマスタデバイス12とを含む。各フィールド機器11A〜11Jと、リンクマスタデバイス12とは、フィールドバスFに接続しており、相互に通信可能となっている。   The segment 10 includes a plurality of field devices 11A to 11J and a link master device 12. The field devices 11A to 11J and the link master device 12 are connected to the field bus F and can communicate with each other.

フィールドバスFは、前述の規格化(標準化)されたファウンデーションフィールドバス(Foundation fieldbus)プロトコルを、通信仕様として用いるネットワークである。また、セグメント10は、フィールドバスFの基本構成であり、1本の伝送媒体からなる1つの伝送路を意味するフィールドバス用語である。   The fieldbus F is a network that uses the above-mentioned standardized (standardized) Foundation fieldbus protocol as a communication specification. The segment 10 is a basic configuration of the fieldbus F and is a fieldbus term meaning one transmission path composed of one transmission medium.

各フィールド機器11A〜11Jは、プラント内に装備される各種の機器であり、フィールバスFを介して双方向に通信可能なフィールバス適合の機器である。各フィールド機器11A〜11Jとしては、例えば、流量センサ、圧力センサ及び温度センサ等の各種センサや、流量制御弁および圧力制御弁等のバルブ(弁)、ポンプ及びファン等のアクチュエータが該当する。   The field devices 11A to 11J are various devices installed in the plant, and are fieldbus-compatible devices that can communicate bidirectionally via the fieldbus F. As each field device 11A-11J, actuators, such as various sensors, such as a flow sensor, a pressure sensor, and a temperature sensor, valves (valves), such as a flow control valve and a pressure control valve, and a pump and a fan correspond, for example.

リンクマスタデバイス12は、リンクアクティブスケジューラ(Link Active Scheduler、以下LASという)機能を有するLAS部121と、記憶部122とを有する機器である。   The link master device 12 is a device having an LAS unit 121 having a link active scheduler (hereinafter referred to as LAS) function and a storage unit 122.

LAS部121は、フィールドバスF上で行われる周期的通信、非周期的通信などを含む全ての通信を制御するためのネットワーク制御機能を有する。LAS部121は、例えば、周期的通信を起動するためのトリガフレームの送出、非周期的通信を行うために各フィールド機器11A〜11Jに送信許可を与えるフレームの送出などの機能を有する。なお、以下において、特に必要な場合を除き、周期的通信のみを説明し、非周期的通信については説明を省略する。   The LAS unit 121 has a network control function for controlling all communications including periodic communications and aperiodic communications performed on the fieldbus F. The LAS unit 121 has functions such as sending a trigger frame for starting periodic communication and sending a frame for giving transmission permission to the field devices 11A to 11J for performing aperiodic communication. In the following, only periodic communication will be described unless otherwise required, and description of aperiodic communication will be omitted.

記憶部122は、メモリなどの記憶手段であり、マクロサイクルデータ122aと、サブスケジュールデータ122bと、スケジュールプログラム122cとを記憶する。   The storage unit 122 is a storage unit such as a memory, and stores macro cycle data 122a, sub-schedule data 122b, and a schedule program 122c.

ここで、スケジュールは、後述する制御ループの周期的動作の実行タイミングを定めたものである。マクロサイクルは、スケジュールの基準周期を意味するフィールドバス用語であり、スケジュールに対して1つ設定されるものである。サブスケジュールは、制御ループを実行させる実行データを含み、複数設定されるものである。本実施形態では、スケジュールは複数のサブスケジュールを使用して実施(実行)される。   Here, the schedule defines the execution timing of the periodic operation of the control loop described later. A macro cycle is a fieldbus term meaning a reference period of a schedule, and one macro cycle is set for a schedule. The sub-schedule includes execution data for executing the control loop, and a plurality of sub-schedules are set. In this embodiment, the schedule is implemented (executed) using a plurality of sub-schedules.

マクロサイクルデータ122aは、マクロサイクルに関する情報、例えば周期の情報を含む。サブスケジュールデータ122bは、サブスケジュールに関する情報、例えば各サブスケジュールの周期、設定可能なサブスケジュールの数の最大値(以下、設定可能最大数という)などの情報を含む。スケジュールプログラム122cは、複数のサブスケジュールをマージして作成され、制御ループの周期的動作がマクロサイクルの周期で繰り返されるようにスケジューリングされたプログラムである。LAS部121は、このスケジュールプログラム122cに基づいて、セグメント10における動作及び通信を制御している。   The macro cycle data 122a includes information on the macro cycle, for example, information on the period. The sub-schedule data 122b includes information related to the sub-schedule, for example, information such as the period of each sub-schedule and the maximum number of sub-schedules that can be set (hereinafter referred to as the maximum number that can be set). The schedule program 122c is a program created by merging a plurality of sub-schedules and scheduled so that the periodic operation of the control loop is repeated at the period of the macro cycle. The LAS unit 121 controls the operation and communication in the segment 10 based on the schedule program 122c.

コントローラ20は、例えば、CPU(図示省略)、メモリなどの記憶手段(図示省略)、及びデータ通信(データ送受信)のためのインターフェース(図示省略)を備える。コントローラ20は、フィールドバスFに接続しており、各フィールド機器11A〜11J及びリンクマスタデバイス12と相互に通信可能であるとともに、スケジュール作成装置30に接続して相互に通信可能となっている。   The controller 20 includes, for example, a CPU (not shown), storage means (not shown) such as a memory, and an interface (not shown) for data communication (data transmission / reception). The controller 20 is connected to the field bus F, and can communicate with each of the field devices 11A to 11J and the link master device 12, and can also communicate with each other by connecting to the schedule creation device 30.

スケジュール作成装置30は、リンクマスタデバイス12が使用するスケジュールプログラムを作成するための装置である。スケジュール作成装置30は、入出力インターフェース部31と、記憶部32と、設定部33と、実行データ生成部34と、スケジュールプログラム作成部35と、データロード部36と、を備える。   The schedule creation device 30 is a device for creating a schedule program used by the link master device 12. The schedule creation device 30 includes an input / output interface unit 31, a storage unit 32, a setting unit 33, an execution data generation unit 34, a schedule program creation unit 35, and a data load unit 36.

入出力インターフェース部31は、キーボードやマウスなどの入力手段と、ディスプレイやプリンタなどの出力手段との間でデータ通信(データ送受信)を行うためのものである。入出力インターフェース部31は、例えば、スケジュール作成装置30により実行されるプログラム(ソフトウエア)により、ユーザに対してGUI(Graphical User Interface)を提供するようにしてもよい。   The input / output interface unit 31 is for performing data communication (data transmission / reception) between input means such as a keyboard and a mouse and output means such as a display and a printer. The input / output interface unit 31 may provide a GUI (Graphical User Interface) to the user, for example, by a program (software) executed by the schedule creation device 30.

記憶部32は、メモリなどの記憶手段であり、リンクマスタデバイス12の記憶部122と同様のマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム122cとを記憶する。また、記憶部32は、後述する機能ブロックに関する情報、例えば機能ブロックの定義の情報を含む機能ブロックデータ13を記憶する。   The storage unit 32 is a storage unit such as a memory, and stores macro cycle data 32a, sub-schedule data 32b, and a schedule program 122c similar to the storage unit 122 of the link master device 12. In addition, the storage unit 32 stores functional block data 13 including information on functional blocks to be described later, for example, functional block definition information.

設定部33は、入出力インターフェース部31を介して入力される後述の制御ループの実行周期に基づいて、複数のサブスケジュールを設定する。   The setting unit 33 sets a plurality of sub-schedules based on an execution cycle of a control loop, which will be described later, input via the input / output interface unit 31.

実行データ生成部34は、設定部33により設定されたサブスケジュールにおいて、制御ループを実行させる実行データを生成する。   The execution data generation unit 34 generates execution data for executing the control loop in the sub-schedule set by the setting unit 33.

スケジュールプログラム作成部35は、実行データ生成部34により生成された実行データを含むサブスケジュールを用いて、スケジュールプログラム32cを作成する。   The schedule program creation unit 35 creates the schedule program 32c using the sub-schedule including the execution data generated by the execution data generation unit 34.

データロード部36は、スケジュールプログラム作成部35により作成されたスケジュールプログラム32cを含むデータを、フィールドバスFを介してリンクマスタデバイス12に送信する。   The data load unit 36 transmits data including the schedule program 32 c created by the schedule program creation unit 35 to the link master device 12 via the fieldbus F.

機能ブロック(Function Block)は、制御システムを構築するに必要な単位機能を機能ブロック化したものを意味するフィールドバス用語である。具体的には、機能ブロックは、セグメント10を構成する機器、例えば、各フィールド機器11A〜11Jに実行される機能を定義したものである。機能ブロックに定義される機能は、測定値、例えば、電圧値、温度値、流量値などを各フィールド機器11A〜11Jに取得させたり、アルゴリズム又は計算、例えば、微分、積分、加算、減算、乗算、除算などを行わせたり、計装、例えばバルブ開閉、炉調整、ボイラ調整などを制御させたり、或いはその他の機能を行わせるものである。   A function block (Function Block) is a fieldbus term meaning a function block of unit functions necessary for constructing a control system. Specifically, the functional block defines a function to be executed by devices constituting the segment 10, for example, the field devices 11A to 11J. The functions defined in the function block include measurement values, for example, voltage values, temperature values, flow rate values, etc. acquired by the field devices 11A to 11J, and algorithms or calculations such as differentiation, integration, addition, subtraction, and multiplication. , Division, etc., instrumentation such as valve opening / closing, furnace adjustment, boiler adjustment, etc., or other functions are performed.

図2は、図1に示したフィールド装置と機能ブロックとの関係を説明するブロック図である。図2に示すように、図1に示した機能ブロックデータ13は、アナログ入力(以下、AIという)機能を有するAI機能ブロック(AI1)13a、比例・積分・微分(以下、PIDという)機能を有するPID機能ブロック(PID1)13b、アナログ出力(以下、AOという)機能を有するAO機能ブロック(AO1)13c、AI機能を有するAI機能ブロック(AI2)13d、PID機能を有するPID機能ブロック(PID2)13e、AO機能を有するAO機能ブロック(AO2)13f、AI機能を有するAI機能ブロック(AI3)13g、PID機能を有するPID機能ブロック(PID3)13h、AO機能を有するAO機能ブロック(AO3)13i、AI機能を有するAI機能ブロック(AI4)13j、PID機能を有するPID機能ブロック(PID4)13k、AO機能を有するAO機能ブロック(AO4)13l、AI機能を有するAI機能ブロック(AI5)13m、PID機能を有するPID機能ブロック(PID5)13n、及びAO機能を有するAO機能ブロック(AO5)13o、の情報を含む。   FIG. 2 is a block diagram for explaining the relationship between the field device shown in FIG. 1 and functional blocks. As shown in FIG. 2, the functional block data 13 shown in FIG. 1 includes an AI functional block (AI1) 13a having an analog input (hereinafter referred to as AI) function, a proportional / integral / differential (hereinafter referred to as PID) function. PID functional block (PID1) 13b, AO functional block (AO1) 13c having analog output (hereinafter referred to as AO) function, AI functional block (AI2) 13d having AI function, PID functional block (PID2) having PID function 13e, an AO function block (AO2) 13f having an AO function, an AI function block (AI3) 13g having an AI function, a PID function block (PID3) 13h having a PID function, an AO function block (AO3) 13i having an AO function, AI function block (AI4) 13j having AI function, PI PID function block (PID4) 13k having a function, AO function block (AO4) 13l having an AO function, AI function block (AI5) 13m having an AI function, PID function block (PID5) 13n having a PID function, and AO function AO function block (AO5) 13o having information.

AI機能ブロック(AI1)13aはフィールド機器11Aにより実行される機能を定義し、PID機能ブロック(PID1)13bとAO機能ブロック(AO1)13cとは、フィールド機器11Bにより実行される機能を定義する。AI機能ブロック(AI2)13dはフィールド機器11Cにより実行される機能を定義し、PID機能ブロック(PID2)13eとAO機能ブロック(AO2)13fとは、フィールド機器11Dにより実行される機能を定義する。AI機能ブロック(AI3)13gはフィールド機器11Eにより実行される機能を定義し、PID機能ブロック(PID3)13hとAO機能ブロック(AO3)13iとは、フィールド機器11Fにより実行される機能を定義する。AI機能ブロック(AI4)13jはフィールド機器11Gにより実行される機能を定義し、PID機能ブロック(PID4)13kとAO機能ブロック(AO4)13lとは、フィールド機器11Hにより実行される機能を定義する。AI機能ブロック(AI5)13mはフィールド機器11Iにより実行される機能を定義し、PID機能ブロック(PID5)13nとAO機能ブロック(AO5)13oは、フィールド機器11Jにより実行される機能を定義する。   The AI function block (AI1) 13a defines a function executed by the field device 11A, and the PID function block (PID1) 13b and the AO function block (AO1) 13c define a function executed by the field device 11B. The AI function block (AI2) 13d defines a function executed by the field device 11C, and the PID function block (PID2) 13e and the AO function block (AO2) 13f define a function executed by the field device 11D. The AI function block (AI3) 13g defines a function executed by the field device 11E, and the PID function block (PID3) 13h and the AO function block (AO3) 13i define a function executed by the field device 11F. The AI function block (AI4) 13j defines a function executed by the field device 11G, and the PID function block (PID4) 13k and the AO function block (AO4) 13l define a function executed by the field device 11H. The AI function block (AI5) 13m defines a function executed by the field device 11I, and the PID function block (PID5) 13n and the AO function block (AO5) 13o define a function executed by the field device 11J.

なお、本実施形態では、セグメント10を構成する各フィールド機器11A〜11Jにより実行される機能ブロックのみを示したが、これに限定されず、フィールドバスFに接続される他の機器、例えば、他のセグメントを構成するフィールド機器が実行する機能を機能ブロックとして定義してもよい。   In the present embodiment, only functional blocks executed by the field devices 11A to 11J constituting the segment 10 are shown, but the present invention is not limited to this, and other devices connected to the field bus F, for example, other The functions executed by the field devices constituting the segment may be defined as function blocks.

図3乃至図7は、図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。図3乃至図7に示すように、図2に示した各機能ブロック13a〜13oは、少なくとも1つの入力、及び/又は少なくとも1つの出力を含む。各機能ブロック13a〜13oは、例えば、入出力インターフェース部31を介するユーザの操作により、相互に接続(結合)される。このように、機能ブロックを接続(結合)することにより、スケジュールの制御対象となる制御ループが形成(構成)される。   3 to 7 are image diagrams for explaining examples of control loops configured by the functional blocks shown in FIG. As shown in FIGS. 3-7, each functional block 13a-13o shown in FIG. 2 includes at least one input and / or at least one output. The functional blocks 13a to 13o are connected (coupled) to each other, for example, by a user operation via the input / output interface unit 31. In this way, by connecting (coupling) the functional blocks, a control loop to be controlled by the schedule is formed (configured).

図3に示す例では、AI機能ブロック(AI1)13aの出力は、PID機能ブロック(PID1)13bの入力に接続され、PID機能ブロック(PID1)13bの出力は、AO機能ブロック(AO1)13cの入力に接続される。また、AO機能ブロック(AO1)13cの出力は、PID機能ブロック(PID1)13bの入力に接続される。このように、AI機能ブロック(AI1)13a、PID機能ブロック(PID1)13b、及びAO機能ブロック(AO1)13cを接続(結合)することにより、制御ループ131を形成する。   In the example shown in FIG. 3, the output of the AI function block (AI1) 13a is connected to the input of the PID function block (PID1) 13b, and the output of the PID function block (PID1) 13b is connected to the AO function block (AO1) 13c. Connected to input. The output of the AO function block (AO1) 13c is connected to the input of the PID function block (PID1) 13b. In this manner, the control loop 131 is formed by connecting (coupling) the AI function block (AI1) 13a, the PID function block (PID1) 13b, and the AO function block (AO1) 13c.

図4に示す例において、AI機能ブロック(AI2)13dの出力は、PID機能ブロック(PID2)13eの入力に接続され、PID機能ブロック(PID2)13eの出力は、AO機能ブロック(AO2)13fの入力に接続される。また、AO機能ブロック(AO2)13fの出力は、PID機能ブロック(PID2)13eの入力に接続される。このように、AI機能ブロック(AI2)13d、PID機能ブロック(PID2)13e、及びAO機能ブロック(AO2)13fを接続(結合)することにより、制御ループ132を形成する。   In the example shown in FIG. 4, the output of the AI function block (AI2) 13d is connected to the input of the PID function block (PID2) 13e, and the output of the PID function block (PID2) 13e is connected to the AO function block (AO2) 13f. Connected to input. The output of the AO function block (AO2) 13f is connected to the input of the PID function block (PID2) 13e. In this way, the control loop 132 is formed by connecting (coupling) the AI function block (AI2) 13d, the PID function block (PID2) 13e, and the AO function block (AO2) 13f.

図5に示す例において、AI機能ブロック(AI3)13gの出力は、PID機能ブロック(PID3)13hの入力に接続され、PID機能ブロック(PID3)13hの出力は、AO機能ブロック(AO3)13iの入力に接続される。また、AO機能ブロック(AO3)13iの出力は、PID機能ブロック(PID3)13hの入力に接続される。このように、AI機能ブロック(AI3)13g、PID機能ブロック(PID3)13h、及びAO機能ブロック(AO3)13iを接続(結合)することにより、制御ループ133を形成する。   In the example shown in FIG. 5, the output of the AI function block (AI3) 13g is connected to the input of the PID function block (PID3) 13h, and the output of the PID function block (PID3) 13h is the output of the AO function block (AO3) 13i. Connected to input. The output of the AO function block (AO3) 13i is connected to the input of the PID function block (PID3) 13h. In this way, the control loop 133 is formed by connecting (coupling) the AI function block (AI3) 13g, the PID function block (PID3) 13h, and the AO function block (AO3) 13i.

図6に示す例において、AI機能ブロック(AI4)13jの出力は、PID機能ブロック(PID4)13kの入力に接続され、PID機能ブロック(PID4)13kの出力は、AO機能ブロック(AO4)13lの入力に接続される。また、AO機能ブロック(AO4)13lの出力は、PID機能ブロック(PID4)13kの入力に接続される。このように、AI機能ブロック(AI4)13j、PID機能ブロック(PID4)13k、及びAO機能ブロック(AO4)13lを接続(結合)することにより、制御ループ134を形成する。   In the example shown in FIG. 6, the output of the AI functional block (AI4) 13j is connected to the input of the PID functional block (PID4) 13k, and the output of the PID functional block (PID4) 13k is connected to the AO functional block (AO4) 13l. Connected to input. The output of the AO function block (AO4) 13l is connected to the input of the PID function block (PID4) 13k. In this manner, the control loop 134 is formed by connecting (coupling) the AI function block (AI4) 13j, the PID function block (PID4) 13k, and the AO function block (AO4) 13l.

図7に示す例において、AI機能ブロック(AI5)13mの出力は、PID機能ブロック(PID5)13nの入力に接続され、PID機能ブロック(PID5)13nの出力は、AO機能ブロック(AO5)13oの入力に接続される。また、AO機能ブロック(AO5)13oの出力は、PID機能ブロック(PID5)13nの入力に接続される。このように、AI機能ブロック(AI5)13m、PID機能ブロック(PID5)13n、及びAO機能ブロック(AO5)15oを接続(結合)することにより、制御ループ135を形成する。   In the example shown in FIG. 7, the output of the AI functional block (AI5) 13m is connected to the input of the PID functional block (PID5) 13n, and the output of the PID functional block (PID5) 13n is connected to the AO functional block (AO5) 13o. Connected to input. The output of the AO function block (AO5) 13o is connected to the input of the PID function block (PID5) 13n. In this way, the control loop 135 is formed by connecting (coupling) the AI function block (AI5) 13m, the PID function block (PID5) 13n, and the AO function block (AO5) 15o.

なお、本実施形態では、セグメント10に定義された各機能ブロック13a〜13oにより形成(構成)される制御ループのみを示したが、これに限定されず、制御ループは、フィールドバスFの他のセグメントに定義された機能ブロックを含んでいてもよい。   In the present embodiment, only the control loop formed (configured) by the functional blocks 13a to 13o defined in the segment 10 is shown. However, the present invention is not limited to this. A function block defined in the segment may be included.

図8は、図3に示した制御ループの実行タイミングを説明する図である。以下の説明において、特に記載した場合を除き、マクロサイクルは4000ms、サブスケジュールの設定可能最大数は「4」であるものとする。図3に示した制御ループ131の実行周期が4000msの場合、図1に示した設定部33は、図8に示すように、スケジュール200を構成するサブスケジュール210の周期として、制御ループ131の実行周期と同じ4000msを設定する。これにより、スケジュール200においてサブスケジュール210が1回実行される。なお、制御ループ131の実行周期は、図1に示した入出力インターフェース部31を介してユーザにより入力される。次に、図1に示した実行データ生成部34は、制御ループ131に対してサブスケジュール210を割り当てる。また、制御ループ131を構成するAI機能ブロック(AI1)13a、PID機能ブロック(PID1)13b、及びAO機能ブロック(AO1)13cを、サブスケジュール210においてそれぞれ1回実行させるために、実行データ生成部34は、実行データ211、212、213を生成する。さらに、図3に示したAI機能ブロック(AI1)13aとPID機能ブロック(PID1)13bとの接続は、異なる装置、すなわち、図2に示したように、フィールド装置11Aの機能ブロックとフィールド装置11Bの機能ブロックとの接続なので、AI機能ブロック(AI1)13aの出力をPID機能ブロック(PID1)13bに入力させるために、実行データ生成部34は、セグメント10における通信(C1)131aを実行させる実行データ214を生成する。このように、サブスケジュール210において制御ループ131が1回実行される。   FIG. 8 is a diagram for explaining the execution timing of the control loop shown in FIG. In the following description, it is assumed that the macro cycle is 4000 ms and the maximum number of sub-schedules that can be set is “4”, unless otherwise specified. When the execution cycle of the control loop 131 shown in FIG. 3 is 4000 ms, the setting unit 33 shown in FIG. 1 executes the control loop 131 as the cycle of the sub-schedule 210 constituting the schedule 200 as shown in FIG. The same 4000 ms as the period is set. As a result, the sub-schedule 210 is executed once in the schedule 200. The execution cycle of the control loop 131 is input by the user via the input / output interface unit 31 shown in FIG. Next, the execution data generation unit 34 illustrated in FIG. 1 assigns the sub-schedule 210 to the control loop 131. Further, in order to execute the AI function block (AI1) 13a, the PID function block (PID1) 13b, and the AO function block (AO1) 13c constituting the control loop 131 once in the sub-schedule 210, an execution data generation unit 34 generates execution data 211, 212, and 213. Further, the connection between the AI functional block (AI1) 13a and the PID functional block (PID1) 13b shown in FIG. 3 is different from that of the functional block of the field device 11A and the field device 11B as shown in FIG. The execution data generation unit 34 executes the communication (C1) 131a in the segment 10 in order to input the output of the AI function block (AI1) 13a to the PID function block (PID1) 13b. Data 214 is generated. As described above, the control loop 131 is executed once in the sub-schedule 210.

生成された各実行データ211〜214は、サブスケジュール210において所定のタイミングで実行するために、基準時間(図3において0ms)からのオフセット時間を含む。図8に示す例では、実行データ211は0msのオフセット時間が設定され、実行データ212は200msのオフセット時間が設定され、実行データ213は330msのオフセット時間が設定され、実行データ214は170msのオフセット時間が設定される。なお、各実行データ211〜214のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。   Each of the generated execution data 211 to 214 includes an offset time from a reference time (0 ms in FIG. 3) in order to execute at a predetermined timing in the sub-schedule 210. In the example shown in FIG. 8, the execution data 211 has an offset time of 0 ms, the execution data 212 has an offset time of 200 ms, the execution data 213 has an offset time of 330 ms, and the execution data 214 has an offset of 170 ms. Time is set. Note that the offset time of each piece of execution data 211 to 214 is input by the user via the input / output interface unit 31.

図9は、図4に示した制御ループの実行タイミングを説明する図である。図4に示した制御ループ132の実行周期が2000msの場合、図1に示した設定部33は、図9に示すように、スケジュール200を構成するサブスケジュール220の周期として、制御ループ132の実行周期と同じ2000msを設定する。これにより、スケジュール200においてサブスケジュール210が2回実行される。なお、制御ループ132の実行周期は、図1に示した入出力インターフェース部31を介してユーザにより入力される。次に、図1に示した実行データ生成部34は、制御ループ132に対してサブスケジュール220を割り当てる。また、制御ループ132を構成するAI機能ブロック(AI2)13d、PID機能ブロック(PID2)13e、及びAO機能ブロック(AO2)13fを、サブスケジュール220においてそれぞれ1回実行させるために、実行データ生成部34は、実行データ221、222、223を生成する。さらに、実行データ生成部34は、図4に示したAI機能ブロック(AI2)13dとPID機能ブロック(PID2)13eとの接続は、異なる装置、すなわち、図2に示したように、フィールド装置11Cの機能ブロックとフィールド装置11Dの機能ブロックとの接続なので、AI機能ブロック(AI2)13dの出力をPID機能ブロック(PID2)13fに入力させるために、セグメント10における通信(C2)132aを実行させる実行データ224を生成する。これにより、サブスケジュール220において制御ループ132が1回実行される。   FIG. 9 is a diagram for explaining the execution timing of the control loop shown in FIG. When the execution cycle of the control loop 132 shown in FIG. 4 is 2000 ms, the setting unit 33 shown in FIG. 1 executes the control loop 132 as the cycle of the sub-schedule 220 constituting the schedule 200 as shown in FIG. The same 2000 ms as the period is set. As a result, the sub-schedule 210 is executed twice in the schedule 200. The execution period of the control loop 132 is input by the user via the input / output interface unit 31 shown in FIG. Next, the execution data generation unit 34 illustrated in FIG. 1 assigns a sub-schedule 220 to the control loop 132. Further, in order to execute the AI function block (AI2) 13d, the PID function block (PID2) 13e, and the AO function block (AO2) 13f constituting the control loop 132 once in the sub-schedule 220, an execution data generation unit 34 generates execution data 221, 222, and 223. Further, the execution data generating unit 34 connects the AI function block (AI2) 13d and the PID function block (PID2) 13e shown in FIG. 4 with different devices, that is, as shown in FIG. The execution of the communication (C2) 132a in the segment 10 is executed in order to input the output of the AI function block (AI2) 13d to the PID function block (PID2) 13f. Data 224 is generated. As a result, the control loop 132 is executed once in the sub-schedule 220.

生成された各実行データ221〜224は、サブスケジュール220において所定のタイミングで実行するために、基準時間(図9において0ms又は2000ms)からのオフセット時間を含む。図9に示す例では、実行データ221は0msのオフセット時間が設定され、実行データ222は140msのオフセット時間が設定され、実行データ223は270msのオフセット時間が設定され、実行データ214は110msのオフセット時間が設定される。なお、各実行データ221〜224のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。   Each of the generated execution data 221 to 224 includes an offset time from a reference time (0 ms or 2000 ms in FIG. 9) in order to execute at a predetermined timing in the sub-schedule 220. In the example shown in FIG. 9, the execution data 221 has an offset time of 0 ms, the execution data 222 has an offset time of 140 ms, the execution data 223 has an offset time of 270 ms, and the execution data 214 has an offset of 110 ms. Time is set. The offset time of each piece of execution data 221 to 224 is input by the user via the input / output interface unit 31.

図10は、図5に示した制御ループの実行タイミングを説明する図である。図5に示した制御ループ133の実行周期が1000msの場合、図1に示した設定部33は、図10に示すように、スケジュール200を構成するサブスケジュール230の周期として、制御ループ133の実行周期と同じ1000msを設定する。これにより、スケジュール200においてサブスケジュール210が4回実行される。なお、制御ループ133の実行周期は、図1に示した入出力インターフェース部31を介してユーザにより入力される。次に、図1に示した実行データ生成部34は、制御ループ133に対してサブスケジュール230を割り当てる。また、制御ループ133を構成するAI機能ブロック(AI3)13g、PID機能ブロック(PID3)13h、及びAO機能ブロック(AO3)13iを、サブスケジュール230においてそれぞれ1回実行させるために、実行データ生成部34は、実行データ231、232、233を生成する。さらに、図5に示したAI機能ブロック(AI3)13gとPID機能ブロック(PID3)13hとの接続は、異なる装置、すなわち、図2に示したように、フィールド装置11Eの機能ブロックとフィールド装置11Fの機能ブロックとの接続なので、AI機能ブロック(AI3)13gの出力をPID機能ブロック(PID3)13hに入力させるために、実行データ生成部34は、セグメント10における通信(C3)133aを実行させる実行データ234を生成する。これにより、サブスケジュール230において制御ループ133が1回実行される。   FIG. 10 is a diagram for explaining the execution timing of the control loop shown in FIG. When the execution cycle of the control loop 133 shown in FIG. 5 is 1000 ms, the setting unit 33 shown in FIG. 1 executes the control loop 133 as the cycle of the sub-schedule 230 constituting the schedule 200 as shown in FIG. The same 1000 ms as the period is set. Thereby, in the schedule 200, the sub-schedule 210 is executed four times. The execution period of the control loop 133 is input by the user via the input / output interface unit 31 shown in FIG. Next, the execution data generation unit 34 illustrated in FIG. 1 assigns a sub-schedule 230 to the control loop 133. In addition, in order to execute the AI function block (AI3) 13g, the PID function block (PID3) 13h, and the AO function block (AO3) 13i constituting the control loop 133 once in the sub-schedule 230, an execution data generation unit 34 generates execution data 231, 232, and 233. Further, the AI function block (AI3) 13g and the PID function block (PID3) 13h shown in FIG. 5 are connected to different devices, that is, the function block of the field device 11E and the field device 11F as shown in FIG. In order to input the output of the AI function block (AI3) 13g to the PID function block (PID3) 13h, the execution data generation unit 34 executes the communication (C3) 133a in the segment 10 in order to input the output of the AI function block (AI3) 13g. Data 234 is generated. As a result, the control loop 133 is executed once in the sub-schedule 230.

生成された各実行データ231〜234は、サブスケジュール230において所定のタイミングで実行するために、基準時間(図10において0ms、1000ms、2000ms、又は3000ms)からのオフセット時間を含む。図10に示す例では、実行データ231は0msのオフセット時間が設定され、実行データ232は110msのオフセット時間が設定され、実行データ233は240msのオフセット時間が設定され、実行データ234は80msのオフセット時間が設定される。なお、各実行データ231〜234のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。   Each of the generated execution data 231 to 234 includes an offset time from a reference time (0 ms, 1000 ms, 2000 ms, or 3000 ms in FIG. 10) in order to execute at a predetermined timing in the sub-schedule 230. In the example shown in FIG. 10, the execution data 231 has an offset time of 0 ms, the execution data 232 has an offset time of 110 ms, the execution data 233 has an offset time of 240 ms, and the execution data 234 has an offset of 80 ms. Time is set. The offset time of each piece of execution data 231 to 234 is input by the user via the input / output interface unit 31.

図11は、図6に示した制御ループの実行タイミングを説明する図である。図6に示した制御ループ134の実行周期が800msの場合、図1に示した設定部33は、図11に示すように、スケジュール200を構成するサブスケジュール240の周期として、制御ループ133の実行周期と同じ800msを設定する。これにより、スケジュール200においてサブスケジュール210が5回実行される。なお、制御ループ134の実行周期は、図1に示した入出力インターフェース部31を介してユーザにより入力される。次に、図1に示した実行データ生成部34は、制御ループ134に対してサブスケジュール240を割り当てる。また、制御ループ134を構成するAI機能ブロック(AI4)13j、PID機能ブロック(PID4)13k、及びAO機能ブロック(AO4)13lを、サブスケジュール240においてそれぞれ1回実行させるために、実行データ生成部34は、実行データ241、242、243を生成する。また、図6に示したAI機能ブロック(AI4)13jとPID機能ブロック(PID4)13kとの接続は、異なる装置、すなわち、図2に示すように、フィールド装置11Gの機能ブロックとフィールド装置11Hの機能ブロックとの接続なので、AI機能ブロック(AI4)13jの出力をPID機能ブロック(PID4)13kに入力させるために、実行データ生成部34は、セグメント10における通信(C4)134aを実行させる実行データ244を生成する。これにより、サブスケジュール240において制御ループ134が1回実行される。   FIG. 11 is a diagram for explaining the execution timing of the control loop shown in FIG. When the execution period of the control loop 134 shown in FIG. 6 is 800 ms, the setting unit 33 shown in FIG. 1 executes the control loop 133 as the period of the sub-schedule 240 constituting the schedule 200 as shown in FIG. The same 800 ms as the period is set. Thereby, in the schedule 200, the sub-schedule 210 is executed five times. The execution cycle of the control loop 134 is input by the user via the input / output interface unit 31 shown in FIG. Next, the execution data generation unit 34 illustrated in FIG. 1 assigns a sub-schedule 240 to the control loop 134. Further, in order to execute the AI function block (AI4) 13j, the PID function block (PID4) 13k, and the AO function block (AO4) 13l constituting the control loop 134 once in the sub-schedule 240, an execution data generation unit 34 generates execution data 241, 242, and 243. Further, the connection between the AI functional block (AI4) 13j and the PID functional block (PID4) 13k shown in FIG. 6 is different between the functional blocks of the field device 11G and the field device 11H as shown in FIG. Since it is a connection with the functional block, the execution data generating unit 34 executes the execution data for executing the communication (C4) 134a in the segment 10 in order to input the output of the AI functional block (AI4) 13j to the PID functional block (PID4) 13k. 244 is generated. As a result, the control loop 134 is executed once in the sub-schedule 240.

生成された各実行データ241〜244は、サブスケジュール240において所定のタイミングで実行するために、基準時間(図11において0ms、800ms、1600ms、2400ms、又は3200ms)からのオフセット時間を含む。図11に示す例では、実行データ241は0msのオフセット時間が設定され、実行データ242は170msのオフセット時間が設定され、実行データ243は300msのオフセット時間が設定され、実行データ244は140msのオフセット時間が設定される。なお、各実行データ241〜244のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。   Each of the generated execution data 241 to 244 includes an offset time from a reference time (0 ms, 800 ms, 1600 ms, 2400 ms, or 3200 ms in FIG. 11) in order to execute at a predetermined timing in the sub-schedule 240. In the example shown in FIG. 11, the execution data 241 has an offset time of 0 ms, the execution data 242 has an offset time of 170 ms, the execution data 243 has an offset time of 300 ms, and the execution data 244 has an offset of 140 ms. Time is set. The offset time of each execution data 241 to 244 is input by the user via the input / output interface unit 31.

図7に示した制御ループ135の実行周期が500msの場合、設定されたサブスケジュール210〜240の数が設定最大値(「4」)に達しているため、従来は、制御ループ135の実行をスケジューリングできないか、又は、設定された4つのサブスケジュール210〜240の周期のうち、最も近い周期、例えば800msに、制御ループ135の実行周期を変更する等の対応が取られていた。   When the execution cycle of the control loop 135 shown in FIG. 7 is 500 ms, the number of set sub-schedules 210 to 240 has reached the set maximum value (“4”). It is impossible to schedule, or a countermeasure has been taken such as changing the execution period of the control loop 135 to the nearest period, for example, 800 ms among the set periods of the four sub-schedules 210 to 240.

図12は、図7に示した制御ループの実行タイミングを説明する図である。これに対し、設定されたサブスケジュール210〜240の数が設定最大値(「4」)に達している場合であって、制御ループ135の実行周期と同じ周期を有するサブスケジュール210〜240が存在しない場合、図1に示した実行データ作成部34は、図12に示すように、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュール、例えば2倍の周期を有するサブスケジュール230を制御ループ135に対して割り当てる。なお、制御ループ135の実行周期は、図1に示した入出力インターフェース部31を介してユーザにより入力される。また、制御ループ135を構成するAI機能ブロック(AI5)13m、PID機能ブロック(PID5)13n、及びAO機能ブロック(AO5)13oを、サブスケジュール230においてそれぞれi回、すなわち2回実行させるために、実行データ作成部34は、実行データ235a、236a、237aと、実行データ235b、236b、237bと、を生成する。また、図7に示したAI機能ブロック(AI5)13mとPID機能ブロック(PID5)13nとの接続は、異なる装置、すなわち、図2に示すように、フィールド装置11Iの機能ブロックとフィールド装置11Jの機能ブロックとの接続なので、AI機能ブロック(AI5)13mの出力をPID機能ブロック(PID5)13nに入力させるために、スケジュール作成装置30はセグメント10における通信(C5)135aを2回実行する実行データ238a及び実行データ238bを生成する。このように、サブスケジュール230において制御ループ135を実行させる、実行データ235a,236a,237a,238aと、実行データ235b,236b,237b,238bとの2個の実行データを生成することにより、1000msの周期を有するサブスケジュール230において、制御ループ135を1000ms/2、すなわち500msの実行周期で2回実行させることが可能となる。   FIG. 12 is a diagram for explaining the execution timing of the control loop shown in FIG. On the other hand, when the number of set sub-schedules 210 to 240 reaches the set maximum value (“4”), there are sub-schedules 210 to 240 having the same cycle as the execution cycle of the control loop 135. If not, the execution data creation unit 34 shown in FIG. 1 has a sub-schedule having a period that is i times (i is an integer equal to or larger than 2) the execution period of the control loop 135, as shown in FIG. A sub-schedule 230 having a period is assigned to the control loop 135. The execution period of the control loop 135 is input by the user via the input / output interface unit 31 shown in FIG. In order to execute the AI function block (AI5) 13m, the PID function block (PID5) 13n, and the AO function block (AO5) 13o constituting the control loop 135, i times, that is, twice in the sub-schedule 230, respectively. The execution data creation unit 34 generates execution data 235a, 236a, and 237a and execution data 235b, 236b, and 237b. Further, the connection between the AI function block (AI5) 13m and the PID function block (PID5) 13n shown in FIG. 7 is different between the function blocks of the field device 11I and the field device 11J as shown in FIG. Since it is a connection to the functional block, the schedule creation device 30 executes the communication (C5) 135a in the segment 10 twice in order to input the output of the AI functional block (AI5) 13m to the PID functional block (PID5) 13n. 238a and execution data 238b are generated. In this way, by generating two pieces of execution data of execution data 235a, 236a, 237a, 238a and execution data 235b, 236b, 237b, 238b for executing the control loop 135 in the sub-schedule 230, 1000 ms of In the sub-schedule 230 having a cycle, the control loop 135 can be executed twice at an execution cycle of 1000 ms / 2, that is, 500 ms.

なお、前述したように、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュール210,220,230が設定されている場合に、実行データ作成部34は、最短の周期を有するサブスケジュール230において実行データをi個、すなわち2個生成することが好ましい。これにより、例えば、最長の周期を有するサブスケジュール210において実行データを生成する場合、制御ループを8回実行させる必要があるため、8個の実行データを生成するのに対し、最短の周期を有するサブスケジュール230において実行データを生成すると2個の実行データで済み、生成する実行データの数を減少させることができる。   As described above, a plurality of sub-schedules 210, 220, and 230 having a period that is i times the execution period of the control loop 135 (i is an integer of 2 or more) and different from each other are set. In this case, the execution data creation unit 34 preferably generates i pieces of execution data, that is, two pieces, in the sub-schedule 230 having the shortest cycle. As a result, for example, when generating execution data in the sub-schedule 210 having the longest cycle, the control loop needs to be executed eight times, so that eight execution data are generated, whereas the shortest cycle is generated. When execution data is generated in the sub-schedule 230, only two pieces of execution data are required, and the number of execution data to be generated can be reduced.

生成された各実行データ235a、236a、237a、238aは、サブスケジュール230において所定のタイミングで実行するために、基準時間(図12において0ms、1000ms、2000ms、又は3000ms)からのオフセット時間を含む。図12に示す例では、実行データ235aは0msのオフセット時間が設定され、実行データ236aは230msのオフセット時間が設定され、実行データ237aは360msのオフセット時間が設定され、実行データ238aは200msのオフセット時間が設定される。なお、各実行データ235a、236a、237a、238aのオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。また、生成された各実行データ235b、236b、237b、238bは、サブスケジュール230において所定のタイミングで実行するために、基準時間(図12において0ms、1000ms、2000ms、又は3000ms)からのオフセット時間を含む。図12に示す例では、実行データ235bは500msのオフセット時間が設定され、実行データ236bは730msのオフセット時間が設定され、実行データ237bは860msのオフセット時間が設定され、実行データ238bは700msのオフセット時間が設定される。なお、各実行データ235b、236b、237b、238bのオフセット時間は、入出力インターフェース部31を介してユーザにより入力されたオフセット時間に、制御ループ135の実行周期を加算して算出する。このように、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。   Each of the generated execution data 235a, 236a, 237a, and 238a includes an offset time from a reference time (0 ms, 1000 ms, 2000 ms, or 3000 ms in FIG. 12) in order to execute at a predetermined timing in the sub-schedule 230. In the example shown in FIG. 12, the execution data 235a has an offset time of 0 ms, the execution data 236a has an offset time of 230 ms, the execution data 237a has an offset time of 360 ms, and the execution data 238a has an offset of 200 ms. Time is set. The offset time of each piece of execution data 235a, 236a, 237a, 238a is input by the user via the input / output interface unit 31. In addition, each of the generated execution data 235b, 236b, 237b, and 238b has an offset time from a reference time (0 ms, 1000 ms, 2000 ms, or 3000 ms in FIG. 12) in order to execute at a predetermined timing in the sub-schedule 230. Including. In the example shown in FIG. 12, the execution data 235b has an offset time of 500 ms, the execution data 236b has an offset time of 730 ms, the execution data 237b has an offset time of 860 ms, and the execution data 238b has an offset of 700 ms. Time is set. The offset times of the execution data 235b, 236b, 237b, and 238b are calculated by adding the execution period of the control loop 135 to the offset time input by the user via the input / output interface unit 31. As described above, when generating two pieces of execution data 235a, 236a, 237a, 238a, 235b, 236b, 237b, and 238b, each offset time interval is set to an execution cycle, that is, 500 ms, so that In the sub-schedule 230, the control loop 135 can be executed twice.

図1に示したスケジュールプログラム作成部35は、サブスケジュール210〜240ごとに作成された実行データをマージしてスケジュールプログラム32cを作成する。図1に示したデータロード部36は、作成されたスケジュールプログラム32cと、記憶部32のマクロサイクルデータ32a及びサブスケジュールデータ32bを、図1に示したコントローラ20及びフィールドバスFを介してリンクマスタデバイス12に送信(ロード)する。これにより、リンクマスタデバイス12は、スケジュール作成装置30により作成されたスケジュールプログラム32cを実行することができる。   The schedule program creation unit 35 shown in FIG. 1 merges execution data created for each of the sub-schedules 210 to 240 to create a schedule program 32c. 1 loads the created schedule program 32c, the macro cycle data 32a and the sub-schedule data 32b in the storage unit 32 via the controller 20 and the field bus F shown in FIG. Transmit (load) to the device 12. Thereby, the link master device 12 can execute the schedule program 32c created by the schedule creation device 30.

次に、図13を参照しながらスケジュール作成方法及びスケジュール作成プログラムについて説明する。図13は、図1に示したスケジュール作成装置の動作を説明するフローチャートである。ユーザの操作により制御ループが作成され、図1に示した入出力インターフェース部31を介して制御ループの実行周期が入力されると、図1に示したスケジュール作成装置30は、処理S300を開始する。すなわち、図13に示すように、図1に示す設定部33は、図1に示した記憶部32からサブスケジュールデータ32bを読み出し、入力された制御ループの実行周期の数(種類)が、サブスケジュールの設定可能最大数より大きいか否かを判定する(S301)。なお、制御ループの実行周期の数とは、その種類の数を意味し、例えば、4つの制御ループが全て同じ実行周期を有する場合、制御ループの実行周期の数は「4」であるが、その種類数は1つであるため、設定部33は、制御ループの実行周期の数(種類)を「1」として判定する。   Next, a schedule creation method and a schedule creation program will be described with reference to FIG. FIG. 13 is a flowchart for explaining the operation of the schedule creation device shown in FIG. When a control loop is created by a user's operation and the execution period of the control loop is input via the input / output interface unit 31 shown in FIG. 1, the schedule creation device 30 shown in FIG. 1 starts processing S300. . That is, as shown in FIG. 13, the setting unit 33 shown in FIG. 1 reads the sub-schedule data 32b from the storage unit 32 shown in FIG. 1, and the number (type) of execution cycles of the input control loop is It is determined whether or not the maximum number of schedules that can be set is larger (S301). The number of control loop execution cycles means the number of types. For example, if all four control loops have the same execution cycle, the number of control loop execution cycles is “4”. Since the number of types is one, the setting unit 33 determines that the number (type) of execution cycles of the control loop is “1”.

S301の判定の結果、入力された制御ループの実行周期の数(種類)がサブスケジュールの設定可能最大数より大きい場合、設定部33は、入力された制御ループの実行周期に基づいて、設定可能最大数までサブスケジュールの周期を設定し(S302)、記憶部32にサブスケジュールデータ32bを書き込む(更新する)。一方、S301の判定の結果、入力された制御ループの実行周期の数(種類)がサブスケジュールの設定可能最大数より大きくない場合、設定部33は、入力された制御ループの実行周期に基づいて、サブスケジュールの周期を設定し(S303)、記憶部32にサブスケジュールデータ32bを書き込む(更新する)。なお、設定部33は、S302又はS302において、同時に、設定された複数のサブスケジュールの周期における最小公倍数をマクロサイクルとして設定し、マクロサイクルデータ32aを更新するようにしてもよい。   As a result of the determination in S301, when the number (type) of execution cycles of the input control loop is larger than the maximum number that can be set in the sub-schedule, the setting unit 33 can be set based on the execution cycle of the input control loop The sub-schedule period is set up to the maximum number (S302), and the sub-schedule data 32b is written (updated) in the storage unit 32. On the other hand, as a result of the determination in S301, when the number (type) of execution cycles of the input control loop is not larger than the maximum number that can be set in the sub-schedule, the setting unit 33 is based on the execution cycle of the input control loop. The sub-schedule cycle is set (S303), and the sub-schedule data 32b is written (updated) in the storage unit 32. In S302 or S302, the setting unit 33 may simultaneously set the least common multiple of the set sub-schedule periods as a macro cycle and update the macro cycle data 32a.

図8乃至図12に示した例の場合、サブスケジュールの設定最大値が「4」に対して、形成された制御ループ131〜135の実行周期は5つ(5種類)であるから、S302において、設定部33は、例えば、実行周期の長い順、又は実行周期の入力順に、サブスケジュール210〜240の周期として、4000ms、2000ms、1000ms、800msを設定する。また、設定部33は、マクロサイクル(スケジュール200の周期)として、最小公倍数である4000msを設定する。   In the case of the example shown in FIGS. 8 to 12, since the set maximum value of the sub-schedule is “4”, the execution cycles of the formed control loops 131 to 135 are five (five types). For example, the setting unit 33 sets 4000 ms, 2000 ms, 1000 ms, and 800 ms as the cycles of the sub-schedules 210 to 240 in the order of long execution cycles or the input sequence of execution cycles. The setting unit 33 sets 4000 ms, which is the least common multiple, as the macro cycle (cycle of the schedule 200).

本実施形態では、入力された制御ループの実行周期に基づいて、S302又はS303において、サブスケジュールの周期、およびマクロサイクルを自動的に設定するようにしたが、これに限定されない。例えば、あらかじめ、サブスケジュールの周期、及びマクロサイクルをユーザが入力して手動で設定しておいてもよい。この場合、処理S300は、次のS304から開始する。   In the present embodiment, the sub-schedule period and the macro cycle are automatically set in S302 or S303 based on the input execution period of the control loop. However, the present invention is not limited to this. For example, the user may manually set the sub-schedule period and the macro cycle in advance. In this case, the process S300 starts from the next S304.

S302又はS303の後、図1に示した実行データ作成部34は、記憶部32からサブスケジュールデータ32bを読み出し、入力された制御ループの実行周期と設定された各サブスケジュールの周期とに基づいて、各制御ループに対してサブスケジュールを割り当て可能か否か判定する(S304)。具体的には、実行データ作成部34は、制御ループの実行周期と同じ周期を有するサブスケジュールが設定されている場合、又は制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、サブスケジュールを割り当て可能であると判定する。一方、実行データ作成部34は、その他の場合、すなわち、制御ループの実行周期と同じ周期を有するサブスケジュールが設定されていない場合であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されていない場合に、サブスケジュールを割り当て可能ではない(割り当て不能)と判定する。   After S302 or S303, the execution data creation unit 34 shown in FIG. 1 reads the sub-schedule data 32b from the storage unit 32, and based on the input execution period of the control loop and the period of each set sub-schedule. Then, it is determined whether or not a sub-schedule can be assigned to each control loop (S304). Specifically, the execution data creation unit 34 has a sub-schedule having the same cycle as the control loop execution cycle, or a cycle that is i times the control loop execution cycle (i is an integer of 2 or more). It is determined that a sub-schedule can be assigned. On the other hand, the execution data creation unit 34 is in other cases, i.e., when a sub-schedule having the same period as the execution period of the control loop is not set, and i times the execution period of the control loop (i is 2 or more). When a sub-schedule having a period of (integer) is not set, it is determined that the sub-schedule is not assignable (cannot be assigned).

S304の判定の結果、サブスケジュールを割り当て可能である場合、実行データ作成部34は、記憶部32からサブスケジュールデータ32bを読み出して、形成された制御ループに対してサブスケジュールを割り当てるとともに、入出力インターフェース部31を介して入力されたオフセット時間に基づいて、制御ループごとに、各機能ブロック及び通信の実行データを生成する(S305)。一方、S304の判定の結果、サブスケジュールを割り当て不能である場合、実行データ作成部34は、入出力インターフェース部を介してエラーを出力し(S306)、スケジュール作成装置30は処理S300を終了する。   If the sub-schedule can be assigned as a result of the determination in S304, the execution data creation unit 34 reads the sub-schedule data 32b from the storage unit 32, assigns the sub-schedule to the formed control loop, and performs input / output. Based on the offset time input via the interface unit 31, each function block and communication execution data are generated for each control loop (S305). On the other hand, if it is determined in S304 that the sub-schedule cannot be assigned, the execution data creation unit 34 outputs an error via the input / output interface unit (S306), and the schedule creation device 30 ends the process S300.

なお、S306において、エラーを出力する前に、実行データ作成部34は、入力された制御ループの実行周期を、設定されているサブスケジュールの周期に基づく周期に変更するか否かを問うようにしてもよい。例えば、サブスケジュールの周期として、4000ms、2000ms、1000ms、800msが設定されており、入力された制御ループの実行周期が501msである場合、制御ループの実行周期が500msであれば、周期が1000msのサブスケジュールを割り当て可能であるから、実行データ作成部34は、入出力インターフェース部31を介して、制御ループの実行周期を500msに変更するか否かを問うメッセージを出力する。この場合、入力された制御ループの実行周期が500msに変更されたときには、エラーを出力することなく、実行データ作成部34は、S305のステップを行う。   In S306, before outputting an error, the execution data creation unit 34 asks whether or not to change the execution cycle of the input control loop to a cycle based on the set sub-schedule cycle. May be. For example, if the sub-schedule cycle is set to 4000 ms, 2000 ms, 1000 ms, and 800 ms, and the input control loop execution cycle is 501 ms, the control loop execution cycle is 500 ms and the cycle is 1000 ms. Since the sub-schedule can be assigned, the execution data creation unit 34 outputs a message asking whether to change the execution period of the control loop to 500 ms via the input / output interface unit 31. In this case, when the execution period of the input control loop is changed to 500 ms, the execution data creation unit 34 performs step S305 without outputting an error.

図3乃至図6及び図8乃至図11に示した制御ループ131〜134の例の場合、実行データ作成部34は、S304で、各制御ループ131〜134に対して、同じ周期を有するサブスケジュール210〜240をそれぞれ割り当てる。次に、実行データ作成部34は、S305で、スケジュール210において制御ループ131の実行データ211〜214を、スケジュール220において制御ループ132の実行データ221〜224を、スケジュール230において制御ループ133の実行データ231〜234を、スケジュール240において制御ループ134の実行データ241〜244を、それぞれ生成する。   In the case of the control loops 131 to 134 shown in FIG. 3 to FIG. 6 and FIG. 8 to FIG. 11, the execution data creation unit 34 is a sub-schedule having the same period for each control loop 131 to 134 in S304. 210 to 240 are assigned. Next, in S305, the execution data creation unit 34 executes the execution data 211 to 214 of the control loop 131 in the schedule 210, the execution data 221 to 224 of the control loop 132 in the schedule 220, and the execution data of the control loop 133 in the schedule 230. The execution data 241 to 244 of the control loop 134 are generated in the schedule 240, respectively.

また、図7及び図12に示した制御ループ135の例の場合、実行データ作成部34は、S304で、設定されている複数のサブスケジュール210〜240の中から、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールを検索する。この場合、実行データ作成部34は、2倍の周期を有するサブスケジュール230と、4倍の周期を有するサブスケジュール220と、8倍の周期を有するサブスケジュール210とを検出する。ここで、実行データ作成部34は、最短の周期を有するサブスケジュール230を制御ループ135に対して割り当てる。次に、実行データ作成部34は、割り当てられたスケジュール230において制御ループ135を実行させる、実行データ235a、236a、237a、238aと、実行データ235b、236b、237b、238bとの2個生成する。これにより、1000msの周期を有するサブスケジュール230において、制御ループ135を1000ms/2、すなわち500msの実行周期で2回実行させることが可能となる。   Further, in the case of the example of the control loop 135 shown in FIGS. 7 and 12, the execution data creation unit 34 determines the execution cycle of the control loop 135 from among the set sub-schedules 210 to 240 in S304. A sub-schedule having a period of i times (i is an integer of 2 or more) is searched. In this case, the execution data creation unit 34 detects a sub-schedule 230 having a twice cycle, a sub-schedule 220 having a four-fold cycle, and a sub-schedule 210 having a eight-fold cycle. Here, the execution data creation unit 34 assigns the sub-schedule 230 having the shortest cycle to the control loop 135. Next, the execution data creation unit 34 generates two pieces of execution data 235a, 236a, 237a, and 238a and execution data 235b, 236b, 237b, and 238b that cause the control loop 135 to be executed in the assigned schedule 230. Thereby, in the sub-schedule 230 having a period of 1000 ms, the control loop 135 can be executed twice at an execution period of 1000 ms / 2, that is, 500 ms.

実行データ作成部34により生成される、実行データ235a、236a、237a、238a、235b、236b、237b、238bは、サブスケジュール230の開始時間を基準とするオフセット時間を含むことが好ましい。これにより、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。   The execution data 235 a, 236 a, 237 a, 238 a, 235 b, 236 b, 237 b, and 238 b generated by the execution data creation unit 34 preferably includes an offset time based on the start time of the sub-schedule 230. As a result, when generating two pieces of execution data 235a, 236a, 237a, 238a, 235b, 236b, 237b, 238b, the interval of each offset time is set to an execution period, that is, 500 ms, so that In the sub-schedule 230, the control loop 135 can be executed twice.

なお、前述したように、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュール210,220,230が設定され、サブスケジュールデータ32bとして記憶部32に記憶されている場合に、実行データ作成部34は、最短の周期を有するサブスケジュール230において実行データをi個、すなわち2個生成することが好ましい。これにより、例えば、最長の周期を有するサブスケジュール210において実行データを生成する場合、制御ループを8回実行させる必要があるため、8個の実行データを生成するのに対し、最短の周期を有するサブスケジュール230において実行データを生成すると2個の実行データで済み、生成する実行データの数を減少させることができる。   As described above, a plurality of sub-schedules 210, 220, and 230 each having a cycle that is i times (i is an integer equal to or greater than 2) the execution cycle of the control loop 135 are set. When stored in the storage unit 32 as the sub-schedule data 32b, the execution data creation unit 34 preferably generates i, that is, two pieces of execution data in the sub-schedule 230 having the shortest cycle. As a result, for example, when generating execution data in the sub-schedule 210 having the longest cycle, the control loop needs to be executed eight times, so that eight execution data are generated, whereas the shortest cycle is generated. When execution data is generated in the sub-schedule 230, only two pieces of execution data are required, and the number of execution data to be generated can be reduced.

S305の後、スケジュールプログラム作成部35は、サブスケジュールごとに作成された実行データをマージしてスケジュールプログラム32cを作成し(S306)、記憶部32にスケジュールプログラム32cを書き込む。   After S305, the schedule program creation unit 35 creates a schedule program 32c by merging execution data created for each sub-schedule (S306), and writes the schedule program 32c in the storage unit 32.

S306の後、データロード部36は、記憶部32からマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム32cを読み出し、図1に示したコントローラ20及びフィールドバスFを介してリンクマスタデバイス12に送信(ロード)し(S307)、スケジュール作成装置30は処理S300を終了する。これにより、リンクマスタデバイス12は、スケジュール作成方法又はスケジュール作成プログラムにより作成されたスケジュールを実行することが可能となる。   After S306, the data load unit 36 reads the macro cycle data 32a, the sub-schedule data 32b, and the schedule program 32c from the storage unit 32, and sends them to the link master device 12 via the controller 20 and the field bus F shown in FIG. Transmission (loading) is performed (S307), and the schedule creation device 30 ends the process S300. Thereby, the link master device 12 can execute the schedule created by the schedule creation method or the schedule creation program.

送信(ロード)されたマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム32cは、それぞれマクロサイクルデータ122a、サブスケジュールデータ122b、スケジュールプログラム122cとして、記憶部122に記憶される。これにより、スケジュールプログラム32cに基づいて、リンクマスタデバイス12のLAS部121は、セグメント10における周期的動作を制御することができる。   The transmitted (loaded) macrocycle data 32a, sub-schedule data 32b, and schedule program 32c are stored in the storage unit 122 as macrocycle data 122a, sub-schedule data 122b, and schedule program 122c, respectively. Accordingly, the LAS unit 121 of the link master device 12 can control the periodic operation in the segment 10 based on the schedule program 32c.

本実施形態では、スケジュール作成装置30がスケジュールプログラム32cを作成するようにしたが、これに限定されない。リンクマスタデバイス12に送信(ロード)可能である限り、他の装置、例えば、コントローラ20やリンクマスタデバイス12自身であってもよい。また、スケジュールプログラム32cを作成するのは、装置、すなわちハードウエアに限定されず、ハードウエアが実行するソフトウエア(プログラム)であってもよい。さらに、スケジュールプログラム32cはソースプログラムであってもオブジェクトプログラムであってもよい。また、作成されるスケジュールは、スケジュールプログラム32cのようにプログラム形式でなくても、データ形式やファイル形式であってもよい。   In the present embodiment, the schedule creation device 30 creates the schedule program 32c, but the present invention is not limited to this. As long as transmission (loading) to the link master device 12 is possible, another device such as the controller 20 or the link master device 12 itself may be used. The schedule program 32c is not limited to an apparatus, that is, hardware, and may be software (program) executed by hardware. Furthermore, the schedule program 32c may be a source program or an object program. Further, the schedule to be created may not be a program format as in the schedule program 32c, but may be a data format or a file format.

このように、本実施形態におけるスケジュール作成装置30によれば、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュール230が設定されている場合に、当該サブスケジュール230において当該制御ループ135を実行させる、実行データ235a、236a、237a、238aと、実行データ235b、236b、237b、238bとの2個生成する。これにより、1000msの周期を有するサブスケジュール230において、制御ループ135を1000ms/2、すなわち500msの実行周期で2回実行させることが可能となる。これにより、制御ループの実行周期の数(種類)が、サブスケジュールの設定可能最大数より大きい場合でも、制御ループの実行周期のi倍の周期を有するサブスケジュールが設定されている場合に、当該制御ループを所望の実行周期で実行させることができる。   As described above, according to the schedule creation device 30 in the present embodiment, when a sub-schedule 230 having a period that is i times (i is an integer of 2 or more) the execution period of the control loop 135 is set, Two pieces of execution data 235 a, 236 a, 237 a, and 238 a and execution data 235 b, 236 b, 237 b, and 238 b are generated to execute the control loop 135 in the schedule 230. Thereby, in the sub-schedule 230 having a period of 1000 ms, the control loop 135 can be executed twice at an execution period of 1000 ms / 2, that is, 500 ms. As a result, even when the number (type) of execution cycles of the control loop is larger than the maximum number that can be set in the sub-schedule, the sub-schedule having a cycle that is i times the execution cycle of the control loop is set. The control loop can be executed at a desired execution cycle.

また、本実施形態におけるスケジュール作成装置30によれば、実行データ235a、236a、237a、238a、235b、236b、237b、238bは、サブスケジュール230の開始時間を基準とするオフセット時間を含む。これにより、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。   Further, according to the schedule creation device 30 in the present embodiment, the execution data 235 a, 236 a, 237 a, 238 a, 235 b, 236 b, 237 b, 238 b includes an offset time with reference to the start time of the sub-schedule 230. As a result, when generating two pieces of execution data 235a, 236a, 237a, 238a, 235b, 236b, 237b, 238b, the interval of each offset time is set to an execution period, that is, 500 ms, so that In the sub-schedule 230, the control loop 135 can be executed twice.

また、本実施形態におけるスケジュール作成装置30によれば、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュール210,220,230が設定されている場合に、当該複数のサブスケジュール210,220,230のうちの最短の周期を有するサブスケジュール230において2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する。これにより、例えば、最長の周期を有するサブスケジュール210において実行データを生成する場合、制御ループ135を8回実行させる必要があるため、8個の実行データを生成するのに対し、最短の周期を有するサブスケジュール230において実行データを生成すると2個の実行データで済み、生成する実行データの数を減少させることができる。これにより、作成するスケジュールプログラム32cのサイズ等を小さくすることができる。   Further, according to the schedule creation device 30 in the present embodiment, a plurality of sub-schedules 210, each having a cycle that is i times (i is an integer equal to or greater than 2) the execution cycle of the control loop 135, and each cycle being mutually different When 220 and 230 are set, two pieces of execution data 235a, 236a, 237a, 238a, 235b, 236b in the sub-schedule 230 having the shortest cycle among the plurality of sub-schedules 210, 220, and 230, 237b and 238b are generated. Thereby, for example, when generating execution data in the sub-schedule 210 having the longest cycle, it is necessary to execute the control loop 135 eight times. If execution data is generated in the sub-schedule 230, only two pieces of execution data are required, and the number of execution data to be generated can be reduced. Thereby, the size of the schedule program 32c to be created can be reduced.

また、本実施形態におけるスケジュール作成装置30によれば、制御ループ131〜135の動作タイミングを制御するリンクマスタデバイス12に、フィールドバスFを介してスケジュールプログラム32cを送信するデータロード部36を更に備える。これにより、リンクマスタデバイス12は、スケジュール作成装置30により作成されたスケジュールプログラム32cを実行することができる。   Further, according to the schedule creation device 30 in the present embodiment, the data load unit 36 that further transmits the schedule program 32 c via the fieldbus F to the link master device 12 that controls the operation timing of the control loops 131 to 135 is further provided. . Thereby, the link master device 12 can execute the schedule program 32c created by the schedule creation device 30.

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュール230が設定されている場合に、実行データ生成部34が、当該サブスケジュール230において当該制御ループ135を実行させる、実行データ235a、236a、237a、238aと、実行データ235b、236b、237b、238bとの2個生成するステップを備える。これにより、1000msの周期を有するサブスケジュール230において、制御ループ135を1000ms/2、すなわち500msの実行周期で2回実行させることが可能となる。これにより、制御ループの実行周期の数(種類)が、サブスケジュールの設定可能最大数より大きい場合でも、制御ループの実行周期のi倍の周期を有するサブスケジュールが設定されている場合に、当該制御ループを所望の実行周期で実行させることができる。   In addition, according to the schedule creation method and schedule creation program in the present embodiment, when the sub-schedule 230 having a period that is i times (i is an integer of 2 or more) the execution period of the control loop 135 is set, The data generation unit 34 includes two steps of generating execution data 235a, 236a, 237a, and 238a and execution data 235b, 236b, 237b, and 238b that cause the control loop 135 to be executed in the sub-schedule 230. Thereby, in the sub-schedule 230 having a period of 1000 ms, the control loop 135 can be executed twice at an execution period of 1000 ms / 2, that is, 500 ms. As a result, even when the number (type) of execution cycles of the control loop is larger than the maximum number that can be set in the sub-schedule, the sub-schedule having a cycle that is i times the execution cycle of the control loop is set. The control loop can be executed at a desired execution cycle.

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、実行データ235a、236a、237a、238a、235b、236b、237b、238bは、サブスケジュール230の開始時間を基準とするオフセット時間を含む。これにより、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。   Further, according to the schedule creation method and schedule creation program in the present embodiment, the execution data 235a, 236a, 237a, 238a, 235b, 236b, 237b, 238b include an offset time with reference to the start time of the sub-schedule 230. . As a result, when generating two pieces of execution data 235a, 236a, 237a, 238a, 235b, 236b, 237b, 238b, the interval of each offset time is set to an execution period, that is, 500 ms, so that In the sub-schedule 230, the control loop 135 can be executed twice.

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュール210,220,230が設定されている場合に、実行データ生成部34が、当該複数のサブスケジュール210,220,230のうちの最短の周期を有するサブスケジュール230において2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する。これにより、例えば、最長の周期を有するサブスケジュール210において実行データを生成する場合、制御ループ135を8回実行させる必要があるため、8個の実行データを生成するのに対し、最短の周期を有するサブスケジュール230において実行データを生成すると2個の実行データで済み、生成する実行データの数を減少させることができる。これにより、作成するスケジュールプログラム32cのサイズ等を小さくすることができる。   Further, according to the schedule creation method and schedule creation program in the present embodiment, a plurality of sub-cycles having a cycle i times (i is an integer of 2 or more) the execution cycle of the control loop 135 and each cycle being different from each other. When the schedules 210, 220, and 230 are set, the execution data generation unit 34 includes two pieces of execution data 235a in the sub-schedule 230 having the shortest cycle among the plurality of sub-schedules 210, 220, and 230. 236a, 237a, 238a, 235b, 236b, 237b, 238b are generated. Thereby, for example, when generating execution data in the sub-schedule 210 having the longest cycle, it is necessary to execute the control loop 135 eight times. If execution data is generated in the sub-schedule 230, only two pieces of execution data are required, and the number of execution data to be generated can be reduced. Thereby, the size of the schedule program 32c to be created can be reduced.

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、制御ループ131〜135の動作タイミングを制御するリンクマスタデバイス12に、データロード部36が、フィールドバスFを介してスケジュールプログラム32cを送信するステップを更に備える。これにより、リンクマスタデバイス12は、スケジュール作成方法又はスケジュール作成プログラムにより作成されたスケジュールプログラム32cを実行することができる。   Further, according to the schedule creation method and schedule creation program in the present embodiment, the data load unit 36 sends the schedule program 32c to the link master device 12 that controls the operation timing of the control loops 131 to 135 via the fieldbus F. And further comprising the step of transmitting. Thereby, the link master device 12 can execute the schedule program 32c created by the schedule creation method or the schedule creation program.

[第2実施形態]
図14及び図15は、本発明の第2実施形態を示すためのものである。なお、特に記載がない限り、前述した実施形態と同一構成部分は同一符号をもって表し、その説明を省略する。また、図示しない構成部分は、前述した実施形態と同様とする。
[Second Embodiment]
14 and 15 are for illustrating a second embodiment of the present invention. Unless otherwise specified, the same components as those in the above-described embodiment are denoted by the same reference numerals, and the description thereof is omitted. Further, components not shown in the figure are the same as those in the above-described embodiment.

図14は、本発明の第2実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。図14に示すように、セグメント10は、第1実施形態のリンクマスタデバイス12と同様の構成を有する、複数のリンクマスタデバイス12A、12B、12Cとを備える。   FIG. 14 is a block diagram illustrating a schematic configuration of a field device management system according to the second embodiment of the present invention. As shown in FIG. 14, the segment 10 includes a plurality of link master devices 12A, 12B, and 12C having the same configuration as the link master device 12 of the first embodiment.

各リンクマスタデバイス12A、12B、12Cには、設定可能なサブスケジュールの数の最大値、すなわち設定可能最大数が定められている。各リンクマスタデバイス12A、12B、12Cの記憶部122A、122B、122Cには、それぞれの設定可能最大数が記憶されている。各リンクマスタデバイス12A、12B、12Cの設定可能最大数は、リンクマスタデバイスの能力(性能)に依存し、マルチベンダ対応のフィールドバスFにおいては、各リンクマスタデバイス12A、12B、12Cによって設定可能最大数が異なる場合がある。以下の説明において、特に記載した場合を除き、設定可能最大数として、リンクマスタデバイス12Aに「4」、リンクマスタデバイス12Bに「3」、リンクマスタデバイス12Cに「2」が、記憶されているものとする。   Each link master device 12A, 12B, 12C has a maximum number of sub-schedules that can be set, that is, a maximum number that can be set. The storage units 122A, 122B, and 122C of the link master devices 12A, 12B, and 12C each store the maximum number that can be set. The maximum number of link master devices 12A, 12B, and 12C that can be set depends on the capability (performance) of the link master device, and can be set by each link master device 12A, 12B, and 12C in a multi-vendor compatible fieldbus F. The maximum number may be different. In the following description, “4” is stored in the link master device 12A, “3” is stored in the link master device 12B, and “2” is stored in the link master device 12C, unless otherwise specified. Shall.

セグメント10に複数のリンクマスタデバイス12A、12B、12Cが存在する場合、セグメント10において作動しているリンクマスタデバイスは1つであるが、何らかの理由で当該リンクマスタデバイスの動作が停止した場合に、待機している他のリンクマスタデバイスに自動的に切り替わり、セグメント10におけるスケジュールの実行を継続するようになっている。例えば、各リンクマスタデバイス12A、12B、12Cの設定可能最大数が全て「2」の場合、作動中のリンクマスタデバイス12Aが停止したときに、リンクマスタデバイス12B又はリンクマスタデバイス12Cに切り替わり、スケジュールの実行を継続する。   When there are a plurality of link master devices 12A, 12B, and 12C in the segment 10, only one link master device is operating in the segment 10, but when the operation of the link master device is stopped for some reason, The system automatically switches to another waiting link master device, and continues execution of the schedule in the segment 10. For example, when the maximum number of link master devices 12A, 12B, and 12C that can be set is all “2”, when the active link master device 12A stops, the link master device 12B or the link master device 12C is switched to the schedule. Continue to execute.

スケジュール作成装置30Aは、設定可能最大数取得部37を備える。設定可能最大数取得部37は、フィールドバスF及びコントローラ20を介して各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得する。設定可能最大数取得部37は、例えば、セグメント10に新たなリンクマスタデバイスが接続(設置)されたときに、設定可能最大数を取得する。   The schedule creation device 30 </ b> A includes a settable maximum number acquisition unit 37. The settable maximum number acquisition unit 37 acquires the settable maximum number from each link master device 12A, 12B, 12C via the fieldbus F and the controller 20. The settable maximum number acquisition unit 37 acquires the settable maximum number when, for example, a new link master device is connected (installed) to the segment 10.

設定部33は、入出力インターフェース部31を介して入力される制御ループの実行周期と、設定可能最大数取得部37により取得された複数の設定可能最大数のうちの最小値と、に基づいて、複数のサブスケジュールを設定する。   The setting unit 33 is based on the execution period of the control loop input via the input / output interface unit 31 and the minimum value among the plurality of settable maximum numbers acquired by the settable maximum number acquiring unit 37. Set multiple sub-schedules.

前述の例では、リンクマスタデバイス12Cに記憶された設定可能最大数「2」が最小値であるため、設定部33は、2つのサブスケジュールを設定する。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが設定可能な数のサブスケジュールが設定される。   In the above example, since the maximum settable number “2” stored in the link master device 12C is the minimum value, the setting unit 33 sets two sub-schedules. Thereby, the number of sub-schedules that can be set by all the link master devices 12A, 12B, and 12C in the segment 10 are set.

データロード部36は、スケジュールプログラム作成部35により作成されたスケジュールプログラム32cを含むデータを、フィールドバスFを介して各リンクマスタデバイス12A、12B、12Cに送信する。   The data load unit 36 transmits data including the schedule program 32c created by the schedule program creation unit 35 to each link master device 12A, 12B, 12C via the fieldbus F.

次に、図15を参照しながらスケジュール作成方法及びスケジュール作成プログラムについて説明する。図15は、図14に示したスケジュール作成装置の動作を説明するフローチャートである。図13に示した処理S300を実行する前に、図14に示したスケジュール作成装置30Aは、処理S400を開始する。すなわち、設定可能最大数取得部37は、フィールドバスF及びコントローラ20を介して各リンクマスタデバイス12A、12B、12Cに設定可能最大数の問い合わせ制御信号を送信し、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得する(S401)。   Next, a schedule creation method and a schedule creation program will be described with reference to FIG. FIG. 15 is a flowchart for explaining the operation of the schedule creation device shown in FIG. Before executing the process S300 illustrated in FIG. 13, the schedule creation device 30A illustrated in FIG. 14 starts the process S400. That is, the settable maximum number acquisition unit 37 transmits an inquiry control signal of the maximum settable number to each link master device 12A, 12B, 12C via the fieldbus F and the controller 20, and each link master device 12A, 12B, The maximum number that can be set is acquired from 12C (S401).

次に、設定可能最大数取得部37は、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を受信し、取得済であるか否かを判定する(S402)。なお、設定可能最大数取得部37は、全てのリンクマスタデバイス12A、12B、12Cから設定可能最大数を受信した場合に取得済であると判定し、全てのリンクマスタデバイス12A、12B、12Cのうち1つでも設定可能最大数を受信していない場合には取得済でないと判定する。   Next, the settable maximum number acquisition unit 37 receives the settable maximum number from each of the link master devices 12A, 12B, and 12C, and determines whether or not it has been acquired (S402). The settable maximum number acquisition unit 37 determines that the settable maximum number has been acquired when the settable maximum number has been received from all of the link master devices 12A, 12B, and 12C. If at least one of the settable maximum numbers is not received, it is determined that it has not been acquired.

S402の判定の結果、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得済である場合、設定可能最大数取得部37は、各リンクマスタデバイス12A、12B、12Cから取得した設定可能最大数のうちの最小値を決定し(S403)、当該最小値を設定可能最大数として、記憶部32にサブスケジュールデータ32bを書き込む(更新する)。S403の後、スケジュール作成装置30Aは処理S400を終了する。一方、S402の判定の結果、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得済でない場合、設定可能最大数取得部37は、所定時間経過後に、再度S401を行う。   As a result of the determination in S402, when the settable maximum number has been acquired from each link master device 12A, 12B, 12C, the settable maximum number acquisition unit 37 can be set acquired from each link master device 12A, 12B, 12C. The minimum value of the maximum number is determined (S403), and the sub-schedule data 32b is written (updated) in the storage unit 32 with the minimum value set as the maximum settable number. After S403, the schedule creation device 30A ends the process S400. On the other hand, as a result of the determination in S402, when the settable maximum number has not been acquired from each link master device 12A, 12B, 12C, the settable maximum number acquisition unit 37 performs S401 again after a predetermined time has elapsed.

処理S400の後、図13に示した処理S300において、設定部33は、S301において記憶部32からサブスケジュールデータ32bを読み出し、S302においてS403で決定した設定可能最大数までサブスケジュールの周期を設定する。また、データロード部36は、S307において、記憶部32からマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム32cを読み出し、コントローラ20及びフィールドバスFを介して各リンクマスタデバイス12A、12B、12Cに送信(ロード)する。   After the process S400, in the process S300 shown in FIG. 13, the setting unit 33 reads the sub-schedule data 32b from the storage unit 32 in S301, and sets the sub-schedule period up to the maximum settable number determined in S403 in S302. . In S307, the data load unit 36 reads the macro cycle data 32a, the sub-schedule data 32b, and the schedule program 32c from the storage unit 32, and each link master device 12A, 12B, 12C via the controller 20 and the fieldbus F. Send (load) to.

前述の例では、S401及びS402において、設定可能最大数取得部37は、リンクマスタデバイス12Aから設定可能最大数「4」を、リンクマスタデバイス12Bから設定可能最大数「3」を、リンクマスタデバイス12Cから設定可能最大数「2」を、それぞれ取得する。S403において、設定可能最大数取得部37は、リンクマスタデバイス12Cから取得した設定可能最大数「2」が最小値であるため、設定可能最大数として「2」を記憶部32のサブスケジュールデータ32bに書き込む(更新する)。次に、設定部33は、S302において2つのサブスケジュールを設定する。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが設定可能な数のサブスケジュールが設定される。   In the above-described example, in S401 and S402, the settable maximum number acquisition unit 37 sets the maximum settable number “4” from the link master device 12A and the settable maximum number “3” from the link master device 12B. The maximum configurable number “2” is acquired from 12C. In S403, the settable maximum number acquisition unit 37 sets “2” as the maximum settable number to the sub-schedule data 32b of the storage unit 32 because the maximum settable number “2” acquired from the link master device 12C is the minimum value. Write to (update). Next, the setting unit 33 sets two sub-schedules in S302. Thereby, the number of sub-schedules that can be set by all the link master devices 12A, 12B, and 12C in the segment 10 are set.

本実施形態では、設定可能最大数取得部37が各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得するようにしたが、これに限定されない。例えば、フィールドバスFに接続される他の機器に、各リンクマスタデバイス12A、12B、12Cの設定可能最大数を記憶しておき、設定可能最大数取得部37は、当該機器に記憶された各リンクマスタデバイス12A、12B、12Cの設定可能最大数を取得するようにしてもよい。   In the present embodiment, the maximum settable number acquisition unit 37 acquires the maximum settable number from each of the link master devices 12A, 12B, and 12C. However, the present invention is not limited to this. For example, the settable maximum number of each link master device 12A, 12B, 12C is stored in another device connected to the fieldbus F, and the settable maximum number acquisition unit 37 stores each of the link master devices 12A, 12B, 12C stored in the device. The settable maximum number of link master devices 12A, 12B, and 12C may be acquired.

このように、本実施形態におけるスケジュール作成装置30Aによれば、フィールドバスFのセグメント10にリンクマスタデバイス12A、12B、12Cが複数存在する場合に、フィールドバスFを介して各リンクマスタデバイス12A、12B、12Cの設定可能最大数を取得する設定可能最大数取得部37と、取得された各リンクマスタデバイス12A、12B、12Cの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定する設定部33と、を備える。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが設定可能な数のサブスケジュールが設定される。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが実行可能なスケジュールプログラム32cを各リンクマスタデバイス12A、12B、12Cに送信することができる。   As described above, according to the schedule creation device 30A in the present embodiment, when there are a plurality of link master devices 12A, 12B, and 12C in the segment 10 of the fieldbus F, each link master device 12A, A sub-schedule is set based on the settable maximum number acquisition unit 37 that acquires the settable maximum number of 12B and 12C, and the minimum value of the acquired settable maximum numbers of the link master devices 12A, 12B, and 12C. And a setting unit 33. Thereby, the number of sub-schedules that can be set by all the link master devices 12A, 12B, and 12C in the segment 10 are set. Accordingly, the schedule program 32c that can be executed by all the link master devices 12A, 12B, and 12C in the segment 10 can be transmitted to each link master device 12A, 12B, and 12C.

このように、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、フィールドバスFのセグメント10にリンクマスタデバイス12A、12B、12Cが複数存在する場合に、設定可能最大数取得部37が、フィールドバスFを介して各リンクマスタデバイス12A、12B、12Cの設定可能最大数を取得するステップと、設定部33が、取得された各リンクマスタデバイス12A、12B、12Cの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するステップと、を備える。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが設定可能な数のサブスケジュールが設定される。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが実行可能なスケジュールプログラム32cを各リンクマスタデバイス12A、12B、12Cに送信することができる。   Thus, according to the schedule creation method and schedule creation program in the present embodiment, when there are a plurality of link master devices 12A, 12B, 12C in the segment 10 of the fieldbus F, the settable maximum number acquisition unit 37 The step of acquiring the maximum settable number of each link master device 12A, 12B, 12C via the fieldbus F, and the setting unit 33 out of the acquired maximum settable number of each link master device 12A, 12B, 12C Setting a sub-schedule based on the minimum value of. Thereby, the number of sub-schedules that can be set by all the link master devices 12A, 12B, and 12C in the segment 10 are set. Accordingly, the schedule program 32c that can be executed by all the link master devices 12A, 12B, and 12C in the segment 10 can be transmitted to each link master device 12A, 12B, and 12C.

なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。   Note that the configurations of the above-described embodiments may be combined or a part of the components may be replaced. The configuration of the present invention is not limited to the above-described embodiment, and various modifications may be made without departing from the scope of the present invention.

10…セグメント、12,12A,12B,12C…リンクマスタデバイス、30,30A…スケジュール作成装置、33…設定部、34…実行データ生成部、36…データロード部、37…設定可能最大素取得部、131〜135…制御ループ、200…スケジュール、210〜240…サブスケジュール、F…フィールドバス   DESCRIPTION OF SYMBOLS 10 ... Segment, 12, 12A, 12B, 12C ... Link master device, 30, 30A ... Schedule creation apparatus, 33 ... Setting part, 34 ... Execution data generation part, 36 ... Data load part, 37 ... Settable maximum prime acquisition part , 131 to 135 ... control loop, 200 ... schedule, 210 to 240 ... sub-schedule, F ... field bus

Claims (7)

フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成装置であって、
前記制御ループの実行周期のi倍(iは2以上の整数)の周期を有する前記サブスケジュールが設定されている場合に、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成する実行データ生成部と、
前記制御ループの動作タイミングを制御するリンクマスタデバイスに、前記フィールドバスを介して前記スケジュールを送信する送信部と、を備え、
前記リンクマスタデバイスには設定可能な前記サブスケジュールの数の最大値である設定可能最大数が定められており、
前記フィールドバスのセグメントに前記リンクマスタデバイスが複数存在する場合に、前記フィールドバスを介して前記各リンクマスタデバイスの前記設定可能最大数を取得する設定可能最大数取得部と、
取得された前記各リンクマスタデバイスの前記設定可能最大数のうちの最小値に基づいて、前記サブスケジュールを設定するサブスケジュール設定部と、を更に備える
ことを特徴とするスケジュール作成装置。
A schedule creation device for creating a schedule for periodically executing a control loop constituted by a plurality of functional blocks of a fieldbus using a plurality of sub-schedules,
Execution for generating i execution data for executing the control loop in the sub-schedule when the sub-schedule having a period i times (i is an integer of 2 or more) the execution period of the control loop is set A data generator ;
A link master device that controls the operation timing of the control loop, and a transmission unit that transmits the schedule via the fieldbus,
The link master device has a settable maximum number that is the maximum number of subschedules that can be set,
When there are a plurality of link master devices in the fieldbus segment, a settable maximum number acquisition unit that acquires the settable maximum number of each link master device via the fieldbus;
A schedule creation apparatus , further comprising: a sub-schedule setting unit configured to set the sub-schedule based on a minimum value among the settable maximum numbers of the acquired link master devices .
前記実行データは、前記サブスケジュールの開始時間を基準とするオフセット時間を含む
ことを特徴とする請求項1に記載のスケジュール作成装置。
The schedule creation apparatus according to claim 1, wherein the execution data includes an offset time based on a start time of the sub-schedule.
前記制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数の前記サブスケジュールが設定されている場合に、前記実行データ生成部は、該複数のサブスケジュールのうちの最短の周期を有する前記サブスケジュールにおいて前記実行データをi個生成する
ことを特徴とする請求項1又は2に記載のスケジュール作成装置。
When a plurality of sub-schedules having a period i times the execution period of the control loop and different from each other are set, the execution data generation unit The schedule creation device according to claim 1, wherein i pieces of the execution data are generated in the sub-schedule having the shortest cycle.
ィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成方法であって、
前記制御ループの実行周期のi倍(iは2以上の整数)の周期を有する前記サブスケジュールが設定されている場合に、実行データ生成部が、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成するステップと、
前記制御ループの動作タイミングを制御するリンクマスタデバイスに、送信部が、前記フィールドバスを介して前記スケジュールを送信するステップと、を備え、
前記リンクマスタデバイスには設定可能な前記サブスケジュールの数の最大値である設定可能最大数が定められており、
前記フィールドバスのセグメントに前記リンクマスタデバイスが複数存在する場合に、設定可能最大数取得部が、前記フィールドバスを介して前記各リンクマスタデバイスの前記設定可能最大数を取得するステップと、
サブスケジュール設定部が、取得された前記各リンクマスタデバイスの前記設定可能最大数のうちの最小値に基づいて、前記サブスケジュールを設定するステップと、を更に備える
ことを特徴とするスケジュール作成方法。
The control loop constituted by a plurality of functional blocks of the fieldbus, a scheduling method for creating a periodically scheduled to be executed using a plurality of sub-schedules,
Execution data that causes the execution data generation unit to execute the control loop in the sub-schedule when the sub-schedule having a period that is i times (i is an integer of 2 or more) the execution period of the control loop is set Generating i pieces ,
The link master device for controlling the operation timing of the control loop, the transmission unit transmits the schedule via the field bus,
The link master device has a settable maximum number that is the maximum number of subschedules that can be set,
When there are a plurality of link master devices in the fieldbus segment, a settable maximum number acquisition unit acquires the settable maximum number of each link master device via the fieldbus; and
A sub-schedule setting unit, further comprising: setting the sub-schedule based on a minimum value among the settable maximum numbers of the acquired link master devices .
前記実行データは、前記サブスケジュールの開始時間を基準とするオフセット時間を含む
ことを特徴とする請求項に記載のスケジュール作成方法。
The schedule creation method according to claim 4 , wherein the execution data includes an offset time based on a start time of the sub-schedule.
前記制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数の前記サブスケジュールが設定されている場合に、前記生成するステップは、前記実行データ生成部が、該複数のサブスケジュールのうちの最短の周期を有する前記サブスケジュールにおいて前記実行データをi個生成する
ことを特徴とする請求項又はに記載のスケジュール作成方法。
When the plurality of sub-schedules having a period that is i times the execution period of the control loop and different from each other are set, the generation step includes the execution data generation unit scheduling method according to claim 4 or 5, characterized in that the execution data to i number generated in the sub-schedule with the shortest period of the sub-schedule.
求項乃至の何れかに記載のスケジュール作成方法のステップを備えるスケジュール作成プログラム。 Motomeko 4 to schedule creation program including the steps of scheduling method according to any of the 6.
JP2011001413A 2011-01-06 2011-01-06 Schedule creation device, schedule creation method, and schedule creation program Active JP5602643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011001413A JP5602643B2 (en) 2011-01-06 2011-01-06 Schedule creation device, schedule creation method, and schedule creation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011001413A JP5602643B2 (en) 2011-01-06 2011-01-06 Schedule creation device, schedule creation method, and schedule creation program

Publications (2)

Publication Number Publication Date
JP2012145975A JP2012145975A (en) 2012-08-02
JP5602643B2 true JP5602643B2 (en) 2014-10-08

Family

ID=46789503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011001413A Active JP5602643B2 (en) 2011-01-06 2011-01-06 Schedule creation device, schedule creation method, and schedule creation program

Country Status (1)

Country Link
JP (1) JP5602643B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543748B2 (en) * 2011-09-09 2013-09-24 General Electric Company Fieldbus device control system
JP2016224541A (en) * 2015-05-27 2016-12-28 アズビル株式会社 Process controller, process control system, and software program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3412667B2 (en) * 1996-12-17 2003-06-03 横河電機株式会社 Scheduling method of fieldbus system
JP3956206B2 (en) * 2002-08-19 2007-08-08 横河電機株式会社 Engineering equipment
US7761171B2 (en) * 2006-09-29 2010-07-20 Fisher-Rosemount Systems, Inc. Methods and apparatus to generate schedules to execute functions in a process control system

Also Published As

Publication number Publication date
JP2012145975A (en) 2012-08-02

Similar Documents

Publication Publication Date Title
US20080249641A1 (en) Automatic Configuration of Synchronous Block Execution for Control Modules Run in Fieldbus Networks
US20230297408A1 (en) Modular process control system
EP3116166B1 (en) Control system, control device, and control method
JP7404478B2 (en) Synchronization of configuration changes within a process plant
Jensen Asynchronous decentralized realtime computer systems
EP1240560B1 (en) Reprogrammable field device in a distributed process control system
JP4966004B2 (en) Network equipment system
WO2016130873A1 (en) Extending a programmable logic controller with apps
US20090204695A1 (en) Automation network comprising network components that produce status messages
JP2002118579A (en) Configuration device and system
WO2015136960A1 (en) Controller
JP5660082B2 (en) Process control apparatus and system
JP7000686B2 (en) Control device
EP3940477A1 (en) Control system, setting device and setting program
JP5602643B2 (en) Schedule creation device, schedule creation method, and schedule creation program
JP2010117753A (en) Field equipment and field equipment software updating system using the same
JP7403214B2 (en) System and method for port-to-port communication of enhanced modular controllers
WO2021181799A1 (en) Robot control system and control method
JP7375532B2 (en) control system
US7636866B2 (en) Situational aware output configuration and execution
JP6939665B2 (en) Network system
JP4516933B2 (en) Control system and control device group updating method
KR101445997B1 (en) Engineering tool and programmable controller
WO2023248548A1 (en) Control system, relay device, and communication method
Danos et al. Self assembling graphs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140423

A521 Written amendment

Effective date: 20140526

Free format text: JAPANESE INTERMEDIATE CODE: A523

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: 20140813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140820

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5602643

Country of ref document: JP