JPH0962317A - プログラマブル制御装置および方法 - Google Patents
プログラマブル制御装置および方法Info
- Publication number
- JPH0962317A JPH0962317A JP21774095A JP21774095A JPH0962317A JP H0962317 A JPH0962317 A JP H0962317A JP 21774095 A JP21774095 A JP 21774095A JP 21774095 A JP21774095 A JP 21774095A JP H0962317 A JPH0962317 A JP H0962317A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- program
- execution method
- functional element
- priority
- 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.)
- Withdrawn
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【課題】 プログラムの各機能要素に対する実行方法を
プログラム全体の整合性を保ちながら容易に設定変更で
きるようにしたプログラマブル制御装置および方法を提
供する。 【解決手段】プログラムの各機能要素の実行方法を該機
能要素の包含関係に基づいてそれぞれ相対的値で設定
し、該実行方法の変更に際して、該相対的値に対応して
各機能要素の実行方法をそれぞれ決定するように構成
し、また、プログラムの各機能要素の実行方法を所定の
アドレスに記憶し、該機能要素の負荷に対応して所定の
アドレスに記憶した該機能要素の実行方法を動的に変更
する。
プログラム全体の整合性を保ちながら容易に設定変更で
きるようにしたプログラマブル制御装置および方法を提
供する。 【解決手段】プログラムの各機能要素の実行方法を該機
能要素の包含関係に基づいてそれぞれ相対的値で設定
し、該実行方法の変更に際して、該相対的値に対応して
各機能要素の実行方法をそれぞれ決定するように構成
し、また、プログラムの各機能要素の実行方法を所定の
アドレスに記憶し、該機能要素の負荷に対応して所定の
アドレスに記憶した該機能要素の実行方法を動的に変更
する。
Description
【0001】
【発明の属する技術分野】この発明は、プログラマブル
ロジックコントローラ(PLC)システム等におけるプ
ログラムの各機能要素に対して実行方法を容易に設定変
更できるようにしたプログラマブル制御装置および方法
に関し、特に、プログラム全体またはそのプログラムの
構成要素からなる各機能要素の実行の優先度、時間間隔
等の実行方法をプログラム全体の整合性を保ちながら容
易に設定変更することができるように改良したしたプロ
グラマブル制御装置および方法に関する。
ロジックコントローラ(PLC)システム等におけるプ
ログラムの各機能要素に対して実行方法を容易に設定変
更できるようにしたプログラマブル制御装置および方法
に関し、特に、プログラム全体またはそのプログラムの
構成要素からなる各機能要素の実行の優先度、時間間隔
等の実行方法をプログラム全体の整合性を保ちながら容
易に設定変更することができるように改良したしたプロ
グラマブル制御装置および方法に関する。
【0002】
【従来の技術】一般に、プログラマブルロジックコント
ローラ(PLC)システム等においては、そのプログラ
ム全体またはそのプログラムの構成要素(以下、これを
ファンクションブロックという)に対してその実行の優
先度、時間間隔等を実行方法として別々に割り当てる場
合がある。
ローラ(PLC)システム等においては、そのプログラ
ム全体またはそのプログラムの構成要素(以下、これを
ファンクションブロックという)に対してその実行の優
先度、時間間隔等を実行方法として別々に割り当てる場
合がある。
【0003】例えば、プログラムの中にその構成要素と
して非常停止用の処理部分(ファンクションブロック)
が含まれていた場合は、このファンクションブロックの
処理はプログラム全体の処理よりも優先性を有するの
で、このファンクションブロックに対してはプログラム
全体よりも高い優先度が実行方法として与えられる。
して非常停止用の処理部分(ファンクションブロック)
が含まれていた場合は、このファンクションブロックの
処理はプログラム全体の処理よりも優先性を有するの
で、このファンクションブロックに対してはプログラム
全体よりも高い優先度が実行方法として与えられる。
【0004】また、プログラマブルロジックコントロー
ラ(PLC)システム等のプログラムは、一定時間毎の
処理の繰り返しで構成されているが、この一定時間毎の
処理の繰り返し時間間隔は、プログラム全体とその構成
要素(ファンクションブロック)とでそれぞれ異ならせ
る必要がある場合がある。
ラ(PLC)システム等のプログラムは、一定時間毎の
処理の繰り返しで構成されているが、この一定時間毎の
処理の繰り返し時間間隔は、プログラム全体とその構成
要素(ファンクションブロック)とでそれぞれ異ならせ
る必要がある場合がある。
【0005】この場合も上記時間間隔はプログラム全体
とその構成要素(ファンクションブロック)とに対して
それぞれ異なる実行方法として与えられる。
とその構成要素(ファンクションブロック)とに対して
それぞれ異なる実行方法として与えられる。
【0006】ところで、従来のプログラマブルロジック
コントローラ(PLC)システム等においては、上記プ
ログラム全体とその構成要素(ファンクションブロッ
ク)に対して上記優先度および時間間隔等の実行方法は
固定的に与えられていた。
コントローラ(PLC)システム等においては、上記プ
ログラム全体とその構成要素(ファンクションブロッ
ク)に対して上記優先度および時間間隔等の実行方法は
固定的に与えられていた。
【0007】
【発明が解決しようとする課題】しかし、システムの一
部変更、負荷の変動、スケジュールの変更等によって
は、それぞれ所定の機能を有するプログラム全体または
該プログラムの構成要素からなるプログラムの各機能要
素に対する動作方法を変更する必要が生じる場合があ
る。
部変更、負荷の変動、スケジュールの変更等によって
は、それぞれ所定の機能を有するプログラム全体または
該プログラムの構成要素からなるプログラムの各機能要
素に対する動作方法を変更する必要が生じる場合があ
る。
【0008】この各機能要素に対する動作方法の変更に
際しては、 1)動作方法の変更によりプログラム全体の構造に矛盾
が生じないようにする 2)動作方法の変更を適正かつ容易に行うことができる
ようにする 必要がある。
際しては、 1)動作方法の変更によりプログラム全体の構造に矛盾
が生じないようにする 2)動作方法の変更を適正かつ容易に行うことができる
ようにする 必要がある。
【0009】そこで、この発明は、プログラムの各機能
要素に対する実行方法をプログラム全体の整合性を保ち
ながら容易に設定変更できるようにしたプログラマブル
制御装置および方法を提供することを目的とする。
要素に対する実行方法をプログラム全体の整合性を保ち
ながら容易に設定変更できるようにしたプログラマブル
制御装置および方法を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、この発明は、それぞれ所定の機能を有するプログラ
ム全体または該プログラムの構成要素からなる複数の機
能要素に対してそれぞれ実行方法を指定し、該指定され
た実行方法に対応して各機能要素の実行をそれぞれ制御
するプログラマブル制御装置において、上記実行方法を
上記機能要素の包含関係に基づいてそれぞれ相対的値で
設定する設定手段と、上記実行方法の変更に際して、上
記設定手段により設定された上記相対的値に対応して上
記機能要素の実行方法をそれぞれ決定する決定手段と、
を具備することを特徴とする。
め、この発明は、それぞれ所定の機能を有するプログラ
ム全体または該プログラムの構成要素からなる複数の機
能要素に対してそれぞれ実行方法を指定し、該指定され
た実行方法に対応して各機能要素の実行をそれぞれ制御
するプログラマブル制御装置において、上記実行方法を
上記機能要素の包含関係に基づいてそれぞれ相対的値で
設定する設定手段と、上記実行方法の変更に際して、上
記設定手段により設定された上記相対的値に対応して上
記機能要素の実行方法をそれぞれ決定する決定手段と、
を具備することを特徴とする。
【0011】また、この発明は、それぞれ所定の機能を
有するプログラム全体または該プログラムの構成要素か
らなる複数の機能要素に対してそれぞれ実行方法を指定
し、該指定された実行方法に対応して各機能要素の実行
をそれぞれ制御するプログラマブル制御方法において、
上記実行方法を上記機能要素の包含関係に基づいてそれ
ぞれ相対的値で設定し、上記実行方法の変更に際して、
上記相対的値に対応して上記機能要素の実行方法をそれ
ぞれ決定することを特徴とする。
有するプログラム全体または該プログラムの構成要素か
らなる複数の機能要素に対してそれぞれ実行方法を指定
し、該指定された実行方法に対応して各機能要素の実行
をそれぞれ制御するプログラマブル制御方法において、
上記実行方法を上記機能要素の包含関係に基づいてそれ
ぞれ相対的値で設定し、上記実行方法の変更に際して、
上記相対的値に対応して上記機能要素の実行方法をそれ
ぞれ決定することを特徴とする。
【0012】更にまた、この発明は、それぞれ所定の機
能を有するプログラム全体または該プログラムの構成要
素からなる複数の機能要素に対してそれぞれ実行方法を
指定し、該指定された実行方法に対応して各機能要素の
実行をそれぞれ制御するプログラマブル制御装置におい
て、上記機能要素の実行方法を所定のアドレスに記憶す
る記憶手段と、上記記憶手段の所定のアドレスに記憶し
た上記機能要素の実行方法を該機能要素の負荷に対応し
て動的に変更する変更手段と、を具備することを特徴と
する。
能を有するプログラム全体または該プログラムの構成要
素からなる複数の機能要素に対してそれぞれ実行方法を
指定し、該指定された実行方法に対応して各機能要素の
実行をそれぞれ制御するプログラマブル制御装置におい
て、上記機能要素の実行方法を所定のアドレスに記憶す
る記憶手段と、上記記憶手段の所定のアドレスに記憶し
た上記機能要素の実行方法を該機能要素の負荷に対応し
て動的に変更する変更手段と、を具備することを特徴と
する。
【0013】また、この発明は、それぞれ所定の機能を
有するプログラム全体または該プログラムの構成要素か
らなる複数の機能要素に対してそれぞれ実行方法を指定
し、該指定された実行方法に対応して各機能要素の実行
をそれぞれ制御するプログラマブル制御方法において、
上記機能要素の実行方法を記憶手段の所定のアドレスに
記憶し、上記機能要素の負荷に対応して上記記憶手段の
所定のアドレスに記憶した該機能要素の実行方法を動的
に変更することを特徴とする。
有するプログラム全体または該プログラムの構成要素か
らなる複数の機能要素に対してそれぞれ実行方法を指定
し、該指定された実行方法に対応して各機能要素の実行
をそれぞれ制御するプログラマブル制御方法において、
上記機能要素の実行方法を記憶手段の所定のアドレスに
記憶し、上記機能要素の負荷に対応して上記記憶手段の
所定のアドレスに記憶した該機能要素の実行方法を動的
に変更することを特徴とする。
【0014】この発明のプログラマブル制御装置および
方法においては、プログラムの各機能要素の実行方法を
該機能要素の包含関係に基づいてそれぞれ相対的値で設
定し、該実行方法の変更に際して、該相対的値に対応し
て各機能要素の実行方法をそれぞれ決定する。
方法においては、プログラムの各機能要素の実行方法を
該機能要素の包含関係に基づいてそれぞれ相対的値で設
定し、該実行方法の変更に際して、該相対的値に対応し
て各機能要素の実行方法をそれぞれ決定する。
【0015】ここで、上記実行方法の設定は、該実行方
法を設定する機能要素と包含関係にある他の機能要素の
実行方法に対する相対的差の値で設定することができ
る。
法を設定する機能要素と包含関係にある他の機能要素の
実行方法に対する相対的差の値で設定することができ
る。
【0016】また、上記実行方法の設定は、該実行方法
を設定する機能要素と包含関係にある他の機能要素の実
行方法に対する相対的比の値で設定することができる。
を設定する機能要素と包含関係にある他の機能要素の実
行方法に対する相対的比の値で設定することができる。
【0017】また、上記実行方法は、上記機能要素の実
行の優先度から構成することができる。
行の優先度から構成することができる。
【0018】また、上記実行方法は、上記機能要素の実
行の時間間隔から構成することができる。
行の時間間隔から構成することができる。
【0019】また、この発明のプログラマブル制御装置
および方法においては、プログラムの各機能要素の実行
方法を記憶手段の所定のアドレスに記憶し、該機能要素
の負荷に対応して記憶手段の所定のアドレスに記憶した
該機能要素の実行方法を動的に変更する。
および方法においては、プログラムの各機能要素の実行
方法を記憶手段の所定のアドレスに記憶し、該機能要素
の負荷に対応して記憶手段の所定のアドレスに記憶した
該機能要素の実行方法を動的に変更する。
【0020】
【発明の実施の形態】以下、この発明に係わるプログラ
マブル制御装置および方法の実施例を図面に基づいて詳
細に説明する。
マブル制御装置および方法の実施例を図面に基づいて詳
細に説明する。
【0021】図1および図2は、この発明のプログラマ
ブル制御装置および方法を適用して構成したプログラマ
ブルロジックコントローラ(PLC)システムの一実施
例の概略構成およびその動作を示したものである。
ブル制御装置および方法を適用して構成したプログラマ
ブルロジックコントローラ(PLC)システムの一実施
例の概略構成およびその動作を示したものである。
【0022】図1および図2を参照したこの発明のプロ
グラマブル制御装置および方法の一実施例の説明の前
に、図3乃至図9を参照して、この発明に係わるプログ
ラマブル制御装置および方法の基本的概念について説明
する。
グラマブル制御装置および方法の一実施例の説明の前
に、図3乃至図9を参照して、この発明に係わるプログ
ラマブル制御装置および方法の基本的概念について説明
する。
【0023】プログラマブルロジックコントローラ(P
LC)システム等においては、プログラム全体またはこ
のプログラムの構成要素に対してそれぞれ別々の実行方
法を割り当てる場合がある。
LC)システム等においては、プログラム全体またはこ
のプログラムの構成要素に対してそれぞれ別々の実行方
法を割り当てる場合がある。
【0024】ここで、実行方法とは、 1)どの位の時間間隔で処理を行うかを示す時間間隔
(実行タイミング) 2)各処理の実行の優先度を示す優先度(プライオリテ
ィ) によって規定される。
(実行タイミング) 2)各処理の実行の優先度を示す優先度(プライオリテ
ィ) によって規定される。
【0025】ところで、ここでは、このような「実行方
法」を指定するために「タスク」という概念が導入され
る。
法」を指定するために「タスク」という概念が導入され
る。
【0026】ここで、「タスク」とは、定期的に呼び出
すか所定のブール変数の立上がり時に呼び出すかによら
ず、呼び出す能力を有する実行制御要素として定義さ
れ、「タスク」に優先度(プライオリティ)を入力する
と、対応関係を有するプログラム構成要素につきスケー
ジューリング上の優先順位を定めることになり、その優
先順位は零(0)が最上位で、数字が大きくなるにした
がって下位になる。
すか所定のブール変数の立上がり時に呼び出すかによら
ず、呼び出す能力を有する実行制御要素として定義さ
れ、「タスク」に優先度(プライオリティ)を入力する
と、対応関係を有するプログラム構成要素につきスケー
ジューリング上の優先順位を定めることになり、その優
先順位は零(0)が最上位で、数字が大きくなるにした
がって下位になる。
【0027】具体的にいえば、「タスク」は、(実行タ
イミング、プライオリティ)あるいは(トリガ入力、プ
ライオリティ)のいずれかの指定方法を取り、(実行タ
イミング、プライオリティ)は一定時間間隔でのプログ
ラムの起動を示し、また(トリガ入力、プライオリテ
ィ)は特定のブール変数の立上がり時にこれをトリガと
して起動される方法を示す。
イミング、プライオリティ)あるいは(トリガ入力、プ
ライオリティ)のいずれかの指定方法を取り、(実行タ
イミング、プライオリティ)は一定時間間隔でのプログ
ラムの起動を示し、また(トリガ入力、プライオリテ
ィ)は特定のブール変数の立上がり時にこれをトリガと
して起動される方法を示す。
【0028】図3は、「ロボットを制御する」プログラ
ム10に対する「実行方法」として実行タイミングが
「10ms毎」、実行プライオリティが「10」に設定
された場合を示している。
ム10に対する「実行方法」として実行タイミングが
「10ms毎」、実行プライオリティが「10」に設定
された場合を示している。
【0029】ここで、図4に示すように、「ロボットを
制御する」プログラム10がその構成要素11として
「非常停止処理」を包含するとし、「ロボットを制御す
る」プログラム10に対する「実行方法」として実行タ
イミングが「10ms毎」、実行プライオリティが「1
0」に設定され、「非常停止処理」を行う構成要素11
に対する「実行方法」として実行タイミングが「B」、
実行プライオリティが「5」に設定された場合を考え
る。ここで、「非常停止処理」を行う構成要素11に対
して設定された「B」は、非常停止ボタンに対応する変
数である「B」というブール変数の立上がり時にこの
「非常停止処理」が起動されることを示す。
制御する」プログラム10がその構成要素11として
「非常停止処理」を包含するとし、「ロボットを制御す
る」プログラム10に対する「実行方法」として実行タ
イミングが「10ms毎」、実行プライオリティが「1
0」に設定され、「非常停止処理」を行う構成要素11
に対する「実行方法」として実行タイミングが「B」、
実行プライオリティが「5」に設定された場合を考え
る。ここで、「非常停止処理」を行う構成要素11に対
して設定された「B」は、非常停止ボタンに対応する変
数である「B」というブール変数の立上がり時にこの
「非常停止処理」が起動されることを示す。
【0030】図4においては、「ロボットを制御する」
プログラム10の中に「非常停止処理」を行う構成要素
11が含まれており、「ロボットを制御する」プログラ
ム10全体の「実行方法」と「非常停止処理」を行う構
成要素11の「実行方法」と異なる。すなわち、「非常
停止処理」を行う構成要素11が起動されるのは、
「B」というブール変数の立上がり時、すなわち非常停
止ボタンが押されたときであり、この「非常停止処理」
を行う構成要素11の実行プライオリティは「5」と
「ロボットを制御する」プログラム10の実行プライオ
リティ「10」より高い。
プログラム10の中に「非常停止処理」を行う構成要素
11が含まれており、「ロボットを制御する」プログラ
ム10全体の「実行方法」と「非常停止処理」を行う構
成要素11の「実行方法」と異なる。すなわち、「非常
停止処理」を行う構成要素11が起動されるのは、
「B」というブール変数の立上がり時、すなわち非常停
止ボタンが押されたときであり、この「非常停止処理」
を行う構成要素11の実行プライオリティは「5」と
「ロボットを制御する」プログラム10の実行プライオ
リティ「10」より高い。
【0031】したがって、「ロボットを制御する」プロ
グラム10の実行中に非常停止ボタンが押された場合を
考えると、そのときの処理は図5に示すタイムチャート
のようになる。
グラム10の実行中に非常停止ボタンが押された場合を
考えると、そのときの処理は図5に示すタイムチャート
のようになる。
【0032】すなわち、「ロボットを制御する」プログ
ラム10の実行中に非常停止ボタンが押された場合は、
「非常停止処理」を行う構成要素11の実行プライオリ
ティの方が「ロボットを制御する」プログラム10の実
行プライオリティより高いので、非常停止ボタンが押さ
れたことにより「ロボットを制御する」プログラム10
の実行は中断され、「非常停止処理」を行う構成要素1
1が優先的に実行され、「非常停止処理」の意味をなす
正常な動作を行うことになる。
ラム10の実行中に非常停止ボタンが押された場合は、
「非常停止処理」を行う構成要素11の実行プライオリ
ティの方が「ロボットを制御する」プログラム10の実
行プライオリティより高いので、非常停止ボタンが押さ
れたことにより「ロボットを制御する」プログラム10
の実行は中断され、「非常停止処理」を行う構成要素1
1が優先的に実行され、「非常停止処理」の意味をなす
正常な動作を行うことになる。
【0033】ここで、図4に示すような「ロボットを制
御する」プログラム10全体の「実行方法」、すなわち
「ロボットを制御する」プログラム10全体に貼り付け
る「タスク」の設定を変更する場合を考える。
御する」プログラム10全体の「実行方法」、すなわち
「ロボットを制御する」プログラム10全体に貼り付け
る「タスク」の設定を変更する場合を考える。
【0034】図6は、「ロボットを制御する」プログラ
ム10全体の「実行方法」を図4に示した状態から変更
した例を示している。図6においては、「ロボットを制
御する」プログラム10に対する「実行方法」として実
行タイミングが「30ms毎」、実行プライオリティが
「4」に設定されている。
ム10全体の「実行方法」を図4に示した状態から変更
した例を示している。図6においては、「ロボットを制
御する」プログラム10に対する「実行方法」として実
行タイミングが「30ms毎」、実行プライオリティが
「4」に設定されている。
【0035】すなわち、図6においては、「ロボットを
制御する」プログラム10に対する「実行方法」として
の実行プライオリティが、何らかの原因で「非常停止処
理」を行う構成要素11に対する「実行方法」としての
実行プライオリティ「5」よりも高い値「4」に設定さ
れている。
制御する」プログラム10に対する「実行方法」として
の実行プライオリティが、何らかの原因で「非常停止処
理」を行う構成要素11に対する「実行方法」としての
実行プライオリティ「5」よりも高い値「4」に設定さ
れている。
【0036】この場合の処理は図7に示すタイムチャー
トのようになる。すなわち、この場合は、「非常停止処
理」を行う構成要素11の実行プライオリティの方が
「ロボットを制御する」プログラム10の実行プライオ
リティより低いので、非常停止ボタンが押されても、こ
れにより「ロボットを制御する」プログラム10の実行
は中断されず、「非常停止処理」を行う構成要素11
は、「ロボットを制御する」プログラム10の終了の後
に起動されることになる。
トのようになる。すなわち、この場合は、「非常停止処
理」を行う構成要素11の実行プライオリティの方が
「ロボットを制御する」プログラム10の実行プライオ
リティより低いので、非常停止ボタンが押されても、こ
れにより「ロボットを制御する」プログラム10の実行
は中断されず、「非常停止処理」を行う構成要素11
は、「ロボットを制御する」プログラム10の終了の後
に起動されることになる。
【0037】すなわち、「非常停止処理」を行う構成要
素11の実行プライオリティの方が「ロボットを制御す
る」プログラム10の実行プライオリティより低く設定
されてしまうと、非常停止ボタンが押されても直ちに
「非常停止処理」を行う構成要素11に対して起動をか
けることはできず、その結果「非常停止処理」の意味を
なさなくなってしまい、上記「動作方法」の変更により
プログラム全体の構造に矛盾が生じてしまう。
素11の実行プライオリティの方が「ロボットを制御す
る」プログラム10の実行プライオリティより低く設定
されてしまうと、非常停止ボタンが押されても直ちに
「非常停止処理」を行う構成要素11に対して起動をか
けることはできず、その結果「非常停止処理」の意味を
なさなくなってしまい、上記「動作方法」の変更により
プログラム全体の構造に矛盾が生じてしまう。
【0038】そこで、この発明においては、「動作方
法」の設定をその絶対値で行うことを止め、「動作方
法」の設定を包含関係にあるプログラム全体またはその
構成要素に対する相対的値で設定する。このように構成
することにより、「動作方法」の変更を行っても、プロ
グラム全体の整合性を保つことができ、プログラム全体
の構造に矛盾が生じることはない。
法」の設定をその絶対値で行うことを止め、「動作方
法」の設定を包含関係にあるプログラム全体またはその
構成要素に対する相対的値で設定する。このように構成
することにより、「動作方法」の変更を行っても、プロ
グラム全体の整合性を保つことができ、プログラム全体
の構造に矛盾が生じることはない。
【0039】図8は、この発明を採用した「動作方法」
の設定方法を示すものである。図8においては、プログ
ラム環境に対する「実行方法」として実行タイミングが
「10ms毎」、実行プライオリティが「10」に設定
され、「ロボットを制御する」プログラム10に対する
「実行方法」としては、プログラム環境に対する「実行
方法」に対する相対的値、すなわち、実行タイミングと
して「×1.0」、実行プライオリティとして「+0」
が設定され、「非常停止処理」を行う構成要素11に対
する「実行方法」としては、「ロボットを制御する」プ
ログラム10に対する「実行方法」に対する相対的値、
すなわち、実行タイミングとして「B」、実行プライオ
リティとして「−5」が設定されている。
の設定方法を示すものである。図8においては、プログ
ラム環境に対する「実行方法」として実行タイミングが
「10ms毎」、実行プライオリティが「10」に設定
され、「ロボットを制御する」プログラム10に対する
「実行方法」としては、プログラム環境に対する「実行
方法」に対する相対的値、すなわち、実行タイミングと
して「×1.0」、実行プライオリティとして「+0」
が設定され、「非常停止処理」を行う構成要素11に対
する「実行方法」としては、「ロボットを制御する」プ
ログラム10に対する「実行方法」に対する相対的値、
すなわち、実行タイミングとして「B」、実行プライオ
リティとして「−5」が設定されている。
【0040】ここで、「ロボットを制御する」プログラ
ム10に対する「実行方法」の実行タイミング「×1.
0」は、プログラム環境に対する「実行方法」の実行タ
イミング「10ms毎」に「1.0」を掛けた値を示
し、「ロボットを制御する」プログラム10に対する
「実行方法」の実行プライオリティ「+0」は、プログ
ラム環境に対する「実行方法」の実行プライオリティが
「10」に「0」を加算した値を示す。
ム10に対する「実行方法」の実行タイミング「×1.
0」は、プログラム環境に対する「実行方法」の実行タ
イミング「10ms毎」に「1.0」を掛けた値を示
し、「ロボットを制御する」プログラム10に対する
「実行方法」の実行プライオリティ「+0」は、プログ
ラム環境に対する「実行方法」の実行プライオリティが
「10」に「0」を加算した値を示す。
【0041】また、「非常停止処理」を行う構成要素1
1に対する「実行方法」の実行プライオリティ「−5」
は、「ロボットを制御する」プログラム10に対する
「実行方法」の実行プライオリティに「−5」を加算し
た値を示す。
1に対する「実行方法」の実行プライオリティ「−5」
は、「ロボットを制御する」プログラム10に対する
「実行方法」の実行プライオリティに「−5」を加算し
た値を示す。
【0042】したがって、この場合の「ロボットを制御
する」プログラム10に対する「実行方法」の実行タイ
ミングは「10ms毎」×「1.0」=「10ms毎」
になり、「ロボットを制御する」プログラム10に対す
る「実行方法」の実行プライオリティは「10」+
「0」=「10」となり、「非常停止処理」を行う構成
要素11に対する「実行方法」の実行プライオリティは
「10」+「−5」=「5」となる。
する」プログラム10に対する「実行方法」の実行タイ
ミングは「10ms毎」×「1.0」=「10ms毎」
になり、「ロボットを制御する」プログラム10に対す
る「実行方法」の実行プライオリティは「10」+
「0」=「10」となり、「非常停止処理」を行う構成
要素11に対する「実行方法」の実行プライオリティは
「10」+「−5」=「5」となる。
【0043】すなわち、図8の場合の「ロボットを制御
する」プログラム10に対する「実行方法」および「非
常停止処理」を行う構成要素11に対する「実行方法」
は、図4に示した「ロボットを制御する」プログラム1
0に対する「実行方法」および「非常停止処理」を行う
構成要素11に対する「実行方法」と同一になる。
する」プログラム10に対する「実行方法」および「非
常停止処理」を行う構成要素11に対する「実行方法」
は、図4に示した「ロボットを制御する」プログラム1
0に対する「実行方法」および「非常停止処理」を行う
構成要素11に対する「実行方法」と同一になる。
【0044】したがって、この場合の処理は図5に示す
タイムチャートのようになり、正常な動作を行うことに
なる。
タイムチャートのようになり、正常な動作を行うことに
なる。
【0045】次に、図8に示した構成において、図6に
示したように、「ロボットを制御する」プログラム10
に対する「実行方法」の実行タイミングを「30ms
毎」、実行プライオリティを「4」にするために、図9
に示すように、「ロボットを制御する」プログラム10
に対する「実行方法」の実行タイミングを「×3.
0」、実行プライオリティを「−6」に変更した場合を
考える。
示したように、「ロボットを制御する」プログラム10
に対する「実行方法」の実行タイミングを「30ms
毎」、実行プライオリティを「4」にするために、図9
に示すように、「ロボットを制御する」プログラム10
に対する「実行方法」の実行タイミングを「×3.
0」、実行プライオリティを「−6」に変更した場合を
考える。
【0046】この場合、「ロボットを制御する」プログ
ラム10に対する「実行方法」の実行タイミングは「1
0ms毎」×「3.0」=「30ms毎」、実行プライ
オリティは「10」+「−6」=「4」となり、図6に
示したものと同一になるが、「非常停止処理」を行う構
成要素11に対する「実行方法」の実行プライオリティ
は、「ロボットを制御する」プログラム10に対する
「実行方法」の実行プライオリティの変更により「4」
+「−5」=「−1」となり、「ロボットを制御する」
プログラム10の実行プライオリティより高くなる。
ラム10に対する「実行方法」の実行タイミングは「1
0ms毎」×「3.0」=「30ms毎」、実行プライ
オリティは「10」+「−6」=「4」となり、図6に
示したものと同一になるが、「非常停止処理」を行う構
成要素11に対する「実行方法」の実行プライオリティ
は、「ロボットを制御する」プログラム10に対する
「実行方法」の実行プライオリティの変更により「4」
+「−5」=「−1」となり、「ロボットを制御する」
プログラム10の実行プライオリティより高くなる。
【0047】その結果、図9の場合の処理も図5に示す
タイムチャートのようになり、正常な動作を行うことに
なる。
タイムチャートのようになり、正常な動作を行うことに
なる。
【0048】次に、図10乃至図12を参照して、図3
乃至図9で説明したこの発明に係わるプログラマブル制
御装置および方法を一般化した手法を示す。
乃至図9で説明したこの発明に係わるプログラマブル制
御装置および方法を一般化した手法を示す。
【0049】図10においては、プログラム20内にこ
のプログラム20の構成要素であるファンクションブロ
ック21および22が包含されており、更にファンクシ
ョンブロック22内にはこのファンクションブロック2
2の構成要素であるファンクションブロック23が包含
されている。
のプログラム20の構成要素であるファンクションブロ
ック21および22が包含されており、更にファンクシ
ョンブロック22内にはこのファンクションブロック2
2の構成要素であるファンクションブロック23が包含
されている。
【0050】ここで、プログラム20には「実行方法」
の時間間隔として「10ms」、プライオリティとして
「10」が設定され、ファンクションブロック21には
「実行方法」の時間間隔として「5ms」、プライオリ
ティとして「5」が設定されている。
の時間間隔として「10ms」、プライオリティとして
「10」が設定され、ファンクションブロック21には
「実行方法」の時間間隔として「5ms」、プライオリ
ティとして「5」が設定されている。
【0051】なお、図10においては「実行方法」の
「時間間隔」と「プライオリティ」が「/」で区切って
示されている。
「時間間隔」と「プライオリティ」が「/」で区切って
示されている。
【0052】ここで、図11のように、プログラム20
に対するプライオリティを単純に「0」に変更すると、
プログラム全体の構造に矛盾が生じてしまう。
に対するプライオリティを単純に「0」に変更すると、
プログラム全体の構造に矛盾が生じてしまう。
【0053】そこで、この発明においては、「実行方
法」の「時間間隔」と「プライオリティ」を図12に示
すようにその包含関係に基づき相対的値で設定する。
法」の「時間間隔」と「プライオリティ」を図12に示
すようにその包含関係に基づき相対的値で設定する。
【0054】すなわち、図12においては、プログラム
環境に対する「実行方法」として実行タイミング「u
t」が「10ms」、実行プライオリティ「pri」が
「10」に設定され、プログラム20に対する「実行方
法」としては、実行タイミング「vt」として「1.0
×ut」、実行プライオリティ「pri1」として「p
ri+0」が設定され、ファンクションブロック21に
対する「実行方法」としては、実行タイミング「wt」
として「0.5×vt」、実行プライオリティ「pri
2」として「pri1−5」が設定される。
環境に対する「実行方法」として実行タイミング「u
t」が「10ms」、実行プライオリティ「pri」が
「10」に設定され、プログラム20に対する「実行方
法」としては、実行タイミング「vt」として「1.0
×ut」、実行プライオリティ「pri1」として「p
ri+0」が設定され、ファンクションブロック21に
対する「実行方法」としては、実行タイミング「wt」
として「0.5×vt」、実行プライオリティ「pri
2」として「pri1−5」が設定される。
【0055】なお、ファンクションブロック22および
23については「実行方法」が設定されていないが、こ
のファンクションブロック22および23について「実
行方法」を設定する場合も、「vt」、「wt」、「p
ri1」、「pri2」と同様に、その包含関係に基づ
き相対的値で設定する。
23については「実行方法」が設定されていないが、こ
のファンクションブロック22および23について「実
行方法」を設定する場合も、「vt」、「wt」、「p
ri1」、「pri2」と同様に、その包含関係に基づ
き相対的値で設定する。
【0056】このような構成によると、各「実行方法」
は、各構成要素間の相対関係を示す値だけで記述される
ため、プログラム全体の「実行方法」を変更しても、そ
のプログラム全体の構造に矛盾が生じることはない。
は、各構成要素間の相対関係を示す値だけで記述される
ため、プログラム全体の「実行方法」を変更しても、そ
のプログラム全体の構造に矛盾が生じることはない。
【0057】図1に戻り、図1に示すこの発明のプログ
ラマブル制御装置および方法を適用して構成したプログ
ラマブルロジックコントローラ(PLC)システムの一
実施例について説明すると、このプログラマブルロジッ
クコントローラ(PLC)システムは、プログラマブル
ロジックコントローラ(PLC)100とこのプログラ
マブルロジックコントローラ(PLC)100に通信線
300を介して接続されたプログラミングツール200
から構成される。
ラマブル制御装置および方法を適用して構成したプログ
ラマブルロジックコントローラ(PLC)システムの一
実施例について説明すると、このプログラマブルロジッ
クコントローラ(PLC)システムは、プログラマブル
ロジックコントローラ(PLC)100とこのプログラ
マブルロジックコントローラ(PLC)100に通信線
300を介して接続されたプログラミングツール200
から構成される。
【0058】プログラマブルロジックコントローラ(P
LC)100は、プログラムを記憶するプログラム記憶
部110、このプログラム記憶部110に記憶されたプ
ログラムに包含(所持)されるファンクションブロック
を記憶するファンクションブロック記憶部120、プロ
グラム記憶部110に記憶されたプログラムを制御して
このプログラムの「実行方法」を規定するタスク13
0、ファンクションブロック記憶部120に記憶された
ファンクションブロックを制御してこのファンクション
ブロックの「実行方法」を規定するタスク140、シス
テム全体の絶対プライオリティを記憶する絶対プライオ
リティ記憶部150、システム全体の絶対時間間隔を記
憶する絶対時間間隔記憶部160を有している。
LC)100は、プログラムを記憶するプログラム記憶
部110、このプログラム記憶部110に記憶されたプ
ログラムに包含(所持)されるファンクションブロック
を記憶するファンクションブロック記憶部120、プロ
グラム記憶部110に記憶されたプログラムを制御して
このプログラムの「実行方法」を規定するタスク13
0、ファンクションブロック記憶部120に記憶された
ファンクションブロックを制御してこのファンクション
ブロックの「実行方法」を規定するタスク140、シス
テム全体の絶対プライオリティを記憶する絶対プライオ
リティ記憶部150、システム全体の絶対時間間隔を記
憶する絶対時間間隔記憶部160を有している。
【0059】また、タスク130には、プログラム記憶
部110に記憶されたプログラムの相対プライオリティ
を記憶する相対プライオリティ記憶部131、相対時間
間隔を記憶する相対時間間隔記憶部132、絶対プライ
オリティを記憶する絶対プライオリティ記憶部133、
絶対時間間隔を記憶する絶対時間間隔記憶部134が設
けられており、タスク140には、ファンクションブロ
ック記憶部120に記憶されたファンクションブロック
の相対プライオリティを記憶する相対プライオリティ記
憶部141、相対時間間隔を記憶する相対時間間隔記憶
部142、絶対プライオリティを記憶する絶対プライオ
リティ記憶部143、絶対時間間隔を記憶する絶対時間
間隔記憶部144が設けられている。
部110に記憶されたプログラムの相対プライオリティ
を記憶する相対プライオリティ記憶部131、相対時間
間隔を記憶する相対時間間隔記憶部132、絶対プライ
オリティを記憶する絶対プライオリティ記憶部133、
絶対時間間隔を記憶する絶対時間間隔記憶部134が設
けられており、タスク140には、ファンクションブロ
ック記憶部120に記憶されたファンクションブロック
の相対プライオリティを記憶する相対プライオリティ記
憶部141、相対時間間隔を記憶する相対時間間隔記憶
部142、絶対プライオリティを記憶する絶対プライオ
リティ記憶部143、絶対時間間隔を記憶する絶対時間
間隔記憶部144が設けられている。
【0060】すなわち、各タスクに含まれる情報は以下
の4種類である。
の4種類である。
【0061】1)相対プライオリティ そのプログラム構成単位より1つ上位のプログラム構成
単位のプライオリティからみて差の値を示す。
単位のプライオリティからみて差の値を示す。
【0062】2)相対時間間隔 そのプログラム構成単位より1つ上位のプログラム構成
単位の時間間隔からみて比の値を示す。
単位の時間間隔からみて比の値を示す。
【0063】3)絶対プライオリティ 相対プライオリティとそのプログラム構成単位より1つ
上位のプログラム構成単位の絶対プライオリティから算
出される値で、そのプログラム構成単位のプライオリテ
ィの絶対値を示す。
上位のプログラム構成単位の絶対プライオリティから算
出される値で、そのプログラム構成単位のプライオリテ
ィの絶対値を示す。
【0064】4)絶対時間間隔 相対時間間隔とそのプログラム構成単位より1つ上位の
プログラム構成単位の絶対時間間隔から算出される値
で、そのプログラム構成単位の時間間隔の絶対値を示
す。
プログラム構成単位の絶対時間間隔から算出される値
で、そのプログラム構成単位の時間間隔の絶対値を示
す。
【0065】ここで、プログラム記憶部110に記憶さ
れたプログラムを通常に実行しているときは、3)およ
び4)の絶対プライオリティおよび絶対時間間隔を参照
してプログラムを実行する。この場合は、1)および
2)の相対プライオリティおよび相対時間間隔は参照し
ない。
れたプログラムを通常に実行しているときは、3)およ
び4)の絶対プライオリティおよび絶対時間間隔を参照
してプログラムを実行する。この場合は、1)および
2)の相対プライオリティおよび相対時間間隔は参照し
ない。
【0066】また、プログラミングツール200からプ
ログラマブルロジックコントローラ(PLC)100に
対して指定プログラムの「動作方法」の変更を依頼され
ると、プログラマブルロジックコントローラ(PLC)
100は、1)および2)の相対プライオリティおよび
相対時間間隔を参照して3)および4)の絶対プライオ
リティおよび絶対時間間隔を変更する。
ログラマブルロジックコントローラ(PLC)100に
対して指定プログラムの「動作方法」の変更を依頼され
ると、プログラマブルロジックコントローラ(PLC)
100は、1)および2)の相対プライオリティおよび
相対時間間隔を参照して3)および4)の絶対プライオ
リティおよび絶対時間間隔を変更する。
【0067】図2は、プログラミングツール200から
プログラマブルロジックコントローラ(PLC)100
に対して指定プログラムの「動作方法」の変更を依頼さ
れた場合の絶対プライオリティの変更処理をフローチャ
ートで示したものである。
プログラマブルロジックコントローラ(PLC)100
に対して指定プログラムの「動作方法」の変更を依頼さ
れた場合の絶対プライオリティの変更処理をフローチャ
ートで示したものである。
【0068】図2において、プログラミングツール20
0からプログラマブルロジックコントローラ(PLC)
100に対して指定プログラムの「動作方法」の変更の
依頼があると、まず、指定プログラムに対応する「タス
ク」の所有する指定プログラムの相対プライオリティを
変更する(ステップ401)。次に、絶対プライオリテ
ィ記憶部150に記憶されたシステム全体の絶対プライ
オリティに指定プログラムの相対プライオリティを加算
して、この加算値をこの指定プログラムの絶対プライオ
リティとして設定する(ステップ402)。
0からプログラマブルロジックコントローラ(PLC)
100に対して指定プログラムの「動作方法」の変更の
依頼があると、まず、指定プログラムに対応する「タス
ク」の所有する指定プログラムの相対プライオリティを
変更する(ステップ401)。次に、絶対プライオリテ
ィ記憶部150に記憶されたシステム全体の絶対プライ
オリティに指定プログラムの相対プライオリティを加算
して、この加算値をこの指定プログラムの絶対プライオ
リティとして設定する(ステップ402)。
【0069】次に、この指定プログラムが所持するファ
ンクションブロックがあるかを調べる(ステップ40
3)。
ンクションブロックがあるかを調べる(ステップ40
3)。
【0070】ここで、この指定プログラムが所持するフ
ァンクションブロックがある場合は(ステップ403で
YES)、指定プログラムのプライオリティにファンク
ションブロックの相対プライオリティを加算して、この
加算値を所持ファンクションブロックの絶対プライオリ
ティとして設定し(ステップ404)、ステップ403
に戻る。
ァンクションブロックがある場合は(ステップ403で
YES)、指定プログラムのプライオリティにファンク
ションブロックの相対プライオリティを加算して、この
加算値を所持ファンクションブロックの絶対プライオリ
ティとして設定し(ステップ404)、ステップ403
に戻る。
【0071】また、ステップ403において、この指定
プログラムが所持するファンクションブロックがないと
判断された場合は(ステップ403でNO)、このプラ
イオリティの変更処理を終了する。
プログラムが所持するファンクションブロックがないと
判断された場合は(ステップ403でNO)、このプラ
イオリティの変更処理を終了する。
【0072】なお、上記説明においては、ファンクショ
ンブロックがネストしていないことを前提としている
が、ネストしている場合は、この処理を再起的にコール
すればよい。
ンブロックがネストしていないことを前提としている
が、ネストしている場合は、この処理を再起的にコール
すればよい。
【0073】また、図2においては、プライオリティの
変更処理について説明したが、時間間隔の変更処理の場
合は、図2において、「プライオリティ」を「時間間
隔」と読み替え、ステップ402およびステップ404
における加算処理を乗算処理に変更すればよい。
変更処理について説明したが、時間間隔の変更処理の場
合は、図2において、「プライオリティ」を「時間間
隔」と読み替え、ステップ402およびステップ404
における加算処理を乗算処理に変更すればよい。
【0074】図13は、この発明のプログラマブル制御
装置および方法の他の実施例を示したものである。
装置および方法の他の実施例を示したものである。
【0075】この実施例では、1つの「実行方法」(タ
スク)に対して複数のプログラムが設けられている場合
の、このタスクにより規定される「時間間隔」を最適に
調整する手法を示している。
スク)に対して複数のプログラムが設けられている場合
の、このタスクにより規定される「時間間隔」を最適に
調整する手法を示している。
【0076】この実施例においては、1つのタスク60
0により規定される「時間間隔」を複数のプログラム
(同じ実行タイミングの別のプログラム群)700に対
して最適に調整するために、プログラムコーディネータ
500が設けられる。なお、このプログラムコーディネ
ータ500は、ユーザが作成可能なプログラムにより構
成される。
0により規定される「時間間隔」を複数のプログラム
(同じ実行タイミングの別のプログラム群)700に対
して最適に調整するために、プログラムコーディネータ
500が設けられる。なお、このプログラムコーディネ
ータ500は、ユーザが作成可能なプログラムにより構
成される。
【0077】プログラムコーディネータ500は、タス
ク600からの起動により、まず、同じ「実行方法」が
貼り付けれている他のプログラムからの入力データを取
得し(ステップ501)、入力データ記憶部506で既
に記憶されている入力データと比較することにより入力
が変化したかを調べる(ステップ502)。
ク600からの起動により、まず、同じ「実行方法」が
貼り付けれている他のプログラムからの入力データを取
得し(ステップ501)、入力データ記憶部506で既
に記憶されている入力データと比較することにより入力
が変化したかを調べる(ステップ502)。
【0078】ここで、入力が変化していると判断される
と(ステップ502でYES)、設定されている「時間
間隔」が長いとして「時間間隔」をデクリメントして
(ステップ503)ステップ505に進む。ここで、
「時間間隔」のデクリメントはタスク600に通知さ
れ、タスク600の時間間隔記憶部601の記憶内容が
更新される。
と(ステップ502でYES)、設定されている「時間
間隔」が長いとして「時間間隔」をデクリメントして
(ステップ503)ステップ505に進む。ここで、
「時間間隔」のデクリメントはタスク600に通知さ
れ、タスク600の時間間隔記憶部601の記憶内容が
更新される。
【0079】また、ステップ502で、入力が変化して
いないと判断されると(ステップ502でNO)、設定
されている「時間間隔」が短いとして「時間間隔」をイ
ンクリメントして(ステップ504)ステップ505に
進む。ここで、「時間間隔」のインクリメントはタスク
600に通知され、タスク600の時間間隔記憶部60
1の記憶内容が更新される。
いないと判断されると(ステップ502でNO)、設定
されている「時間間隔」が短いとして「時間間隔」をイ
ンクリメントして(ステップ504)ステップ505に
進む。ここで、「時間間隔」のインクリメントはタスク
600に通知され、タスク600の時間間隔記憶部60
1の記憶内容が更新される。
【0080】ステップ505では、ステップ501で取
得した入力データを入力データ記憶部506に記憶して
この処理を終了する。
得した入力データを入力データ記憶部506に記憶して
この処理を終了する。
【0081】すなわち、この実施例では、同じ「実行方
法」が貼り付けれている他のプログラムからの入力デー
タをモニタし、これが前回モニタしたときと変化したら
実行時間間隔を長くし、変化しない場合は実行時間間隔
を短くするように制御するものである。
法」が貼り付けれている他のプログラムからの入力デー
タをモニタし、これが前回モニタしたときと変化したら
実行時間間隔を長くし、変化しない場合は実行時間間隔
を短くするように制御するものである。
【0082】なお、上記実施例では、同じ「実行方法」
が貼り付けれている他のプログラムからの入力データを
モニタし、これが前回モニタしたときと変化したら実行
時間間隔を長くし、変化しない場合は実行時間間隔を短
くするように制御したが、同じ「実行方法」が貼り付け
れている他のプログラムからの入力データをモニタし、
この入力データの変化が緩やかであれば実行時間間隔を
長くし、急激であれば実行時間間隔を短くするように制
御してもよい。
が貼り付けれている他のプログラムからの入力データを
モニタし、これが前回モニタしたときと変化したら実行
時間間隔を長くし、変化しない場合は実行時間間隔を短
くするように制御したが、同じ「実行方法」が貼り付け
れている他のプログラムからの入力データをモニタし、
この入力データの変化が緩やかであれば実行時間間隔を
長くし、急激であれば実行時間間隔を短くするように制
御してもよい。
【0083】また、上記実施例においては、「時間間
隔」の調整について述べたが、「プライオリティ」の調
整にも同様に適用することができる。この場合は、タス
ク600のプライオリティ記憶部602の記憶内容が更
新される。
隔」の調整について述べたが、「プライオリティ」の調
整にも同様に適用することができる。この場合は、タス
ク600のプライオリティ記憶部602の記憶内容が更
新される。
【0084】なお、上記実施例においては、プログラム
が該プログラムに対応する「実行方法」を格納するタス
クのアドレスを知っていることが前提となる。
が該プログラムに対応する「実行方法」を格納するタス
クのアドレスを知っていることが前提となる。
【0085】そこで、この実施例においては、図14に
示すように、タスク600によりプログラム700を起
動する際にタスク600の「実行方法」を記述したアド
レスを渡すように構成される。
示すように、タスク600によりプログラム700を起
動する際にタスク600の「実行方法」を記述したアド
レスを渡すように構成される。
【0086】このような構成によると、プログラムが移
動させられ、どのようなタスクに貼り付いたとしても、
そのアドレスを確実に知ることができる。
動させられ、どのようなタスクに貼り付いたとしても、
そのアドレスを確実に知ることができる。
【0087】
【発明の効果】以上説明したようにこの発明によれば、
プログラムの各機能要素の実行方法を該機能要素の包含
関係に基づいてそれぞれ相対的値で設定し、該実行方法
の変更に際して、該相対的値に対応して各機能要素の実
行方法をそれぞれ決定するようにし、また、プログラム
の各機能要素の実行方法を所定のアドレスに記憶し、該
機能要素の負荷に対応して所定のアドレスに記憶した該
機能要素の実行方法を動的に変更するように構成したの
で、プログラムの各機能要素に対する実行方法をプログ
ラム全体の整合性を保ちながら容易に設定変更すること
が可能になる。
プログラムの各機能要素の実行方法を該機能要素の包含
関係に基づいてそれぞれ相対的値で設定し、該実行方法
の変更に際して、該相対的値に対応して各機能要素の実
行方法をそれぞれ決定するようにし、また、プログラム
の各機能要素の実行方法を所定のアドレスに記憶し、該
機能要素の負荷に対応して所定のアドレスに記憶した該
機能要素の実行方法を動的に変更するように構成したの
で、プログラムの各機能要素に対する実行方法をプログ
ラム全体の整合性を保ちながら容易に設定変更すること
が可能になる。
【図1】この発明のプログラマブル制御装置および方法
を適用して構成したプログラマブルロジックコントロー
ラ(PLC)システムの一実施例を示すブロック図。
を適用して構成したプログラマブルロジックコントロー
ラ(PLC)システムの一実施例を示すブロック図。
【図2】図1に示したプログラマブルロジックコントロ
ーラ(PLC)システムの動作を説明するフローチャー
ト。
ーラ(PLC)システムの動作を説明するフローチャー
ト。
【図3】「ロボットを制御する」プログラムに対する
「実行方法」として実行タイミングが「10ms毎」、
実行プライオリティが「10」に設定された場合を示す
図。
「実行方法」として実行タイミングが「10ms毎」、
実行プライオリティが「10」に設定された場合を示す
図。
【図4】「ロボットを制御する」プログラムがその構成
要素として「非常停止処理」を包含する場合を示す図。
要素として「非常停止処理」を包含する場合を示す図。
【図5】図4の場合で「ロボットを制御する」プログラ
ムの実行中に非常停止ボタンが押された場合の処理を示
すタイムチャート。
ムの実行中に非常停止ボタンが押された場合の処理を示
すタイムチャート。
【図6】「ロボットを制御する」プログラム全体の「実
行方法」を図4に示した状態から変更した例を示す図。
行方法」を図4に示した状態から変更した例を示す図。
【図7】図6の場合で「ロボットを制御する」プログラ
ムの実行中に非常停止ボタンが押された場合の処理を示
すタイムチャート。
ムの実行中に非常停止ボタンが押された場合の処理を示
すタイムチャート。
【図8】この発明を採用した「動作方法」の設定方法を
示す図。
示す図。
【図9】図8に示した構成において、「動作方法」を変
更した場合を示す図。
更した場合を示す図。
【図10】プログラム内にこのプログラムの構成要素で
あるファンクションブロックが包含されており、更にこ
のファンクションブロック内にこのファンクションブロ
ックの構成要素であるファンクションブロックが包含さ
れている場合を示す図。
あるファンクションブロックが包含されており、更にこ
のファンクションブロック内にこのファンクションブロ
ックの構成要素であるファンクションブロックが包含さ
れている場合を示す図。
【図11】図10において、プログラムに対するプライ
オリティを単純に「0」に変更した場合を示す図。
オリティを単純に「0」に変更した場合を示す図。
【図12】「実行方法」の「時間間隔」と「プライオリ
ティ」をその包含関係に基づき相対的値で設定した場合
を示す図。
ティ」をその包含関係に基づき相対的値で設定した場合
を示す図。
【図13】この発明のプログラマブル制御装置および方
法の他の実施例を示したブロック図。
法の他の実施例を示したブロック図。
【図14】図13に示す実施例において、プログラムに
「実行方法」を記述したアドレスを渡す手法を説明する
図。
「実行方法」を記述したアドレスを渡す手法を説明する
図。
100 プログラマブルロジックコントローラ(PL
C) 110 プログラム記憶部 120 ファンクションブロック記憶部 130 タスク 131 相対プライオリティ記憶部 132 相対時間間隔記憶部 133 絶対プライオリティ記憶部 134 絶対時間間隔記憶部 140 タスク 141 相対プライオリティ記憶部 142 相対時間間隔記憶部 143 絶対プライオリティ記憶部 144 絶対時間間隔記憶部 150 絶対プライオリティ記憶部 160 絶対時間間隔記憶部 200 プログラミングツール 300 通信線
C) 110 プログラム記憶部 120 ファンクションブロック記憶部 130 タスク 131 相対プライオリティ記憶部 132 相対時間間隔記憶部 133 絶対プライオリティ記憶部 134 絶対時間間隔記憶部 140 タスク 141 相対プライオリティ記憶部 142 相対時間間隔記憶部 143 絶対プライオリティ記憶部 144 絶対時間間隔記憶部 150 絶対プライオリティ記憶部 160 絶対時間間隔記憶部 200 プログラミングツール 300 通信線
Claims (11)
- 【請求項1】 それぞれ所定の機能を有するプログラム
全体または該プログラムの構成要素からなる複数の機能
要素に対してそれぞれ実行方法を指定し、該指定された
実行方法に対応して各機能要素の実行をそれぞれ制御す
るプログラマブル制御装置において、 上記実行方法を上記機能要素の包含関係に基づいてそれ
ぞれ相対的値で設定する設定手段と、 上記実行方法の変更に際して、上記設定手段により設定
された上記相対的値に対応して上記機能要素の実行方法
をそれぞれ決定する決定手段と、 を具備することを特徴とするプログラマブル制御装置。 - 【請求項2】 上記設定手段は、 上記機能要素の実行方法を該機能要素と包含関係にある
他の機能要素の実行方法に対する相対的差の値で設定す
ることを特徴とする請求項1記載のプログラマブル制御
装置。 - 【請求項3】 上記設定手段は、 上記機能要素の実行方法を該機能要素と包含関係にある
他の機能要素の実行方法に対する相対的比の値で設定す
ることを特徴とする請求項1記載のプログラマブル制御
装置。 - 【請求項4】 上記実行方法は、 上記機能要素の実行の優先度であることを特徴とする請
求項1記載のプログラマブル制御装置。 - 【請求項5】 上記実行方法は、 上記機能要素の実行の時間間隔であることを特徴とする
請求項1記載のプログラマブル制御装置。 - 【請求項6】 それぞれ所定の機能を有するプログラム
全体または該プログラムの構成要素からなる複数の機能
要素に対してそれぞれ実行方法を指定し、該指定された
実行方法に対応して各機能要素の実行をそれぞれ制御す
るプログラマブル制御方法において、 上記実行方法を上記機能要素の包含関係に基づいてそれ
ぞれ相対的値で設定し、 上記実行方法の変更に際して、上記相対的値に対応して
上記機能要素の実行方法をそれぞれ決定することを特徴
とするプログラマブル制御方法。 - 【請求項7】 それぞれ所定の機能を有するプログラム
全体または該プログラムの構成要素からなる複数の機能
要素に対してそれぞれ実行方法を指定し、該指定された
実行方法に対応して各機能要素の実行をそれぞれ制御す
るプログラマブル制御装置において、 上記機能要素の実行方法を所定のアドレスに記憶する記
憶手段と、 上記記憶手段の所定のアドレスに記憶した上記機能要素
の実行方法を該機能要素の負荷に対応して動的に変更す
る変更手段と、 を具備することを特徴とするプログラマブル制御装置。 - 【請求項8】 上記実行方法の変更に際して、上記記憶
手段に記憶した上記実行方向の記憶アドレスを上記機能
要素に渡す手段を更に具備することを特徴とする請求項
7記載のプログラマブル制御装置。 - 【請求項9】 上記実行方法は、 上記機能要素の実行の優先度であることを特徴とする請
求項7記載のプログラマブル制御装置。 - 【請求項10】 上記実行方法は、 上記機能要素の実行の時間間隔であることを特徴とする
請求項7記載のプログラマブル制御装置。 - 【請求項11】 それぞれ所定の機能を有するプログラ
ム全体または該プログラムの構成要素からなる複数の機
能要素に対してそれぞれ実行方法を指定し、該指定され
た実行方法に対応して各機能要素の実行をそれぞれ制御
するプログラマブル制御方法において、 上記機能要素の実行方法を記憶手段の所定のアドレスに
記憶し、 上記機能要素の負荷に対応して上記記憶手段の所定のア
ドレスに記憶した該機能要素の実行方法を動的に変更す
ることを特徴とするプログラマブル制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21774095A JPH0962317A (ja) | 1995-08-25 | 1995-08-25 | プログラマブル制御装置および方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21774095A JPH0962317A (ja) | 1995-08-25 | 1995-08-25 | プログラマブル制御装置および方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0962317A true JPH0962317A (ja) | 1997-03-07 |
Family
ID=16709018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21774095A Withdrawn JPH0962317A (ja) | 1995-08-25 | 1995-08-25 | プログラマブル制御装置および方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0962317A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015136960A1 (ja) * | 2014-03-13 | 2015-09-17 | オムロン株式会社 | コントローラ |
-
1995
- 1995-08-25 JP JP21774095A patent/JPH0962317A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015136960A1 (ja) * | 2014-03-13 | 2015-09-17 | オムロン株式会社 | コントローラ |
| JP2015176191A (ja) * | 2014-03-13 | 2015-10-05 | オムロン株式会社 | コントローラ |
| US10139799B2 (en) | 2014-03-13 | 2018-11-27 | Omron Corporation | Controller to modify an execution condition during program execution |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6148322A (en) | Processing unit with an improved ability to coordinate the execution of multiple tasks with varying priorities | |
| JP6679758B2 (ja) | 制御装置を駆動するための方法及び装置 | |
| US5241676A (en) | Method for controlling process priority in semaphore operation | |
| US8555285B2 (en) | Executing a general-purpose operating system as a task under the control of a real-time operating system | |
| JPH0962317A (ja) | プログラマブル制御装置および方法 | |
| KR20010055463A (ko) | 하드와이어드 태스크 스케쥴러 및 그 태스크 스케쥴러의스케쥴링 방법 | |
| CN117742200A (zh) | 设备运动控制系统、方法及设备 | |
| EP1367469B1 (en) | Controller for machine | |
| JP2002099435A (ja) | マルチタスク制御方法および情報処理装置 | |
| JPH06259115A (ja) | プログラマブルコントローラ | |
| JPH08272627A (ja) | リアルタイムタスク制御装置 | |
| JP2002006944A (ja) | 制御機能付き表示器 | |
| US6898262B1 (en) | Programmable controller | |
| JPH06243077A (ja) | 分散トランザクション処理方式 | |
| JPH01292539A (ja) | タスクのスケジュール装置 | |
| JPH0568726B2 (ja) | ||
| JP4231465B2 (ja) | 組込み制御装置 | |
| JP3350699B2 (ja) | プログラマブルコントローラ | |
| JP3080069B2 (ja) | ジョブスケジュール方法 | |
| JP3085318B2 (ja) | プログラマブル・コントローラにおける制御プログラム実行方式 | |
| JP3169778B2 (ja) | リアルタイムオペレーティングシステム | |
| CN114578763A (zh) | 机器人仿真方法、装置、电子设备及存储介质 | |
| JPH04257915A (ja) | 情報処理装置 | |
| JPH08286933A (ja) | マルチタスクos装置 | |
| JPH0378035A (ja) | タクス実行制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20021105 |