JPH03141402A - ユーザプログラムの処理方法および装置 - Google Patents

ユーザプログラムの処理方法および装置

Info

Publication number
JPH03141402A
JPH03141402A JP27857389A JP27857389A JPH03141402A JP H03141402 A JPH03141402 A JP H03141402A JP 27857389 A JP27857389 A JP 27857389A JP 27857389 A JP27857389 A JP 27857389A JP H03141402 A JPH03141402 A JP H03141402A
Authority
JP
Japan
Prior art keywords
program
user
translation
programmable controller
user program
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
JP27857389A
Other languages
English (en)
Inventor
Keiichi Tomizawa
富沢 敬一
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP27857389A priority Critical patent/JPH03141402A/ja
Publication of JPH03141402A publication Critical patent/JPH03141402A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、プログラムローダ(プログラム入力装置)に
より作成されたユーザプログラムをプログラマブルコン
トローラにローディング(入力記憶)した後、プログラ
マブルコントローラにおいてインタプリタ方式で演算実
行するユーザプログラムの処理方法および装置に関する
(従来の技術) 従来のプログラマブルコントローラのシステム構成を第
4図に示す。
第4図においてプログラムローダ6でユーザにより作成
されたユーザプログラムはプログラマブルコントローラ
のユーザ用プログラムメモリ5に受信記憶される。制御
部1はユーザ用プログラムメモリ5からプログラム命令
を読出し、演算部4に引き渡す。演算部4はプログラム
命令を実行する。続いて人出力(Ilo)バッファ3に
演算結果を格納する。I10バッファ3に格納された演
算結果は制御部1の指示で入出力(Ilo)部2に出力
される。110部2によりこの演算結果の信号レベルが
変換された後、この演算結果が不図示の制御対象機器に
送られる。なお、ユーザプログラムは第6図(A)に示
すシーケンス回路が第6図(B) に示す文字および記
号で表わした言語に変換されたプログラムである。
一般には小規模なプログラマブルコントローラでは、上
述の各回路の動作をチップ化されたマイクロコンピュー
タにより行っている。第5図にマイクロコンピュータの
回路構成を示す。
中央演算処理装置(CPII) 11 、リードオンメ
モリ(ROM)12.ランダムアクセスメモリ(RAM
)13および人出力ポート(■10ボート)14がバス
15に接続され、CPu1lの動作制御の基に各機器と
CPUIIの間で情報の受は渡しが行なわれる。RA旧
3内にはユーザプログラムを格納する領域と、制御対象
機器に入出力するデータを格納する領域が設けられてお
り、RAM 13が第4図に示すI10バッファ3およ
びユーザ用プログラムメモリ5として動作する。 RO
M12には、CPUIIが実行するための機械語の命令
にユーザプログラム命令を翻訳するためのプログラム(
インタプリタと呼ばれる)と、I10ボー)−14,R
AM13.ROM12に対して情報を読み書きするため
のシステムプログラムが格納されている。
CPIIIIは第7図に示すシステムプログラムに基き
、ユーザープログラムメモリからユーザの命令を1つず
つ読出しく第7図のステップS1)、命令の内容を識別
した後、翻訳プログラムに基きこの命令を機械語に翻訳
して命令内容に応じた処理を行う(第1図のステップS
2,3・・・)。
このように、ユーザプログラムのようなソースプログラ
ムを機械語のようなオブジェックトブロダラムに一命令
ずつ翻訳しながら演算処理を行う方式はインタプリタ方
式と呼ばれている。また、ユーザプログラムに用いられ
る命令には、たとえば、RAM13上の入力データ領域
の指定されたアドレスの情報を読出す接点命令、2つの
接点命令により読出した情報をアンド演算するアンド命
令。
アンド演算の結果を指定したRAM13上の出力データ
領域のアドレスに出力するコイル命令等が広く知られて
いる。
このようなプログラム命令により論理演算された演算結
果が上記出力データ領域に記憶され、I10ボート14
を介して外部出力される。したがって、Il:Pt1l
lが第4図の制御部1および演算部4として動作する。
〔発明が解決しようとする課題〕
従来この種のプログラマブルコントローラではCPt1
llがROM12およびRAM13のアドレス指定を行
うことによりそのアドレス領域の記憶情報を読出す。
しかしながら、汎用のマイクロコンピュータ、たとえば
8ビツトデータを扱うマイクロコンピュータではアドレ
スが12ビツトであるので、ROM12およびRAM1
3の合計のメモリ容量(もしくは指定アドレス量)も最
大8ビツトx12ビツト=26X212と制限される。
またユーザの要求に応じてユーザプログラムに用いるユ
ーザ命令の種類を増やすと、翻訳プログラムの容量が増
加するので、この場合、翻訳プログラム以外の格納デー
タ特に、制御対象機器からの入出力データ(接点情報)
の個数を減らさなければならかなった。
そこで、本発明の目的は、ユーザ命令の種類を増やして
も上記人出力データの個数を減らす必要のないユーザプ
ログラムの処理方法および装置を提供することにある。
〔課題を解決するための手段〕
このような目的を達成するために、本発明の第1形態は
プログラムローダにおいてユーザプログラムを作成し、
当該作成されたユーザプログラムをプログラマブルコン
トローラにおいてインタプリタ方式で演算実行するユー
ザプログラムの処理方法において、前記作成されたユー
ザプログラム中のプログラム命令を前記プログラマブル
コントローラの使用言語に翻訳するための翻訳プログラ
ムを、前記プログラムローダにおいて作成し、前記プロ
グラマブルコントローラにおいて前記ユーザプログラム
および前記翻訳プログラムを受信し、記憶し、当該記憶
された翻訳プログラムに基き、前記ユーザプログラムを
演算実行することを特徴とする。
本発明の第2形態はインタプリタ方式でユーザプログラ
ムを実行するプログラマブルコントローラにおいて、前
記ユーザプログラムを当該プログラマブルコントローラ
の使用言語に翻訳するための翻訳プログラムを外部装置
から受信する受信手段と、該受信手段により受信した翻
訳プログラムを前記ユーザプログラムの実行のために記
憶しておく記憶手段とを具えたことを特徴とする。
本発明の第3形態はプログラマブルコントローラにおい
てインタプリタ方式で実行するためのユーザプログラム
を作成し、当該作成したユーザプログラムを前記プログ
ラマブルコントローラに入力するプログラムローダであ
って、前記ユーザプログラムを構成するプログラム命令
を、前記プログラマブルコントローラの使用言語に翻訳
するための翻訳プログラムを、当該プログラム命令の種
類毎に予め記憶した記憶手段と、前記作成したユーザプ
ログラムの中で用いられている命令の翻訳プログラムを
検索により前記記憶手段から抽出する抽出手段と、該抽
出手段により抽出された翻訳プログラムを前記プログラ
マブルコントローラに入力する入力手段とを具えたこと
を特徴とする。
さらに本発明の第3形態における前記入力手段は前記翻
訳プログラムを前記作成したユーザプログラムと共に前
記プログラマブルコントローラに入力することを特徴と
する。
(作 用) 本発明の第1形態では、プログラマブルコントローラ側
ではユーザプログラムに用いられているプログラム命令
についてのみの翻訳プログラムが有れば良いことに着目
し、プログラムローダ側でユーザプログラムと共にその
ユーザプログラムのプログラム命令の翻訳プログラムを
作成する。このため、従来のようにプログラム命令の全
てについての翻訳プログラムをプログラマブルコントロ
ーラに固定記憶して場合に比べると、翻訳プログラムの
長さが小さくなる。このため、プログラム命令の種類を
増やしてもユーザプログラム用の翻訳プログラムの長さ
は増える場合は少ないので、翻訳プログラム以外の情報
を翻訳プログラムの空き領域に記憶することができる。
本発明の第2形態では翻訳プログラムをプログラムロー
ダ等の外部装置から受信し、記憶しておくので、ユーザ
プログラムのプログラムにのみ必要な翻訳プログラムの
受は入れが可能であり、従来のように翻訳プログラムを
固定記憶しておく場合に比べると外部装置による翻訳プ
ログラムの修正が可能となる。
本発明の第3形態ではプログラムローダ側で作成したユ
ーザプログラムのプログラム命令についてのみの翻訳プ
ログラムを抽出手段により自動作成するようにしたので
、ユーザの入力操作が簡略化される。
またさらに、作成された翻訳プログラムと作成のユーザ
プログラムを共に入力手段からプログラマブルコントロ
ーラに入力するようにしたので、情報の入力指示は一回
でよく、また、作成プログラムの異なる翻訳プログラム
を入力するという誤動作が避けられる。
(実施例〕 以下図面を参照して本発明の実施例を詳細に説明する。
第1図において、1000はインタプリタ方式でユーザ
プログラムを実行するプログラマブルコントローラであ
る。
10Gは前記ユーザプログラムを当該プログラマブルコ
ントローラの使用言語に翻訳するための翻訳プログラム
を外部装置から受信する受信手段である。
200は該受信手段により受信した翻訳プログラムを前
記ユーザプログラムの実行のために記憶しておく記憶手
段である。
2000はプログラマブルコントローラにおいてインタ
プリタ方式で実行するためのユーザプログラムを作成し
、当該作成したユーザプログラムを前記プログラマブル
コントローラに入力するプログラムローダである。
300は前記ユーザプログラムを構成するプログラム命
令を、前記プログラマブルコントローラの使用言語に翻
訳するための翻訳プログラムを、当該プログラム命令の
種類毎に予め記憶した記憶手段である。
400は前記作成したユーザプログラムの中で用いられ
ている命令の翻訳プログラムを検索により前記記憶手段
から抽出する抽出手段である。
500は該抽出手段により抽出された翻訳プログラムを
前記プログラマブルコントローラに入力する入力手段で
ある。
第2図は本発明実施例の具体的な構成を示す。
なお、第2図において、第4図および第5図に示す従来
例と同様の箇所には同一の符号を付し、その詳細な説明
を省略する。
第2図において、RAM23には外部への入出力情報を
格納するデータ領j!l123−1、ユーザプログラム
領域23−2および翻訳プログラムを格納するインタプ
リタ領域23−3が割り当てられている。インタプリタ
領域23−3は全ての翻訳プログラムを格納可能な容量
となし、インタプリタ領域23−3の空白領域にはユー
ザプログラムや入出力情報の一部を記憶する。したがっ
てRAM23が記憶手段として動作する。
ROM22には第3図に示すシステムプログラムが格納
されている0本例では翻訳プログラムをROMではなく
、書き換え自在のRAMに記憶することに特徴がある。
マイクロコンピュータ21はシステムプログラムに基き
、次の動作を行う。
(1)プログラムローダ30から入力されるユーザプロ
グラムおよび翻訳プログラムをRAM23のそれぞれ対
応の領域に格納する。
(2)システムの起動の指示に応じてユーザプログラム
の命令を1つずつ読出し、翻訳プログラムによりこの命
令を機械語に言語変換した後この命令を実行する。
(3)その他、プログラムローダからの情報の受信処理
等従来から周知のシステム制御を実行する。
なお、本例ではROM22 、RAM23を外部接続し
ているがマイクロコンピュータ21に内蔵するようにし
てもよい。
プログラムローダ30テは主ニCPU31 、RAM3
2ROM33表示器34.キーボード入力装置35がバ
ス接続されている。CPU31はシステムプログラムに
基き、次の動作を行う。
(1)キーボード入力装置35から作成入力されたユー
ザプログラムをプログラマブルコントローラ20に入力
する。
(2)作成されたユーザプログラムに用いられている命
令を識別し、この命令についての翻訳プログラムをイン
タプリタファイル33−1から抽出し、不図示のインタ
ーフェースを介してプログラマブルコントローラに入力
する。
(3)キーボード入力装置35から入力されたユーザプ
ログラムを表示器34に図形表示する。
(4)その他作成のユーザプログラムのプログラマブル
コントローラ20への入力等従来から周知の動作制御を
行う。
+1AM32はプログラマブルコントローラ20に送信
するユーザプログラムおよび翻訳プログラムを格納する
ROM33は装置制御を実行するためのシステムプログ
ラム33−2およびインタプリタファイル33−2、す
なわち、種々のユーザプログラムにおいて使用可能な命
令の翻訳プログラムを、各命令毎にまとめたインタプリ
タファイルが格納されている。
キーボード入力装置35はユーザプログラムの入力の他
プログラムローダ30のCPII32およびプログラマ
ブルコントローラ20のマイクロコンピュータ21に対
する動作指示を行う。
表示器34はユーザプログラムの図形表示の他、各種情
報の表示を行う。
このような回路における本発明に関わる動作を説明する
ユーザがキーボード入力装置35からユーザプログラム
を作成入力すると(:PU31は周知の制御手順に従っ
て、ユーザプログラムをRAM32のユーザプログラム
領域32−1に書き込む。次にこのユーザプログラムの
プログラマブルコントローラ20への送信の指示がキー
ボード入力装置35から入力されると、CPIJ31は
第3図(A)の制御手順を実行し、作成されたユーザプ
ログラムのための翻訳プログラムを作成する。
すなわち、第3図(^)において、CPU31はユーザ
プログラム領域を検索し、インタプリタファイルの第1
 (1−1)番目に記憶されているプログラム命令がユ
ーザプログラム領域32−1に格納されているか否かを
判定する(ステップSll→S12−513)。
この判定の結果が肯定判定のときは第1番目のユーザ命
令の翻訳プログラムをインタプリタ領域32−2に書き
込む(ステップ514)。以下、インタプリタファイル
33−2の2番目のユーザ命令から最終のユーザ命令ま
で上述の手順を繰り返し実行することにより作成のユー
ザプログラムで用いられているプログラム命令の翻訳プ
ログラムを検索により抽出し、インタプリタ領域32−
2に書き込む(ステップ512〜516)。
翻訳プログラムの抽出が終了すると(ステップIs) 
、CpH31によりRAM32のユーザプログラムおよ
び翻訳プログラムをプログラマブルコントローラlOに
送信する(ステップ517)。
一方、プログラマブルコントローラ20のマイクロコン
ピュータ21ではプログラムローダ30の送信に際し、
第3図(B)の制御手順を実行する。すなt)チ、83
図(B)において、マイクロコンピュータ21はプログ
ラミングローダ30から送られてくるニーザブログラム
および翻訳プログラムをそれぞれRAM23のユーザプ
ログラム領域23−2.インタプリタ領域23−3に書
き込む(ステップ551〜54)。
以下、システムの起動指示に応じて、マイクロコンピュ
ータ21はユーザプログラム領域33−2からユーザ命
令を読み出し、インタプリタ領域23−3の翻訳プログ
ラムにより言語変換した後、このユーザ命令を実行する
(ステップ555〜559)、以下、この手順を繰り返
し実行することにより制御対象機器の動作制御を行う。
以上、説明したように、本実施例ではプログラムローダ
30側において、ユーザプログラムに用いられるプログ
ラム命令のみの翻訳プログラムが自動的に抽出9作成さ
れるので、インタプリタ領域23−3には空白領域が生
じる。したがって、この空白領域をユーザプログラムの
格納領域として使用したり、制御や人出力データの格納
領域として用いることができる。従来ではROMに全て
のユーザ命令の翻訳プログラムを格納していたので、R
OMとRAMとのメモリ容量合計(又はアドレス割当り
を同一とした場合、本実施例の方が、空白領域が発生す
る分だけ多数の一般データ(ユーザ命令9人出力データ
)をプログラマブルコントローラ内に記憶することがで
きる。
本実施例の応用形態として次の例が挙げられる。
1)本実施例においては翻訳プログラムをプログラムロ
ーダで自動作成する例を示しているが、翻訳プログラム
をキー入力するようにしてもよい、この場合、手動入力
モードと自動入力モードを設け、手動モードが設定され
たときにはキーボード入力装置35から入力された機械
語の翻訳プログラムをRAMff2のインタプリタ領域
32−2へCPU31により書き込む。このように手動
入力モードを設定することにより、何等、装置変更を行
うことなく、ユーザは新しいプログラム命令を作成使用
したり、既存のプログラム命令を修正使用することがで
きるという利点が得られる。
2)本実施例ではプログラマブルコントローラ20のR
AM23内にユーザプログラム領域およびインタプリタ
領域を別個に設けているが、上記領域を1つのメモリ領
域で、共有し、ユーザプログラムをこのメモリ領域に記
憶した後、次のアドレスから翻訳プログラムを記憶させ
るようにしてもよい。この場合は、空白領域がユーザプ
ログラム領域とインタプリタ領域とに分割されず、空白
領域に対する情報の読書き処理が簡素化されるというメ
リットがある。
〔発明の効果〕
以上、説明したように、本発明によれば、ユーザプログ
ラムの長さに対応して翻訳プログラムの長さが定まるの
で、プログラマブルコントローラの翻訳プログラムの記
憶領域に空き領域が生じ、他の情報を記憶することがで
籾る。また、翻訳プログラムを修正することができるの
で、各ユーザのシステムに適応したプログラムも新設す
ることも可能となり、プログラマブルコントローラの用
途が広がる。さらに、翻訳プログラムの作成も自動的に
行なわれるので、従来例に比べてユーザの操作労力が増
えることはない。
【図面の簡単な説明】
第1図は本発明実施例の基本構成を示すブロック図、 第2図は本発明実施例の具体的な回路構成を示すブロッ
ク図、 第3図(^)は本発明実施例のCPU31が実行する制
御手順を示すフローチャート、 第3図(B)は本発明実施例のマイクロコンピュータ2
1が実行する制御手順を示すフローチャート、 第4図は従来例のシステム構成を示すブロック図、 第5図は従来例の詳細な回路構成を示すブロック図、 第6図(A)は従来例のユーザプログラムの示す回路を
表わす説明図、 第6図(B)は従来例のユーザプログラムの一例を示す
説明図、 第7図鎮従来例のマイクロコンピュータが実行する制御
手順を示すフローチャートである。 10、21・・・マイクロコンピュータ、23.32・
・・RAM  。 6.30・・・プログラムローダ。 第 3 図(A) 10マイ20フンし一一夕 イ友釆イ列のrfJ路講八乞へ1ブロック園第5図 01 ○07 00  7  200 1 イ疋釆イ列のニーす゛プログラムの一イ列を利書兇B[
l第6図(B)

Claims (1)

  1. 【特許請求の範囲】 1)プログラムローダにおいてユーザプログラムを作成
    し、当該作成されたユーザプログラムをプログラマブル
    コントローラにおいてインタプリタ方式で演算実行する
    ユーザプログラムの処理方法において、 前記作成されたユーザプログラム中のプログラム命令を
    前記プログラマブルコントローラの使用言語に翻訳する
    ための翻訳プログラムを、前記プログラムローダにおい
    て作成し、前記プログラマブルコントローラにおいて前
    記ユーザプログラムおよび前記翻訳プログラムを受信し
    、記憶し、当該記憶された翻訳プログラムに基き、前記
    ユーザプログラムを演算実行することを特徴とするユー
    ザプログラムの処理方法。 2)インタプリタ方式でユーザプログラムを実行するプ
    ログラマブルコントローラにおいて、前記ユーザプログ
    ラムを当該プログラマブルコントローラの使用言語に翻
    訳するための翻訳プログラムを外部装置から受信する受
    信手段と、該受信手段により受信した翻訳プログラムを
    前記ユーザプログラムの実行のために記憶しておく記憶
    手段と を具えたことを特徴とするプログラマブルコントローラ
    。 3)プログラマブルコントローラにおいてインタプリタ
    方式で実行するためのユーザプログラムを作成し、当該
    作成したユーザプログラムを前記プログラマブルコント
    ローラに入力するプログラムローダであって、 前記ユーザプログラムを構成するプログラム命令を、前
    記プログラマブルコントローラの使用言語に翻訳するた
    めの翻訳プログラムを、当該プログラム命令の種類毎に
    予め記憶した記憶手段と、 前記作成したユーザプログラムの中で用いられている命
    令の翻訳プログラムを検索により前記記憶手段から抽出
    する抽出手段と、 該抽出手段により抽出された翻訳プログラムを前記プロ
    グラマブルコントローラに入力する入力手段と を具えたことを特徴とするプログラムローダ。 4)前記入力手段は前記翻訳プログラムを前記作成した
    ユーザプログラムと共に前記プログラマブルコントロー
    ラに入力することを特徴とする請求項3に記載のプログ
    ラムローダ。
