図面 (/)

技術 スケジュール作成装置、スケジュール作成方法、及びスケジュール作成プログラム

出願人 アズビル株式会社
発明者 石本英明
出願日 2011年1月6日 (9年11ヶ月経過) 出願番号 2011-001413
公開日 2012年8月2日 (8年4ヶ月経過) 公開番号 2012-145975
状態 特許登録済
技術分野 プログラマブルコントロ-ラ
主要キーワード 周期的動作 設定最大値 各制御ループ トリガフレーム 問い合わせ制御 フィールド装置 スケジュール作成プログラム スケジュール作成装置
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2012年8月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

制御ループ実行周期の数が、設定可能なサブスケジュールの数より大きい場合でも、制御ループを所望の実行周期で実行させることが可能となるスケジュール作成装置スケジュール作成方法、及びスケジュール作成プログラムを提供する。

解決手段

フィールドバスFの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールプログラム32cを作成するスケジュール作成装置30であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有する前記サブスケジュールが設定されている場合に、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成する実行データ生成部34を備える。

概要

背景

生産プロセスを管理する現場では、通信機能を有する各種のフィールド機器(例えばセンサバルブ等)をプラントに設置し、フィールド機器をフィールドバスと呼ばれるネットワークに接続することで、フィールド機器から発信される信号を管理装置等が受信し、各種の生産プロセスを管理している。このため、フィールド機器は、フィールドバスと呼ばれるネットワークに接続されている。

フィールドバスは、デジタル信号による双方向通信が可能な通信方式であり、1994年に設立されたフィールドバス協会(Fieldbus Foundation TM)により、通信仕様が、ファウンデーションフィールドバス(Foundation fieldbus)として規格化標準化)されている。

従来、フィールドバスのセグメントにおいて、当該セグメントに定義された複数の機能ブロックによって構成される制御ループを、周期的に実行するスケジュールを作成するものとして、制御ループごとに作成したサブスケジュールを使用してスケジュールを作成するもの知られている(例えば、特許文献1参照)。

概要

制御ループの実行周期の数が、設定可能なサブスケジュールの数より大きい場合でも、制御ループを所望の実行周期で実行させることが可能となるスケジュール作成装置スケジュール作成方法、及びスケジュール作成プログラムを提供する。フィールドバスFの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールプログラム32cを作成するスケジュール作成装置30であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有する前記サブスケジュールが設定されている場合に、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成する実行データ生成部34を備える。

目的

本発明のいくつかの態様は前述の問題に鑑みてなされたものであり、制御ループの実行周期の数が、設定可能なサブスケジュールの数より大きい場合でも、制御ループを所望の実行周期で実行させることが可能となるスケジュール作成装置、スケジュール作成方法、及びスケジュール作成プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成装置であって、前記制御ループの実行周期のi倍(iは2以上の整数)の周期を有する前記サブスケジュールが設定されている場合に、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成する実行データ生成部を備えることを特徴とするスケジュール作成装置。

請求項2

前記実行データは、前記サブスケジュールの開始時間を基準とするオフセット時間を含むことを特徴とする請求項1に記載のスケジュール作成装置。

請求項3

前記制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数の前記サブスケジュールが設定されている場合に、前記実行データ生成部は、該複数のサブスケジュールのうちの最短の周期を有する前記サブスケジュールにおいて前記実行データをi個生成することを特徴とする請求項1又は2に記載のスケジュール作成装置。

請求項4

前記制御ループの動作タイミングを制御するリンクマスタデバイスに、前記フィールドバスを介して前記スケジュールを送信する送信部を更に備えることを特徴とする請求項1乃至3の何れかに記載のスケジュール作成装置。

請求項5

前記リンクマスタデバイスには設定可能な前記サブスケジュールの数の最大値である設定可能最大数が定められており、前記フィールドバスのセグメントに前記リンクマスタデバイスが複数存在する場合に、前記フィールドバスを介して前記各リンクマスタデバイスの前記設定可能最大数を取得する設定可能最大数取得部と、取得された前記各リンクマスタデバイスの前記設定可能最大数のうちの最小値に基づいて、前記サブスケジュールを設定するサブスケジュール設定部と、を更に備えることを特徴とする請求項4に記載のスケジュール作成装置。

請求項6

フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成方法であって、前記制御ループの実行周期のi倍(iは2以上の整数)の周期を有する前記サブスケジュールが設定されている場合に、実行データ生成部が、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成するステップを備えることを特徴とするスケジュール作成方法。

請求項7

前記実行データは、前記サブスケジュールの開始時間を基準とするオフセット時間を含むことを特徴とする請求項6に記載のスケジュール作成方法。

請求項8

前記制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数の前記サブスケジュールが設定されている場合に、前記生成するステップは、前記実行データ生成部が、該複数のサブスケジュールのうちの最短の周期を有する前記サブスケジュールにおいて前記実行データをi個生成することを特徴とする請求項6又は7に記載のスケジュール作成方法。

請求項9

前記制御ループの動作タイミングを制御するリンクマスタデバイスに、送信部が、前記フィールドバスを介して前記スケジュールを送信するステップを更に備えることを特徴とする請求項6乃至8の何れかに記載のスケジュール作成方法。

請求項10

前記リンクマスタデバイスには設定可能な前記サブスケジュールの数の最大値である設定可能最大数が定められており、前記フィールドバスのセグメントに前記リンクマスタデバイスが複数存在する場合に、設定可能最大数取得部が、前記フィールドバスを介して前記各リンクマスタデバイスの前記設定可能最大数を取得するステップと、サブスケジュール設定部が、取得された前記各リンクマスタデバイスの前記設定可能最大数のうちの最小値に基づいて、前記サブスケジュールを設定するステップと、を更に備えることを特徴とする請求項9に記載のスケジュール作成方法。

請求項11

請求項6乃至10の何れかに記載のスケジュール作成方法のステップを備えるスケジュール作成プログラム

技術分野

0001

本発明は、フィールドバスセグメントに定義された複数の機能ブロックによって構成される制御ループを、周期的に実行するスケジュールを作成するスケジュール作成装置スケジュール作成方法、及びスケジュール作成プログラムに関する。

背景技術

0002

生産プロセスを管理する現場では、通信機能を有する各種のフィールド機器(例えばセンサバルブ等)をプラントに設置し、フィールド機器をフィールドバスと呼ばれるネットワークに接続することで、フィールド機器から発信される信号を管理装置等が受信し、各種の生産プロセスを管理している。このため、フィールド機器は、フィールドバスと呼ばれるネットワークに接続されている。

0003

フィールドバスは、デジタル信号による双方向通信が可能な通信方式であり、1994年に設立されたフィールドバス協会(Fieldbus Foundation TM)により、通信仕様が、ファウンデーションフィールドバス(Foundation fieldbus)として規格化標準化)されている。

0004

従来、フィールドバスのセグメントにおいて、当該セグメントに定義された複数の機能ブロックによって構成される制御ループを、周期的に実行するスケジュールを作成するものとして、制御ループごとに作成したサブスケジュールを使用してスケジュールを作成するもの知られている(例えば、特許文献1参照)。

先行技術

0005

特開2008−90841号公報

発明が解決しようとする課題

0006

しかしながら、制御ループの実行タイミングを制御するリンクマスタデバイスの性能によって設定可能なサブスケジュールの数が制限されるため、従来のスケジュール作成装置では、制御ループの実行周期の数が、設定可能なサブスケジュールの数より大きい場合に、制御ループを所望の実行周期で実行させることができなかった。

0007

本発明のいくつかの態様は前述の問題に鑑みてなされたものであり、制御ループの実行周期の数が、設定可能なサブスケジュールの数より大きい場合でも、制御ループを所望の実行周期で実行させることが可能となるスケジュール作成装置、スケジュール作成方法、及びスケジュール作成プログラムを提供することを目的の1つとする。

課題を解決するための手段

0008

本発明に係るスケジュール作成装置は、フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成装置であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成する実行データ生成部を備える。

0009

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、当該サブスケジュールにおいて当該制御ループを実行させる実行データをi個生成する。これにより、例えばTの周期を有するサブスケジュールにおいて、制御ループをT/iの実行周期でi回実行させることが可能となる。

0010

好ましくは、前述の実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。

0011

かかる構成によれば、実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。これにより、i個の実行データを生成する際に、それぞれのオフセット時間の間隔を実行周期に設定することで、容易に当該サブスケジュールにおいて制御ループをi回実行させることができる。

0012

好ましくは、制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールが設定されている場合に、実行データ生成部は、該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいて実行データをi個生成する。

0013

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールが設定されている場合に、当該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいてi個の実行データを生成する。これにより、例えば、最長の周期を有するサブスケジュールにおいて実行データを生成する場合と比較して、最短の周期を有するサブスケジュールにおいて実行データを生成すると少ない実行データで済み、生成する実行データの数を減少させることができる。これにより、作成するスケジュールのサイズ等を小さくすることができる。

0014

好ましくは、制御ループの動作タイミングを制御するリンクマスタデバイスに、フィールドバスを介してスケジュールを送信する送信部を更に備える。

0015

かかる構成によれば、制御ループの動作タイミングを制御するリンクマスタデバイスに、フィールドバスを介してスケジュールを送信する送信部を更に備える。これにより、リンクマスタデバイスは、スケジュール作成装置により作成されたスケジュールを実行することができる。

0016

好ましくは、前述のリンクマスタデバイスには設定可能なサブスケジュールの数の最大値である設定可能最大数が定められており、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得する設定可能最大数取得部と、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するサブスケジュール設定部と、を更に備える。

0017

かかる構成によれば、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得する設定可能最大数取得部と、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するサブスケジュール設定部と、を更に備える。これにより、セグメントにおける全てのリンクマスタデバイスが設定可能な数のサブスケジュールが設定される。これにより、セグメントにおける全てのリンクマスタデバイスが実行可能なスケジュールを各リンクマスタデバイスに送信することができる。

0018

本発明に係るスケジュール作成方法及びスケジュール作成プログラムは、フィールドバスの複数の機能ブロックによって構成される制御ループを、複数のサブスケジュールを用いて周期的に実行するスケジュールを作成するスケジュール作成方法であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、実行データ生成部が、該サブスケジュールにおいて該制御ループを実行させる実行データをi個生成するステップを備える。

0019

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、実行データ生成部が、当該サブスケジュールにおいて当該制御ループを実行させる実行データをi個生成するステップを備える。これにより、例えばTの周期を有するサブスケジュールにおいて、制御ループ135をT/iの実行周期でi回実行させることが可能となる。

0020

好ましくは、前述の実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。

0021

かかる構成によれば、実行データは、サブスケジュールの開始時間を基準とするオフセット時間を含む。これにより、i個の実行データを生成する際に、それぞれのオフセット時間の間隔を実行周期に設定することで、容易に当該サブスケジュールにおいて制御ループをi回実行させることができる。

0022

好ましくは、制御ループの実行周期のi倍の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールがセグメントに設定され、記憶部に記憶されている場合に、前述の生成するステップは、実行データ生成部が、該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいて実行データをi個生成する。

0023

かかる構成によれば、制御ループの実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュールがセグメントに設定され、記憶部に記憶されている場合に、実行データ生成部が、当該複数のサブスケジュールのうちの最短の周期を有するサブスケジュールにおいてi個の実行データを生成する。これにより、例えば、最長の周期を有するサブスケジュールにおいて実行データを生成する場合と比較して、最短の周期を有するサブスケジュールにおいて実行データを生成すると少ない実行データで済み、生成する実行データの数を減少させることができる。これにより、作成するスケジュールのサイズ等を小さくすることができる。

0024

好ましくは、制御ループの動作タイミングを制御するリンクマスタデバイスに、送信部が、フィールドバスを介して前記スケジュールを送信するステップを更に備える。

0025

かかる構成によれば、制御ループの動作タイミングを制御するリンクマスタデバイスに、送信部が、フィールドバスを介してスケジュールを送信するステップを更に備える。これにより、リンクマスタデバイスは、スケジュール作成方法又はスケジュール作成プログラムにより作成されたスケジュールを実行することができる。

0026

好ましくは、前述のリンクマスタデバイスには設定可能なサブスケジュールの数の最大値である設定可能最大数が定められており、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、設定可能最大数取得部が、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得するステップと、サブスケジュール設定部が、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するステップと、を更に備える。

0027

かかる構成によれば、フィールドバスのセグメントにリンクマスタデバイスが複数存在する場合に、設定可能最大数取得部が、フィールドバスを介して各リンクマスタデバイスの設定可能最大数を取得するステップと、サブスケジュール設定部が、取得された各リンクマスタデバイスの設定可能最大数のうちの最小値に基づいて、サブスケジュールを設定するステップと、を更に備える。これにより、セグメントにおける全てのリンクマスタデバイスが設定可能な数のサブスケジュールが設定される。これにより、セグメントにおける全てのリンクマスタデバイスが実行可能なスケジュールを各リンクマスタデバイスに送信することができる。

発明の効果

0028

本発明によれば、例えばTの周期を有するサブスケジュールにおいて、制御ループをT/iの実行周期でi回実行させることが可能となる。これにより、制御ループの実行周期の数(種類)が、設定可能なサブスケジュールの最大値(設定可能最大数)より大きい場合でも、制御ループの実行周期のi倍の周期を有するサブスケジュールが設定されている場合に、当該制御ループを所望の実行周期で実行させることができる。

図面の簡単な説明

0029

本発明の第1実施形態におけるフィールド機器管理システム概略構成を説明するブロック図である。
図1に示したフィールド装置と機能ブロックとの関係を説明するブロック図である。
図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。
図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。
図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。
図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。
図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。
図3に示した制御ループの実行タイミングを説明する図である。
図4に示した制御ループの実行タイミングを説明する図である。
図5に示した制御ループの実行タイミングを説明する図である。
図6に示した制御ループの実行タイミングを説明する図である。
図7に示した制御ループの実行タイミングを説明する図である。
図1に示したスケジュール作成装置の動作を説明するフローチャートである。
本発明の第2実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。
図14に示したスケジュール作成装置の動作を説明するフローチャートである。

実施例

0030

以下に本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号で表している。但し、図面は模式的なものである。したがって、具体的な寸法などは以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。

0031

[第1実施形態]
図1乃至図13は、本発明の第1実施形態を示すためのものである。図1は、本発明の第1実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。図1に示すように、フィールド機器管理システム100は、フィールドバスのセグメント(以下、単にセグメントという)10と、コントローラ20と、本発明に係るスケジュール作成装置30とを備える。

0032

セグメント10は、複数のフィールド機器11A〜11Jと、リンクマスタデバイス12とを含む。各フィールド機器11A〜11Jと、リンクマスタデバイス12とは、フィールドバスFに接続しており、相互に通信可能となっている。

0033

フィールドバスFは、前述の規格化(標準化)されたファウンデーションフィールドバス(Foundation fieldbus)プロトコルを、通信仕様として用いるネットワークである。また、セグメント10は、フィールドバスFの基本構成であり、1本の伝送媒体からなる1つの伝送路を意味するフィールドバス用語である。

0034

各フィールド機器11A〜11Jは、プラント内装備される各種の機器であり、フィールバスFを介して双方向に通信可能なフィールバス適合の機器である。各フィールド機器11A〜11Jとしては、例えば、流量センサ圧力センサ及び温度センサ等の各種センサや、流量制御弁および圧力制御弁等のバルブ(弁)、ポンプ及びファン等のアクチュエータが該当する。

0035

リンクマスタデバイス12は、リンクアクティブスケジューラ(Link Active Scheduler、以下LASという)機能を有するLAS部121と、記憶部122とを有する機器である。

0036

LAS部121は、フィールドバスF上で行われる周期的通信、非周期的通信などを含む全ての通信を制御するためのネットワーク制御機能を有する。LAS部121は、例えば、周期的通信を起動するためのトリガフレーム送出、非周期的通信を行うために各フィールド機器11A〜11Jに送信許可を与えるフレームの送出などの機能を有する。なお、以下において、特に必要な場合を除き、周期的通信のみを説明し、非周期的通信については説明を省略する。

0037

記憶部122は、メモリなどの記憶手段であり、マクロサイクルデータ122aと、サブスケジュールデータ122bと、スケジュールプログラム122cとを記憶する。

0038

ここで、スケジュールは、後述する制御ループの周期的動作の実行タイミングを定めたものである。マクロサイクルは、スケジュールの基準周期を意味するフィールドバス用語であり、スケジュールに対して1つ設定されるものである。サブスケジュールは、制御ループを実行させる実行データを含み、複数設定されるものである。本実施形態では、スケジュールは複数のサブスケジュールを使用して実施(実行)される。

0039

マクロサイクルデータ122aは、マクロサイクルに関する情報、例えば周期の情報を含む。サブスケジュールデータ122bは、サブスケジュールに関する情報、例えば各サブスケジュールの周期、設定可能なサブスケジュールの数の最大値(以下、設定可能最大数という)などの情報を含む。スケジュールプログラム122cは、複数のサブスケジュールをマージして作成され、制御ループの周期的動作がマクロサイクルの周期で繰り返されるようにスケジューリングされたプログラムである。LAS部121は、このスケジュールプログラム122cに基づいて、セグメント10における動作及び通信を制御している。

0040

コントローラ20は、例えば、CPU(図示省略)、メモリなどの記憶手段(図示省略)、及びデータ通信データ送受信)のためのインターフェース(図示省略)を備える。コントローラ20は、フィールドバスFに接続しており、各フィールド機器11A〜11J及びリンクマスタデバイス12と相互に通信可能であるとともに、スケジュール作成装置30に接続して相互に通信可能となっている。

0041

スケジュール作成装置30は、リンクマスタデバイス12が使用するスケジュールプログラムを作成するための装置である。スケジュール作成装置30は、入出力インターフェース部31と、記憶部32と、設定部33と、実行データ生成部34と、スケジュールプログラム作成部35と、データロード部36と、を備える。

0042

入出力インターフェース部31は、キーボードマウスなどの入力手段と、ディスプレイプリンタなどの出力手段との間でデータ通信(データ送受信)を行うためのものである。入出力インターフェース部31は、例えば、スケジュール作成装置30により実行されるプログラム(ソフトウエア)により、ユーザに対してGUI(Graphical User Interface)を提供するようにしてもよい。

0043

記憶部32は、メモリなどの記憶手段であり、リンクマスタデバイス12の記憶部122と同様のマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム122cとを記憶する。また、記憶部32は、後述する機能ブロックに関する情報、例えば機能ブロックの定義の情報を含む機能ブロックデータ13を記憶する。

0044

設定部33は、入出力インターフェース部31を介して入力される後述の制御ループの実行周期に基づいて、複数のサブスケジュールを設定する。

0045

実行データ生成部34は、設定部33により設定されたサブスケジュールにおいて、制御ループを実行させる実行データを生成する。

0046

スケジュールプログラム作成部35は、実行データ生成部34により生成された実行データを含むサブスケジュールを用いて、スケジュールプログラム32cを作成する。

0047

データロード部36は、スケジュールプログラム作成部35により作成されたスケジュールプログラム32cを含むデータを、フィールドバスFを介してリンクマスタデバイス12に送信する。

0048

機能ブロック(Function Block)は、制御システム構築するに必要な単位機能を機能ブロック化したものを意味するフィールドバス用語である。具体的には、機能ブロックは、セグメント10を構成する機器、例えば、各フィールド機器11A〜11Jに実行される機能を定義したものである。機能ブロックに定義される機能は、測定値、例えば、電圧値温度値流量値などを各フィールド機器11A〜11Jに取得させたり、アルゴリズム又は計算、例えば、微分、積分、加算、減算、乗算除算などを行わせたり、計装、例えばバルブ開閉、炉調整、ボイラ調整などを制御させたり、或いはその他の機能を行わせるものである。

0049

図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、の情報を含む。

0050

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により実行される機能を定義する。

0051

