JPH10326105A - プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラ - Google Patents
プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラInfo
- Publication number
- JPH10326105A JPH10326105A JP13675297A JP13675297A JPH10326105A JP H10326105 A JPH10326105 A JP H10326105A JP 13675297 A JP13675297 A JP 13675297A JP 13675297 A JP13675297 A JP 13675297A JP H10326105 A JPH10326105 A JP H10326105A
- Authority
- JP
- Japan
- Prior art keywords
- data area
- programmable controller
- user program
- write
- identification name
- 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
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【課題】 プログラマブルコントローラのユーザプログ
ラムでデータ領域に書込みを行うプログラム毎にデータ
領域の管理を行わずとも、他のタスクが使用しているデ
ータ領域を破壊することを防止する。 【解決手段】 プログラミング装置の制御部における変
換処理部は、ラベルが付与された特定データ領域を使用
することがプログラム中で宣言され(ステップP1)、
且つ、その特定データ領域のデータ語長及びワード数が
指定されると、そのデータ語長及びワード数に基づいて
特定データ領域の容量を決定し、その特定データ領域を
プログラマブルコントローラのRAMの一部に割り付け
る(ステップP3)。そして、その特定データ領域は、
ユーザプログラムからはラベルを介してのみアクセスが
可能となるようする。
ラムでデータ領域に書込みを行うプログラム毎にデータ
領域の管理を行わずとも、他のタスクが使用しているデ
ータ領域を破壊することを防止する。 【解決手段】 プログラミング装置の制御部における変
換処理部は、ラベルが付与された特定データ領域を使用
することがプログラム中で宣言され(ステップP1)、
且つ、その特定データ領域のデータ語長及びワード数が
指定されると、そのデータ語長及びワード数に基づいて
特定データ領域の容量を決定し、その特定データ領域を
プログラマブルコントローラのRAMの一部に割り付け
る(ステップP3)。そして、その特定データ領域は、
ユーザプログラムからはラベルを介してのみアクセスが
可能となるようする。
Description
【0001】
【発明の属する技術分野】本発明は、プログラマブルコ
ントローラに実行させるユーザプログラムをプログラミ
ングするプログラミング装置、及びそのプログラミング
装置によってプログラミングされたユーザプログラムを
実行するプログラマブルコントローラに関する。
ントローラに実行させるユーザプログラムをプログラミ
ングするプログラミング装置、及びそのプログラミング
装置によってプログラミングされたユーザプログラムを
実行するプログラマブルコントローラに関する。
【0002】
【発明が解決しようとする課題】近年、プログラマブル
コントローラ(以下、PCと称す)の制御対象となる設
備は大規模になると共に複雑化しており、それに伴っ
て、PCの制御プログラム及びそれに付随するデータも
大容量化してきている。
コントローラ(以下、PCと称す)の制御対象となる設
備は大規模になると共に複雑化しており、それに伴っ
て、PCの制御プログラム及びそれに付随するデータも
大容量化してきている。
【0003】これに対して、従来のPCのプログラミン
グ装置においては、PCのメモリ領域の一部をユーザが
使用可能なデータ領域として公開しており、ユーザは、
そのデータ領域の先頭番地を指定することにより、配列
的な領域を使用していた。
グ装置においては、PCのメモリ領域の一部をユーザが
使用可能なデータ領域として公開しており、ユーザは、
そのデータ領域の先頭番地を指定することにより、配列
的な領域を使用していた。
【0004】しかしながら、データ領域は、ユーザプロ
グラムの各タスクが共通に使用する領域であり、各タス
ク毎に自分が使用するメモリ領域の管理を行わないと、
自分のメモリ領域を越えて、他のタスクが使用している
メモリ領域を破壊してしまう場合がある。
グラムの各タスクが共通に使用する領域であり、各タス
ク毎に自分が使用するメモリ領域の管理を行わないと、
自分のメモリ領域を越えて、他のタスクが使用している
メモリ領域を破壊してしまう場合がある。
【0005】従って、データ領域に書込みを行うタスク
には、これから行おうとする書込みが可能であるか否か
を、自分のメモリ領域の容量と書込みデータ量とを比較
して判定し、書込みが可能である場合は書込みを行う、
といったようなメモリ領域を管理するためのプログラム
を記述する必要があり、プログラミング作業が煩雑化す
るという問題があった。
には、これから行おうとする書込みが可能であるか否か
を、自分のメモリ領域の容量と書込みデータ量とを比較
して判定し、書込みが可能である場合は書込みを行う、
といったようなメモリ領域を管理するためのプログラム
を記述する必要があり、プログラミング作業が煩雑化す
るという問題があった。
【0006】また、設定されたデータ領域は単なるアド
レスの配列であるため、本来、そのデータ領域を使用す
る必要のないタスクにおいても、プログラミングのミス
などによりデータ領域のアドレスが記述されれば不用意
にアクセスされてしまい、思わぬ動作等の不具合を発生
することがある。この点からも、データの保護が十分で
あるとは言えなかった。
レスの配列であるため、本来、そのデータ領域を使用す
る必要のないタスクにおいても、プログラミングのミス
などによりデータ領域のアドレスが記述されれば不用意
にアクセスされてしまい、思わぬ動作等の不具合を発生
することがある。この点からも、データの保護が十分で
あるとは言えなかった。
【0007】本発明は上記事情に鑑みてなされたもので
あり、その目的は、ユーザプログラムにおいて、データ
領域に書込みを行うタスク毎にデータ領域の管理を行わ
ずとも、他のタスクが使用しているデータ領域を破壊す
ることがないプログラマブルコントローラのプログラミ
ング装置及びプログラマブルコントローラを提供するこ
とにある。
あり、その目的は、ユーザプログラムにおいて、データ
領域に書込みを行うタスク毎にデータ領域の管理を行わ
ずとも、他のタスクが使用しているデータ領域を破壊す
ることがないプログラマブルコントローラのプログラミ
ング装置及びプログラマブルコントローラを提供するこ
とにある。
【0008】
【課題を解決するための手段】請求項1記載のプログラ
マブルコントローラのプログラミング装置によれば、ユ
ーザは、識別名を付与したデータ領域の使用をユーザプ
ログラム中で宣言するだけで、領域割り付け手段によっ
て、当該データ領域がプログラマブルコントローラのメ
モリ領域の一部に所定容量を以て自動的に割り付けられ
る。
マブルコントローラのプログラミング装置によれば、ユ
ーザは、識別名を付与したデータ領域の使用をユーザプ
ログラム中で宣言するだけで、領域割り付け手段によっ
て、当該データ領域がプログラマブルコントローラのメ
モリ領域の一部に所定容量を以て自動的に割り付けられ
る。
【0009】従って、ユーザは、データ領域を使用する
ために割り付けアドレスや容量を一々指定する必要がな
く、プログラミングが容易となる。また、当該データ領
域は、識別名を介してのみアクセスを可能としているの
で、当該データ領域に対しては、ユーザプログラム中に
おいて不用意にアドレスを記述した場合でも、アクセス
が行われることを阻止でき、データの保護管理を確実且
つ容易に行うことができる。
ために割り付けアドレスや容量を一々指定する必要がな
く、プログラミングが容易となる。また、当該データ領
域は、識別名を介してのみアクセスを可能としているの
で、当該データ領域に対しては、ユーザプログラム中に
おいて不用意にアドレスを記述した場合でも、アクセス
が行われることを阻止でき、データの保護管理を確実且
つ容易に行うことができる。
【0010】請求項2記載のプログラマブルコントロー
ラのプログラミング装置によれば、領域割り付け手段
は、識別名付与手段によってデータ語長及びデータ数が
指定されると、そのデータ語長及びデータ数に基づいて
データ領域の所定容量を決定するので、ユーザは、目的
に応じて異なるデータ語長及びデータ数を有する複数の
データ領域を使用することが可能となり、ユーザプログ
ラムの自由度を高めることができる。
ラのプログラミング装置によれば、領域割り付け手段
は、識別名付与手段によってデータ語長及びデータ数が
指定されると、そのデータ語長及びデータ数に基づいて
データ領域の所定容量を決定するので、ユーザは、目的
に応じて異なるデータ語長及びデータ数を有する複数の
データ領域を使用することが可能となり、ユーザプログ
ラムの自由度を高めることができる。
【0011】請求項3記載のプログラマブルコントロー
ラのプログラミング装置によれば、識別名付与手段によ
って付与された識別名は、ユーザプログラム中において
対応するデータ領域にアクセスを行うためのデータ数が
パラメータとして指定できる。従って、ユーザは、ユー
ザプログラム中で例えば異なるデータ語長及びデータ数
を有する複数のデータ領域を使用する場合でも、各デー
タ領域によって異なるデータ語長に応じてアドレスのオ
フセットを演算することなく、必要なデータ数のみを指
定すれば良いので、ユーザプログラムの自由度が高くな
ると共に記述がより容易となる。
ラのプログラミング装置によれば、識別名付与手段によ
って付与された識別名は、ユーザプログラム中において
対応するデータ領域にアクセスを行うためのデータ数が
パラメータとして指定できる。従って、ユーザは、ユー
ザプログラム中で例えば異なるデータ語長及びデータ数
を有する複数のデータ領域を使用する場合でも、各デー
タ領域によって異なるデータ語長に応じてアドレスのオ
フセットを演算することなく、必要なデータ数のみを指
定すれば良いので、ユーザプログラムの自由度が高くな
ると共に記述がより容易となる。
【0012】請求項4記載のプログラマブルコントロー
ラのプログラミング装置によれば、変換手段は、ユーザ
プログラムを対象となるプログラマブルコントローラが
実行可能な形式に変換する場合に、何れかのステップに
識別名が記述されている場合は、識別名が使用されてい
ることを示す識別フラグを当該ステップにセットする。
従って、プログラマブルコントローラは、識別フラグを
参照することによって、そのステップのオペランドに指
定されているものが、ユーザプログラム中で使用が宣言
されたデータ領域であるか否かを判断することができ
る。
ラのプログラミング装置によれば、変換手段は、ユーザ
プログラムを対象となるプログラマブルコントローラが
実行可能な形式に変換する場合に、何れかのステップに
識別名が記述されている場合は、識別名が使用されてい
ることを示す識別フラグを当該ステップにセットする。
従って、プログラマブルコントローラは、識別フラグを
参照することによって、そのステップのオペランドに指
定されているものが、ユーザプログラム中で使用が宣言
されたデータ領域であるか否かを判断することができ
る。
【0013】請求項5記載のプログラマブルコントロー
ラのプログラミング装置によれば、書込み判定シミュレ
ート手段は、シミュレーション手段がユーザプログラム
の実行状態をシミュレートする時に、書込み命令を実行
するステップに識別フラグがセットされている場合は、
その識別名が付されたデータ領域の書込み可能容量と当
該データ領域に対して指定されている書込み容量とを比
較して、前記書込み命令を実行すると前記データ領域を
オーバーすると判断した場合は、エラーメッセージを出
力する。
ラのプログラミング装置によれば、書込み判定シミュレ
ート手段は、シミュレーション手段がユーザプログラム
の実行状態をシミュレートする時に、書込み命令を実行
するステップに識別フラグがセットされている場合は、
その識別名が付されたデータ領域の書込み可能容量と当
該データ領域に対して指定されている書込み容量とを比
較して、前記書込み命令を実行すると前記データ領域を
オーバーすると判断した場合は、エラーメッセージを出
力する。
【0014】従って、例えば、識別名に付されたパラメ
ータのデータ数が即値で指定されているステップに関し
ては、プログラマブルコントローラに実際に実行させる
前に、シミュレーションを行うことによってデータ領域
をオーバーするような書込みが行われるか否かを事前に
チェックすることができるので、デバッグ作業をより効
率的に行うことができる。
ータのデータ数が即値で指定されているステップに関し
ては、プログラマブルコントローラに実際に実行させる
前に、シミュレーションを行うことによってデータ領域
をオーバーするような書込みが行われるか否かを事前に
チェックすることができるので、デバッグ作業をより効
率的に行うことができる。
【0015】請求項6記載のプログラマブルコントロー
ラのプログラミング装置によれば、送信手段は、領域割
り付け手段によって割り付けが行われたデータ領域に関
するデータ領域情報を、実行可能な形式に変換されたユ
ーザプログラムと共に前記プログラマブルコントローラ
側に送信する。従って、プログラマブルコントローラ
は、ユーザプログラムの各ステップにおける識別フラグ
の有無とデータ領域情報とを参照することによって、識
別名が付されたデータ領域のアドレス等の情報を得るこ
とができる。
ラのプログラミング装置によれば、送信手段は、領域割
り付け手段によって割り付けが行われたデータ領域に関
するデータ領域情報を、実行可能な形式に変換されたユ
ーザプログラムと共に前記プログラマブルコントローラ
側に送信する。従って、プログラマブルコントローラ
は、ユーザプログラムの各ステップにおける識別フラグ
の有無とデータ領域情報とを参照することによって、識
別名が付されたデータ領域のアドレス等の情報を得るこ
とができる。
【0016】請求項7記載のプログラマブルコントロー
ラによれば、書込み判定手段は、実行形式に変換された
ユーザプログラムの実行時に、書込み命令を実行するス
テップに識別フラグがセットされていると、データ領域
情報を参照して当該ステップのオペランドで指定されて
いる識別名が付されたデータ領域の書込み可能容量と当
該データ領域に対して指定されている書込み容量とを比
較して、書込み命令を実行するとデータ領域をオーバー
するとした場合は、CPUの実行ステータスレジスタに
書込みエラーを示すエラーフラグをセットする。
ラによれば、書込み判定手段は、実行形式に変換された
ユーザプログラムの実行時に、書込み命令を実行するス
テップに識別フラグがセットされていると、データ領域
情報を参照して当該ステップのオペランドで指定されて
いる識別名が付されたデータ領域の書込み可能容量と当
該データ領域に対して指定されている書込み容量とを比
較して、書込み命令を実行するとデータ領域をオーバー
するとした場合は、CPUの実行ステータスレジスタに
書込みエラーを示すエラーフラグをセットする。
【0017】従って、ユーザプログラムの実行時におい
て、例えば、識別名に付されたパラメータのデータ数
が、実際の処理結果によって値が変化するような変数で
与えられている場合、実際に書込みが実行される前に、
その書込みがデータ領域をオーバーする書込みであるか
否かを、実行ステータスレジスタのエラーフラグを参照
することによりチェックすることができるので、他の領
域に記憶されているデータが破壊されるのを未然に防止
することができる。
て、例えば、識別名に付されたパラメータのデータ数
が、実際の処理結果によって値が変化するような変数で
与えられている場合、実際に書込みが実行される前に、
その書込みがデータ領域をオーバーする書込みであるか
否かを、実行ステータスレジスタのエラーフラグを参照
することによりチェックすることができるので、他の領
域に記憶されているデータが破壊されるのを未然に防止
することができる。
【0018】
【発明の実施の形態】以下、本発明の一実施例について
図面を参照して説明する。図7及び図8は、プログラマ
ブルコントローラ及びそのプログラミング装置の構成を
示す機能ブロック図である。図8において、プログラミ
ング装置1は、例えばパーソナルコンピュータによって
構成されており、キーボード2,マイクロコンピュータ
を中心とする制御部(識別名付与手段,送信手段)3,
ディスプレイ4などからなるものである。
図面を参照して説明する。図7及び図8は、プログラマ
ブルコントローラ及びそのプログラミング装置の構成を
示す機能ブロック図である。図8において、プログラミ
ング装置1は、例えばパーソナルコンピュータによって
構成されており、キーボード2,マイクロコンピュータ
を中心とする制御部(識別名付与手段,送信手段)3,
ディスプレイ4などからなるものである。
【0019】制御部3には、プログラマブルコントロー
ラ(以下、PCと称す。図7参照)5に実行させるユー
ザプログラム(以下、単にプログラムと称す)を入力,
修正するためのソフトウエアであるエディタ3a,入力
されたプログラムの変換処理などを行う変換処理部(領
域割り付け手段,変換手段)3b及びPC5によるプロ
グラムの実行状態をシミュレーションするためのシミュ
レータ(シミュレーション手段,書込み判定シミュレー
ション手段)3cが、ハードディスク6から読み出され
て図示しないワークエリアたるRAM上に常駐している
ものとする。
ラ(以下、PCと称す。図7参照)5に実行させるユー
ザプログラム(以下、単にプログラムと称す)を入力,
修正するためのソフトウエアであるエディタ3a,入力
されたプログラムの変換処理などを行う変換処理部(領
域割り付け手段,変換手段)3b及びPC5によるプロ
グラムの実行状態をシミュレーションするためのシミュ
レータ(シミュレーション手段,書込み判定シミュレー
ション手段)3cが、ハードディスク6から読み出され
て図示しないワークエリアたるRAM上に常駐している
ものとする。
【0020】プログラミング装置1は、更に、PC5と
の間でデータ転送を行うための通信用インターフェイス
(送信手段)7などを有している。通信用インターフェ
イス7は、RS−232C若しくはRS−485などの
シリアル通信方式によって、通信用ケーブル8を介して
データ転送を行うようになっている。
の間でデータ転送を行うための通信用インターフェイス
(送信手段)7などを有している。通信用インターフェ
イス7は、RS−232C若しくはRS−485などの
シリアル通信方式によって、通信用ケーブル8を介して
データ転送を行うようになっている。
【0021】一方、図7に示すように、PC5側は、C
PU9,そのCPU9にシステムバスを介して接続され
ているROM10及びRAM11,プログラミング装置
1側の通信用インターフェイス7と通信ケーブル8を介
して接続され、CPU9とも通信用バスで接続されてい
る通信用インターフェイス12などから構成されてい
る。
PU9,そのCPU9にシステムバスを介して接続され
ているROM10及びRAM11,プログラミング装置
1側の通信用インターフェイス7と通信ケーブル8を介
して接続され、CPU9とも通信用バスで接続されてい
る通信用インターフェイス12などから構成されてい
る。
【0022】ROM10には、CPU9の基本的な制御
を行うプログラムであるファームウエア(図9参照)が
記憶されており、RAM11には、プログラミング装置
1側から送信されるユーザプログラム及びデータが記憶
されるようになっている。また、CPU9には、I/O
バスを介して図示しない他のI/O装置が接続されてい
る。
を行うプログラムであるファームウエア(図9参照)が
記憶されており、RAM11には、プログラミング装置
1側から送信されるユーザプログラム及びデータが記憶
されるようになっている。また、CPU9には、I/O
バスを介して図示しない他のI/O装置が接続されてい
る。
【0023】図9は、PC5のCPU9がプログラムを
実行する場合のハードウエア−ソフトウエアの階層構造
を概念的に示すものである。この図9においては、CP
U9のハードウエア13が最下層にあり、その上層にC
PU9のファームウエア14が存在し、更にその上層に
ユーザプログラムたるラダープログラム15が存在して
いる。CPU9のファームウエア14には、ハードウエ
ア13を直接操作して基本的なデータの入出力を行わせ
るリソースアクセス部14aがあり、そのリソースアク
セス部14aの一部として、実行判定部(書込み判定手
段)14bを有している。
実行する場合のハードウエア−ソフトウエアの階層構造
を概念的に示すものである。この図9においては、CP
U9のハードウエア13が最下層にあり、その上層にC
PU9のファームウエア14が存在し、更にその上層に
ユーザプログラムたるラダープログラム15が存在して
いる。CPU9のファームウエア14には、ハードウエ
ア13を直接操作して基本的なデータの入出力を行わせ
るリソースアクセス部14aがあり、そのリソースアク
セス部14aの一部として、実行判定部(書込み判定手
段)14bを有している。
【0024】リソースアクセス部14bの上層には、ラ
ダープログラム15の実行時において、既に機械語(ネ
イティブコード)に変換されている部分をデコードする
ネイティブデコード部14c、及びユーザプログラム1
5のその他の部分をネイティブコードに変換した後ネイ
ティブデコード部14cに渡すインタプリタ部14dが
存在する。
ダープログラム15の実行時において、既に機械語(ネ
イティブコード)に変換されている部分をデコードする
ネイティブデコード部14c、及びユーザプログラム1
5のその他の部分をネイティブコードに変換した後ネイ
ティブデコード部14cに渡すインタプリタ部14dが
存在する。
【0025】次に、本実施例の作用について図1乃至図
6をも参照して説明する。作業者は、プログラミング装
置1のエディタ3aを起動すると、キーボード2を操作
して、ディスプレイ4の表示を見ながらラダープログラ
ム(以下、単にプログラムと称す)を作成する。図3
は、プログラミング作業の処理手順を示すプロセスチャ
ートである。
6をも参照して説明する。作業者は、プログラミング装
置1のエディタ3aを起動すると、キーボード2を操作
して、ディスプレイ4の表示を見ながらラダープログラ
ム(以下、単にプログラムと称す)を作成する。図3
は、プログラミング作業の処理手順を示すプロセスチャ
ートである。
【0026】この図3において、先ず、「ラベルの使用
を宣言」のステップP1の処理が実行される。ここで、
ユーザたる作業者は、PC5のRAM11内においてユ
ーザ定義メモリ領域としてシステム上設定されているも
のの一部をデータ領域として使用したい場合は、プログ
ラムの冒頭部分で、例えば以下のような書式によって宣
言を行う。 DUM ラベル[データ語長,ワード数] …(1) ここで、“DUM”は、ユーザ定義メモリ領域の一部
を、ラベル(識別名)を付したデータ領域として使用す
ることを宣言するコマンドであり、具体的には、以下の
ように記述する(図4参照)。
を宣言」のステップP1の処理が実行される。ここで、
ユーザたる作業者は、PC5のRAM11内においてユ
ーザ定義メモリ領域としてシステム上設定されているも
のの一部をデータ領域として使用したい場合は、プログ
ラムの冒頭部分で、例えば以下のような書式によって宣
言を行う。 DUM ラベル[データ語長,ワード数] …(1) ここで、“DUM”は、ユーザ定義メモリ領域の一部
を、ラベル(識別名)を付したデータ領域として使用す
ることを宣言するコマンドであり、具体的には、以下の
ように記述する(図4参照)。
【0027】 DUM BMEM[ 8,2048] DUM WMEM[16,1024] …(2) DUM LMEM[32, 512] 例えば、“WMEM[16,1024]”は、データ語
長16ビットで、ワード数(データ数)が1024ワー
ド、即ち、16×1024=2Kバイトの領域を、ラベ
ル“WMEM”としてユーザ定義メモリ領域の一部に確
保することを意味する。尚、ラベルを付したデータ領域
を、以降、特定データ領域と称する。
長16ビットで、ワード数(データ数)が1024ワー
ド、即ち、16×1024=2Kバイトの領域を、ラベ
ル“WMEM”としてユーザ定義メモリ領域の一部に確
保することを意味する。尚、ラベルを付したデータ領域
を、以降、特定データ領域と称する。
【0028】次に、作業者は、「プログラム記述」のス
テップP2において、使用を宣言した特定データ領域の
ラベルを用いてプログラムの記述を行う。プログラムの
記述が終了して、例えばキーボード2の『入力確定』キ
ーが操作されると、記述されたプログラムの入力が確定
する。
テップP2において、使用を宣言した特定データ領域の
ラベルを用いてプログラムの記述を行う。プログラムの
記述が終了して、例えばキーボード2の『入力確定』キ
ーが操作されると、記述されたプログラムの入力が確定
する。
【0029】すると、「特定データ領域割り付け」のス
テップP3において、制御部3の変換処理部3bによっ
て各特定データ領域の割り付けが行われる。例えば、ユ
ーザ定義メモリ領域がアドレス800H(16進数表
示)〜4000Hまでであり、特定データ領域の割り付
けが1000Hから行われるとすると、(2)のように
記述が行われた場合は、 BMEM 1000H〜17FFH WMEM 1800H〜1BFFH …(3) LMEM 1C00H〜1FFFH の各2Kバイトの領域として割り付けられる(図5参
照)。また、この様に割り付けが行われた結果、特定デ
ータ領域情報が生成される。
テップP3において、制御部3の変換処理部3bによっ
て各特定データ領域の割り付けが行われる。例えば、ユ
ーザ定義メモリ領域がアドレス800H(16進数表
示)〜4000Hまでであり、特定データ領域の割り付
けが1000Hから行われるとすると、(2)のように
記述が行われた場合は、 BMEM 1000H〜17FFH WMEM 1800H〜1BFFH …(3) LMEM 1C00H〜1FFFH の各2Kバイトの領域として割り付けられる(図5参
照)。また、この様に割り付けが行われた結果、特定デ
ータ領域情報が生成される。
【0030】次に、「プログラム変換」のステップP4
において、記述されたプログラムは、変換処理部3bに
よってPC5が実行可能な形式に変換される。例えば、
プログラム中において、特定データ領域“WMEM”を
オペランドに指定し、以下のような記述が行われたと
する(図6(a)参照)。 COPY 10000H WMEM[256] …(4) これは、10000H番地から、特定データ領域“WM
EM”に16ビットデータを256ワード分転送せよ、
という意味である。
において、記述されたプログラムは、変換処理部3bに
よってPC5が実行可能な形式に変換される。例えば、
プログラム中において、特定データ領域“WMEM”を
オペランドに指定し、以下のような記述が行われたと
する(図6(a)参照)。 COPY 10000H WMEM[256] …(4) これは、10000H番地から、特定データ領域“WM
EM”に16ビットデータを256ワード分転送せよ、
という意味である。
【0031】図6(b)は、(4)のコマンドライン
(ステップ)を、PC5が実行可能な形式に変換した場
合の例を示すものである。この場合、オペランドに対
応する識別フラグ格納領域には、ラベルが付された特定
データ領域が使用されていることを示す識別フラグが
“1”にセットされる。そして、ラベル“WMEM”自
体は割り付けられたドレスには変換されず、テキストコ
ードがそのままセットされる。
(ステップ)を、PC5が実行可能な形式に変換した場
合の例を示すものである。この場合、オペランドに対
応する識別フラグ格納領域には、ラベルが付された特定
データ領域が使用されていることを示す識別フラグが
“1”にセットされる。そして、ラベル“WMEM”自
体は割り付けられたドレスには変換されず、テキストコ
ードがそのままセットされる。
【0032】また、図6(b)の識別フラグの後に配置
されているのは、オペランド,のアドレッシングモ
ードを指定するためのビットであり、実際には、各オペ
ランドに対して例えば3〜4ビット程度のビット数が割
り当てられている。
されているのは、オペランド,のアドレッシングモ
ードを指定するためのビットであり、実際には、各オペ
ランドに対して例えば3〜4ビット程度のビット数が割
り当てられている。
【0033】一方、例えばコマンドが“LD”などであ
り、特定データ領域から読み出しを行なうものである場
合は、ラベル“WMEM”を割り付けたアドレスの即値
に変換して、識別フラグをセットしないようして良い。
り、特定データ領域から読み出しを行なうものである場
合は、ラベル“WMEM”を割り付けたアドレスの即値
に変換して、識別フラグをセットしないようして良い。
【0034】尚、プログラム変換処理では、プログラム
の記述文法等に関するエラーチェックも行われるように
なっている。そして、ステップP1においてラベルの使
用を宣言した特定データ領域にステップP3においてア
ドレスの割り付けが行われた結果、プログラム中で特定
データ領域に対応するアドレスが即値で記述されている
と、変換処理部3bは、それを不正な記述と判断してデ
ィスプレイ4にエラーメッセージを出力させる。
の記述文法等に関するエラーチェックも行われるように
なっている。そして、ステップP1においてラベルの使
用を宣言した特定データ領域にステップP3においてア
ドレスの割り付けが行われた結果、プログラム中で特定
データ領域に対応するアドレスが即値で記述されている
と、変換処理部3bは、それを不正な記述と判断してデ
ィスプレイ4にエラーメッセージを出力させる。
【0035】即ち、特定データ領域に対しては、プログ
ラム中で使用を宣言したラベル名を介してのみアクセス
を可能として、特定データ領域に対応するアドレスを不
用意に記述してしまうことによる特定データ領域のデー
タの破壊を防止するようにしている。
ラム中で使用を宣言したラベル名を介してのみアクセス
を可能として、特定データ領域に対応するアドレスを不
用意に記述してしまうことによる特定データ領域のデー
タの破壊を防止するようにしている。
【0036】以上のようにしてプログラミング作業が終
了する。そして、実行形式に変換されたプログラム及び
特定データ領域情報は、プログラミング装置1に例えば
“セーブ”コマンドが入力されるとハードディスク6へ
書き込まれて記憶され、“送信(アップロード)”コマ
ンドが入力されると、PC5に通信用インターフェイス
7を介して送信される。そして、プログラミング装置1
から実行開始命令が与えられると、PC5のCPU9
は、プログラムを実行する。
了する。そして、実行形式に変換されたプログラム及び
特定データ領域情報は、プログラミング装置1に例えば
“セーブ”コマンドが入力されるとハードディスク6へ
書き込まれて記憶され、“送信(アップロード)”コマ
ンドが入力されると、PC5に通信用インターフェイス
7を介して送信される。そして、プログラミング装置1
から実行開始命令が与えられると、PC5のCPU9
は、プログラムを実行する。
【0037】図2は、ユーザプログラム中で、ラベルを
付した特定データ領域に対して書込みを行う処理を記述
する場合の手順を概略的に示すフローチャートである。
この図2において、先ず、「特定データ領域に書込み」
の処理ステップA1で、例えば上記した(4)のコマン
ドラインのような書込み命令を記述する。尚、ここで
“書込み”とは、“MOV”,“COPY”などの命令
を包括的に意味している。
付した特定データ領域に対して書込みを行う処理を記述
する場合の手順を概略的に示すフローチャートである。
この図2において、先ず、「特定データ領域に書込み」
の処理ステップA1で、例えば上記した(4)のコマン
ドラインのような書込み命令を記述する。尚、ここで
“書込み”とは、“MOV”,“COPY”などの命令
を包括的に意味している。
【0038】次に、「エラーフラグセット?」の判断ス
テップA2において、詳細は後述するが、CPU9の実
行ステータスレジスタを参照して、書込みが実行できな
かったことを示すエラーフラグがセットされたか否かを
判断する。エラーフラグがセットされておらず「NO」
と判断すると、書込み処理を終了する。
テップA2において、詳細は後述するが、CPU9の実
行ステータスレジスタを参照して、書込みが実行できな
かったことを示すエラーフラグがセットされたか否かを
判断する。エラーフラグがセットされておらず「NO」
と判断すると、書込み処理を終了する。
【0039】また、エラーフラグがセットされており
「YES」と判断すると、「領域一杯フラグセット」の
処理ステップA3に移行して、例えばCPU9の外部レ
ジスタとして、RAM11や或いはハードウエア的に設
定されている領域一杯フラグの格納領域に、領域一杯フ
ラグをセットする。すると、書込み処理を終了する。
「YES」と判断すると、「領域一杯フラグセット」の
処理ステップA3に移行して、例えばCPU9の外部レ
ジスタとして、RAM11や或いはハードウエア的に設
定されている領域一杯フラグの格納領域に、領域一杯フ
ラグをセットする。すると、書込み処理を終了する。
【0040】即ち、ユーザプログラムとしては、書込み
命令を発行した後は、CPU9の実行ステータスレジス
タを参照して、書込みが正常に実行されたか否かを判断
すれば良いだけである。そして、書込みが正常に実行さ
れなかった場合は領域一杯フラグをセットすることによ
って、例えば書込みエラーを報知するランプを点灯させ
たり、或いは、予備として別個に設定されている特定デ
ータ領域に書込みを行わせるなどのエラー処理を行うよ
うにする。
命令を発行した後は、CPU9の実行ステータスレジス
タを参照して、書込みが正常に実行されたか否かを判断
すれば良いだけである。そして、書込みが正常に実行さ
れなかった場合は領域一杯フラグをセットすることによ
って、例えば書込みエラーを報知するランプを点灯させ
たり、或いは、予備として別個に設定されている特定デ
ータ領域に書込みを行わせるなどのエラー処理を行うよ
うにする。
【0041】図1は、PC5のCPU9がユーザプログ
ラムを実行する場合のフェッチ,デコード及び実行のサ
イクルを、特定データ領域に対する書込み処理を中心と
して表したフローチャートである。
ラムを実行する場合のフェッチ,デコード及び実行のサ
イクルを、特定データ領域に対する書込み処理を中心と
して表したフローチャートである。
【0042】この図1において、先ず、「フェッチ」の
ステップB1で、CPU9は、RAM11からプログラ
ムの1ステップ(以下、Pステップと称す)を読み出す
と、次の「命令デコード」の処理ステップB2におい
て、当該Pステップの命令コード(オペコード)のデコ
ードを行う。そして、「書込み命令?」の判断ステップ
B3に移行する。
ステップB1で、CPU9は、RAM11からプログラ
ムの1ステップ(以下、Pステップと称す)を読み出す
と、次の「命令デコード」の処理ステップB2におい
て、当該Pステップの命令コード(オペコード)のデコ
ードを行う。そして、「書込み命令?」の判断ステップ
B3に移行する。
【0043】判断ステップB3において、CPU9は、
ステップB2でデコードした命令が書込み命令であるか
否かを判断する。書込み命令ではなく「NO」と判断す
ると、「他の処理」の処理ステップB4に移行して、他
の命令に応じた処理を行う。また、デコードした命令が
書込み命令であり「YES」と判断すると、「識別フラ
グセット?」の判断ステップB5に移行する。
ステップB2でデコードした命令が書込み命令であるか
否かを判断する。書込み命令ではなく「NO」と判断す
ると、「他の処理」の処理ステップB4に移行して、他
の命令に応じた処理を行う。また、デコードした命令が
書込み命令であり「YES」と判断すると、「識別フラ
グセット?」の判断ステップB5に移行する。
【0044】判断ステップB5において、CPU9は、
読み出したPステップに識別フラグがセットされている
か否かを判断する。識別フラグがセットされておらず
「NO」と判断すると、「書込み実行」の処理ステップ
B6に移行する。
読み出したPステップに識別フラグがセットされている
か否かを判断する。識別フラグがセットされておらず
「NO」と判断すると、「書込み実行」の処理ステップ
B6に移行する。
【0045】即ち、識別フラグがセットされていないP
ステップにおけるオペランドのデスティネーションアド
レスには、特定領域を示すラベルは使用されておらず、
アドレスの即値がセットされている。この場合は、処理
ステップB6において、CPU9は、ネイティブデコー
ド部14cに処理を渡し、そのアドレスをアクセスして
書込み命令を実行する。そして、ステップB1に移行し
て、プログラムの次のPステップを読み出す。
ステップにおけるオペランドのデスティネーションアド
レスには、特定領域を示すラベルは使用されておらず、
アドレスの即値がセットされている。この場合は、処理
ステップB6において、CPU9は、ネイティブデコー
ド部14cに処理を渡し、そのアドレスをアクセスして
書込み命令を実行する。そして、ステップB1に移行し
て、プログラムの次のPステップを読み出す。
【0046】一方、判断ステップB5において、識別フ
ラグがセットされておりCPU9が「YES」と判断す
ると、「特定データ領域の情報を得る」の処理ステップ
B7に移行する。処理ステップB7においては、インタ
プリタ部14dによって処理が行われる。CPU9は、
Pステップのオペランドにあるラベル名“WMEM”を
判別して、特定データ領域“WMEM”に関する割り付
けアドレス,データ語長やワード数などの情報を、プロ
グラミング装置1からRAM11に送信されている特定
データ領域情報から得る。そして、「書込み可能容量算
出」の処理ステップB8に移行する。
ラグがセットされておりCPU9が「YES」と判断す
ると、「特定データ領域の情報を得る」の処理ステップ
B7に移行する。処理ステップB7においては、インタ
プリタ部14dによって処理が行われる。CPU9は、
Pステップのオペランドにあるラベル名“WMEM”を
判別して、特定データ領域“WMEM”に関する割り付
けアドレス,データ語長やワード数などの情報を、プロ
グラミング装置1からRAM11に送信されている特定
データ領域情報から得る。そして、「書込み可能容量算
出」の処理ステップB8に移行する。
【0047】処理ステップB8〜B12の処理は、実行
判定部14bによって行われる。処理ステップB8にお
いて、CPU9は、特定データ領域“WMEM”の書込
み可能容量を算出する。ここで、特定データ領域“WM
EM”は他の処理において演算に用いられるデータが一
時的に記憶されるテンポラリバッファとして使用されて
おり、ユーザプログラムにおいて書込み命令が発行され
ると、1回の発行毎にデータ領域の先頭からデータの書
込みが行われるようになっている。
判定部14bによって行われる。処理ステップB8にお
いて、CPU9は、特定データ領域“WMEM”の書込
み可能容量を算出する。ここで、特定データ領域“WM
EM”は他の処理において演算に用いられるデータが一
時的に記憶されるテンポラリバッファとして使用されて
おり、ユーザプログラムにおいて書込み命令が発行され
ると、1回の発行毎にデータ領域の先頭からデータの書
込みが行われるようになっている。
【0048】従って、この場合、特定データ領域“WM
EM”についての書込み可能容量とは、当該データ領域
全体の容量を示す。また、書込み命令は、(4)に示す
ようにパラメータとして書込みワード数を指定するの
で、ステップB5で得た情報から、特定データ領域“W
MEM”のワード数(1024)を書込み可能容量とす
る。次に、「書込み容量算出」の処理ステップB9に移
行する。
EM”についての書込み可能容量とは、当該データ領域
全体の容量を示す。また、書込み命令は、(4)に示す
ようにパラメータとして書込みワード数を指定するの
で、ステップB5で得た情報から、特定データ領域“W
MEM”のワード数(1024)を書込み可能容量とす
る。次に、「書込み容量算出」の処理ステップB9に移
行する。
【0049】処理ステップB9において、CPU9は、
(4)に示すラベル“WMEM”のパラメータとして指
定されている書込みワード数100H(256)を得
て、この場合の書込み容量とする。そして、「書込み可
否値算出」の処理ステップB10に移行する。
(4)に示すラベル“WMEM”のパラメータとして指
定されている書込みワード数100H(256)を得
て、この場合の書込み容量とする。そして、「書込み可
否値算出」の処理ステップB10に移行する。
【0050】処理ステップB10において、CPU9
は、ステップB8で得た書込み可能容量から、ステップ
B9で得た書込み容量を減算することにより書込み可否
値を演算する。この場合、書込み可否値は、1024−
256=768 となる。そして、次の「書込み可否値
<0?」の判断ステップB11において、CPU9は、
ステップB10で算出した書込み可否値が0未満である
か否かを判断する。
は、ステップB8で得た書込み可能容量から、ステップ
B9で得た書込み容量を減算することにより書込み可否
値を演算する。この場合、書込み可否値は、1024−
256=768 となる。そして、次の「書込み可否値
<0?」の判断ステップB11において、CPU9は、
ステップB10で算出した書込み可否値が0未満である
か否かを判断する。
【0051】この場合は、書込み可否値が0以上であり
CPU9が「NO」と判断するので、ステップB6に移
行して、特定データ領域“WMEM”に先頭アドレス1
800Hから256ワード、即ち容量512バイトの書
込みを行う。また、書込み可否値が0未満であり「YE
S」と判断した場合は、「エラーフラグセット」の処理
ステップB12に移行して、実行判定部14bは、CP
U9内部の実行ステータスレジスタの書込みエラーフラ
グのビットにフラグをセットする。その後、ステップB
1に移行する。
CPU9が「NO」と判断するので、ステップB6に移
行して、特定データ領域“WMEM”に先頭アドレス1
800Hから256ワード、即ち容量512バイトの書
込みを行う。また、書込み可否値が0未満であり「YE
S」と判断した場合は、「エラーフラグセット」の処理
ステップB12に移行して、実行判定部14bは、CP
U9内部の実行ステータスレジスタの書込みエラーフラ
グのビットにフラグをセットする。その後、ステップB
1に移行する。
【0052】即ち、CPU9の実行判定部14bによっ
て行われるステップB11における判断の結果が、図2
に示すユーザプログラムのステップA2における、書込
みの成否の判断に反映されるようになっている。
て行われるステップB11における判断の結果が、図2
に示すユーザプログラムのステップA2における、書込
みの成否の判断に反映されるようになっている。
【0053】以上の図1に示したフローチャートは、P
C5のCPU9が実際にユーザプログラムを実行する場
合の処理である。一方、プログラミング装置1の制御部
3が有するシミュレータ3cは、CPU9のユーザプロ
グラムの実行状態をプログラミング装置1側においてシ
ミュレートするものであり、そのシミュレータ3cがシ
ミュレーションを実行する場合も、基本的には、図1に
示したフローチャートに従って実行するようになってい
る。
C5のCPU9が実際にユーザプログラムを実行する場
合の処理である。一方、プログラミング装置1の制御部
3が有するシミュレータ3cは、CPU9のユーザプロ
グラムの実行状態をプログラミング装置1側においてシ
ミュレートするものであり、そのシミュレータ3cがシ
ミュレーションを実行する場合も、基本的には、図1に
示したフローチャートに従って実行するようになってい
る。
【0054】そして、シミュレータ3cは、CPU9に
よる実行状態をした結果、例えば、プログラム中で定義
されていない変数を使用していたり、或いは0除算など
の不正な演算が行なわれた場合などには、ディスプレイ
4にエラーメッセージを出力するなどして、作業者にプ
ログラムの修正を促す。
よる実行状態をした結果、例えば、プログラム中で定義
されていない変数を使用していたり、或いは0除算など
の不正な演算が行なわれた場合などには、ディスプレイ
4にエラーメッセージを出力するなどして、作業者にプ
ログラムの修正を促す。
【0055】また、例えばステップB12に対応する処
理において「YES」と判断した場合も、シミュレータ
3cは、ディスプレイ4にエラーメッセージを出力させ
る。但し、この場合シミュレータ3cによってチェック
が可能となるのは、特定データ領域の書込みに対して与
えられるパラメータが(4)に示すコマンドラインのよ
うに即値であるもの、若しくは、与えられている既知の
データから数値が確定される変数に限る。
理において「YES」と判断した場合も、シミュレータ
3cは、ディスプレイ4にエラーメッセージを出力させ
る。但し、この場合シミュレータ3cによってチェック
が可能となるのは、特定データ領域の書込みに対して与
えられるパラメータが(4)に示すコマンドラインのよ
うに即値であるもの、若しくは、与えられている既知の
データから数値が確定される変数に限る。
【0056】逆に、特定データ領域の書込みに対して与
えられるパラメータが、例えば、 COPY 20000H WMEM[DATAIN] …(5) のように変数“DATAIN”であり、この変数“DA
TAIN”が、PC5が実際に動作した時に、外部装置
からPC5に対して送信されるデータ量によって決定さ
れるものである場合は、プログラミング装置1側のシミ
ュレータ3cでは書込みの可否をチェックすることはで
きない。
えられるパラメータが、例えば、 COPY 20000H WMEM[DATAIN] …(5) のように変数“DATAIN”であり、この変数“DA
TAIN”が、PC5が実際に動作した時に、外部装置
からPC5に対して送信されるデータ量によって決定さ
れるものである場合は、プログラミング装置1側のシミ
ュレータ3cでは書込みの可否をチェックすることはで
きない。
【0057】しかしながら、PC5側においては、実際
にユーザプログラムを実行する場合に、図1に示す処理
ステップB8〜B12の処理を、CPU9の実行判定部
14bがリアルタイムで行うことによって、パラメータ
が動的に変化する場合であっても書込みの可否をチェッ
クすることができるのである。
にユーザプログラムを実行する場合に、図1に示す処理
ステップB8〜B12の処理を、CPU9の実行判定部
14bがリアルタイムで行うことによって、パラメータ
が動的に変化する場合であっても書込みの可否をチェッ
クすることができるのである。
【0058】以上のように本実施例によれば、プログラ
ミング装置1の制御部3における変換処理部3bは、ラ
ベルが付与された特定データ領域を使用することがユー
ザプログラム中で宣言され、且つ、その特定データ領域
のデータ語長及びワード数が指定されると、そのデータ
語長及びワード数に基づいて特定データ領域の容量を決
定し、その特定データ領域をPC5のRAM11の一部
に割り付ける。そして、その特定データ領域は、ユーザ
プログラムからはラベルを介してのみアクセスが可能と
なるようにした。
ミング装置1の制御部3における変換処理部3bは、ラ
ベルが付与された特定データ領域を使用することがユー
ザプログラム中で宣言され、且つ、その特定データ領域
のデータ語長及びワード数が指定されると、そのデータ
語長及びワード数に基づいて特定データ領域の容量を決
定し、その特定データ領域をPC5のRAM11の一部
に割り付ける。そして、その特定データ領域は、ユーザ
プログラムからはラベルを介してのみアクセスが可能と
なるようにした。
【0059】従って、作業者は、ユーザプログラムにお
いて特定データ領域を使用するために割り付けアドレス
や容量を一々指定する必要がなく、目的に応じて異なる
データ語長及びワード数を有する複数の特定データ領域
を使用することができ、プログラミングの自由度が高ま
り、記述を容易に行うことができる。また、ユーザプロ
グラム中において不用意に記述された特定データ領域に
対応するアドレスによりアクセスが行われることがな
く、データの保護管理を容易に行うことができる。
いて特定データ領域を使用するために割り付けアドレス
や容量を一々指定する必要がなく、目的に応じて異なる
データ語長及びワード数を有する複数の特定データ領域
を使用することができ、プログラミングの自由度が高ま
り、記述を容易に行うことができる。また、ユーザプロ
グラム中において不用意に記述された特定データ領域に
対応するアドレスによりアクセスが行われることがな
く、データの保護管理を容易に行うことができる。
【0060】また、本実施例によれば、ユーザプログラ
ム中において対応する特定データ領域にアクセスを行う
ためのワード数がパラメータとして指定できるので、作
業者は、ユーザプログラム中で例えば異なるデータ語長
及びワード数を有する複数の特定データ領域を使用する
場合でも、各特定データ領域によって異なるデータ語長
に応じてアドレスのオフセットを演算することなく、必
要なデータ数のみを指定すれば良いので、ユーザプログ
ラムの記述がより容易となる。
ム中において対応する特定データ領域にアクセスを行う
ためのワード数がパラメータとして指定できるので、作
業者は、ユーザプログラム中で例えば異なるデータ語長
及びワード数を有する複数の特定データ領域を使用する
場合でも、各特定データ領域によって異なるデータ語長
に応じてアドレスのオフセットを演算することなく、必
要なデータ数のみを指定すれば良いので、ユーザプログ
ラムの記述がより容易となる。
【0061】更に、本実施例によれば、変換処理部3b
は、ユーザプログラムをPC5が実行可能な形式に変換
する場合に、何れかのステップにラベルが記述されてい
る場合は、ラベルが使用されていることを示す識別フラ
グを当該ステップにセットするので、PC5は、識別フ
ラグを参照することによって、そのステップのオペラン
ドに指定されているものが、ユーザプログラム中で使用
が宣言された特定データ領域であるか否かを判断するこ
とができる。
は、ユーザプログラムをPC5が実行可能な形式に変換
する場合に、何れかのステップにラベルが記述されてい
る場合は、ラベルが使用されていることを示す識別フラ
グを当該ステップにセットするので、PC5は、識別フ
ラグを参照することによって、そのステップのオペラン
ドに指定されているものが、ユーザプログラム中で使用
が宣言された特定データ領域であるか否かを判断するこ
とができる。
【0062】加えて、本実施例によれば、プログラミン
グ装置1の制御部3におけるシミュレータ3cは、PC
5によるユーザプログラムの実行状態をシミュレートす
る時に、書込み命令を実行するステップに識別フラグが
セットされている場合は、その特定データ領域の書込み
可能容量とその特定データ領域に対して指定されている
書込み容量とを比較して、書込み命令を実行すると特定
データ領域をオーバーすると判断した場合は、ディスプ
レイ4にエラーメッセージを出力するようにした。
グ装置1の制御部3におけるシミュレータ3cは、PC
5によるユーザプログラムの実行状態をシミュレートす
る時に、書込み命令を実行するステップに識別フラグが
セットされている場合は、その特定データ領域の書込み
可能容量とその特定データ領域に対して指定されている
書込み容量とを比較して、書込み命令を実行すると特定
データ領域をオーバーすると判断した場合は、ディスプ
レイ4にエラーメッセージを出力するようにした。
【0063】従って、ラベルに付されたパラメータのワ
ード数が即値若しくは確定値で指定されているステップ
に関しては、PC5に実際に実行させる前に、特定デー
タ領域をオーバーするような書込みが行われるか否かを
事前にチェックすることができるので、デバッグ作業を
より効率的に行うことができる。
ード数が即値若しくは確定値で指定されているステップ
に関しては、PC5に実際に実行させる前に、特定デー
タ領域をオーバーするような書込みが行われるか否かを
事前にチェックすることができるので、デバッグ作業を
より効率的に行うことができる。
【0064】また、本実施例によれば、制御部3は、変
換処理部3bよって割り付けが行われた特定データ領域
に関する特定データ領域情報を、実行可能な形式に変換
されたユーザプログラムと共にPC5側に送信するの
で、PC5は、ユーザプログラムの各ステップにおける
識別フラグの有無と特定データ領域情報とを参照するこ
とによって、特定データ領域のアドレス等の情報を得る
ことができる。
換処理部3bよって割り付けが行われた特定データ領域
に関する特定データ領域情報を、実行可能な形式に変換
されたユーザプログラムと共にPC5側に送信するの
で、PC5は、ユーザプログラムの各ステップにおける
識別フラグの有無と特定データ領域情報とを参照するこ
とによって、特定データ領域のアドレス等の情報を得る
ことができる。
【0065】また、本実施例によれば、PC5のCPU
9における実行判定部14bは、ユーザプログラムの実
行時において、書込み命令を実行するステップに識別フ
ラグがセットされていると、特定データ領域情報を参照
してオペランドで指定されている特定データ領域の書込
み可能容量と当該データ領域に対して指定されている書
込み容量とを比較し、その書込み命令を実行すると特定
データ領域をオーバーすると判断した場合は、CPU9
の実行ステータスレジスタに書込みエラーを示す書込み
エラーフラグをセットするようにした。
9における実行判定部14bは、ユーザプログラムの実
行時において、書込み命令を実行するステップに識別フ
ラグがセットされていると、特定データ領域情報を参照
してオペランドで指定されている特定データ領域の書込
み可能容量と当該データ領域に対して指定されている書
込み容量とを比較し、その書込み命令を実行すると特定
データ領域をオーバーすると判断した場合は、CPU9
の実行ステータスレジスタに書込みエラーを示す書込み
エラーフラグをセットするようにした。
【0066】従って、ユーザプログラムの実行時におい
て、例えば、ラベルに付されたパラメータのワード数
が、実際の処理結果によって値が変化するような変数で
与えられている場合でも、実際に書込みが実行される前
に、その書込みが特定データ領域をオーバーする書込み
であるか否かをチェックすることができるので、他の領
域に記憶されているデータが破壊されるのを未然に防止
することができる。
て、例えば、ラベルに付されたパラメータのワード数
が、実際の処理結果によって値が変化するような変数で
与えられている場合でも、実際に書込みが実行される前
に、その書込みが特定データ領域をオーバーする書込み
であるか否かをチェックすることができるので、他の領
域に記憶されているデータが破壊されるのを未然に防止
することができる。
【0067】本発明は上記し且つ図面に記載した実施例
にのみ限定されるものではなく、次のような変形または
拡張が可能である。ユーザプログラム中において、ラベ
ルを付した特定データ領域の使用を宣言する場合には、
必ずしもデータ語長及びワード数を指定する必要はな
く、例えば、データ語長のみを指定した場合はワード数
はデフォルト値で決定し、また、ワード数のみを指定し
てデータ語長が無指定の場合は、データ語長をデフォル
ト値とするようにしても良い。或いは、何れも無指定で
ありラベル名のみ使用が宣言された場合は、データ語長
及びワード数共にデフォルト値で決定される所定容量を
与えるようにしても良い。
にのみ限定されるものではなく、次のような変形または
拡張が可能である。ユーザプログラム中において、ラベ
ルを付した特定データ領域の使用を宣言する場合には、
必ずしもデータ語長及びワード数を指定する必要はな
く、例えば、データ語長のみを指定した場合はワード数
はデフォルト値で決定し、また、ワード数のみを指定し
てデータ語長が無指定の場合は、データ語長をデフォル
ト値とするようにしても良い。或いは、何れも無指定で
ありラベル名のみ使用が宣言された場合は、データ語長
及びワード数共にデフォルト値で決定される所定容量を
与えるようにしても良い。
【0068】特定データ領域にアクセスする場合は、パ
ラメータとしてワード数を指定するものに限らず、パラ
メータを指定せずに、例えば、命令の記述フォーマット
に応じて、アドレスの××××H番地から××××H番
地までの内容を特定データ領域に転送せよ、というよう
にしても良い。また、特定データ領域に対しては、例え
ば2Kバイトなどの容量の枠のみを与えておき、書込み
命令の発行時において、書込みデータ語長及びワード数
を一々パラメータとして与えるようにしても良い。変換
処理部3bは、ユーザプログラムをPC5が実行可能な
形式に変換する場合に、ラベルの使用に応じて識別フラ
グを必ずしもセットする必要はなく、PC5側のCPU
9において、命令のオペランドを直接参照させて、テキ
ストコードが記述されている場合は、ラベルが使用され
ていると判断させるようにしても良い。プログラミング
装置1のシミュレータ3cは、必要に応じて設ければ良
い。
ラメータとしてワード数を指定するものに限らず、パラ
メータを指定せずに、例えば、命令の記述フォーマット
に応じて、アドレスの××××H番地から××××H番
地までの内容を特定データ領域に転送せよ、というよう
にしても良い。また、特定データ領域に対しては、例え
ば2Kバイトなどの容量の枠のみを与えておき、書込み
命令の発行時において、書込みデータ語長及びワード数
を一々パラメータとして与えるようにしても良い。変換
処理部3bは、ユーザプログラムをPC5が実行可能な
形式に変換する場合に、ラベルの使用に応じて識別フラ
グを必ずしもセットする必要はなく、PC5側のCPU
9において、命令のオペランドを直接参照させて、テキ
ストコードが記述されている場合は、ラベルが使用され
ていると判断させるようにしても良い。プログラミング
装置1のシミュレータ3cは、必要に応じて設ければ良
い。
【0069】特定データ領域は、プログラムにおける書
込み命令が発行される毎に領域の先頭から書込みが行わ
れるようなテンポラリバッファとして使用するものに限
らず、プログラムにおける書込み命令が所定回数発行さ
れるまでは、領域の先頭から順次データが書込まれて行
くスタックとして使用しても良い。この場合、ステップ
B8における書込み可能容量は、特定データ領域におい
て未だ書込みが行われていない残容量を算出するように
する。そして、特定データ領域に対して既に書込みが行
われた容量の管理はユーザプログラム側で行って、当該
容量を書込み命令の発行時にパラメータとして与えても
良いし、或いは、上記実施例のように、ユーザプログラ
ム側では各書込み命令発行時の書込み容量のみをパラメ
ータとして与えて、CPU9の実行判定部14bにおい
て管理するようにしても良い。書込み可能容量の算出
は、特定データ領域の最終アドレスから先頭アドレスを
減算して求めても良い。処理ステップB9における書込
み容量の算出は、パラメータとしてデータ語長及びワー
ド数が指定された場合は、(データ語長)×(ワード
数) によって算出しても良い。
込み命令が発行される毎に領域の先頭から書込みが行わ
れるようなテンポラリバッファとして使用するものに限
らず、プログラムにおける書込み命令が所定回数発行さ
れるまでは、領域の先頭から順次データが書込まれて行
くスタックとして使用しても良い。この場合、ステップ
B8における書込み可能容量は、特定データ領域におい
て未だ書込みが行われていない残容量を算出するように
する。そして、特定データ領域に対して既に書込みが行
われた容量の管理はユーザプログラム側で行って、当該
容量を書込み命令の発行時にパラメータとして与えても
良いし、或いは、上記実施例のように、ユーザプログラ
ム側では各書込み命令発行時の書込み容量のみをパラメ
ータとして与えて、CPU9の実行判定部14bにおい
て管理するようにしても良い。書込み可能容量の算出
は、特定データ領域の最終アドレスから先頭アドレスを
減算して求めても良い。処理ステップB9における書込
み容量の算出は、パラメータとしてデータ語長及びワー
ド数が指定された場合は、(データ語長)×(ワード
数) によって算出しても良い。
【図1】本発明の一実施例を示す、プログラマブルコン
トローラ側のCPUがユーザプログラムを実行する場合
における処理内容のフローチャート
トローラ側のCPUがユーザプログラムを実行する場合
における処理内容のフローチャート
【図2】ユーザプログラム中において、特定データ領域
に対する書込み処理を記述する場合の手順を概略的に示
すフローチャート
に対する書込み処理を記述する場合の手順を概略的に示
すフローチャート
【図3】プログラミング作業の処理手順を示すプロセス
チャート
チャート
【図4】ユーザプログラム中における、ラベル名を付し
た特定データ領域の宣言をする場合の記述例を示す図
た特定データ領域の宣言をする場合の記述例を示す図
【図5】特定データ領域を、ユーザ定義メモリ領域に割
り付けた状態を概念的に示す図
り付けた状態を概念的に示す図
【図6】(a)はラベル名を付した特定データ領域に対
してアクセスを行う場合のユーザプログラムの記述例を
示す図、(b)は、(a)をプログラマブルコントロー
ラが実行可能な形式に変換した場合のデータフォーマッ
トの例を示す図
してアクセスを行う場合のユーザプログラムの記述例を
示す図、(b)は、(a)をプログラマブルコントロー
ラが実行可能な形式に変換した場合のデータフォーマッ
トの例を示す図
【図7】プログラミング装置及びプログラマブルコント
ローラの全体の構成を示す機能ブロック図
ローラの全体の構成を示す機能ブロック図
【図8】プログラミング装置の詳細な構成を示す機能ブ
ロック図
ロック図
【図9】プログラマブルコントローラのCPUにおけ
る、ハードウエア−ソフトウエアの階層構造を概念的に
示す図
る、ハードウエア−ソフトウエアの階層構造を概念的に
示す図
1はプログラミング装置、3は制御部(識別名付与手
段,送信手段)、3bは変換処理部(領域割り付け手
段,変換手段)、3cはシミュレータ(シミュレーショ
ン手段,書き込み判定シミュレーション手段)、5はプ
ログラマブルコントローラ、7は通信用インターフェイ
ス(送信手段)、14bは実行判定部(書込み判定手
段)を示す。
段,送信手段)、3bは変換処理部(領域割り付け手
段,変換手段)、3cはシミュレータ(シミュレーショ
ン手段,書き込み判定シミュレーション手段)、5はプ
ログラマブルコントローラ、7は通信用インターフェイ
ス(送信手段)、14bは実行判定部(書込み判定手
段)を示す。
Claims (7)
- 【請求項1】 プログラマブルコントローラのユーザプ
ログラムにおいて使用するデータ領域に識別名を付与す
る識別名付与手段と、 前記識別名が付与されたデータ領域を使用することが前
記ユーザプログラム中で宣言されると、前記データ領域
を前記プログラマブルコントローラのメモリ領域の一部
に所定容量を以て割り付け、且つ、当該データ領域を前
記ユーザプログラムからは前記識別名を介してのみアク
セスすることを可能とする領域割り付け手段とを備えた
ことを特徴とするプログラマブルコントローラのプログ
ラミング装置。 - 【請求項2】 前記識別名付与手段は、前記識別名を付
与する際に、前記データ領域のデータ語長及びデータ数
が指定可能であり、 前記領域割り付け手段は、前記識別名付与手段によって
データ語長及びデータ数が指定された場合は、当該デー
タ語長及びデータ数に基づいて前記データ領域の容量を
決定することを特徴とする請求項1記載のプログラマブ
ルコントローラのプログラミング装置。 - 【請求項3】 前記識別名付与手段によって付与された
識別名は、ユーザプログラム中において、対応するデー
タ領域にアクセスを行うためのデータ数がパラメータと
して指定可能であることを特徴とする請求項1または2
記載のプログラマブルコントローラのプログラミング装
置。 - 【請求項4】 前記ユーザプログラムを対象となるプロ
グラマブルコントローラが実行可能な形式に変換する際
に、当該ユーザプログラム中の何れかのステップに前記
識別名が記述されている場合は、前記識別名が使用され
ていることを示す識別フラグを前記ステップにセットす
る変換手段を備えたことを特徴とする請求項1乃至3の
何れかに記載のプログラマブルコントローラのプログラ
ミング装置。 - 【請求項5】 プログラマブルコントローラが実行可能
な形式に変換されたユーザプログラムの実行状態をシミ
ュレートすることが可能なシミュレーション手段と、 このシミュレーション手段が前記ユーザプログラムの実
行状態をシミュレートする時に、書込み命令を実行する
ステップに前記識別フラグがセットされている場合は、
その識別名が付されたデータ領域の書込み可能容量と当
該データ領域に対して指定されている書込み容量とを比
較して、前記書込み命令を実行すると前記データ領域を
オーバーすると判断した場合は、エラーメッセージを出
力する書込み判定シミュレーション手段を備えたことを
特徴とする請求項4記載のプログラマブルコントローラ
のプログラミング装置。 - 【請求項6】 前記領域割り付け手段によって割り付け
が行われた前記データ領域に関するデータ領域情報を、
実行可能な形式に変換されたユーザプログラムと共に前
記プログラマブルコントローラ側に送信する送信手段を
備えたことを特徴とする請求項3乃至5の何れかに記載
のプログラマブルコントローラのプログラミング装置。 - 【請求項7】 請求項6記載のプログラマブルコントロ
ーラのプログラミング装置によって実行形式に変換され
たユーザプログラムの実行時において、書込み命令を実
行するステップに前記識別フラグがセットされている場
合は、前記データ領域情報を参照することにより、当該
ステップのオペランドで指定されている識別名が付され
たデータ領域の書込み可能容量と前記当該データ領域に
対して指定されている書込み容量とを比較して、前記書
込み命令を実行すると前記データ領域をオーバーすると
判断した場合は、CPUの実行ステータスレジスタに書
込みエラーを示すエラーフラグをセットする書込み判定
手段を備えたことを特徴とするプログラマブルコントロ
ーラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13675297A JPH10326105A (ja) | 1997-05-27 | 1997-05-27 | プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13675297A JPH10326105A (ja) | 1997-05-27 | 1997-05-27 | プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10326105A true JPH10326105A (ja) | 1998-12-08 |
Family
ID=15182681
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13675297A Pending JPH10326105A (ja) | 1997-05-27 | 1997-05-27 | プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10326105A (ja) |
-
1997
- 1997-05-27 JP JP13675297A patent/JPH10326105A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104067186B (zh) | 支援装置、记录有支援程序的记录介质及生成可执行程序的方法 | |
| GB2432018A (en) | Program creating device for programmable controller, program creating method for programmable controller, and recording medium | |
| JP3222821B2 (ja) | プログラマブルコントローラ | |
| CN111367811A (zh) | 一种提高bmc的管理网页调试效率的方法及系统 | |
| US20060080636A1 (en) | Method of building intelligent platform management interface firmware architecture | |
| JP6746040B1 (ja) | 命令変換装置、方法、及びプログラム | |
| WO2019171794A1 (ja) | サポート装置およびサポートプログラム | |
| JPH10326105A (ja) | プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラ | |
| CN114625646A (zh) | 一种检测系统内存越界的方法和装置 | |
| US20060184924A1 (en) | Intelligent platform management interface firmware architecture and method of building the same | |
| US6415371B1 (en) | Storage system, storage device, storage medium controller, access device, method for protecting data, storage medium and computer data signal | |
| JP2001051704A (ja) | プログラマブル・コントローラ | |
| JP2004206716A (ja) | ランタイム構成用にダウンロードするコードの判定方法 | |
| CN114528141B (zh) | 一种嵌入式系统内核态下程序缺陷修复的方法和装置 | |
| JPH113105A (ja) | プログラマブルコントローラのプログラミング装置 | |
| JP3971361B2 (ja) | デバッグ機能を備えるマルチプロセッサシステム及びマルチプロセッサシステムのプログラム | |
| KR101122418B1 (ko) | 텍스트 파일을 이용한 프로토콜 인터페이스 장치와 시스템 그리고 그 방법 | |
| JP4258312B2 (ja) | 画像形成装置およびそのプログラム更新履歴管理方法 | |
| JP4479558B2 (ja) | プログラマブルコントローラ及びそのプログラミングツール | |
| JPH11259308A (ja) | プログラマブルコントローラ | |
| CN114281760B (zh) | 数据项文件的注册方法、系统、电子设备及存储介质 | |
| JPH10333718A (ja) | プログラマブルコントローラのプログラミング装置及びプログラマブルコントローラ | |
| JP2006018759A (ja) | 制御装置及び方法 | |
| JP6691884B2 (ja) | 計算機及びアプリケーション管理方法 | |
| JP2885957B2 (ja) | シーケンスプログラムのプログラミング方法および装置 |