JPS598055A - Instruction word processing method - Google Patents

Instruction word processing method

Info

Publication number
JPS598055A
JPS598055A JP11672082A JP11672082A JPS598055A JP S598055 A JPS598055 A JP S598055A JP 11672082 A JP11672082 A JP 11672082A JP 11672082 A JP11672082 A JP 11672082A JP S598055 A JPS598055 A JP S598055A
Authority
JP
Japan
Prior art keywords
processing
processing module
register
macro
input
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
JP11672082A
Other languages
Japanese (ja)
Inventor
Kuniyuki Kikuchi
菊地 邦行
Kunio Yamanaka
邦夫 山中
Shiyouichi Masui
増位 庄一
「よ」澤 隆司
Takashi Yoshizawa
Masami Yuki
結城 正美
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11672082A priority Critical patent/JPS598055A/en
Publication of JPS598055A publication Critical patent/JPS598055A/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/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To process an instruction word at a high speed with interactive chart programming, by converting an object table into a macroinstruction table in an off-line mode, and processing the macroinstruction table by a computer in an on- line mode. CONSTITUTION:A compiler means 5 produces a macroinstruction table 9, i.e., an executing object in an off-line execution mode by referring to an object table 8 which is programmed within a memory 4 via a memory bus line 2. In an on- line mode the table 9 is processed by a CPU1, and at the same time the module processing is carried out with connection to either one of various processing module groups 10 which are processed by a macroinstruction from the first. An input controller 6 and an output controller 7 are connected to the CPU1 via an interface bus line 3 and fetch data out of the controller 6 based on the connecting procedure of processing modules. Then the data is delivered to the controller 7 after an operation by an arithmetic processing module. Thus a program is produced in the form of a interactive chart by said arithmetic processing module.

Description

【発明の詳細な説明】 本発明は命令語処理方法に係り、特に、対話型プログラ
ム作成方式の命令語処理方法に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a command word processing method, and particularly to a command word processing method using an interactive program creation method.

計算機専用のマクロ命令技術によるプログラミングのマ
ンマシン性を改善する手法として、従来から対話型高級
言語によるプログラミングと、本発明の命令語処理方法
が対象としている対話型図式(処理モジュールを画面で
結合する方式)プログラミングとがある。この対話型図
式プログラミングに於いては、マンマシン性を重視して
いるために、画面と可逆性をもつオブジェクトテーブル
をもつことが一般的であり且つ不可欠なことである。従
来の対話型図式プログラミングに於いては前記オブジェ
クトテーブルのみを有する場合が多い。このため、オン
ライン時に前記プログラムをインタープリテイプに処理
せざるをえず、処理速度が低速であった。
As a method to improve the man-machine nature of programming using macro instruction technology dedicated to computers, we have conventionally used programming using an interactive high-level language and the interactive diagram (combining processing modules on a screen) that is targeted by the instruction word processing method of the present invention. method) programming. In this interactive graphical programming, since emphasis is placed on man-machine performance, it is common and essential to have a screen and a reversible object table. Conventional interactive graphical programming often only has the object table. For this reason, the program had to be processed interpretively when online, resulting in a slow processing speed.

上記インタープリテイプな処理をせざるを得ない理由は
以下のとおりである。前記オブジェクトテーブルを画面
に対応して作成する処理は、プログラマまたは端末側の
処理であり、オブジェクトテーブルの処理は計算機(コ
ントローラー)側の処理であること。また、プログラマ
側と計算機側の専用言語は相違していることが一般的で
あり、言語体系の相違する専用言語(マクロ命令)をプ
ログラマ側がさらに作成することは機能的に困難である
こと。更に、前記対話型プログラミングは事務処理上な
どのオフラインで適用されることが一般的であったこと
などである。
The reasons for having to perform the above-mentioned interpretive processing are as follows. The process of creating the object table corresponding to the screen is a process on the programmer or terminal side, and the process of the object table is a process on the computer (controller) side. Additionally, the dedicated languages used by the programmer and the computer are generally different, and it is functionally difficult for the programmer to create additional dedicated languages (macro instructions) with different language systems. Furthermore, the above-mentioned interactive programming has generally been applied off-line, such as in office processing.

しかし、制御用プログラマの分野に、上記した対話型図
式プログラミングが適用される場合、以下のような欠点
があった。すなわち、シーケンス制御、演算制御、DI
)C制御などのプログラムの作成にあたり、各制御機能
単位ごとにサブルーチン化した処理単位(処理モジュー
ル)を用いて前記プログラムを対話型で作成した場合、
マンマシン性はきわめて高い反面、このプログラムの実
行にあたっては前述したようなインタプリティブな処理
のために、処理速度が低速となる欠点があった。従って
、処理速度を要求される制御分野において、DDC制御
などのアナログ処理を含む対話型プログラム作成方式の
適用が遅れていた。
However, when the above-mentioned interactive graphical programming is applied to the field of control programmers, there are the following drawbacks. That is, sequence control, calculation control, DI
) When creating a program such as C control, if the program is created interactively using processing units (processing modules) that are made into subroutines for each control function unit,
Although it has extremely high man-machine performance, it has the disadvantage that the processing speed is slow due to the interpretive processing described above when executing this program. Therefore, in the control field where processing speed is required, the application of interactive program creation methods including analog processing such as DDC control has been delayed.

