JPS58139254A - Programmable controller - Google Patents

Programmable controller

Info

Publication number
JPS58139254A
JPS58139254A JP1996082A JP1996082A JPS58139254A JP S58139254 A JPS58139254 A JP S58139254A JP 1996082 A JP1996082 A JP 1996082A JP 1996082 A JP1996082 A JP 1996082A JP S58139254 A JPS58139254 A JP S58139254A
Authority
JP
Japan
Prior art keywords
address
user
instruction
jump
label
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
JP1996082A
Other languages
Japanese (ja)
Inventor
Hisashi Shiyounaka
庄中 永
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
Tateisi Electronics Co
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 Tateisi Electronics Co, Omron Tateisi Electronics Co filed Critical Tateisi Electronics Co
Priority to JP1996082A priority Critical patent/JPS58139254A/en
Publication of JPS58139254A publication Critical patent/JPS58139254A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

PURPOSE:To prevent the user from being aware of the change of an address to be jumped due to addition/deletion of a jump instruction and to keep corresponding relation to a coding sheet, by controlling the jump instruction by the label number. CONSTITUTION:A controller is provided with a CPU1, an I/O parts 2, a user's memory 3, and an internal memory 4. The internal memroy 4 has an ROM stored with a system program to be executed by the CPu1 and an ROM to be used as a temporary storage area for various variable data and a label number 1 address reference table is prepared in a prescribed area in the RAM. The CPU1 decodes and executes the user's programs stored in the user's memory 3 successively, executes logical operation between the I/O data and successively updates output data to be applied to the I/O parts by the result of logical operation to form the sequence state regulated by the user's program between the I/O data.

Description