なお、本実施形態では、セグメント10を構成する各フィールド機器11A〜11Jにより実行される機能ブロックのみを示したが、これに限定されず、フィールドバスFに接続される他の機器、例えば、他のセグメントを構成するフィールド機器が実行する機能を機能ブロックとして定義してもよい。

0052

図3乃至図7は、図2に示した機能ブロックにより構成される制御ループの例を説明するイメージ図である。図3乃至図7に示すように、図2に示した各機能ブロック13a〜13oは、少なくとも1つの入力、及び/又は少なくとも1つの出力を含む。各機能ブロック13a〜13oは、例えば、入出力インターフェース部31を介するユーザの操作により、相互に接続(結合)される。このように、機能ブロックを接続(結合)することにより、スケジュールの制御対象となる制御ループが形成(構成)される。

0053

図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を形成する。

0054

図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を形成する。

0055

図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を形成する。

0056

図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を形成する。

0057

図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を形成する。

0058

なお、本実施形態では、セグメント10に定義された各機能ブロック13a〜13oにより形成(構成)される制御ループのみを示したが、これに限定されず、制御ループは、フィールドバスFの他のセグメントに定義された機能ブロックを含んでいてもよい。

0059

図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回実行される。

0060

生成された各実行データ211〜214は、サブスケジュール210において所定のタイミングで実行するために、基準時間(図3において0ms)からのオフセット時間を含む。図8に示す例では、実行データ211は0msのオフセット時間が設定され、実行データ212は200msのオフセット時間が設定され、実行データ213は330msのオフセット時間が設定され、実行データ214は170msのオフセット時間が設定される。なお、各実行データ211〜214のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。

0061

図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回実行される。

0062

生成された各実行データ221〜224は、サブスケジュール220において所定のタイミングで実行するために、基準時間(図9において0ms又は2000ms)からのオフセット時間を含む。図9に示す例では、実行データ221は0msのオフセット時間が設定され、実行データ222は140msのオフセット時間が設定され、実行データ223は270msのオフセット時間が設定され、実行データ214は110msのオフセット時間が設定される。なお、各実行データ221〜224のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。

0063

図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回実行される。

0064

生成された各実行データ231〜234は、サブスケジュール230において所定のタイミングで実行するために、基準時間(図10において0ms、1000ms、2000ms、又は3000ms)からのオフセット時間を含む。図10に示す例では、実行データ231は0msのオフセット時間が設定され、実行データ232は110msのオフセット時間が設定され、実行データ233は240msのオフセット時間が設定され、実行データ234は80msのオフセット時間が設定される。なお、各実行データ231〜234のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。

0065

図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回実行される。

0066

生成された各実行データ241〜244は、サブスケジュール240において所定のタイミングで実行するために、基準時間(図11において0ms、800ms、1600ms、2400ms、又は3200ms)からのオフセット時間を含む。図11に示す例では、実行データ241は0msのオフセット時間が設定され、実行データ242は170msのオフセット時間が設定され、実行データ243は300msのオフセット時間が設定され、実行データ244は140msのオフセット時間が設定される。なお、各実行データ241〜244のオフセット時間は、入出力インターフェース部31を介してユーザにより入力される。

0067

図7に示した制御ループ135の実行周期が500msの場合、設定されたサブスケジュール210〜240の数が設定最大値(「4」)に達しているため、従来は、制御ループ135の実行をスケジューリングできないか、又は、設定された4つのサブスケジュール210〜240の周期のうち、最も近い周期、例えば800msに、制御ループ135の実行周期を変更する等の対応が取られていた。

0068

図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回実行させることが可能となる。

0069

なお、前述したように、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュール210,220,230が設定されている場合に、実行データ作成部34は、最短の周期を有するサブスケジュール230において実行データをi個、すなわち2個生成することが好ましい。これにより、例えば、最長の周期を有するサブスケジュール210において実行データを生成する場合、制御ループを8回実行させる必要があるため、8個の実行データを生成するのに対し、最短の周期を有するサブスケジュール230において実行データを生成すると2個の実行データで済み、生成する実行データの数を減少させることができる。

0070

生成された各実行データ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回実行させることができる。

0071

図1に示したスケジュールプログラム作成部35は、サブスケジュール210〜240ごとに作成された実行データをマージしてスケジュールプログラム32cを作成する。図1に示したデータロード部36は、作成されたスケジュールプログラム32cと、記憶部32のマクロサイクルデータ32a及びサブスケジュールデータ32bを、図1に示したコントローラ20及びフィールドバスFを介してリンクマスタデバイス12に送信(ロード)する。これにより、リンクマスタデバイス12は、スケジュール作成装置30により作成されたスケジュールプログラム32cを実行することができる。

0072

次に、図13を参照しながらスケジュール作成方法及びスケジュール作成プログラムについて説明する。図13は、図1に示したスケジュール作成装置の動作を説明するフローチャートである。ユーザの操作により制御ループが作成され、図1に示した入出力インターフェース部31を介して制御ループの実行周期が入力されると、図1に示したスケジュール作成装置30は、処理S300を開始する。すなわち、図13に示すように、図1に示す設定部33は、図1に示した記憶部32からサブスケジュールデータ32bを読み出し、入力された制御ループの実行周期の数(種類)が、サブスケジュールの設定可能最大数より大きいか否かを判定する(S301)。なお、制御ループの実行周期の数とは、その種類の数を意味し、例えば、4つの制御ループが全て同じ実行周期を有する場合、制御ループの実行周期の数は「4」であるが、その種類数は1つであるため、設定部33は、制御ループの実行周期の数(種類)を「1」として判定する。