また、プロゲラマチイブなシーケンスコントロールなど
の分野においても、各メーカー側の言語使用の相違のた
め、他メーカーのプログラマで作成した対話型図式プロ
グラムは互換性がなく、他メーカーのコントローラーに
は適用できないなどの問題点もあった。
Furthermore, in fields such as programmable sequence control, due to differences in the language usage of each manufacturer, interactive diagram programs created by programmers from other manufacturers may not be compatible and cannot be applied to controllers from other manufacturers. There were also problems.

具体的には、従来の各種処理モジュー・ルを画面上で結
合してプログラムを作成する対話型方式の命令語処理で
は、作成モード時に画tfi上の処理モジュールに1対
1に対応したオブジェクトテーブルを作成し、実行時、
前記オブジェクトテーブルをインタプリティブに処理し
ている。画面上の処理モジュール間の結合方式として線
香結合、すなわち線番により結合を指定する方法、およ
び分岐合流結合、すなわち分岐合流などのシンボルにて
結合を指定する方法とが一般的に使用されている。
Specifically, in conventional interactive instruction word processing in which a program is created by combining various processing modules on the screen, an object table that corresponds one-to-one to the processing modules on the screen TFI is created in the creation mode. and when run,
The object table is processed interpretively. As the connection method between processing modules on the screen, two commonly used methods are incense connection, that is, a method of specifying the connection by wire number, and branching and merging, that is, a method of specifying the connection using symbols such as branching and merging. .

しかし、いずれの方式も画面表示との可逆性をもたせる
ために、画面の処理モジュールに対応したオブジェクト
テーブルの構成が複雑となっている。
However, in order to provide reversibility with the screen display in either method, the structure of the object table corresponding to the screen processing module is complicated.

このため、実行時はオブジェクトテーブルを逐次インタ
プリティブに処理するため、マクロ命令による専用プロ
グラムに比較し処理が低速であった。
For this reason, during execution, the object table is processed interpretively one by one, so the processing speed is slower than that of a dedicated program using macro instructions.

本発明の目的は、上記の欠点を解消し、高速処理がoJ
能な対話型プログラミング方式の命令語処理方法を提供
することにある。
The purpose of the present invention is to eliminate the above-mentioned drawbacks and to achieve high-speed processing
The object of the present invention is to provide a method for processing command words using an interactive programming method.

本発明は、オフライン時の作成モードにおいて、画面上
の処理モジュールの結合に対応した可逆性を持つオブジ
ェクトテーブルを作成し、オンライン時の実行モードに
て、従来オンライン時実施していたインタプリティブな
処理を一度だけ実施させることにより、処理モジュール
結合間の処理データの入出力レジスタ(エリア)編成、
処理モジュールのパラメータの引当て及び未処理モジュ
ールへの結合アドレス等を決定する専用マクロ命令語よ
構成るマクロ命令テーブルに、前記オブジェクトテーブ
ルを変換することにより、上記目的を達成する。
The present invention creates an object table with reversibility corresponding to the combination of processing modules on the screen in the offline creation mode, and in the online execution mode, performs the interpretive processing that was conventionally performed online. By performing processing only once, input/output register (area) organization of processing data between processing module connections,
The above object is achieved by converting the object table into a macro instruction table consisting of dedicated macro instruction words that determine the assignment of parameters of processing modules and the connection address to unprocessed modules.

以下本発明の命令語処理方法の一実施例を図面に従って
説明する。
An embodiment of the instruction word processing method of the present invention will be described below with reference to the drawings.

本発明は対語型図式プログラミング方式において、オフ
ライン時に、画面の処理モジュールの結合に対応したオ
ブジェクトテーブルの作成(作成モード)することと、
オブジェクトテーブルを専用マクロ命令に変換する処理
(実行モード)との両者を含む。しかし、前記オブジェ
クトテーブルの作成は従来のプログラマとしての技術に
依存する所もあるため、ここではオブジェクトテーブル
からマクロ命令テーブルを作成する手法(機構)につい
て詳細に説明することにする。
The present invention uses the interactive diagrammatic programming method to create an object table (creation mode) corresponding to the combination of screen processing modules during offline time.
This includes both processing (execution mode) that converts an object table into a dedicated macro instruction. However, since the creation of the object table depends in part on the skills of a conventional programmer, the method (mechanism) for creating the macro instruction table from the object table will be explained in detail here.

第1図は本発明の命令語処理方法の一実施例の構成を示
すブロック図である。中央処理装置1にはメモリパスラ
イン2とインターフェイスパスライン3とが接続されて
いる。メモリパスライン2はメモリ4及びコンパイラ手
段5が接続されており、また、インターフェイスパスラ
イン3には入力制御装置6及び出力制御装置7が接続さ
れている。また、前記メモリ4内にはオブジェクトテー
ブル8、マクロ命令テーブル9及び各種処理モジュール
群10が格納されている。
FIG. 1 is a block diagram showing the configuration of an embodiment of the instruction word processing method of the present invention. A memory path line 2 and an interface path line 3 are connected to the central processing unit 1 . A memory 4 and a compiler means 5 are connected to the memory path line 2, and an input control device 6 and an output control device 7 are connected to the interface path line 3. Furthermore, an object table 8, a macro command table 9, and various processing module groups 10 are stored in the memory 4.