【発明の詳細な説明】 この発明はプログラマブル・コントローラに関し、特に
、ユーザプログラム中のジャンプ命令の処理方式に関す
る。      ゛ 周知のように、通常のプログラマブル・コントローラに
はユーザ命令の一種としてジャンプ命令(無条件ジャン
プ命令9条件  ゛ が備わっている。′従来めプログラマブル・コントロー
ラに゛おいては、ジャンプ命令のジャンプ先アドレスは
そのジャンプ命″苓のオペランドに直接的に設定される
ようになっており、プログラマブル・コントローラー゛
そのジャンプ命令を解読実行してジャンプする場合には
′、オペランドに設門されているアドレスに直接的にジ
ャンプするように構11!6れぞいた。□ このようなプログラマブル・コントローラそは、ジャン
プ命令に関して次のような問題があまた。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a programmable controller, and particularly to a method for processing jump instructions in a user program. ``As is well known, normal programmable controllers are equipped with a jump instruction (unconditional jump instruction 9 conditions) as a type of user instruction. ``In conventional programmable controllers, the jump destination of the jump instruction is The address is directly set to the operand of the jump command, and when the programmable controller decodes and executes the jump command and jumps, it sets the address set in the operand. I tried to jump directly.□ There are many problems with such a programmable controller, such as the following, regarding the jump command.

ユーザプログラムが命令の追□加や削除によって麦更さ
れ、アドレスの移動が起こった場合、ジャンプ命“壱′
のジャンプ先アドレスについても書換える必要を生じる
ことがある。従来のプログラマブル・ボントローラでは
、こ;のジャンプ命令に付随したジャンプ先アドレスの
書換えを手動入力操作によって行なわなければならない
ものと、命令の追加、削除に伴ってジャンプ先アドレス
の変−を要するか否示をi動判断し、かつジャンプ菟ナ
トレスの変更を要する場合には自動的にジャンプ命令の
オペランドを書換えるようにしたものとがある。
If the user program is modified by adding or deleting instructions and the address moves, a jump instruction “1”
It may also be necessary to rewrite the jump destination address. With conventional programmable Bontrollers, the jump destination address associated with this jump instruction must be rewritten manually, and the jump destination address must be changed when instructions are added or deleted. There is a system in which the jump instruction is automatically determined and the operand of the jump instruction is automatically rewritten if the jump instruction needs to be changed.

前者の装置Cは、命令の追加9、削除等にょつてジャン
プ先アドレスの変更が必要かどうかの判断を含、めで慎
重なR1が必要であり、かつまた手動入力操作によって
ジャンプ先アドレスを変更するのも一例である。後者の
自動化された装置では、勿論このような煩わしさはなく
なる。しかし、ニーザブ0/7ラムをコントローラに正
しく書込むのに加えて、その正しいユーザプログラムを
コーディングシートあるいはフローチャート図等の形で
記録保存しておくことも非常に重要であり、このことは
一般に行われていることである。この点、後者の装置で
は、装置内部のユーザプログラムについてはジャンプ先
アドレスが自動修正される訳であるが、当然ながら」−
ディングシートやフローチャート図等の控えのプログラ
ム表についてまで変更される訳ではない。従って、上述
のような命、令の追加や削除等によってジャンプ先アド
レスが内勤修正された場合、そのままにしておくと装置
内部のユーザプログラムとコーディングシートやフロー
チャート図とが一致しなくなり、図面作成時や回路チッ
ク時等に問題を生ずる。従って、この問題を回避するた
めに、コーディングシートやフローチャート図について
はやはり人手による慎重な変更作業が必要となる。
The former device C requires careful R1, including determining whether the jump destination address needs to be changed due to the addition or deletion of instructions, and also changes the jump destination address by manual input operation. is an example. With the latter automated device, of course, such hassles are eliminated. However, in addition to correctly writing the Kneesab 0/7 RAM to the controller, it is also very important to keep a record of the correct user program in the form of a coding sheet or flowchart diagram, which is generally not done. This is what is being said. In this regard, with the latter device, the jump destination address for the user program inside the device is automatically corrected, but of course.
This does not mean that changes will not be made to program copies such as drawing sheets and flowcharts. Therefore, if the jump destination address is modified by adding or deleting commands or commands as described above, if left as is, the user program inside the device will not match the coding sheet or flowchart diagram, and this will cause problems when creating drawings. Problems occur when circuit ticks occur. Therefore, in order to avoid this problem, coding sheets and flowcharts must be carefully modified manually.

この発明は上述した従来の問題点に鑑みなされたもので
あり、その目的は、命令の追加や削除等によってユーザ
プログラムのアドレス移呻があった場合にも、ジャンプ
命令のジャンプ先については特に処理をせずとも問題を
生ずることがなく、しかもコーディングシートやフロー
チャート図との対応関係が失われないようしたプログラ
マブル・コントロ・′−ラを提供することにある。
This invention was made in view of the above-mentioned conventional problems, and its purpose is to prevent the jump destination of a jump instruction from being processed even if the address of the user program is moved due to the addition or deletion of an instruction. It is an object of the present invention to provide a programmable controller which does not cause any problems even if the controller is not used, and which does not lose its correspondence with coding sheets and flowcharts.

上記の目的を達成するために、この発明においては、あ
るジャンプ命令のジャンプ先となる命令の直前にラベル
設定命令なるものを押入しておき、このラベル設定命令
には特定のう4べ、ル醤号をオペランドに設定し、一方
ジャンプ、命令のオペランドには上記ラベル番号を設定
しておく。、そし!、この発明に、係るプログラマブル
・コントローラは、ユーザプログラムの実行に先立つイ
ニシャル処理として1、単にプロ色ラムカウンタを進め
る。たけ機能、でオペランドにラベル番号が設定さ、れ
ているラベル設定命令をユーザプログ、ラムの中から全
て、検索し1.各うさ!し設定命令が格納されているア
ドレスとそれぞれのラベル番号仁を対吟付けたラベル番
号/アドレス対照表を一定の記憶部に作成する手段と、
ユーザプログラム中のジャンプ命令の実行時に、そのジ
ャンプ命令のオペランドに設定さn T パ65べ!′
番@ E ?、6゛T k記・56′1号/アドレス対
照表から該、当する7、ドレス−を検索する手、段とを
有し?、これにより、検索されたアドレス、に従うてジ
ャンプ先アドレスを決定するように構成されている。 
   1.。
In order to achieve the above object, in the present invention, a label setting command is inserted immediately before the jump destination instruction of a certain jump command, and this label setting command has four specific labels and labels. Set the label number as the operand, and set the above label number as the operand of the jump command. ,stop! According to the present invention, the programmable controller simply advances the program color ram counter as an initial process prior to execution of the user program. Search the user program and program for all label setting commands in which a label number is set in the operand using the take function.1. Each rabbit! means for creating a label number/address comparison table in a certain storage unit, which compares the address where the setting command is stored with each label number;
When a jump instruction in a user program is executed, n T is set in the operand of the jump instruction. ′
Number @E? , 6゛Tk No. 56'1/Does it have a means to search for the corresponding 7. dress from the address comparison table? , whereby the jump destination address is determined according to the searched address.
1. .

以下、この発明の実施例を図面に基づいて詳細に説明す
る。  、、   ・ 第1図はこの発明に係るプログラマブル・コントローラ
の概略構成を示すブロック図である。このプログラマブ
ル・コントロ・−ラは、マイクロブーセッサかうなる中
・央処理部1と、外部からの入力信号を受けるとともに
外部に出力信号を送出するイ1ンターフェ4イスとなる
入出力部2と、ユーザプログラムが格納されるユーザメ
モリ部3と、内部メモリ部4とを有する。”内部メモリ
部4は、中央処理部、1によって実行されるシステムプ
ログラム、を格納したROM、部と1.、中央処理部1
に・よって各種可変データの一時記憶エリアとして使わ
れるRAM部を有し、後述するラベル番号/アドレス・
対照表はこ、のRAM部の所定エリア・に作成される。
Hereinafter, embodiments of the present invention will be described in detail based on the drawings. ,, ・ FIG. 1 is a block diagram showing a schematic configuration of a programmable controller according to the present invention. This programmable controller includes a central processing section 1 which is a microprocessor, an input/output section 2 which is an interface that receives input signals from the outside and sends output signals to the outside. It has a user memory section 3 in which user programs are stored, and an internal memory section 4. ``The internal memory unit 4 is a ROM that stores a system program executed by the central processing unit 1.
It has a RAM section that is used as a temporary storage area for various variable data.
The comparison table is created in a predetermined area of the RAM section.

中央処理部1は、ユーザメモリ部、13に格納されたユ
ーザプロゲラ、ム、を順、醤に解読実行し、各ニー、−
ザ命令に従プ、て入、出力部2に与えられている入出力
データ園の論理演算を行い、かつその演算5、結く梁で
もって入出力部2に与える出力・データを順次更新する
処理を行うことによって、入出力デ9−タ闇にユーザプ
ログラムで規定されたシーケンス状態を作り出すのであ
る。このプログラマブル・コントローラの基本処理動作
は良く知られているので、この明細書では詳′達しない
The central processing unit 1 sequentially decodes and executes the user programs stored in the user memory unit 13, and each knee, -
Following the instruction, performs a logical operation on the input/output data set given to the input and output section 2, and sequentially updates the output/data given to the input/output section 2 using the connected beam. By performing the processing, a sequence state defined by the user program is created based on the input/output data. The basic processing operations of this programmable controller are well known and will not be detailed in this specification.

第2図は本発明によるプログラマブル・コントローラに
適用されるユーザプログラムの一例を示す。第づ図(A
)はユーザプログラムをフローチャート図で現したもの
であり、同図(B)は同じプログラムをコーディングシ
ートの記述形態で現したものである。第2図(B)に示
すプログラム例において、左欄のアドレスは上記ユーザ
メモリ部3のアドレスに対応し、その右欄のデータ部に
は各アドレスに格納されるユーザ命令を示している。同
図における命令A〜命令Eは、入出力部2からある特定
の入出力データを取込む命令や、入出力データ闇で論理
演棹をする命令如、演算結果を入出力部2に出力する命
令等の通常の命令を示す。また、アドレス58のJMP
命令は無条件ジャンプ命令を示し、アドレス′55のC
JP命令は条件ジャンプ命令を示している。また、アド
レス50およびアドレス53のLABEL命令は本発明
を適用するに当って新たに定義された命令で、これをラ
ベル設定命令と称する。このラベル設定曲*LABEL
のオペランドにはそれぞれ各別のラベル番号が任意に設
定される。アドレス5oのラベル設定命令のオペランド
にはラベル番号「13]が設定されており、アドレス5
3のラベル設定命令のオペランドにはラベル番@r11
Jが設定されている。そして、アドレス58の無条件ジ
ャンプ命令のジャンプ先が命令へであり、この一合、命
令Aの直前のアドレス5oにラベル番号「13」のラベ
ル設定命令をセットし、これに対応してアドレス58の
無条件ジャンプ命令のオペランドにラベル番号「13」
をセットする。また、条件ジャンプ命令のジャンプ先が
命令Cであり、この場合命令Cの直前のアドレス53に
ラベル番号r11Jのラベル設定命令をセットし、これ
に対応してアドレス55の条件ジャンプ命令のオペラン
ドにラベル番号’r 11 Jをセットしている。  
   ′なお、ユーザプログラムの実行時にラベル設定
