JPS62162106A - プログラマブルコントロ−ラにおけるプログラム変更方法 - Google Patents

プログラマブルコントロ−ラにおけるプログラム変更方法

Info

Publication number
JPS62162106A
JPS62162106A JP61003404A JP340486A JPS62162106A JP S62162106 A JPS62162106 A JP S62162106A JP 61003404 A JP61003404 A JP 61003404A JP 340486 A JP340486 A JP 340486A JP S62162106 A JPS62162106 A JP S62162106A
Authority
JP
Japan
Prior art keywords
program
instruction
nop
processing
words
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
JP61003404A
Other languages
English (en)
Inventor
Kazuaki Tomita
富田 一彰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Tateisi Electronics Co filed Critical Omron Tateisi Electronics Co
Priority to JP61003404A priority Critical patent/JPS62162106A/ja
Publication of JPS62162106A publication Critical patent/JPS62162106A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明はプログラマブルコントローラ(以下PCと称
す)に関し、特に、ユーザプログラムの実行動作を中断
させずにプログラムを部分的に変更する方法に関する。
(従来の技術) PCでは、ユーザプログラムを繰返し実行することで、
制御入出力信号群の論理変化および履歴に応じて制御出
力信号群の新たな論理を決定していく。そして、ユーザ
プログラムの実行処理の繰返し周期が短い程、制御入出
力信号間の応谷性が高くなり、より良い制御が行なえる
ユーザプログラムの実行処理以外にも、プログラミング
コンソールやプリンタとか表示装冒といった周辺機器と
結合し、与えられたコマンドを処理したり、データを授
受したりする号−ビス処理も行なう。また、ウオッチド
グタイマのリセットや、メモリやバスのチェックなどの
システムの監視の処理も行う。さらに機種によっては、
他のPCとの間でデータ授受を行なうものもある。
=一般のPCでは、第3図に示すように、ユーザプログ
ラムの実行処理と、サービス処理と、その他の処理とを
順番に高速に繰返す構成となっている。これら全体の1
回の処理時間(TI+T2十「3)がスキへ7ンタイム
と呼ばれている。制御の応答性を決めるユーザプログラ
ムの実行周期はこのスキャンタイムで決まる。したがっ
て、サービス処理の時間T2やその他の処理の時間T3
を短く1れば、スキへ7ンタイムが短くなり、制御の応
答性が向上する。
通常の動作では、1−記サービス処理の割当時間丁2は
タイマにより、必要最小限の短い一定時間に決められて
いる。そして1回のサービス処理で処理完了できないコ
マンドに対しては、サービス処理を何回か繰返して処理
する。
以上のような@提条件のPCにおいて、ユーザプログラ
ムの実行中にそのプ[]ダラムを変更する場合、実行エ
リアのプログラムをrlき換えるのは1回のサービス処
理で行なわなければならない。
複数回のサービス処理で徐々にプログラムを書き換えて
いくと、書き換え途中のブタラメ(論理の合っていない
、あるいは論理の流れが途切れた状態)なプログラムが
実行されてしまい、その結果制御対象を意図しない動作
状態に導いてしまい、場合によっては非常に危険である
(発明が解決しようとする問題点) 従来のPCにおいて、メモリの空きエリアに変更しよう
とするプログラムを作成する処理を、割当時間内の上記
サービス処理を間欠的に繰返す時分割処理によって行な
うことはできる。しかし、そのように準備した変更プロ
グラムを実行中の既存プログラムに組み込む(書き換え
る)際に問題が生じる。
例えば第4図(△)に示すように、既存プログラムのあ
る1語命令aを4語の変更プログラムに冒き換える場合
などに問題が起きる。この変更により3詔の増加が発生
するが、それに応じて、命令a以降のプログラムをすべ
て3語分づつ移動させなければならない。このように多
数の命令語をメモリ上で移動させる処理に多大な時間が
かかつてしまう。この処理がサービス処理の1回の割当
時間より相当に長くなってしまう。
そのため従来は、多くの場合、ユーザプログラムの実行
動作と並行してプログラムを変更することはできず、プ
ログラムの変更に際しては、それが簡単な部分変更であ
っても、ユーザプログラムの実行動作を一時的に中断さ
せなければならなかった。つまりPCの運転を一時停止
させなければならなかった。
この発明は上述した従来の問題点に鑑みなされたもので
、その目的は、ユーザプログラムの実行動作を中断させ
ずにプログラムの部分変更処理を行なえるようにしたP
Cのプログラムの変更方法を提供することにある。
(問題点を解決づるための手段) そこでこの発明では、割当時間内の上記V−ビス処理を
間欠的に繰返す時分割処理によって、メモリの空きエリ
アに変更プログラムを準備するとともに、この変更プロ
グラムを実行中の既存プログラム中に組み込むことによ
って生じる命令語数の増加分だけのノーオペレーション
命令を既存プログラムの末尾に付加して組み込み位置ま
で移動させ、その後上記サービス処理の1回の実行によ
って上記ノーオペレーション命令を含む部分を上記変更
プログラムで書き換える方法とした。
(実施例) この発明に係るPCは、第1図に示ずように、CPU(
演算処理部)1と、システムプログラムメモリ2と、シ
ステムワーキングメモリ3と、プログラミングコンソー
ル4と、ユーザプログラムメモリ5と、データメモリ6
と、入力回路7ど、出力回路8と、タイマ9とを佑える
入力回路7に多数の制御人力信号源が接続される。出力
回路8は多数の制御出力信号リレーを右し、これに制御
対象機器が接続される。入力回路7に与えられた制御出
力信V;肝はデータメしり6に一度取り込まれて演客)
に供され、ぞの演惇によってデータメモリ61.:生成
された制御出力信号8Tを出力回路8から外部に出力す
る。CP U 1は、メモリ5に格納されたユーザプロ
グラムを繰返し実行することで、制御出力信号)群の論
理変化および履歴に応じた制御出力群の新たな論理変化
を決定していく。
第2図(A)は本発明を適用したPCの全体的な動作を
示している。第2図(A>におけるステップ201〜2
04が萌述したユーザプログラムの実行処理である。ス
テップ201では入力回路7の制御入力信号をデータメ
モリ6に取り込む。
ステップ202ではユーザプログラムの1命令を実行し
、ステップ203でユーザプログラムの最後に設定され
ているEND命令が検出されるまで各命令を順次実行す
る。ユーザプログラムをEND命令まで1遺失行すると
、ステップ204でデータメモリ6の制御出力信号を出
力回路8に転送する。
以上のユーザプログラム実行処理を1回終了したら、ス
テップ205でタイマ9を起動し、ステップ206のサ
ービス処理に移行する。上記タイマ9はサービス処理の
割当時間を規定するもので、このタイマ9がタイムアツ
プすると、ステップ207として示づタイマ割込みがか
かり、この時点でサービス処理を中断し、その実行状況
(処理継続用の情報)をステップ208でシステムワー
キングメモリ3にセーブし、ステップ201〜204の
ユーザプログラム実行処理に移行する。
このようにして、ユーザプログラム実行処理とサービス
!l!l PI!とが順番に繰返される。
サービス処理206では、プログラミングコンソール4
から与えられるコマンドを処理する。タイマ9に規定さ
れた1回の割当時間で処理できない仕事は、既に繰返し
説明しているように、何回かのサービス処理に分けて実
行される。
プログラムの変更に際し、まずプログラミングコンソー
ル4のキーボードを操作し、システムワーキングメモリ
3の空きエリアに新たな変更プログラムを作成するとと
もに、その変更プログラムを既存プログラム中のどの部
分に組み込むのかを入力する。
第4図(A)の例では、4語からなる新たな変更プログ
ラムをメモリ3に作成し、この4語のプログラムを既存
プログラムの1語命令aに置き換える旨を入力する。こ
の入力はサービス処理206で受cノ付けられる。
上記の操作の後、コンソール4でブOグラム変更開始の
コマンドを与える。すると第2図(B)で示す処理が第
2図(A)のサービス処理206として実行される。
まずステップ301で、これから行なうプログラム変更
で命令語数が増えるかを判定する。増える場合には、ス
テップ302で増加冊数nを算出する。第4図(A)の
例ではn=3となる。
次にステップ303で、第4図(B)に示すように、メ
七り5中の既存プログラム(実行中である)の末尾にノ
ーオペレーション命令(実質的に何もしない命令で、以
下NOP命令と称する)を付加する。次のステップ30
4で、上記NOP命令の位置を順次アドレスの若い方へ
少しづつ移動させていく。次のステップ305では、N
OP命令が所定位置に達したかを判断し、達していなけ
ればステップ304に戻る。所定位置とは、第4図(B
)の例では、変更個所の命令aの後である。
次にステップ306で増加語数nの値を1だU減口し、
ステップ307で減算結果がぜ口になったかを判断゛り
る。ぜ口になっていなければステップ303に戻り、ざ
らに1 ([!llのNOP命令を付り加え、そのNO
P命令を順次アドレスの若い方へ移動させ、先のNOP
命令の後につ(プる。
以上の処理をn=oになるまで繰返す。その結果第4図
の例では、(C)に示づように、既存プログラムの変更
個所の命令aの後に3個のNOP命令が配置される。
ここまでの処理はタイマ9による時分割処理で実行され
る。そのため、移動中のNOP命令を含んだユーザプロ
グラム(既存ブ1]グラム)が実行されるが、N Ot
)命令は制御に何ら影響を与えないので問題はない。
ステップ307でYESと判定されたならば、ステップ
308でタイマ9による割込みを禁止してステップ30
9に進み、命令aと3 flW (7) N Ol)命
令の合計4語を!$備された変更プログラムで書き換え
る。その後スデツブ310でタイマ割込みの禁止を解除
する。
プログラム書き換えルーチン309をタイマ割込みを禁
止した状態で行なうのは、この処理に時間がかかるとい
う意味ではない。変更個所と変更プログラムとの語長を
事前に揃えているので、ルーチン309は短時間で行な
える。しかしタイマ割込みを禁止しなければ、前の処理
の中所点との関係で、ルーチン309の処理中にタイマ
割込みがかかる可能性がある。この可能性を消すために
タイマ割込みを禁止しているのである。
(発明の効果) 以上詳細に説明したように、この発明によれば、PCの
運転を中断することなく、側聞動作を継続したままで、
ユーザプログラムの部分変更を行なえるので、l) C
の汎用性、融通性がさらに向上する。
【図面の簡単な説明】
第1図はこの発明に係るPCのブロック図、第2図(A
)、(B)は上記PCの動作を示すフローチA7−ト、
第3図は一般的なPCの作用を示づ図、第4図(A)、
(B)、(C)はプログラム変更例の説明図である。 1・・・CPLJ、3・・・システムワーキングメモリ
、4・・・プログラミングコンンール、5・・・ユーザ
プログラムメモリ、9・・・タイマ。 特許出願人   立石電機株式会社 代理人 弁理士 岩0百二(他1名) 第4 図 肥[4)bり゛ラム