コンパイラ手段(命令語処理)5はメモリパスライン2
を介して、メモリ4内のプログラム作成モードで作成さ
れたオブジェクトテーブル8を参照して、実行オブジェ
クトであるマクロ命令テーブル(プログラム)9をオフ
ラインの実行モードで作成する。前記オブジェクトテー
ブル8の1要素(要素の集合をテーブルと定義する)の
構成は、処理モジュールへの結合先及び処理モジュール
がモジュールとしての処理機能を実施するのに不可欠な
パラメータなどからなっている。世し、処理モジュール
とは一連の処理の処理単位であわ、たとえばDDC処理
ならば、アナログ取込処理、工学単位変換処理、PID
制御処理などの処理単位を1つの処理モジュールとして
定義したものである。即ち、処理モジュールは処理単位
のブラックボックスであり、一連の意味のある処理は処
理モジュールの連結した処理によって実現される。
The compiler means (instruction word processing) 5 is a memory path line 2
A macro instruction table (program) 9, which is an execution object, is created in an off-line execution mode by referring to the object table 8 created in the program creation mode in the memory 4 via. The configuration of one element of the object table 8 (a collection of elements is defined as a table) includes a connection destination to a processing module and parameters essential for the processing module to perform its processing function as a module. In general, a processing module is a processing unit for a series of processes. For example, in the case of DDC processing, it includes analog import processing, engineering unit conversion processing, and PID processing.
A processing unit such as control processing is defined as one processing module. That is, a processing module is a black box of a processing unit, and a series of meaningful processing is realized by the processing of the processing modules connected together.

前記マクロ命令テーブル9は前記オブジェクトテーブル
8の要素を基にマクロ命令に展開したものであシ、前記
オブジェクトテーブル8の1要素は前記マクロ命令テー
ブル9に於いて複数のマクロ命令に展開される。ここで
、実施例の特徴部分はオブジェクトテーブル8からマク
ロ命令テーブル9へのコンパイラ手段5を有するところ
にある。
The macro instruction table 9 is expanded into macro instructions based on the elements of the object table 8, and one element of the object table 8 is expanded into a plurality of macro instructions in the macro instruction table 9. Here, the feature of this embodiment is that it has a compiler means 5 from the object table 8 to the macro instruction table 9.

オンライン時には、前記マクロ命令テーブル9を中央処
理装置1にて処理すると共に、当初からマクロ命令にて
作成されている各種処理モジュール群10のいずれか1
つの処理モジュールに結合させてモジュールの処理を実
行する。処理モジュールの処理が終了すると再び前記マ
クロ命令テーブル9の次のマクロ命令を実行する。
When online, the macro instruction table 9 is processed by the central processing unit 1, and one of the various processing module groups 10 created from the beginning using macro instructions.
It is connected to one processing module and executes the processing of the module. When the processing of the processing module is completed, the next macro instruction in the macro instruction table 9 is executed again.

入力制御装置6及び出力制御装置7ば、インターフェイ
スパスライン3を介して前記中央処理装置1などに接続
されており、前記入出力制御装置6.7へのアクセスは
前述の各々の処理モジュールにより実施される。即ち、
画面上の処理モジュールの結合手順に従って、例えば前
記人力制御装(青6からデータを取込む処理モジュール
、次に演算をする処理モジュール、さらに前記出力制御
装置6にデータを出力する処理モジュールによりプログ
ラムを対話型図式に作成すると、入力データが演算され
出力される制御ループを作成することができる。
The input control device 6 and the output control device 7 are connected to the central processing unit 1 etc. via the interface path line 3, and access to the input/output control device 6.7 is performed by each of the aforementioned processing modules. be done. That is,
In accordance with the procedure for connecting the processing modules on the screen, for example, the human control device (a processing module that takes in data from the blue 6, a processing module that performs calculations, and a processing module that outputs data to the output control device 6) executes the program. When created in an interactive diagram, it is possible to create control loops in which input data is operated on and output.

第2図は対話型図式プログラム例と前記マクロ命令テー
ブル(プログラム)9との関係を示したブロック図であ
る。図式プログラム11はプログラマ12にて作成され
たものであり、画面に処理モジュール表示がなされた例
であり、画面(見かけ)上、処理モジュールA表示13
.B表示14゜C表示15.Z表示16の結合で作成さ
れている例である。この画面表示と同時に前記プログラ
マ12は画面表示に対応して、前記メモリ4内の予めマ
クロ命令で作成されている処理モジュールA17.B1
8.C19,Z20の結合先、各種モジュール処理に必
要なパラメータ及び画面上での結合状況に対応したオブ
ジェク)A21.B22゜C23,Z24を画面上での
作成順に作成する。
FIG. 2 is a block diagram showing the relationship between an example of an interactive graphical program and the macro command table (program) 9. As shown in FIG. The graphical program 11 was created by the programmer 12, and is an example in which processing modules are displayed on the screen.On the screen (apparently), the processing module A display 13
.. B display 14°C display 15. This is an example created by combining Z displays 16. Simultaneously with this screen display, the programmer 12, in response to the screen display, selects the processing module A17. B1
8. Objects corresponding to the connection destinations of C19 and Z20, parameters necessary for various module processing, and the connection status on the screen) A21. Create B22°C23 and Z24 in the order of creation on the screen.

例えば、オブジェクトAの構成要素として、分岐合流コ
ード、処理モジュールナンバ(Aに対応するユニークな
ナンバ)、パラメーターナンバなどがある。画面上の前
記処理モジュールA表示3とメモリ2内の前記オブジェ
ク)A21の作成はプログラマ12によシ行なわれる。
For example, the components of object A include a branching and merging code, a processing module number (a unique number corresponding to A), and a parameter number. The programmer 12 creates the processing module A display 3 on the screen and the object A21 in the memory 2.

上記のように図式プログラム11のオブジェクトテーブ
ル8は各処理モジュールのオブジェクトA21.B22
.C23,Z24で構成されている。即ち、図式プログ
ラム11に新しく処理モジュールが追加された場合、こ
れに呼応して新しいオブジェクトが前記オブジェクトテ
ーブル8に追加される。逆に、前記図式プログラム11
の処理モジュールが削除されれば、前記オブジェクトテ
ーブル8内の対応するオブジェクトが削除される。
As described above, the object table 8 of the graphical program 11 contains the objects A21. B22
.. It is composed of C23 and Z24. That is, when a new processing module is added to the graphical program 11, a new object is added to the object table 8 in response. On the contrary, the graphical program 11
If the processing module is deleted, the corresponding object in the object table 8 is deleted.

但し、オブジェクトテーブル8内の構成要素であるオブ
ジェクト、例えばオブジェク)A21は画面上の処理モ
ジュールA表示13の相互の結合状況やモジュールを認
識する情報テーブルである。
However, an object (for example, object) A21 that is a component in the object table 8 is an information table that recognizes the mutual connection status and modules of the processing module A display 13 on the screen.

このため、同一処理モジュールが何回も画面上(図式プ
ログラム)中で使用された場合、使用回数分だけ前記オ
ブジェクトテーブル8の中に対応するオブジェクトが増
加する。なお、各種処理モジュール群10の中の各処理
モジュールは処理単位(サブルーチン)であυ、前記オ
ブジェクトテーブル8の中に何回オブジェクトとして現
われようとユニークな処理モジュールとして存在すれば
十分である。
Therefore, when the same processing module is used many times on the screen (graphical program), the number of corresponding objects increases in the object table 8 by the number of times of use. Note that each processing module in the various processing module groups 10 is a processing unit (subroutine), and no matter how many times it appears as an object in the object table 8, it is sufficient that it exists as a unique processing module.

従来技術ではオンライン時、前記オブジェクト−7−プ
ル8をインタプリティブに処理するため、処理速度が低
速であった。しかし、本実施例の命令語処理方法では、
前記コンパイラ手段5により、オブジェクトテーブル8
内の各オブジェク)A21゜R22,C23,Z24を
各々対応するマクロ命令A25.B26.C27,Z2
8に変換して、オンラインモードの前記マクロ命令テー
ブル9を作成することにより高速化を図っている。
In the prior art, when online, the object-7-pull 8 is processed interpretively, so the processing speed is slow. However, in the instruction word processing method of this embodiment,
The compiler means 5 generates an object table 8
A21°R22, C23, Z24 respectively correspond to the corresponding macro instructions A25. B26. C27,Z2
8 to create the macro command table 9 in online mode, thereby increasing the speed.

第3図は第1図及び第2図に示したマクロ命令へ変換す
るコンパイラ手段5の詳細を示すブロック図である。メ
モリパスライン2にインストラクションレジスタ29の
入力側が接続され、このインストラクションレジスタ2
9の出力は分岐合流デコーダ30に入力されると共にリ
ンクデコーダ31及びパラメータデコーダ32に入力さ
れている。これらリンクデコーダ31及びパラメータデ
コーダ32の出力はマクロ命令作成手段33に入力され
、このマクロ命令作成手段33の一方の出力はメモリパ
スライン2に出力され、他方の出力はプログラムカウン
タ34に入力されている。このプログラムカウンタ34
の出力はメモリパスライン2に出力されている。また、
前記分岐合流デコーダ30の出力はカウントゲート35
と中間カウントゲート36に入力されている。カウント
ゲート35の出力は入力カウントレジスタ37に入力さ
れ、この入力カウントレジスタ37の出力はカウントゲ
ート35に入力されている。また、出力カウントレジス
タ38の出力は前記カウントゲート35に入力されると
共に、この出力カウントレジスタ38と入力カウントレ
ジスタ37の出力はマクロ命令作成手段33に入力され
ている。また、カウントゲート35と中間カウントゲー
ト36は接続されておυ、中間カウントゲート36と中
間カウントレジスタ群39とが接続されており、この中
間カウントレジスタ群39の出力はマクロ命令作成手段
33に入力されている。なおコンパイラ手段5内の一点
鎖線で囲った部分はエリア生成手段4oを構成している
。先ず、プログラムカウンタ34はオブジェクトテーブ
ル内のオブジェクト例えばオブジェク)A21の格納ア
ドレスを示すものである。このプログラムカウンタ34
により指示されたアドレスからインストラクションレジ
スタ29はオブジェクトA21を取込み一時記憶する。
FIG. 3 is a block diagram showing details of the compiler means 5 for converting into macro instructions shown in FIGS. 1 and 2. The input side of an instruction register 29 is connected to the memory path line 2, and this instruction register 2
The output of 9 is input to a branch/merging decoder 30 as well as a link decoder 31 and a parameter decoder 32. The outputs of the link decoder 31 and the parameter decoder 32 are input to a macro instruction generating means 33, one output of the macro instruction generating means 33 is output to the memory path line 2, and the other output is input to the program counter 34. There is. This program counter 34
The output is output to the memory path line 2. Also,
The output of the branch-merging decoder 30 is sent to a count gate 35.
is input to the intermediate count gate 36. The output of the count gate 35 is input to an input count register 37, and the output of the input count register 37 is input to the count gate 35. Further, the output of the output count register 38 is input to the count gate 35, and the outputs of the output count register 38 and the input count register 37 are input to the macro instruction generating means 33. Further, the count gate 35 and the intermediate count gate 36 are connected to each other, and the intermediate count gate 36 and the intermediate count register group 39 are connected, and the output of the intermediate count register group 39 is inputted to the macro instruction generating means 33. has been done. Note that the portion surrounded by a dashed line in the compiler means 5 constitutes an area generation means 4o. First, the program counter 34 indicates the storage address of an object (eg, object) A21 in the object table. This program counter 34
The instruction register 29 takes in the object A21 from the address indicated by and temporarily stores it.

このインストラクションレジスタ29の構成は、画面上
の処理モジュールナンバ及び分岐合流コード等で構成さ
れている。このため、処理単位としてのデータの処理結
果を次の処理モジュールに渡すためのエリアの指定及び
処理モジュールの結合先アドレスの分析を行ない、この
分析結果をマクロ命令で記述する必要がある。
The structure of the instruction register 29 is made up of a processing module number, a branching/merging code, etc. on the screen. Therefore, it is necessary to designate an area for passing the processing result of data as a processing unit to the next processing module, analyze the connection destination address of the processing module, and write the analysis result in a macro instruction.

このため、先ず分岐合流デコーダ30によシオブジェク
)A21の分岐合流コードを判別し、また、この分岐合
流デコーダ30の消析コードに対応してエリア生成手段
40が処理モジュール間のデータ引渡しエリアを事前確
定する。このエリア生成手段40では、前回処理の処理
モジュールの結果が今回処理の処理モジュールの入力結
果となる。
For this purpose, first, the branching/merging decoder 30 determines the branching/merging code of the object A21, and in response to the analysis code of the branching/merging decoder 30, the area generating means 40 creates a data transfer area between processing modules. Confirm in advance. In this area generation means 40, the result of the processing module of the previous process becomes the input result of the processing module of the current process.

このように、前回処理のモジューめ出力データは今回処
理モジュールの入力データとなり、更に今回の処理モジ
ュールの出力データは後の処理モジュールの入力データ
となる。例えば、処理モジュールA17の出力データは
分岐して処理モジュールZ20.B18に引数として渡
る必要がある。
In this way, the module output data of the previous process becomes the input data of the current processing module, and the output data of the current processing module becomes the input data of the subsequent processing module. For example, the output data of processing module A17 is branched to processing module Z20. It is necessary to pass it to B18 as an argument.

このため、エリア生成手段40は前回処理モジュールの
出力データ数を記憶している出力カウントレジスタ38
、今回処理される処理モジュールの入力データ数を記憶
する入力カウントレジスタ37、入出力カウントレジス
タを管理するカウントゲート35、前回処理までの分岐
合流デコーダに応じて前記入力カウントレジスタ37と
中間カウントレジスタ群39を管理する中間カウントゲ
ート36から構成されている。処理モジュール間の結合
において分岐合流が全くない場合、前回処理モジュール
の出力データ敷と今回処理モジュールの入力データ数と
は同一であるが、分岐合流があるため実際には同一数と
ならない。このため、分岐があった場合出力データ数を
分岐に応じ中間カウントレジスタ群39に入れ、前記中
間カウントレジスタ群39のどのレジスタに入れたかの
管理を中間カウントゲート36が行なっている。
For this reason, the area generation means 40 uses the output count register 38 which stores the number of output data of the previous processing module.
, an input count register 37 that stores the number of input data of the processing module to be processed this time, a count gate 35 that manages input/output count registers, and a group of input count registers 37 and intermediate count registers according to the branch and merge decoders up to the previous process. It consists of an intermediate count gate 36 for managing 39. If there is no branching/merging in the connection between the processing modules, the output data count of the previous processing module and the number of input data of the current processing module are the same, but because there is branching/merging, they are not actually the same number. For this reason, when there is a branch, the number of output data is entered into the intermediate count register group 39 according to the branch, and the intermediate count gate 36 manages which register of the intermediate count register group 39 the data is entered into.

また、前記リンクデコーダ31は、各処理モジュールの
結合光、即ち前記各1′!h処理モジユ一ル群IO内の
処理モジュール、例えば処理モジュールA17を選択し
、処理モジュ・−ルAに結合させるアドレスを選択する
。パラメータデコーダ32は各種処理モジュールが処理
を行なうに必要なパラメータを指定する。マクロ命令作
成手段33は、前記リンクデコーダ31、パラメータデ
コーダ32及び入出力カウントレジスタ37.38によ
シ、前記オブジェクトテーブル8の各要素、例えばオブ
ジェク)A21を昨析することによシ、前記メモリ4内
に前記マクロ命令A25を編集する処理を行なう。一つ
の処理が終ると、プログラムカウンタ34を歩進させる
ことによシ、次のオブジェクトZ24を前記インストラ
クションレジスタ29に取込み、同様の処理を繰返すこ
とにより前記マクロ命令テーブル9が作成される。
The link decoder 31 also processes the combined light of each processing module, that is, each 1'! h Select a processing module in the processing module group IO, for example, processing module A17, and select an address to be coupled to processing module A. The parameter decoder 32 specifies parameters necessary for various processing modules to perform processing. The macro instruction creation means 33 uses the link decoder 31, the parameter decoder 32, and the input/output count registers 37. 4, the macro instruction A25 is edited. When one process is completed, the next object Z24 is taken into the instruction register 29 by incrementing the program counter 34, and the macro instruction table 9 is created by repeating the same process.

第4図はマクロ命令テーブル9を作成するマクロ命令作
成手段33の詳細を示すブロック図である。入力カウン
トレジスタ37、出力カウントレジスタ38、中間カウ
ントレジスタ群39、リンクデコーダ31、パラメータ
デコーダ32、モジュールグローバルエリアレジスタ4
1、マクロ命令テーブルカウンタ42の各々の出力がマ
クロ命令作成手段33に入力され、このマクロ命令作成
手段33の各出力が、リンクアドレスレジスタ43、マ
クロ命令テーブルカウンタ44、入力データアドレスレ
ジスタ45、出力データアドレスレジスタ46、パラメ
ータアドレスレジスタ47、モジュールグローバルエリ
アレジスタ41に入力されている。なお図中一点鎖線で
示した部分はマクロ命令A25を示している。
FIG. 4 is a block diagram showing details of the macro instruction creation means 33 for creating the macro instruction table 9. As shown in FIG. Input count register 37, output count register 38, intermediate count register group 39, link decoder 31, parameter decoder 32, module global area register 4
1. Each output of the macro instruction table counter 42 is input to the macro instruction creation means 33, and each output of this macro instruction creation means 33 is input to the link address register 43, the macro instruction table counter 44, the input data address register 45, and the output It is input to the data address register 46, parameter address register 47, and module global area register 41. Note that the portion indicated by the dashed line in the figure indicates the macro instruction A25.

前記入出力カウントレジスタ37.38及ヒ中間カウン
トレジスタ群39により、処理モジュール間のデータ授
受数が算出される。今回処理される処理モジュールが取
込むべきデータのアドレスを示す入力データアドレスレ
ジスタ45、処理結果の出力すべきデータのアドレスを
示す出力データアドレスレジスタ46を生成する。即ち
、各処理モジュールは処理単位であるから各処理モジュ
ールの出力データ数は処理モジュール毎に固有であり、
図式プログラムの分岐合流に依存せず不変である。他方
、各処理モジュールの入力データ数は、合流状況によシ
、複数個の処理モジュールの出力データが合流してデー
タ数が増加することもあり、合流状況に依存し変化する
。このため、各処理モジュール毎の入出力数を入出力カ
ウントレジスタ37.38が管理する。分岐がない場合
、前記出力カウントレジスタ38は次のモジュール処理
でそのまま入力カウントレジスタ37と同一内容となる
。分岐がある場合、処理モジュールの出力データ数は分
岐に対応し、中間カウントレジスタ群39の該当レジス
タに保管され、合流するモジュール処理の場合、前記出
力カウントレジスタ38の内容に、中間レジスタ群39
の該当レジスタの内容を加算した結果が入力カウントレ
ジスタ37の内容となる。モジュールの入出力データア
ドレスレジスタ46.47は前記入出力カウントレジス
タ37.38の内容及び前記中間カウントレジスタ群3
9の該当レジスタナンバによりアドレスが決定される。
The input/output count registers 37, 38 and intermediate count register group 39 calculate the number of data exchanges between processing modules. An input data address register 45 indicating the address of data to be taken in by the processing module to be processed this time, and an output data address register 46 indicating the address of data to be output as a processing result are generated. In other words, since each processing module is a processing unit, the number of output data of each processing module is unique to each processing module.
It does not depend on the branching and merging of the graphical program and remains unchanged. On the other hand, the number of input data of each processing module changes depending on the merging situation, as the output data of a plurality of processing modules may be combined and the number of data increases. Therefore, the input/output count registers 37 and 38 manage the number of inputs and outputs for each processing module. If there is no branch, the output count register 38 will have the same contents as the input count register 37 in the next module processing. When there is a branch, the number of output data of the processing module corresponds to the branch and is stored in the corresponding register of the intermediate count register group 39. In the case of module processing that merges, the contents of the output count register 38 are stored in the intermediate register group 39.
The result of adding the contents of the corresponding registers becomes the contents of the input count register 37. The input/output data address registers 46.47 of the module correspond to the contents of the input/output count registers 37.38 and the intermediate count register group 3.
The address is determined by the corresponding register number 9.

即ち、処理モジュール間に分岐がある場合、処理モジュ
ールの出力データは前記中間カウントレジスタ群39の
該当レジスタナンバ位置に合わせて前記出力データアド
レスレジスタ46が決定される。
That is, when there is a branch between processing modules, the output data address register 46 of the processing module is determined according to the corresponding register number position of the intermediate count register group 39.

更に、前記パラメータデコーダ32によりデコードされ
たパラメータナンバにより、パラメータアドレスレジス
タ47の内容が決定される。同様に前記リンクデコーダ
31によりデコードされた処理モジュールリンクナンバ
によシリンクアドレスレジスタ43の内容が演算決定さ
れる。また、処理モジュール間の結合にて共通にデータ
を渡す処理に使用される共通データエリアを示すモジュ
ールグローバルアドレスレジスタ41、変換作成したマ
クロ命令テーブルのプログラムカウンタであるマクロ命
令テーブルカウンタ44により一つのオブジェクトに対
応するマクロ命令が形成される。
Furthermore, the contents of the parameter address register 47 are determined by the parameter number decoded by the parameter decoder 32. Similarly, the contents of the link address register 43 are determined based on the processing module link number decoded by the link decoder 31. In addition, a module global address register 41 indicating a common data area used for common data passing processing in connection between processing modules, and a macro instruction table counter 44 which is a program counter of a converted macro instruction table are used to create one object. A macro instruction corresponding to is formed.

第5図は第4図に基づいたメモリ上でのマクロ命令の基
本構成例を示したものであり、第4図で示したブロック
図を実際例の構成で書換えたものである。マクロ命令テ
ーブルは、前記モジュールグローバルエリアレジスタ4
1、マクロ命令テーブルカウンタ42、入力データアド
レスレジスタ45、出力データアドレスレジスタ46、
パラメータアドレスレジスタ47、リンクアドレスレジ
スタ43にて構成されている。
FIG. 5 shows an example of the basic configuration of macro instructions on the memory based on FIG. 4, and is a rewrite of the block diagram shown in FIG. 4 with the configuration of an actual example. The macro instruction table is stored in the module global area register 4.
1, macro instruction table counter 42, input data address register 45, output data address register 46,
It is composed of a parameter address register 47 and a link address register 43.

第5図中、LDR,1,ADD几はレジスタに前記入力
データアドレスレジスタ45、出力データアドレスレジ
スタ46、パラメータアドレスレジスタ47、モジュー
ルグローバルエリアレジスタ41のマクロ命令テーブル
の先頭を記述するものである。LDR2,LINKはレ
ジスタに処理モジュールリンクアドレスレジスタ43の
内容を記述するものであp、BALO■2にて当初から
マクロ命令で作成されている処理モジュールにリンクす
るマクロ命令である。処理モジュールにリンクされると
処理モジュールは前記入力データアドレスレジスタ45
、出力データアドレスレジスタ46、パラメータアドレ
スレジスタ47、モジュールグローバルエリアレジスタ
41のテーブルを参照することにより、処理モジュール
としての処理を実行することができる。即ち、第5図は
オブジェクトテーブル8の一要素が全てマクロ命令で記
述されることを示している。同様な処理を繰返すことに
よりオブジェクトテーブル8は全てマクロ命令より成る
マクロ命令テーブル9に変換できる。このため、本実施
例はオンライン時のインタプリティブな処理を不要とし
ている。
In FIG. 5, LDR,1,ADD describes the head of the macro instruction table of the input data address register 45, output data address register 46, parameter address register 47, and module global area register 41 in the register. LDR2, LINK is a register that describes the contents of the processing module link address register 43, and is a macro instruction that links to a processing module that has been created from the beginning with macro instructions in BALO2. When linked to a processing module, the processing module registers the input data address register 45.
, output data address register 46, parameter address register 47, and module global area register 41, processing as a processing module can be executed. That is, FIG. 5 shows that one element of the object table 8 is entirely described by macro instructions. By repeating similar processing, the object table 8 can be converted into a macro command table 9 consisting entirely of macro commands. Therefore, this embodiment eliminates the need for interpretive processing when online.

第6図(a)及び(b)は図式プログラムの画面プログ
ラム及び最終的なマクロ命令テーブル展開例を示したも
のである。画面上の処理モジュールA表示13は見かけ
上の処理モジュールであり、実体は前記メモリ4内の処
理モジュールA17である。画面上の見かけ上のモジュ
ール13,16゜14.15はマクロ命令テーブル9に
最終的に展開される。
FIGS. 6(a) and 6(b) show an example of the screen program of the graphical program and the final expansion of the macro command table. The processing module A display 13 on the screen is an apparent processing module, and the actual processing module A 17 in the memory 4 is. The apparent modules 13, 16, 14, and 15 on the screen are finally developed into the macro instruction table 9.

オンライン時の処理は前記中央処理装置1により前記マ
クロ命令テーブル9を順に処理していく。
In online processing, the central processing unit 1 sequentially processes the macro instruction table 9.