命令がいわゆるノーオペレーション命令と全く同等に扱
われ、単にユーザメモリ部3をアドレッシングするプロ
グラムカウンタを進めるだけの機能を有する命令である
FIG. 2 shows an example of a user program applied to the programmable controller according to the present invention. Figure 5 (A
) shows the user program in the form of a flowchart, and (B) shows the same program in the form of a coding sheet. In the program example shown in FIG. 2(B), the addresses in the left column correspond to the addresses of the user memory section 3, and the data section in the right column shows user commands stored at each address. Instructions A to E in the figure are commands to fetch specific input/output data from the input/output unit 2, instructions to perform logical deduction in the darkness of the input/output data, and output calculation results to the input/output unit 2. Indicates a normal command such as a command. Also, JMP at address 58
The instruction indicates an unconditional jump instruction, and C at address '55
The JP instruction indicates a conditional jump instruction. Further, the LABEL commands at addresses 50 and 53 are newly defined commands when applying the present invention, and are referred to as label setting commands. This label setting song *LABEL
A different label number is arbitrarily set for each operand. Label number "13" is set in the operand of the label setting command at address 5o, and address 5o is set to label number "13".
The operand of the label setting command in step 3 is the label number @r11.
J is set. Then, the jump destination of the unconditional jump instruction at address 58 is to the instruction, and in this case, a label setting instruction with label number "13" is set at address 5o immediately before instruction A, and correspondingly, address 58 The label number "13" is added to the operand of the unconditional jump instruction.
Set. In addition, the jump destination of the conditional jump instruction is instruction C, and in this case, a label setting instruction with label number r11J is set to address 53 immediately before instruction C, and correspondingly, a label is set to the operand of the conditional jump instruction at address 55. The number 'r 11 J is set.
'Note that when a user program is executed, the label setting instruction is treated exactly the same as a so-called no-operation instruction, and has the function of simply advancing the program counter for addressing the user memory section 3.