JP27857389A 1989-10-27 1989-10-27 ユーザプログラムの処理方法および装置 Pending JPH03141402A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27857389A JPH03141402A (ja) 1989-10-27 1989-10-27 ユーザプログラムの処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27857389A JPH03141402A (ja) 1989-10-27 1989-10-27 ユーザプログラムの処理方法および装置

Publications (1)

Publication Number Publication Date
JPH03141402A true JPH03141402A (ja) 1991-06-17

Family

ID=17599150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27857389A Pending JPH03141402A (ja) 1989-10-27 1989-10-27 ユーザプログラムの処理方法および装置

Country Status (1)

Country Link
JP (1) JPH03141402A (ja)

Similar Documents

Publication Publication Date Title
JPS5840235B2 (ja) カヘンケイジヨウカイケイキ
US5270918A (en) Automatic programming method
JPH03141402A (ja) ユーザプログラムの処理方法および装置
JPH022448A (ja) 端末エミュレータ
JPH113105A (ja) プログラマブルコントローラのプログラミング装置
JPS59142634A (ja) 文字処理装置
JPH0348333A (ja) プロセッサおよび描画プロセッサ
JPS61279906A (ja) プログラマブルコントロ−ラ
JPH082727Y2 (ja) プログラマブルシ−ケンサ
JPS6010337A (ja) マイクロ命令制御装置
JPS6348698A (ja) メモリ格納制御装置
JPH08278935A (ja) プログラマブルコントローラ
JPS59140508A (ja) プログラマブルコントロ−ラの実行方法
JPH08272411A (ja) ラダー命令処理装置
JPH0518138B2 (ja)
JPS5878203A (ja) プログラマブル・コントロ−ラ
JPH07110651A (ja) プログラマブルコントローラへのコメントの格納方法およびプログラマブルコントローラ
JPS5949609A (ja) 模擬実行機能を備えたプログラマブル・コントロ−ラ
JPH05341820A (ja) プログラマブルコントローラの演算処理方法
JPH03160524A (ja) 情報処理装置
JPH04175903A (ja) プログラマブルコントローラ
JPH0454548A (ja) 計算機システムのメモリチエック方式
JPS63244133A (ja) 制御プログラムの格納方式
JPH03111943A (ja) 変数出力範囲指定方式
JPH01169506A (ja) 数値制御装置