JP6794668B2 - プログラミング装置 - Google Patents

プログラミング装置 Download PDF

Info

Publication number
JP6794668B2
JP6794668B2 JP2016116036A JP2016116036A JP6794668B2 JP 6794668 B2 JP6794668 B2 JP 6794668B2 JP 2016116036 A JP2016116036 A JP 2016116036A JP 2016116036 A JP2016116036 A JP 2016116036A JP 6794668 B2 JP6794668 B2 JP 6794668B2
Authority
JP
Japan
Prior art keywords
motion
program
screen
terminal
variable
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
JP2016116036A
Other languages
English (en)
Other versions
JP2017220142A (ja
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2016116036A priority Critical patent/JP6794668B2/ja
Publication of JP2017220142A publication Critical patent/JP2017220142A/ja
Application granted granted Critical
Publication of JP6794668B2 publication Critical patent/JP6794668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、プログラマブルコントローラのプログラムのプログラミング装置に関する。
PLCによるモーションコントロールシステムのモーションプログラムを開発する場合、ユーザがモーションプログラムを手作業で作成していた。また、既に実績のあるモーションプログラムを再利用する場合でも、手動でインポートして、モーションプログラムにパラメータを設定するために、モーションプログラムを手作業で編集する必要があった。
PLCによるモーションコントロールシステムのモーション用画面を開発する場合、ユーザがモーション用画面を手作業で作成していた。また、既に実績のあるモーション画面を再利用する場合でも、手動でインポートし、モーションプログラムのパラメータに応じ画面を手作業で編集する必要があった。
尚、上記モーションプログラムやモーション用画面の作成作業は、“プログラミング装置”等と呼ばれるコンピュータ上で行われる。プログラミング装置は、所定のエディタ画面上で、ユーザに任意のモーションプログラムやモーション用画面の作成を行わせる。
例えば、モーションプログラム作成支援用のエディタ画面上で、ユーザは、コードボディワークシートを開き、コードボディワークシート上に所望の1以上のファンクションブロック(FB)を配置すると共に、FBの各端子に対する変数名を設定する作業や結線作業等を行う。更に、ユーザは、変数ワークシートを開き、変数ワークシート上で、グローバル変数やローカル変数に係わる所定情報(名前、型、種別、説明、設定値(デフォルト値など)の設定作業を行う。例えばこの様にして任意のモーションプログラムを手作業で作成していた。
また、特許文献1の従来技術では、I/Oレジスタ番号に対応したシーケンスプログラムの自動生成を提案している。
特許文献1では、シーケンスプログラムにより制御されるモーションプログラムによって軸制御等を行うモーションコントローラにおいて、制御信号表1にI/Oレジスタ番号を設定し、あらかじめ用意した基準テンプレート2を用いて自動生成手段3により、モーションプログラムの開始/停止、自動/手動モード切替え等の運転制御および原点復帰、JOG運転およびサーボオン/オフなどの軸制御を可能にする。さらに、モーションプログラムの起動シーケンスを埋め込んだシーケンスプログラム4を自動生成した後、モーションプログラム開発6を行って、シーケンスプログラムの制御によりモーションプログラム運転7を実行する。
特開平11−249715号公報
PLCでモーションコントロールシステムを開発する場合、ユーザが全て一からプログラムを作成できるため、ユーザのシステムに合わせ、きめ細かいプログラムが開発できる。また、様々なモーションプログラムを用意しておけば、様々のシステムに対応できるメリットがある。しかし、きめ細かくプログラム開発が可能であるが故に、モーションプログラム及びモーション用画面を構築するまでに時間が掛かってしまうという課題があった。
本発明の課題は、モーションプログラムの作成作業負担を軽減できるプログラミング装置等を提供することである。
本発明のプログラミング装置は、1以上のプログラム部品が格納されたプログラム部品格納手段と、前記プログラム部品の中から任意のプログラム部品をユーザに選択させるプログラム部品選択手段と、前記選択されたプログラム部品の各端子に対応する変数名を生成する端子変数生成手段と、前記選択されたプログラム部品と前記生成した変数名を用いて、モーションプログラムのベースを生成するプログラム生成支援手段と、プログラム編集画面上で、前記モーションプログラムのベースに基づいて、任意のモーションプログラムをユーザに作成させるプログラム編集手段と、を有し、前記モーションプログラムのベースは、前記選択されたプログラム部品が配置されると共に該プログラム部品の各端子に対して前記生成された変数名が設定されたワークシートを含む
本発明のプログラミング装置等によれば、モーションプログラムの作成作業負担を軽減できる。
本例のモーションコントロールシステムの構成図である。 プログラミング装置の構成図である。 モーションDB構成図である。 モーションFB選択画面の表示例である。 モーションFBパラメータ設定画面の表示例である。 自動登録後のモーションプログラムの構成ツリーの一例を示す図である。 PLCエディタの処理フローチャート図である。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のモーションコントロールシステムの構成図である。
図示の構成例では、モーションコントロールシステムは、表示器10、プログラマブルコントローラ(PLC)11、サーボアンプ12、サーボモータ13、I/Oバス14、動力線15、信号線16、プログラミング装置17等から成る。
尚、サーボアンプ12とサーボモータ13は、PLC11による制御対象機器の一例であり、PLC11による制御対象機器はこの例に限らず様々な機器があってよい(ここでは特に具体例は示さない)。但し、本説明では、PLC11による制御対象機器がサーボアンプ12とサーボモータ13である例を用いて説明するものとする。
表示器10は、プログラマブル表示器等であり、よく知られているように、PLC11による制御対象機器の制御状態をユーザが監視したり任意の指令を与える為の画面が表示される。この画面は通常複数用意され、ユーザ操作等に応じて切替え表示される。この複数の画面として、上記モーション用画面も含まれている。これら画面データは、プログラミング装置17上で任意に生成されたものが、表示器10に転送されてそのメモリ等に格納されている。
PLC11は、自装置内の不図示のメモリに記憶された任意の制御プログラムを、自装置内の不図示の演算プロセッサ(CPU等)が実行することで、IOバス14を介して制御対象機器(サーボアンプ12等)を制御する。この制御プログラムは、プログラミング装置17上で任意に生成されたものが、PLC11に転送されてそのメモリ等に格納されている。また、上記モーションプログラムやシーケンスプログラムは、制御プログラムに含まれる。
プログラミング装置17は、上記モーション用画面等の画面の画面データを、ユーザに任意に作成させる機能を有する。従来では、上述したように、ユーザがモーション用画面を手作業で作成していたが、本例ではユーザの作業負担を軽減できる。詳しくは後述する。
また、プログラミング装置17は、上記制御プログラムを、ユーザに任意に作成させる機能も有する。これに関しても、上述したように、ユーザがモーションプログラムを手作業で作成していたが、本例ではユーザの作業負担を軽減できる。詳しくは後述する。
尚、プログラミング装置17は、上記画面データを信号線16を介して表示器10にダウンロードする。また、プログラミング装置17は、上記制御プログラム(モーションプログラム)を信号線16を介してPLC11にダウンロードする。サーボアンプ12は動力線15を介してサーボモータ13を駆動する。
ここで、従来より、モーションプログラム作成の為にFB(ファンクションブロック)を用いる場合がある。よく知られているように、ファンクションブロックは、入力パラメータ(入力端子)と出力パラメータ(出力端子)を有する関数である。ファンクションブロックは、入力端子に与えられた値をもとに演算を行い、結果を出力端子から出力する。従来、ユーザは、任意のファンクションブロックを用いて任意のモーションプログラムを作成する場合、ファンクションブロックの各端子に変数を割り当てる作業や、各変数に初期値(デフォルト値)を設定する作業などを行っていた。本手法では、この様なユーザの作業負担を軽減できる。詳しくは後述する。
尚、上記モーションプログラム作成に用いられるFBを、モーションFBと記すものとする。本手法では、各種制御対象機器の様々な動作(位置決め、回転、同期制御など)を実現する各種モーションFBが、予め作成されて記憶されているものとする。
図2は、上記プログラミング装置17の構成図である。
プログラミング装置17は、上記のように、例えばPLC11の制御プログラム(モーションプログラム等)をユーザに任意に作成させる為のプログラム作成支援機能を有し、その一例が図示のPLCエディタ20である。PLCエディタ20によってプログラミング装置17のディスプレイ上に表示される各画面を介して、ユーザは所望のモーションプログラムを作成する。
尚、プログラミング装置17は、不図示の演算プロセッサ(CPU等)、記憶部(ハードディスク、メモリ等)、表示部(液晶ディスプレイ等)、操作部(キーボード、マウス等)、通信部等を有している。演算プロセッサが、記憶部に予め記憶されている所定のアプリケーションプログラムを実行することで、PLCエディタ20や作画エディタ28の後述する各種機能が実現される。
プログラミング装置17は、上記記憶部にプロジェクトデータ21を記憶する。プロジェクトデータ21として、構成定義データ21aが作成されており、更にPLCエディタ20によってユーザが任意に作成したモーションプログラム21bがプロジェクトデータ21に追加される。構成定義データ21aは、ここでは図1のモーションコントロールシステムの機器構成を示す情報であるものとするが、その詳細例は特に示さない。
プログラミング装置17において、上記記憶部上に、モーションDB(データベース)24が構築されている。モーションDB24には、モーションFB(ファンクションブロック)24a、モーション画面24b等が格納されている。これらは、予め、開発者等によって任意に作成されて格納されている。
モーションFB24aは、例えば図1のモーションコントロールシステムのPLC11や他の不図示のPLCに実行させる、制御対象機器の動きを制御するモーション制御用のプログラム部品であり、様々な用途のモーションFBが予め作成されて格納されている。また、各モーションFBには予め任意の名称(FB名)が付与されている。従来より、この様に予め作成されている各種モーションFBを利用して所望のモーションプログラムを作成することは行われていたが、上述した通り、手間が掛かっていた。本手法では、この様なモーションプログラム作成の作業負担を軽減できる。
また、モーション画面24bは、これらの各モーションFBそれぞれに対応した、表示器10に表示する画面データであり、モーションFBによる制御処理の状態をモニタしたり設定したりする画面であるが、その具体例は特に示さない。
PLCエディタ20上では、ユーザの操作等に応じて、図示の各種画面が表示され、各画面上でユーザが任意の入力操作を行える。各種画面は、図示の構成定義画面22、モーションFB選択画面23、モーションFBパラメータ設定画面25、プログラム編集画面26等である。
構成定義画面22上では、ユーザは、任意のシステム(任意のモーションコントロールシステム等)の機器構成を編集でき、これが上記構成定義データ21aである。構成定義画面22上で、ユーザが任意の制御対象機器を指定して所定のメニューを選択すると、指定された制御対象機器用のモーションプログラム及びモーション画面の作成支援モードに移行する。
ここでは一例としては、ユーザが、構成定義画面22上でサーボアンプを選択したうえで右クリックメニューの“モーション支援メニュー”−“モーションFB登録”をクリックすると、PLCエディタ20はサーボアンプに関する上記作成支援モードになり、まず、モーションFB選択画面23を表示する。
モーションFB選択画面23には、モーションDB24の各モーションFB24aに係わる所定の情報(その名称(FB名)等)が一覧表示される。ユーザは、この一覧表示中から用途に応じたモーションFB24aを選択することになる。
ここで、図2には示していないが、モーションDB24には、更に、格納している各モーションFB24aの管理情報が格納されている。この管理情報には、各モーションFB24aの名称(FB名)、機能、端子情報などの情報と共に、そのモーションFBに対応するモーション画面24bの識別情報(ここではモーション画面ファイル名)等の情報も含まれている。
PLCエディタ20は、ユーザによって選択されたモーションFB24aに対応するモーション画面ファイル名のモーション画面24bを、モーションDB24から記憶部の所定の記憶領域にコピーして画面データ27とする。尚、各モーションFB24aに対応するモーション画面は、1以上であり、従って画面データ27も1以上のモーション画面から成るものとなる。
更に、画面データ27に、ユーザが任意に作成したモーション画面も追加することで、画面データ27が完成するものとしてもよい。作画エディタ28上でユーザは所望のモーション画面を作成できる。尚、上記の通り従来ではユーザが手作業で任意のモーション画面を作成していたのであり、作画エディタ28については特に説明しない。
画面データ27は、後に、表示器10に転送される。上記選択されたモーションFB24aに基づくモーションプログラム21bも、後に、PLC11に転送される。
ユーザが上記のようにモーションFB選択画面23上で所望のモーションFB24aを選択すると、PLCエディタ20は、選択されたモーションFBに対するパラメータ設定をユーザに任意に行わせる為のモーションFBパラメータ設定画面25を表示する。
PLCエディタ20は、上記ユーザが選択したモーションFB24aに関して、その管理情報中の上記端子情報などに基づいて、モーションFBパラメータ設定画面25の初期画面を表示する。これについては具体例を後に図示・説明するが、選択したモーションFB24aの各端子に関する情報(端子名、データ型など)が一覧表示される。更に、その際、これら各端子に対応する変数名が、自動的に生成・設定される点が、本手法の特徴の1つであるが、これについては後述する。
ここで、上記初期画面上では、各端子に対応する各変数の初期値(デフォルト値)である“設定値”の欄は、空白となっている。ユーザが、この“設定値”の欄に任意の数値を入力することで、選択されたモーションFBのパラメータ設定が行われることになる。
モーションFBパラメータ設定画面25上でのモーションFBのパラメータ設定作業が完了すると、モーションプログラムのベース情報が自動生成されることになる。このベース情報には、上記自動生成された変数名や設定値(デフォルト値)が反映されている。このベース情報の一例が後述するコードワークシート45及びローカル変数ワークシート43、グローバル変数ワークシート49であり、詳しくは後述する。
そして、ユーザは、プログラム編集画面26上で上記ベース情報に基づいて所望のモーションプログラム21bの作成作業を行う。すなわち、上記モーションFBパラメータ設定画面25上でのパラメータ設定が完了すると、PLCエディタ20は、プログラム編集画面26を表示する。
プログラム編集画面26は、ユーザに任意のモーションプログラムを作成させる為の画面である。上記の通り、従来より、ユーザに任意のモーションプログラムを作成させる機能は存在した。これは、例えば上記のように、編集画面上で、ワークシート上にモーションFBを配置すると共に変数設定や結線を行ったり、変数用ワークシート上で変数名や初期値の設定を行うものであった。
これに対して、本手法によれば、プログラム編集画面26には、これらワークシートには初期状態で、上記選択・自動設定された結果が反映される。
すなわち、例えば後述するコードワークシート45は、その初期状態で、上記選択されたモーションFB24aが配置されると共に、その各端子に対応する各変数名が自動設定・接続された状態となっている。プログラム編集画面26には、この様なコードワークシート45が表示され、ユーザは更に他のプログラム要素(例えばラダー図要素など)の配置や結線などの編集作業を行うことで、所望のモーションプログラム21bを作成することになる。この様に、ユーザは一からプログラム作成を行うことなく、上記初期状態からプログラム作成を行うことができ、プログラム作成作業負担が軽減される。
更に、本手法によれば、後述するローカル変数ワークシート43、グローバル変数ワークシート49は、その初期状態で、上記各端子に対応する各変数名やその初期値(デフォルト値))等のパラメータが、設定された状態となっている。ユーザは、これら各変数ワークシートに関しては、必要に応じてプログラム編集画面26上で所望の変更/編集作業を行う。
この様にして、プログラム編集画面26上での所望の編集作業が終了し、コードワークシート45及びローカル変数ワークシート43、グローバル変数ワークシート49が作成完了すると、モーションプログラム21bが作成完了することになる。
ユーザは、一から作成するのではなく、上記初期状態から作成開始できるので、モーションプログラムの作成作業負担を軽減できる。
更に、上記の通り、本手法によれば、モーション画面の作成作業負担も軽減できる。
作成されたモーションプログラム21bは、その後、PLC11に転送されて、PLC11で実行されることで、例えばサーボアンプ12、サーボモータ13の動作が制御される。この動作状態は、表示器10に転送した画面データ27によって、表示器10上でモニタリング等されることになる。
上記プログラミング装置17について、以下、具体例を示しながら更に詳細に説明する。
図3は、一実施例としてのモーションDB構成図である。
モーションDB24のフォルダ・ファイル構成30として、図には、上記各種モーションFB24aが格納されるモーションFBフォルダと、上記各モーション画面24bの名称の例として“PTP”、“補間”、“同期”が示されている。更に、モーションDB24には図示のモーションFB管理情報31が格納されている。
開発者等は、新たなモーションFB、モーション画面を作成すると、その管理情報をモーションFB管理情報31に登録しているものとする。
モーションFB管理情報31には、上記モーションFBフォルダに格納される各モーションFB24aについて、それぞれ、所定の情報(名称や端子情報、対応するモーション画面の情報等)が登録されている。各モーションFB24a毎に、その名称であるFB名61や、ライブラリ名62、ステップ数63、機能64、FB容量65等の情報が登録され、更に対応するモーション画面24bの名称/識別情報がモーション画面ファイル名66の欄に格納されている。尚、ライブラリ名については、ここでは特に言及しない。ステップ数63、機能64、FB容量65は、そのモーションFBのプログラムステップ数や機能や容量であるが、これらについても特に詳細には説明しない。
また、FB(ファンクションブロック)は複数の端子を有するものであり、各モーションFB24a毎に、そのモーションFB24aの各端子に関する情報も登録されている。この端子情報は本例では別テーブル(端子情報テーブル70)が作成されており、端子情報リンク67によりリンクされている。勿論、これは一例であり、実質的に、端子情報はモーションFB管理情報31の一部である。
端子情報リンク67には、そのモーションFB24aの端子情報が登録された端子情報テーブル70の名称/識別情報が格納される。
端子情報テーブル70には、各端子毎に、その端子名71、表示端子名72、データ型73、下限値74、上限値75、説明76などが格納される。端子名71が各端子の名称であり、表示端子名72は人間が理解し易い名称である。例えば端子名“spd”の端子は、速度に関する端子であることが分かる。
下限値74と上限値75は、その端子に係わる入力値/出力値の許容範囲を示す。説明76には、その端子に関する任意の説明が格納される。
上記モーションFB選択画面23、モーションFBパラメータ設定画面25は、上記モーションFB管理情報31に基づいて生成される。その一例を図4、図5に示す。
モーションFB選択画面23には、図4に示すように、各モーションFBに関する情報が一覧表示される。
図4は、上記モーションFB管理情報31に基づくモーションFB選択画面23の表示例である。
図4においては、モーションFB管理情報31上の各データ項目と、モーションFB選択画面23の表示内容との対応関係を、図示のように点線矢印で示している。
モーションFB選択画面23には、各モーションFBについて、図示の機能81、FB名82、ライブラリ名83、ステップ数84、FB容量85等が、点線矢印で示すように、上記モーションFB管理情報31の機能64、FB名61、ライブラリ名62、ステップ数63、FB容量65に基づいて表示される。
ユーザが、上記モーションFB選択画面23上に一覧表示されるモーションFBの中から所望のモーションFB(レコード)を選択すると(左端のチェック欄にチェックを入れると)、選択されたモーションFBに係わる端子情報が表示される。これば、当該選択されたレコードの端子情報リンク67が示す端子情報テーブル70に基づいて、例えば図5に示すようにモーションFBパラメータ設定画面25を表示する。
尚、図5においても、端子情報テーブル70の各データ項目と、設定画面25の表示内容との対応関係を、図示の点線矢印で示している。
図5の例では、モーションFBパラメータ設定画面25上には、上記選択されたモーションFBの各端子毎に、図示の端子名91、単位92、データ範囲93、データ型94、設定値95、説明96が表示される。これらのうち、設定値95以外は、初期状態で、上記端子情報リンク67が示す端子情報テーブル70の端子名71、下限値74、上限値75、データ型73、説明76に基づいて、データ表示されている。尚、データ範囲93には「下限値74〜上限値75の範囲」が表示される。尚、図示していないだけであり、端子情報テーブル70には単位92に相当するデータも含まれている。また、図示のように表示端子名72も端子名91(括弧内に)に表示するようにしてもよい。
設定値95は、初期状態では空欄であり、設定値95の欄はユーザが任意のデータを入力できるようになっている。これより、ユーザは、モーションFBパラメータ設定画面25上で、設定値95の欄に任意の数値を入力する。図には、設定値95の欄への数値入力作業途中の状態を示している。
なお、パラメータ(設定値95)の値は、データ型73(94)に応じて、10進または16進、データのビット長、プラスマイナス符号の有無の表示および入力方法が変わる。また、このパラメータ(設定値95)の値は、データ範囲93(下限値74〜上限値75の範囲)で入力が制限される。つまり、ユーザがデータ範囲93外の値を設定値95に入力した場合、エラーと判定して、再入力を促すようにする。
ここで、本手法では、選択されたモーションFBに係わる端子情報テーブル70のデータに基づいて、当該選択されたモーションFBの各端子に対応する変数名を、自動的に生成する。この生成方法は様々であってよいが、一例としては、端子名71に基づいて生成する。端子名71に基づく生成方法は様々であってよいが、一例としては例えば
端子変数名=「端子名71_局番」
等するが、この例に限らない。
また、端子名71に限らず、端子情報テーブル70に、端子変数名生成用のデータを更に登録しておくようにしてもよく、その一例が図5に示す端子変数77である。
この端子変数77に基づく生成方法も様々であってよいが、一例としては例えば
端子変数名=「端子変数77_局番」
等するが、この例に限らない。
尚、端子名71を用いて変数名を生成する場合には、図3に示す例のように、端子情報テーブル70には端子変数77は無くてもよい。
例えば、ユーザが所望する(例えばユーザにとって分かり易い)変数名が自動生成されるように、端子名ではなくユーザが自由に決めた文字列を上記端子変数77として予め登録しておく。
何れにしても、端子情報テーブル70に予め登録されている所定の情報に基づいて、所定の生成規則に従って端子変数名を自動生成する。
上記モーションFBパラメータ設定画面25上でのデータ入力・設定作業が完了してユーザが所定の不図示のボタンを操作すると、上述したモーションプログラムのベース情報が自動生成されて、所定の構成ツリー上に登録される。
図6は、自動登録後のモーションプログラム21bの構成ツリーの一例を示す。
上記モーションFB選択画面23、モーションFBパラメータ設定画面25上での選択/設定作業が完了すると、該当するモーションFBが上記自動・手動で所定のデータが設定されてモーションプログラム21bに自動登録される。図6はモーションFBを自動登録した後のモーションプログラム21b全体のプログラム構成ツリーの一例である。
例えば図6に示すようなコードワークシート45、ローカル変数ワークシート43、グローバル変数ワークシート49が、自動的に生成されて、図示のようにプログラム構成ツリー上の所定箇所に自動登録される。モーションFBを呼び出すプログラムである機能単位プログラム(POU)42として、コードワークシート45とローカル変数ワークシート43が自動登録される。
コードワークシート45の生成に関しては、まず、上記モーションFB選択画面23上で選択されたモーションFB24aが、コードワークシート45上にブロック図形式で自動配置される。これが図6に示すモーションFB46である。モーションFB46の各端子に対して、上記端子名71に基づいて図示の端子名54が設定される。このモーションFB46の各端子に対して、上記図5に示す端子情報テーブル70の端子名71あるいは端子変数77に基づいて、各端子に対応する変数名を自動生成して接続する。これが図示の端子変数47である。更に各端子に対応する上記表示端子名72も自動設定される。これが図示の表示端子名53、55である。
その後、コードワークシート45の編集作業をプログラム編集画面26上でユーザに行わせることで、コードワークシート45が完成する。従来のように一から編集を行うのではなく、上記のような自動設定が行われた状態から編集開始できるので、編集作業負担を軽減できる。変数ワークシート43,49についても、プログラム編集画面26上で所望の編集を行わせるようにしてもよい。この様にしてモーションプログラム21bが完成することになる。
ローカル変数ワークシート43の生成に関しては、コードワークシート45上のモーションFB46のパラメータである、上記端子に接続する変数の変数名とその初期値が、自動生成された端子変数名と上記任意に設定入力された設定値95に基づいて、自動的に定義される。これが図示の端子変数51と設定値52である。
グローバル変数ワークシート49に関しても、ローカル変数ワークシート43と同様に、上記モーションFB46の各端子に接続する変数の変数名とその初期値が、上記自動生成された端子変数名と任意に設定入力された設定値95に基づいて自動的に定義され(これが図示の端子変数56と設定値57)、ユーザが新たに追加作成するプログラムからパラメータヘのアクセスを可能とする。
尚、機能単位プログラム(POU)42の実体を表すプログラムインスタンス48は、プログラム構成ツリー内のTaskの下に挿入され、PLC11内で実行されるタスクヘ割付される。
図7は、本例のプログラミング装置17のPLCエディタ20の処理フローチャート図である。
図示の例では、まず、プロジェクトデータ21を読み込んで(ステップS1)、ユーザがPLCエディタ20の画面上で構成定義を選択すると(ステップS2,YES)、上記図2の構成定義画面22を表示する(ステップS3)。上記の通り構成定義画面22上には上記プロジェクトデータ21の構成定義データ21aが表示され、ユーザが所定の操作を行うとステップS8以降の処理を実行する。
ここでは一例として所定の操作は、マウス右クリックして(ステップS4,YES)サーボを選択することで(ステップS5,YES)右クリックメニューが表示されたら(ステップS6)、このメニュー中にある“モーションFB登録”が選択されること(ステップS7,YES)であるが、勿論、これは一例に過ぎない。
上記所定の操作が行われると、上記作成支援モードになり、ステップS8〜S15の処理を実行する。
まず、モーションFB選択画面23を開き、モーションDB24にあるモーションFB24aをリスト表示する(ステップS8)。これは例えば上記のようにモーションFB管理情報31を用いてFB名などを一覧表示する。
ユーザが、この様なモーションFB選択画面23上で所望のモーションFBを選択すると(ステップS9)、上記モーションFBパラメータ設定画面25を開き、上記選択されたモーションFBのパラメータ項目を当該画面25上に表示する。これは、例えば上記のように、選択されたモーションFBに係わる端子情報テーブル70の端子名71、下限値74、上限値75、データ型73、説明76等が、表示される。更に、選択されたモーションFBに係わる端子情報テーブル70の端子名71あるいは端子変数77に基づいて、端子変数名が自動的に生成される(ステップS10)。
一方で、上記設定値95の欄は初期状態では空白であり、ユーザが設定値95の欄に任意の数値を入力して(ステップS11)、入力完了の操作を行うと(ステップS12)、上記のようにコードワークシート45及びローカル変数ワークシート43、グローバル変数ワークシート49を生成する。そして、プログラム編集画面26を開き(ステップS13)、上記コードワークシート45を画面26上に表示する(ステップS14)。ユーザは、このコードワークシート45をベースにして、所望のモーションプログラムを作成する。
一方で、選択されたモーションFBに係わるモーションFB管理情報31のモーション画面ファイル名66に基づいて、選択されたモーションFBに対応するモーション画面を、上記画面データ27として自動登録する(ステップS15)。
以上説明したように、本手法の支援装置(プログラミング装置17)によれば、PLCでモーションシステムを開発する場合、ユーザが全て一からモーションプログラムやモーション画面を作成する必要が無くなり、開発コストの削減、開発期間の短縮が可能となる。
尚、上記モーションFB等のファンクションブロックは、予め作成済みのプログラム部品の一例であり、この例に限らない。また、上記モーションプログラムは、PLC(プログラマブルコントローラ)で実行させる制御用プログラムの一例であり上記モーションFB等のプログラム部品は、モーションプログラムの作成に利用されるソフトウェア部品である。
また、上記プログラミング装置17は、不図示の下記の処理機能部を有するものと言うこともできる。
すなわち、上記プログラミング装置17は、例えば不図示のプログラム部品格納部、プログラム部品選択部、端子変数生成部、プログラム生成支援部、プログラム編集部、設定値入力部、画面格納部、管理情報記憶部、画面決定部等を有する。
プログラム部品格納部は、1以上のプログラム部品が格納された記憶部等である。プログラム部品格納部の一例が上記モーションDB24であり、プログラム部品の一例が上記モーションFB24aである。
プログラム部品選択部は、上記プログラム部品の中から任意のプログラム部品を選択させる。プログラム部品選択部の一例が、上記PLCエディタ20の機能の1つである、上記モーションFB選択画面23を表示してユーザに任意のモーションFBを選択させる機能であるが、この例に限らない。
端子変数生成部は、上記選択されたプログラム部品の各端子に対応する変数名を、自動生成する。この生成方法は、一例としては、上記選択されたプログラム部品の各端子について予め登録されている所定の情報に基づいて、上記変数名を生成するものであるが、この例に限らない。上記所定の情報の一例が、上述した端子名71あるいは端子変数77であるが、これらは一例であり、この例に限らない。また、上記実施例の具体例では「端子変数名=“端子名71_局番”あるいは“端子変数77_局番”」としたが、勿論、これは1つの具体例である。
プログラム生成支援部は、上記選択されたプログラム部品と上記生成した変数名を用いて、モーションプログラムのベースを生成する。プログラム生成支援部の一例が、上記PLCエディタ20の機能の1つである、上述したローカル変数ワークシート43、コードワークシート45、グローバル変数ワークシート49を自動生成する機能であるが、この例に限らない。
プログラム編集部は、上記モーションプログラムのベースに基づいて、任意のモーションプログラムを作成させる機能部である。プログラム編集部の一例が、上記PLCエディタ20の機能の1つである、上述したプログラム編集画面26上でユーザに上記ベースに基づいて所望のモーションプログラム21bを作成させる機能である。
上記モーションプログラムのベースは、上記選択されたプログラム部品が配置されると共に該プログラム部品の各端子に対して前記生成された変数名が設定されたワークシートであり、その一例が上述したコードワークシート45である。
また、上記プログラム部品は、例えばモーション用ファンクションブロック(上記モーションFB)等である。
設定値入力部は、上記各端子の変数名に対する任意の設定値を入力させる機能部である。設定値入力部の一例が、上記PLCエディタ20の機能の1つである、上述したモーションFBパラメータ設定画面25上でユーザに任意の設定値を入力させる機能である。
上記プログラム生成支援部は、更にこの設定値も用いて上記モーションプログラムのベースを生成する。このモーションプログラムのベースは、上記各端子に対応する変数名と該各変数名に対する上記設定値が設定された変数ワークシートであり、その一例が上述したローカル変数ワークシート43やグローバル変数ワークシート49である。
画面格納部は、各プログラム部品に対応する画面データが格納された記憶部であり、その一例が上記モーションDB24である。
管理情報記憶部は、各プログラム部品に対応する画面データを示す管理情報が記憶された記憶部である。この管理情報の一例が上記モーションFB管理情報31である。
画面決定部は、上記選択されたプログラム部品に対応する画面データを上記管理情報に基づいて上記画面格納部から取得して、該取得した画面データを上記生成されたモーションプログラムに対応する画面とする機能部である。画面決定部の一例が、上記PLCエディタ20の機能の1つである、上述したモーション画面ファイル名66に基づいて、該当するモーション画面24bをモーションDB24から取得して上記画面データ27とする機能である。
10 表示器
11 プログラマブルコントローラ(PLC)
12 サーボアンプ
13 サーボモータ
14 I/Oバス
15 動力線
16 信号線
17 プログラミング装置
20 PLCエディタ
21 プロジェクトデータ21
21a 構成定義データ
21b モーションプログラム
22 構成定義画面
23 モーションFB選択画面、
24 モーションDB
24a モーションFB
24b モーション画面
25 モーションFBパラメータ設定画面
26 プログラム編集画面
30 モーションDBフォルダ・ファイル構成
31 モーションFB管理情報
42 機能単位プログラム
43 ローカル変数ワークシート
44 端子変数定義
45 コードワークシート
46 モーションFB
47 端子変数
48 プログラムインスタンス
49 グローバル変数ワークシート
51 端子変数
52 設定値
53 表示端子名
54 端子名
55 表示端子名
56 端子変数
57 設定値
61 FB名
62 ライブラリ名
63 ステップ数
64 機能
65 FB容量
71 端子名
72 表示端子名
73 データ型
74 下限値
75 上限値
76 説明
81 機能
82 FB名
83 ライブラリ名
84 ステップ数
85 FB容量
91 端子名
92 単位
93 データ範囲
94 データ型
95 設定値
96 説明

Claims (6)

  1. 1以上のプログラム部品が格納されたプログラム部品格納手段と、
    前記プログラム部品の中から任意のプログラム部品をユーザに選択させるプログラム部品選択手段と、
    前記選択されたプログラム部品の各端子に対応する変数名を生成する端子変数生成手段と、
    前記選択されたプログラム部品と前記生成した変数名を用いて、モーションプログラムのベースを生成するプログラム生成支援手段と、
    プログラム編集画面上で、前記モーションプログラムのベースに基づいて、任意のモーションプログラムをユーザに作成させるプログラム編集手段と、
    を有し、
    前記モーションプログラムのベースは、前記選択されたプログラム部品が配置されると共に該プログラム部品の各端子に対して前記生成された変数名が設定されたワークシートを含む、ことを特徴とするプログラミング装置。
  2. 前記端子変数生成手段は、前記選択されたプログラム部品の各端子について予め登録されている所定の情報に基づいて、前記変数名を生成することを特徴とする請求項1記載のプログラミング装置。
  3. 前記プログラム部品は、モーション用ファンクションブロックであることを特徴とする請求項1または2に記載のプログラミング装置。
  4. 前記各端子の変数名に対する任意の設定値を入力させる設定値入力手段を更に有し、
    前記プログラム生成支援手段は更に該設定値も用いて前記モーションプログラムのベースを生成することを特徴とする請求項1〜の何れかに記載のプログラミング装置。
  5. 前記モーションプログラムのベースは、前記各端子に対応する変数名と該各変数名に対する前記設定値が設定された変数ワークシートを更に含むことを特徴とする請求項記載のプログラミング装置。
  6. 前記各プログラム部品に対応する画面データが格納された画面格納手段と、
    前記各プログラム部品に対応する画面データを示す管理情報が記憶された管理情報記憶手段と、
    前記選択されたプログラム部品に対応する画面データを前記管理情報に基づいて前記画面格納手段から取得して、該取得した画面データを前記生成されたモーションプログラムに対応する画面とする画面決定手段と、
    更に有することを特徴とする請求項1〜5の何れかに記載のプログラミング装置。
JP2016116036A 2016-06-10 2016-06-10 プログラミング装置 Active JP6794668B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016116036A JP6794668B2 (ja) 2016-06-10 2016-06-10 プログラミング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016116036A JP6794668B2 (ja) 2016-06-10 2016-06-10 プログラミング装置

Publications (2)

Publication Number Publication Date
JP2017220142A JP2017220142A (ja) 2017-12-14
JP6794668B2 true JP6794668B2 (ja) 2020-12-02

Family

ID=60657998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016116036A Active JP6794668B2 (ja) 2016-06-10 2016-06-10 プログラミング装置

Country Status (1)

Country Link
JP (1) JP6794668B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7447574B2 (ja) * 2020-03-12 2024-03-12 オムロン株式会社 サポート装置、サポートプログラムおよびサポート方法
EP4130900A4 (en) 2020-03-27 2023-09-20 Panasonic Intellectual Property Management Co., Ltd. METHOD FOR CREATING PROGRAMS, DEVICE TO ASSIST IN CREATING PROGRAMS AND PROGRAMMABLE CONTROLLER

Also Published As

Publication number Publication date
JP2017220142A (ja) 2017-12-14

Similar Documents

Publication Publication Date Title
JP4462449B2 (ja) 制御システム設定装置
JP5619328B1 (ja) シーケンスプログラム作成支援装置
JP2005327263A (ja) 制御システム設定装置
JP4302146B2 (ja) プログラム作成支援装置
JP6786984B2 (ja) プログラム処理装置およびプログラム
US11914975B2 (en) Customized software application template-based generator
CN109144511B (zh) 数值模拟图形用户界面自动生成方法及系统
US20120151321A1 (en) System for Generating Websites for Products with an Embedded Processor
JP6794668B2 (ja) プログラミング装置
JP5026925B2 (ja) 制御プログラム作成装置および制御プログラム作成方法
WO2020039900A1 (ja) 情報処理装置およびプログラム
JP2008059518A (ja) ポストプロセッサ開発支援システム及びそれを用いたcamシステム
JP2007087127A (ja) データ生成プログラム、該プログラムを記憶した記憶媒体、オープンソースソフトウェア開発環境統合プログラム、該プログラムを記憶した記憶媒体
JP7028361B1 (ja) 更新管理プログラム、情報処理装置、および、更新管理方法
US20190026080A1 (en) Method for dynamically expanding a domain-specific language of a graphical modeling tool
JP5425317B2 (ja) モーションsfcプログラム部品作成装置
JP6337810B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JPH06348766A (ja) ツール組み込み方法及び装置
JP5205988B2 (ja) Plcのグローバル変数定義方式
JP6097231B2 (ja) プログラム生成装置および方法
JP2008165324A (ja) プログラム作成支援装置
CN109765838B (zh) 可编程逻辑控制器组态文件的生成方法及装置
JPH113216A (ja) シナリオに基づくオブジェクト指向分析設計支援方法および支援装置
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP7258246B1 (ja) シミュレーション用プログラム、シミュレーション装置及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200615

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201026

R150 Certificate of patent or registration of utility model

Ref document number: 6794668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250