第2図(A)のフローチャート図で現したユーザプログ
ラムにおいて、(0)のコー“デ□イングシ一トに対応
し、命令への直前にラベル番号「13」が記入され、命
令Cの直□前にラベル番号「11」が記入されている。
In the user program shown in the flowchart of FIG. 2(A), a label number "13" is written immediately before the instruction C, corresponding to the code input sheet (0), and the label number "13" is written immediately before the instruction C. Label number "11" is written on the front.

第3図は□中央処□理−1によ・て実行さ武るシステム
プログラムの概要を示すフローチャートであ゛す、特に
この発明の要部となる部分を中心に″表現したものであ
る。以下、このフローチャートに従って中央処理部1の
処理動作を順番に説明する。
FIG. 3 is a flowchart showing an overview of the system program executed by the central processing unit 1, with particular emphasis on the essential parts of the present invention. Hereinafter, the processing operations of the central processing unit 1 will be explained in order according to this flowchart.

まず、本プログラマブル・コントローラを起動すると、
ユーザプログラムの、実行に先立つイニシャル処理の一
部としてステ゛ツブ(100)の処理が実行される。こ
のステップ(100)では、ユーザメモリ部3に格納さ
れているユーザプログラムの各命令を順番に読出し、上
述のラベル設定命令を検索し、見付かった各ラベル設定
命令の格納アドレスとそのラベル設定命令のオペランド
に格納されているラベル番号とを対応付□けたラベル番
号/アドレス対照表を内部メモリ部4の所定RAMエリ
アに作成する。このイニシャル処理が終rし。
First, when you start up this programmable controller,
The process of step (100) is executed as part of the initial process prior to execution of the user program. In this step (100), each instruction of the user program stored in the user memory section 3 is read in order, the above-mentioned label setting instruction is searched, and the storage address of each found label setting instruction and the address of the label setting instruction are A label number/address comparison table is created in a predetermined RAM area of the internal memory unit 4 in which the label numbers stored in the operands are associated with each other. This initial processing is completed.

で始めて4−ザブログラムの解読実行処理を開始する。4-Start the program decoding execution process.

 □ tfステップ(101)に゛て予めクリされたプログラ
