IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

特許7399349設定支援装置、制御システム、設定支援方法及びプログラム
<>
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図1
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図2
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図3
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図4
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図5
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図6
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図7
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図8
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図9
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図10
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図11
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図12
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図13
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図14
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図15
  • 特許-設定支援装置、制御システム、設定支援方法及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-07
(45)【発行日】2023-12-15
(54)【発明の名称】設定支援装置、制御システム、設定支援方法及びプログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20231208BHJP
   G06F 8/20 20180101ALI20231208BHJP
【FI】
G05B19/05 Z
G06F8/20
【請求項の数】 5
(21)【出願番号】P 2023511686
(86)(22)【出願日】2022-09-21
(86)【国際出願番号】 JP2022035109
【審査請求日】2023-02-14
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100131152
【弁理士】
【氏名又は名称】八島 耕司
(74)【代理人】
【識別番号】100147924
【弁理士】
【氏名又は名称】美恵 英樹
(74)【代理人】
【識別番号】100148149
【弁理士】
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100181618
【弁理士】
【氏名又は名称】宮脇 良平
(74)【代理人】
【識別番号】100174388
【弁理士】
【氏名又は名称】龍竹 史朗
(72)【発明者】
【氏名】出原 章雄
(72)【発明者】
【氏名】寺田 啓
(72)【発明者】
【氏名】井邊 研吾
【審査官】田中 友章
(56)【参考文献】
【文献】国際公開第2020/184035(WO,A1)
【文献】特開2022-133624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G06F 8/20
(57)【特許請求の範囲】
【請求項1】
一定周期で被制御機器と通信を行う制御装置の設定を支援する設定支援装置であって、
前記制御装置の通信周期に影響する機能の一覧をユーザに選択させるために提示する提示手段と、
前記提示手段が提示した前記機能の一覧を介した前記ユーザによる選択を前記制御装置の機能の指定として受け付ける機能受付手段と、
前記ユーザが必要とする通信周期である必要通信周期の指定を受け付ける周期受付手段と、
前記必要通信周期を超えない範囲で前記制御装置の通信周期に影響する機能を自動的に選択する自動選択手段と、
前記機能受付手段が受け付けた前記機能の指定に基づいて指定された機能を前記制御装置が実行するのに要する時間を算出し、算出した時間に基づいて前記制御装置の通信周期を決定する周期決定手段と、
前記周期決定手段が決定した前記通信周期を前記制御装置に設定する設定手段と、
を備え
前記機能の一覧はさらに、前記必要通信周期を入力させるための入力欄を含み、
前記提示手段はさらに、前記自動選択手段により自動的に選択された機能を含む前記機能の一覧を前記ユーザに提示する、
設定支援装置。
【請求項2】
前記提示手段はさらに、機能ごとの通信周期に対する影響の度合いを提示する、
請求項に記載の設定支援装置。
【請求項3】
請求項1又は2に記載の設定支援装置と、前記制御装置とを備える、
制御システム。
【請求項4】
一定周期で被制御機器と通信を行う制御装置の設定を支援する設定支援方法であって、
前記制御装置の通信周期に影響する機能の一覧をユーザに選択させるために提示し、
提示された前記一覧を介した前記ユーザによる選択を前記制御装置の機能の指定として受け付け、
前記ユーザが必要とする通信周期である必要通信周期の指定を受け付け、
前記必要通信周期を超えない範囲で前記制御装置の通信周期に影響する機能を自動的に選択し、
受け付けた前記機能の指定に基づいて指定された機能を前記制御装置が実行するのに要する時間を算出し、算出した時間に基づいて前記制御装置の通信周期を決定し、
決定した前記通信周期を前記制御装置に設定
前記機能の一覧はさらに、前記必要通信周期を入力させるための入力欄を含み、
前記提示においてさらに、自動的に選択された機能を含む前記機能の一覧を前記ユーザに提示する、
設定支援方法。
【請求項5】
一定周期で被制御機器と通信を行う制御装置の設定を支援するプログラムであって、
コンピュータに、
前記制御装置の通信周期に影響する機能の一覧をユーザに選択させるために提示させ、
提示された前記一覧を介した前記ユーザによる選択を前記制御装置の機能の指定として受け付けさせ、
前記ユーザが必要とする通信周期である必要通信周期の指定を受け付けさせ、
前記必要通信周期を超えない範囲で前記制御装置の通信周期に影響する機能を自動的に選択させ、
受け付けた前記機能の指定に基づいて指定された機能を前記制御装置が実行するのに要する時間を算出させ、算出させた時間に基づいて前記制御装置の通信周期を決定させ、
決定した前記通信周期を前記制御装置に設定させ、
前記機能の一覧はさらに、前記必要通信周期を入力させるための入力欄を含み、
前記提示においてさらに、自動的に選択された機能を含む前記機能の一覧を前記ユーザに提示させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、設定支援装置、制御システム、設定支援方法及びプログラムに関する。
【背景技術】
【0002】
モーションコントローラ、プログラマブルロジックコントローラなどの制御装置の分野では、制御装置が被制御機器と一定周期で通信をすることが一般的である。
【0003】
この通信の周期は短い方が好ましいが、通信プロトコル、被制御機器の仕様等の制約により、通信周期が短すぎると正常に通信ができなくなってしまう。そのため、適切な通信周期を設定するための技術が必要とされている。
【0004】
特許文献1には、それぞれの被制御機器に対して設定可能な通信周期を問い合わせて、それぞれの被制御機器の通信周期設定、通信オーバヘッドなどのパラメータに基づいて通信周期を決定する制御装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2020-149439号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の制御装置は、制御装置の内部処理を考慮しないため、必ずしも適切な通信周期を設定できないおそれがある。
【0007】
本開示の目的は、上記の事情に鑑み、制御装置の内部処理を考慮して制御装置の通信周期を決定できる設定支援装置等を提供することにある。
【課題を解決するための手段】
【0008】
上記の目的を達成するため、本開示に係る設定支援装置は、一定周期で被制御機器と通信を行う制御装置の設定を支援する設定支援装置であって、制御装置の通信周期に影響する機能の一覧をユーザに選択させるために提示する提示手段と、提示手段が提示した機能の一覧を介したユーザによる選択を制御装置の機能の指定として受け付ける機能受付手段と、ユーザが必要とする通信周期である必要通信周期の指定を受け付ける周期受付手段と、必要通信周期を超えない範囲で制御装置の通信周期に影響する機能を自動的に選択する自動選択手段と、機能受付手段が受け付けた機能の指定に基づいて指定された機能を制御装置が実行するのに要する時間を算出し、算出した時間に基づいて制御装置の通信周期を決定する周期決定手段と、周期決定手段が決定した通信周期を制御装置に設定する設定手段と、を備え、機能の一覧はさらに、必要通信周期を入力させるための入力欄を含み、提示手段はさらに、自動選択手段により自動的に選択された機能を含む機能の一覧をユーザに提示する。
【発明の効果】
【0009】
本開示によれば、制御装置の内部処理を考慮して制御装置の通信周期を決定できる。
【図面の簡単な説明】
【0010】
図1】本開示の実施の形態1に係る制御システムの全体構成を示すブロック図
図2】本開示の実施の形態1に係る設定支援装置が提示する機能選択画面の一例を示す図
図3】本開示の実施の形態1に係る設定支援装置の機能的構成を示すブロック図
図4】本開示の実施の形態1に係る設定支援装置の記憶部が保存する実行時間テーブルの一例を示す図
図5】本開示の実施の形態1に係る設定支援装置のハードウェア構成の一例を示す図
図6】本開示の実施の形態1に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート
図7】本開示の実施の形態2に係る設定支援装置が提示するプログラム選択画面の一例を示す図
図8】本開示の実施の形態2に係る設定支援装置の機能的構成を示すブロック図
図9】本開示の実施の形態2に係る設定支援装置の記憶部が保存する関数対応テーブルの一例を示す図
図10】本開示の実施の形態2に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート
図11】本開示の実施の形態3に係る設定支援装置が提示する機能選択画面の一例を示す図
図12】本開示の実施の形態3に係る設定支援装置が提示する機能選択画面にて機能が自動選択された場合の一例を示す図
図13】本開示の実施の形態1に係る設定支援装置の機能的構成を示すブロック図
図14】本開示の実施の形態3に係る設定支援装置の記憶部が保存する実行時間テーブルの一例を示す図
図15】本開示の実施の形態1に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート
図16】本開示の実施の形態1に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本開示の実施の形態に係る制御システムを説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
【0012】
(実施の形態1)
図1を参照しながら、実施の形態1に係る制御システム1を説明する。制御システム1は、設定支援装置10と制御装置20と1以上の被制御機器30とを備える。制御システム1は、本開示に係る制御システムの一例である。
【0013】
設定支援装置10は、制御装置20に通信可能に接続されている。制御装置20は、被制御機器30に通信可能に接続されている。図1では各被制御機器30はデイジーチェーンにて接続されているが、2以上の被制御機器30が制御装置20に直接通信可能に接続されていてもよい。
【0014】
制御システム1においては、設定支援装置10が制御装置20を設定し、制御装置20が被制御機器30を制御する。制御装置20は、被制御機器30と一定周期の通信をすることにより、被制御機器30を制御する。
【0015】
設定支援装置10は、制御装置20が各被制御機器30を制御するために必要な設定を行うための設定支援装置である。設定支援装置10は、例えばPC(Personal Computer)、FA(Factory Automation)用PC、スマートフォン、タブレット端末などのコンピュータである。当該コンピュータにエンジニアリングツールのプログラムがインストールされることにより、当該コンピュータは設定支援装置10として機能する。設定支援装置10は、本開示に係る設定支援装置の一例である。
【0016】
設定支援装置10は、制御装置20に各種パラメータ値、制御装置20にて動作させる制御プログラムなどを送信する。設定支援装置10は特に、通信周期を示すデータを制御装置20に送信して通信周期を制御装置20に設定する。通信周期の設定については後述する。また、設定支援装置10の機能的構成についても後述する。
【0017】
制御装置20は、一定周期で被制御機器30と通信することにより、被制御機器30を制御する。制御装置20は、被制御機器30のマスタとして動作する。制御装置20は、例えばモーションコントローラ、プログラマブルロジックコントローラなどの制御装置である。制御装置20は、設定支援装置10と通信し、受信した各種パラメータの設定、受信した制御プログラムの更新等を行う。制御装置20は特に、設定支援装置10から受信した通信周期を示すデータに基づいて、自身の通信周期を設定する。制御装置20は、本開示に係る制御装置の一例である。
【0018】
被制御機器30は、一定周期で制御装置20と通信することにより、制御装置20により制御される。被制御機器30は、マスタである制御装置20のスレーブとして動作する。被制御機器30は、例えば図示しないアクチュエータを駆動するサーボアンプである。被制御機器30は、本開示に係る被制御機器の一例である。
【0019】
図2を参照しながら、設定支援装置10による制御装置20への通信周期の設定を概略的に説明する。図2は、設定支援装置10がユーザに提示するユーザインタフェース画面である。図2に示す画面は、制御装置20の機能のうち通信周期に影響する機能の一覧を提示して制御装置20に必要な機能をユーザに選択させるための画面である。「機能」の列には、制御装置20の内部処理である制御処理1、制御処理2、制御処理3などが項目ごとに表示されている。制御装置20の機能は、制御装置20の各内部処理により実現される。また、「機能」の列の各項目には、サブ項目として方式、具体的な制御内容、有効か否かなどが表示されている。ユーザが、必要な機能を「選択」の列に設けられたチェックボックスにより選択して決定ボタンを選択することにより、設定支援装置10は、選択された機能に基づいて通信周期を決定し、決定した通信周期を制御装置20に設定する。
【0020】
図3を参照しながら、設定支援装置10の機能的構成を説明する。設定支援装置10は、操作部11と表示部12と提示部13と受付部14と周期決定部15と設定部16と計測部17と通信部18と記憶部19とを備える。
【0021】
操作部11は、ユーザによる操作を受け付ける。操作部11は、例えばマウス、キーボード、タッチスクリーンなどの入力装置である。
【0022】
表示部12は、図2に示す画面をはじめとする各種画面を表示する。表示部12は、例えば液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどの表示装置である。なお、表示部12は、操作部11がタッチスクリーンである場合にはこれと一体となっていてもよい。
【0023】
通信部18は、制御装置20と通信する。通信部18は、例えばネットワークインタフェースにより実現される。
【0024】
記憶部19は、制御装置20が実行可能な各機能の一覧を示すデータと、後述する実行時間テーブルとを保存する。これらのデータ及びテーブルは、例えば設定支援装置10に係るエンジニアリングツールの製造者により予め作成される。
【0025】
提示部13は、図2に示す画面を生成して表示部12に表示することにより、制御装置20の通信周期に影響する機能の一覧を、ユーザに選択させるために提示する。提示部13は、記憶部19に保存されている各機能の一覧を示すデータを参照して、図2に示す画面を生成する。ユーザは、操作部11を操作して、図2に示す画面から必要な機能を選択することにより、制御装置20の機能を指定する。提示部13は、本開示に係る提示手段の一例である。
【0026】
受付部14は、図2に示す画面に対してユーザが操作部11の操作によって行った機能の選択を、制御装置20の機能の指定として受け付ける。受付部14は、本開示に係る機能受付手段の一例である。
【0027】
周期決定部15は、受付部14が受け付けた制御装置20の機能の指定に基づいて制御装置20の通信周期を決定する。周期決定部15は、実行時間算出部151とオーバヘッド算出部152と周期算出部153とを備える。周期決定部15は、本開示に係る周期決定手段の一例である。
【0028】
実行時間算出部151は、ユーザが選択し受付部14が受け付けた機能を、制御装置20が実行するのに要する時間を算出する。実行時間算出部151は、後述の記憶部19が保存する、図4に示す実行時間テーブルを参照して、実行に要する時間を算出する。
【0029】
図4に示す実行時間テーブルは、図2と同様の「機能」の列と、「実行時間」の列と、「接続数に比例?」の列と、「計測有?」の列とを含む。「実行時間」の列は、各項目が選択されたときに要する実行時間を示す。「接続数に比例?」の列は、制御装置20に接続された被制御機器30の数に比例して実行時間が増加するか否かを示す。「計測有?」の列は、後述する計測部17による計測の対象となるか否かを示す。
【0030】
オーバヘッド算出部152は、制御装置20以外の要因により生じるオーバヘッドを算出する。制御装置20以外の要因により生じるオーバヘッドとは、例えば被制御機器30の接続数に応じて生じる遅延時間、通信フレームが被制御機器30を通過する際に生じる遅延時間などの合計遅延時間である。
【0031】
周期算出部153は、実行時間算出部151が算出した、制御装置20が選択された機能を実行するのに要する時間と、オーバヘッド算出部152が算出したオーバヘッドとの合計時間を、制御装置20に設定すべき通信周期として算出する。
【0032】
周期決定部15は、周期算出部153が算出した通信周期を、制御装置20に設定すべき通信周期として決定する。
【0033】
設定部16は、通信部18を介して、周期決定部15が決定した通信周期を示すデータを制御装置20に送信することにより、制御装置20に通信周期を設定する。設定部16は、本開示に係る設定手段の一例である。
【0034】
計測部17は、制御装置20に命令を送信し、制御装置20に図4に示す各機能のうち「計測有?」に該当する機能を実行させ、当該機能の実行に要した実行時間を計測する。計測部17は、計測した実行時間にて記憶部19に保存されている実行時間テーブルを更新する。計測部17による計測は、後述するように、制御装置20に設定された通信周期では制御システム1が正常に稼働しなかったときに行われる。
【0035】
図5を参照しながら、設定支援装置10のハードウェア構成の一例を説明する。図5に示す設定支援装置10は、上述のように、例えばPC、FA用PC、スマートフォン、タブレット端末などのコンピュータにより実現される。
【0036】
設定支援装置10は、バス1000を介して互いに接続された、プロセッサ1001と、メモリ1002と、インタフェース1003と、二次記憶装置1004と、を備える。
【0037】
プロセッサ1001は、例えばCPU(Central Processing Unit:中央演算装置)である。プロセッサ1001が、二次記憶装置1004に記憶されたエンジニアリングツールのプログラムをメモリ1002に読み込んで実行することにより、設定支援装置10の各機能が実現される。
【0038】
メモリ1002は、例えば、RAM(Random Access Memory)により構成される主記憶装置である。メモリ1002は、プロセッサ1001が二次記憶装置1004から読み込んだエンジニアリングツールのプログラムを記憶する。また、メモリ1002は、プロセッサ1001がプログラムを実行する際のワークメモリとして機能する。
【0039】
インタフェース1003は、例えばシリアルポート、USB(Universal Serial Bus)ポート、ネットワークインタフェースなどのI/O(Input/Output)インタフェースである。インタフェースに入力装置及び表示装置が接続されることにより、操作部11及び表示部12の機能が実現される。また、インタフェース1003により通信部18の機能が実現される。
【0040】
二次記憶装置1004は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)である。二次記憶装置1004は、プロセッサ1001が実行するエンジニアリングツールのプログラムを記憶する。また、二次記憶装置1004により記憶部19の機能が実現される。
【0041】
図6を参照しながら、設定支援装置10による通信周期決定の動作の一例を説明する。
【0042】
設定支援装置10の提示部13は、図2に示すような機能選択画面をユーザに提示する(ステップS101)。
【0043】
設定支援装置10の受付部14は、ユーザによる機能選択を待ち受ける(ステップS102)。受付部14がユーザによる機能選択を受け付けると、ステップS103からの動作が引き続き実行される。
【0044】
設定支援装置10の周期決定部15の実行時間算出部151は、記憶部19に保存されている実行時間テーブルを参照し、ユーザが選択した機能を制御装置20が実行するのに必要な実行時間を算出する(ステップS103)。
【0045】
周期決定部15のオーバヘッド算出部152は、制御装置20以外の要因により生じるオーバヘッドを算出する(ステップS104)。
【0046】
周期決定部15の周期算出部153は、ステップS103にて算出した実行時間とステップS104にて算出したオーバヘッドの時間とを合計を、設定すべき通信周期として算出する。周期決定部15は、この算出された通信周期を設定すべき通信周期として決定する(ステップS105)。
【0047】
設定支援装置10の設定部16は、ステップS105にて決定された通信周期を制御装置20に設定する(ステップS106)。
【0048】
設定支援装置10は、ステップS106により設定された通信周期にて、制御システム1が正常に稼働しているか否かを判定する(ステップS107)。この判定は、例えば設定部16が行ってもよいし、計測部17が行ってもよい。
【0049】
制御システム1が正常に稼働しているとき(ステップS107:Yes)、設定支援装置10は、通信周期決定の動作を終了する。
【0050】
制御システム1が正常に稼働していないとき(ステップS107:No)、設定支援装置10の計測部17は、制御装置20に各機能を実行させ、制御装置20が各機能を実行するのに要した実行時間を計測する(ステップS108)。
【0051】
計測部17は、ステップS108にて計測した実行時間にて、記憶部19に保存されている実行時間テーブルを更新する(ステップS109)。そして設定支援装置10は、ステップS103からの動作を繰り返し、再度通信周期の設定を試みる。
【0052】
以上、実施の形態1に係る制御システム1を説明した。制御システム1の設定支援装置10によれば、ユーザに制御装置20の機能を選択させ、選択した機能に基づいて制御装置20での実行時間を算出し、通信周期を決定する。そのため、設定支援装置10によれば、制御装置20の内部処理を考慮して制御装置20の通信周期を決定できる。また、設定支援装置10によれば、ユーザが図2に示す画面にて必要な機能を選択することにより自動的に通信周期が決定されるので、通信周期の設定に関するユーザの負担を軽減できる。
【0053】
(実施の形態1の変形例)
実施の形態1において提示部13が図2に示す画面をユーザに提示する際に、機能のみでなく機能ごとの通信周期に対する影響の度合いを併せて提示してもよい。例えば提示部13は、記憶部19に保存されている実行時間テーブルを参照し、各機能の実行時間を併せてユーザに提示してもよい。あるいは、当該機能を実行するのに必要な命令のステップ数の大小を定性的に表示することにより、機能ごとの通信周期に対する影響の度合いを併せて提示してもよい。
【0054】
(実施の形態2)
実施の形態2に係る制御システム1を説明する。実施の形態2に係る制御システム1の全体構成は、図1に示す実施の形態1の場合と同様である。
【0055】
実施の形態2においては、設定支援装置10が図7に示す画面をユーザに提示し、ユーザが制御装置20にて実行される制御プログラムを解析対象として指定する。これにより、設定支援装置10が当該制御プログラムを解析して制御装置20に必要な機能を特定し、特定した機能に基づいて通信周期を決定する。
【0056】
図7に示す画面は、解析対象となる制御プログラムのファイル名及びファイル形式と、選択対象となっている制御プログラムとを示す。ユーザは、「選択」の列にあるラジオボタンを選択することにより、一覧表示されている制御プログラムのうち1のプログラムを選択する。
【0057】
実施の形態2に係る設定支援装置10は、図8に示すように、周期決定部15が解析部154をさらに備える点が実施の形態1と異なる。また、後述するように、提示部13、受付部14、実行時間算出部151及び記憶部19についても実施の形態1と異なる点がある。
【0058】
提示部13は、図2に示す画面に代えて図7に示す画面をユーザに提示する点が実施の形態1と異なる。提示部13は、図7に示す画面をユーザに提示することにより、ユーザに解析対象となる制御プログラムを指定させる。指定させるプログラムは、制御装置20にて実行される制御プログラムの元となったソースファイルであってもよいし、制御装置20にて実行される制御プログラムのバイナリファイルそのものであってもよい。
【0059】
受付部14は、ユーザによる制御プログラムの指定を、制御装置20の機能の指定として受け付ける点が実施の形態1と異なる。
【0060】
記憶部19は、図9に示すような関数対応テーブルをさらに保存する点が実施の形態1と異なる。関数対応テーブルとは、制御プログラムにて呼び出されている関数と、当該関数が必要とする制御装置20の機能とを対応付けたテーブルである。
【0061】
解析部154は、受付部14が受け付けた制御プログラムを解析し、当該制御プログラムで呼び出されている関数を特定する。解析部154は、記憶部19に保存されている関数対応テーブルを参照し、制御装置20が当該制御プログラムを実行するために必要な機能を特定する。解析部154は、本開示に係る解析手段の一例である。
【0062】
解析部154は、例えばC言語、ラダー図、ファンクションブロックダイアグラムなどのユーザが認識可能な形式にて記載された、当該制御プログラムの元となったソースファイルを解析して、当該制御プログラムで呼び出されている関数を特定する。あるいは、解析部154は、実行バイナリ形式の制御プログラムそのものを逆コンパイルして解析することにより、当該制御プログラムで呼び出されている関数を特定してもよい。
【0063】
実行時間算出部151は、解析部154が特定した制御装置20の機能に基づいて実行時間を算出する点が実施の形態1と異なる。
【0064】
図10を参照しながら、実施の形態2に係る設定支援装置10による通信周期決定の動作のうち、図6に示す実施の形態1の場合と異なる点を説明する。
【0065】
設定支援装置10の提示部13は、図7に示すプログラム選択画面をユーザに提示する(ステップS201)。
【0066】
設定支援装置10の受付部14は、ユーザによるプログラムの選択を待ち受ける(ステップS202)。ユーザがプログラムを選択したら、設定支援装置10はステップS203からの動作を実行する。
【0067】
設定支援装置10の周期決定部15の解析部154は、ユーザが選択したプログラムを解析し、制御装置20が当該プログラムを実行するのに必要な機能を特定する(ステップS203)。
【0068】
周期決定部15の実行時間算出部151は、記憶部19に保存されている実行時間テーブルを参照し、ステップS203にて特定された機能を制御装置20が実行するのに必要な実行時間を算出する(ステップS204)。
【0069】
以降の動作は、実施の形態1の場合とほぼ同様である。ただし、ステップS109の動作のあとにステップS204からの動作が実行される点は実施の形態1と異なる。
【0070】
以上、実施の形態2に係る制御システムを説明した。実施の形態2に係る設定支援装置10によれば、ユーザが指定したプログラムを解析して制御装置20に必要な機能を特定し、特定した機能に基づいて通信周期を決定する。そのため、実施の形態1の場合と同様に、実施の形態2に係る設定支援装置10によれば、制御装置20の内部処理を考慮して制御装置20の通信周期を決定できる。また、実施の形態2に係る設定支援装置10によれば、ユーザは、機能を逐一選択するのではなくプログラムを指定すればよいので、ユーザの負担を実施の形態1の場合よりもさらに軽減できる。
【0071】
(実施の形態3)
実施の形態3に係る制御システム1を説明する。実施の形態3に係る制御システム1の全体構成は、図1に示す実施の形態1の場合と同様である。
【0072】
実施の形態3においては、設定支援装置10が図11に示す画面をユーザに提示し、ユーザに機能を選択させるのみならず、ユーザに必要通信周期を入力させる。図11に示す画面では、実施の形態1の場合の画面である図2の場合と比べて、必要通信周期をユーザに入力させるための入力欄が設けられている点が異なる。必要通信周期とは、ユーザが制御装置20に要求する通信周期であり、制御装置20はこの必要通信周期以下の通信周期にて動作することが必要とされる。
【0073】
以下に説明するように、設定支援装置10は、実施の形態1と同様の機能に加えて、ユーザが入力した必要通信周期に余裕があれば選択可能な機能があればそれを自動的に選択して図12に示すようなユーザに提示する機能と、現状の選択された機能では当該必要通信周期を満たすことが不可能である旨をユーザに提示する機能とを有する。図12では、「制御処理2」の「E制御」が自動的に選択されていることが示されている。ユーザは、この自動選択をそのまま決定してもよいし、自動選択の結果を踏まえて機能の選択をやり直してもよい。
【0074】
以下、図13を参照しながら、実施の形態3に係る設定支援装置10の各機能部のうち実施の形態1と異なる点を説明する。
【0075】
周期決定部15は、自動選択部155をさらに備える点が実施の形態1と異なる。自動選択部155については後述する。
【0076】
提示部13は、図2に示す画面に代えて図11に示す画面をユーザに提示する点が実施の形態1と異なる。また、提示部13は、後述の自動選択部155による結果を踏まえて図12に示す画面をユーザに提示する点が実施の形態1と異なる。また、提示部13は、後述の周期算出部153が算出した通信周期が必要通信周期を超えるとき、現状の選択された機能では当該必要通信周期を満たすことが不可能である旨をユーザに提示する点が実施の形態1と異なる。
【0077】
受付部14は、機能選択のみでなく必要通信周期の入力も受け付ける点が実施の形態1と異なる。また、受付部14は、提示部13が提示した図12に示す画面、つまり自動選択が行われた後の画面に対しても入力を受け付ける点が実施の形態1と異なる。実施の形態3に係る受付部14は、本開示に係る周期受付手段の一例でもある。
【0078】
記憶部19に保存される実行時間テーブルについて、図14に示すように、「優先度」の列が新たに設けられている点が実施の形態1と異なる。「優先度」の列の数値は、高いほど優先度が高いことを示す。この「優先度」は、後述の自動選択部155による自動選択の際に使用される。
【0079】
自動選択部155は、まず、受付部14が受け付けた必要通信周期と周期算出部153が算出した通信周期との差を算出する。この差は、現在ユーザが選択した機能に基づく通信周期が、必要通信周期と比べてどのくらい余裕があるかを示すものとなる。
【0080】
自動選択部155は次に、記憶部19に保存されている実行時間テーブルを参照し、上記の算出された差に基づいて、通信周期が必要通信周期を超えない範囲内で、各機能を優先度の高い順に選択する。自動選択部155は、本開示に係る自動選択手段の一例である。
【0081】
図15及び図16を参照しながら、実施の形態3に係る設定支援装置10による通信周期決定の動作の一例を説明する。図15及び図16に示すフローチャートは、「A」及び「B」にて各図が接続され、1つの処理を示す。図16に示す2つの「B」はいずれも、図15に示す1つの「B」へと接続されている。
【0082】
なお、図16に示すステップS106からS109までの動作は、符号が示すとおり図6に示す実施の形態1の場合と同様であるため説明を省略する。
【0083】
設定支援装置10の提示部13は、図11に示すような必要通信周期入力・機能選択画面をユーザに提示する(ステップS201)。
【0084】
設定支援装置10の受付部14は、ユーザによる必要通信周期入力・機能選択を待ち受ける(ステップS202)。受付部14がユーザによる必要通信周期入力・機能選択を受け付けると、ステップS203からの動作が引き続き実行される。
【0085】
設定支援装置10の周期決定部15の実行時間算出部151は、実施の形態1の場合と同様に、記憶部19に保存されている実行時間テーブルを参照し、ユーザが選択した機能を制御装置20が実行するのに必要な実行時間を算出する(ステップS203)。
【0086】
周期決定部15のオーバヘッド算出部152は、実施の形態1の場合と同様に、制御装置20以外の要因により生じるオーバヘッドを算出する(ステップS204)。
【0087】
周期決定部15の周期算出部153は、ステップS203にて算出した実行時間とステップS204にて算出したオーバヘッドの時間とを合計した通信周期を算出する(ステップS205)。
【0088】
提示部13は、算出された通信周期が必要通信周期を超えるか否かを判定する(ステップS206)。
【0089】
算出された通信周期が必要通信周期を超えるとき(ステップS206:Yes)、提示部13は、必要通信周期を満たすことが不可能である旨をユーザに提示する(ステップS207)。そして設定支援装置10は、通信周期決定の動作を終了する。
【0090】
算出された通信周期が必要通信周期を超えないとき(ステップS206:No)、自動選択部155は、必要通信周期と算出された通信周期との差を算出する(ステップS208)。
【0091】
自動選択部155は、算出された差に基づいて、通信周期が必要通信周期を超えない範囲内で優先度の高い順に機能を選択する(ステップS209)。
【0092】
提示部13は、自動選択部155により自動選択された結果を反映した必要通信周期入力・機能選択画面をユーザに提示する(ステップS210)。
【0093】
受付部14は、ステップS202同様、ユーザによる必要通信周期入力・機能選択を待ち受ける(ステップS211)。
【0094】
提示部13は、受付部14が受け付けた内容が、ステップS202にて受け付けた内容と変化があるか否かを判定する(ステップS212)。
【0095】
受け付けた内容と変化がある場合(ステップS212:Yes)、設定支援装置10は、ステップS203からの動作を繰り返す。
【0096】
受け付けた内容と変化がない場合(ステップS212:No)、選択された内容に基づいてステップS106以下の実施の形態1の場合と同様の動作が実行される。
【0097】
以上、実施の形態3に係る制御システム1を説明した。実施の形態3に係る設定支援装置10によれば、ユーザに必要通信周期を入力させ、ユーザが選択した機能に基づく通信周期に余裕がある場合には自動で機能を選択してユーザに提示し、ユーザに機能の再選択の余地を与えることができる。これにより、ユーザはより適した機能選択が可能か否かを検討することができる。
【0098】
(実施の形態3の変形例)
実施の形態3では、自動選択部155は優先度に基づいて機能を選択した。これに代えて、自動選択部155は、機械学習により機能を選択してもよい。例えば、被制御機器30の接続構成、制御装置20の各内部処理の実行時間、通信周期、ユーザが選択した機能、ユーザが入力した必要通信周期を特徴量とした学習モデルを予め生成し、自動選択部1555は当該学習モデルに基づいて自動的に機能を選択してもよい。
【0099】
(その他の変形例)
図5に示すハードウェア構成においては、設定支援装置10が二次記憶装置1004を備えている。しかし、これに限らず、二次記憶装置1004を設定支援装置10の外部に設け、インタフェース1003を介して設定支援装置10と二次記憶装置1004とが接続される形態としてもよい。この形態においては、USBフラッシュドライブ、メモリカードなどのリムーバブルメディアも二次記憶装置1004として使用可能である。
【0100】
また、図5に示すハードウェア構成に代えて、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)、FPGA(Field Programmable Gate Array)などを用いた専用回路により設定支援装置10を構成してもよい。また、図5に示すハードウェア構成において、設定支援装置10の機能の一部を、例えばインタフェース1003に接続された専用回路により実現してもよい。
【0101】
設定支援装置10で用いられるプログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、USBフラッシュドライブ、メモリカード、HDD等のコンピュータ読み取り可能な記録媒体に格納して配布することが可能である。そして、かかるプログラムを特定の又は汎用のコンピュータにインストールすることによって、当該コンピュータを設定支援装置10として機能させることが可能である。
【0102】
また、上述のプログラムをインターネット上の他のサーバが有する記憶装置に格納しておき、当該サーバから上述のプログラムがダウンロードされるようにしてもよい。
【0103】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【符号の説明】
【0104】
1 制御システム、10 設定支援装置、11 操作部、12 表示部、13 提示部、14 受付部、15 周期決定部、16 設定部、17 計測部、18 通信部、19 記憶部、20 制御装置、30 被制御機器、151 実行時間算出部、152 オーバヘッド算出部、153 周期算出部、154 解析部、155 自動選択部、1000 バス、1001 プロセッサ、1002 メモリ、1003 インタフェース、1004 二次記憶装置。
【要約】
設定支援装置(10)は、一定周期で被制御機器と通信を行う制御装置の設定を支援する。設定支援装置(10)は、ユーザによる制御装置の機能の指定を受け付ける受付部(14)と、受付部(14)が受け付けた指定に基づいて、制御装置の通信周期を決定する周期決定部(15)と、周期決定部(15)が決定した通信周期を制御装置に設定する設定部(16)と、を備える。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16