Claims (1)

    【特許請求の範囲】
  1. (1)ユーザプログラムの実行処理とプログラミングコ
    ンソールからのコマンドを処理するサービス処理とを順
    番に高速で繰返すプログラマブルコントローラにおいて
    、割当時間内の上記サービス処理を間欠的に繰返す時分
    割処理によって、メモリの空きエリアに変更プログラム
    を準備するとともに、この変更プログラムを実行中の既
    存プログラム中に組み込むことによって生じる命令語数
    の増加分だけのノーオペレション命令を既存プログラム
    の末尾に付加して組み込み位置まで移動させ、その後上
    記サービス処理の1回の実行によって上記ノーオペレー
    ション命令を含む部分を上記変更プログラムで書き変え
    ることを特徴とするプログラマブルコントローラにおけ
    るプログラム変更方法。
JP61003404A 1986-01-13 1986-01-13 プログラマブルコントロ−ラにおけるプログラム変更方法 Pending JPS62162106A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61003404A JPS62162106A (ja) 1986-01-13 1986-01-13 プログラマブルコントロ−ラにおけるプログラム変更方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61003404A JPS62162106A (ja) 1986-01-13 1986-01-13 プログラマブルコントロ−ラにおけるプログラム変更方法

Publications (1)

Publication Number Publication Date
JPS62162106A true JPS62162106A (ja) 1987-07-18