ムカウンタの示すアドレ反でユーザメモリ部3をアクセ
スし、ユーザプログラム中の先頭の命令を読出す。その
読出したユーザ命令が無条件ジャンプ命令であるかある
いは条件ジャンプ命令であるかをそれぞれステップ(1
02)およびζ− でない場合には、ステップ(104)に進んでイのユー
ザ命□令を解読実行する。次にス讐ツブ古0′5)にて
上記プログラムカウンタを歩゛進してアドレスを+1し
、先のステップ(101’)扉進み、次のユーザ命令゛
を続出す。そのユーザ命令がジャンプ命令でない場合に
は、i記と同様にしてスiツブ(104)、ステップ(
105)が繰り返えされる。
□Access the user memory unit 3 at the address indicated by the program counter cleared in advance in step (101), and read the first instruction in the user program. Each step (1 step) determines whether the read user command is an unconditional jump command or a conditional jump command.
02) and ζ-, the process proceeds to step (104) to decode and execute the user instruction A. Next, at step 0'5), the program counter is incremented, the address is incremented by 1, the program advances to the previous step (101'), and the next user command is issued one after another. If the user command is not a jump command, step (104) and step (
105) is repeated.

そして、ステップ(101)で読出したユーザ命令が無
条件ジャンプ命令であった場合、ステップ(102)で
YESと判断され、ステップ(107)に進む。ステッ
プ(107)では、その無条件ジャンプ命令のオペラン
ドに設定されているラベル番号について先のステップ(
100)で作成したラベル番号/アドレス対照表を引き
、そのラベル番号に対応するアドレスを求める。次にス
テップ(108)で求めたアドレスをプログラムカウン
タにプリセットする。その状態で先のステップ(101
)に戻り、プログラムカウンタで示すユーザ命令をユー
ザメモリ部3から読出す。すなわち、第2図(B)に示
したプログラム例に従って説明すると、アドレス58の
無条件ジャンプ命令が実行に供されたとき、ステップ(
107)ではラベル番号「13」につ7)でラベル番号
/アドレス対照表を引き、アドレス50が検出される。
If the user command read in step (101) is an unconditional jump command, YES is determined in step (102), and the process proceeds to step (107). In step (107), the label number set in the operand of the unconditional jump instruction is
100), and find the address corresponding to that label number. Next, the address obtained in step (108) is preset in the program counter. In that state, proceed to the next step (101
), the user command indicated by the program counter is read from the user memory section 3. That is, to explain according to the program example shown in FIG. 2(B), when the unconditional jump instruction at address 58 is executed, step (
In step 107), the label number/address comparison table is retrieved in step 7) based on the label number "13", and address 50 is detected.

そして、そのアドレス50がプログラムカウンタにプリ
セットされ、アドレス5oの命令が続出されて実行に供
される。アドレス5oにはラベル番号「13」のラベル
設定命令が格納されており、これが実行に供されるが、
先に説明したようにラベル設定命令はノーオペレーショ
ン命令と同様に入出力データの論理演算処理には全く関
与せず、単にステップ(105)にてプログラムカウン
タを歩進するだけの処理がなされる。従ってこの後、ア
ドレス51の命令Aから実質的にプログラム実行処理か
なされることになる。
Then, the address 50 is preset in the program counter, and the instruction at address 5o is successively issued and executed. A label setting command with label number "13" is stored at address 5o, and this is executed.
As described above, the label setting instruction, like the no-operation instruction, does not involve any logical operation processing of input/output data, and merely increments the program counter in step (105). Therefore, after this, the program will essentially be executed starting from the instruction A at address 51.

また、条件ジャンプ命令が実行に供された場合、ステッ
プ(103)でYESと判断され、ステップ106)に
進む。ステップ(106)ではその条件ジャンプ命令の
ジャンプ条件が成立しているか否かを判断し、条件が成
立していない場合にはステップ(105)に進み、ジャ
ンプ処理は行われない。ジャンプ条件が成立している場
合にステップ(107)に進み、ジャンプ処理が行われ
る。    ”この場合も先の無条件ジャンプ命令の場
合と全く同様で、ラベル番号に従ってジャンプ先アドレ
スが求められる訳である。
If the conditional jump instruction is executed, YES is determined in step (103), and the process proceeds to step 106). In step (106), it is determined whether or not the jump condition of the conditional jump instruction is met. If the condition is not met, the process proceeds to step (105) and no jump processing is performed. If the jump condition is satisfied, the process advances to step (107) and jump processing is performed. ``This case is exactly the same as the previous unconditional jump instruction, and the jump destination address is determined according to the label number.