最初のマクロ命令は処理モジュールAの処理であり、B
ALO■2のマクロ命令により、前記各種処理モジュー
ル群10内の処理モジュールAにリンクされ、マクロ命
令で記述されている処理モジュールAが処理される。即
ち、処理モジュールAばLL)R,1,100のマクロ
命令で示すようにレジスタにて修飾されるテーブルの入
出力アドレス等の情報により、処理(演算)シ、結果(
a′)をデータエリア48内の200の位置に格納する
The first macro instruction is the processing of processing module A, and B
The ALO2 macro command is linked to the processing module A in the various processing module group 10, and the processing module A described by the macro command is processed. That is, as shown by the macro instruction of the processing module A (LL) R, 1,100, the processing (operation), result (
a') is stored in the data area 48 at position 200.

以後同様な処理を繰返すことによシ、オンライン時マク
ロ命令テーブルは高速処理される。
By repeating the same process thereafter, the online macro instruction table can be processed at high speed.

本実施例によれば、オフライン時に作成した可逆性のあ
るオブジェクトテーブル8を、コンノ(イラ手段5によ
シマクロ命令構成のマクロ命令テーブル9に変換し、こ
のマクロ命令テーブル9によって中央処理装置1が処理
を実行する構成としたことにより、従来からの対話型の
マンマシン性を維持しつつ、オンライン時の処理を従来
のインタプリティブな処理に比較して約20倍程尚速と
し得る効果がおる。また、コンパイラ手段5を各言語仕
様に拡張することにより、マイクロコントローラにおけ
る汎用プログラミングと専用プログラミングとの共存、
更に上位側算機でのクロスコンパイルの手法の確立等を
実現し得る効果がある。
According to this embodiment, a reversible object table 8 created during offline processing is converted into a macro instruction table 9 having a macro instruction structure by the controller means 5, and the central processing unit 1 is controlled by this macro instruction table 9. By adopting a configuration that executes processing, it has the effect of making online processing about 20 times faster than conventional interpretive processing while maintaining the traditional interactive man-machine nature. In addition, by extending the compiler means 5 to each language specification, it is possible to realize the coexistence of general-purpose programming and dedicated programming in microcontrollers.
Furthermore, it is possible to establish a cross-compilation method on a higher-level computer.

以上記述した如く本発明によれば、高速処理が可能な対
話型プログラミング方式の命令語処理方法を提供するこ
とができる。
As described above, according to the present invention, it is possible to provide a command word processing method using an interactive programming method capable of high-speed processing.

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

第1図は本発明の命令語処理方法の一実施例を示すブロ
ック図、第2図は本実施例の図式プログラムとオブジェ
クトテーブルとを示したブロック図、第3図は第1図に
示したコンパイラ手段の詳細例を示すブロック図、第4
図はマクロ命令テーブル作成手段の構成を示す一ブロッ
ク図、第5図はメモリ上のマクロ命令構成を示すブロッ
ク図、第6図(a)及び(b)は本実施例の図式プログ
ラムとマクロ命令テーブルの詳細例を示したブロック図
である。 1・・・中央処理装置、4・・・メモリ、5・・・コン
パイラ手段、8・・・オブジェクトテーブル、9・・・
マクロ命令テーブル、10・・・各種処理モジュール群
、11・・・図式プログラム。 代理人 弁理士 111I4  図 2,5 晃 5 図 ′)白   ろ   [七] (b)
FIG. 1 is a block diagram showing an embodiment of the command word processing method of the present invention, FIG. 2 is a block diagram showing a graphical program and an object table of this embodiment, and FIG. 3 is a block diagram showing an embodiment of the command word processing method of the present invention. Block diagram showing a detailed example of the compiler means, No. 4
The figure is a block diagram showing the configuration of the macro instruction table creation means, FIG. 5 is a block diagram showing the macro instruction structure on the memory, and FIGS. 6 (a) and (b) are the graphical program and macro instructions of this embodiment. FIG. 2 is a block diagram showing a detailed example of a table. DESCRIPTION OF SYMBOLS 1...Central processing unit, 4...Memory, 5...Compiler means, 8...Object table, 9...
Macro instruction table, 10...Various processing module groups, 11...Graphic program. Agent Patent Attorney 111I4 Figure 2, 5 Akira 5 Figure') White Ro [7] (b)

Claims (1)

【特許請求の範囲】[Claims] 1、 オペレータが処理モジュールに対応するキーを押
しながら、表示装置の画面上に作成する図式プログラム
中の各処理モジュールに対応して作成されるオブジェク
トテーブルを備えたデータ処理装置において、オフライ
ン時に、前記オブジェクトテーブルを処理計算機のマク
ロ命令から成るマクロ命令テーブルに変換するコンパイ
ラ手段を設け、オンライン時に、前記マクロ命令テーブ
ルを前記処理計算機が処理することを特徴とする命令語
処理方法。
1. In a data processing device equipped with an object table created corresponding to each processing module in a graphical program created on the screen of a display device while an operator presses a key corresponding to the processing module, when offline, 1. A method for processing instruction words, characterized in that a compiler means for converting an object table into a macro instruction table consisting of macro instructions of a processing computer is provided, and the processing computer processes the macro instruction table when online.
JP11672082A 1982-07-07 1982-07-07 Instruction word processing method Pending JPS598055A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11672082A JPS598055A (en) 1982-07-07 1982-07-07 Instruction word processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11672082A JPS598055A (en) 1982-07-07 1982-07-07 Instruction word processing method

Publications (1)

Publication Number Publication Date
JPS598055A true JPS598055A (en) 1984-01-17

Family

ID=14694136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11672082A Pending JPS598055A (en) 1982-07-07 1982-07-07 Instruction word processing method

Country Status (1)

Country Link
JP (1) JPS598055A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62177032U (en) * 1986-04-08 1987-11-10

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50134344A (en) * 1974-04-10 1975-10-24
JPS5636705A (en) * 1979-09-04 1981-04-10 Fanuc Ltd Sequence program translation system of programmable sequence controller
JPS5694405A (en) * 1979-12-27 1981-07-30 Toshiba Corp Sequence controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50134344A (en) * 1974-04-10 1975-10-24
JPS5636705A (en) * 1979-09-04 1981-04-10 Fanuc Ltd Sequence program translation system of programmable sequence controller
JPS5694405A (en) * 1979-12-27 1981-07-30 Toshiba Corp Sequence controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62177032U (en) * 1986-04-08 1987-11-10

Similar Documents

Publication Publication Date Title
US20040012632A1 (en) Disabling and conditionally compiling graphical code in a graphical program
JPS598055A (en) Instruction word processing method
JP2002268896A (en) Method and device for generating control program
JPS62214443A (en) Emulation executing method
CN109522009A (en) The write method of truss loading and unloading robot control program
KR100423742B1 (en) Exclusive control system by sequential function chart
JPH03109603A (en) Programming device for programmable controller
Palumbo et al. Considerations in the development of a knowledge-based control systems design associate
JPS59191614A (en) Controller of robot
JPH0272407A (en) Ladder program converter
JPH11167409A (en) Program controller operating by parallel language
JPS6139134A (en) Program converting method
JPH02227703A (en) Programmable controller system
CN118092317A (en) Numerical control method based on OpenPLC and LinuxCNC
JPH0460719A (en) Electronic computer
JPH11134010A (en) Program executing method of programmable controller
JPH0423102A (en) Programming device for programmable controller
JPH04233006A (en) Programmable controller
JPS60160439A (en) Address deciding method for jump with no designation of destination
JPS61127044A (en) Test system for single unit program
JPS6232557A (en) Communication protocol converter
JPS63189948A (en) Batch type debugging system in interactive debugger
JPH0327453A (en) Designation processing system for program
JPH02230330A (en) Inference device
JPS63163636A (en) Executing system for parallel processing