0073

S301の判定の結果、入力された制御ループの実行周期の数(種類)がサブスケジュールの設定可能最大数より大きい場合、設定部33は、入力された制御ループの実行周期に基づいて、設定可能最大数までサブスケジュールの周期を設定し(S302)、記憶部32にサブスケジュールデータ32bを書き込む(更新する)。一方、S301の判定の結果、入力された制御ループの実行周期の数(種類)がサブスケジュールの設定可能最大数より大きくない場合、設定部33は、入力された制御ループの実行周期に基づいて、サブスケジュールの周期を設定し(S303)、記憶部32にサブスケジュールデータ32bを書き込む(更新する)。なお、設定部33は、S302又はS302において、同時に、設定された複数のサブスケジュールの周期における最小公倍数をマクロサイクルとして設定し、マクロサイクルデータ32aを更新するようにしてもよい。

0074

図8乃至図12に示した例の場合、サブスケジュールの設定最大値が「4」に対して、形成された制御ループ131〜135の実行周期は5つ(5種類)であるから、S302において、設定部33は、例えば、実行周期の長い順、又は実行周期の入力順に、サブスケジュール210〜240の周期として、4000ms、2000ms、1000ms、800msを設定する。また、設定部33は、マクロサイクル(スケジュール200の周期)として、最小公倍数である4000msを設定する。

0075

本実施形態では、入力された制御ループの実行周期に基づいて、S302又はS303において、サブスケジュールの周期、およびマクロサイクルを自動的に設定するようにしたが、これに限定されない。例えば、あらかじめ、サブスケジュールの周期、及びマクロサイクルをユーザが入力して手動で設定しておいてもよい。この場合、処理S300は、次のS304から開始する。

0076

S302又はS303の後、図1に示した実行データ作成部34は、記憶部32からサブスケジュールデータ32bを読み出し、入力された制御ループの実行周期と設定された各サブスケジュールの周期とに基づいて、各制御ループに対してサブスケジュールを割り当て可能か否か判定する(S304)。具体的には、実行データ作成部34は、制御ループの実行周期と同じ周期を有するサブスケジュールが設定されている場合、又は制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されている場合に、サブスケジュールを割り当て可能であると判定する。一方、実行データ作成部34は、その他の場合、すなわち、制御ループの実行周期と同じ周期を有するサブスケジュールが設定されていない場合であって、制御ループの実行周期のi倍(iは2以上の整数)の周期を有するサブスケジュールが設定されていない場合に、サブスケジュールを割り当て可能ではない(割り当て不能)と判定する。

0077

S304の判定の結果、サブスケジュールを割り当て可能である場合、実行データ作成部34は、記憶部32からサブスケジュールデータ32bを読み出して、形成された制御ループに対してサブスケジュールを割り当てるとともに、入出力インターフェース部31を介して入力されたオフセット時間に基づいて、制御ループごとに、各機能ブロック及び通信の実行データを生成する(S305)。一方、S304の判定の結果、サブスケジュールを割り当て不能である場合、実行データ作成部34は、入出力インターフェース部を介してエラーを出力し(S306)、スケジュール作成装置30は処理S300を終了する。

0078

なお、S306において、エラーを出力する前に、実行データ作成部34は、入力された制御ループの実行周期を、設定されているサブスケジュールの周期に基づく周期に変更するか否かを問うようにしてもよい。例えば、サブスケジュールの周期として、4000ms、2000ms、1000ms、800msが設定されており、入力された制御ループの実行周期が501msである場合、制御ループの実行周期が500msであれば、周期が1000msのサブスケジュールを割り当て可能であるから、実行データ作成部34は、入出力インターフェース部31を介して、制御ループの実行周期を500msに変更するか否かを問うメッセージを出力する。この場合、入力された制御ループの実行周期が500msに変更されたときには、エラーを出力することなく、実行データ作成部34は、S305のステップを行う。

0079

図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を、それぞれ生成する。

0080

また、図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回実行させることが可能となる。

0081

実行データ作成部34により生成される、実行データ235a、236a、237a、238a、235b、236b、237b、238bは、サブスケジュール230の開始時間を基準とするオフセット時間を含むことが好ましい。これにより、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。

0082

なお、前述したように、制御ループ135の実行周期のi倍(iは2以上の整数)の周期を有し、それぞれの周期が相互に異なる複数のサブスケジュール210,220,230が設定され、サブスケジュールデータ32bとして記憶部32に記憶されている場合に、実行データ作成部34は、最短の周期を有するサブスケジュール230において実行データをi個、すなわち2個生成することが好ましい。これにより、例えば、最長の周期を有するサブスケジュール210において実行データを生成する場合、制御ループを8回実行させる必要があるため、8個の実行データを生成するのに対し、最短の周期を有するサブスケジュール230において実行データを生成すると2個の実行データで済み、生成する実行データの数を減少させることができる。

