(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6245429
(24)【登録日】2017年11月24日
(45)【発行日】2017年12月13日
(54)【発明の名称】プログラム開発支援装置およびコンピュータプログラム
(51)【国際特許分類】
G05B 19/05 20060101AFI20171204BHJP
【FI】
G05B19/05 D
【請求項の数】4
【全頁数】11
(21)【出願番号】特願2013-213808(P2013-213808)
(22)【出願日】2013年10月11日
(65)【公開番号】特開2015-76049(P2015-76049A)
(43)【公開日】2015年4月20日
【審査請求日】2016年4月20日
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(72)【発明者】
【氏名】奥山 貴司
(72)【発明者】
【氏名】堀田 雅夫
【審査官】
影山 直洋
(56)【参考文献】
【文献】
特開2008−287559(JP,A)
【文献】
国際公開第2009/150950(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04−19/05
(57)【特許請求の範囲】
【請求項1】
プログラマブル・ロジック・コントローラと通信を行なうプログラム開発支援装置であって、
収集対象とするデバイスの指定と、前記デバイスのデバイスデータに関するイベントの検出条件の設定を受け付けるデバイスデータ収集設定受付部と、
前記プログラマブル・ロジック・コントローラのデバイスデータ収集の実行時に、指定したデバイスのデバイスデータを時系列で取得するデバイスデータ取得部と、
取得した時系列のデバイスデータから前記検出条件を満たすイベントを検出し、対応するデバイスデータを参照するためのマーキング情報を記録するイベント検出部と、
前記マーキング情報を、前記時系列のデバイスデータのグラフとともに、前記グラフとは別のウィンドウにリスト形式で表示する表示制御部とを備えたことを特徴とするプログラム開発支援装置。
【請求項2】
前記表示制御部は、前記マーキング情報の指定を受け付けると、指定されたマーキング情報に対応するデバイスデータを参照する表示を行なうことを特徴とする請求項1に記載のプログラム開発支援装置。
【請求項3】
前記デバイスデータを参照する表示は、前記マーキング情報に係るイベントが発生したタイミングを示す線分であることを特徴とする請求項2に記載のプログラム開発支援装置。
【請求項4】
情報処理装置を、プログラマブル・ロジック・コントローラと接続するプログラム開発支援装置として機能させるコンピュータプログラムであって、
収集対象とするデバイスの指定と、前記デバイスのデバイスデータに関するイベントの検出条件の設定を受け付けるデバイスデータ収集設定受付部と、
前記プログラマブル・ロジック・コントローラのデバイスデータ収集の実行時に、指定したデバイスのデバイスデータを時系列で取得するデバイスデータ取得部と、
取得した時系列のデバイスデータから前記検出条件を満たすイベントを検出し、対応するデバイスデータを参照するためのマーキング情報を記録するイベント検出部と、
前記マーキング情報を、前記時系列のデバイスデータのグラフとともに、前記グラフとは別のウィンドウにリスト形式で表示する表示制御部として前記情報処理装置を機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブル・ロジック・コントローラで実行するプログラムを開発するプログラム開発支援技術に関し、特に、デバイスデータ収集の利便性を向上させるための技術に関する。
【背景技術】
【0002】
工場等におけるシーケンス制御に広く用いられているプログラマブル・ロジック・コントローラ(PLC)は、制御対象機器のシーケンス制御の手順を規定したラダープログラムにしたがって動作を行なう。一般に、ラダープログラムは、ラダープログラム開発支援ソフトウェアをインストールしたパーソナルコンピュータ(PC)上で作成され、PLCにダウンロードされる。以降では、ラダープログラム開発支援ソフトウェアを実行するPCをプログラム開発支援装置と称する。
【0003】
プログラムの開発時や試験運用時には、プログラムの不具合等を修正するためのデバッグ作業が行なわれるが、PLCおよびプログラム開発支援装置には、デバッグ作業を支援するための機能としてデバイスデータ収集機能が備えられている。
【0004】
デバイスデータ収集は、ラダープログラム実行中の内部データの変化を記録し、プログラム開発支援装置上でグラフ表示等を行なうものである。内部データには、1ビットで表わされるリレー接点の状態や数値データで表わされるレジスタ値等があり、これらの内部データを総称してデバイスと呼び、内部データの状態や値をデバイスデータと呼んでいる。
【0005】
デバイスデータ収集の実行に際しては、プログラム開発支援装置を利用して、記録対象とするデバイスや終了条件等を指定し、必要に応じて記録開始のトリガとなるトリガ条件を設定する。そして、これらのデバイスデータ収集設定情報をプログラム開発支援装置からPLCに送信する。
【0006】
PLCは、記録対象として設定されたデバイスデータをラダープログラム実行中に繰り返し収集して内部のメモリに記録する。トリガ条件が設定されている場合には、トリガ条件の成立前後のデバイスデータが記録される。この結果、PLCの内部メモリには変化するデバイスデータが時系列で記録されることになる。デバイスデータの時系列データは、一般に、リングバッファ形式で格納されるため、過去の時系列データは順次上書きされていく。
【0007】
ラダープログラムの実行が終了すると、プログラム開発支援装置がPLCから時系列データを取得し、グラフ表示等を行なう。
図6は、デバイスデータの時系列データのグラフ表示の一例を示している。本図の例では、記録対象のデバイスとして、デバイス1、デバイス2、デバイス3、デバイス4が設定されている。これらのうち、1ビットで表わされるデバイス1、デバイス2は、ビットデバイスと称し、数値データで表わされるデバイス3、デバイス4は、ワードデバイスと称する。
【0008】
エラー発生や期待通りの結果が得られない等のプログラミング上の問題が生じている場合に、デバイスデータ収集を利用したプログラム修正作業は、一般に
図7に示すような手順で行なわれる。
【0009】
すなわち、プログラム開発者が、不具合に関するプログラムの解析を行ない(S101)、プログラム開発支援装置の編集機能を利用してプログラムの修正を行なう(S102)。そして、修正後のプログラムをPLCにダウンロードする(S103)。
【0010】
プログラム開発支援装置でデバイスデータ収集の設定を行ない(S104)、PLCにデバイスデータ収集の実行を指示すると、PLCがダウンロードされたプログラムを実行し、デバイスデータ収集が行なわれる(S105)。デバイスデータ収集では、設定にしたがってデバイスデータの収集が行なわれる。
【0011】
デバイスデータ収集が終了すると(S106)、プログラム開発支援装置がPLCに記録されたデバイスデータの時系列データを取得し(S107)、
図6に示したようなグラフ表示を行なう(S108)。このグラフをプログラム開発者が確認し、問題等が発見されると(S109:Yes)、再度、プログラムの解析を行なう(S101)。
【0012】
また、取得できる時系列データにはサイズの上限があるため、異なる条件等でデバイスデータ収集を再実行する場合(S110:Yes)は、デバイスデータ収集の設定に戻る(S104)。
【0013】
一方、グラフを確認した結果、問題が解決されていれば、デバイスデータ収集を利用したプログラム修正作業を終了する。
【0014】
なお、特許文献1に記載されているように、近年では、デバイスデータ収集の実行中にプログラム開発支援装置がPLCから順次時系列データを取得してグラフ表示することも行なわれている。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2008−287559号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
プログラム開発者は、デバイスデータ収集の結果であるデバイスデータのグラフを参照して、ラダープログラムの不具合を発見したり、修正後の確認をしたりする。このときに、特定のデバイスのデバイスデータに関するイベントに着目して解析を行ないたい場合がある。例えば、
図6におけるデバイス4のa値、b値、c値発生等である。また、デバイス3のd値とデバイス4のb値とが同時に発生したポイントTaを参照したい場合等もある。
【0017】
従来、このようなデバイスのイベントを把握するためには、デバイスデータ収集の終了後に、グラフを表示させ、スクロール等をさせながら目視で探し出さなければならなかった。また、デバイスデータ収集実行中にリアルタイムでグラフを表示させたとしても、注目したいデバイスのイベントを認識するのは容易でなかった。このため、問題点の認識から再修正までに時間を要し、デバッグ作業の効率が十分とはいえなかった。
【0018】
そこで、本発明は、デバイスデータ収集において把握すべきデバイスのイベントを効率よく認識できるようにすることを目的とする。
【課題を解決するための手段】
【0019】
上記課題を解決するため、本発明の第1の態様であるプログラム開発支援装置は、プログラマブル・ロジック・コントローラと通信を行なうプログラム開発支援装置であって、収集対象とするデバイスの指定と、前記デバイスのデバイスデータに関するイベントの検出条件の設定を受け付けるデバイスデータ収集設定受付部と、前記プログラマブル・ロジック・コントローラのデバイスデータ収集の実行時に、指定したデバイスのデバイスデータを時系列で取得するデバイスデータ取得部と、取得した時系列のデバイスデータから前記検出条件を満たすイベントを検出し、対応するデバイスデータを参照するためのマーキング情報を記録するイベント検出部と、前記マーキング情報を、前記時系列のデバイスデータのグラフとともに、前記グラフとは別のウィンドウにリスト形式で表示する表示制御部とを備えたことを特徴とする。
ここで、前記表示制御部は、前記マーキング情報の指定を受け付けると、指定されたマーキング情報に対応するデバイスデータを参照する表示を行なうようにすることができる。
このとき、前記デバイスデータを参照する表示は、前記マーキング情報に係るイベントが発生したタイミングを示す線分とすることができる。
上記課題を解決するため、本発明の第2の態様であるコンピュータプログラムは、情報処理装置を、プログラマブル・ロジック・コントローラと接続するプログラム開発支援装置として機能させるコンピュータプログラムであって、収集対象とするデバイスの指定と、前記デバイスのデバイスデータに関するイベントの検出条件の設定を受け付けるデバイスデータ収集設定受付部と、前記プログラマブル・ロジック・コントローラのデバイスデータ収集の実行時に、指定したデバイスのデバイスデータを時系列で取得するデバイスデータ取得部と、取得した時系列のデバイスデータから前記検出条件を満たすイベントを検出し、対応するデバイスデータを参照するためのマーキング情報を記録するイベント検出部と、前記マーキング情報を、前記時系列のデバイスデータのグラフとともに、前記グラフとは別のウィンドウにリスト形式で表示する表示制御部として前記情報処理装置を機能させることを特徴とする。
【発明の効果】
【0020】
本発明によれば、デバイスデータ収集において把握すべきデバイスのイベントを効率よく認識できるようになる。
【図面の簡単な説明】
【0021】
【
図1】本実施形態に係るラダープログラム開発システムの構成を示すブロック図である。
【
図2】ユーザマーカ設定メニューの例を示す図である。
【
図4】ユーザマーカからデバイスデータを参照する例を示す図である。
【
図5】本実施形態に係るラダープログラム開発システムにおけるプログラム修正作業の流れを説明するフローチャートである。
【
図6】従来のデバイスデータのグラフ表示例を示す図である。
【
図7】従来のプログラム修正作業の流れを説明するフローチャートである
【発明を実施するための形態】
【0022】
本発明の実施の形態について図面を参照して説明する。
図1は、本実施形態に係るラダープログラム開発システムの構成を示すブロック図である。本図に示すように、ラダープログラム開発システム10は、ラダープログラムの開発支援を行なうプログラム開発支援装置100とプログラマブル・ロジック・コントローラ(PLC)200とを備えて構成される。ただし、本発明は、PLC200が解釈可能なラダープログラム以外のプログラミング言語にも適用することができる。
【0023】
プログラム開発支援装置100は、ラダープログラム開発支援ソフトウェアをインストールしたパーソナルコンピュータ(PC)等の汎用的な情報処理装置で構成することができる。すなわち、汎用的な情報処理装置は、ラダープログラム開発支援ソフトウェアを実行することでプログラム開発支援装置100として機能することになる。もちろん、プログラム開発支援装置100は専用装置として構成してもよい。
【0024】
本図に示すように、プログラム開発支援装置100は、プログラム作成支援部110、デバイスデータ収集設定受付部120、デバイスデータ取得部130、イベント検出部140、表示制御部150、PLC200との通信を制御する通信部160を備えている。
【0025】
PLC200は、入出力制御部210、プログラム格納部220、プログラム実行部230、デバイスデータ収集実行部240、デバイスデータ格納部250、プログラム開発支援装置100との通信を制御する通信部260を備えている。
【0026】
まず、プログラム開発支援装置100の各ブロックについて説明する。プログラム作成支援部110は、プログラム編集機能等を提供することで、ラダープログラムの作成を支援するブロックである。プログラム作成支援部110により作成、編集されたラダープログラムは、PLC200にダウンロードされ、プログラム格納部220に格納される。
【0027】
デバイスデータ収集設定受付部120は、デバイスデータ収集を行なう際の各種設定を受け付ける。デバイスデータ収集設定受付部120が受け付けるデバイスデータ収集の設定には、従来のデバイスの指定、終了条件設定、トリガ設定等に加え、ユーザマーカ設定を含めることができる。
【0028】
ここで、ユーザマーカは、デバイスデータ収集に際し、着目したいデバイスデータに関するイベントを参照するための情報である。ユーザマーカ設定では、ユーザマーカを付するイベントの検出条件の設定を受け付ける。ユーザマーカには、デバイスデータ収集で収集されたデバイスデータのうち、検出条件を満たすイベントが発生したタイミングが記録されることになる。
【0029】
イベントの検出条件は、特定デバイスの波形の立ち上がりタイミング、立ち下がりタイミング、特定のデバイスデータが設定値と一致したこと、設定値を超えたこと、設定値以下となったこと等とすることができる。
【0030】
このため、デバイスデータ収集設定受付部120は、ユーザマーカ設定メニューにより、イベントの検出条件として、デバイスと成立条件と設定値とを設定できるようにしている。例えば、
図2(a)では、「デバイス1の波形立ち上がり」がイベントの検出条件として設定されている。また、
図2(b)は、「デバイス1のデバイスデータ=12」がイベントの検出条件として設定されている。ここで、成立条件を「≧」に変更すれば「デバイス1のデバイスデータ≧12」がイベントの検出条件として設定されることになる。
【0031】
さらに、
図2(c)に示すように、「デバイス1の波形立ち下がり&デバイス2のデバイスデータ≧16」という具合に複数のデバイスの成立条件を組み合わせてイベントの検出条件とすることも可能である。成立条件の組み合わせは、3つ以上であってもよく、AND条件、OR条件、括弧等を用いて設定することができる。また、ユーザマーカを異なるイベント検出条件で複数個設定できるようにしてもよい。
【0032】
デバイスデータ収集設定受付部120が受け付けたデバイスデータ収集の設定におけるデバイスの指定、終了条件、トリガ設定等は、PLC200のデバイスデータ収集実行部240に送信され、設定内容にしたがってデバイスデータ収集が実行される。ユーザマーカ設定は、PLC200に送信する必要はない。
【0033】
デバイスデータ取得部130は、PLC200がデバイスデータ収集設定にしたがってデバイスデータ収集を実行すると、収集された時系列のデバイスデータをPLC200からリアルタイムで取得する。すなわち、プログラム開発支援装置100は、PLC200のデバイスデータ収集実行中に、デバイスデータを取得することになる。
【0034】
イベント検出部140は、リアルタイムで取得した時系列のデバイスデータから検出条件を満たすイベントを検出し、その発生タイミングをユーザマーカ情報として内部のメモリに順次記録する。記録する内容は、例えば、デバイスデータのデータ番号、発生時刻、デバイスデータ収集実行開始からの経過時間等である。また、上限値が定められた成立条件のように、条件成立から条件解除までの期間を有するイベントの場合は、「成立」「解除」等の状態も記録する。
【0035】
表示制御部150は、デバイスデータ収集中にリアルタイムで取得したデバイスデータをグラフ表示するとともに、イベント検出部140により記録されたユーザマーカ情報を表示する、もちろん、デバイスデータ収集終了後に、取得済みのデバイスデータおよびユーザマーカ情報を過去に遡って表示することもできる。
【0036】
図3は、デバイスデータのグラフとともに表示されるユーザマーカ情報の表示例を示す図である。本図の例では、ユーザマーカ発生状況ウィンドウにユーザマーカ情報を表示している。ユーザマーカ発生状況ウィンドウには、ユーザマーカ毎に、「解除」「成立」を示す状態と、データ番号と、経過時間と、日時がリスト形式で表示される。
【0037】
ユーザマーカ発生状況ウィンドウは、検出条件を満たすイベントが検出され、ユーザマーカ情報が記録される毎に更新される。グラフ内の矩形Qのようにイベントが検出された期間を示す情報を表示してもよい。
【0038】
表示制御部150は、ユーザマーカ発生状況ウィンドウで、特定のユーザマーカが選択されると、
図4に示すように、ユーザマーカに対応するデバイスデータを参照するための情報をグラフ上に表示する。本図の例では、イベントが発生したタイミングを示す線Uが表示されている。
【0039】
このようにユーザマーカに関する情報をデバイスデータ収集中にリアルタイムで表示することより、プログラム開発者は、把握すべきデバイスのイベントを効率よく認識できるようになる。
【0040】
次に、PLC200の各ブロックについて説明する。入出力制御部210は、PLC200に接続される測定機器、制御機器等との入出力処理の制御を行なう。
【0041】
プログラム格納部220は、プログラム開発支援装置100からダウンロードされるラダープログラムおよびデバイスデータ収集実行用プログラムを格納する。
【0042】
プログラム実行部230は、プログラム格納部220に格納されたラダープログラムを実行する。デバイスデータ収集実行部240は、プログラム開発支援装置100からの指示に基づいてデバイスデータ収集を実行し、収集対象となっているデバイスデータをデバイスデータ格納部250に記録する。
【0043】
本実施形態のラダープログラム開発システム10におけるデバイスデータ収集を利用したプログラム修正作業の手順について
図5のフローチャートを参照して説明する。
【0044】
エラー発生や期待通りの結果が得られない等のプログラミング上の問題が生じている場合には、プログラム開発者が不具合に関するプログラムの解析を行ない(S11)、プログラム作成支援部110を利用してプログラムの修正を行なう(S12)。そして、修正後のプログラムをPLC200のプログラム格納部220にダウンロードする(S13)。
【0045】
プログラム開発支援装置100のデバイスデータ収集設定受付部120を利用してデバイスデータ収集の設定を行ない(S14)、PLC200にデバイスデータ収集の実行を指示すると、プログラム実行部230がダウンロードされたプログラムを実行し、デバイスデータ収集実行部240がデバイスデータ収集を実行する(S15)。デバイスデータ収集実行部240は、収集したデバイスデータを逐次デバイスデータ格納部250に記録する。
【0046】
デバイスデータ収集実行中に、プログラム開発支援装置100のデバイスデータ取得部130が、デバイスデータ格納部250に記録された時系列のデバイスデータを随時取得し、表示制御部150がグラフ表示を行なう(S16)。時系列のデバイスデータの取得、グラフ表示は、デバイスデータ収集が終了するまで繰り返し行なう(S21)。
【0047】
また、デバイスデータ収集実行中に、イベント検出部140が、リアルタイムで取得した時系列のデバイスデータから検出条件を満たすイベントの発生を検出すると(S17:Yes)、イベントが発生したタイミングについてユーザマーカ情報を記録する(S18)。そして、表示制御部150が、記録されたユーザマーカ情報をリスト形式で表示する(S19)。
【0048】
プログラム開発者が、ユーザマーカ情報を参照して、再解析が必要であると判断すれば(S20:Yes)、再度、プログラムの解析を行なう(S101)。この際に、デバイスデータ収集を中断させることもできる。
【0049】
すなわち、本実施形態のラダープログラム開発システム10では、プログラム開発者は、ユーザマーカ情報を参照することで、デバイスデータ収集の終了を待つことなく、プログラム再解析を即座に開始することができる。また、グラフから着目したいイベントを目視で探し出す必要もない。このため、プログラム修正のための時間を節約することができ、デバッグ作業の効率が向上することになる。
【0050】
なお、本発明は、データロギングシステムにおけるアラームイベントに対するユーザマーカ記録、アナライザ機能を持つシステムにおけるイベントに対するユーザマーカ記録等に適用することも可能である。また、ユーザマーカにより参照されるイベントを元に、ラダープログラムの逆解析を行なうシステムへの応用も期待される。例えば、イベント発生前後のデバイスデータを利用したプログラムシミュレートや、イベント発生をトリガとして用いたPLC特定動作条件の起動等に応用することが考えられる。
【符号の説明】
【0051】
10…ラダープログラム開発システム、100…プログラム開発支援装置、110…プログラム作成支援部、120…デバイスデータ収集設定受付部、130…デバイスデータ取得部、140…イベント検出部、150…表示制御部、160…通信部、200…PLC、210…入出力制御部、220…プログラム格納部、230…プログラム実行部、240…デバイスデータ収集実行部、250…デバイスデータ格納部、260…通信部