この発明に係るプログラマブル・コントローラは、以上
の如く構成されている。従って、例えば第2図(B)に
示すユーザプログラム例において、例えばアドレス51
の命令Aとアドレス52の竺令8の間に他の命令が追加
されるような変更があった場全、命令B以降のすべての
命令の格納アドレスが順次繰り下がっていく。このよう
なアドレス変更があると、従来のものであれば、アドレ
スついての変更を要した訳であるが、この発明の装置で
は、ラベル設定命令によってジャンプ先を処理している
ため、何等問題を生じない。つまり、アドレスq5の条
件ジャンプ命令のジャンプ先命令である命令Cの格納ア
ドレ、スが繰り下がるが、それと同時にその命令Cの直
前に設定されているラベル設定命令のアドレスも同時に
繰り下がる。
The programmable controller according to the present invention is configured as described above. Therefore, for example, in the user program example shown in FIG. 2(B), for example, address 51
If there is a change in which another instruction is added between instruction A and address 8 at address 52, the storage addresses of all instructions after instruction B are sequentially moved down. If such an address change occurred, in the conventional system, the address would have to be changed, but in the device of this invention, the jump destination is processed by the label setting command, so there is no problem. Does not occur. That is, the storage address of instruction C, which is the jump destination instruction of the conditional jump instruction at address q5, is moved down, but at the same time, the address of the label setting instruction that is set immediately before instruction C is also moved down.

そのため、上述のような命令追加後に本プログラマブル
・コント0−ラ、を起動すると、まずイニシャル処理の
一部としてラベル番号/アドレス対照表を作成するルー
チン(100)が実行され、格納アドレスが繰り下がっ
たラベル設定番号の対照表が新たに作成される。そして
、ニーザブ0グラ。
Therefore, when this programmable controller is started after adding the above-mentioned instructions, the routine (100) that creates a label number/address comparison table is executed as part of the initial processing, and the storage address is moved down. A new comparison table of label setting numbers will be created. And Knee Zabu 0 grams.

ム寅行時には、その新たな対、照表に基づいて処理がな
される訳であるから、全く問題は生じないのである。ま
た、ユーザメモリ部3中のユーザプログラムと、第2図
(A>または(B)で示すコーディングシートはフロー
チャート図とのジャンプ命令に関する対応関係は、ラベ
ル番号でもって示されているために、先に述べたような
アドレス変更があっても何等同題は生じない。
When a request is made, processing is performed based on the new pair and reference table, so no problem occurs at all. Furthermore, the correspondence relationship regarding jump commands between the user program in the user memory unit 3 and the coding sheet shown in FIG. Even if there is an address change as described in , the same problem does not arise.

以上詳細に説明したように、この発明に係るプログラマ
ブル・コントローラにょれシ命令の追加や削除等によっ
てユーザプログラムが変更され、その変更に伴ってジャ
ンプ命令のジャンプ先アドレスが変更される場合であっ
ても、ユーザはそのことを一切意識しなくても良く、ま
た、メモリ部に格納されたユーザプログラムと控えのコ
ーディングシート等との対応関係についても問題を生じ
ない。
As explained in detail above, when the user program is changed by adding or deleting a change instruction to the programmable controller according to the present invention, and the jump destination address of the jump instruction is changed due to the change, However, the user does not have to be aware of this at all, and there is no problem with the correspondence between the user program stored in the memory unit and the copy coding sheet.

なお、先の実施例では、上記対照表から求めたアドレス
をプログラムカウンタにプリセットするようにしていた
が、対照表から求めたアドレスに1を加算し、その加算
したアドレスをプログラムカウンタにプリセットするよ
うにしても、実質的に先の実施例と同様な処理がなされ
る。
In the previous embodiment, the address obtained from the comparison table was preset to the program counter, but it is now possible to add 1 to the address obtained from the comparison table and preset the added address to the program counter. However, substantially the same processing as in the previous embodiment is performed.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はこの発明に係るプログラマブル・コントローラ
の概略構成を示すブロック図、第2図はこの発明による
プログラマブル・コントローラに適用されるユーザプロ
グラムの一例を示す図、第3図は第1図における中央処
理部1によって実行されるシステムプログラムの概要を
本発明の要旨となる部分を中心にして示したフローチャ
ートである。 1・・・・・・・・・中央処理部 2・・・・・・・・・入出力部 3・・・・・・・・・ユーザメモリ部  ・4・・・・
・・・・・内部メモリ部 第10 り(! 21”1
FIG. 1 is a block diagram showing a schematic configuration of a programmable controller according to the present invention, FIG. 2 is a diagram showing an example of a user program applied to the programmable controller according to the present invention, and FIG. 1 is a flowchart showing an overview of a system program executed by the processing unit 1, focusing on the gist of the present invention. 1...Central processing unit 2...Input/output unit 3...User memory unit ・4...
...Internal memory section 10th (! 21"1

Claims (1)

【特許請求の範囲】[Claims] (1)ユーザプログラムの実行に先立つ□イニシャル処
理として、単にプログラムカウンタを進めるだけ機能で
オペランドにラベル番号が設定されているラベル設定命
令をユーザプログラムの中から全て検索し、各ラベル設
定命令が格納されているアドレスとそれぞれのラベル番
号とを対応付けたラベル番号/アドレス対照〕を所定の
記憶一部に作成する手段と、ユーザプログラム中のジャ
ンプ命□令の実行時に、そのジャンプ命令のオベラパン
゛ドに設定されているラベル番号について上記ラベル番
号/アドレス対照表から該当するアドレスを□検索する
手段とを有し、これにより検索されたア平レスに基づい
てジャンプ先アドレスが決定さ□れるこ゛とを特徴とす
るプログラマブル・コントローラ。
(1) As an initial process before executing the user program, all label setting instructions for which a label number is set as an operand are searched from the user program by simply incrementing the program counter, and each label setting instruction is stored. A means for creating a label number/address comparison in a predetermined storage part that associates the address and each label number; With respect to the label number set in the code, the jump destination address is determined based on the searched response. A programmable controller featuring:
JP1996082A 1982-02-10 1982-02-10 Programmable controller Pending JPS58139254A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1996082A JPS58139254A (en) 1982-02-10 1982-02-10 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1996082A JPS58139254A (en) 1982-02-10 1982-02-10 Programmable controller

Publications (1)

Publication Number Publication Date
JPS58139254A true JPS58139254A (en) 1983-08-18

Family

ID=12013758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1996082A Pending JPS58139254A (en) 1982-02-10 1982-02-10 Programmable controller

Country Status (1)

Country Link
JP (1) JPS58139254A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160439A (en) * 1984-01-31 1985-08-22 Nippon Electric Ind Co Ltd Address deciding method for jump with no designation of destination
EP0383268A2 (en) * 1989-02-13 1990-08-22 Hitachi, Ltd. Data processor in which branching during program execution is controlled by the contents of a branch address table
JPH08234995A (en) * 1996-01-10 1996-09-13 Omron Corp Program conversion device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160439A (en) * 1984-01-31 1985-08-22 Nippon Electric Ind Co Ltd Address deciding method for jump with no designation of destination
EP0383268A2 (en) * 1989-02-13 1990-08-22 Hitachi, Ltd. Data processor in which branching during program execution is controlled by the contents of a branch address table
EP0383268A3 (en) * 1989-02-13 1992-08-26 Hitachi, Ltd. Data processor in which branching during program execution is controlled by the contents of a branch address table
JPH08234995A (en) * 1996-01-10 1996-09-13 Omron Corp Program conversion device

Similar Documents

Publication Publication Date Title
JPS58139254A (en) Programmable controller
JPS5842891B2 (en) Meirei Seigiyohoushiki
JPH04205386A (en) Image data edit control method
JP2727023B2 (en) Information processing device
JPS60169906A (en) Programmable controller
JP3331357B2 (en) Programmable controller
JPH03103924A (en) Data processor
JPS595931B2 (en) Address stop method for arithmetic processing system
JP2000353359A (en) Storage device initializing method
JPS61156339A (en) Trace processing system
JPS6140605A (en) Programmable controller
JPH0423147A (en) Bank switching system
JPS6345603A (en) Program storing system for programmable controller
JPH07160352A (en) Program execution system
JPS63282525A (en) Correction system for execution type program file
JPS61245232A (en) Automatic editing method
JPH08249024A (en) Programmable controller
JPS63217423A (en) System for setting intra-program constant value
JPH05313871A (en) Multi-program editing device
JPS60128532A (en) Electronic computer
JPH05314081A (en) Information processor provided with two processors
JPH0644101A (en) Program debug processing method
JPH0319027A (en) Data processor
JPH03147130A (en) Operating system correcting system
JPS62235641A (en) Control system for executing program