0083

S305の後、スケジュールプログラム作成部35は、サブスケジュールごとに作成された実行データをマージしてスケジュールプログラム32cを作成し(S306)、記憶部32にスケジュールプログラム32cを書き込む。

0084

S306の後、データロード部36は、記憶部32からマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム32cを読み出し、図1に示したコントローラ20及びフィールドバスFを介してリンクマスタデバイス12に送信(ロード)し(S307)、スケジュール作成装置30は処理S300を終了する。これにより、リンクマスタデバイス12は、スケジュール作成方法又はスケジュール作成プログラムにより作成されたスケジュールを実行することが可能となる。

0085

送信(ロード)されたマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム32cは、それぞれマクロサイクルデータ122a、サブスケジュールデータ122b、スケジュールプログラム122cとして、記憶部122に記憶される。これにより、スケジュールプログラム32cに基づいて、リンクマスタデバイス12のLAS部121は、セグメント10における周期的動作を制御することができる。

0086

本実施形態では、スケジュール作成装置30がスケジュールプログラム32cを作成するようにしたが、これに限定されない。リンクマスタデバイス12に送信(ロード)可能である限り、他の装置、例えば、コントローラ20やリンクマスタデバイス12自身であってもよい。また、スケジュールプログラム32cを作成するのは、装置、すなわちハードウエアに限定されず、ハードウエアが実行するソフトウエア(プログラム)であってもよい。さらに、スケジュールプログラム32cはソースプログラムであってもオブジェクトプログラムであってもよい。また、作成されるスケジュールは、スケジュールプログラム32cのようにプログラム形式でなくても、データ形式ファイル形式であってもよい。

0087

このように、本実施形態におけるスケジュール作成装置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倍の周期を有するサブスケジュールが設定されている場合に、当該制御ループを所望の実行周期で実行させることができる。

0088

また、本実施形態におけるスケジュール作成装置30によれば、実行データ235a、236a、237a、238a、235b、236b、237b、238bは、サブスケジュール230の開始時間を基準とするオフセット時間を含む。これにより、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。

0089

また、本実施形態におけるスケジュール作成装置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のサイズ等を小さくすることができる。

0090

また、本実施形態におけるスケジュール作成装置30によれば、制御ループ131〜135の動作タイミングを制御するリンクマスタデバイス12に、フィールドバスFを介してスケジュールプログラム32cを送信するデータロード部36を更に備える。これにより、リンクマスタデバイス12は、スケジュール作成装置30により作成されたスケジュールプログラム32cを実行することができる。

0091

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、制御ループ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倍の周期を有するサブスケジュールが設定されている場合に、当該制御ループを所望の実行周期で実行させることができる。

0092

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、実行データ235a、236a、237a、238a、235b、236b、237b、238bは、サブスケジュール230の開始時間を基準とするオフセット時間を含む。これにより、2個の実行データ235a、236a、237a、238a、235b、236b、237b、238bを生成する際に、それぞれのオフセット時間の間隔を実行周期、すなわち500msに設定することで、容易に当該サブスケジュール230において制御ループ135を2回実行させることができる。

0093

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、制御ループ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のサイズ等を小さくすることができる。

0094

また、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、制御ループ131〜135の動作タイミングを制御するリンクマスタデバイス12に、データロード部36が、フィールドバスFを介してスケジュールプログラム32cを送信するステップを更に備える。これにより、リンクマスタデバイス12は、スケジュール作成方法又はスケジュール作成プログラムにより作成されたスケジュールプログラム32cを実行することができる。

0095

[第2実施形態]
図14及び図15は、本発明の第2実施形態を示すためのものである。なお、特に記載がない限り、前述した実施形態と同一構成部分は同一符号をもって表し、その説明を省略する。また、図示しない構成部分は、前述した実施形態と同様とする。

0096

図14は、本発明の第2実施形態におけるフィールド機器管理システムの概略構成を説明するブロック図である。図14に示すように、セグメント10は、第1実施形態のリンクマスタデバイス12と同様の構成を有する、複数のリンクマスタデバイス12A、12B、12Cとを備える。

0097

各リンクマスタデバイス12A、12B、12Cには、設定可能なサブスケジュールの数の最大値、すなわち設定可能最大数が定められている。各リンクマスタデバイス12A、12B、12Cの記憶部122A、122B、122Cには、それぞれの設定可能最大数が記憶されている。各リンクマスタデバイス12A、12B、12Cの設定可能最大数は、リンクマスタデバイスの能力(性能)に依存し、マルチベンダ対応のフィールドバスFにおいては、各リンクマスタデバイス12A、12B、12Cによって設定可能最大数が異なる場合がある。以下の説明において、特に記載した場合を除き、設定可能最大数として、リンクマスタデバイス12Aに「4」、リンクマスタデバイス12Bに「3」、リンクマスタデバイス12Cに「2」が、記憶されているものとする。

0098

