JPH06119157A - プログラム変換方法 - Google Patents

プログラム変換方法

Info

Publication number
JPH06119157A
JPH06119157A JP4264646A JP26464692A JPH06119157A JP H06119157 A JPH06119157 A JP H06119157A JP 4264646 A JP4264646 A JP 4264646A JP 26464692 A JP26464692 A JP 26464692A JP H06119157 A JPH06119157 A JP H06119157A
Authority
JP
Japan
Prior art keywords
program
block
processing
flowchart
axis coordinate
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
JP4264646A
Other languages
English (en)
Other versions
JP3355660B2 (ja
Inventor
Masayoshi Matsumoto
雅好 松本
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 JP26464692A priority Critical patent/JP3355660B2/ja
Publication of JPH06119157A publication Critical patent/JPH06119157A/ja
Application granted granted Critical
Publication of JP3355660B2 publication Critical patent/JP3355660B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【目的】 プログラム変換(逆コンパイル)時間を短縮
する。 【構成】 フローチャートの接続順に従ってオブジェク
トプログラム中のブロック部分を追跡的に検索し、検索
により得られたブロック部分内の命令を図形変換するこ
とによりフローチャート形態のプログラムを作成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ格納用にプログ
ラム命令を1次元的に並べたプログラム言語形態のプロ
グラムをフローチャートのようにプログラム命令を2次
元的に配置したイメージ形態のプログラムに変換するた
めのプログラム変換方法に関する。
【0002】
【従来の技術】プログラマブルコントローラにおいて実
行するシーケンスプログラムを作成するプログラミング
装置(ローダと呼ばれる)にはSFC機能を備えたもの
がある。SFC機能とはプログラム言語形態のシーケン
スプログラムをフローチャートのようなイメージ形態の
プログラムに変換する機能のことである。
【0003】フローチャート形態のプログラムはプログ
ラミング装置に表示される。フローチャート形態のプロ
グラムは、シーケンス処理の処理順序が理解し易いとい
う利点がある。メモリの格納アドレス順のように1次元
的にプログラム命令が並べられたプログラムをフローチ
ャートのような2次元的なプログラムに変換するために
は従来は、以下の処理を行っている。
【0004】(1) プログラミング装置において、1
次元のプログラムからプログラム命令を記載順に読出し
て、そのプログラム命令の種類内容を識別する。
【0005】(2) 隣接する(またはジャンプ先の)
プログラム命令の接続関係を調べる。
【0006】(3) プログラム命令の種類内容に対応
した図形イメージをメモリ上に展開記憶する。上述の図
形イメージの記憶位置はプログラムの接続関係に基づき
決定される。
【0007】以上のように作成されたフローチャート形
態のシーケンスプログラムの表示例を図2に模式的に示
し、ニーモニック表現の1次元プログラム、すなわち、
変換前のオブジェクトプログラムを図3に示す。
【0008】
【発明が解決しようとする課題】従来方法では図3のオ
ブジェクトプログラムのプログラム命令の記載順にフロ
ーチャート用の図形イメージをメモリ上に配置して行
く。このため、オブジェクトプログラム上ではプログラ
ム命令が隣接してしないが、フローチャート上では上記
プログラム命令の接続を行う場合が生じる。たとえば、
図2のBの処理およびDの処理をFの処理に合流させる
場合、イメージメモリ上の対応図形の各位置を算出しな
ければならない。また、上記処理の接続関係を調べるた
めにオブジェクトプログラムを検索する必要がある。
【0009】たとえば、オブジェクトプログラム中に分
岐命令が多いと、フローチャート上での分岐処理の接続
も多くなるので、図形の作画位置の算出に時間がかか
る。また、作画位置の算出のためにはオブジェクトプロ
グラムを先頭から何回も検索しなければならないので、
プログラム変換処理全体の処理時間が長くなってしまっ
ていた。
【0010】そこで、本発明の目的は、上述の点に鑑み
て1次元プログラムを2次元プログラムに変換するため
の処理時間を短縮することの可能なプログラム変換方法
を提供することにある。
【0011】
【課題を解決するための手段】このような目的を達成す
るために、請求項1の発明は、プログラム言語形態の1
次元プログラムをフローチャート形態の2次元プログラ
ムに変換するプログラム変換方法において、前記1次元
プログラムを複数の第1ブロックに予め分割しておき、
前記複数の第1ブロックに対応する前記フローチャート
上の複数の第2ブロックを想定し、前記第1ブロックを
前記第2ブロックに新たに変換する場合は、前記1次元
プログラムの中から変換対象の前記第1ブロックを、前
記フローチャート上の複数の第2ブロックの接続順に従
って抽出して行くことを特徴とする。
【0012】請求項2の発明は、請求項1の発明に加え
て、前記変換対象の第1ブロックを前記1次元プログラ
ムの中から抽出するための当該1次元プログラムの検索
開始位置を、変換済みの第2ブロックの中の接続順にお
いて最後尾に位置する第2ブロックに対応の第1ブロッ
クの位置とすることを特徴とする。
【0013】
【作用】請求項1の発明は、1次元プログラムのプログ
ラム命令の記載順序に従ってフローチャートを作成して
行く従来方法に代り、フローチャート内の(第2)ブロ
ックの接続順に従って1次元フローチャートの中から第
1ブロックを抽出し、この第1ブロックを第2ブロック
に変換することによりフローチャートを作成して行く。
請求項2の発明は、第1ブロックを抽出するための1次
元プログラムの検索開始位置を変換済みの最後尾の第2
ブロックに対応の第1ブロックの位置とすることで無駄
な検索処理を省く。
【0014】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。本実施例では図3のオブジェクトプログラ
ム(1次元プログラム)を図2のフローチャート(2次
元プログラム)に変換する例について説明する。
【0015】本実施例ではプログラミング装置内のCP
U(中央演算処理装置)が本発明に関わるプログラム変
換処理を実行する。また、変換対象のオブジェクトプロ
グラムは専用の第1のメモリ領域に予め格納されている
ものとする。また、本発明に関わる画素生成順序管理用
バッファがシステムワーク領域内の専用の第2のメモリ
領域に設けられている。画素生成順序管理用バッファの
構成を図4に示す。
【0016】フローチャートをX軸,Y軸の2次元座標
で表わす場合に、ネスト方向(分岐して行く方向)をX
軸に、分岐無しの処理の進行方向をY軸に割当てる。n
回の分岐処理がある場合フローチャート上のn回目の分
岐処理のX軸座標値をnと表わすことにする。たとえば
最大n回のネスト処理が可能な場合X軸方向に並行な列
がn個できることになる。
【0017】そこで、本実施例では上記列に対応させた
管理情報(図4参照)を画素生成順序管理用バッファに
記憶し、イメージの作成の際の図形位置の決定に上記管
理情報を用いる。各列(X0〜Xn)の管理情報は、作
成した図形イメージの最終の種類内容を示す識別情報
と、CPUが次にアクセスすべきブロックのオブジェク
トプログラムの位置を示す次回アクセス先ポインタから
構成される。なお、ここで言うブロックとは、オブジェ
クトプログラム(図3参照)中のブロック開始命令から
ブロック終了命令の間の領域を意味し、ブロック単位で
図形イメージが作成される。
【0018】このような画素生成順序管理用バッファを
用いてフローチャートのイメージを作成する処理を図5
を用いて説明する。図5はプログラミング装置内のCP
Uにより行う処理順序を示すフローチャートである。
【0019】CPUは、フローチャートの接続順に従っ
て最初にY軸座標=0(行)の図形イメージを作成する
ために、X軸座標=2を指定する(S10)。次にCP
UはX軸座標=2の管理情報を参照するが、画素生成順
序管理用バッファの初期状態では図6に示すように、X
軸座標=2の欄の最終状態情報が設定されていないの
で、図3の実行手順はS20〜S60と進み、X軸座標
=1が最新の図形作成位置として指定される。X軸座標
=1についても最終状態情報が設定されていないので、
X軸座標=0が次に指定される(S60)。
【0020】ここで、CPUは画素生成順序管理用バッ
ファのX軸座標=0の次回アクセスポインタを参照し、
このポインタの示すオブジェクトプログラム上のブロッ
クの先頭位置からプログラム命令を順次に読出し、作成
すべき図形についての解析を行う。この解析手法は従来
から知られている手法を用いることができる。
【0021】この解析結果に基づき、Aの処理(オブジ
ェクトプログラムのアドレス“1”)に対応の図形イメ
ージが図7に示すようにイメージメモリ上で作成される
(S21)。このとき、X軸座標=0について分岐開始
が発生するので、画素生成順序管理バッファのX軸座標
=0の欄の最終状態情報が分岐開始を示す識別情報に更
新される(図7参照)。なお、CPUは、分岐開始図形
に接続する次ステップの処理が属するブロックについて
もオブジェクトプログラムの検索により調べる。本例で
はアドレス“6”のブロック終了命令の前に接続先の処
理があるので次回アクセスポインタはX軸座標=0の欄
が“0”のままである。
【0022】このようにして、1行分の図形イメージの
作成を終了すると(S21)、次にX軸座=2が再び設
定され(S21→S10)、Y軸座標=1(行)につい
ての図5の処理手順が繰り返される。この結果、X軸座
標=0が指定されたときに、管理情報の最終状態情報が
“分岐開始”を示すことがS41で検出される。
【0023】そこで、CPUはX軸座標=0を起点とす
る分岐作画処理を行う。この作画結果を図1に示す。こ
の作画処理において、CPUは次回アクセスポインタの
X軸座標=0の欄の示すオブジェクトプログラム上の先
頭位置からプログラム命令を読出し、プログラム命令に
対応の図形イメージすなわち、分岐の生じた部分の図形
イメージを作成する。
【0024】この作成処理において、X軸座標=1の列
にCの処理に関する図形(図1参照、図3のオブジェク
トプログラムのアドレス4,5の命令に対応)が作成さ
れると、Cの処理の接続先がオブジェクトプログラム上
で検索される。ここで特筆すべきは検索の開始アドレス
が従来のようにオブジェクトプログラムの先頭アドレス
“0”ではなく現在、作成の行われているブロックから
検索を開始し、フローチャート上で接続関係を有するブ
ロックの位置を検出し、その位置を次回アクセスポイン
タに記憶しておくことにある。このため、検索処理時間
が従来より短縮されることは当業者であれば容易に理解
し得よう。
【0025】本例の場合、検索により検出された接続先
の処理の属するブロックの先頭アドレス“7”(図3参
照)がX軸座標=1における新たな次回アクセスポイン
タとして設定される。また、Cの処理に対応の最終状態
情報として分岐開始を示す識別情報が設定される。同様
にX軸座標=0に対応するBの処理の図形イメージを作
成したときに、画素生成順序管理用バッファのX軸座標
=0の欄の管理情報が更新される。
【0026】以下、CPUは上述の処理手順を実行し、
Y軸座標値を更新しながらフローチャートの図形イメー
ジを接続順序に従ってイメージメモリ上に展開させて行
く。以後、イメージメモリ上に展開された作成途中のフ
ローチャートの図形形状およびその形状に対応する画素
生成順序管理用バッファの管理情報の内容を、参考のた
めに図8〜図14に示す。作成されたフローチャート図
形イメージはCPUまたは、DMA(ダイレクトメモリ
アクセスコントローラ)等により読出され表示器に送ら
れる。
【0027】このようにして、本実施例では、ブロック
単位で図形イメージを作成して行く場合に、各X軸座標
の前回までの図形イメージを起点として接続の図形イメ
ージを作成する。このため、従来のように図形イメージ
の作成毎にその作画位置を算出する必要がなく、作画位
置の算出時間も短縮される。
【0028】本実施例の他に次の例が挙げられる。
【0029】1) 本実施例では表示画面上にフローチ
ャート全体を表示する例を示したが、フローチャートの
大きさが表示画面を超える場合は、画面単位の部分フロ
ーチャートを作成してもよいし、スクロール表示により
表示内容を移動させてもよい。
【0030】2) 本実施例では図3のオブジェクトプ
ログラムのブロック(ブロック開始命令とブロック終了
命令とで挾まれる領域(本発明の第1ブロックに相当)
をフローチャートの接続順に従って追跡して抽出し、抽
出したブロック内の命令に基づき、図1の点線で囲まれ
る部分フローチャート(本発明の第2ブロックに相当)
を作成して行く。また、ブロック内の命令の図形変換に
際してもフローチャートの接続順に従って行っている。
このため、表示画面上に作成されて行くフローチャート
はあたかもツリーを形成するように見える。なお、ブロ
ック開始命令やブロック終了命令を用意していないオブ
ジェクトプログラムについてはオブジェクトプログラム
内の個々の命令を1つのブロックとみなすことにより本
発明を達成することができる。
【0031】通常はオブジェクトプログラム上のブロッ
ク間の記載順序がフローチャートの接続関係と対応しな
いことが多く、ブロック内の命令の記載順はジャンプ命
令等が無い限りフローチャートの接続順と対応すること
が多い。このため、上記ブロック内の命令群を従来手法
で部分フローチャートに変換してもよい。この場合、画
素生成順序管理用バッファの最終状態情報はブロックの
最終部分のフローチャート上の接続形態を示すことにな
る。
【0032】
【発明の効果】以上、説明したように本発明によればツ
リー(またはチェイン)状のようにフローチャートの接
続順に対応させて変換対象のオブジェクトプログラム
(1次元プログラム)を検索するので、不必要な検索が
なくなり従来よりもプログラム変換時間が短縮される。
【図面の簡単な説明】
【図1】フローチャート図形の作成過程を示す説明図で
ある。
【図2】変換後のフローチャートを示す説明図である。
【図3】変換対象のオブジェクトプログラムの内容の一
例を示す説明図である。
【図4】画素生成順序管理用バッファの構成を示す説明
図である。
【図5】プログラム変換手順の内容を示すフローチャー
トである。
【図6】画素生成順序管理用バッファの内容と作成され
たフローチャートの作成部分との対応関係を示す説明図
である。
【図7】画素生成順序管理用バッファの内容と作成され
たフローチャートの作成部分との対応関係を示す説明図
である。
【図8】画素生成順序管理用バッファの内容と作成され
たフローチャートの作成部分との対応関係を示す説明図
である。
【図9】画素生成順序管理用バッファの内容と作成され
たフローチャートの作成部分との対応関係を示す説明図
である。
【図10】画素生成順序管理用バッファの内容と作成さ
れたフローチャートの作成部分との対応関係を示す説明
図である。
【図11】画素生成順序管理用バッファの内容と作成さ
れたフローチャートの作成部分との対応関係を示す説明
図である。
【図12】画素生成順序管理用バッファの内容と作成さ
れたフローチャートの作成部分との対応関係を示す説明
図である。
【図13】画素生成順序管理用バッファの内容と作成さ
れたフローチャートの作成部分との対応関係を示す説明
図である。
【図14】画素生成順序管理用バッファの内容と作成さ
れたフローチャートの作成部分との対応関係を示す説明
図である。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラム言語形態の1次元プログラム
    をフローチャート形態の2次元プログラムに変換するプ
    ログラム変換方法において、 前記1次元プログラムを複数の第1ブロックに予め分割
    しておき、 前記複数の第1ブロックに対応する前記フローチャート
    上の複数の第2ブロックを想定し、 前記第1ブロックを前記第2ブロックに新たに変換する
    場合は、前記1次元プログラムの中から変換対象の前記
    第1ブロックを、前記フローチャート上の複数の第2ブ
    ロックの接続順に従って抽出して行くことを特徴とする
    プログラム変換方法。
  2. 【請求項2】 前記変換対象の第1ブロックを前記1次
    元プログラムの中から抽出するための当該1次元プログ
    ラムの検索開始位置を、変換済みの第2ブロックの中の
    接続順において最後尾に位置する第2ブロックに対応の
    第1ブロックの位置とすることを特徴とする請求項1に
    記載のプログラム変換方法。
JP26464692A 1992-10-02 1992-10-02 プログラム変換方法 Expired - Fee Related JP3355660B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26464692A JP3355660B2 (ja) 1992-10-02 1992-10-02 プログラム変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26464692A JP3355660B2 (ja) 1992-10-02 1992-10-02 プログラム変換方法

Publications (2)

Publication Number Publication Date
JPH06119157A true JPH06119157A (ja) 1994-04-28
JP3355660B2 JP3355660B2 (ja) 2002-12-09

Family

ID=17406251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26464692A Expired - Fee Related JP3355660B2 (ja) 1992-10-02 1992-10-02 プログラム変換方法

Country Status (1)

Country Link
JP (1) JP3355660B2 (ja)

Also Published As

Publication number Publication date
JP3355660B2 (ja) 2002-12-09

Similar Documents

Publication Publication Date Title
JP3355660B2 (ja) プログラム変換方法
JPH01134672A (ja) 分割画像処理方法
JPH02165353A (ja) 対話型データ処理方式
JP3353212B2 (ja) 引出線自動作成方法および引出線自動作成システム
JPH0724022B2 (ja) プログラム言語変換方法
JP3080080B2 (ja) 画像連接システム、および画像連接プログラムを記録した記録媒体
JP2643617B2 (ja) 建築図等における壁または梁の作図方法およびその装置
JP2634905B2 (ja) 図形ぬりつぶし方法
JPH0324639A (ja) プログラム理解支援方法
JPH06342277A (ja) 文字表示装置
JPS63266574A (ja) 文書作成装置
JPH03287297A (ja) 文字発生回路
JPH06259507A (ja) 図形分割装置
JPH01134684A (ja) 画素列追跡方式
JPH02222080A (ja) 文字列描画コマンドの生成・格納方式
JPH01162922A (ja) 表示ウィンドウ管理方式
JPH0816809A (ja) 作図方式
JPH07129786A (ja) 画像表示装置
JPH05334378A (ja) 図形処理装置および図形要素処理方法
JP2000035782A (ja) 画像表示方法
JPH0212379A (ja) 図形検索方式
JPH01134682A (ja) 折線化処理方法
JPH02311905A (ja) Ncデータ表示方法
JPS62226384A (ja) 画像輪郭追跡方式
JPS6334668A (ja) 自動レイアウト設計支援装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081004

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091004

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101004

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111004

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees