(57)【要約】【課題】タッチパネル特有のジェスチャ操作によりラダープログラムを効率よく編集することができるラダープログラム編集装置を提供すること。【解決手段】本発明のラダープログラム編集装置は、ラダープログラムを表示する表示手段と、表示手段により表示されたラダープログラムに対するユーザによるジェスチャ操作を検出するジェスチャ操作検出手段と、検出されたジェスチャ操作を解析し、少なくともジェスチャ操作の操作種類、およびジェスチャ操作の対象となる操作対象を特定するジェスチャ操作解析手段と、操作種類および操作対象に基づいて、操作対象に対する編集操作を特定する編集操作特定手段と、操作対象に対して編集操作を実行する編集手段と、を備える。【選択図】図３
2016148887.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる操作に基づいてラダープログラムを編集するラダープログラム編集装置において、
前記ラダープログラムを表示する表示手段と、
前記表示手段により表示された前記ラダープログラムに対するユーザによるジェスチャ操作を検出するジェスチャ操作検出手段と、
前記ジェスチャ操作を解析し、少なくとも前記ジェスチャ操作の操作種類、および前記ジェスチャ操作の対象となる操作対象を特定するジェスチャ操作解析手段と、
前記操作種類および前記操作対象に基づいて、前記操作対象に対する編集操作を特定する編集操作特定手段と、
前記操作対象に対して前記編集操作を実行する編集手段と、
を備えたことを特徴とするラダープログラム編集装置。
【請求項２】
前記ジェスチャ操作解析手段は、更に前記操作種類に対応する操作方向を特定し、
前記編集操作特定手段は、前記操作種類、前記操作方向および前記操作対象に基づいて、前記操作対象に対する編集操作を特定する、
ことを特徴とする請求項１に記載のラダープログラム編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラム編集装置に関し、特にタッチパネル特有のジェスチャ操作によりラダープログラムを効率よく編集することができるラダープログラム編集装置に関する。
【背景技術】
【０００２】
パソコン上でラダープログラムを作成する場合、一般的にマウスなどのポインティングデバイスとキーボードとを併用して編集操作が行われる。タブレット端末のようなタッチパネルを装備した装置では、キーボードやマウスのような入力装置は通常備えていないことが多いが、指先で画面に触れるタッチ操作によってパソコンと同様の操作を可能としている。
【０００３】
タッチ操作主体のタブレット端末上でラダープログラムを編集する場合も、マウスによる編集操作をタッチ操作で行い、画面上に表示される仮想的なキーボードへのタッチ操作でパソコンのキーボードと同様に文字を入力することで、パソコンと同等の編集操作が実現されている。
【０００４】
更にタッチ操作には、複数の指を用いたジェスチャ操作（ピンチイン、ピンチアウト等）があり、その操作によって例えば画面に表示されているイメージを拡大・縮小するといったことが一般的に行われている（例えば、特許文献１）。
また、ジェスチャ操作は文字列の変換操作（例えば、特許文献２）や、ファイルの編集操作（例えば、特許文献３）などに用いられることもある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８４９４１２号公報
【特許文献２】特許第５４０９８９６号公報
【特許文献３】特許第５５９８５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来は、ラダープログラムの編集操作についてはパソコン上のマウスとキーボードの操作が基本となっており、タブレット端末などでも同様の操作をタッチ操作に置き換えることで編集機能が実現されていた。
【０００７】
しかしながら、タッチパネルに特有のジェスチャ動作は、一般的な表示の拡大縮小といった使われ方はされても、ラダープログラムの編集操作そのものには活用されておらず、タブレット端末等においても、ラダープログラムの編集操作自体はパソコンのマウスとキーボードによる操作と基本的に変わらないものであった。
【０００８】
そこで本発明の目的は、タッチパネル特有のジェスチャ操作によりラダープログラムを効率よく編集することができるラダープログラム編集装置を提供することである。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、ユーザによる操作に基づいてラダープログラムを編集するラダープログラム編集装置において、前記ラダープログラムを表示する表示手段と、前記表示手段により表示された前記ラダープログラムに対するユーザによるジェスチャ操作を検出するジェスチャ操作検出手段と、前記ジェスチャ操作を解析し、少なくとも前記ジェスチャ操作の操作種類、および前記ジェスチャ操作の対象となる操作対象を特定するジェスチャ操作解析手段と、前記操作種類および前記操作対象に基づいて、前記操作対象に対する編集操作を特定する編集操作特定手段と、前記操作対象に対して前記編集操作を実行する編集手段と、を備えたことを特徴とするラダープログラム編集装置である。
【００１０】
本願の請求項２に係る発明は、前記ジェスチャ操作解析手段は、更に前記操作種類に対応する操作方向を特定し、前記編集操作特定手段は、前記操作種類、前記操作方向および前記操作対象に基づいて、前記操作対象に対する編集操作を特定する、ことを特徴とする請求項１に記載のラダープログラム編集装置である。
【発明の効果】
【００１１】
本発明では、接点の追加・削除など、ラダープログラムの編集時に頻繁に行われる編集操作でありながら、マウスによる操作ではいくつかの操作を組み合わせる必要があった編集操作を、タッチパネル特有のジェスチャ操作により１つの操作で実施できるため、ラダープログラムを効率よく編集することができる。
【図面の簡単な説明】
【００１２】
【図１】ツールバーインタフェースによるラダープログラムの編集操作例である。
【図２】コンテキストメニューインタフェースによるラダープログラムの編集操作例である。
【図３】本発明におけるジェスチャ操作によるラダープログラムの編集操作例である。
【図４】本発明の一実施形態におけるラダープログラム編集装置の要部ブロック図である。
【図５】本発明の一実施形態における操作判定テーブルの例を示す図である。
【図６】本発明の一実施形態におけるラダープログラム編集装置上で実行される処理のフローチャートである。
【図７】本発明の一実施形態における操作対象の判定処理のフローチャートである。
【図８】本発明におけるラダープログラムの「横要素」と「縦要素」を説明する図である。
【図９】本発明の一実施形態におけるラダープログラム編集装置上でのジェスチャ操作による編集例（１）である。
【図１０】本発明の一実施形態におけるラダープログラム編集装置上でのジェスチャ操作による編集例（２）である。
【図１１】本発明の一実施形態におけるラダープログラム編集装置上でのジェスチャ操作による編集例（３）である。
【図１２】本発明の一実施形態におけるラダープログラム編集装置上でのジェスチャ操作による編集例（４）である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面と共に説明する。
本発明では、ジェスチャ操作が可能なタブレット端末などの上において、プログラマブルコントローラで実行するラダープログラムを編集する際、ジェスチャ動作によって接点や接続線の追加・削除といったラダープログラム編集時に頻出する編集操作ができるようにすることにより、効率よくラダープログラムの編集が可能なラダープログラム編集装置を提供する。
【００１４】
複数箇所をタッチされたことが検出できるタッチパネルの場合、２本以上の指を同時にタッチして動かすジェスチャ操作が使えることが多く、特に、２本の指の先を画面上で広げるように動かすピンチアウト、逆に狭めるように動かすピンチインは、一般的には表示された画像などを拡大・縮小する操作として使われることが多い。
【００１５】
本発明では、ラダープログラムを画面上に表示した際のピンチインやピンチアウトといったジェスチャ操作を検出し、その操作が行われた位置と、その位置に表示されているもの（接続線、接点など）から実施する編集操作を判定して、ラダープログラムをより簡単な操作によって編集することを可能としている。
【００１６】
以下では、ラダープログラムを構成するラダー回路の１つに対して接点を挿入する編集を行う状況を例として、従来技術と本発明の違いを説明する。
図１は、従来技術におけるツールバーインタフェースを用いたラダー回路の編集操作の例である。図１（ａ）に示すラダー回路に対して、接点Ｓ１と接点Ｓ２の間に新たな接点Ｔ１を挿入する場合、従来のマウスを用いたツールバー操作では以下ようなの手順で操作するのが一般的である。
【００１７】
●ステップ１：ツールバーなどから挿入するものとして接点を選択する（図１（ｂ））
●ステップ２：接点Ｓ１と接点Ｓ２の間の位置をマウスでクリックする（図１（ｃ））
●ステップ３：クリックした位置に接点が挿入される（図１（ｄ））
●ステップ４：挿入した接点が参照する信号を示す名称Ｔ１をキーボードから入力する（図１（ｅ））
【００１８】
また、図２は、従来技術におけるコンテキストメニュー（右クリックメニュー）インタフェースを用いたラダー回路の編集例である。図１の場合と同様に、図１（ａ）に示すラダー回路に対して、接点Ｓ１と接点Ｓ２の間に新たな接点Ｔ１を挿入する場合の手順を以下に示す。
【００１９】
●ステップ１：接点Ｓ１と接点Ｓ２の間の位置をマウスで右クリックする（図２（ａ））
●ステップ２：表示されたコンテキストメニューから、Ａ接点を挿入するメニューを選択する（図２（ｂ））
●ステップ３：接点Ｓ１と接点Ｓ２の間に新しい接点が挿入される（図２（ｃ））
●ステップ４：挿入した接点が参照する信号を示す名称Ｔ１をキーボードから入力する（図２（ｄ））
【００２０】
これに対して本発明では、図３に示すように、接点が挿入されるところまでを１つのジェスチャ操作（ピンチアウト）で指示することが可能となる。本発明において、図１の場合と同様に、図１（ａ）に示すラダー回路に対して、接点Ｓ１と接点Ｓ２の間に新たな接点Ｔ１を挿入する場合の手順を以下に示す。
【００２１】
●ステップ１：接点Ｓ１と接点Ｓ２の間の位置を２本の指、例えば人差し指と親指でタッチする（図３（ａ））
●ステップ２：タッチしたまま２本の指を横方向に広げる(ピンチアウト)（図３（ｂ））
●ステップ３：接点Ｓ１と接点Ｓ２の間に新しい接点が挿入される（図３（ｃ））
●ステップ４：挿入した接点が参照する信号を示す名称Ｔ１をキーボードから入力する（図３（ｄ））
【００２２】
上記例に示したように、従来技術と比較して、本発明ではより単純で直感的な操作で接点を挿入することができるようになるため、編集作業の効率化が期待できる。本発明により導入されるジェスチャ操作によるラダープログラムの編集では、前述の接点の挿入だけでなく、その操作が行われた状況に応じて、接点の削除、接続線の挿入や削除のように、様々な編集操作を実施することが可能である。
【００２３】
図４は、本発明の一実施形態におけるラダープログラム編集装置の要部ブロック図である。本実施形態のラダープログラム編集装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、二次記憶装置１４、タッチパネル１５、表示器１６、ネットワークインタフェース１７、外部機器インタフェース１８を備える。
【００２４】
ラダープログラム編集装置１０が備えるＣＰＵ１１は、ラダープログラム編集装置１０を全体的に制御するプロセッサであり、ＲＯＭ１２に格納されたシステムプログラムをバスを介して読み出し、該システムプログラムに従ってラダープログラム編集装置１０を制御する。ＲＡＭ１３には、一時的な計算データや表示器１６に表示される表示データ、タッチパネル１５や図示しないキーボードなどを介して入力された各種データを格納するワークメモリ領域と、編集対象となるラダープログラムなどのシーケンスプログラムを格納する領域が設けられている。
【００２５】
二次記憶装置１４は、ハードディスク装置、メモリカード、ＵＳＢメモリといった不揮発性の記憶装置や、バッテリバックアップされた不揮発性のメモリなどで構成され、ラダープログラム編集装置１０が取り扱うラダープログラムなどのシーケンスプログラムや、設定ファイル、パラメータファイルなどの各種ファイルが記憶されている。
【００２６】
タッチパネル１５は、表示器１６の表示画面に重ねて配置され、表示画面上に描画された画像に対する指先やペン先による接触操作、近接操作、押込操作などを検出する位置入力装置である。タッチパネル１５は、指先やペン先により行われた操作の位置を検出することにより、タッチ操作、フリック、ピンチイン／アウトなどのジェスチャ操作などを検出することができる。なお、タッチパネル１５は、図に示すように表示器１６と別の装置として構成することもできるが、表示器１６と１つの装置として構成するようにしてもよい。
【００２７】
ネットワークインタフェース１７には、ＬＡＮやＷＡＮなどのネットワークが接続されており、該ネットワークインタフェース１７を介して外部装置との間でラダープログラムなどのシーケンスプログラムの送受信を行う。
また、外部機器インタフェース１８には、図示しないキーボードやマウスなどの入力装置や、ラダープログラム編集装置１０と協働して動作する様々な外部機器が接続される。
【００２８】
以下に、本発明により導入される、ジェスチャ操作により様々な編集操作を実現する方法について説明する。
図５は、ラダープログラム編集装置１０の二次記憶装置１４に記憶される操作判定テーブルの例である。操作判定テーブルには、図５に示すように、行われた操作の種類を示す「操作種類」、および操作の状況を示す「操作方向」「操作対象」と、どのような編集を行うかを示す「編集操作」が関連付けられて記憶されている。なお、図５に示した操作判定テーブルの内容は一例であって、これら以外の操作種類や操作対象や、より細かい操作種類や操作対象の判定により、これら以外の編集操作を割り当てても構わない。
【００２９】
本実施形態のラダープログラム編集装置１０は、ラダープログラムの編集中に、ユーザによるタッチパネル１５に対するタッチ操作やジェスチャ操作を検出すると、該操作の操作種類、および操作方向、操作対象などの操作状況に基づいて操作判定テーブルを参照して該当する編集操作を特定し、特定した編集操作を表示されているラダープログラムに対して実行する。
【００３０】
図６は、本実施形態におけるラダープログラム編集装置１０上でラダープログラムを編集する場面において、ジェスチャ操作を検出した際に実行されるフローチャートである。本処理により、ジェスチャ操作から実施すべき編集操作を求めることができる。
●［ステップＳＡ０１］タッチパネル１５により検出されたジェスチャ操作を解析し、該ジェスチャ操作の「操作種類」と「操作方向」を特定する。
●［ステップＳＡ０２］ステップＳＡ０１で有効なジェスチャ操作として「操作種類」と「操作方法」の特定に成功した場合にはステップＳＡ０３へ進み、特定に失敗した場合には今周期における本処理を終了する。
【００３１】
●［ステップＳＡ０３］タッチパネル１５により検出されたジェスチャ操作の、操作開始時におけるタッチ位置の中点を求めて「操作位置」とする。
●［ステップＳＡ０４］ステップＳＡ０３で求めた「操作位置」が、表示器１６に表示されているラダープログラムの表示領域内であるか否かを判定する。表示領域内である場合にはステップＳＡ０５へ進み、そうでない場合には今周期における本処理を終了する。
【００３２】
●［ステップＳＡ０５］ステップＳＡ０１で特定した「操作種類」と「操作方向」、およびステップＳＡ０３で求めた「操作位置」に基づいて、後述する「操作対象」の判定処理を実行し、「操作対象」を特定する。
●［ステップＳＡ０６］ステップＳＡ０１で特定した「操作種類」と「操作方向」およびステップＳＡ０５で特定した「操作対象」に基づいて「操作判定テーブル」を検索する。
【００３３】
●［ステップＳＡ０７］ステップＳＡ０６で、「操作判定テーブル」から合致するデータが検索されたか否かを判定する。合致するデータが検索された場合にはステップＳＡ０８へ進み、合致するデータが無かった場合には今周期における本処理を終了する。
●［ステップＳＡ０８］ステップＳＡ０６で検索されたデータにおける「編集操作」を、「操作対象」に対して実行する。
【００３４】
図７は、図６のフローチャートにおけるステップＳＡ０５で呼び出される、「操作種類」、「操作方向」、および「操作位置」に基づいて「操作対象」を特定する処理のフローチャートである。
●［ステップＳＢ０１］ステップＳＡ０１で特定したジェスチャ操作の「操作方向」を判定する。
●［ステップＳＢ０２］ステップＳＢ０１で判定した「操作方向」が横方向か否かを判定する。「操作方向」が横方向である場合にはステップＳＢ０３へ進み、そうでない場合にはステップＳＢ０４へ進む。
【００３５】
●［ステップＳＢ０３］ステップＳＡ０３で求めた「操作位置」に表示されている「横要素」（後述）を「操作対象」とする。
●［ステップＳＢ０４］ステップＳＡ０３で求めた「操作位置」に表示されている「縦要素」（後述）を「操作対象」とする。
【００３６】
ここで、「横要素」とはラダー回路図においてで横方向に接続された図形要素を表し、接点や横接続線、コイルなどが該当する。また「縦要素」とはラダー回路図において縦方向に接続された図形要素を表し、縦接続線が該当する。さらに「有意な要素がない」状態を表す「空白」も１つの要素となる。
【００３７】
「横要素」「縦要素」について、更に図８を用いて説明する。
例えば、図８（ａ）に示すラダー回路を要素に分解する場合、横の要素に分ける場合は、図８（ｂ）に示す点線枠のように分解することができる。各点線枠の中にある接点、横接続線、コイル、および空白が要素となる。
一方、縦の要素に分ける場合は、図８（ｃ）に示す点線枠のように分解することができる。各点線枠の中にある縦接続線が要素となる。このラダー回路の場合は網掛けのある枠だけが縦接続線が要素となり、他の枠の領域は空白となる。
【００３８】
ステップＳＢ０３，ステップＳＢ０４の処理では、「操作方向」が横方向か縦方向かによって、上記のようにラダー回路をそれぞれ「横要素」または「縦要素」に分解し、「操作位置」が指し示す位置の点線枠に含まれる要素を「操作対象」として特定する。
【００３９】
以下では、本実施形態のラダープログラム編集装置１０上で、一連のジェスチャ操作によりラダープログラムを編集する例を図９〜１２を用いて示す。
図９（ａ）に示すラダー回路を編集する際に、図９（ｂ）に示すように、接点Ｄの右に配置される接続線上で横方向にピンチイン操作を行う。この操作は、図５に示した「操作判定テーブル」に照らし合わせると、５番の条件に合致するため、該操作位置において「接続線の削除」処理が実行され、ラダー回路は図９（ｃ）の様に変更される。
【００４０】
次に、図１０（ａ）に示すラダー回路に対して、図１０（ｂ）に示すように、接点Ｂと接点Ｃの間の接続線から下に延びる縦の接続線上で縦方向にピンチイン操作を行う。この操作は、図５に示した「操作判定テーブル」に照らし合わせると、１０番の条件に合致するため、該操作位置において「接続線の削除」処理が実行され、ラダー回路は図１０（ｃ）の様に変更される。
【００４１】
更に、図１１（ａ）に示すラダー回路に対して、図１１（ｂ）に示すように、接点Ａと接点Ｂの間と接点Ｄの右側とから空白上で縦方向にピンチイン操作を行う。この操作は、図５に示した「操作判定テーブル」に照らし合わせると、９番の条件に合致するため、該操作位置において「接続線の挿入」処理が実行され、ラダー回路は図１１（ｃ）の様に変更される。
【００４２】
そして、図１２（ａ）に示すラダー回路に対して、図１２（ｂ）に示すように、接点Ｄの右半分の位置で横方向にピンチアウト操作を行う。この操作は、図５に示した「操作判定テーブル」に照らし合わせると、１番の条件に合致するため、該操作位置において「接点の右挿入」処理が実行され、ラダー回路は図１２（ｃ）の様に変更される。
最後に、挿入された設定に対してキーボードなどを操作して信号名称「Ｆ」を設定し、図１２（ｄ）に示すラダー回路が完成する。
【００４３】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、このようなジェスチャ操作によるラダープログラムの編集操作は、先述の「操作判定テーブル」の内容によって、様々な操作体系を定義することができる。例として挙げた「操作種類」「操作方向」「操作対象」だけでなく、操作の起点や動かし方（例えば、フリック、片方のタッチ位置は固定して一方のみを動かす、指をレの字に弾く等）によってより多彩な操作を定義した操作判定テーブルを構築するようにしてもよいし、また、「操作方向」が不要な「操作種類」を用いるのであれば、「操作方向」の項目を省略した簡易な操作判定テーブルとするようにしてもよい。
【符号の説明】
【００４４】
１０  ラダープログラム編集装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  二次記憶装置
１５  タッチパネル
１６  表示器
１７  ネットワークインタフェース
１８  外部機器インタフェース
【図１】
2016148887.tif 000003
【図３】
2016148887.tif 000004
【図４】
2016148887.tif 000005
【図５】
2016148887.tif 000006
【図６】
2016148887.tif 000007
【図７】
2016148887.tif 000008
【図９】
2016148887.tif 000009
【図１０】
2016148887.tif 000010
【図１１】
2016148887.tif 000011
【図１２】
2016148887.tif 000012
【図２】
2016148887.tif 000013
【図８】
2016148887.tif 000014