Family

ID=11556441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61003404A Pending JPS62162106A (ja) 1986-01-13 1986-01-13 プログラマブルコントロ−ラにおけるプログラム変更方法

Country Status (1)

Country Link
JP (1) JPS62162106A (ja)

Similar Documents

Publication Publication Date Title
JPH04133102A (ja) プログラマブル・コントローラ及びその制御方法
JP2001265412A (ja) プログラマブルコントローラ
EP0190358A1 (en) System for controlling a programmable controller
JP2861962B2 (ja) コンピュータプログラムのシミュレーション装置および方法
US5715439A (en) Bi-directional co-processor interface
JPS62162106A (ja) プログラマブルコントロ−ラにおけるプログラム変更方法
JPS63268002A (ja) プログラマブルコントロ−ラ
JP2649034B2 (ja) 制御装置
JPS63214804A (ja) Plc用プロセツサ及びplc
JP4494701B2 (ja) プロセッサ内の機能単位の制御時に命令語を生成する方法
JPS59114602A (ja) プログラマブルコントロ−ラ
JPS62162107A (ja) プログラマブルコントロ−ラにおけるプログラム変更方法
JP2508026B2 (ja) タイマ制御方式
KR100258893B1 (ko) 단일 중앙처리부를 이용한 수치제어장치의 구현방법
JP3331357B2 (ja) プログラマブルコントローラ
JPS5965307A (ja) シ−ケンス制御装置
JP3024719B2 (ja) プログラマブルコントローラの演算処理方法
JPS63126007A (ja) プログラマブル・コントロ−ラ
JPS5835648A (ja) プログラム実行制御方式
JPS62152045A (ja) プログラマブルコントロ−ラ
JPS61156307A (ja) シ−ケンス制御装置
JPS59119413A (ja) プログラマブルコントロ−ラ
JPS593647A (ja) デ−タ処理システム
JPH02178837A (ja) マイクロプログラムの調速方式
JPS61241843A (ja) 情報処理装置