セグメント10に複数のリンクマスタデバイス12A、12B、12Cが存在する場合、セグメント10において作動しているリンクマスタデバイスは1つであるが、何らかの理由で当該リンクマスタデバイスの動作が停止した場合に、待機している他のリンクマスタデバイスに自動的に切り替わり、セグメント10におけるスケジュールの実行を継続するようになっている。例えば、各リンクマスタデバイス12A、12B、12Cの設定可能最大数が全て「2」の場合、作動中のリンクマスタデバイス12Aが停止したときに、リンクマスタデバイス12B又はリンクマスタデバイス12Cに切り替わり、スケジュールの実行を継続する。

0099

スケジュール作成装置30Aは、設定可能最大数取得部37を備える。設定可能最大数取得部37は、フィールドバスF及びコントローラ20を介して各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得する。設定可能最大数取得部37は、例えば、セグメント10に新たなリンクマスタデバイスが接続(設置)されたときに、設定可能最大数を取得する。

0100

設定部33は、入出力インターフェース部31を介して入力される制御ループの実行周期と、設定可能最大数取得部37により取得された複数の設定可能最大数のうちの最小値と、に基づいて、複数のサブスケジュールを設定する。

0101

前述の例では、リンクマスタデバイス12Cに記憶された設定可能最大数「2」が最小値であるため、設定部33は、2つのサブスケジュールを設定する。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが設定可能な数のサブスケジュールが設定される。

0102

データロード部36は、スケジュールプログラム作成部35により作成されたスケジュールプログラム32cを含むデータを、フィールドバスFを介して各リンクマスタデバイス12A、12B、12Cに送信する。

0103

次に、図15を参照しながらスケジュール作成方法及びスケジュール作成プログラムについて説明する。図15は、図14に示したスケジュール作成装置の動作を説明するフローチャートである。図13に示した処理S300を実行する前に、図14に示したスケジュール作成装置30Aは、処理S400を開始する。すなわち、設定可能最大数取得部37は、フィールドバスF及びコントローラ20を介して各リンクマスタデバイス12A、12B、12Cに設定可能最大数の問い合わせ制御信号を送信し、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得する(S401)。

0104

次に、設定可能最大数取得部37は、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を受信し、取得済であるか否かを判定する(S402)。なお、設定可能最大数取得部37は、全てのリンクマスタデバイス12A、12B、12Cから設定可能最大数を受信した場合に取得済であると判定し、全てのリンクマスタデバイス12A、12B、12Cのうち1つでも設定可能最大数を受信していない場合には取得済でないと判定する。

0105

S402の判定の結果、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得済である場合、設定可能最大数取得部37は、各リンクマスタデバイス12A、12B、12Cから取得した設定可能最大数のうちの最小値を決定し(S403)、当該最小値を設定可能最大数として、記憶部32にサブスケジュールデータ32bを書き込む(更新する)。S403の後、スケジュール作成装置30Aは処理S400を終了する。一方、S402の判定の結果、各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得済でない場合、設定可能最大数取得部37は、所定時間経過後に、再度S401を行う。

0106

処理S400の後、図13に示した処理S300において、設定部33は、S301において記憶部32からサブスケジュールデータ32bを読み出し、S302においてS403で決定した設定可能最大数までサブスケジュールの周期を設定する。また、データロード部36は、S307において、記憶部32からマクロサイクルデータ32a、サブスケジュールデータ32b、及びスケジュールプログラム32cを読み出し、コントローラ20及びフィールドバスFを介して各リンクマスタデバイス12A、12B、12Cに送信(ロード)する。

0107

前述の例では、S401及びS402において、設定可能最大数取得部37は、リンクマスタデバイス12Aから設定可能最大数「4」を、リンクマスタデバイス12Bから設定可能最大数「3」を、リンクマスタデバイス12Cから設定可能最大数「2」を、それぞれ取得する。S403において、設定可能最大数取得部37は、リンクマスタデバイス12Cから取得した設定可能最大数「2」が最小値であるため、設定可能最大数として「2」を記憶部32のサブスケジュールデータ32bに書き込む(更新する)。次に、設定部33は、S302において2つのサブスケジュールを設定する。これにより、セグメント10における全てのリンクマスタデバイス12A、12B、12Cが設定可能な数のサブスケジュールが設定される。

0108

本実施形態では、設定可能最大数取得部37が各リンクマスタデバイス12A、12B、12Cから設定可能最大数を取得するようにしたが、これに限定されない。例えば、フィールドバスFに接続される他の機器に、各リンクマスタデバイス12A、12B、12Cの設定可能最大数を記憶しておき、設定可能最大数取得部37は、当該機器に記憶された各リンクマスタデバイス12A、12B、12Cの設定可能最大数を取得するようにしてもよい。

0109

このように、本実施形態におけるスケジュール作成装置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に送信することができる。

0110

このように、本実施形態におけるスケジュール作成方法及びスケジュール作成プログラムによれば、フィールドバス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に送信することができる。

0111

なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。

0112

10…セグメント、12,12A,12B,12C…リンクマスタデバイス、30,30A…スケジュール作成装置、33…設定部、34…実行データ生成部、36…データロード部、37…設定可能最大素取得部、131〜135…制御ループ、200…スケジュール、210〜240…サブスケジュール、F…フィールドバス

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