JP2002351509A - プログラミングツール及びプログラミング方法 - Google Patents
プログラミングツール及びプログラミング方法Info
- Publication number
- JP2002351509A JP2002351509A JP2001156629A JP2001156629A JP2002351509A JP 2002351509 A JP2002351509 A JP 2002351509A JP 2001156629 A JP2001156629 A JP 2001156629A JP 2001156629 A JP2001156629 A JP 2001156629A JP 2002351509 A JP2002351509 A JP 2002351509A
- Authority
- JP
- Japan
- Prior art keywords
- program
- execution time
- execution
- column
- task
- 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.)
- Pending
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
トローラ上で実際にプログラムを動作させなくても算出
できることで、ユーザがプログラムをタスクに割付ける
作業負荷を軽減する 【解決手段】 プログラムを構成する各ファンクション
ブロックの実行時間を格納する実行時間格納部と、ファ
ンクションブロックの組み合わせからなるプログラムの
最大実行時間を、実行時間格納部に基づき算出する最大
実行時間算出手段と、この最大実行時間算出手段に基づ
き算出された最大実行時間と、タスクの実行周期とを比
較し、プログラムが決められた周期で実行できるか否か
を判定するプログラム実行判定手段と、を備えた。
Description
ントローラのファンクションブロックダイアグラム(以
下、FBDとする)によるプログラミングツール及びプ
ログラミング方法に関するものである。なお、ファンク
ションブロックダイアグラム、ファンクションブロッ
ク、タスクはプログラマブルコントローラ用の国際標準
プログラミング規格IEC61131−3で規定された
用語である。
ログラムの特徴である階層構造について説明する。FB
Dで作成されたプログラムは、図15のように、階層構
造となっており、最上位階層に位置するプログラム11
は、ファンクションブロック(以下、FBとする)14
aを含む1つ以上のFBから構成されている。FB14
aは、FB14bを含む1つ以上のFBから構成されて
いる。FB14bは、FB14cを含む1つ以上のFB
から構成されている。図15の例では、FB14cが最
下層に位置するFBであり、これ以下の階層は持たな
い。FB14cのようなFBを基本FBと定義する。こ
の基本FBは、最大実行時間が既知のFBで、FBライ
ブラリ12にあらかじめ登録された形で、メーカによっ
て提供される。なお、FB14a或いはFB14bのよ
うに、さらに下の階層を持つFBを応用FBと定義す
る。
プログラムは、最大実行時間が既知の基本FBと応用F
Bから構成されている。なお、プログラミングツールに
よりユーザが新規に作成した応用FBを、FBライブラ
リ12に登録することも可能である。また、各FBに
は、該FBを実行するための条件である実行条件が設定
されている場合がある。実行条件が設定されたFBは、
実行条件に設定された評価式が真となった場合のみFB
の処理を実行する。
実行する必要がある場合、ユーザは、プログラミングツ
ール上で、プログラムをタスクに割り付けて実行する。
タスクとは、プログラムを決められた時間ごとに、定期
的に実行させる能力を有する実行制御要素として定義さ
れたものである。本明細書では、タスクに割付けられる
応用FBをプログラムと呼ぶ。図16は、タスクを説明
したもので、1はタスクの実行周期、2はプログラムA
の実行時間を示す。プログラムAはタスクに割付けられ
ることで、実行周期400msで実行される(タスクが
400ms毎にプログラムAを実行する)が、プログラ
ムAの実行時間2が、タスクの実行周期1以内に収まる
範囲で変動する場合に限って、プログラムAは実行周期
400msで実行される。
ムを割付けることができる。タスクに割付けられた各々
のプログラムは、定められた順序に従って1本ずつ実行
される。複数のプログラムを同一タスクに割り付ける場
合、各々のプログラムの実行タイミングをあらかじめ一
定時間ずらして(位相差をつけて)割付ける技術があ
る。こうすることで、他のプログラムの実行時間に影響
を受けずに、各々のプログラムが常に既定の実行周期で
実行される。図17は、位相を説明したもので、プログ
ラムA、B、C及びDを位相差をつけて、タスクに割付
けて実行する場合の例を示している。図17において、
1はタスクの実行周期(この場合は400ms)、2は
プログラムAの実行時間、3はプログラムの実行タイミ
ングをあらかじめ一定時間ずらしてタスクに割付ける際
のずらし時間を表す位相幅(この場合は100ms)を
示す。この図17では、ユーザはプログラムAを位相#
0、プログラムBを位相#1、プログラムCを位相#
2、プログラムDを位相#3に割付けている。位相差を
つけて、プログラムを実行することで、プログラムAの
実行時間2が、位相幅である100ms以内に常に収ま
る範囲で変動する場合に限って、プログラムAの次に実
行されるプログラムBの実行周期を常に一定の400m
sにすることができる。
行時間は、プログラミングツール上でのプログラム作成
時には分からず、実際にプログラマブルコントローラ上
でプログラムを実行しなければ分からなかった。これ
は、プログラマブルコントローラ上でプログラムが実行
中に、外部からのプログラマブルコントローラへの入力
等によりプログラム中の実行処理が動的に変わり、プロ
グラムの実行時間が変動するためである。したがって、
プログラミングツール上でプログラムをタスクに割付け
る際、プログラムの実行時間が分からないまま、タスク
割付を行なわなければならなかった。このため、実際に
プログラマブルコントローラ上で、プログラムを実行し
た場合に、予想よりも多くの実行時間を要し、結果とし
て、プログラムが定周期で実行できなくなる問題点があ
った。例えば、図16で、プログラムAの実行時間2が
400ms以上の場合、プログラムAは、タスクの実行
周期1(400ms周期)で実行されなくなる。
クに割り付ける際も、プログラムの実行時間が割付時に
分からないまま、位相割付を行なわなければならなかっ
た。このため、実際にプログラマブルコントローラ上
で、プログラムを実行したとき、プログラムの実行時間
が変動した場合に、次の実行プログラムが定周期で実行
できなくなり、プログラムの実行起動タイミングが遅れ
ることがあった。例えば、図17で、プログラムCの実
行時間2aが100ms+αmsとなった場合、プログ
ラムDの実行はプログラムCの実行が終了するまで待た
されるため、プログラムDの実行起動タイミングがαm
s遅れる。このため、プログラムDの実行周期1aが4
00ms+αmsとなり、設定された実行周期400m
sで実行されなくなる。
PID制御(比例Proportional 積分Integral 微分D
erivativeを用いた制御方式)等では、プログラムが定
期的に実行されないと制御の精度が落ち、制御対象に多
大な悪影響を及ぼすため、プログラムを定期的に実行す
ることは非常に重要である。したがって、従来はデバッ
グ時に、実際にプログラマブルコントローラ上でプログ
ラムを実行し、プログラムが既定の実行周期で実行され
ているかどうかを確かめる必要があった。プログラムが
既定の実行周期で実行されていない場合は、プログラム
を変更しプログラムの実行時間をタスクの実行周期以下
にするか、あるいはタスクの実行周期をプログラムの実
行時間以上にするなどの変更が必要であり、修正後、再
度プログラマブルコントローラ上でプログラムを実行し
て、プログラムが既定の実行周期で実行されているかど
うかを確かめなければならず、非常に大きな手間と労力
が必要となる問題点があった。
れたものであって、プログラムの実行時間がプログラマ
ブルコントローラ上で実際にプログラムを動作させなく
ても算出できることで、ユーザがプログラムをタスクに
割付ける作業負荷を軽減することを目的とする。
ングツールは、プログラムを構成する各ファンクション
ブロックの実行時間を格納する実行時間格納部と、ファ
ンクションブロックの組み合わせからなる上記プログラ
ムの最大実行時間を、上記実行時間格納部に基づき算出
する最大実行時間算出手段と、この最大実行時間算出手
段に基づき算出された最大実行時間と、タスクの実行周
期とを比較し、上記プログラムが決められた周期で実行
できるか否かを判定するプログラム実行判定手段と、を
備えたものである。
ョンブロック毎に、該ファンクションブロックが構成の
一部となる親ファンクションブロックの名称、該ファン
クションブロックを構成する子ファンクションブロック
の名称、ファンクションブロックの実行条件を設定する
ものである。
ム内の各ファンクションブロックの実行条件を調べるも
のである。
る判定の結果、タスクの実行周期よりも割付けるプログ
ラムの実行時間の方が大きい場合に、警告メッセージを
出力するものである。
は、プログラムを構成する各ファンクションブロックの
実行時間をあらかじめ格納する工程と、ファンクション
ブロックの組み合わせからなる上記プログラムの最大実
行時間を、上記実行時間の和により算出する工程と、こ
の算出された最大実行時間と、タスクの実行周期とを比
較し、上記プログラムが決められた周期で実行できるか
否かを判定する工程と、判定の結果、実行できる際には
プログラム割付け処理を行う工程と、を備えたものであ
る。
プログラミングツール10の実施構成図である。 図2
は、本発明によるプログラミングツール10の回路ブロ
ック図である。図1及び図2で示すように、本発明のプ
ログラミングツール10は、CRT等の表示装置8、キ
ーボード7a、マウス7b等の入力装置7と、プログラ
マブルコントローラ9との間でデータの授受を行なう情
報伝達部6と、プログラミングツールでデータの処理を
行なうデータ処理部4と、データ処理の演算に用いる記
憶部5を備えている。
FBの情報を格納するプログラム情報格納手段41、プ
ログラムの最大実行時間を算出するプログラム最大実行
時間算出手段42、プログラムが決められた周期で実行
できることを判定するプログラム実行判定手段43を備
えている。
時記憶領域である実行時間用一時記憶51、プログラム
を構成する各FBの情報及び各FBの実行時間が算出済
みかどうかを示すフラグが格納される階層構造データ格
納部52、基本FBあるいは応用FBの実行時間が格納
されるFB実行時間格納部53、プログラムをタスクに
割付けるための一時記憶領域であるタスク割付け用一時
記憶54、プログラムを位相に割付けるための一時記憶
領域である位相割付け用一時記憶55、プログラムが位
相に割付けられている情報が格納される位相割付け情報
格納部56を備えている。なお、記憶部5の詳細につい
ては後述する。
応用FBを作成する場合には、新規作成する応用FBの
名称を決め、FBDエディタ13を起動する。ユーザは
このFBDエディタ13上に、一連の処理を定義するた
めに必要な基本FBあるいは応用FBを、FBライブラ
リ12からマウス7bでドラッグ&ドロップし、各々の
FBをマウス7bで結線することで、一連の処理を定義
する。なお、本明細書では、FBDエディタ上に貼り付
けるFBを“子FB”(図1の12a)と呼び、子FB
により一連の処理が定義されたFBDエディタ上の処理
(応用FB)を“親FB”(図1の12b)として説明
する。また、ユーザがプログラムをタスクに割付ける場
合は、タスク割付けメニュー15を選択する。
つけてプログラムをタスクに割付けるために、位相あり
のタスクを新規に作成した場合は、プログラミングツー
ルは図14に示す位相割付け情報格納部56を作成し、
タスク名称欄561にタスク名称、位相にプログラムが
割付けられているかどうかを表すプログラム割付け状態
欄562に初期値“0”を格納する。この図14の例で
は、タスクAの#0にはプログラムが割付けられてお
り、#1にはプログラムが割付けられていない状態を示
している。なお、図14では説明の簡略化のため位相が
2つの場合の例を示しているが、例えばタスクが4つの
位相(#0〜#4)を持つ場合は、位相割付け情報格納
部56のプログラム割付け状態欄562も#0〜#4ま
での4つの列を持つ。位相割付け情報格納部56のプロ
グラム割付け状態欄562の情報は、該位相にプログラ
ムが割付けられているかどうかを表し、割付けられてい
ない場合は“0”、割付けられている場合は“1”が後
述の図9のプログラム(位相あり)割付け処理ST45
によって格納される。
フローチャートを用いて説明する。ユーザ操作ST1に
おいて、ユーザがプログラミングツールで、FBDエデ
ィタ13上にFBライブラリ部からFBをドラッグ&ド
ロップする等プログラムを新規に作成あるいは修正した
場合は、プログラム情報格納処理ST2において、プロ
グラム情報格納手段41を実行し、プログラムを構成す
るFBの情報が階層構造データ格納部52に格納され
る。なお、階層構造データ格納部52の詳細やFBの情
報の格納方法については後述する。
がプログラミングツールで、タスク割付けメニュー15
を選択して、プログラムをタスクに割付ける選択をした
場合は、ST3を実行する。ST3では、既存プログラ
ムのうちプログラムの実行時間が判明していないプログ
ラム(以下、未解析プログラムと呼ぶ)が存在するかど
うかを、階層構造データ格納部52を参照することで判
断する。なお、未解析プログラムが存在するかどうかを
どのように判断するかは後述する。
判断された場合には、プログラム最大実行時間算出処理
ST4において、プログラム最大実行時間算出手段42
を実行する。プログラム最大実行時間算出手段42は、
階層構造データ格納部52及び各々のFBの実行開始か
ら終了までの処理時間(以下、FB実行時間と呼ぶ)を
格納しているFB実行時間格納部53を参照し、プログ
ラムの最大実行時間を算出したあと、該プログラムの最
大実行時間をFB実行時間格納部53に格納する。な
お、FB実行時間格納部53には、メーカから提供され
る実行時間が既知の基本FBの実行時間はあらかじめ格
納されており、ユーザが作成した応用FBの実行時間も
プログラム最大実行時間算出処理ST4において算出さ
れた後、随時格納される。なお、プログラムの最大実行
時間の算出方法やFB実行時間の格納方法は後述する。
ない場合には、プログラミングツールは、ユーザがプロ
グラムをタスク割付けする際、プログラム実行判定処理
ST5で、各々のプログラムが決められた周期で実行で
きることを判定するプログラム実行判定手段43を実行
する。(判定方法については、後述する。)以上が、全
体動作の概略説明である。
細な説明を行う。ユーザがプログラミングツール上で新
規に応用FBを作成した時あるいは既存の応用FBの処
理にFBを追加(削除)した時には、プログラム情報格
納処理ST2は、図4で示す階層構造データ格納部52
に、以下に示すようにプログラムを構成するすべてのF
Bの情報を格納する。まず、図4に示す階層構造データ
格納部52の説明を行う。親FB欄523には、親FB
の名称が格納され、子FB欄524には、該親FB上に
貼り付けられている子FBの名称が格納される。図4の
1行目を見ると、親FB欄523には“FB1”が格納
され、子FB欄524には“ADD”が格納されてい
る。また2行目を見ると、親FB欄523には“FB
1”が格納され、子FB欄524の“ABS”が格納さ
れている。これら1行目、2行目から親FBである“F
B1”は、子FBである“ADD”及び“ABS”を含
んでおり、“ADD”及び“ABS”の実行時間の合計
が“FB1”の実行時間となる。(この実行時間の算出
については後述する。)図15にあてはめると14bが
“FB1”、14cが“ADD”及び“ABS”とな
る。また、4行目を見ると、親FB欄523に“FB
2”が格納され、子FB欄524に“FB1”が格納さ
れている。これは、FBDで作成されたプログラムの特
徴である階層構造を示したもので、“ADD”及び“A
BS”を含む“FB1”が“FB2”に含まれているこ
とを表す。図15にあてはめると14aが“FB2”、
14bが“FB1”、14cが“ADD”及び“AB
S”となる。
間算出状態フラグ欄521には、親FBの実行時間が算
出済みか否かが格納される。本欄の初期値は“0”であ
り、後述のプログラム最大実行時間算出処理ST4にお
いて親FBの実行時間が算出されると、親FBの実行時
間が算出済みであることを示すフラグ“−1”が格納さ
れる。親FB識別フラグ欄522は、プログラム最大実
行時間算出処理ST4が実行時間算出中の親FBを識別
するためのフラグ欄である。本欄の初期値は“0”であ
り、実行時間算出中の親FBに対して“1”が格納され
る。子FB実行時間欄525には、プログラム最大実行
時間算出処理ST4において、子FB欄524の実行時
間を図5で示すFB実行時間格納部53を参照すること
で、子FBの実行時間が格納される。本欄の初期値は
“0”である。実行条件欄526には、プログラム最大
実行時間算出処理ST4において、子FB欄524が実
行条件を持つ場合に、該子FBの持つ実行条件が格納さ
れる。子FB実行時間加算済みフラグ欄527には、プ
ログラム最大実行時間算出処理ST4において、子FB
の実行時間が親FBの実行時間に加算済みか否かが格納
される。本欄の初期値は“0”であり、該子FBの実行
時間が親FBの実行時間に加算された場合に、“1”が
格納される。
階層構造データ格納部52にFBの情報を格納する処理
について示す。ユーザがプログラミングツール上でFB
Dエディタ13を起動し、新規に応用FBを作成した
時、プログラム情報格納処理ST2は、階層構造データ
格納部52に新規に行を作成し、作成された行の親FB
欄523に作成した応用FBの名称を格納し、さらに親
FB実行時間算出状態フラグ欄521、親FB識別フラ
グ欄522及び子FB実行時間欄525には初期値0を
格納する。ユーザが、FBライブラリ12からFBをF
BDエディタ13上にドラッグ&ドロップした時には、
階層構造データ格納部52の親FB欄523に、該FB
の貼り付け先となるFB名称(親FBの名称)を持つ行
の子FB欄524に、FBライブラリ12からドラッグ
&ドロップしたFBの名称(子FBの名称)を格納し、
さらに子FB実行時間加算済みフラグ欄527に初期値
0を格納する。なお、1つの親FBに対し、複数の子F
Bを貼り付ける場合は、FBを貼り付ける都度、貼り付
け先のFB名称を親FB欄523に持つ行の下に1行追
加する。追加された行に対して、貼り付け先FB名称を
親FB欄523に格納、貼り付けるFBの名称を子FB
欄524に格納し、親FB実行時間算出状態フラグ欄5
21、親FB識別フラグ欄522、子FB実行時間欄5
25および子FB実行時間加算済みフラグ欄527に初
期値0を格納する。
で、既に作成した応用FBから、該応用FBを構成して
いる子FBを削除した場合は、プログラム情報格納処理
ST102は、削除されるFB(子FB)を貼り付けて
いる応用FB(親FB)の名称を親FB欄523に持
ち、かつ削除する子FBの名称を子FB欄524に持つ
行すべてを階層構造データ格納部52から削除する。例
えば、ユーザが応用FB(親FB)“FB2”から、子
FB“SQRT”を削除した場合は、“FB2”を親F
B欄523に持ち、かつ“SQRT”を子FB欄524
に持つ行(図4の例だと3行目)を削除する。
応用FBそのものを削除した場合は、削除された応用F
B(親FB)の名称を親FB欄523に持つ行すべてを
階層構造データ格納部52から削除する。さらに、削除
された応用FB(親FB)の名称を子FB欄524に持
つ行すべてを階層構造データ格納部52から削除する。
例えば、ユーザが応用FB(親FB)“FB1”を削除
した場合は、“FB1”を親FB欄523に持つ行すべ
て(図4の例だと行528の2行)及び“FB1”を子
FB欄524に持つ行すべて(図4の例だと4行目と7
行目)を削除する。
行条件が設定されている場合の処理を示す。実行条件と
は、FBが実行するための条件で、各々のFBは、実行
条件に設定された評価式が真となった時のみFBの処理
を実行する。実行条件は、“左項 比較演算 右項”の
構成とし、比較演算に使用できる演算子は、等しい
(=)、等しくない(<>)、小なり(<)、大なり
(>)、小なりイコール(<=)、大なりイコール(>
=)の6種類とする。プログラム情報格納処理ST2
は、FBの名称を階層構造データ格納部52の子FB欄
524に格納する際に、格納するFBに実行条件が設定
されているかを調べ、実行条件が設定されている場合
は、実行条件を該行の実行条件欄526に格納する。
は、子FBの“ADD”及び“ABS”で構成されてい
る。なお、“ADD”には、実行条件として、“A>
3”が設定されている。行529の親FBのFB2は、
子FBの“SQRT”、“FB1”及び“SUB”で構
成されている。なお、“SQRT”には、実行条件とし
て、“B<C”が設定されており、“SUB”には、
“B>C”が設定されている。行530の親FBのPR
G1は、子FBの“ADD”、“FB1”及び“FB
2”で構成されている。なお、“ADD”には、実行条
件として、“D<100”が設定されており、“FB
2”には、“D<>E”が設定されている。
ラミングツール上で、タスク割付けメニュー15を選択
してタスク割付けを行なう場合に実行されるST3を説
明する。ST3において、階層構造データ格納部52の
親FB実行時間算出状態フラグ欄521に−1以外の数
値が格納されている場合には、該当親FBは未解析プロ
グラムということになり、プログラム最大実行時間算出
処理ST4を実行する。ST3において、未解析プログ
ラムが発見されなかった場合には、既にすべての親FB
の最大実行時間算出処理が終了しているため、プログラ
ム実行判定処理ST5を実行する。
ST4を説明する。プログラム最大実行時間算出処理S
T4は、階層構造データ格納部52の親FB実行時間算
出状態フラグ欄521が−1以外である親FBに対し
て、最大実行時間を算出する処理を行なう。プログラム
最大実行時間算出処理ST4は、FBDで作成されたプ
ログラムの処理に、ループ処理がないという特徴を活か
して、プログラムの実行時間を算出している。すなわ
ち、FBDで作成されたプログラムの実行時間は、プロ
グラムに含まれている全FBの実行時間の合計時間とい
える。例えば、FB1内にFB2、FB3が配置されて
いる場合、FB1の最大実行時間は、FB2の実行時間
+FB3の実行時間である。
図6のフローチャートで示す。ST11で、階層構造デ
ータ格納部52の親FB実行時間算出状態フラグ欄52
1の先頭から0以上で最小の数を検索し、0以上で最小
の数を該欄521に持つFBについては、実行時間が未
算出状態のため、実行時間格納処理ST202を実行す
る。親FB実行時間算出状態フラグ欄521の先頭から
0以上の最小の数を検索し、発見されなかった場合、未
解析プログラムがないため、プログラム最大実行時間算
出処理ST4を終了する。ここで親FB実行時間算出状
態フラグ欄521に格納される値の意味を説明する。本
欄の初期値は前述のとおり“0”であり、親FBの実行
時間が算出された場合、後述のST23の処理において
“−1”が格納される。親FBの実行時間を算出するた
めには、該親FBが持つすべての子FBの実行時間が算
出済みでなければならない。もし子FBが応用FBでま
だ実行時間が算出されていない場合は、該親FBの実行
時間は算出できない。このため、該親FBの実行時間算
出は後回しにして、先に該親FBが持つ子FBの実行時
間を算出する必要があり、該親FBの実行時間の算出を
後回しにする識別フラグとして該親FBの親FB実行時
間算出状態フラグ欄521に“1”を加算する。ST1
1では、親FBの実行時間を算出するために親FB実行
時間算出状態フラグ欄の先頭から“0”以上で最小の数
を検索する。このため親FB実行時間算出状態フラグ欄
521に“1”を持つ該親FBよりもまだ実行時間の算
出がされていない親FB実行時間算出状態フラグ欄52
1に“0”を持つ子FBの実行時間の算出を先にするこ
とになる。
おいて、0以上で最小の数が発見された親FB欄523
のFB名称と同一の名称を親FB欄523に持つ全ての
行の親FB識別フラグ欄522に1を格納し、それ以外
の行の親FB識別フラグ欄522には0を格納する。図
4の例では、親FB実行時間算出状態フラグ欄521に
0が格納されているFB2を親FB欄523に含む全て
の行の親FB識別フラグ欄522に1が格納される。ま
た、実行時間格納処理ST12は、階層構造データ格納
部52の親FB識別フラグ欄522に1を持つすべての
行の、子FB欄524に格納されているFBの実行時間
を子FB実行時間欄525に格納する。実行時間は、図
5に示すFB実行時間格納部53からFB名称をキーと
して参照するが、FB名称が発見されなかった場合は、
子FBの実行時間が判明していないことを示すため、子
FB実行時間欄は初期値“0”のままとなる。
52の親FB識別フラグ欄522に1を持つ行の、子F
B実行時間欄525を参照し、1つでも“0”が格納さ
れている場合は、子FBの実行時間が判明していないた
めST14を実行する。ST14では階層構造データ格
納部52の親FB識別フラグ欄522が1である全ての
行の親FB実行時間算出状態フラグ欄521に1を加
え、ST11に戻る。階層構造データ格納部52の親F
B識別フラグ欄522に1が格納されている全ての行の
子FB実行時間欄525が“0”以外の場合(実行時間
が格納されている場合)には、ST15を実行する。
52の親FB識別フラグ欄522に1が格納されてお
り、かつ子FB実行時間加算済みフラグ欄527が0で
ある行(以下、算出対象FBと呼ぶ)の実行条件欄52
6を調べ、実行条件が格納されている場合は、該実行条
件を図7で示す実行時間用一時記憶51の実行条件欄5
11に格納後、実行条件格納処理ST16を実行する。
算出対象FBの実行条件欄526に実行条件が格納され
ていない場合は、該算出対象FBの子FB実行時間加算
済みフラグ欄527に1を格納し、さらに、子FB実行
時間欄525の数値を実行時間用一時記憶51の格納実
行時間欄517に格納後、実行時間加算処理ST208
を実行する。図4の例では、FB2を親とするSQR
T、FB1、SUBは、いずれも算出対象FBであり、
SQRTの実行条件欄526に実行条件が格納されてい
るため、SQRTの実行条件である“B<C”を図7で
示す実行時間用一時記憶51の実行条件欄511に格納
後、ST16に進む。
て述べる。通常、あるFBの実行時間は、該FB内に配
置されている全FBの実行時間の合計となる。例えば、
FB1内にFB2、FB3が配置されている場合、FB
1の最大実行時間は、FB2の実行時間とFB3の実行
時間の合計である。しかし、あるFB内に配置されてい
るFBの実行条件と相反する実行条件を持つFBが同一
FB内に存在するならば、一方のFBが実行するとき、
他方のFBは実行されないことになる。例えば、FB2
の実行条件が“A<B”、FB3の実行条件が“A>=
B”であるならば、FB2とFB3が同時に実行される
ことはなく、常にどちらか一方のFBのみが実行され
る。したがって、FB1の実行時間は、実行条件“A<
B”が成立時にはFB2の実行時間と等しく、実行条件
“A<B”が不成立時(実行条件“A>=B”が成立
時)にはFB3の実行時間と等しいと考えることができ
る。すなわち、FB1の最大実行時間はFB2とFB3
の実行時間のうち、実行時間の大きい方の実行時間に等
しい。
項はそのままで、比較演算“=”を“<>”、“<>”
を“=”、“>”を“<=”、“<”を“>=”、“>
=”を“<”、“<=”を“>”に置き換えたものとな
る。また、実行条件と同等条件を、実行条件の左項と右
項を入れ替え、比較演算“<”を“>”、“>”を
“<”、“>=”を“<=”、“<=”を“>=”に置
き換えたものとする。(“=”及び“<>”に関しては
そのまま) 図4の例では、SQRTの実行条件“B<C”と同等の
条件は“C>B”であり、SQRTの実行条件“B<
C”に相反する条件は、“B>=C”であり、相反する
条件と同等の条件は、“C<=B”である。本明細書で
は、実行条件と同等の条件のことを“同等実行条件”と
呼び、実行条件と相反する実行条件を“否定実行条
件”、否定実行条件と同等の条件のことを“同等否定実
行条件”と呼ぶ。
一時記憶51の実行条件欄511に格納されている実行
条件と同等の条件を同等実行条件欄512に格納し、相
反する実行条件を否定実行条件欄513、否定実行条件
と同等の条件を同等否定実行条件欄514にそれぞれ格
納する。また、実行条件FB実行時間合計欄515及び
否定実行条件FB実行時間合計欄516には初期値0を
格納する。
の算出対象FBの全ての行のうち、実行条件欄526
に、実行時間用一時記憶51の否定実行条件欄513に
格納されている条件と等しい条件を持つものがあれば、
ST19を実行し、等しい条件を持つものがなければ、
否定実行条件クリア処理ST18を実行する。
時間用一時記憶51の否定実行条件欄513に、否定実
行条件を持つ算出対象FBは存在しないという意味の
“0”を格納し、ST19を実行する。
の算出対象FBの全ての行のうち、実行条件欄526
に、実行時間用一時記憶51の同等否定実行条件欄51
4に格納されている条件と等しい条件を持つものがあれ
ば、実行時間選択処理ST21を実行し、等しい条件を
持つものがなければ、同等否定実行条件クリア処理ST
20を実行する。
実行時間用一時記憶51の同等否定実行条件欄514
に、同等否定実行条件を持つ算出対象FBは存在しない
という意味の“0”を格納し、ST21を実行する。
を図8によるフローチャートで説明する。実行条件FB
加算処理ST31は、階層構造データ格納部52の算出
対象FBのうち、実行条件欄526の条件が、実行時間
用一時記憶51の実行条件欄511に格納されている条
件に等しい行全ての子FB実行時間欄525の数値を、
実行時間用一時記憶51の実行条件FB実行時間合計欄
515に加算する処理を行なう。
階層構造データ格納部52の算出対象FBのうち、実行
条件欄526の条件が、実行時間用一時記憶51の同等
実行条件欄512に格納されている条件に等しい行全て
の子FB実行時間欄525の数値を、実行時間用一時記
憶51の実行条件FB実行時間合計欄515に加算する
処理を行なう。
定実行条件欄513を調べ、0が格納されている(実行
条件が設定されていない)場合は、ST34を実行し、
0が格納されていない(実行条件が設定されている)場
合は、否定実行条件FB加算処理ST33を実行する。
層構造データ格納部52の算出対象FBのうち、実行条
件欄526の条件が、実行時間用一時記憶51の否定実
行条件欄513に格納されている条件に等しい行全ての
子FB実行時間欄525の数値を、実行時間用一時記憶
51の否定実行条件FB実行時間合計欄516に加算す
る処理を行なう。
等否定実行条件欄514を調べ、0が格納されている
(実行条件が設定されていない)場合は、ST36を実
行し、0が格納されていない(実行条件が設定されてい
る)場合は、同等否定実行条件FB加算処理ST35を
実行する。
は、階層構造データ格納部52の算出対象FBのうち、
実行条件欄526の条件が、実行時間用一時記憶51の
同等否定実行条件欄514に格納されている条件に等し
い行全ての子FB実行時間欄525の数値を、実行時間
用一時記憶51の否定実行条件FB実行時間合計欄51
6に加算する処理を行なう。
間用一時記憶51の実行条件FB実行時間合計欄515
の数値と否定実行条件FB実行時間合計欄516の数値
の大小を比較し、大きいほうの数値を実行時間用一時記
憶51の格納実行時間欄517に格納する。また、実行
時間用一時記憶51の実行条件欄511に格納されてい
る条件を、階層構造データ格納部52の算出対象FBの
実行条件欄526に持つ行全ての子FB実行時間加算済
みフラグ欄527に1を格納する。また、実行時間用一
時記憶51の同等実行条件欄512に格納されている条
件を、階層構造データ格納部52の算出対象FBの実行
条件欄526に持つ行全ての子FB実行時間加算済みフ
ラグ欄527に1を格納する。
行時間用一時記憶51の否定実行条件欄513に格納さ
れている条件を、階層構造データ格納部52の算出対象
FBの実行条件欄526に持つ行全ての子FB実行時間
加算済みフラグ欄527に1を格納する。また、実行時
間用一時記憶51の同等否定実行条件欄514に格納さ
れている条件を、階層構造データ格納部52の算出対象
FBの実行条件欄526にもつ行全ての子FB実行時間
加算済みフラグ欄527に1を格納し、実行時間選択処
理ST21を終了する。
ータ格納部52の親FB識別フラグ欄522が1(以
下、実行時間算出中親FBと呼ぶ。)の親FB欄523
に格納されている名称を、FB実行時間格納部53のF
B名称欄531に持つ行の実行時間欄532に対して、
実行時間用一時記憶51の格納実行時間欄517の数値
を加算する。階層構造データ格納部52の実行時間算出
中親FBの親FB欄523に格納されているFB名称
を、FB実行時間格納部53のFB名称欄531に持た
ない場合は、FB実行時間格納部53の最下行の下に、
1行追加し、FB名称欄531に該FB名称を、実行時
間欄532に、実行時間用一時記憶51の格納実行時間
欄517の数値を格納する。
52の実行時間算出中親FBの子FB実行時間加算済み
フラグ欄527に1つでも0が格納されている場合は、
ST15に戻る。一方、階層構造データ格納部52の実
行時間算出中親FBの全ての行の子FB実行時間加算済
みフラグ欄527に0が格納されていない場合は、実行
時間算出中親FBの実行時間が判明したことになるた
め、実行時間算出中親FBの親FB実行時間算出状態フ
ラグ欄521に−1を格納後、ST11に戻る。以上
で、プログラム最大実行時間算出処理ST4の説明を終
わる。
説明を図9のフローチャートで示す。ST41で、プロ
グラミングツール上で、ユーザがプログラムを位相差を
つけずにタスクに割付ける選択をした場合、プログラム
(位相なし)割付け処理ST42を実行し、ユーザがプロ
グラムを位相差をつけてタスクに割付ける選択をした場
合、プログラム(位相あり)割付け処理ST45を実行
する。
は、ユーザがプログラミングツールにおいて、プログラ
ムの割付け先となるタスク(以下、割付け先タスクと呼
ぶ)を選択した際、該タスクの実行周期を図10で示す
タスク割付け用一時記憶54のタスク実行周期欄541
に格納する。また、プログラム(位相なし)割付け処理S
T42は、ユーザがプログラミングツールにおいて、タ
スクに割付けるプログラム(以下、割付けプログラムと
呼ぶ)を選択した際、選択したプログラムの実行時間を
FB実行時間格納部53よりFB名称をキーとして参照
し、タスク割付け用一時記憶54のプログラム最大実行
時間欄542に格納する。
憶54のタスク実行周期欄541の数値とプログラム最
大実行時間欄542の数値を比較し、タスク実行周期欄
541の数値のほうが大きい場合には、タスク割付け処
理ST44を実行し、プログラム最大実行時間欄542
の数値のほうが大きい場合には、プログラミングツール
上に、ユーザに対して、このまま割付けプログラムを割
付け先タスクに割付けても、タスクの実行周期でプログ
ラムが実行できないためプログラムのタスク割付けをキ
ャンセルする旨の警告メッセージを表示し、プログラム
のタスク割付けをキャンセルする。
ログラミングツール上で、割付けプログラムを割付け先
タスクに割付ける選択をした場合は、タスクにプログラ
ムを割付ける処理を行なう。ユーザがタスクへのプログ
ラム割付けをキャンセルした場合は、タスクへのプログ
ラム割付けをキャンセルし、プログラム実行判定処理S
T5を終了する。
理ST45を図11に示すフローチャートで説明する。
その前に図12でタスクの実行周期と位相について説明
する。タスクの実行周期1は、位相幅3のn倍(nは1
以上の整数)となる。図12に示す例では、タスク実行
周期1(200ms)は、位相幅3(100ms)の2
倍となっている。この場合、位相の数は2でそれぞれ#
0、#1とする。なお、以下の説明では、プログラムの
最大実行時間を記号“P”ms、位相幅を“S”msで
示す。
ーザがプログラミングツールにおいて、割付け先タスク
を選択した際、該タスクの実行周期を図13で示す位相
割付け用一時記憶55のタスク実行周期欄551に格納
し、該タスクの位相幅を位相幅S欄552に格納する。
また、割付け判定前処理ST51は、ユーザがプログラ
ミングツールで割付けプログラムを選択した際、選択し
たプログラムの実行時間をFB実行時間格納部53より
FB名称をキーとして参照し、位相割付け用一時記憶5
5のプログラム最大実行時間P欄553に格納する。
一時記憶55のタスク実行周期欄551の値とプログラ
ム最大実行時間P欄553の値を比較し、プログラム最
大実行時間P欄553の値の方がタスク実行周期欄55
1の値よりも大きい場合には、割付け先タスクの実行周
期で割付けプログラムが実行できないことを示すフラグ
“−1”を判定タイプ欄554に格納する。また、割付
け判定処理ST52は、位相割付け用一時記憶55を参
照することで、P/Sを計算し、P/S<=1(図12
プログラムAのケース)なら、位相割付け用一時記憶5
5の判定タイプ欄554に1を格納し、1<P/S<=
2(図12のプログラムBのケース)なら2を格納す
る。(2<P/S(図12のプログラムCのケース)の
場合は、プログラム最大実行時間の方がタスク実行周期
よりも大きいために、既に判定タイプ欄は“−1”とな
っている。)
の判定タイプ欄554を参照し、−1が格納されている
場合(プログラム最大実行時間の方がタスク実行周期よ
りも大きい場合)は、プログラミングツール上に、ユー
ザに対して、このまま割付けプログラムを割付け先タス
クに割付けても、タスクの実行周期でプログラムが実行
できないためプログラムのタスク割付けをキャンセルす
る旨の警告メッセージを表示し、プログラムのタスク割
付けをキャンセルする。
憶55の判定タイプ欄554を参照し、1が格納されて
いる場合(P/S<=1)は、他のプログラムが位相に
割付けられていないかどうか(位相割付け情報格納部5
6のプログラム割付け状態欄562に“0”が格納され
ているかどうか)を位相割付け情報格納部56よりタス
ク名をキーとして参照する。プログラム割付け状態欄5
62のうちどれか1つでも“0”が格納されている(プ
ログラム割付け可能な位相が存在する)場合は割付け可
能位相表示処理ST54を実行する。プログラム割付け
状態欄562すべてに“1”が格納されている(プログ
ラム割付け可能な位相は存在しない)場合は、プログラ
ミングツール上に、ユーザに対して、プログラム割付け
可能な位相は存在しないためプログラムのタスク割付け
をキャンセルする旨の警告メッセージを表示し、プログ
ラムのタスク割付けをキャンセルする。
一時記憶55の判定タイプ欄554を参照し、2が格納
されている場合(1<P/S<=2)は、他のプログラ
ムが位相に割付けられていないかどうか(位相割付け情
報格納部56のプログラム割付け状態欄562に“0”
が格納されているかどうか)を位相割付け情報格納部5
6よりタスク名をキーとして参照する。プログラム割付
け状態欄562のうち連続した2つの位相(図14の例
では#0および#1)に“0”が格納されている場合は
割付け可能位相表示処理ST55を実行する。例えば、
図12のプログラムBのように、プログラム最大実行時
間が120msで、位相幅が100msの場合(P/S
が1.2)、プログラムBを位相#0に割付ける(#0
を含む連続した2つの位相(#0,#1)にプログラム
を割付ける)場合のみ該プログラムがタスクの実行周期
1で実行可能であるが、図14の例では位相割付け情報
格納部56の#0に既に他のプログラムが割付けられて
いる(“1”が格納されている)ため、プログラムBは
タスクAには割付けられない。プログラム割付け状態欄
562の連続した2つの位相に“0”が格納されていな
い(プログラム割付け可能な位相は存在しない)場合
は、プログラミングツール上に、ユーザに対して、プロ
グラム割付け可能な位相は存在しないためプログラムの
タスク割付けをキャンセルする旨の警告メッセージを表
示し、プログラムのタスク割付けをキャンセルする。
割付け用一時記憶55の判定タイプ欄554を参照し、
1が格納されている場合は、プログラム割付け状態欄5
62のうち、“0”が格納されている位相番号にプログ
ラムを割付け可能である旨のメッセージを表示する。
(図14の例では、位相#1にプログラムを割付け可能
である旨のメッセージを表示する。)
は、位相割付け用一時記憶55の判定タイプ欄554を
参照し、2が格納されている場合は、プログラム割付け
状態欄562の連続した2つの位相に“0”が格納され
ているうちの若番の方にプログラムを割付け可能である
旨のメッセージを表示する。例えば、プログラム割付け
状態欄562のうち、#0および#1に“0”が格納さ
れている場合は、位相#0にプログラムを割付け可能で
ある旨のメッセージを表示する。
グラミングツール上で、プログラムを位相に割付ける選
択をした場合は、位相にプログラムを割付ける処理を行
なう。また、位相割付け処理ST55は、位相割付け用
一時記憶55の判定タイプ欄554を参照し、1が格納
されている場合は、位相割付け情報格納部56のプログ
ラム割付け状態欄562の割付け先の位相番号に“1”
を格納する。例えば、ユーザがプログラムを位相#1に
割付けた場合は、#1に“1”を格納する。また、位相
割付け処理ST55は、位相割付け用一時記憶55の判
定タイプ欄554を参照し、2が格納されている場合
は、位相割付け情報格納部56のプログラム割付け状態
欄562の割付け先の位相番号および該位相番号に1を
加えた位相番号に“1”を格納する。例えば、ユーザが
プログラムを位相#0に割付けた場合は、#0及び#1
に“1”を格納する。ユーザが位相へのプログラム割付
けをキャンセルした場合は、位相へのプログラム割付け
をキャンセルし、プログラム実行判定処理ST5を終了
する。
ングツールは、光、磁気等の記憶媒体に記憶されたプロ
グラム或いは、ネットワークを介してダウンロードされ
るプログラムとして頒布され、パソコン等のコンピュー
タにインストールされることにより実現しても良い。
たプログラムの最大プログラム実行時間が、プログラミ
ングツール上でユーザがプログラムをタスクに割付ける
時には判明しており、ユーザがタスクに、タスクの実行
周期以上の実行時間を持つプログラムを誤って割付けて
しまうことがなく、デバッグによりプログラムを変更し
プログラムの実行時間をタスクの実行周期以下にする
か、あるいはタスクの実行周期をプログラムの実行時間
以上にするなどの変更、プログラムが既定の実行周期で
実行されているかどうかを確かめる処理が不要であり、
デバッグ作業化効率化でき、ユーザがプログラムをタス
クに割付ける作業負荷を軽減することができる。
る手段において、FBの実行条件を調べることで、実際
の実行時間により近いプログラムの最大実行時間を求め
るため、プログラムをタスクに精度よく割付けることが
できる。
ックで作成されたプログラムの最大プログラム実行時間
が、プログラミングツール上で判明しており、ユーザが
タスクに、タスクの実行周期以上の実行時間を持つプロ
グラムを誤って割付けてしまうことがなくなる。
ロックの実行条件を調べることにより、実際の実行時間
に近い値を算出することができるので、プログラムをタ
スクに精度よく割付けることができる。
テム構成図である。
構成図である。
を示すフローチャートである。
部の階層構造データ格納部に、階層構造のデータが格納
される様子を示す図である。
部のFB実行時間格納部に、FB名称及びFB実行時間
が格納される様子を示す図である。
グラム最大実行時間算出処理の動作を示すフローチャー
トである。
部の実行時間用一時記憶に、実行時間の算出に関するデ
ータが格納される様子を示す図である。
時間選択処理の動作を示すフローチャートである。
グラム実行判定処理の動作を示すフローチャートであ
る。
憶部のタスク割付け用一時記憶に、タスク割付けに関す
るデータが格納される様子を示す図である。
ログラム(位相あり)割付け処理の動作を示すフローチ
ャートである。
憶部の位相割付け用一時記憶に、位相割付けに関するデ
ータが格納される様子を示す図である。
憶部の位相割付け情報格納部に、位相割付けの情報が格
納される様子を示す図である。
位相幅、4 データ処理部、5 記憶部、6 情報伝達
部、7 入力装置、8 表示装置、9 プログラマブル
コントローラ、10 プログラミングツール、11 プ
ログラム、12FBライブラリ、13 FBDエディ
タ、14 ファンクションブロック、15 タスク割付
けメニュー、41 プログラム情報格納手段、42 プ
ログラム最大実行時間算出手段、43 プログラム実行
判定手段、51 実行時間用一時記憶、52 階層構造
データ格納部、53 FB実行時間格納部、54 タス
ク割付け用一時記憶、55 位相割付け用一時記憶、5
6 位相割付け情報格納部。
Claims (5)
- 【請求項1】 プログラムを構成する各ファンクション
ブロックの実行時間を格納する実行時間格納部と、 ファンクションブロックの組み合わせからなる上記プロ
グラムの最大実行時間を、上記実行時間格納部に基づき
算出する最大実行時間算出手段と、 この最大実行時間算出手段に基づき算出された最大実行
時間と、タスクの実行周期とを比較し、上記プログラム
が決められた周期で実行できるか否かを判定するプログ
ラム実行判定手段と、を備えたプログラミングツール。 - 【請求項2】 プログラムを構成する各ファンクション
ブロック毎に、該ファンクションブロックが構成の一部
となる親ファンクションブロックの名称、該ファンクシ
ョンブロックを構成する子ファンクションブロックの名
称、ファンクションブロックの実行条件を設定すること
を特徴とする請求項1に記載のプログラミングツール。 - 【請求項3】 最大実行時間の算出は、プログラム内の
各ファンクションブロックの実行条件を調べることを特
徴とする請求項1または2に記載のプログラミングツー
ル。 - 【請求項4】 プログラム実行判定手段による判定の結
果、タスクの実行周期よりも割付けるプログラムの実行
時間の方が大きい場合に、警告メッセージを出力するこ
とを特徴とする請求項1乃至3何れかに記載のプログラ
ミングツール。 - 【請求項5】 プログラムを構成する各ファンクション
ブロックの実行時間をあらかじめ格納する工程と、 ファンクションブロックの組み合わせからなる上記プロ
グラムの最大実行時間を、上記実行時間の和により算出
する工程と、 この算出された最大実行時間と、タスクの実行周期とを
比較し、上記プログラムが決められた周期で実行できる
か否かを判定する工程と、 判定の結果、実行できる際にはプログラム割付け処理を
行う工程と、を備えたプログラミング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001156629A JP2002351509A (ja) | 2001-05-25 | 2001-05-25 | プログラミングツール及びプログラミング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001156629A JP2002351509A (ja) | 2001-05-25 | 2001-05-25 | プログラミングツール及びプログラミング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002351509A true JP2002351509A (ja) | 2002-12-06 |
Family
ID=19000618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001156629A Pending JP2002351509A (ja) | 2001-05-25 | 2001-05-25 | プログラミングツール及びプログラミング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002351509A (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005222221A (ja) * | 2004-02-04 | 2005-08-18 | Hitachi Ltd | 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス |
JP2007109094A (ja) * | 2005-10-14 | 2007-04-26 | Nippon Steel Corp | 表示制御装置、方法、及びコンピュータプログラム |
JP2007241434A (ja) * | 2006-03-06 | 2007-09-20 | Mitsubishi Electric Corp | シーケンス処理実行装置 |
JP2008146357A (ja) * | 2006-12-11 | 2008-06-26 | Fuji Electric Fa Components & Systems Co Ltd | プログラマブルコントローラ、及びその支援装置 |
JP2009009444A (ja) * | 2007-06-29 | 2009-01-15 | Fuji Electric Systems Co Ltd | プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム |
JP2009069905A (ja) * | 2007-09-10 | 2009-04-02 | Delta Electronics Inc | プログラマーロジックコントローラ(plc)プログラムの編集方法 |
KR101093286B1 (ko) | 2009-01-07 | 2011-12-14 | 가부시키가이샤 야마다케 | 정보 처리 장치, 스케쥴러 및 스케쥴링 방법 |
WO2012023296A1 (ja) * | 2010-08-16 | 2012-02-23 | 三菱電機株式会社 | 制御プログラム生成装置、制御プログラム生成プログラム、及び制御プログラム生成方法 |
JP5025833B1 (ja) * | 2011-09-16 | 2012-09-12 | 三菱電機株式会社 | シーケンスプログラム作成装置 |
CN108733365A (zh) * | 2018-04-13 | 2018-11-02 | 南京南瑞继保电气有限公司 | 一种功能函数的数据区复用处理方法 |
JP2018180716A (ja) * | 2017-04-06 | 2018-11-15 | 株式会社島津製作所 | タスク実行制御装置及び該装置用プログラム |
WO2020100548A1 (ja) * | 2018-11-15 | 2020-05-22 | オムロン株式会社 | 制御システムおよび制御装置 |
JP7512886B2 (ja) | 2020-12-23 | 2024-07-09 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63214804A (ja) * | 1987-03-03 | 1988-09-07 | Fanuc Ltd | Plc用プロセツサ及びplc |
JPH02181801A (ja) * | 1989-01-07 | 1990-07-16 | Mitsubishi Electric Corp | プログラミング装置 |
JPH0322002A (ja) * | 1989-06-19 | 1991-01-30 | Mitsubishi Electric Corp | プログラミング装置 |
JPH08278804A (ja) * | 1995-04-06 | 1996-10-22 | Fanuc Ltd | シーケンス・プログラムの診断方式 |
JPH10240314A (ja) * | 1997-02-27 | 1998-09-11 | Omron Corp | Sfcプログラム編集方法および装置 |
JP2000112737A (ja) * | 1998-10-01 | 2000-04-21 | Seiko Epson Corp | プログラム作成装置 |
-
2001
- 2001-05-25 JP JP2001156629A patent/JP2002351509A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63214804A (ja) * | 1987-03-03 | 1988-09-07 | Fanuc Ltd | Plc用プロセツサ及びplc |
JPH02181801A (ja) * | 1989-01-07 | 1990-07-16 | Mitsubishi Electric Corp | プログラミング装置 |
JPH0322002A (ja) * | 1989-06-19 | 1991-01-30 | Mitsubishi Electric Corp | プログラミング装置 |
JPH08278804A (ja) * | 1995-04-06 | 1996-10-22 | Fanuc Ltd | シーケンス・プログラムの診断方式 |
JPH10240314A (ja) * | 1997-02-27 | 1998-09-11 | Omron Corp | Sfcプログラム編集方法および装置 |
JP2000112737A (ja) * | 1998-10-01 | 2000-04-21 | Seiko Epson Corp | プログラム作成装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005222221A (ja) * | 2004-02-04 | 2005-08-18 | Hitachi Ltd | 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス |
JP2007109094A (ja) * | 2005-10-14 | 2007-04-26 | Nippon Steel Corp | 表示制御装置、方法、及びコンピュータプログラム |
JP2007241434A (ja) * | 2006-03-06 | 2007-09-20 | Mitsubishi Electric Corp | シーケンス処理実行装置 |
JP2008146357A (ja) * | 2006-12-11 | 2008-06-26 | Fuji Electric Fa Components & Systems Co Ltd | プログラマブルコントローラ、及びその支援装置 |
JP2009009444A (ja) * | 2007-06-29 | 2009-01-15 | Fuji Electric Systems Co Ltd | プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム |
JP2009069905A (ja) * | 2007-09-10 | 2009-04-02 | Delta Electronics Inc | プログラマーロジックコントローラ(plc)プログラムの編集方法 |
KR101093286B1 (ko) | 2009-01-07 | 2011-12-14 | 가부시키가이샤 야마다케 | 정보 처리 장치, 스케쥴러 및 스케쥴링 방법 |
US8327366B2 (en) | 2009-01-07 | 2012-12-04 | Azbil Corporation | Data processing device, scheduling device, and scheduling method for program operation cycle allocation |
JP5536892B2 (ja) * | 2010-08-16 | 2014-07-02 | 三菱電機株式会社 | 制御プログラム生成装置、制御プログラム生成プログラム、及び制御プログラム生成方法 |
WO2012023296A1 (ja) * | 2010-08-16 | 2012-02-23 | 三菱電機株式会社 | 制御プログラム生成装置、制御プログラム生成プログラム、及び制御プログラム生成方法 |
US9176490B2 (en) | 2010-08-16 | 2015-11-03 | Mitsubishi Electric Corporation | Control program generation device, control program generation program, and control program generation method |
CN103069386A (zh) * | 2010-08-16 | 2013-04-24 | 三菱电机株式会社 | 控制程序生成装置、控制程序生成程序以及控制程序生成方法 |
WO2013038556A1 (ja) * | 2011-09-16 | 2013-03-21 | 三菱電機株式会社 | シーケンスプログラム作成装置 |
CN103119525A (zh) * | 2011-09-16 | 2013-05-22 | 三菱电机株式会社 | 顺序程序生成装置 |
JP5025833B1 (ja) * | 2011-09-16 | 2012-09-12 | 三菱電機株式会社 | シーケンスプログラム作成装置 |
JP2018180716A (ja) * | 2017-04-06 | 2018-11-15 | 株式会社島津製作所 | タスク実行制御装置及び該装置用プログラム |
CN108733365A (zh) * | 2018-04-13 | 2018-11-02 | 南京南瑞继保电气有限公司 | 一种功能函数的数据区复用处理方法 |
CN108733365B (zh) * | 2018-04-13 | 2021-10-01 | 南京南瑞继保电气有限公司 | 一种功能函数的数据区复用处理方法 |
WO2020100548A1 (ja) * | 2018-11-15 | 2020-05-22 | オムロン株式会社 | 制御システムおよび制御装置 |
JP2020086481A (ja) * | 2018-11-15 | 2020-06-04 | オムロン株式会社 | 制御システムおよび制御装置 |
US11520302B2 (en) | 2018-11-15 | 2022-12-06 | Omron Corporation | Control system and control device |
JP7512886B2 (ja) | 2020-12-23 | 2024-07-09 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002351509A (ja) | プログラミングツール及びプログラミング方法 | |
JP4824718B2 (ja) | コンピュータが実行可能なワークフロー・リソース管理システム | |
US7802237B2 (en) | Method, system and computer program product for generating program | |
US7103847B2 (en) | Method and system for monitoring the use of a resource in a processing system | |
US7805451B2 (en) | Ontology-integration-position specifying apparatus, ontology-integration supporting method, and computer program product | |
US10698670B2 (en) | Parallel program generating method and parallelization compiling apparatus | |
US6792400B2 (en) | Visualization of complex system interactions | |
CN107203595B (zh) | 一种基于自由表单的动态生成web界面的方法 | |
JP6150956B1 (ja) | 負荷分散装置 | |
WO2018150550A1 (ja) | 学習データ管理装置及び学習データ管理方法 | |
JP2018195088A (ja) | ストレージ装置、ストレージ制御装置、およびストレージ制御プログラム | |
JP3690721B2 (ja) | システム性能見積システム及びシステム性能見積方法 | |
JP5177082B2 (ja) | 開発支援装置,プログラム | |
US20040216038A1 (en) | Table building and control methods for web page table editing | |
JP6984087B2 (ja) | サービス開発システム、リソース予測方法及びサービス開発プログラム | |
JP5951025B2 (ja) | 入出力応答制御設定装置 | |
US7975213B2 (en) | Automatic reconfiguration of system sub-models for independent analysis | |
EP4357991A1 (en) | Use resource setting method and use resource setting device | |
JP6212823B2 (ja) | 並列化支援装置、実行装置、制御システム、並列化支援方法及びプログラム | |
JP2008003841A (ja) | ビルド処理方法、ビルド処理装置、及びプログラム | |
US20040205756A1 (en) | Method for automatically obtaining an operational sequence of processes and a corresponding tool therefor | |
JP6974772B2 (ja) | 仕様記述プログラム及び仕様記述方法 | |
US20240231340A9 (en) | Use resource setting method and use resource setting device | |
JPWO2018198745A1 (ja) | 計算資源管理装置、計算資源管理方法、及びプログラム | |
US20230146492A1 (en) | Method for controlling an automation system having visualization of program objects of a control program of the automation system, and automation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040702 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100602 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100609 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100730 |