JPH05274011A - プログラマブルコントローラ及びその制御方法 - Google Patents

プログラマブルコントローラ及びその制御方法

Info

Publication number
JPH05274011A
JPH05274011A JP5009003A JP900393A JPH05274011A JP H05274011 A JPH05274011 A JP H05274011A JP 5009003 A JP5009003 A JP 5009003A JP 900393 A JP900393 A JP 900393A JP H05274011 A JPH05274011 A JP H05274011A
Authority
JP
Japan
Prior art keywords
language
instruction
program
file
ladder
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.)
Granted
Application number
JP5009003A
Other languages
English (en)
Other versions
JP2765423B2 (ja
Inventor
Toshio Harada
敏夫 原田
Kazuhiro Kudo
和弘 工藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPH05274011A publication Critical patent/JPH05274011A/ja
Application granted granted Critical
Publication of JP2765423B2 publication Critical patent/JP2765423B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13001Interrupt handling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13018Conversion ladder diagram to decision system, machine code, language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13022Convert source program to intermediate program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13041Display ladder or logic diagram, mnemonics, switch between two display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13045Additional data to restore ladder diagram from machine instructions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13093Using functions like arithmetic timers in program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13097Function is true macro program, not subroutine, conversion to machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13104Assembly, machine code, instruction list, AWL, IL, BL
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15127Bit and word, byte oriented instructions, boolean and arithmetic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【目的】 機能命令に対応するマクロプログラムを解析
して処理する必要がなく、しかも表示は従来と同様に行
えるプログラマブルコントローラを得る。 【構成】 機能命令と機械語を対応させるテーブル(2
17、215、208b、221)を有し、機能命令を
当該命令ステップに特定される機械語に変換してシーケ
ンスプログラムとして記憶し、その機械語に付随して、
対応する復元情報を記憶しておき、シーケンス処理の実
行はマクロプログラムを用いない特定の機械語で、シー
ケンスプログラムの表示は復元情報から復元したラダー
言語により行うように構成した。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプログラマブルコントロ
ーラ(Programmable Controlle
r;以下PCという)における、CPU命令による実行
ファイルの生成・実行および表示情報の処理方法に関す
るものである。
【0002】
【従来の技術】シーケンス制御を行うPCを動作させる
プログラムは、リレー動作に対応するビット処理を行う
基本命令や、より複雑な演算や制御を行わせるための機
能命令などによって記述される。そしてこれらのシーケ
ンスプログラムは、一般に流れ図を参照し、基本命令と
機能命令などから成るラダー言語を用いて、ラダー図と
して図面化(プログラミング)される。
【0003】このような制御においてビット処理を高速
に行うためのプログラマブルコントローラとしては特開
昭62−38902号公報や特開昭63−304302
号公報で開示されるものがあるが、機能命令はマクロプ
ログラムに展開してソフトウェアで処理しているため処
理速度は遅く、また、これらのPC命令にはラダー表示
するための機能も持たせており、その結果、全体として
も実行速度が低下するという欠点がある。その理由を以
下に説明する。
【0004】ここでいうラダー言語とは、入出力信号を
リレー接点やリレーコイルなどの電気回路シンボルで、
例えばカウントアップなどの処理機能は機能を表すIN
C(Increment)などの命令記号(ニーモニッ
ク)で記述するプログラミング言語であり、対話形式で
プログラミングを行うのに適している。これに対して上
記電気回路シンボルを、例えばLD(Load)、LD
I(Load Inverse)などの命令記号で、処
理機能も上記同様に命令記号で記述するニーモニック言
語などもあり、グラフィック機能を持たないPCでのプ
ログラミングやコンピュータによるプログラミングに適
している。
【0005】上記ラダー言語によりプログラミングされ
たシーケンスプログラムは、キーボードなどのプログラ
ム入力装置を介してPC内のメモリに、各命令に対応す
る機械語に変換されて格納され、CPU(中央処理装
置)が当該シーケンスプログラムの各命令ステップを周
期的に順次読み出して実行することにより、所望のシー
ケンス制御を行わせることができる。また上記メモリ内
には、シーケンスプログラムをCRT(Cathode
Ray Tube;陰極線管)などの表示装置にラダ
ー図として表示させるために、コンバータプログラムが
あり、機械語で記述されたシーケンスプログラムをメモ
リから順次読み出して解読し、機械語に対応付けられた
ラダー言語を上記CRTに出力し、ラダー図として表示
させている。
【0006】ここで従来技術を説明する前に、本発明の
中で使用しているPC命令について図10を例にとって
簡単に説明しておく。 [LD](ロード) PC命令におけるLD(Loadの略)とはメモリ上の
指定されたビットの内容を所定のレジスタに読み出し、
その結果が”1”であれば次に指令されている命令を実
行する基本命令である。従って、”LD M123”と
はメモリ上のM123と定義されているビットの内容を
レジスタに読み取ることを表す。例えばM123と定義
されているビットの内容が”1”であればレジスタに
は”1”が、逆に該ビットの内容が”0”であればレジ
スタには”0”が読み出される。そして、その結果が”
1”であれば次に指令されている”MOVE D200
D100”の命令を実行し、逆に結果が”0”であれ
ば”MOVE D200 D100”をスキップし、”
MOVE D200 D100”の次に指令されてい
る”LDI M100”の命令を実行する。
【0007】[LDI](ロードインバース) LDI(Load Inverseの略)はLDと同様
にメモリ上の指定されたビットの内容を所定のレジスタ
に読み出す基本命令であるが、LDと異なるのはビット
の内容を反転させて読み出す点である。従って、”LD
I M100”とはメモリ上のM100と定義されてい
るビットの内容を反転させた結果をレジスタに読み出す
ことを意味する。この例でいえばM100と定義されて
いるビットの内容が”1”であればレジスタには”0”
が、逆にビットの内容が”0”であればレジスタには”
1”が読み出される。そして、その結果が”1”であれ
ば次に指令されている”INCD800”の命令を実行
し、逆に結果が”0”であれば”INC D800”を
スキップし、図には記載していないが”INC D80
0”の次に指令されている命令を実行する。
【0008】[MOVE](ムーブ) ”MOVE D200 D100”はD200と定義さ
れたデータレジスタの内容を、D100と定義されたデ
ータレジスタに転送するPCの機能命令である。例え
ば”MOVE D200 D100”は、図12に示し
たようなマクロプログラムによって実現される。
【0009】[INC](インク) ”INC D800”はD800と定義されたデータレ
ジスタの内容に1を加算する(Increment)機
能を持つ機能命令である。
【0010】続いて本発明の中で使用しているCPU命
令を図2を例にとって簡単に説明しておく。 [btst](ビットテスト) ”btst #0,$A”の”btst”とは”bit
test”(英語ではtest a bit)を意味
する命令であり、この場合、具体的には$Aで示される
メモリアドレスのbit0の内容をテストし、その結果
をコンディションコードにセットする。ここで、ビット
0の内容が”0”であればコンディションコードを例え
ば”1”に、逆にビット0の内容が”1”であればコン
ディションコードを”0”にセットする。更に次のステ
ップで分岐命令を実行するが、その際、先に実行した”
btst”の結果をコンディションコードによってチェ
ックし、例えば”1”がセットされていれば”beq
B”の”B”で指定されたラベルで定義されたメモリア
ドレスへ分岐し、”0”であればその次の無条件分岐命
令である”bra A”を実行し、”4EAD02B
0”を含む3行からなるステップをスキップし、ラベ
ル”A:”で始まる”move.w $345,$24
5”を実行する。このように”btst”命令と”be
q”命令を組み合わせて使用すると、指定したメモリア
ドレスのビットの状態によって二つの処理に分岐させる
ことができる。
【0011】[move](ムーブ) ”move.w $C,$D”(ここの例では”mov
e.w $345,$245”)は”$C”で指定され
たメモリアドレスから1ワード(word=2byte
=16bit)の情報を、”$D”で指定されたメモリ
アドレスからの2バイトに転送する命令である。本命令
において、転送元および転送先である$Cおよび$Dの
値はCPUの制御プログラムによって決定されるもので
あり、PC命令で直接指定することはできない。
【0012】上記理由によりPC内部には、PCのユー
ザが任意に使用するMOVE命令の機能を実現するため
に、上記”move.w $345,$245”命令と
同等の作用をする、図12に示すような多数のCPU命
令から構成されるマクロプログラムが制御プログラムと
して予め準備されている。ここでPCプログラムを実行
中に”MOVE D200 D100”の命令が読み出
されると上記マクロプログラムを実行するように制御さ
れ、その結果、上記MOVE命令で指定されているデー
タレジスタD200からデータレジスタD100にデー
タが転送されることになる。従って、例えば上記MOV
E命令を上記move.w命令に変換しておき、この1
ステップのmove.w命令を実行させるだけで、図1
2に示すstep1およびstep3からstep6で
使用されている多数のCPU命令を実行させたのと同等
の処理が高速に実行できる。
【0013】次に、最初に述べたシーケンスプログラム
の制御を図8内至図12を用いて説明する。図8は従来
のPCの構成図であり、図において1はCPU、2はP
Cとしての制御に必要なプログラムや情報を記憶したメ
モリ、3はメモリの番地を指定するアドレスバス、4は
メモリの指定された番地のデータを入出力するデータバ
ス、5はビット処理を行う基本命令を検出するビット演
算命令検出部、6は基本命令の時に1のCPUに対して
応答を返すための無実行命令発生回路、7は無実行命令
発生回路6の出力をセレクタ8に入力するためのサブデ
ータバス、9は基本命令であるビット演算命令の処理を
行うビット演算処理部、10はCPUと各回路や装置と
データ授受を行うシステムデータバス、11はシーケン
ス処理に対して各種信号を入力したり処理結果を出力す
るディジタル入出力回路、12はスイッチ入力、13は
リレー回路からのリレー接点入力、14はランプ、15
はリレーコイルを示す。16はPCとオペレータとのイ
ンタフェースとなるキーボードとCRT装置、17は各
種プログラムやデータの入出力を行うためのフロッピー
ディスク駆動装置である。
【0014】メモリ2中の201はPCのプログラム処
理に必要なデータを記憶しておく制御テーブルであり、
202は計測動作などに於いて割り込み信号などによっ
て即時に座標データを読み込むなどの処理を行う割込み
処理プログラムである。
【0015】最初に図9を用いて数値制御(Numer
ical Control;以下NCという)装置に用
いられるPCを例にとって制御の遷移を説明する。PC
はaの基準割り込み信号によって起動され、まず基準割
り込み信号の発生周期で定期的に処理すべきプログラ
ム、つまりcの高速処理プログラムを実行する。この高
速処理プログラムを終了すると、次にeのNC処理(直
線や円弧などの補間・パルス分配処理等)を行い、続い
てdのメイン処理プログラムつまりシーケンスプログラ
ムを、前回実行中断位置から続行する。その後aの基準
割り込み信号が発生するとその時点でメイン処理dの実
行を中断し、高速処理c、NC処理e、メイン処理dの
続き、と順次プログラムを実行してゆく。また、割込み
信号が入力されると、現在実行している処理プログラム
を中断し、所定の番地のメモリ内容を保存するなどの割
込み処理プログラムbを実行する。この割込みプログラ
ムの実行を終了すると先に中断した処理プログラムを途
中から継続して実行する。上記メイン処理は高速処理の
ように毎回起動される毎にプログラム全てを実行するの
とは異なり、一連のプログラムを、優先順位の高い他の
プログラムに中断されながら、サイクリックに実行す
る。
【0016】ここで図9のe(NC処理)の処理時間の
不定性について説明する。NC処理には加工プログラム
を読み込み、上記加工プログラムによって指定された工
具経路を指定された速度で工具を移動させる制御などが
含まれる。上記加工プログラムは工具経路を指定するた
めの直線補間指令、円弧補間指令、また工具の寸法など
を補正するための工具補正指令などから構成される。
これらの指令の組み合わせによって、直線補間指令だけ
であれば処理時間は短く、また円弧補間指令と工具補正
指令などが組み合わされれば処理時間は長くなるなど、
その時の制御状態や演算の複雑さなどによって処理時間
は変化することになる。
【0017】次に図8の構成によるPCの動作を説明す
る。CPU1は図示していない基準割込み信号を発生す
る起動回路により一定時間(例えば10msec)毎に
起動され、メモリ2の所定の番地の内容を読み出すため
に、アドレスバス3を介してメモリ2の番地を指定す
る。この時、まず高速処理プログラム203がプログラ
ムの最初から実行され、図示していない工作機械の、工
具を取り付けたタレットやATC(自動工具交換)マガ
ジンの位置カウント制御などを行う。CPU1がメモリ
の番地をアドレスバス3により指定すると、当該アドレ
スのメモリの内容が読み出され、データバス4に出力さ
れる。上記データバス4上に出力されたメモリ内容はビ
ット演算命令検出部5で解読され、ビット演算命令を行
う基本命令か、高度な演算処理を行う機能命令かを判別
する。ここで読み出された内容が基本命令であることが
判別されると、NOP発生回路6にビット演算命令検出
信号が出力され、無実行(No Operation;
NOP(ノップ)と略す)命令を表すNOPコードがサ
ブデータバス7上に出力される。この時ビット演算命令
検出部5からセレクタ8にもビット演算命令検出信号が
出力され、セレクタ8はサブデータバス7上に出力され
ている無実行命令を表すNOPコードをシステムデータ
バス10上に出力する。更に、ビット演算命令検出部5
からビット演算処理部9にもビット演算命令検出信号が
出力され、ビット演算処理部9は上記PCの基本命令で
指定されているメモリ番地の所定のビットのオン・オフ
等の処理を行う。一方、CPU1はシステムデータバス
10上に出力されている無実行命令を実行して上記PC
の基本命令の次のステップに進む。
【0018】PCの基本命令以外の機能命令について
は、ビット演算命令検出部5はビット演算命令検出信号
を出力しないので、セレクタ8はデータバス4上に出力
されている、メモリ2から読み出された内容をそのまま
システムデータバス10上に出力し、CPU1はこの内
容を解析する事によりプログラムされた制御を実行す
る。以上のようにしてシーケンスプログラムが順次実行
され、スイッチ入力12やリレー接点入力13などの各
種入力信号の状態によって所定の処理を行い、ランプ1
4などの点灯・消灯やリレーコイル15などのオン・オ
フ制御を行う。この結果、PCを内蔵したNC装置によ
って制御される工作機械の主軸モータなどのオン・オ
フ、正転・逆転、クーラント(冷却油)のオン・オフな
どの制御が行われる。
【0019】次に従来のPCにおけるプログラム変換と
制御の流れを説明する。図10は従来のPCにおけるプ
ログラム変換の流れを説明する図、図12はデータ移動
命令におけるフローチャートと対応する具体的な構成命
令例を示す図、図11は従来のPCにおけるプログラム
構造と制御の流れを示す図である。但し図11において
は、メモリ幅は便宜上32ビットで表し、説明する。
【0020】211aはラダー言語入力データであり、
211aの下部に示されるラダー図に基づいて、図8の
キーボード・CRT装置16をオペレータが操作してワ
ーキングRAM211に入力する。ワーキングRAMは
RAM(Random Access Memory)
で構成されており、データが自由に書き換えられるよう
になっている。ラダー言語/中間言語変換プログラム2
07はラダー言語入力データ211aからラダープログ
ラムを順次読み取り、ラダー言語/中間言語変換テーブ
ル208aを参照して、ラダープログラムの各ステップ
を各構成要素に分離した中間言語に変換し、中間言語フ
ァイル211bをワーキングRAM211内に生成す
る。
【0021】続いてコンパイラ209は中間言語/機械
語変換テーブル210aを参照して中間言語ファイル2
11bの各要素を機械語に変換し、CPU命令から成る
実行ファイルとしてメモリ2のメイン処理プログラム2
04に入力する。このようにしてラダー言語で記述され
たラダープログラムは、CPU1が実行可能な機械語の
ファイルに変換され、メモリ2のメイン処理プログラム
204に記憶される。
【0022】ここで機械語とは0と1で表される、コン
ピュータが唯一認識できる表現方法あるが、人間には不
向きなので本説明では機械語を4ビットづつに区切り、
この4ビットを16進数によって表現するHEXA(ヘ
キサ)表現で代用する。
【0023】図10においてマクロプログラムファイル
206は、PCに内臓されているプログラムであって、
予め機能命令を実現するためのプログラムをC言語など
を用いて図12のように別途作成し、これらをコンパイ
ラによって機械語に翻訳したものを、既製のプログラム
としてメモリ2に記憶させてある。これらのプログラム
については各々のプログラムの先頭番地がジャンプテー
ブル205に記憶されており、ジャンプテーブル205
を参照することによって所望のプログラムに移行するこ
とができる。
【0024】図12は最初に指定したデータ番号のメモ
リに記憶されているデータを、次に指定したデータ番号
のメモリに転送する、PCのMOVE(Move)機能
を実現するためのマクロプログラムである。以下の一連
のプログラムの説明に使用する命令は、断りのない限り
CPU1のためのアセンブラ言語であり、これをコンパ
イラによってCPU1が動作する命令である機械語に翻
訳する。本明細書では判別し易くするためにPC命令お
よび中間言語は英大文字で、アセンブラ言語は英小文字
で記述する。
【0025】当該マクロプログラムが呼び出されると、
まず、step1でそのマクロプログラムを呼び出した
機能命令が記憶されていたメモリ2上の番地の次の番地
を記憶している、スタックポインタspの内容をレジス
タa0に読み出す。
【0026】step2ではPCのMOVE命令を実行
するための条件、つまり接点情報が1かどうかをチェッ
クする。このチェックすべきフラグの位置はPCのハー
ドウェアによって固定されており、ここではFLAGで
指定されるアドレスのビット0である。このチェック結
果が0であればstep6に分岐し、チェック結果が1
であればstep3に進む。
【0027】step3では処理に必要なレジスタをク
リアする。
【0028】step4では、まずPCのMOVE機能
命令に付随して指定されている転送元のデータ番号を取
り出し、続いてデータテーブルの先頭番地を読み出す。
次に上記データ番号に上記データテーブルの先頭番地を
足し込み、転送元のデータ番号のメモリの番地を得る。
最後に、得られたメモリ番地に記憶されているデータを
レジスタd0に読み出す。
【0029】step5ではstep4と同様に転送先
のデータ番号を取り出し、上記データ番号に上記データ
テーブルの先頭番地を足し込み、転送先のデータ番号の
メモリの番地を得る。最後に、得られたメモリ番地に、
レジスタd0に記憶されているデータを書き込む。
【0030】step6では次の有効なPCの命令が記
憶されている番地にスタックポインタを合わせるために
8(バイト)を足し込む。
【0031】図11は従来のPCにおけるプログラム構
造と制御の流れを示す図であり、図10で説明したプロ
グラム変換で作成された機械語による実行ファイルとジ
ャンプテーブル、図12で説明したMOVE機能などを
実現するマクロプログラムなどの機械語のファイルが結
合されたものである。
【0032】図11の構成に於いて各プログラムは、基
準割り込み信号によって高速処理が実行され、続いてN
C処理が実行され、その後メイン処理プログラムの前回
中断位置からシーケンス処理が再開され、上記サイクル
を繰り返す事によって、NCとPCを組み合わせた制御
装置による制御が行われる。
【0033】ここで、上記メイン処理プログラムを実行
中にCPU1が例えばPCの機能命令であるMOVE
D200 D100(実際には機械語でメモリに記憶さ
れており、HEXA表現をすると4EAD02B0とい
う、ジャンプ機能を有するコードから始まる3ステップ
の情報となっている)という命令が記憶されているメモ
リ2の番地を指定すると、当該番地に記憶されている上
記コードが読み出され、データバス4上に出力される。
このコードは基本命令ではないので、ビット演算命令検
出部5はデータバス4上に出力されたコードをシステム
データバス10上に出力するようにセレクタ8を制御す
る。
【0034】従って上記4EAD02B0というコード
はCPU1に読み取られ、更に上位16ビットの4EA
Dというコードによって機能命令である事を判別し、ジ
ャンプテーブルの先頭番地から、上記コードの下位16
ビットに出力されている”02B0”だけオフセットし
た番地からに記憶されている上記MOVE命令に関する
情報を参照する。ここには目的とするMOVE機能のマ
クロプログラムが記憶されているメモリ2上の絶対番地
と、該マクロプログラムの属性が記憶されている。
【0035】CPU1は上記情報から目的とするMOV
E機能のマクロプログラムが記憶されている絶対番地に
制御を移し、ここから順次、図11に示されるような命
令群を実行する事により、シーケンスプログラム上で指
定されている転送元データ番号から転送先データ番号に
データを転送する。上記マクロプログラムを最後まで実
行するとCPU1はマクロプログラムの後処理で更新さ
れたスタックポインタで示されるメモリ2の番地、すな
わちシーケンスプログラムの、今実行したPCのMOV
E機能命令の次の命令の記憶されているメモリ2の番地
を指定し、命令の解読・実行を続ける。
【0036】一方、シーケンスプログラムを表示する場
合は、機械語/ラダー言語変換プログラム(コンバー
タ)212aを用い、メイン処理プログラム204の最
初の命令情報を読み出し、解析する。これらの命令には
機械語とラダー言語との関連を示す情報および当該命令
の長さの情報が含まれており、当該情報により、機械語
/ラダー言語変換テーブル213aを参照すると該当す
るラダー言語が得られ、また次に読み出す命令が存在す
るメモリの番地が得られる。例えば上記”4EAD02
B0”というコードであれば、JSR $02B0、つ
まり”MOVEデータ転送元番号 データ転送先番号”
で3ステップの長さの命令であることが判り、データ転
送元番号とデータ転送先番号は第2および第3のステッ
プに記憶されている。これらの情報から上記MOVE命
令のフォーマットに所定のグラフィック情報を付加し、
CRTに出力すればよい。
【0037】従って、コンバータ212aによって、メ
イン処理プログラム204に記憶されているシーケンス
プログラムの先頭から命令を順次読み出し、それぞれの
命令を機械語/ラダー言語変換テーブル213aを用い
てラダー言語に変換することによって、メイン処理プロ
グラムエリア204に書き込まれている機械語をラダー
図として表示装置上に表示できる。
【発明が解決しようとする課題】
【0038】従来のPCは以上のように構成されている
ので、次のような欠点があった。1.一つの機能命令を
実行するためには、所定の機能を実現するための手順が
予めプログラムされ、メモリ2に記憶されているマクロ
プログラム中の、数多くの処理ステップを実行しなけれ
ばならず、また、マクロプログラムに到達するまでにも
プログラムの記憶番地を抽出するための相応のステップ
が必要であり、従って機能命令を多用する高度なシーケ
ンスプログラムは実行時間が長くなり、応答が悪くなる
という欠点がある。
【0039】2.例えば図12に示すような、CPU命
令であるstep4の”move (a1),d0”
と、step5の”move d0,(a1)”を組み
合わせたり、これらを統合してメモリ番地を直接指定し
たmove命令を生成したとすれば速度は速くなるもの
の、これらの命令は人手によりアセンブラ言語によるプ
ログラミングをしなければならず、プログラミング作成
に時間を要する。また、これらの命令には元のラダー言
語に復元するために必要な情報は含まれておらず、従っ
てラダー表示ができないという欠点がある。
【0040】このような欠点を解消するための技術とし
ては特開平2−171901号公報に開示されるものが
ある。即ち、ラダー図から入力されたシーケンスプログ
ラムを図形データのまま記憶し、更に上記図形データに
よるシーケンスプログラムを機械語に変換して実行プロ
グラムとして記憶し、シーケンスプログラムの実行は実
行プログラムの機械語を実行することにより、またシー
ケンスプログラムの表示は図形データを表示することに
より、シーケンスプログラムを高速に実行させるもので
ある。しかしこの技術においては高速化は図れるもの
の、ラダー図を図形データのままで記憶するため、膨大
なメモリ容量を必要とし、規模の大きいシーケンスプロ
グラムを組むには適さないという欠点がある。
【0041】本発明は上記のような欠点を解消するため
になされたもので、人手によりアセンブラ言語によるプ
ログラミングを行うことなく、シーケンスプログラムを
高速に実行でき、且つ膨大なメモリ容量を必要とするこ
となくラダー表示も従来通り行えるプログラマブルコン
トローラ及びその制御方法を提供する事にある。
【0042】また本発明は上記目的を達成できるプログ
ラマブルコントローラにおいて、シーケンスプログラム
の開発用コンピュータがなくても、シーケンスプログラ
ムの開発ができるプログラマブルコントローラを提供す
る事にある。
【0043】ここで本発明の特徴を明確にするために、
従来のPCとアセンブラ言語の関係について詳述してお
く。既に述べたように従来はPCの各機能命令に対応し
て、CPU命令による制御プログラムとしてマクロプロ
グラムを作成しておき、PCの機能命令が読み出される
と、CPU命令によるマクロプログラムを実行して所定
の機能を達成する。上記マクロプログラムは指定された
機能を達成するために、初期設定、実行可否判別、レジ
スタクリア、データ読み出し、演算処理、データ書き込
み、後処理などのステップから構成される。
【0044】これらのマクロプログラムの開発は開発効
率を上げるために、プログラムは人が見て理解できるよ
うにアセンブラ言語で記述され、これをコンパイラによ
り機械語に翻訳することにより行われる。PCのメモリ
内のマクロプログラムエリアには、上記機械語が書き込
まれ、ユーザが作成したメイン処理プログラムからPC
の機能命令が読み出されると、CPUは上記マクロプロ
グラムエリアに書き込まれた、上記機能命令に対応する
一連の機械語を順次読み出して実行することにより所定
の機能を実現する。
【0045】故に従来のPCにおいてもアセンブラ言語
を使用していると言えるが、アセンブラ言語を使用する
のはPCの機能命令を実現するためのマクロプログラム
などの制御プログラムを開発するためである。つまり上
記アセンブラ言語により作成した制御プログラムをコン
パイラによって機械語に翻訳しても、機能を達成するた
めの初期設定、実行可否判別、レジスタクリア、データ
読み出し、演算処理、データ書き込み、後処理などのス
テップが省略されるわけではなく、アセンブラ言語で記
述されたステップ数に見合う機械語のステップ数を必要
とする。従ってPCのメイン処理プログラムから機能命
令が読み出されれば、当該機能を達成するために上記相
当数の機械語を実行しなければならず、機能命令を高速
に実行することはできない。
【0046】これに対して本発明ではPCのユーザが作
成するメイン処理プログラムなどのラダープログラムか
ら実行ファイルを生成するためにアセンブラ言語を使用
する。つまり、上記PCの各命令に対応させてアセンブ
ラ言語による最小単位の命令を準備しておき、上記アセ
ンブラ言語による最小単位の命令と、上記PCの各命令
に復元できる復元情報を組み合わせた形でアセンブラ言
語ファイルを生成し、このアセンブラ言語ファイルをコ
ンパイラによって機械語に翻訳することによって実行フ
ァイルを生成するものである。
【0047】これにより初期設定、実行可否判別、レジ
スタクリア、データ読み出し、演算処理、データ書き込
み、後処理など従来のマクロプログラムでは必要であっ
た各種のステップは殆どが不要となり、実行可否判別命
令と目的とする最小単位の命令に集約される。従って最
終的なプログラムステップ数は著しく減少するので、機
能命令を高速に実行することができる。
【0048】
【課題を解決するための手段】第1の発明におけるプロ
グラマブルコントローラは、ビット演算を行う基本命令
と、演算・転送処理を行う機能命令とからなるシーケン
スプログラムの各ステップを、マクロプログラムを用い
ることなく上記PC命令を実行できるマイクロプロセッ
サの最小単位の命令または命令群に変換するとともに、
シーケンスプログラムの各ステップを元のラダー言語に
復元できる復元情報に変換し、上記シーケンスプログラ
ムの各ステップに対応したCPU命令と、該命令に付随
させた上記復元情報とから構成される実行ファイルを記
憶するメモリと、シーケンスプログラム実行時は、上記
メモリの実行ファイルからCPU命令を読み出して実行
するが上記復元情報は実行せずにスキップし、シーケン
スプログラムのラダー表示時においては、上記メモリの
実行ファイルから読み出した復元情報を解析し、ラダー
言語に復元して表示装置に表示を行う第1の復元情報制
御プログラムとを備える構成としたものである。
【0049】第2の発明におけるプログラマブルコント
ローラの制御方法は、(a)PC命令からなるシーケン
スプログラムの各ステップを、マクロプログラムを用い
ることなく上記PC命令を実行できるCPU命令に変換
するステップ、(b)シーケンスプログラムの各ステッ
プを元のラダー言語に復元できる復元情報に変換するス
テップ、(c)上記CPU命令に上記復元情報を付随さ
せるステップ、(d)上記CPU命令と上記復元情報を
実行ファイルとしてメモリに記憶させるステップ、
(e)シーケンスプログラム実行時に、上記メモリの実
行ファイルからCPU命令を読み出して実行するステッ
プ、(f)シーケンスプログラムのラダー表示時に、上
記メモリの実行ファイルから読み出した復元情報を解析
し、ラダー言語に復元して表示装置に表示を行うステッ
プ、を有するものである。
【0050】第3の発明におけるプログラマブルコント
ローラは、PC命令からなるシーケンスプログラムの各
ステップを、元のラダー言語に復元できる復元情報に変
換して復元情報ファイルを生成し、更に上記復元情報フ
ァイルに記憶された復元情報から、マクロプログラムを
用いることなく上記PC命令を実行できるCPU命令に
変換して実行ファイルを生成し、上記復元情報ファイル
と、上記実行ファイルを記憶するメモリと、シーケンス
プログラム実行時は、上記メモリの実行ファイルからC
PU命令を読み出して実行し、シーケンスプログラムの
ラダー表示時においては、上記メモリの復元情報ファイ
ルから読み出した復元情報に基づきラダー言語に復元し
て表示を行う第2の復元情報制御プログラムを備える構
成としたものである。
【0051】第4の発明におけるプログラマブルコント
ローラの制御方法は、(a)PC命令からなるシーケン
スプログラムの各ステップを、元のラダー言語に復元で
きる復元情報に変換して復元情報ファイルを生成するス
テップ、(b)上記復元情報ファイルに記憶された復元
情報から、マクロプログラムを用いることなく上記PC
命令を実行できるCPU命令に変換して実行ファイルを
生成するステップ、(c)上記復元情報ファイルと、上
記実行ファイルをメモリに記憶させるステップ、(d)
シーケンスプログラム実行時は、上記メモリの実行ファ
イルからCPU命令を読み出して実行するステップ、
(e)シーケンスプログラムのラダー表示時において
は、上記メモリの復元情報ファイルから読み出した復元
情報に基づきラダー言語に復元して表示を行うステッ
プ、を有するものである。
【0052】第5のプログラマブルコントローラは、第
1、第3の発明において、ラダー言語入力データから、
ラダー言語の各要素を示す文字列である中間言語に変換
するラダー言語/中間言語変換テーブル、上記ラダー言
語/中間言語変換テーブルを用いて、ラダー言語入力デ
ータからラダー言語の各要素を示す文字列である中間言
語変換し、中間言語ファイルに出力するラダー言語/中
間言語変換プログラム、ラダー言語から変換された中間
言語から該中間言語に対応するアセンブラ言語に変換す
る中間言語/アセンブラ言語変換テーブル、上記中間言
語/アセンブラ言語変換テーブルを用いて、中間言語フ
ァイルからアセンブラ言語ファイルを生成する中間言語
/アセンブラ言語変換プログラム、中間言語から変換さ
れたアセンブラ言語から該アセンブラ言語に対応する機
械語を出力するアセンブラ言語/機械語変換テーブル、
上記アセンブラ言語/機械語変換テーブルを用いて、ア
センブラ言語ファイルからシーケンスプログラムの実行
ファイルである機械語ファイルを生成するアセンブラ言
語/機械語変換プログラム(コンパイラ)、ラダー言語
から変換された中間言語から該中間言語に対応する復元
情報としての機械語に変換する中間言語/機械語変換テ
ーブル、上記中間言語/機械語変換テーブルを用いて、
中間言語ファイルから復元情報としての機械語情報をメ
モリの指定位置に書き込む、中間言語/機械語変換プロ
グラム、上記中間言語ファイルに含まれる機能命令の種
類に対応して、実行判断命令と分岐情報から成る機能命
令実行判別命令群を記憶した機能命令変換テーブル、上
記機能命令をアセンブラ言語に変換するとき、上記アセ
ンブラ言語に対応した機能命令実行判別命令群を上記機
能命令変換テーブルから読み出し、上記アセンブラ言語
ファイルに出力する機能命令変換プログラムの内の少な
くとも一つの変換テーブル及びまたは変換プログラム
と、ラダー言語と、元のラダー言語に復元するための復
元情報とを対応付けるラダー言語/復元情報変換テーブ
ルと、上記ラダー言語/復元情報変換テーブルを用いて
入力された情報から、ラダー言語または復元情報を得る
ラダー言語/復元情報変換プログラムとをPC内部に備
える構成したものである。
【0053】第6の発明におけるプログラマブルコント
ローラは、第5の発明のプログラマブルコントローラに
おいて、ラダー言語/中間言語変換テーブル、中間言語
/アセンブラ言語変換テーブル、アセンブラ言語/機械
語変換テーブル、中間言語/機械語変換テーブル、ラダ
ー言語/復元情報変換テーブル機能命令変換テーブルの
内の少なくとも一つの変換テーブルは、それぞれCRT
・キーボード装置からの編集操作により、内容の追加/
変更ができる構成としたものである。
【0054】第7の発明におけるプログラマブルコント
ローラは、PC命令からなるシーケンスプログラムの各
ステップを、元のラダー言語に復元できる復元情報に変
換して復元情報ファイルを生成し、更に上記復元情報フ
ァイルに記憶された復元情報から、上記PC命令を実現
できるCPUの最小単位の命令または命令群に変換して
実行ファイルを生成し、上記復元情報ファイルは削除し
て、上記実行ファイルを記憶したメモリを備え、シーケ
ンスプログラム実行時は、上記メモリの実行ファイルか
らCPU命令を読み出して実行する構成としたものであ
る。
【0055】第8の発明におけるプログラマブルコント
ローラの制御方法は、(a)PC命令からなるシーケン
スプログラムの各ステップを、元のラダー言語に復元で
きる復元情報に変換して復元情報ファイルを生成するス
テップ、(b)上記復元情報ファイルに記憶された復元
情報から、上記PC命令を実行できるCPU命令に変換
して実行ファイルを生成するステップ、(c)上記復元
情報ファイルは削除して、上記実行ファイルをメモリに
記憶させるステップ、(d)シーケンスプログラム実行
時は、上記メモリの実行ファイルからCPU命令を読み
出して実行するステップ、を有するものである。
【0056】第9の発明のプログラマブルコントローラ
は、第7の発明に係るプログラマブルコントローラにお
いて、ラダー言語入力データから、ラダー言語の各要素
を示す文字列である中間言語に変換するラダー言語/中
間言語変換テーブル、上記ラダー言語/中間言語変換テ
ーブルを用いて、ラダー言語入力データからラダー言語
の各要素を示す文字列である中間言語変換し、中間言語
ファイルに出力するラダー言語/中間言語変換プログラ
ム、ラダー言語から変換された中間言語から該中間言語
に対応するアセンブラ言語に変換する中間言語/アセン
ブラ言語変換テーブル、上記中間言語/アセンブラ言語
変換テーブルを用いて、中間言語ファイルからアセンブ
ラ言語ファイルを生成する中間言語/アセンブラ言語変
換プログラム、中間言語から変換されたアセンブラ言語
から該アセンブラ言語に対応する機械語を出力するアセ
ンブラ言語/機械語変換テーブル、上記アセンブラ言語
/機械語変換テーブルを用いて、アセンブラ言語ファイ
ルからシーケンスプログラムの実行ファイルである機械
語ファイルを生成するアセンブラ言語/機械語変換プロ
グラム(コンパイラ)、ラダー言語から変換された中間
言語から該中間言語に対応する復元情報としての機械語
に変換する中間言語/機械語変換テーブル、上記中間言
語/機械語変換テーブルを用いて、中間言語ファイルか
ら復元情報としての機械語情報をメモリの指定位置に書
き込む、中間言語/機械語変換プログラム、上記中間言
語ファイルに含まれる機能命令の種類に対応して、実行
判断命令と分岐情報から成る機能命令実行判別命令群を
記憶した機能命令変換テーブル、上記機能命令をアセン
ブラ言語に変換するとき、上記アセンブラ言語に対応し
た機能命令実行判別命令群を上記機能命令変換テーブル
から読み出し、上記アセンブラ言語ファイルに出力する
機能命令変換プログラムの内の少なくとも一つの変換テ
ーブル及びまたは変換プログラムをPC内部に備え、上
記変換プログラムおよび変換テーブルにより上記シーケ
ンスプログラムの各ステップに対応したCPUの命令か
らなる実行ファイルを生成し、PC内部のメモリに記憶
させる構成としたものである。
【0057】第10の発明のプログラマブルコントロー
ラは、第9の発明に係るプログラマブルコントローラに
おいて、ラダー言語/中間言語変換テーブル、中間言語
/アセンブラ言語変換テーブル、アセンブラ言語/機械
語変換テーブル、機能命令変換テーブルの内の少なくと
も一つの変換テーブルは、それぞれCRT・キーボード
装置からの編集操作により、内容の追加/変更ができる
構成としたものである。
【0058】
【作用】第1の発明の第1の復元情報制御プログラム
は、シーケンスプログラム作成時にあっては上記ラダー
言語入力データのPC命令から変換された実行形式の機
械語で記述されたCPU命令に付随して、当該PC命令
の原形を特定できる復元情報をプログラムメモリに記憶
させ、シーケンスプログラム表示時にあってはシーケン
スプログラムの、上記実行形式の機械語で記述されたC
PU命令に付随して記憶された復元情報を解析し、PC
命令の原形に復元して表示装置に表示する。
【0059】第2の発明は、シーケンスプログラム作成
時にあっては上記ラダー言語入力データのPC命令から
変換された実行形式の機械語で記述されたCPU命令に
付随して、当該PC命令の原形を特定できる復元情報を
プログラムメモリに記憶させ、シーケンスプログラム表
示時にあってはシーケンスプログラムの、上記実行形式
の機械語で記述されたCPU命令に付随して記憶された
復元情報を解析し、PC命令の原形に復元して表示装置
に表示する。
【0060】第3の発明の第2の復元情報制御プログラ
ムは、シーケンスプログラム作成時にあっては上記ラダ
ー言語入力データのPC命令を、当該PC命令の原形を
特定できる復元情報に変換してメモリに記憶させ、シー
ケンスプログラム表示時にあっては上記メモリに記憶さ
れている上記復元情報を解析し、PC命令の原形に復元
して表示装置に表示する。
【0061】第4の発明は、シーケンスプログラム作成
時にあっては上記ラダー言語入力データのPC命令を、
当該PC命令の原形を特定できる復元情報に変換してメ
モリに記憶させ、シーケンスプログラム表示時にあって
は上記メモリに記憶されている上記復元情報を解析し、
PC命令の原形に復元して表示装置に表示する。
【0062】第5、第9の発明のラダー言語/中間言語
変換テーブルは、ラダー言語を表すグラフィックコード
/文字コードと、これに対応する中間言語を表す文字コ
ードが記憶されており、ラダー言語をラダー言語の各要
素を示す文字列である中間言語を出力する。
【0063】ラダー言語/中間言語変換プログラムは、
ラダー言語入力データとラダー言語/中間言語変換テー
ブルから中間言語ファイルを生成する。
【0064】中間言語/アセンブラ言語変換テーブル
は、中間言語を表す文字コードと、これに対応するアセ
ンブラ言語を表す文字コードが記憶されており、ラダー
言語から変換された、各要素を示す文字列である中間言
語に対応するアセンブラ言語を出力する。
【0065】中間言語/アセンブラ言語変換プログラム
は、中間言語ファイルと中間言語/アセンブラ言語変換
テーブルからアセンブラ言語ファイルを生成する。
【0066】アセンブラ言語/機械語変換テーブルは、
アセンブラ言語を表す文字コードと、これに対応する機
械語コードが記憶されており、入力されたアセンブラ言
語に対応する機械語を出力する。
【0067】アセンブラ言語/機械語変換プログラム
(コンパイラ)は、アセンブラ言語ファイルとアセンブ
ラ言語/機械語変換テーブルから機械語ファイルを生成
し、
【0068】中間言語/機械語変換テーブルは、ラダー
言語を表すグラフィックコード/文字コードと、これに
対応する機械語コードが記憶されており、ラダー言語か
ら変換された、各要素を示す文字列である中間言語に対
応する復元情報としての機械語を出力する。
【0069】中間言語/機械語変換プログラムは、中間
言語ファイルと中間言語/機械語変換テーブルから復元
情報としての機械語情報を指定されたメモリ位置に書き
込む。
【0070】機能命令変換テーブルは、中間言語ファイ
ルに含まれる機能命令の種類に対応して、実行判断命令
と分岐情報から成る機能命令実行判別命令群を出力す
る。
【0071】機能命令変換プログラムは、機能命令をア
センブラ言語に変換するとき、上記アセンブラ言語に対
応した機能命令実行判別命令群を上記機能命令変換テー
ブルから読み出し、上記アセンブラ言語ファイルに出力
する。
【0072】ラダー言語/復元情報変換テーブルは、ラ
ダー言語を表すグラフィックコード/文字コードと、こ
れに対応する復元情報としての機械語コードが記憶され
ており、ラダー言語と、元のラダー言語に復元するため
の復元情報とを対応付ける。
【0073】ラダー言語/復元情報変換プログラムは、
ラダー言語/復元情報変換テーブルを用いて入力された
情報から、ラダー言語または復元情報を得る。
【0074】第6、第10の発明は、上記各変換テーブ
ルを編集可能とすることにより、シーケンスプログラム
の開発用コンピュータがなくても、シーケンスプログラ
ムの開発ができる。
【0075】第7、第8の発明は、PC命令からなるシ
ーケンスプログラムの各ステップを、元のラダー言語に
復元できる復元情報に変換して復元情報ファイルを生成
し、更に上記復元情報ファイルに記憶された復元情報か
ら、上記PC命令を実現できるCPUの最小単位の命令
または命令群に変換して実行ファイルを生成し、上記復
元情報ファイルは削除して、上記実行ファイルを記憶す
る。
【0076】
【実施例】 実施例1.次に本発明の第1の実施例について図1内至
図4を用いて説明する。図1は本発明によるPCの一実
施例を示す構成図であるが、メモリ2の構成を除いては
図8と同じであるので、それぞれ同一の符号を付して説
明を省略する。
【0077】メモリ2は次のように構成される。201
はPCのプログラム処理に必要なデータを記憶しておく
制御テーブルであり、202は計測動作などに於いて割
り込み信号などによって即時に座標データを読み込むな
どの処理を行う割込み処理プログラム、203は高速処
理プログラム、211は演算途中経過など変化する可能
性のあるデータを記憶するワーキングRAM、212b
は復元情報(機械語等)/ラダー言語変換プログラム
(コンバータ)、213bは復元情報(機械語等)/ラ
ダー言語変換テーブル、207はラダー言語/中間言語
変換プログラム、208bはラダー言語/中間言語変換
テーブル、209は中間言語/機械語変換プログラム
(コンパイラ)、210bは中間言語/機械語変換テー
ブル、214は中間言語/アセンブラ言語変換プログラ
ム、215は中間言語/アセンブラ言語変換テーブル、
216はアセンブラ言語/機械語変換プログラム(コン
パイラ)、217はアセンブラ言語/機械語変換テーブ
ル、204は本発明による機械語情報を記憶するメイン
処理プログラム、218aは復元情報制御プログラム、
220aは第2の機能命令変換プログラム、221aは
第1の機能命令変換テーブルで、各要素の機能は以下に
述べる説明で明らかになる。
【0078】次に本発明のPCにおけるプログラム変換
と制御の流れを説明する。図2は本発明のPCにおける
プログラム変換の流れを説明する図、図3は本発明のP
Cにおけるプログラム構造と制御の流れを示す図であ
る。
【0079】図2に於いて211aはラダー言語入力デ
ータであり、下部に示されるラダー図に基づいて、図1
のキーボード・CRT装置16をオペレータが操作し、
シーケンスプログラムをラダー言語入力データとしてワ
ーキングRAM211に入力する。ラダー言語/中間言
語変換プログラム207は、ラダー言語/中間言語変換
テーブル208bを参照して各命令を細分化した要素に
分離した中間言語に変換し、中間言語ファイル211b
をワーキングRAM211内に生成する。中間言語/ア
センブラ言語変換プログラム214は、中間言語/アセ
ンブラ言語変換テーブル215を参照して各命令をアセ
ンブラ言語に変換し、アセンブラ言語ファイル211c
をワーキングRAM211内に生成する。このとき中間
言語ファイル211bから読み取った中間言語が機能命
令であったときは、上記アセンブラ言語をアセンブラ言
語ファイル211cに記憶する前に、第1の機能変換プ
ログラム220aが第1の機能変換テーブル221aか
ら機能命令に対応した実行判別命令及び分岐命令を読み
出し、上記アセンブラ言語ファイルに記憶する。続いて
コンパイラ216はアセンブラ言語/機械語変換テーブ
ル217を参照してアセンブラ言語ファイル211cの
各命令を機械語に変換し、実行ファイルとしてメモリ2
のメイン処理プログラム部204に入力する。このよう
にしてラダー言語で記述されたシーケンスプログラム
は、CPU1が実行可能な機械語のファイルに変換さ
れ、メモリ2のメイン処理プログラム204に記憶され
る。
【0080】ここで、ラダー言語/中間言語変換テーブ
ル208b、および中間言語/機械語変換テーブル21
0bは、各々従来存在していたラダー言語/中間言語変
換テーブル208a、および中間言語/機械語変換テー
ブル210aと基本的に同一であるが、更にオペレータ
がCRT・キーボード装置16を用いてデータの修正や
追加ができるようになっている。
【0081】つまり、ラダー言語/中間言語変換テーブ
ル208b、および中間言語/機械語変換テーブル21
0bは、電気的に書き換え可能なRAM領域に格納され
ており、オペレータがCRT・キーボード装置16を操
作し、図示していない編集プログラムを起動することに
よって、各テーブル、例えば図2に於けるラダー言語/
中間言語変換テーブル208bの左側の列のラダー言語
と、これに対応する右側の列の中間言語が一覧表形式で
CRT画面に表示される。ここで変更モードを選択して
所望の要素を選択し、これに対応する新しい情報を入力
することによりテーブルの変更ができる。また、登録モ
ードを選択してラダー言語と対応する中間言語を入力す
ることによって新規のPC命令を追加することができ
る。
【0082】中間言語/アセンブラ言語変換テーブル2
15、アセンブラ言語/機械語変換テーブル217およ
び機能命令変換テーブル221aも、電気的に書き換え
可能なRAM領域に格納されており、上記ラダー言語/
中間言語変換テーブル208b、および中間言語/機械
語変換テーブル210bと同様に、オペレータがCRT
・キーボード装置16を用いてデータの修正や追加を行
えるように構成されている。
【0083】オペレータがCRT・キーボード装置16
を操作し、CRTに表示されたラダー言語シンボルに対
応するソフトキースイッチを、またはニーモニックコー
ドを英数キースイッチを押すことによりラダー図の入力
を行う。これにより、ラダー図の1行を入力する毎にラ
ダー言語入力データ211aにラダー言語情報が書き込
まれる。
【0084】ラダー言語/中間言語変換プログラム20
7は、ラダー言語入力データ211aからラダープログ
ラムを順次読み出し、ラダー言語/中間言語変換テーブ
ル208aを参照して各命令を細分化した要素に分離し
た中間言語に変換し、中間言語ファイル211bをワー
キングRAM211内に生成する。
【0085】機能命令変換プログラム220aは、メモ
リ2のワーキングRAM211内の中間言語ファイル2
11bから中間言語に変換された命令を読み出し、この
命令が機能命令であると、当該機能命令に対応した実行
判別命令と分岐命令を機能変換テーブル221aから読
み出し、アセンブラ言語ファイル211cに書き込む。
【0086】中間言語/アセンブラ言語変換プログラム
214は、メモリ2のワーキングRAM211内の中間
言語ファイル211bから、まず中間言語に変換された
命令を読み出し、該命令に対応するアセンブラ命令を中
間言語/アセンブラ言語変換テーブル215から取り出
す。中間言語/アセンブラ言語変換テーブル215に
は、例えば各PC命令と該PC命令に対応するPC命令
の展開情報が、またデータ番号と該データ番号に対応す
るメモリ2上の番地(アドレス)などの変換情報が予め
書き込まれており、入力された命令または構成要素に応
じて、対応するアセンブラ言語情報を出力する。
【0087】従ってPC機能命令の”MOVE D20
0 D100”はアセンブラ言語の例えば”move.
w $345 $245”(345,245は各々D2
00,D100に対応するメモリ番地)に変換される。
このように中間言語/アセンブラ言語変換プログラム2
14は上記中間言語/アセンブラ言語変換テーブル21
5から出力される上記アセンブラ言語情報をアセンブラ
言語ファイル211cに順次書き込む。
【0088】アセンブラ言語/機械語変換プログラム
(コンパイラ)216は、メモリ2のワーキングRAM
211内のアセンブラ言語ファイル211cからアセン
ブラ言語情報を順次読み出し、アセンブラ言語/機械語
変換テーブル217を参照して該アセンブラ言語情報を
機械語に変換する。ここで、アセンブラ言語情報が機械
語の表現手段であるHEXA(ヘキサ)で表現されてい
る場合には、アセンブラ言語/機械語変換テーブル21
7は使用せずそのまま機械語に置き換えられる。アセン
ブラ言語/機械語変換テーブル217には各種アセンブ
ラ言語情報に対応する、CPU1が解読可能な機械語情
報が予め書き込まれており、上記コンパイラ216は、
入力したアセンブラ言語情報に応じてアセンブラ言語/
機械語変換テーブル217から出力される機械語情報に
基づいて、アセンブラ言語情報を実行可能な一連の機械
語による実行ファイルとして出力し、メモリ2のメイン
処理プログラム204に書き込む。また、前述したよう
にアセンブラ言語/機械語変換テーブル217はオペレ
ータがCRT・キーボード装置16を用いてデータの修
正や追加ができるようになっているので、PC命令が増
えても容易に対応できる。
【0089】次に第1の復元情報制御プログラム(以下
復元情報制御プログラムAという)218aの動作につ
いて説明する。まず、ラダー言語入力時の処理に於いて
は、ラダー言語が中間言語に変換されて行く一方で、図
1の復元情報制御プログラムA218aは、図4(a)
ラダー言語入力時の処理のフローチャートに示すように
処理を行う。すなわち、step10で1行のラダー言
語プログラムからアセンブラ言語プログラムへの変換が
完了しているか否かをチェックする。ここで変換が完了
しておればstep19に分岐し、アセンブラ言語/機
械語変換プログラム216によって後述のワーキングR
AM211中のアセンブラ言語ファイル211cをコン
パイルし、メイン処理プログラム204に上記コンパイ
ル結果を書き込み、ラダー言語プログラム1行の変換処
理を終了する。step10で変換が未完了と判断され
ればstep11に進み、ワーキングRAM211中の
中間言語ファイル211bから1行のラダー言語プログ
ラムに対応する一連の中間言語を読み込む。
【0090】step12では、上記step11で読
み取った中間言語が機能命令であるかどうかを判定す
る。この判定は当該情報がINC,MOVEなどの所定
のニーモニックコードであるかどうかで行う。step
12において読み取った情報が機能命令であればste
p13に進む。
【0091】step13では、機能命令変換プログラ
ム220aがstep11で読み出されたPC機能命令
(ここでは例えばMOVE D200 D100)に対
応する実行判別命令(btst #0,$FLAG)と
分岐命令(beq Bとbra A)を機能命令変換テ
ーブル221aから読み出し、ワーキングRAM211
中のアセンブラ言語ファイル211cに書き込む。ここ
で使用される機能命令変換テーブル221aで記憶して
いる情報の一つである分岐命令は、例えば図3のプログ
ラムに示すように、”bra A”に続いて当該機能命
令に対応する復元情報と当該機能命令に対応するCPU
命令ステップが記憶されるので、”beq B”,”b
ra A”は上記付加される情報や命令のステップ数を
考慮した値となっている。
【0092】step14ではstep11で読み取っ
た一連の中間言語を基に、中間言語/機械語変換プログ
ラム209により中間言語/機械語変換テーブル210
bを参照して中間言語を機械語に変換し、復元情報とし
てstep15でアセンブラ言語ファイル211cの上
記実行判別命令と分岐命令の次に書き込む。この場合の
復元情報は図3右のプログラムの”jsr $02B0
(A5)”を含む3行が相当する。step16では中
間言語/アセンブラ言語変換プログラム214により、
実行命令としてのアセンブラ言語を抽出し、アセンブラ
言語ファイル211cに書き込む。このCPU命令ステ
ップは図3の右に示すCPU命令ステップの”mov
e.w $345 $245”が相当する。
【0093】step12で読み取った命令が機能命令
でないと判断された時、例えば”LD”や”LDI”で
ある時にはstep17に進み、中間言語/アセンブラ
言語変換プログラム214によって中間言語/アセンブ
ラ言語変換テーブル215から該当するアセンブラ言語
を抽出し、step18で上記抽出されたアセンブラ言
語をワーキングRAM211のアセンブラ言語ファイル
211cに書き込む。この時PC命令は定数に、デバイ
スアドレス(D100,D200など)は変数に変換し
て書き込まれる。
【0094】メイン処理プログラムの実行時において
は、復元情報制御プログラムA218aの動作は次のよ
うになる。図4(b)シーケンス実行時の処理のフロー
チャートに示すように、step21でメイン処理プロ
グラム204から1ステップのコードを読み取る。
【0095】step22では、上記step21で読
み取った命令ステップを実行し、1ステップの処理を終
了する。上記step21とstep22を繰り返すこ
とにより、メイン処理プログラムが順次実行される。こ
のとき復元情報は分岐命令によりスキップされるので、
真に必要な命令だけが実行されることになる。
【0096】メイン処理プログラムをラダー表示する場
合、復元情報制御プログラムA218aの動作は次のよ
うになる。図4(c)ラダー図表示時の処理のフローチ
ャートに示すように、step31でメイン処理プログ
ラム204から1ステップのコードを読み取る。
【0097】step32では上記step31で読み
取ったコードが機能命令であるかどうかを判定する。こ
の判定は読み取ったコードの上位16ビットが”4EA
D”か否かで行う。ここでstep31で読み取った情
報が機能命令であると判定されるとstep33に進
む。
【0098】step33では復元情報/ラダー言語変
換プログラム212bにより、復元情報/ラダー言語変
換テーブル213bを参照して復元情報としての機械語
からラダー言語に変換する。具体的には、例えば”4E
AD02B0”を読み取った時、上位16ビットが”4
EAD”であるので機能命令となり、下位16ビットを
取り出す。この16ビットを表すコードが”02B0”
であるので、復元情報/ラダー言語変換テーブル213
bから”02B0”に対応する”MOVE D D”の
フォーマットを取り出す。続いて、次のステップを読み
取り、”FF20066C”の下位16ビット(4桁)
の”066C”に対応する”200”を上記フォーマッ
トの最初のDの値として代入する。更に次のステップを
読み取り、”FF200734”の下位16ビットの”
0734”に対応する”100”を上記フォーマットの
2番目のDの値として代入する。
【0099】step34では上記step33で得ら
れたラダー言語をCRT・キーボード装置16に出力
し、ラダー表示を行わせる。
【0100】step32で、読み取ったコードの上位
16ビットが”4EAD”でないと判定された場合はs
tep35に進み、ビット演算命令である基本命令か否
かを判定する。これは同様に、読み取ったコードの上位
8ビットが”FC”か否かで判定する。ここで基本命令
であると判定されると、step33およびstep3
4に進み、機能命令と同様の処理を行う。
【0101】また、step35に於いて、読み取られ
たステップが基本命令でもないと判定された場合は変換
処理を行わずに処理を終了する。
【0102】以上の制御によってラダー言語は復元情報
としての機械語が、PC命令に対応する機械語に関連さ
せてメモリ2のメイン処理プログラム204に記憶さ
れ、また、メモリ2のメイン処理プログラム204に記
憶されたシーケンスプログラムから復元情報としての機
械語を読み出してラダー言語に復元することにより、ラ
ダー表示を行うことができる。
【0103】図3は本発明のPCにおけるプログラム構
造と制御の流れを示す図であり、この中のメイン処理プ
ログラムの実際の実行状態について説明する。但し図3
においても図9同様、メモリ幅は便宜上32ビットで表
し、説明する。メイン処理プログラムより優先順位の高
い各種処理プログラムの実行が終わると、メイン処理プ
ログラムの前回中断位置からシーケンス処理が再開され
る。
【0104】ここでメイン処理プログラム実行中にCP
U1が、例えば図2ラダー言語入力データ211aの下
部に示すラダー図の1行を構成する一連のプログラムを
実行するものとする。このプログラムは、LD M12
3‥‥ビット情報M123の内容を読み出す。MOVE
D200 D100‥‥上記内容が1の時には、D2
00の内容をD100に移す。という二つの命令で実現
される。LD M123はPCの基本命令の一つである
ビット演算命令であり、例えば”FC02017B”と
いうコードで記憶されている。MOVE D200 D
100はPCの機能命令であり、move.w $34
5,$245に相当する”31B8C864”というコ
ードで記憶されている。MOVE命令を実行するために
はLD M123の結果が真、つまりM123の内容が
1であることが必要であり、まずこの条件が成立してい
るかどうかをチェックする。
【0105】これは上記LD M123の命令で実行さ
れた結果が1か否かをチェックするbtst命令を実行
することにより行う。ここで結果が0であれば次のステ
ップの分岐命令を実行し、次のPC命令の実行に移る。
逆に上記結果が1であれば一つ先のbra Aを実行す
ることによって復元情報をスキップし、更に次の行に指
定されている機能命令のMOVE命令に対応するmov
e命令が実行される。以上で上記ラダー図の1行の処理
が終わり、次の行の命令に移る。
【0106】次にラダー表示を行う場合の動作を説明す
る。ラダー表示制御は復元情報制御プログラムA218
aにより行われる。ラダー表示についてはシーケンス処
理の実行は伴わず、メイン処理プログラム204に記憶
されているCPU命令の上位16ビットが”FC××”
または”4EAD”であるものを順次読み出してラダー
言語に復元し、CRT16などの表示装置に出力するこ
とにより実現される。
【0107】従って、メイン処理プログラム204に記
憶され、例として挙げている”FC02017B”から
始まる一連のCPU命令は、復元情報制御プログラムA
218aにより順次読み取られる。ここで”FC020
17B”というコードが読み取られたとすると、図4
(c)ラダー図表示時の処理のstep32に示すよう
に、上位16ビットのコードを判別する。
【0108】この場合は上位16ビットのコードは”4
EAD”という機能命令ではないので、step35に
進む。step35では上位8ビットのコードが基本命
令を示す”FC”であるかどうかを判別する。
【0109】この場合は”FC”なので基本命令である
としてstep33に進み、復元情報/ラダー言語変換
プログラム(コンバータ)212bを呼び出し、上記”
FC”に続く情報により、復元情報/ラダー言語変換テ
ーブル213bから該当するラダー言語”LD M12
3”を取り出し、step34で上記ラダー言語をCR
T16へ出力する。
【0110】次のステップの情報は上位16ビットが”
0000”というコードなので、step32,ste
p35の何れにおいても”No”となり、変換およびC
RTへの出力は行わず、処理を終了する。
【0111】次のステップの情報は上位16ビットが”
4EAD”というコードなので、step32で機能命
令であると判断され、step33に進む。ここで上位
16ビットのコード”4EAD”に続く下位16ビット
のコード”02B0”により、復元情報/ラダー言語変
換テーブル213bから該当するMOVE命令を、更に
次の2ステップの情報”FF20066C”と”FF2
00734”からD200とD100というデータ番号
を得る。これらの情報から当該PCの命令情報”MOV
E D200 D100”をstep34で上記ラダー
言語をCRT16へ出力する。
【0112】また、次のステップの情報は上位16ビッ
トが”31B8”というコードなので、step32,
step35の何れにおいても”No”となり、変換お
よびCRTへの出力は行わず、処理を終了する。
【0113】以上で上記ラダー図の1行の処理が終わ
り、次の行の読み込みに移る。このようにして、メイン
処理プログラム204に記憶されているCPU命令はシ
ーケンスプログラムとして実行、またはラダー図として
表示される。
【0114】実施例2.次に本発明の他の実施例につい
て図5内至図7を用いて説明する。本第2の実施例は次
に説明する復元情報制御プログラムB218bの機能を
有した上で、最初に機械語による復元情報ファイル21
9を生成し、次に上記復元情報ファイル219から、中
間言語/機械語変換プログラム、中間言語/アセンブラ
言語変換プログラム、アセンブラ言語/機械語変換プロ
グラムにより、CPU命令による実行ファイルを生成す
るようにしたものである。
【0115】図5は本発明によるPCの他の実施例を示
す構成図であるが、前述の第1の復元情報制御プログラ
ム(復元情報制御プログラムA)218aが第2の復元
情報制御プログラム218bに、第1の機能命令変換プ
ログラム220aが第2の機能命令変換プログラム22
0bに、第1の機能命令変換テーブル221aが第2の
機能命令変換テーブル221bに変わった点およびメイ
ン処理復元情報ファイル219が追加になった点を除い
ては図1と同じであるので、それぞれ同一の符号を付し
て説明を省略する。
【0116】第2の復元情報制御プログラム218b
(以下復元情報制御プログラムBという)は、図7の復
元情報制御プログラムBのフローチャートに示すように
二つのプログラムからなる。
【0117】ラダー言語入力時の処理にあっては、既に
生成されている中間言語ファイル211bから、ste
p41で1ステップを読み取る。
【0118】step42では上記読み取った情報が機
能命令であるか否かを判定する。ここで機能命令であっ
たときはstep43に進む。
【0119】step43では、上記step41で読
み取った情報を、中間言語/機械語変換プログラム20
9を呼び出し、中間言語/機械語変換テーブル210b
を用いて、中間言語から機械語に変換する。例えば”M
OVE D200 D100”であれば、最初のMOV
Eという文字列で機能命令であると判るので、”4EA
D”を、更に次に続く二つの引数がDで始まっているの
で、データ番号間でデータ移動を行う命令であるとし
て、対応する”02B0”を出力する。また、”D20
0”,”D100”も各々同様に、対応する”FF20
066C”,”FF200734”に変換して出力され
る。
【0120】step44では、上記step43で得
られた機械語を復元情報として、メイン処理復元情報フ
ァイル219に順次書き込む。
【0121】step45では、step41で読み取
った情報がstep42で機能命令でないと判定された
時に、更に、ビット処理を行う基本命令であるか否かを
判別する。例えば、”LD”命令、LDI命令などを判
定し、基本命令であればstep43,step44の
処理を行う。
【0122】上記step45で、基本命令であると判
定されたときは、step43では例えば”LD”命令
は対応する”FC02”に、また”M123”は”01
7B”に変換され、step44でメイン処理復元情報
ファイル219に順次書き込まれる。
【0123】次にラダー表示を行う場合の動作を説明す
る。図7(b)ラダー図表示時の処理のフローチャート
に示すように、step51でメイン処理復元情報ファ
イル219から1ステップのコードを読み取る。
【0124】step52では上記step51で読み
取ったコードが機能命令であるかどうかを判定する。こ
の判定は読み取ったコードの上位16ビットが”4EA
D”か否かで行う。ここでstep51で読み取った情
報が機能命令であると判定されるとstep53に進
む。
【0125】step53では復元情報/ラダー言語変
換プログラム212bにより、復元情報/ラダー言語変
換テーブル213を参照して復元情報からラダー言語に
変換する。具体的には、例えば”4EAD02B0”を
読み取った時、上位16ビットが”4EAD”であるの
で機能命令となり、下位16ビットを取り出す。この1
6ビットを表すコードが”02B0”であるので、機械
語/ラダー言語変換テーブルから”02B0”に対応す
る”MOVE D D”のフォーマットを取り出す。続
いて、次のステップを読み取り、”FF20066C”
の下位16ビット(4桁)の”066C”に対応する”
200”を上記フォーマットの最初のDの値として代入
する。更に次のステップを読み取り、”FF20073
4”の下位16ビットの”0734”に対応する”10
0”を上記フォーマットの2番目のDの値として代入す
る。
【0126】step54では上記step53で得ら
れたラダー言語をCRT・キーボード16に出力し、ラ
ダー表示を行わせる。
【0127】step52で、読み取ったコードの上位
16ビットが”4EAD”でないと判定された場合はs
tep55に進み、ビット演算命令である基本命令か否
かを判定する。これは同様に、読み取ったコードの上位
8ビットが”FC”か否かで判定する。ここで基本命令
であると判定されると、step53およびstep5
4に進み、機能命令と同様の処理を行う。
【0128】また、step55に於いて、読み取られ
たステップが基本命令でもないと判定された場合は変換
処理を行わずに処理を終了する。
【0129】以上の制御によってラダー言語は復元情報
として、PC命令に対応する機械語とは別に、メモリ2
のメイン処理復元情報ファイル219に記憶され、ま
た、メモリ2のメイン処理復元情報ファイル219に記
憶された復元情報を読み出してラダー言語に復元するこ
とにより、ラダー表示を行うことができる。
【0130】なお、実行ファイルとしてのメイン処理プ
ログラム204は、図7(c)「実行ファイル生成時の
処理」に示されるように生成される。まずstep61
では中間言語のアセンブラ言語への変換が完了している
か否かチェックする。変換が完了していなければste
p62へ進み、メイン処理復元情報ファイル219から
一連の命令ステップを読み取る。
【0131】step63では上記step62で読み
取った情報を中間言語に逆変換し、機能命令か否かを判
断する。このとき機能命令であると判断されると、st
ep64に進み、機能命令変換プログラム220bを実
行し、機能命令変換テーブル221bから該当する実行
判別命令と分岐命令を抽出し、ワーキングRAM211
内のアセンブラ言語ファイル211cに書き込む。ここ
で使用される機能命令変換テーブル221bで記憶して
いる情報の一つである分岐命令は、第1の実施例とは異
なり、例えば図6のプログラムに示すように当該機能命
令に対応するCPU命令と当該機能命令に対応する復元
情報とは別ファイルとして記憶されるので、”beq
B”の次には当該機能命令に対応するCPU命令が記憶
されることになり、これに対応した命令のステップ数を
考慮した値となっている。step65では機能命令に
対応するアセンブラ言語を、機能命令変換プログラム2
20を実行し、機能命令変換テーブル221から該当す
る実行命令をワーキングRAM211内のアセンブラ言
語ファイル211cに書き込み、step61に戻って
次の中間言語のチェックを実行する。
【0132】step63で機能命令でないと判断され
た場合は、step66に分岐し、中間言語/アセンブ
ラ言語変換プログラム214によって中間言語/アセン
ブラ言語変換テーブル215から該当するアセンブラ言
語を抽出し、step67で上記抽出されたアセンブラ
言語をワーキングRAM211中のアセンブラ言語ファ
イル211cに書き込む。なお、上記中間言語/アセン
ブラ言語変換テーブル215の非機能命令(基本命令)
は機械語で記述されている。中間言語が機能命令でない
ときには上記二つのステップで処理を終了し、step
61に戻る。
【0133】step61でワーキングRAM211中
の中間言語ファイル211bの所定の中間言語が全て変
換されていて、変換完了と判断された場合にはstep
68に分岐し、アセンブラ言語をワーキングRAM21
1中のアセンブラ言語ファイル211cをアセンブラ言
語/機械語変換プログラム(コンパイラ)216によっ
てコンパイルし、実行命令である機械語を実行ファイル
としてメイン処理プログラム204に書き込んで実行フ
ァイルの生成を終了する。以上のように中間言語として
記憶されていたラダー言語入力データは実行命令として
CPU命令に変換され、実行ファイルに記憶される。な
お、シーケンス制御動作は上記実行ファイルである、メ
イン処理プログラム204に記憶されたCPU命令を最
初から順次読み出し、CPUによって実行することによ
って行われる。実行ファイルとしてのメイン処理プログ
ラム204の具体的な生成方法は次のとおりである。図
7(c)step61でメイン処理復元情報ファイルか
ら1連の命令ステップを読み取る。step62では上
記step61で読み取った復元情報である機械語を中
間言語/機械語変換プログラム209を用いて中間言語
に逆変換する。step63では上記step62で変
換された中間言語を中間言語/アセンブラ言語変換プロ
グラム214を用いてアセンブラ言語に変換する。st
ep64では上記step62で変換されたアセンブラ
言語をアセンブラ言語/機械語変換プログラム(コンパ
イラ)216を用いて実行命令である機械語に変換す
る。step65では上記step64で変換された実
行命令である機械語を実行ファイルとしてのメイン処理
プログラム204に記憶する。以上のように復元情報と
して記憶されていたラダー言語入力データは実行命令と
してCPU命令に変換され、実行ファイルに記憶され
る。なお、シーケンス制御動作は上記実行ファイルであ
る、メイン処理プログラム204に記憶されたCPU命
令を最初から順次読み出し、CPUによって実行するこ
とによって行われる。
【0134】図6は本発明の第2の実施例のPCにおけ
るプログラム構造と制御の流れを示す図であり、この中
のメイン処理プログラムの実際の実行状態について説明
する。但し図6においても図9同様、メモリ幅は便宜上
32ビットで表し、説明する。図6と第1の発明に於け
る図3との違いは、前述したようにシーケンスのメイン
処理プログラムとラダー表示用ファイルが分けられてい
ることである。
【0135】ここでメイン処理プログラム実行中にCP
U1が、例えば図2ラダー言語入力データ211aの下
部に示すラダー図の1行を構成する一連のプログラムを
実行するものとする。このプログラムは、LD M12
3‥‥ビット情報M123の内容を読み出す。MOVE
D200 D100‥‥D200の内容をD100に
移す。という二つの命令で実現される。LD M123
はPCのビット演算命令であり、例えば”FC0201
7B”というコードで記憶されている。MOVE D2
00 D100はPCの機能命令であり、まずmove
命令を実行する条件が成立しているかどうかをチェック
する。
【0136】これは上記LD M123の命令で実行さ
れた結果が1か否かをチェックするbtst命令を実行
することにより行う。ここで結果が0であれば次のステ
ップの分岐命令を実行し、次のPC命令の実行に移る。
逆に上記結果が1であればmove命令が実行される。
以上で上記ラダー図の1行の処理が終わり、次の行の命
令に移る。
【0137】次にラダー表示を行う場合の動作を説明す
る。ラダー表示制御は復元情報制御プログラムB218
bにより行われる。ラダー表示についてはシーケンス処
理の実行は伴わず、メイン処理復元情報ファイル219
に記憶されている復元情報を順次読み出してラダー言語
に復元し、CRT16などの表示装置に出力することに
より実現される。
【0138】従って、メイン処理復元情報ファイル21
9に記憶され、例として挙げている”FC02017
B”から始まる一連の復元情報は、復元情報制御プログ
ラムB218bにより順次読み取られる。ここで”FC
02017B”というコードが読み取られたとすると、
図7(b)ラダー図表示時の処理のstep52に示す
ように、上位16ビットのコードを判別する。
【0139】この場合は上位16ビットのコードは”4
EAD”という機能命令ではないので、step55に
進む。step55では上位8ビットのコードが基本命
令を示す”FC”であるかどうかを判別する。
【0140】この場合は”FC”なので基本命令である
としてstep53に進み、復元情報/ラダー言語変換
プログラム(コンバータ)212を呼び出し、上記”F
C”に続く情報により、復元情報/ラダー言語変換テー
ブル213bから該当するラダー言語”LD M12
3”を取り出し、step54で上記ラダー言語をCR
T16へ出力する。
【0141】次のステップの情報は上位16ビットが”
4EAD”というコードなので、step52で機能命
令であると判断され、step53に進む。ここで上位
16ビットのコード”4EAD”に続く下位16ビット
のコード”02B0”により、復元情報/ラダー言語変
換テーブル213bから該当するMOVE命令を、更に
次の2ステップの情報”FF20066C”と”FF2
00734”からD200とD100というデータ番号
を得る。これらの情報から当該PCの命令情報”MOV
E D200 D100”をstep54で上記ラダー
言語をCRT16へ出力する。
【0142】以上で上記ラダー図の1行の処理が終わ
り、次の行の読み込みに移る。このようにして、メイン
処理プログラム204に記憶されているCPU命令はシ
ーケンスプログラムとして実行し、また、メイン処理復
元情報ファイル219に記憶されている復元情報はラダ
ー図として表示される。
【0143】このように、ラダー表示情報は、シーケン
スプログラムとは別にメイン処理復元情報ファイル21
9として生成されるので、シーケンス処理の実行とラダ
ー表示処理を完全に分離することができ、管理が容易に
なる。
【0144】また、シーケンスプログラムを変更する場
合も復元情報ファイルから復元されたラダー図を表示さ
せ、これを修正した後に、再度上記の各種変換プログラ
ムを用いてシーケンスプログラムの実行ファイルを得る
ことができるので、人手によってアセンブラ言語による
プログラミングをする必要がなくなり、プログラムミス
が著減する。
【0145】実施例3.実施例3は実施例2によって生
成された復元情報ファイルと実行ファイルの内、実行フ
ァイルのみをPCのメイン処理プログラム204内に残
し、復元情報ファイルを削除し、PCのメイン処理プロ
グラム204の実質のメモリ容量を増大させるものであ
る。このために、実施例2における一連の変換処理の終
了後に、シーケンス制御動作に必要な実行ファイルのみ
を残し、復元情報ファイルはPCの外部の記憶装置に保
存される。なお、シーケンスプログラムの変更が必要な
時は、上記外部の記憶装置に保存された復元情報ファイ
ルをPCに転送し、これを編集した後に実施例2の制御
を繰り返し、新たな実行ファイルを生成する。
【0146】なお、上記実施例ではメイン処理プログラ
ムに適用して説明したが、割込み処理や高速処理プログ
ラムに使用してもよい。また、上記実施例では実行用フ
ァイルに記憶する表示用情報として従来あった機械語/
ラダー言語変換テーブルと機械語/ラダー言語変換プロ
グラムを用いたが、PC命令をASCIIコードなどに
変換し、表示処理用の付加情報と共に用いてもよい。更
に、上記実施例ではラダー言語から機械語への変換を全
てPC上で処理したが、予め他の処理装置を用いて変換
した結果をフロッピーディスク駆動装置17からメモリ
2に入力してもよい。上記実施例2では実行ファイル生
成に当たってはメイン処理復元情報ファイルから命令ス
テップを読み出すようにしたが、中間言語ファイルから
読み出すようにしてもよい。上記を含め、本発明はその
趣旨の範囲内に於いて種々の変形が可能であり、これら
を本発明の範囲から除外するものではない。
【0147】
【発明の効果】以上説明したように、この発明において
は、ラダー表示のための情報を、ラダー図形データのま
まで記憶させないようにしたので、PCのメモリ容量が
少なくて済み、規模の大きいシーケンスプログラムを組
むのに適したものを得ることができる。
【0148】また上記効果を有するプログラマブルコン
トローラ自体に、最終的に必要なCPU命令を生成する
ための変換プログラムと、変換テーブルを内蔵させたの
で、シーケンスプログラムの開発のためのコンピュータ
が無い環境に於いてもシーケンスプログラムの開発がで
きるので生産効率が向上するという大きな効果がある。
【0149】更に又上記各効果を有するプログラマブル
コントローラ自体に内蔵する変換テーブルを、PCに付
属の表示・キーボード装置を用いて機能変更や機能追加
が行える構成とし、必要に応じて仕様が変更できるよう
にしたので、生産効率が向上するという大きな効果があ
る。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】本発明におけるプログラム変換の流れを示す図
である。
【図3】本発明におけるプログラムの構造と制御の流れ
を示す図である。
【図4】本発明における第1の復元情報制御プログラム
(復元情報制御プログラムA)のフローチャートであ
る。
【図5】本発明の他の実施例の構成図である。
【図6】本発明の他の実施例におけるプログラムの構造
と制御の流れを示す図である。
【図7】本発明の他の実施例における第2の復元情報制
御プログラム(復元情報制御プログラムB)及び実行フ
ァイル生成のフローチャートである。
【図8】従来のPCの構成を示す図である。
【図9】数値制御装置におけるPCとNCの処理タイミ
ングチャートを示す図である。
【図10】従来のプログラム変換の流れを示す図であ
る。
【図11】データ移動のフローチャート例とマクロプロ
グラム例を示す図である。
【図12】従来のプログラムの構造と制御の流れを示す
図である。
【符号の説明】
1 CPU 2 メモリ 16 CRT・キーボード装置 204 メイン処理プログラム 206 マクロプログラム 207 ラダー言語/中間言語変換プログラム 208b ラダー言語/中間言語変換テーブル(編集機
能付き) 209 中間言語/機械語変換プログラム(コンパイ
ラ) 210b 中間言語/機械語変換テーブル(編集機能付
き) 211a ラダー言語入力データ 212b 復元情報/ラダー言語変換プログラム 213b 復元情報/ラダー言語変換テーブル(編集機
能付き) 214 中間言語/アセンブラ言語変換プログラム 215 中間言語/アセンブラ言語変換テーブル(編集
機能付き) 216 アセンブラ言語/機械語変換プログラム 217 アセンブラ言語/機械語変換テーブル(編集機
能付き) 218a 第1の復元情報制御プログラム(復元情報制
御プログラムA) 218b 第2の復元情報制御プログラム(復元情報制
御プログラムB) 219 メイン処理復元情報ファイル 220a 第1の機能命令変換変換プログラム 221a 第1の機能命令変換変換テーブル(編集機能
付き) 220b 第2の機能命令変換変換プログラム 221b 第2の機能命令変換変換テーブル(編集機能
付き)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 ビット演算を行う基本命令と、演算・転
    送処理を行う機能命令と(以下総称してPC命令とい
    う)からなるシーケンスプログラムの各ステップを、マ
    クロプログラムを用いることなく上記PC命令を実行で
    きるマイクロプロセッサ(以下CPUという)の最小単
    位の命令または命令群(以下総称してCPU命令とい
    う)に変換するとともに、シーケンスプログラムの各ス
    テップを元のラダー言語に復元できる復元情報に変換
    し、上記シーケンスプログラムの各ステップに対応した
    CPU命令と、該命令に付随させた上記復元情報とから
    構成される実行ファイルを記憶するメモリと、 シーケンスプログラム実行時は、上記メモリの実行ファ
    イルからCPU命令を読み出して実行するが上記復元情
    報は実行せずにスキップし、シーケンスプログラムのラ
    ダー表示時においては、上記メモリの実行ファイルから
    読み出した復元情報を解析し、ラダー言語に復元して表
    示装置に表示を行う第1の復元情報制御プログラムとを
    備えたことを特徴とするプログラマブルコントローラ。
  2. 【請求項2】 次のステップを有することを特徴とする
    プログラマブルコントローラの制御方法。 (a)PC命令からなるシーケンスプログラムの各ステ
    ップを、マクロプログラムを用いることなく上記PC命
    令を実行できるCPU命令に変換するステップ、(b)
    シーケンスプログラムの各ステップを元のラダー言語に
    復元できる復元情報に変換するステップ、(c)上記C
    PU命令に上記復元情報を付随させるステップ、(d)
    上記CPU命令と上記復元情報を実行ファイルとしてメ
    モリに記憶させるステップ、(e)シーケンスプログラ
    ム実行時に、上記メモリの実行ファイルからCPU命令
    を読み出して実行するステップ、(f)シーケンスプロ
    グラムのラダー表示時に、上記メモリの実行ファイルか
    ら読み出した復元情報を解析し、ラダー言語に復元して
    表示装置に表示を行うステップ。
  3. 【請求項3】 PC命令からなるシーケンスプログラム
    の各ステップを、元のラダー言語に復元できる復元情報
    に変換して復元情報ファイルを生成し、更に上記復元情
    報ファイルに記憶された復元情報から、上記PC命令を
    実現できるCPUの最小単位の命令または命令群に変換
    して実行ファイルを生成し、上記復元情報ファイルと、
    上記実行ファイルを記憶したメモリと、 シーケンスプログラム実行時は、上記メモリの実行ファ
    イルからCPU命令を読み出して実行し、シーケンスプ
    ログラムのラダー表示時においては、上記メモリの復元
    情報ファイルから読み出した復元情報に基づきラダー言
    語に復元して表示を行う第2の復元情報制御プログラム
    を備えたことを特徴とするプログラマブルコントロー
    ラ。
  4. 【請求項4】 次のステップを有することを特徴とする
    プログラマブルコントローラの制御方法。 (a)PC命令からなるシーケンスプログラムの各ステ
    ップを、元のラダー言語に復元できる復元情報に変換し
    て復元情報ファイルを生成するステップ、(b)上記復
    元情報ファイルに記憶された復元情報から、マクロプロ
    グラムを用いることなく上記PC命令を実行できるCP
    U命令に変換して実行ファイルを生成するステップ、
    (c)上記復元情報ファイルと、上記実行ファイルをメ
    モリに記憶させるステップ、(d)シーケンスプログラ
    ム実行時は、上記メモリの実行ファイルからCPU命令
    を読み出して実行するステップ、(e)シーケンスプロ
    グラムのラダー表示時においては、上記メモリの復元情
    報ファイルから読み出した復元情報に基づきラダー言語
    に復元して表示を行うステップ。
  5. 【請求項5】 請求項1または請求項3記載のプログラ
    マブルコントローラにおいて、 ラダー言語入力データから、ラダー言語の各要素を示す
    文字列である中間言語に変換するラダー言語/中間言語
    変換テーブル、 上記ラダー言語/中間言語変換テーブルを用いて、ラダ
    ー言語入力データからラダー言語の各要素を示す文字列
    である中間言語に変換し、中間言語ファイルに出力する
    ラダー言語/中間言語変換プログラム、 ラダー言語から変換された中間言語から該中間言語に対
    応するアセンブラ言語に変換する中間言語/アセンブラ
    言語変換テーブル、 上記中間言語/アセンブラ言語変換テーブルを用いて、
    中間言語ファイルからアセンブラ言語ファイルを生成す
    る中間言語/アセンブラ言語変換プログラム、 中間言語から変換されたアセンブラ言語から該アセンブ
    ラ言語に対応する機械語を出力するアセンブラ言語/機
    械語変換テーブル、 上記アセンブラ言語/機械語変換テーブルを用いて、ア
    センブラ言語ファイルからシーケンスプログラムの実行
    ファイルである機械語ファイルを生成するアセンブラ言
    語/機械語変換プログラム(コンパイラ)、 ラダー言語から変換された中間言語から該中間言語に対
    応する復元情報としての機械語に変換する中間言語/機
    械語変換テーブル、 上記中間言語/機械語変換テーブルを用いて、中間言語
    ファイルから復元情報としての機械語情報をメモリの指
    定位置に書き込む、中間言語/機械語変換プログラム、 上記中間言語ファイルに含まれる機能命令の種類に対応
    して、実行判断命令と分岐情報から成る機能命令実行判
    別命令群を記憶した機能命令変換テーブル、 上記機能命令をアセンブラ言語に変換するとき、上記ア
    センブラ言語に対応した機能命令実行判別命令群を上記
    機能命令変換テーブルから読み出し、上記アセンブラ言
    語ファイルに出力する機能命令変換プログラム、 の内の少なくとも一つの変換テーブル及びまたは変換プ
    ログラムと、 ラダー言語と、元のラダー言語に復元するための復元情
    報とを対応付けるラダー言語/復元情報変換テーブル
    と、 上記ラダー言語/復元情報変換テーブルを用いて入力さ
    れた情報から、ラダー言語または復元情報を得るラダー
    言語/復元情報変換プログラムとをPC内部に備えるこ
    とを特徴とするプログラマブルコントローラ。
  6. 【請求項6】 請求項5記載のプログラマブルコントロ
    ーラにおいて、 ラダー言語/中間言語変換テーブル、 中間言語/アセンブラ言語変換テーブル、 アセンブラ言語/機械語変換テーブル、 中間言語/機械語変換テーブル、 ラダー言語/復元情報変換テーブル、 機能命令変換テーブルの内の少なくとも一つの変換テー
    ブルは、それぞれ表示・キーボード装置からの編集操作
    により、内容の追加/変更ができることを特徴とするプ
    ログラマブルコントローラ。
  7. 【請求項7】 PC命令からなるシーケンスプログラム
    の各ステップを、元のラダー言語に復元できる復元情報
    に変換して復元情報ファイルを生成し、更に上記復元情
    報ファイルに記憶された復元情報から、上記PC命令を
    実現できるCPUの最小単位の命令または命令群に変換
    して実行ファイルを生成し、上記復元情報ファイルは削
    除して、上記実行ファイルを記憶したメモリを備え、 シーケンスプログラム実行時は、上記メモリの実行ファ
    イルからCPU命令を読み出して実行することを特徴と
    するプログラマブルコントローラ。
  8. 【請求項8】 次のステップを有することを特徴とする
    プログラマブルコントローラの制御方法。 (a)PC命令からなるシーケンスプログラムの各ステ
    ップを、元のラダー言語に復元できる復元情報に変換し
    て復元情報ファイルを生成するステップ、(b)上記復
    元情報ファイルに記憶された復元情報から、上記PC命
    令を実行できるCPU命令に変換して実行ファイルを生
    成するステップ、(c)上記復元情報ファイルは削除し
    て、上記実行ファイルをPC内部のメモリに記憶させる
    ステップ、(d)シーケンスプログラム実行時は、上記
    メモリの実行ファイルからCPU命令を読み出して実行
    するステップ。
  9. 【請求項9】 請求項7記載のプログラマブルコントロ
    ーラにおいて、 ラダー言語入力データから、ラダー言語の各要素を示す
    文字列である中間言語に変換するラダー言語/中間言語
    変換テーブル、 上記ラダー言語/中間言語変換テーブルを用いて、ラダ
    ー言語入力データからラダー言語の各要素を示す文字列
    である中間言語変換し、中間言語ファイルに出力するラ
    ダー言語/中間言語変換プログラム、 ラダー言語から変換された中間言語から該中間言語に対
    応するアセンブラ言語に変換する中間言語/アセンブラ
    言語変換テーブル、 上記中間言語/アセンブラ言語変換テーブルを用いて、
    中間言語ファイルからアセンブラ言語ファイルを生成す
    る中間言語/アセンブラ言語変換プログラム、 中間言語から変換されたアセンブラ言語から該アセンブ
    ラ言語に対応する機械語を出力するアセンブラ言語/機
    械語変換テーブル、 上記アセンブラ言語/機械語変換テーブルを用いて、ア
    センブラ言語ファイルからシーケンスプログラムの実行
    ファイルである機械語ファイルを生成するアセンブラ言
    語/機械語変換プログラム(コンパイラ)、 ラダー言語から変換された中間言語から該中間言語に対
    応する復元情報としての機械語に変換する中間言語/機
    械語変換テーブル、 上記中間言語/機械語変換テーブルを用いて、中間言語
    ファイルから復元情報としての機械語情報をメモリの指
    定位置に書き込む、中間言語/機械語変換プログラム、 上記中間言語に含まれる機能命令の種類に対応して、実
    行判断命令と分岐情報から成る機能命令実行判別命令群
    を記憶した機能命令変換テーブル、 上記機能命令をアセンブラ言語に変換するとき、上記ア
    センブラ言語に対応した機能命令実行判別命令群を上記
    機能命令変換テーブルから読み出し、上記アセンブラ言
    語ファイルに出力する機能命令変換プログラムの内の少
    なくとも一つの変換テーブル及びまたは変換プログラム
    をPC内部に備え、上記変換プログラムおよび変換テー
    ブルにより上記シーケンスプログラムの各ステップに対
    応したCPUの命令からなる実行ファイルを生成し、P
    C内部のメモリに記憶させることを特徴とするプログラ
    マブルコントローラ。
  10. 【請求項10】 請求項9記載のプログラマブルコント
    ローラにおいて、 ラダー言語/中間言語変換テーブル、 中間言語/アセンブラ言語変換テーブル、 アセンブラ言語/機械語変換テーブル、 機能命令変換テーブルの内の少なくとも一つの変換テー
    ブルは、それぞれ表示・キーボード装置からの編集操作
    により、内容の追加/変更ができることを特徴とするプ
    ログラマブルコントローラ。
JP5009003A 1992-01-23 1993-01-22 プログラマブルコントローラ及びその制御方法 Expired - Lifetime JP2765423B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4-10176 1992-01-23
JP1017692 1992-01-23

Publications (2)

Publication Number Publication Date
JPH05274011A true JPH05274011A (ja) 1993-10-22
JP2765423B2 JP2765423B2 (ja) 1998-06-18

Family

ID=11742981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5009003A Expired - Lifetime JP2765423B2 (ja) 1992-01-23 1993-01-22 プログラマブルコントローラ及びその制御方法

Country Status (5)

Country Link
US (2) US5386569A (ja)
EP (1) EP0553731B1 (ja)
JP (1) JP2765423B2 (ja)
DE (1) DE69324388T2 (ja)
HK (1) HK1004493A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08179953A (ja) * 1994-12-26 1996-07-12 Hitachi Ltd コントローラのプログラム自動生成装置及び方法
JPH1195815A (ja) * 1997-09-18 1999-04-09 Yokogawa Electric Corp シーケンス制御装置
JPH11252775A (ja) * 1998-03-06 1999-09-17 Mitsubishi Electric Corp ディジタル保護継電装置
JP2003157104A (ja) * 2001-11-22 2003-05-30 Fuji Electric Co Ltd プログラミング装置
JP2003177806A (ja) * 2001-12-12 2003-06-27 Mitsubishi Electric Corp パソコンnc、パソコン付きプログラマブル・コントローラおよびプログラマブル・コントローラのソフトウェア開発ツール
JP2004102386A (ja) * 2002-09-05 2004-04-02 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ
JP2007128378A (ja) * 2005-11-07 2007-05-24 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2008083872A (ja) * 2006-09-26 2008-04-10 Fuji Electric Fa Components & Systems Co Ltd シーケンスプログラム変換装置、プログラマブルコントローラのプログラミング装置、および、プログラマブルコントローラ
JP2012053676A (ja) * 2010-09-01 2012-03-15 Tokyo Denki Gijutsu Kogyo Kk プログラム変換処理装置、方法及びプログラム、並びに記録媒体
JP5791855B1 (ja) * 2014-06-02 2015-10-07 三菱電機株式会社 プログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法
JP5952929B1 (ja) * 2015-02-19 2016-07-13 日東精工株式会社 作業ロボット制御装置
JP6854982B1 (ja) * 2020-03-26 2021-04-07 三菱電機株式会社 プログラミング支援プログラム、プログラミング支援装置およびプログラミング支援方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963916A (en) * 1990-09-13 1999-10-05 Intouch Group, Inc. Network apparatus and method for preview of music products and compilation of market data
US5504902A (en) * 1993-12-01 1996-04-02 Patriot Sensors And Controls Corporation Multi-language generation of control program for an industrial controller
US6009454A (en) * 1994-09-30 1999-12-28 Allen-Bradley Company, Llc Multi-tasking operation system for industrial controller
BE1009510A5 (nl) * 1995-07-24 1997-04-01 Dijk Aart Van Programmeerbare logische besturingseenheid.
US5893105A (en) * 1996-11-12 1999-04-06 Micrografx, Inc. Executable flowchart
US5819097A (en) * 1996-12-09 1998-10-06 Allen Bradley Company, Llc Industrial controller compiler with expandable instruction set
US5881290A (en) * 1996-12-09 1999-03-09 Allen-Bradley Company, Llc Industrial controller decompiler accommodating an expandable instruction set
JP3246438B2 (ja) * 1998-04-01 2002-01-15 日本電気株式会社 可変ターゲットコンパイル処理方法、その処理装置、そのプログラムの記憶媒体および変換テーブルの記憶媒体
US6137251A (en) * 1998-07-31 2000-10-24 S/L Montivideo Technology, Inc. Brushless DC motor controller with speed control from zero to above based speed
EP1135715A4 (en) * 1998-10-13 2002-01-16 Scientronix Inc SYSTEM AND METHOD FOR GENERATING A CONTROL PROGRAM
US6275984B1 (en) * 1998-11-20 2001-08-14 Sega Of America, Inc. System and method for delaying indirect register offset resolution
JP3691435B2 (ja) * 1999-05-28 2005-09-07 三菱電機株式会社 プログラマブルコントローラ
US6424880B1 (en) * 1999-09-10 2002-07-23 Applied Materials, Inc. Multi-computer chamber control system, method and medium
US20030097649A1 (en) * 2001-10-31 2003-05-22 Terrence Jones Embedded language interpretation for configuration of fixturing applications
JP3949689B2 (ja) * 2002-12-26 2007-07-25 三菱電機株式会社 加工プログラム作成装置
US7140003B2 (en) * 2003-02-14 2006-11-21 International Business Machines Corporation Method and system for specifying sets of instructions for selection by an instruction generator
JP3910184B2 (ja) * 2004-03-29 2007-04-25 ファナック株式会社 シーケンスプログラム編集装置
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
US9292274B2 (en) * 2004-08-31 2016-03-22 Smith Micro Software, Inc. Efficient method and system for reducing the time to apply update package
US8234482B2 (en) * 2005-10-13 2012-07-31 Google Inc. Universal embedded controller for freeing CPU from operations of peripheral subsystem units with table of functions including an instruction specifying battery controller select protocol
US7716637B2 (en) * 2005-12-15 2010-05-11 Microsoft Corporation Embedded macros
JP5454783B2 (ja) * 2009-03-13 2014-03-26 オムロン株式会社 Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
JP6151669B2 (ja) * 2014-06-27 2017-06-21 ファナック株式会社 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置
JP6827340B2 (ja) * 2017-02-17 2021-02-10 三菱重工エンジニアリング株式会社 ソフトウェア試験装置、ソフトウェア試験システム、ソフトウェア試験方法およびプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61147304A (ja) * 1984-12-20 1986-07-05 Hitachi Seiki Co Ltd シ−ケンス・プログラムの自動作成装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4282584A (en) * 1979-05-30 1981-08-04 Allen-Bradley Company Mini-programmable controller
JPS60237542A (ja) * 1984-05-10 1985-11-26 Mitsubishi Electric Corp プログラム制御装置
JPS61808A (ja) * 1984-06-13 1986-01-06 Yokogawa Hokushin Electric Corp シ−ケンス制御装置
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
GB2172127B (en) * 1985-03-06 1988-10-12 Ferranti Plc Data compression system
JPS6238902A (ja) * 1985-08-15 1987-02-19 Mitsubishi Electric Corp シ−ケンス演算の処理方式
DE3763703D1 (de) * 1986-03-07 1990-08-23 Siemens Ag Speicherprogrammierbare steuerung.
JPS6345603A (ja) * 1986-08-13 1988-02-26 Fuji Electric Co Ltd プログラマブルコントロ−ラのプログラム格納方式
JP2594562B2 (ja) * 1987-06-05 1997-03-26 ファナック株式会社 プログラマブル・コントローラ
US5287548A (en) * 1988-02-29 1994-02-15 Allen-Bradley Company, Inc. Programmable controller having a stored program with both machine language instructions and source code data
JPH02171901A (ja) * 1988-12-26 1990-07-03 Okuma Mach Works Ltd プログラマブルコントローラ
US5005152A (en) * 1989-04-05 1991-04-02 Allen-Bradley Company Industrial controller with decompilable user program
JPH046963A (ja) * 1990-04-24 1992-01-10 Nec Eng Ltd 番組パッケージ自動番組制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61147304A (ja) * 1984-12-20 1986-07-05 Hitachi Seiki Co Ltd シ−ケンス・プログラムの自動作成装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08179953A (ja) * 1994-12-26 1996-07-12 Hitachi Ltd コントローラのプログラム自動生成装置及び方法
JPH1195815A (ja) * 1997-09-18 1999-04-09 Yokogawa Electric Corp シーケンス制御装置
JPH11252775A (ja) * 1998-03-06 1999-09-17 Mitsubishi Electric Corp ディジタル保護継電装置
JP2003157104A (ja) * 2001-11-22 2003-05-30 Fuji Electric Co Ltd プログラミング装置
JP2003177806A (ja) * 2001-12-12 2003-06-27 Mitsubishi Electric Corp パソコンnc、パソコン付きプログラマブル・コントローラおよびプログラマブル・コントローラのソフトウェア開発ツール
JP2004102386A (ja) * 2002-09-05 2004-04-02 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ
JP2007128378A (ja) * 2005-11-07 2007-05-24 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2008083872A (ja) * 2006-09-26 2008-04-10 Fuji Electric Fa Components & Systems Co Ltd シーケンスプログラム変換装置、プログラマブルコントローラのプログラミング装置、および、プログラマブルコントローラ
JP2012053676A (ja) * 2010-09-01 2012-03-15 Tokyo Denki Gijutsu Kogyo Kk プログラム変換処理装置、方法及びプログラム、並びに記録媒体
JP5791855B1 (ja) * 2014-06-02 2015-10-07 三菱電機株式会社 プログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法
WO2015186178A1 (ja) * 2014-06-02 2015-12-10 三菱電機株式会社 プログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法
US10001767B2 (en) 2014-06-02 2018-06-19 Mitsubishi Electric Corporation Programmable controller system, programmable controller, program display device, and program display method
JP5952929B1 (ja) * 2015-02-19 2016-07-13 日東精工株式会社 作業ロボット制御装置
JP6854982B1 (ja) * 2020-03-26 2021-04-07 三菱電機株式会社 プログラミング支援プログラム、プログラミング支援装置およびプログラミング支援方法
WO2021192152A1 (ja) * 2020-03-26 2021-09-30 三菱電機株式会社 プログラミング支援プログラム、プログラミング支援装置およびプログラミング支援方法

Also Published As

Publication number Publication date
EP0553731A2 (en) 1993-08-04
JP2765423B2 (ja) 1998-06-18
EP0553731B1 (en) 1999-04-14
HK1004493A1 (en) 1998-11-27
DE69324388D1 (de) 1999-05-20
US5905891A (en) 1999-05-18
DE69324388T2 (de) 1999-09-09
EP0553731A3 (en) 1995-01-18
US5386569A (en) 1995-01-31

Similar Documents

Publication Publication Date Title
JP2765423B2 (ja) プログラマブルコントローラ及びその制御方法
JP2007128378A (ja) プログラマブルコントローラのプログラミング装置
JP2639169B2 (ja) 数値制御装置
JPS61160108A (ja) 数値制御工作機械における加工制御方法
JPS6149209A (ja) 数値制御装置におけるプログラム実行方式
JP2875135B2 (ja) プログラマブルコントローラ用プログラム装置
JPH08137532A (ja) ロボット動作プログラム作成方法およびロボット教示方法
JPS63127333A (ja) 流れ図式プログラミング装置
JP2971251B2 (ja) Sfcプログラミング装置
JP3407614B2 (ja) シーケンス制御装置
JP2700013B2 (ja) プログラマブルコントローラのためのユーザプログラム用コンパイラ
JP3413860B2 (ja) デバッグ方式
JPH0423102A (ja) プログラマブルコントローラ用プログラミング装置
JPS62145424A (ja) プログラム管理方法
JPH09160620A (ja) 数値制御装置
JPH052477A (ja) グラフイカル・ユーザ・インタフエースの作成方式
JP3013619B2 (ja) プログラマブル・コントローラ
JPS62232007A (ja) 産業用ロボツトの制御装置
JP2591938B2 (ja) 数値制御装置のパートプログラムの修正方法
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH0327453A (ja) プログラム文指定処理方式
JPH0484328A (ja) プログラム作成装置
JPH0764469A (ja) プログラマブルコントローラ
JPH04367029A (ja) プログラマブルコントローラ用プログラミング装置
JPH01152506A (ja) ラダープログラムの編集方式