JP2001125610A - 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール - Google Patents

制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール

Info

Publication number
JP2001125610A
JP2001125610A JP30357899A JP30357899A JP2001125610A JP 2001125610 A JP2001125610 A JP 2001125610A JP 30357899 A JP30357899 A JP 30357899A JP 30357899 A JP30357899 A JP 30357899A JP 2001125610 A JP2001125610 A JP 2001125610A
Authority
JP
Japan
Prior art keywords
task
program
control device
user program
executed
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
Application number
JP30357899A
Other languages
English (en)
Inventor
Katsuhiko Ichimura
勝彦 市村
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP30357899A priority Critical patent/JP2001125610A/ja
Publication of JP2001125610A publication Critical patent/JP2001125610A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 タスクで構成されたユーザプログラムの実行
処理においてオーバヘッド時間を少なくして性能を向上
させる制御装置を提供する。 【解決手段】 MPU11は、INリフレッシュ処理を
行うと、その後、アクセラレータ12に対して起動を駆
ける。アクセラレータ12は、データメモリ14に有す
るワークエリアに設定されたタスク番号“i”に該当す
る指定タスクを実行するか否かを判断する。アクセラレ
ータ12は、タスク番号“i”に該当する指定タスクが
非実行のタスクであると判断した場合には、このタスク
に実行を行わない。一方、アクセラレータ12は、タス
ク番号“i”に該当する指定タスク51が非実行のタス
クであると判断した場合には、ダウンロードメモリ13
から#iのタスク51を読み出し、これを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、MPUに代替して
所定の処理を高速に実行するアクセラレータを備えた制
御装置およびこの制御装置が実行するためのプログラム
を生成するプログラミングツールに関する。
【0002】
【従来の技術】制御装置としてのプログラマブルロジッ
クコントローラ(以下、PLCという)は、ユーザプロ
グラムとしてラダープログラムが使用されてきたが、近
年、IEC1131−3に準拠したユーザプログラムが
使用されるとともに、MPUに代替して所定の処理を高
速に実行するアクセラレータを備えた構成のものが稼働
するようになってきた。
【0003】ユーザプログラム50は、図8に示すよう
に、IEC1131−3で準拠したプログラム言語によ
り記述された#1〜#nのタスク51で構成されてお
り、タスク制御プログラム60の制御に基づき、#1〜
#nのタスク51が実行されるようになっている。
【0004】アクセラレータを備えた従来の制御装置と
してのPLC1は、図9に示すように、MPU11と、
アクセラレータ12と、ダウンロードメモリ13と、デ
ータメモリ14とを備えて構成されている。
【0005】MPU11は、この実施形態のPLC1全
体を制御するようになっている。
【0006】アクセラレータ12は、MPU11と代替
して所定の処理を高速に実行するものであって、ダウン
ロードメモリ13に記憶されているユーザプログラム5
0から読み出されたタスク51を解読するデコーダ12
1と、デコーダ121で解読したタスク51を実行し
て、必要がある場合にはデータメモリ14に対してデー
タを送受信するIEC1131−3実行エンジン122
とを有して構成されている。
【0007】ダウンロードメモリ13は、図10に示す
ように、後述するプログラミングツールからタスク制御
プログラム60,タスク設定データおよびユーザプログ
ラム50のそれぞれがダウンロードされたタスク制御プ
ログラムファイル131,タスク設定ファイル132お
よびユーザプログラム50を有するユーザプログラムフ
ァイル133とを備えている。
【0008】タスク制御プログラムファイル131は、
オブジェクトモジュールからなるタスク制御プログラム
60を有するものであり、タスク設定ファイ132は、
タスク制御プログラム60が実行するタスク51を指定
するタスク設定データを有するものである。
【0009】タスク設定データには、図11に示すよう
に、ユーザプログラム50を構成するタスク51を指定
するタスク番号,各タスクの優先度,各タスク51がい
つ開始するかを規定する開始サイクル,および何サイク
ルごとにタスク51を実行するかを規定する情報を有し
ている。
【0010】因みに、A欄で示したタスク番号が
“1”、優先度が“1”、開始サイクルが“0”、実行
周期が“3”のタスク51は、図12に示すように、実
行開始時期が0サイクルの時点であって、3サイクルご
とに繰り返し実行することを示している。
【0011】B欄で示したタスク番号が“2”、優先度
が“1”、開始サイクルが“0”、実行周期が“5”の
タスク51は、実行開始時期が0サイクルの時点であっ
て、5サイクルごとに繰り返し実行することを示してい
る。
【0012】C欄で示したタスク番号が“3”、優先度
が“2”、開始サイクルが“1”、実行周期が“6”の
タスク51は、実行開始時期が1サイクルの時点であっ
て、6サイクルごとに繰り返し実行することを示してい
る。
【0013】ユーザプログラムファイル133は、#1
〜#nのタスク51で構成されているユーザプログラム
50を有しているものである。
【0014】このPLC1の動作について、図13を参
照して説明する。
【0015】MPU11は、プログラミングツールによ
り生成されたタスク制御プログラムファイルのタスク制
御プログラム60,タスク設定ファイルのタスク設定デ
ータ,およびユーザプログラムファイルのIEC113
1−3で準拠された#1〜#nのタスクフを有するユー
ザプログラム50のそれぞれを、ダウンロードメモリ1
3に有するタスク制御プログラムファイル131、タス
ク設定ファイル132およびユーザプログラムファイル
133にダウンロードする(ステップ310)。
【0016】次に、MPU11は、I/O割り付け等の
初期設定を行い(ステップ315)、PLC1が起動さ
れているか否かを判断する(ステップ320)。
【0017】MPU11は、起動されていないと判断し
た場合には(ステップ320;No)、実行を停止して
(ステップ375)処理を終了し、一方、起動されてい
ると判断した場合には(ステップ330;Yes)、I
Nリフレッシュ処理を行い(ステップ325)、タスク
番号を初期化する(ステップ330)。
【0018】次に、MPU11は、ダウンロードメモリ
13に記憶されているタスク設定ファイル132に有す
るタスク設定データに基づき、該当するタスク51を実
行するか否かを判断し(ステップ335)、その結果、
タスク51を実行しないと判断した場合には(ステップ
335;No)、ステップ360に移行し、後述する以
下のような処理を行う。
【0019】一方、MPU11は、タスク51を実行す
ると判断した場合には(ステップ335;Yes)、実
行するタスク番号をアクセラレータ12に通知する(ス
テップ340)。
【0020】アクセラレータ12は、MPU11からタ
スク番号の通知を受けると起動を開始し(ステップ34
5)、通知されたタスク番号のタスク51をダウンロー
ドメモリ13中に有するユーザプログラムファイル13
3から読み出して実行する(ステップ350)。
【0021】その後、MPU11は、アクセラレータ1
2に対して通知したタスク51の実行が終了したか否か
を、アクセラレータ12からの終了メッセージを受けた
か否かで判断する(ステップ355)。
【0022】MPU11は、アクセラレータ12に対し
て通知したタスク51の実行が未だ終了していないと判
断した場合には(ステップ355;No)、アクセラレ
ータ12からの終了メッセージを受けるまで待機する。
【0023】一方、MPU11は、アクセラレータ12
に対して通知したタスク51の実行が終了したと判断し
た場合には(ステップ355;Yes)、さらに、ユー
ザプログラム50による実行処理が終了したか否かを判
断する(ステップ360)。
【0024】MPU11は、ユーザプログラム50によ
る実行処理が終了していないと判断した場合には(ステ
ップ360;No)、タスク番号をインクリメントし
(タスク番号に1を加算する)(ステップ365)、ス
テップ335に移行して上述した同様な処理を行う。
【0025】一方、MPU11は、ユーザプログラム5
0による実行処理が終了した判断した場合には(ステッ
プ360;Yes)、OUTリフレッシュ処理を行い
(ステップ370)、ステップ320に移行し上述した
と同様な処理を行う。
【0026】次に、上述したPLC1が実行可能なタス
ク制御プログラム60,タスク設定データ,およびユー
ザプログラム50を生成する従来のプログラミングツー
ルについて説明する。
【0027】このプログラミングツール2は、図14に
示すように、表示部21と、入力部22と、標準入出力
I/F23と、タスク制御プログラム生成手段24と、
タスク設定データ生成手段25と、タスク生成手段26
と、メモリ27と、出力I/F28とを備えて構成され
ている。
【0028】表示部21は入力内容および処理内容を表
示するようになっており、入力部22は、ソースプログ
ラムとしてのタスク制御力プログラム,タスク設定デー
タ,およびソースプログラムとしてのユーザプログラム
を入力するようになっている。
【0029】標準入出力I/F23は、表示部21およ
び入力部22と、タスク制御プログラム生成手段24,
タスク設定データ生成手段25およびタスク生成手段2
6との間をインターフェースするようになっている。
【0030】タスク制御プログラム生成手段24は、入
力部22から入力されたソースプログラムとしてのタス
ク制御力プログラムをコンパイルし、オブジェクトモジ
ュールのタスク制御プログラムを生成するようになって
いる。
【0031】そして、タスク制御プログラム生成手段2
4は、生成したタスク制御プログラム60をメモリ27
に有するタスク制御プログラムファイル271に格納す
るようになっている。
【0032】タスク設定データ生成手段25は、入力部
22から入力されたタスク設定データを基にして、制御
装置が実行可能なタスク設定データを生成するようにな
っている。
【0033】そして、タスク設定データ生成手段25
は、生成したタスク設定データをメモリ27に有するタ
スク設定ファイル272に格納するようになっている。
【0034】タスク生成手段26は、入力部22から入
力されたソースプログラムとしてのタスクをコンパイル
し、オブジェクトモジュールのタスク51を生成するよ
うになっている。
【0035】そして、このタスク生成手段26は、生成
したタスク51をメモリ27に有するユーザプログラム
ファイル273に格納するようになっている。
【0036】メモリ27は、上述したように、タスク制
御ファイル271,タスク設定ファイル272,および
ユーザプログラムファイル273を記憶するものであ
る。
【0037】出力I/F28は、メモリ27に記憶され
ているタスク制御プログラムファイル271,タスク設
定ファイル272およびユーザプログラムメモリ273
のそれぞれに記憶されているタスク制御プログラム6
0,タスク設定データおよびユーザプログラム50をP
LC1を構成するダウンロードメモリ13に出力するイ
ンターフェースである。
【0038】このプログラミングツール2の処理動作
を、図15を参照して説明する。
【0039】このプログラミングツール2は、入力部2
2よりソースプログラムからなるタスク制御プログラム
が入力されると(ステップ410)、入力されたソース
プログラムのタスク制御プログラムをコンパイルし(ス
テップ415)、オブジェクトモジュールのソースプロ
グラムのタスク制御プログラム60生成し(ステップ4
20)、これをメモリ27に記憶する(ステップ43
0)。
【0040】次に、プログラミングツール2は、入力部
22よりソースプログラムからなるユーザプログラムが
入力されると(ステップ440)、入力されたソースプ
ログラムのユーザプログラムをコンパイルし(ステップ
445)、オブジェクトモジュールのユーザプログラム
50を生成し(ステップ450)、これをメモリ27に
記憶する(ステップ460)。
【0041】続いて、プログラミングツール2は、入力
部22からタスク設定データが入力されると(ステップ
465)、入力されたタスク設定データを用いてPLC
1が実行可能なタスク設定データを生成し(ステップ4
70)、これをメモリ27に記憶する(ステップ48
0)。
【0042】その後、プログラミングツール2は、メモ
リ27中のタスク制御プログラム60,ユーザプログラ
ム50およびタスク設定データを、PLC1のダウンロ
ードメモリ13にダウンロードし(ステップ490)、
処理を終了する。
【0043】
【発明が解決しようとする課題】アクセラレータを備え
た従来の制御装置としてのPLC1では、上述したよう
に、アクセラレータ12が、MPU11から実行すべき
タスク番号の通知を受けとった後にそのタスク51を実
行し、かつ、その後、そのタスク51の処理を終了する
と、終了した旨をMPU11に通知する必要があるの
で、ユーザプログラム50が多くのタスク51で構成さ
れている場合には、これら通知処理にようするオーバヘ
ッドの累積により性能低下を招くという問題点があっ
た。
【0044】また、IEC1131−3の内容は、タス
ク51の記述の仕方が主であり、タスク51の制御に関
する内容が厳密に規定されていないので、タスク制御プ
ログラム60は、必ずしもIEC1131−3に準拠さ
れたものでなく、それ以外の専用言語、例えばラダープ
ログラム,C言語等の専用言語で記述したフォーマット
ものが使用されている。
【0045】従って、タスク制御プログラムがベンダー
毎に独自のフォーマットで記述されていたのでは、ベン
ダーの変更があった場合、新たにベンダーになった人が
プログラム変更を行うに際して、プログラム変更をスム
ーズに行えないおそれがあるという問題点があった。
【0046】そこで、本発明は上述した問題点に鑑み、
タスクで構成されたユーザプログラムの実行処理におい
てオーバヘッド時間を少なくして性能を向上させる制御
装置を提供することを目的とする。
【0047】また、本発明は、ベンダーの変更があった
場合、新たにベンダーになった人がプログラム変更を行
うに際して、プログラム変更を容易に行うことができる
制御装置が実行するためのプログラムを生成するプログ
ラミングツールを提供することを目的とする。
【0048】
【課題を解決するための手段】上述した目的を達成する
ため、請求項1記載の発明は、MPUに代替して所定の
処理を実行するアクセラレータを備えた制御装置におい
て、IEC1131−3で準拠したプログラム言語によ
り記述されたタスクを備えるユーザプログラムを記憶す
るユーザプログラム記憶手段と、IEC1131−3で
準拠したプログラム言語により記述された前記タスクの
実行条件を記述するシステムタスクを備えるシステムタ
スクプログラムを記憶するシステムタスクプログラム記
憶手段とを具備しており、前記アクセラレータが、前記
システムタスクプログラム記憶手段から読み出されたシ
ステムタスクに基づき、タスクを実行するか否かを判断
するタスク実行判断手段と、このタスク実行判断手段に
よりタスクが実行されると判断された場合には、前記タ
スク記憶手段からタスクを読み出して実行するタスク実
行手段とを有するようにする。
【0049】請求項2記載の発明は、MPUに代替して
所定の処理を実行するアクセラレータを備えた制御装置
において、IEC1131−3で準拠したプログラム言
語により記述されたタスクを備えるユーザプログラムを
記憶するユーザプログラム記憶手段と、ラダープログラ
ム,C言語等の専用言語で記述された前記タスクの実行
条件を記述するシステムタスクを備えるシステムタスク
プログラムを記憶するシステムタスクプログラム記憶手
段とを具備しており、前記アクセラレータが、前記シス
テムタスク記憶手段から読み出されたシステムタスクに
基づき、タスクを実行するか否かを判断するタスク実行
判断手段と、このタスク実行判断手段によりタスクが実
行されると判断された場合には、前記タスク記憶手段か
らタスクを読み出して実行するタスク実行手段とを有す
るようにする。
【0050】請求項3記載の発明は、請求項1または2
記載の発明において、前記タスク実行判断手段が、サイ
クル数カウンタのカウンタ値からタスクの開始サイクル
を減算した値をタスク周期サイクルで除算し、その剰余
が“0”である場合にはタスクを実行し、そうでない場
合には実行しないと判断するようにする。
【0051】請求項4記載の発明は、制御装置が実行す
るプログラムを生成するプログラミングツールにおい
て、IEC1131−3で準拠したプログラム言語によ
り記述されたユーザプログラムをコンパイルしてタスク
を備える前記制御装置が実行可能なユーザプログラムを
生成するユーザプログラム生成手段と、IEC1131
−3で準拠したプログラム言語により記述されたシステ
ムタスクプログラムをコンパイルしてシステムタスクを
備える前記制御装置が実行可能なシステムタスクプログ
ラムを生成するシステムタスクプログラム生成手段とを
具備するようにする。
【0052】請求項5記載の発明は、制御装置が実行す
るプログラムを生成するプログラミングツールにおい
て、IEC1131−3で準拠したプログラム言語によ
り記述されたユーザプログラムをコンパイルしてタスク
を備える前記制御装置が実行可能なユーザプログラムを
生成するユーザプログラム生成手段と、ラダープログラ
ム,C言語等の専用言語で記述されたシステムタスクプ
ログラムをコンパイルしてシステムタスクを備える前記
制御装置が実行可能なシステムタスクプログラムを生成
するシステムタスクプログラム生成手段とを具備するよ
うにする。
【0053】本発明の制御装置では、アクセラレータに
有するタスク実行判断手段により、読み出されたシステ
ムタスクに基づき、タスクを実行するか否かを判断する
ので、従来のように、MPUから実行するタスク番号の
通知を受けるとともに、実行したタスクの終了をMPU
に通知する必要がなくなる。
【0054】本発明のプログラミングツールでは、タス
ク生成手段によりIEC1131−3で準拠したプログ
ラム言語により記述された複数のタスクで構成されたユ
ーザプログラムをプログラムをコンパイルしてユーザプ
ログラムを生成するとともに、システムタスクプログラ
ム生成手段によりシステムタスクプログラムをコンパイ
ルしてシステムタスクプログラムを生成して、上述した
本発明の制御装置が実行するプログラムを形成する。
【0055】
【発明の実施の形態】以下、本発明に係る制御装置,お
よびこの制御装置が実行するユーザプログラムを生成す
るプログラミングツールの実施形態を、図面を参照して
説明する。
【0056】<第1実施形態>図1は本発明に係る第1
実施形態の制御装置としてのプログラマブルロジックコ
ントローラの構成を示すブロック図である。
【0057】なお、この実施形態のPLCにおいて、従
来の制御装置としてのPLCと同一な構成部分は、従来
のPLCの構成部分と同一な参照符号を付ける。
【0058】この実施形態のPLC1は、IEC113
1−3で準拠したプログラム言語で記述された#1〜#
nのタスクを有するユーザプログラム(後述する),お
よびIEC1131−3で準拠したプログラム言語で記
述されたものであって、タスク51の制御内容を記述し
たシステムタスクプログラム(後述する)に基づき、所
定処理を実行するものである。
【0059】このPLC1は、図1に示すように、MP
U11と、アクセラレータ12と、ダウンロードメモリ
13と、データメモリ14とを備えて構成されている。
【0060】MPU11は、この実施形態のPLC1全
体を制御するようになっている。なお、制御の詳細につ
いては、後述するこの実施形態のPLCの動作説明の箇
所を参照する。
【0061】アクセラレータ12は、上述したように、
MPU11と代替して所定の処理を高速に実行するもの
であって、デコーダ121と、IEC1131−1実行
エンジン122とから構成されている。
【0062】デコーダ121は、ダウンロードメモリ1
3のシステムタスクプログラムファイルに記憶されてい
るシステムタスクを解読し、該当するタスク51が実行
すべきものであるか否かを解読するようになっている。
【0063】また、デコーダ121は、システムタスク
を解読した結果、該当するタスクを実行する場合には、
該当するタスクをダウンロードメモリ13のユーザプロ
グラムファイルから読みだし、このタスクを解読し、こ
れらの解読結果をIEC1131−1実行エンジン12
2に出力するようになっている。
【0064】IEC1131−1実行エンジン122
は、#1デコーダから受けた解読結果に基づき、所定の
処理を実行し、例えばI/Oデータをデータメモリ14
に書き込む処理を行うようになっている。
【0065】ダウンロードメモリ13は、図2に示すよ
うに、ユーザプログラムファイル133およびシステム
タスクプログラムファイル134を有している。
【0066】ユーザプログラムファイル133は、#1
〜#nタスク51からなるユーザプログラム50を記憶
している。
【0067】システムタスクプログラムファイル134
は、図3に示すように、システムタスクプログラム13
4aを有しており、このシステムタスクプログラム13
4aには、共通処理としてサイクル数のカウンタを更新
する処理を記述したシステムタスク34bと、#1〜#
nのタスク51の実行内容を記述する#1〜#nのsシ
ステムタスク134cを有している。
【0068】因みに、#1のシステムタスク134c
は、デコーダ121が解読する内容を有するものであっ
て、その内容として、サイクル数のカウンタからタスク
の開始サイクルを減算し、その後、その結果をタスク周
期サイクルで除算し、その剰余が“0”である場合には
実行し、そうでない場合には実行しないということが記
述されている。
【0069】データメモリ14は、IEC1131−1
実行エンジン122により出力されたデータ、例えばI
/Oデータ,上述したサイクル数カウンタからタスクの
開始サイクルを減算した値、この減算した値をタスク周
期サイクルで除算したときのその剰余を書き込むように
なっている。
【0070】この実施形態の制御装置としてのPLC1
の動作について、図4を参照して説明する。
【0071】MPU11は、プログラミングツールによ
り生成されたシステムタスクプログラムファイルのシス
テムタスクプログラム,およびユーザプログラムファイ
ルのユーザプログラムのそれぞれを、ダウンロードメモ
リ13に有するシステムタスクプログラムファイル13
4,およびユーザプログラムファイル133にダウンロ
ードする(ステップ110)。
【0072】次に、MPU11は、I/O割付け等の初
期設定を行い(ステップ120)、起動されているか否
かを判断する(ステップ130)。
【0073】MPU11は、起動されていないと判断し
た場合には(ステップ130;No)、実行を停止して
(ステップ195)処理を終了し、一方、起動されてい
ると判断した場合には(ステップ130;Yes)、I
Nリフレッシュ処理を行う(ステップ140)。
【0074】MPU11は、INリフレッシュ処理を行
うと、その後、アクセラレータ12に対して起動を駆け
る(ステップ145)。
【0075】起動を駆けられたアクセラレータ12は、
データメモリ14に有するワークエリアに設定したタス
ク番号を“1”に設定して初期化する(ステップ15
0)。
【0076】次に、アクセラレータ12のデコーダ12
1は、データメモリ14に有するワークエリアに設定さ
れたタスク番号“i”に該当する指定タスクを実行する
か否かを判断する(ステップ160)。
【0077】ここで、タスク番号“i”に該当するタス
ク(以下、指定タスクという)51を実行するか否かの
判断を、デコーダ121は、次のようにして行う。
【0078】すなわち、デコーダ121は、システムタ
スクプログラム134aから#iのシステムタスク13
4cを読み出し、サイクル数カウンタからこのタスクの
開始サイクル数を減算し、この減算値をタスク周期サイ
クルで除算し、その剰余が“0”である場合には指定タ
スク51を実行し、“0”以外である場合には指定タス
ク51を非実行であると判断する。
【0079】アクセラレータ12のデコーダ121は、
タスク番号“i”に該当する指定タスク51が非実行の
タスクであると判断した場合には(ステップ160;N
o)、ステップ170に移行する。
【0080】一方、デコーダ121は、タスク番号
“i”に該当する指定タスク51が実行するタスクであ
ると判断した場合には(ステップ160;Yes)、ダ
ウンロードメモリ13から#iのタスク51を読み出
し、この命令を解釈し、この解釈結果をIEC1131
−3実行エンジン122に出力する。
【0081】すると、IEC1131−3実行エンジン
122は、解釈結果に基づき#iのタスク51を実行す
る(ステップ165)。
【0082】その後、アクセラレータ12は、ユーザプ
ログラム50がエンドであるか否かを判断し(ステップ
170)、ユーザプログラム50がエンドであると判断
した場合には(ステップ170;Yes)、OUTリフ
レッシュ処理を行い(ステップ190)、ステップ13
0に処理を移行し、上述した同様な処理を行う。
【0083】一方、アクセラレータ12は、ユーザプロ
グラム50がエンドでないと判断した場合には(ステッ
プ180;Yes)、データメモリ14中のワークエリ
アに設定されたタスク番号“i”に1を加算し、この加
算した値“i+1”を新たにワークエリアに設定し(ス
テップ180)、ステップ160に処理を移行して上述
したと同様な処理を続行する。
【0084】この実施形態の制御装置としてのPLC1
では、アクセラレータ12により、読み出されたシステ
ムタスク134cに基づき、ユーザプログラム50のタ
スク51を実行するか否かを判断するので、従来のよう
に、MPU11から実行するタスク番号の通知を受ける
とともに、実行したタスク51の終了をMPUに通知す
る必要がなくなる。
【0085】このため、タスクで構成されたユーザプロ
グラム50の実行処理においてオーバヘッド時間を少な
くして性能を向上させることができる。
【0086】<第2実施形態>次に、本発明に係る制御
装置の第2実施形態の構成について説明する。
【0087】図5は本発明に係る制御装置としてのPL
Cの第2実施形態の構成を示すブロック図である。
【0088】なお、この実施形態のPLC1において、
上述したPLCと同一な構成部分は、従来のPLCの構
成部分と同一な参照符号を付ける。
【0089】この実施形態のPLC1は、IEC113
1−3に準拠した#1〜#nのタスク51からなるユー
ザプログラム59,およびタスク51の制御内容をC,
ラダープログラム等の専用言語で記述されたシステムタ
スクプログラム(後述する)に基づき、所定処理を実行
するものである。
【0090】このPLC1は、図5に示すように、MP
U11と、アクセラレータ12と、ダウンロードメモリ
13と、データメモリ14とを備えて構成されている。
【0091】なお、第1実施形態のPLC1と同一な構
成部分については、その詳細説明を省略し、異なる構成
部分についてのみ説明する。
【0092】この実施形態の制御装置としてのPLC1
は、アクセラレータ12において、#1のデコーダ12
1と、#2のデコーダ121と、IEC1131−3実
行エンジン122と、システムタスク実行エンジン12
3と、アクセラレータ124とを備えて構成されてい
る。
【0093】#1のデコーダ121は、ダウンロードメ
モリ13中に記憶されているユーザプログラムファイル
133から読み出されたタスク51を解読し、この解読
結果をIEC1131−3実行エンジン122に出力す
るようになっている。
【0094】#2のデコーダ121は、ダウンロードメ
モリ13のシステムタスクプログラムファイルに記憶さ
れているシステムタスクを解読し、該当するタスク51
が実行すべきものであるか否かを解読するようになって
いる。
【0095】IEC1131−3実行エンジン122
は、#1のデコーダ121から入力されたタスクの解読
結果に基づき、タスク51を実行する。
【0096】例えば実行する場合には、IEC1131
−3実行エンジン122は、例えばI/Oデータ,計算
結果等をマルチプレプレクサ124を介してデータメモ
リに記憶するようになっている。
【0097】システムタスク実行エンジン123は、#
2のデコーダ121から入力されたシステムタスク13
4cの解読結果に基づき、システムタスク134cの実
行、例えば入力された開始サイクルをサイクルカウン
タから減算結果をデータメモリ14にワークエリアに保
存したり、サイクルタイムデータを入力された周期サ
イクルで除算した結果の剰余をデータメモリ14のワー
クエリアに保存するようになっている。
【0098】アクセラレータ124は、IEC1131
−3実行エンジン122およびシステムタスク実行エン
ジン123から入力された入力データにうち、どれか1
つを選択し、選択した入力データをデータメモリ14に
記憶させるようになっている。
【0099】この実施形態のPLC1では、#2のデコ
ーダ121により、C,ラダープログラム等の専用言語
で記述されたシステムタスク134cの内容を解読し、
システムタスク実行エンジン123が、#2のデコーダ
121から入力されたシステムタスク134cの解読結
果に基づき、システムタスク134cを実行するので、
ベンダが使用したい言語を選択することができ、システ
ムの自由度を高めることができる。
【0100】次に、この制御装置が実行するユーザプロ
グラムを生成するプログラミングツールを、図6を参照
して説明する。
【0101】図6は本発明に係るプログラミングツール
の一実施形態の構成を示すブロック図である。
【0102】このプログラミングツール2は、図6に示
すように、表示部21と、入力部22と、標準入出力I
/F23と、タスク生成手段26と、システムタスク生
成手段29と、メモリ27と、出力I/F28とを備え
て構成されている。
【0103】表示部21は入力内容および処理内容を表
示するようになっており、入力部22は、ソースプログ
ラムとしてのタスクおよびソースプログラムとしてのシ
ステムタスクプログラムを入力するようになっている。
【0104】標準入出力I/F23は、表示部21およ
び入力部22と、タスク生成手段26およびシステムタ
スク生成手段29との間をインターフェースするように
なっている。
【0105】タスク生成手段26は、入力部22から入
力されたIEC1131−3で準拠したプログラム言語
により記述されたソースプログラムからなるタスクをコ
ンパイルし、オブジェクトモジュールのタスク51を生
成するようになっている。
【0106】そして、このタスク生成手段26は、生成
したタスク51をメモリ27に有するユーザプログラム
ファイル273に格納するようになっている。
【0107】システムタスク生成手段29は、入力部2
2から入力されたIEC1131−3で準拠したプログ
ラム言語により記述されたソースプログラムからなるシ
ステムタスクをコンパイルし、オブジェクトモジュール
のシステムタスク134b,134cを生成するように
なっている。
【0108】そして、このシステムタスク生成手段29
は、生成したシステムタスク134b,134cをメモ
リ27に有するシステムタスクプログラムファイル27
4に格納するようになっている。
【0109】メモリ27は、上述したように、ユーザプ
ログラムファイル273およびシステムタスクプログラ
ムファイル274を記憶するものである。
【0110】出力I/F28は、メモリ27に記憶され
ている271,ユーザプログラムファイル273および
システムタスクプログラムファイル274を、PLC1
を構成するダウンロードメモリ13に出力するインター
フェースである。
【0111】このプログラミングツール2の処理動作
を、図7を参照して説明する。
【0112】このプログラミングツール2は、入力部2
2よりソースプログラムからなるタスクが入力されると
(ステップ210)、入力されたソースプログラムのタ
スクをコンパイルし(ステップ220)、オブジェクト
モジュールのタスク51を生成し(ステップ230)、
これをメモリ27のユーザプログラムファイル273に
記憶する(ステップ240)。
【0113】次に、プログラミングツール2は、入力部
22よりソースプログラムからなるシステムタスクが入
力されると(ステップ250)、入力されたソースプロ
グラムのシステムタスクをコンパイルし(ステップ26
0)、オブジェクトモジュールのシステムタスク134
b,134cを生成し、これをメモリ27のシステムタ
スクプログラムファイル274に記憶する(ステップ2
50)。
【0114】続いて、プログラミングツール2は、メモ
リ27中のユーザプログラム50のタスク51,および
システムタスクプログラムファイル134のシステムタ
スク134b,134cを、PLC1のダウンロードメ
モリ13にダウンロードし(ステップ280)、処理を
終了する。
【0115】システムタスクのプログラムには、上述し
たように、次の内容のことが記述されている。
【0116】入力された開始サイクルをサイクルカウ
ンタから減算する内容 そして、減算した結果をメモリ(図示せず)のワーク
エリアに保存する内容 加工済みのサイクルタイムデータを入力された周期サ
イクルで除算する内容 除算した結果の剰余をワークエリアに保存する内容 剰余が“0”の場合には加工済みデータを用いて指定
タスクを実行させる内容
【0117】この実施形態のプログラミングツール2で
は、タスク生成手段によりIEC1131−3で準拠し
たプログラム言語により記述されたソースプログラムか
らなるタスクをコンパイルしてオブジェトモジュールの
タスクを生成するとともに、システムタスク生成手段に
よりIEC1131−3で準拠したプログラム言語によ
り記述されたソースプログラムからなるシステムタスク
をコンパイルしてシステムタスクを生成するので、上述
した本発明の制御装置が実行するプログラムを形成する
ことができる。
【0118】この実施形態のプログラミングツール2
は、システムタスク生成手段によりIEC1131−3
で準拠したプログラム言語により記述されたソースプロ
グラムからなるシステムタスクをコンパイルしてシステ
ムタスクを生成するようになっているが、これに代え
て、システムタスク生成手段によりC,ラダープログラ
ムにより記述されたソースプログラムからなるシステム
タスクをコンパイルしてシステムタスクを生成するよう
にしてもよい。
【0119】
【発明の効果】以上本発明によれば、以下のような効果
を有する。
【0120】(1)請求項1記載の発明によれば、アク
セラレータに有するタスク実行判断手段により、システ
ムタスクプログラム記憶手段から読み出されたシステム
タスクに基づき、タスクを実行するか否かを判断するの
で、従来のように、MPUから実行するタスク番号の通
知を受けるとともに、実行したタスクの終了をMPUに
通知する必要がなくなる。
【0121】このため、タスクで構成されたユーザプロ
グラムの実行処理においてオーバヘッド時間を少なくし
て性能を向上させることができる。
【0122】(2)請求項2記載発明によれば、アクセ
ラレータのタスク実行判断手段が、ラダープログラム,
C言語等の専用言語で記述されたタスクの実行条件に基
づき、タスクを実行するか否かを判断し、そして、タス
クを実行してもよいと判断された場合にはタスク実行手
段が、そのタスクを実行するので、ベンダが使用したい
言語を選択することができ、システムの自由度を高める
ことができる。
【0123】(3)請求項3記載の発明によれば、アク
セラレータがサイクル数カウンタのカウンタ値からタス
クの開始サイクルを減算した値をタスク周期サイクルで
除算し、その剰余が“0”である場合にはタスクを実行
し、そうでない場合には実行しないと判断するので、従
来のようにMPUから受けるタスク番号の通知待ち時間
を省き、処理時間を短縮することができる。
【0124】(4)請求項4記載の発明によれば、タス
ク生成手段によりIEC1131−3で準拠したプログ
ラム言語により記述されたソースプログラムからなるタ
スクをコンパイルしてタスクを生成するとともに、シス
テムタスク生成手段によりIEC1131−3で準拠し
たプログラム言語により記述されたソースプログラムか
らなるシステムタスクをコンパイルしてシステムタスク
を生成するので、上述した請求項1記載の制御装置が実
行するプログラムを形成することができる。
【0125】(5)請求項5記載の発明において、ユー
ザプログラム生成手段によりIEC1131−3で準拠
したプログラム言語により記述されたユーザプログラム
をコンパイルしてタスクを有するユーザプログラムを生
成するとともに、システムタスクプログラム生成手段に
よりラダープログラム,C言語等の専用言語で記述され
たシステムタスクプログラムをコンパイルしてシステム
タスクを生成するので、請求項2記載の制御装置が実行
するプログラムを形成することができる。
【図面の簡単な説明】
【図1】本発明に係る制御装置の第1実施形態の構成を
示すブロック図。
【図2】図1中のダウンロードメモリの構成を示すブロ
ック図。
【図3】図2中のシステムタスクプログラムの構成を示
すブロック図。
【図4】この実施形態の制御装置の動作を説明するフロ
ーチャート。
【図5】本発明に係る制御装置の第2実施形態の構成を
示すブロック図。
【図6】本発明に係るプログラミングツールの一実施形
態の構成を示すブロック図。
【図7】この実施形態のプログラミングツールの動作を
説明するフローチャート。
【図8】従来のPLCが実行するユーザプログラムの構
成について説明する図。
【図9】従来のPLCに係る一実施形態の構成を示すブ
ロック図。
【図10】ダウンロードファイルの構成を示すブロック
図。
【図11】ユーザプログラムを構成するタスク制御プロ
グラムをを説明する図。
【図12】タスク制御プログラムに基づきタスクを実行
したときの例を示す図。
【図13】従来のPLCの処理動作を示すフローチャー
ト。
【図14】従来のプログラミングツールの構成を示すブ
ロック図。
【図15】従来のプログラミングツールの処理動作を示
すフローチャート。
【符号の説明】
1 制御装置(PLC) 11 MPU 12 アクセラレータ 121 デコーダ 122 IEC1131−3実行エンジン 123 システムタスク実行エンジン 124 マルチプレクサ 13 ダウンロードメモリ 133 ユーザプログラムファイル 134 システムタスクプログラムファイル 14 データメモリ 2 プログラミングツール 21 表示部 22 入力部 23 標準入出力I/F 24 タスク制御プログラム生成手段 25 タスクプログラム生成手段 26 ユーザプログラムメモリ 27 出力I/F 50 ユーザプログラム 51 タスク 134a システムタスクプログラム 134b,134c システムタスク
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H215 BB10 CC05 CX02 GG04 GG09 GG20 HH03 5H219 CC10 HH25 HH28 5H220 BB12 CC05 CX02 DD01 DD10 EE03 EE08 FF05 JJ12 JJ19 JJ26 JJ29 JJ59 9A001 BB01 DD01

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 MPUに代替して所定の処理を実行する
    アクセラレータを備えた制御装置において、 IEC1131−3で準拠したプログラム言語により記
    述されたタスクを備えるユーザプログラムを記憶するユ
    ーザプログラム記憶手段と、 IEC1131−3で準拠したプログラム言語により記
    述された前記タスクの実行条件を記述するシステムタス
    クを備えるシステムタスクプログラムを記憶するシステ
    ムタスクプログラム記憶手段とを具備しており、 前記アクセラレータは、 前記システムタスクプログラム記憶手段から読み出され
    たシステムタスクに基づき、タスクを実行するか否かを
    判断するタスク実行判断手段と、 このタスク実行判断手段によりタスクが実行されると判
    断された場合には、前記タスク記憶手段からタスクを読
    み出して実行するタスク実行手段とを有することを特徴
    とする制御装置。
  2. 【請求項2】 MPUに代替して所定の処理を実行する
    アクセラレータを備えた制御装置において、 IEC1131−3で準拠したプログラム言語により記
    述されたタスクを備えるユーザプログラムを記憶するユ
    ーザプログラム記憶手段と、 ラダープログラム,C言語等の専用言語で記述された前
    記タスクの実行条件を記述するシステムタスクを備える
    システムタスクプログラムを記憶するシステムタスクプ
    ログラム記憶手段とを具備しており、 前記アクセラレータは、 前記システムタスクプログラム記憶手段から読み出され
    たシステムタスクに基づき、タスクを実行するか否かを
    判断するタスク実行判断手段と、 このタスク実行判断手段によりタスクが実行されると判
    断された場合には、前記タスク記憶手段からタスクを読
    み出して実行するタスク実行手段とを有することを特徴
    とする制御装置。
  3. 【請求項3】 前記タスク実行判断手段は、 サイクル数カウンタのカウンタ値からタスクの開始サイ
    クルを減算した値をタスク周期サイクルで除算し、その
    剰余が“0”である場合にはタスクを実行し、そうでな
    い場合には実行しないと判断することを特徴とする請求
    項1または2記載の制御装置。
  4. 【請求項4】 制御装置が実行するプログラムを生成す
    るプログラミングツールにおいて、 IEC1131−3で準拠したプログラム言語により記
    述されたユーザプログラムをコンパイルしてタスクを備
    える前記制御装置が実行可能なユーザプログラムを生成
    するユーザプログラム生成手段と、 IEC1131−3で準拠したプログラム言語により記
    述されたシステムタスクプログラムをコンパイルしてシ
    ステムタスクを備える前記制御装置が実行可能なシステ
    ムタスクプログラムを生成するシステムタスクプログラ
    ム生成手段とを具備することを特徴とするプログラミン
    グツール。
  5. 【請求項5】 制御装置が実行するプログラムを生成す
    るプログラミングツールにおいて、 IEC1131−3で準拠したプログラム言語により記
    述されたユーザプログラムをコンパイルしてタスクを備
    える前記制御装置が実行可能なユーザプログラムを生成
    するユーザプログラム生成手段と、 ラダープログラム,C言語等の専用言語で記述されたシ
    ステムタスクプログラムをコンパイルしてシステムタス
    クを備える前記制御装置が実行可能なシステムタスクプ
    ログラムを生成するシステムタスクプログラム生成手段
    とを具備することを特徴とするプログラミングツール。
JP30357899A 1999-10-26 1999-10-26 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール Pending JP2001125610A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30357899A JP2001125610A (ja) 1999-10-26 1999-10-26 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30357899A JP2001125610A (ja) 1999-10-26 1999-10-26 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール

Publications (1)

Publication Number Publication Date
JP2001125610A true JP2001125610A (ja) 2001-05-11

Family

ID=17922700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30357899A Pending JP2001125610A (ja) 1999-10-26 1999-10-26 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール

Country Status (1)

Country Link
JP (1) JP2001125610A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922735B2 (en) * 2000-04-03 2005-07-26 Texas Instruments Incorporated Management of co-processor information by integrating non-program information with program information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922735B2 (en) * 2000-04-03 2005-07-26 Texas Instruments Incorporated Management of co-processor information by integrating non-program information with program information

Similar Documents

Publication Publication Date Title
JP4909877B2 (ja) デバッグ装置及びデバッグ方法
JP2011086298A (ja) プログラム・フロー制御
JP2008305185A (ja) プロセッサ装置及び複合条件処理方法
JP6874706B2 (ja) アプリケーションプログラムを生成する方法、装置、プログラム
JP5195408B2 (ja) マルチコアシステム
JP4770657B2 (ja) パイプライン合成システム、方法及びプログラム
JP2001125610A (ja) 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール
JP3892873B2 (ja) プログラマブルコントローラ
JP2002055848A (ja) プログラム実行方式及び当該プログラム実行方式を格納した記憶媒体
JPH056281A (ja) 情報処理装置
JP4305400B2 (ja) マイクロコンピュータ
JP2005100017A (ja) プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法
JP3331357B2 (ja) プログラマブルコントローラ
JP3548782B2 (ja) 制御装置及び方法
JP3024719B2 (ja) プログラマブルコントローラの演算処理方法
JP2853647B2 (ja) デバッガ付きインタプリタへの機能付加方式
JP6668638B2 (ja) 情報処理装置、コンパイル方法及びコンパイラ
JP2004118669A (ja) 制御装置及び制御方法並びに制御ソフトウェア
JP2006146731A (ja) プログラム、記憶媒体、アセンブラ装置、コンパイラ装置、シミュレータ装置及びエミュレータ装置
JPH05250156A (ja) Riscプロセッサ
JP2001184227A (ja) シミュレーション装置
JP2007213396A (ja) デバッグシステム、オペレーションシステム、デバッグ方法、プログラム
JPH0628182A (ja) 情報処理装置
JPH05158684A (ja) 命令実行調速システム
JPH0991137A (ja) データ処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060201