JP3385790B2 - 言語変換装置 - Google Patents
言語変換装置Info
- Publication number
- JP3385790B2 JP3385790B2 JP08669395A JP8669395A JP3385790B2 JP 3385790 B2 JP3385790 B2 JP 3385790B2 JP 08669395 A JP08669395 A JP 08669395A JP 8669395 A JP8669395 A JP 8669395A JP 3385790 B2 JP3385790 B2 JP 3385790B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- processing
- link information
- connection link
- connection
- 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.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Description
プログラマブル・コントローラのプログラム作成支援装
置に関し、更に詳しくは、ユーザが作成するラダー図プ
ログラムを関数型言語に変換する言語変換装置に関す
る。 【0002】 【従来の技術】プラント運転等、各種産業の自動化のた
めにプログラマブル・コントローラが使用されている。
プログラマブル・コントローラで使用されるプログラム
言語のうち、データの処理を表すものとして、ファンク
ション・ブロック図がある。 【0003】図18(a)は、プログラマブル・コント
ローラ上で作成されたファンクション・ブロック図の一
例を示している。図18(b)は、図18(a)に示す
ファンクション・ブロック図を関数型言語で表現した場
合を示しており、ファンクション・ブロック図と関数型
言語は、論理の組み合わせが互いに1対1に対応してお
り、ファンクション・ブロック図から関数型言語への自
動変換は容易に行える。 【0004】一方、図18(c)は、図18(a)に示
すファンクション・ブロック図をラダー図で表現した場
合を示している。しかし、ラダー図は、論理の組み合わ
せが電流の流れで決定し、ラダー図の接点間の接続関係
等で論理が決定するので、ラダー図から関数型言語への
自動変換は容易には行えない。 【0005】以上の理由により、従来は、ファンクショ
ン・ブロック図から関数型言語への自動変換を行う装置
は存在していたが、ラダー図から関数型言語への自動変
化を行う装置は存在しなかった。 【0006】 【発明が解決しようとする課題】本発明の課題は、従来
行われていなかった、ユーザが作成したラダー図プログ
ラムをプログラマブル・コントローラが実行可能な関数
型言語への自動変換を実現することである。 【0007】 【課題を解決するための手段】上記課題を解決するため
に、本発明は以下の手段を有する。すなわち、本発明の
言語変換装置は、ラダー図の各要素間の接続関係を示す
接続リンク情報を格納する接続リンク情報格納手段と、
前記接続リンク情報から各要素の接続関係を解析し、該
解析結果に基づいて前記接続リンク情報を更新する接続
関係解析手段と、前記更新された接続リンク情報を関数
型言語に展開する関数型言語展開手段とを有している。 【0008】そして、前記接続関係解析手段は、前記接
続リンク情報から論理積関係にあるセルを検出し、該検
出されたセルを一纏めに括る&処理、前記接続リンク情
報から論理和関係にあるセルを検出し、該検出されたセ
ルを一纏めに括るOR処理、前記接続リンク情報から不
要な接続リンクを検出し、該検出された接続リンクを削
除するWK処理を実行し、前記&処理、OR処理、及び
WK処理のいずれも実行不可能となった時に、前記接続
リンク情報から関数型言語に変換する時に必要となるテ
ンポラリメモリを生成するテンポラリ処理を実行した
後、再度、前記&処理、OR処理、WK処理を実行し、
前記&処理、OR処理、WK処理、及びテンポラリ処理
のいずれも実行不可能となった時に、前記接続リンク情
報から関数素子を抽出し、関数素子毎に予め定められた
規則で前記接続リンク情報を更新する関数素子処理を実
行した後、再度、前記&処理、OR処理、WK処理、テ
ンポラリ処理、及び関数素子処理を順次実行する。 【0009】 【0010】 【0011】 【0012】 【0013】 【0014】 【0015】 【作用】図1は、本発明の原理を説明する図である。図
1を用いて、以下に本発明の作用を説明する。 【0016】先ず、ラダー図の絵情報から各要素の接続
関係を表す情報を抽出し、接続リンク情報を作成して、
接続リンク情報格納手段101に格納する。接続リンク
情報は、P母線を表すSTセル、接点を表す接点セル、
コイルを表すコイルセル等のセル種別、他のセルへの接
続を示すポインタ、及びラダー図における接点名称、コ
イル名称等のセル名称から成る。 【0017】接続関係解析手段102は、上記接続リン
ク情報格納手段101の接続リンク情報を参照して、論
理積関係にあるセルを検出し、該検出されたセルを一纏
めに括る&処理を実行して接続リンク情報を更新する。
また、接続関係解析手段102は、上記接続リンク情報
格納手段101の接続リンク情報を参照して、論理和関
係にあるセルを検出し、該検出されたセルを一纏めに括
るOR処理を実行して接続リンク情報を更新する。更に
は、接続関係解析手段102は、上記接続リンク情報格
納手段101の接続リンク情報を参照して、不要な接続
リンクを検出し、該検出された接続リンクを削除するW
K処理を実行する。 【0018】そして、接続関係解析手段102は、上記
&処理、OR処理、及びWK処理が実行不可能となって
時点で、上記接続リンク情報から関数型言語に変換する
時に必要となるテンポラリメモリを生成する。テンポラ
リ処理を実行した後、更新された接続リンク情報の中に
関数型言語に変換可能な接続リンクがあれば、関数型言
語に変換して関数型言語格納手段104に格納する。 【0019】次に、接続関係解析手段102は、再度、
上記&処理、OR処理、WK処理、及びテンポラリ処理
を実行し、&処理、OR処理、WK処理、及びテンポラ
リ処理のいずれも実行不可能となった時点で、接続リン
ク情報からタイマーやカウンタ等の関数素子を抽出し、
関数素子の種類に応じて接続リンク情報を更新する関数
素子処理を実行する。 【0020】続いて、接続関係解析手段102は、再
度、上記&処理、OR処理、WK処理、テンポラリ処
理、及び関数素子処理を実行し、&処理、OR処理、W
K処理、テンポラリ処理、及び関数素子処理が実行不可
能となった時点で、関数型言語展開手段103は、更新
された接続リンク情報に対応する関数型言語を生成し、
関数型言語格納手段104に格納する。 【0021】 【実施例】図2は、本実施例の全体構成を示す図であ
る。本実施例の各格納RAM、及び各処理部の概略を、
図2を用いて以下に説明する。 (1)ラダー図絵情報格納RAM201は、ユーザによ
って作成されたラダー図の絵情報が格納されるRAMで
ある。 (2)NET情報格納RAM202は、ラダー図の接点
やコイル等の接続リンク情報を格納するためのRAMで
あり、上記ラダー図絵情報格納RAM201に格納され
ているラダー図の絵情報の中から、接続リンク情報のみ
がNET情報格納RAM202に格納される。 (3)&処理部203は、NET情報格納RAM202
に格納されている接続リンク情報の中から、論理積関係
にあるラダー図の接点を抽出して一纏めに括り、NET
情報格納RAM202内の接続リンク情報を加工する。 (4)OR処理部204は、NET情報格納RAM20
2に格納されている接続リンク情報の中から、論理和関
係にあるラダー図の接点を抽出して一纏めに括り、NE
T情報格納RAM202内の接続リンク情報を加工す
る。 (5)WK処理部205は、&処理部203及びOR処
理部204により加工されたNET情報格納RAM20
2に格納されている接続リンク情報の中から、不要とな
った接続リンク情報(WORK)を削除する。 (6)テンポラリ処理部206は、ラダー図を関数型言
語に変換する時に必要となるテンポラリメモリを生成す
る。 (7)関数素子処理部207は、ラダー図中に含まれる
タイマーやカウンタ等の関数素子を処理する。 【0022】以上、NET情報格納RAM202に格納
された接続リンク情報に対して、&処理部203、OR
処理部204、WK処理部205、テンポラリ処理部2
06、及び関数素子処理部207による加工が順次、そ
して繰り返して実行されることにより、NET情報格納
RAM202に格納された接続リンク情報は関数型言語
に変換可能な接続情報となる。 (8)関数型言語展開処理部208は、NET情報格納
RAM202内の接続リンク情報が、関数型言語に変換
可能な接続情報となった時に、接続リンク情報を関数型
言語に変換して関数型言語格納RAM209に格納す
る。 【0023】次に、上述した各格納RAM201、20
2、209、及び各処理部203〜208について、以
下に詳細に説明する。 (1)ラダー図絵情報格納RAM201 ラダー図絵情報格納RAM201は、ラダー図の全体構
造を表現する情報を格納するRAMである。例えば、図
3に示すようなラダー図を表現する情報として、P母線
301、N母線306、各接点“a”302〜“c”3
04、及びコイル“d”305のイメージを表す情報、
或いは各要素301〜306の接続関係を表す情報等で
ある。 (2)NET情報格納RAM202 NET情報格納RAM202は、ラダー図絵情報格納R
AM201に格納された絵情報の中から、各要素301
〜306の接続関係を表す情報が抽出され、接続リンク
情報が作成されて格納される。 【0024】図4は、図3のラダー図絵情報から抽出さ
れ作成された接続リンク情報を示しており、図4の“S
Tセル”401は、図3のP母線301に対応してい
る。また、各接点セル“a”402、“b”403、
“c”404は、それぞれ各接点“a”302、“b”
303、“c”304に対応している。更には、コイル
セル“d”405は、コイル“d”305に対応してい
る。 【0025】各セルは、その接続関係を有しており、例
えば、“STセル”401は接点セル“a”402と接
続関係にあることを示す情報を有している。また、接点
“a”302は、2つの接点“b”303、及び“c”
304と接続しており、OR回路等における同電位を示
す“WKセル”406が、接点セル“a”402と接点
セル“b”403、“c”404”の間に付加されてい
る。同様に、接点セル“b”403、“c”404”と
コイルセル“d”の間にも同電位を示す“WKセル”4
07が付加される。 【0026】実際のラダー図の接点は、ノーマルオープ
ン及びノーマルクローズの2種類の接点があるが、本実
施例では便宜的に、ノーマルオープンの接点種別を用い
て説明する。 【0027】また、図5は、図4で表現されていないそ
の他のセルを示している。関数セル“TIM”501
は、ラダー図絵情報の関数素子に対応しており、その一
例としてタイマ関数素子を示している。“&セル”50
2、“ORセル”503、及び“ダミーセル”504
は、ラダー図絵情報には表現されないが、ラダー図絵情
報を関数型言語に変換する際にNET情報格納RAM2
02内部に発生するセルである。これらのセルの役割及
び機能は後述する。 【0028】尚、図4、及び図5はNET情報格納RA
M202の内部状態を説明するための便宜的な表現であ
り、物理的には各々のセルはNET情報格納RAM20
2上に複数のメモリの構造体として配列されている。 【0029】図6は、各セルのNET情報格納RAM2
02内部における物理構造例を示している。セル種別6
01には、セルの種類を示す情報、例えば、“STセ
ル”、“接点セル”、“WKセル”、“コイルセル”等
を示す情報が格納される。 【0030】セルへのポインタ602には、他のセルへ
の接続を示す1つあるいは複数のポインタが格納され
る。例えば、図4の“WKセル”406の場合、接点セ
ル“b”、及び“c”を示すポインタがセルへのポイン
タ602に格納される。 【0031】セル名称603には、ラダー図における接
点名称やコイル名称等が格納される。例えば、図3の接
点“a”302の場合であれば、接点名称“a”がセル
名称603に格納される。 【0032】以後の説明では、図6に示す各情報ではな
く、図4及び図5に示す便宜的な表現を用いることとす
る。 (3)&処理部203 &処理部203は、NET情報格納RAM202に格納
されている接続リンク情報を検索し、&処理が適用可能
であれば、NET情報格納RAM202内の接続リンク
情報に対して&処理を適用し、&処理実行後の接続リン
ク情報をNET情報格納RAM202に格納する。 【0033】以下、図7(a)、(b)を用いて、&処
理の適用条件及び&処理について説明する。以下のa)
〜c)の条件を同時に満足した場合に&処理が適用され
る。 a)最初のセルが、“STセル”、“WKセル”、“関
数セル”のいずれかである。 b)最後のセルが、“WKセル”、“関数セル”、“コ
イルセル”のいずれかである。 c)最初のセルと最後のセルの間に、2つ以上の“接点
セル”または“ダミーセル”が直列に接続されている。 【0034】図7(a)において、最初のセル“A”7
01、最後のセル“B”702、及びその間のセル“C
1”703−1〜“Cn”703−nが、上記a)〜
c)の条件を満たした場合、図7(b)に示すような&
処理を実施する。即ち、セル“C1”703−1〜“C
n”703−nがセル“A”701及びセル“B”70
2から切り離され、新たに“&セル”705を発生させ
て、セル“C1”703−1の前に接続する。 【0035】次に、新たに“ダミーセル”704を発生
させて、セル“A”701とセル“B”702の間に挿
入して接続する。そして最後に、“ダミーセル”704
から“&セル”705へ新たに接続リンクを張る。 【0036】以上のようにして更新された接続リンク情
報(図7(b))をNET情報格納RAM202に格納
して、図7(a)に示す接続リンク情報を更新する。 (4)OR処理部204 OR処理部204は、NET情報格納RAM202に格
納されている接続リンク情報を検索し、OR処理が適用
可能であれば、NET情報格納RAM202内の接続リ
ンク情報に対してOR処理を適用し、OR処理実行後の
接続リンク情報をNET情報格納RAM202に格納す
る。 【0037】以下、図8(a)、(b)を用いて、OR
処理の適用条件及びOR処理について説明する。以下の
a)〜c)の条件を同時に満足した場合にOR処理が適
用される。 a)最初のセルが、“STセル”、“WKセル”のいず
れかである。 b)最後のセルが、“WKセル”である。 c)最初のセルと最後のセルの間に、2つ以上の“接点
セル”または“ダミーセル”が並列に接続されている。 【0038】図8(a)において、最初のセル“A”8
01、最後のセル“B”802、及びその間のセル“C
1”803−1〜“Cn”803−nが、上記a)〜
c)の条件を満たした場合、図8(b)に示すようなO
R処理を実施する。即ち、セル“C1”803−1〜
“Cn”803−nがセル“A”801及びセル“B”
802から切り離され、セル“C1”803−1〜“C
n”803−nを直列に接続し直す。そして、新たに
“ORセル”805を発生させて、セル“C1”803
−1の前に接続する。 【0039】次に、新たに“ダミーセル”804を発生
させて、セル“A”801とセル“B”802の間に挿
入して接続する。そして最後に、“ダミーセル”804
から“ORセル”805へ新たに接続リンクを張る。 【0040】以上のようにして更新された接続リンク情
報(図8(b))をNET情報格納RAM202に格納
し、図8(a)に示す接続リンク情報を更新する。 (5)WK処理部205 WK処理部205は、NET情報格納RAM202に格
納されている接続リンク情報を検索し、WK処理が適用
可能であれば、NET情報格納RAM202内の接続リ
ンク情報に対してWK処理を適用し、WK処理実行後の
接続リンク情報をNET情報格納RAM202に格納す
る。 【0041】以下、図9(a)、(b)を用いて、WK
処理の適用条件及びWK処理について説明する。以下の
a)の条件を満足した場合にWK処理が適用される。 a)“WKセル”を指し示す接続リンクが一本のみであ
り、かつその“WKセル”から出る接続リンクも一本の
みである。 【0042】図9(a)において、“WKセル”903
を指し示す接続リンクがセル“A”901のみであり、
“WKセル”から出る接続リンクがセル“B”902へ
の一本のみであるので、図9(b)に示すようなWK処
理を実施する。即ち、“WKセル”903をセル“A”
901及びセル“B”902から切り離す。そして、セ
ル“A”901からの接続リンクをセル“B”902に
張り直す。 【0043】以上のようにして更新された接続リンク情
報(図9(b))をNET情報格納RAM202に格納
し、図9(a)に示す接続リンク情報を更新する。尚、
接続リンクの無くなった“WKセル”903は、NET
情報格納RAM202から削除される。 (6)テンポラリ処理装置 テンポラリ処理部206は、NET情報格納RAM20
2に格納されている接続リンク情報を検索し、テンポラ
リ処理が適用可能であれば、NET情報格納RAM20
2内の接続リンク情報に対してテンポラリ処理を適用
し、テンポラリ処理実行後の接続リンク情報をNET情
報格納RAM202に格納する。 【0044】以下、図10(a)〜(c)を用いて、テ
ンポラリ処理の適用条件及びテンポラリ処理について説
明する。以下のa)〜c)の条件を同時に満足した場合
に、テンポラリ処理が適用される。 a)上述した“&処理”、“OR処理”、及び“WK処
理”のいずれも適用できない。 b)“STセル”と“WKセル”の間に1個のセルが接
続されており、かつそのセルは“接点セル”または“ダ
ミーセル”のいずれかである。 c)“WKセル”を指し示す接続リンクの数が1本のみ
であり、かつその“WKセル”から出る接続リンクの数
が2本以上である。 【0045】図10(a)において、“STセル”10
01と“WKセル”1003の間にはセル“A”100
2のみであり、“WKセル”1003から出る接続リン
クがn個のセル“C1”1004−1〜“Cn”100
4−nに接続されているので、テンポラリ処理が実施さ
れる。即ち、図10(c)に示す関数型言語を自動的に
作成し、セル“A”1002と“WKセル”1003
が、“STセル”1001とセル“C1”1004−1
〜“Cn”1004−nの間から切り離される。図10
(c)に示す関数型言語は、セル“A”1002の内容
をテンポラリメモリt0に書き込むことを示しており、
該作成された関数型言語は関数型言語格納RAM209
に格納される。 【0046】各セル“C1”1004−1〜“Cn”1
004−nの前に、テンポラリメモリを示す名称がt0
の“接点セル”1005−1〜1005−nが自動的に
生成し接続する。そして、“STセル”1001から各
接点セル“t0”1005−1〜1005−nにn本の
接続リンクを張る。 【0047】又、テンポラリメモリは、テンポラリ処理
が実行される度にt0,t1,t2・・・のようにイン
クリメントされる。また、セル“A”1002と“WK
セル”1003はNET情報格納RAM202から削除
され、新たに生成された図10(b)に該当する接続リ
ンク情報がNET情報格納RAM202に格納される。 (7)関数素子処理部207 関数素子処理部207は、NET情報格納RAM202
に格納されている接続リンク情報を検索し、関数素子処
理が適用可能であれば、NET情報格納RAM202内
の接続リンク情報に対して関数素子処理を適用し、関数
素子処理実行後の接続リンク情報をNET情報格納RA
M202に格納する。 【0048】以下、図11(a)、(b)を用いて、関
数素子処理の適用条件及び関数素子処理について説明す
る。 以下のa)、b)の条件を同時に満足した場合に関数素
子処理が適用される。a)前述した“&処理”、“OR
処理”、“WK処理”、“テンポラリ処理”のいずれも
適用できない。 b)“STセル”と“関数セル”の間に、直列に1個、
または並列に1個以上のセルが接続されており、かつそ
れらは全て“接点セル”、または“ダミーセル”のいず
れかである。 【0049】図11(a)において、“STセル”11
01と関数セル“TIM”1104の間にはセル“A”
1102のみが接続されているので、関数素子処理が適
用される。即ち、“STセル”1101とセル“B”1
103の間から、セル“A”1102及び関数セル“T
IM”1104が切り離され、切り離された“関数セ
ル”1104の後ろに、同じく切り離されたセル“A”
1102を接続させ、セル列1106を作成する。 【0050】次に、“ダミーセル”1105を自動的に
生成して“STセル”1101とセル“B”1103と
の間に接続させる。そして、“ダミーセル”1105か
ら下方に接続リンクを発生させてセル列1106の先頭
に接続させる。以上のようにして、図11(b)に示す
接続リンク情報が生成されてNET情報格納RAM20
2に格納され、図11(a)に示す接続リンク情報を更
新する。 【0051】図11(c)は、2値入力を持つ関数素子
の関数素子処理例を示したものである。“STセル”1
107とセル“C”1110の間から、セル“A”11
08、“B”1109及び関数セル“F”1111が切
り離される。切り離されたセル“A”1108の後ろ
に、セル“B”1109を接続させ、セル列1113を
作成する。 【0052】次に、“ダミーセル”1112を自動的に
生成して“STセル”1107とセル“C”1110と
の間に接続させる。そして、“ダミーセル”1112か
ら下方に接続リンクを発生させて関数セル“F”111
1に接続させ、該関数セル“F”1111をセル列11
13の先頭に接続させる。以上のようにして生成された
図11(c)の上図に示すリンク情報が、図11(c)
の下図に示す接続リンク情報に置き換えられる。 (8)関数型言語展開処理部208 関数型言語展開処理部208は、NET情報格納RAM
202に格納されている接続リンク情報を検索し、関数
型言語展開処理が適用可能であれば、NET情報格納R
AM202の接続リンク情報を読み出して関数型言語に
展開し、関数型言語格納RAM209に格納する。 【0053】以下、図12(a)、(b)を用いて、関
数型言語展開処理の適用条件及び関数型言語展開処理に
ついて説明する。以下のa)、b)の条件を同時に満足
した場合に関数型言語展開処理が適用される。 a)前述した“&処理”、“OR処理”、“WK処
理”、“テンポラリ処理”、“関数素子処理”のいずれ
も適用できない。 b)“STセル”と全ての“コイルセル”の間に接続さ
れているセルが1個のみであり、かつそれらのセルは
“接点セル”、“ダミーセル”のいずれかである。 【0054】図12(a)において、“&処理”、“O
R処理”、“WK処理”、“テンポラリ処理”、“関数
素子処理”のいずれも適用できず、“STセル”120
1とコイルセル“C”1204の間にはセル“A”12
02のみが存在し、“STセル”1201とコイルセル
“D”1205の間にはセル“B”1203のみが存在
するので関数型言語展開処理が適用される。即ち、図1
2(b)に示すように、セル“A”の内容をコイル
“C”に書き込む命令、及びセル“B”の内容をコイル
“D”に書き込む命令が自動的に生成され、関数型言語
格納RAM209に格納される。 【0055】ここで、セル“A”1202、又は“B”
1203が“接点セル”の場合にはセルの名称をそのま
ま格納し、“ダミーセル”の場合には図13に示すよう
に、関数式に展開して格納する。 【0056】即ち、先ず、“(”1311と書き込み命
令を示す“W”1312を自動的に生成して関数型言語
格納RAM209に格納する。そして、“STセル”1
301に接続されるセルが、“ダミーセル”1302で
あるので、“(”1313を関数型言語格納RAM20
9に格納する。 【0057】次に“ダミーセル”1302の下方向の接
続リンクをたどると、“&セル”1303が接続されて
いるので、関数名“&”1314を格納し、更に、“&
セル”1303は、接点セル“a”1304に接続され
ているので、関数のオペランド“a”1315を関数型
言語格納RAM209に格納する。 【0058】接点セル“a”1304は、“ダミーセ
ル”1305に接続されているので、“(”1316を
格納し、“ダミーセル”1305の下方向の接続リンク
をたどる。“ダミーセル”1305の下方向の接続リン
クには、“ORセル”1306が接続されているので、
関数名“OR”1317を関数型言語格納RAM209
に格納する。 【0059】“ORセル”1306は接点セル“b”1
307に接続し、更に、接点セル“b”1307は接点
セル“c”1308に接続しているので、関数のオペラ
ンド“b”1318、及び“c”1319を順次関数型
言語格納RAM209に格納する。接点セル“c”13
08は接続先リンクがないので、“)”を関数型言語格
納RAM209に格納する。もしオペランドが“ダミー
セル”の場合は上記の処理を再起的に繰り返す。図13
の場合にはオペランドが接点セル“b”、及び“c”で
あるので、“c”1319と“)”1320を格納した
後、“ダミーセル”1305を今度は右方向にたどるこ
とになる。 【0060】“ダミーセル”1305は接点セル“d”
1309が接続されており、接点セル“d”1309は
接続先リンクがないので、オペランド“d”1321,
及び“)”1322を順次関数型言語格納RAM209
に格納する。同様に、“ダミーセル”1302を右方向
にたどり、コイル名“e”1323と“)”1324を
関数型言語格納RAM209に格納して処理を終了す
る。 【0061】以上の説明においては、接点種別は全てノ
ーマルオープンを用いて説明したが、接点種別がノーマ
ルクローズの場合は、関数型言語展開処理部208にお
いて“(NOT a)”のように、接点名称を論理反転
関数で括って関数型言語格納RAM209に格納する。 (9)関数型言語格納RAM 関数型言語格納RAM209は、上記テンポラリ処理、
又は関数型言語展開処理により作成された関数型言語を
格納するためものである。 【0062】次に、本実施例の処理手順を図14のフロ
ーチャートを用いて説明する。先ず、&処理部203
は、NET情報格納RAM202に格納された接続リン
ク情報を検索し、&処理が適用可能な箇所に対して&処
理を実行する。例えば、図15(a)に示すラダー図の
場合には、図15(b)に示す接続リンク情報が抽出さ
れた後、&処理が適用可能な箇所に対して&処理を実行
する。図15(b)内のセル列1522に対して&処理
が実行可能であるので、図15(c)に示すように“S
Tセル”1511と“WKセル”1520の間に“ダミ
ーセル”1524が接続される。そして、“ダミーセ
ル”1524、“&セル”1523、接点セル“a”1
512、“b”1513の順に接続リンクが張られる
(S101)。 【0063】次に、OR処理部204は、NET情報格
納RAM202に格納された接続リンク情報を検索し、
OR処理が適用可能な箇所に対してOR処理を実行す
る。図15(c)の場合には、セル列1525に対して
OR処理が実行可能であるので、“STセル”1511
と“WKセル”1520の間に新たに“ダミーセル”1
527を発生させて接続する。そして、“ダミーセル”
1527、“ORセル”1526、“ダミーセル”15
24の順に接続リンクが張られる。“ダミーセル”15
24から右方向に接点セル“c”1514に接続リンク
が張られる。(S102)。 【0064】次に、WK処理部205は、NET情報格
納RAM202に格納された接続リンク情報を検索し、
WK処理が適用可能な箇所に対してWK処理を実行す
る。図15(d)の場合には、“WKセル”1520が
WK処理実行可能であるので、“WKセル”1520が
削除され、図16(e)に示す接続リンク情報となる
(S103)。 【0065】続いて、上記&処理(S101)、OR処
理(S102)、又はWK処理(S103)のいずれか
の処理が実行可能か否かを判定する。実行可能(S10
4,Yes)の場合には、S101に戻り同じ処理を繰
り返す。また、実行不可能(S104,No)の場合に
は、次のS105へ進む。図15(b)に示す接続リン
ク情報の場合には、&処理、OR処理、及びWK処理の
全てが実行可能であるので、S101に戻り上記処理を
繰り返す。この時、図16(e)に示す接続リンク情報
の内、セル列1528に対して再び&処理が実行可能で
あるので、&処理を行い、&処理を実行した後の接続リ
ンク情報が図16(f)となる。 【0066】次に、上記&処理(S101)、OR処理
(S102)、又はWK処理(S103)のいずれの処
理もできなくなった時、テンポラリ処理部206はテン
ポラリ処理が適用可能であれば、テンポラリ処理を行う
(S105)。 【0067】そして、上記S105でテンポラリ処理が
適用できたか否かを判定する。テンポラリ処理が適用で
きた場合(S106,Yes)には、S101に戻り上
記処理を繰り返す。また、テンポラリ処理が適用できな
かった場合(S106,No)には、次のS107へ進
む。図16(f)の場合には、テンポラリ処理ができな
いので、S107へ進む。 【0068】次に、関数素子処理が適用可能であれば、
関数素子処理部207は関数素子処理を実行する。図1
6(f)の場合には、セル列1531に対して関数素子
処理が実行可能であり、図16(g)が関数素子処理実
行後の接続リンク情報を示している(S107)。 【0069】S107で関数素子処理が適用できた場合
(S108,Yes)には、S101に戻り上記処理を
繰り返す。また、関数素子処理が適用できなかった場合
(S108,No)には、次のS109へ進む。図16
(f)の場合には、関数素子処理が適用できたので、S
101に戻り上記処理を繰り返すが、図16(g)は上
記&処理(S101)、OR処理(S102)、及びW
K処理(S103)のいずれも適用不可能であるが、テ
ンポラリ処理(S105)は実行可能であるので、図1
6(g)のセル列1533に対してテンポラリ処理を実
行する。この時、図17(j)に示す関数型言語が生成
されて、関数型言語格納RAM209に格納される。ま
た、テンポラリ処理実行後の接続リンク情報は、図17
(h)に示すものとなる。図17(h)のセル列153
6は、更に、&処理が実行可能であるので、&処理を実
行して図17(i)に示す接続リンク情報を生成する。 【0070】最後に、上記&処理(S101)、OR処
理(S102)、WK処理(S103)、テンポラリ処
理(S105)、及び関数素子処理(S107)のいず
れの処理もできなくなった時に、関数型言語展開処理部
208は関数型言語展開処理を実行する。図17(i)
の場合には、“STセル”1511、接点セル“t0”
1534、及びコイルセル“f”1518から、図17
(k)の上に示す関数型言語が生成される。また、“S
Tセル”1511、“ダミーセル”1538、“&セ
ル”1537、接点セル“t0”1535、“e”15
17、及びコイルセル“g”1519から、図17
(k)の下に示す関数型言語が生成される(S10
9)。 【0071】 【発明の効果】本発明によって、関数型言語を実行する
プログラマブル・コントローラのプログラム作成支援装
置において、従来不可能であったユーザが作成したラダ
ー図プログラムからの関数型言語への自動変換が可能と
なった。
ある。 【図6】NET情報格納RAM202内における接続リ
ンク情報を示す図である。 【図7】&処理が適用可能な一例を示す図である。 【図8】OR処理が適用可能な一例を示す図である。 【図9】WK処理が適用可能な一例を示す図である。 【図10】テンポラリ処理が適用可能な一例を示す図で
ある。 【図11】関数素子処理が適用可能な一例を示す図であ
る。 【図12】関数型言語展開処理が適用可能な一例を示す
図である。 【図13】関数型言語展開処理を説明する図である。 【図14】本実施例の処理を示すフローチャートであ
る。 【図15】ラダー図から関数型言語を生成するまでの処
理の一例を示す図(その1)である。 【図16】ラダー図から関数型言語を生成するまでの処
理の一例を示す図(その2)である。 【図17】ラダー図から関数型言語を生成するまでの処
理の一例を示す図(その3)である。 【図18】ファンクション・ブロック図、関数型言語及
びラダー図の一例を示す図である。 【符号の説明】 101 接続リンク情報格納手段 102 接続関係解析手段 103 関数型言語展開手段 104 関数型言語格納手段 201 ラダー図絵情報格納RAM 202 NET情報格納RAM 203 &処理部 204 OR処理部 205 WK処理部 206 テンポラリ処理部 207 関数素子処理部 208 関数型言語展開処理部 209 関数型言語格納RAM
Claims (1)
- (57)【特許請求の範囲】 【請求項1】 ラダー図の各要素間の接続関係を示す接
続リンク情報を格納する接続リンク情報格納手段と、 前記接続リンク情報から各要素の接続関係を解析し、該
解析結果に基づいて前記接続リンク情報を更新する接続
関係解析手段と、 前記更新された接続リンク情報を関数型言語に展開する
関数型言語展開手段とを有し、 前記接続関係解析手段は、 前記接続リンク情報から論理積関係にあるセルを検出
し、該検出されたセルを一纏めに括る&処理、前記接続
リンク情報から論理和関係にあるセルを検出し、該検出
されたセルを一纏めに括るOR処理、前記接続リンク情
報から不要な接続リンクを検出し、該検出された接続リ
ンクを削除するWK処理を実行し、 前記&処理、OR処理、及びWK処理のいずれも実行不
可能となった時に、前記接続リンク情報から関数型言語
に変換する時に必要となるテンポラリメモリを生成する
テンポラリ処理を実行した後、再度、前記&処理、OR
処理、WK処理を実行し、 前記&処理、OR処理、WK処理、及びテンポラリ処理
のいずれも実行不可能となった時に、前記接続リンク情
報から関数素子を抽出し、関数素子毎に予め定められた
規則で前記接続リンク情報を更新する関数素子処理を実
行した後、再度、前記&処理、OR処理、WK処理、テ
ンポラリ処理、及び関数素子処理を順次実行すること、 を特徴とする言語変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08669395A JP3385790B2 (ja) | 1995-04-12 | 1995-04-12 | 言語変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08669395A JP3385790B2 (ja) | 1995-04-12 | 1995-04-12 | 言語変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08286713A JPH08286713A (ja) | 1996-11-01 |
JP3385790B2 true JP3385790B2 (ja) | 2003-03-10 |
Family
ID=13894048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08669395A Expired - Fee Related JP3385790B2 (ja) | 1995-04-12 | 1995-04-12 | 言語変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3385790B2 (ja) |
-
1995
- 1995-04-12 JP JP08669395A patent/JP3385790B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08286713A (ja) | 1996-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5557774A (en) | Method for making test environmental programs | |
US5838949A (en) | System and method for execution-sequenced processing of electronic design simulation results | |
US8082141B2 (en) | Modelling and simulation method | |
EP0217922A1 (en) | NETWORK FOR SIMULATION OF COMPUTER FUNCTIONS OF VAST COMPUTER SYSTEMS. | |
EP0298206A2 (en) | Programming method using a Petri net and structured data processing system | |
JPH0950460A (ja) | Lsi設計データのファイル変換方法及び装置 | |
JP3385790B2 (ja) | 言語変換装置 | |
JPH0683900A (ja) | 系のシミュレーション方法およびシミュレーションシステム | |
JPH04239338A (ja) | マイクロプログラム網羅率測定方式 | |
US20020143748A1 (en) | Method and system for providing a generic scalar function | |
JP2982418B2 (ja) | 機能シミュレーション装置 | |
JP2699436B2 (ja) | パラメータ検査処理方法 | |
JP3111796B2 (ja) | シーケンスデータの生成方法 | |
Chang et al. | Design methodologies for simulation translators (with a case study) | |
JPH09153085A (ja) | フラッシュバック・シミュレータ | |
JPH0934750A (ja) | 試験用ソースプログラム生成システム | |
JP3601061B2 (ja) | 生産設備の情報処理装置 | |
CN117195791A (zh) | 电路仿真方法及设备 | |
JPH0350629A (ja) | 辞書システムにおけるデータ導出方式 | |
JPS63286947A (ja) | プロトコルの自動検証方式 | |
JPH05249882A (ja) | モジュール結合型シミュレーション方式 | |
JPH0868831A (ja) | 半導体試験装置及び半導体試験方法 | |
JPH10177487A (ja) | プロセッサの命令シミュレーション方法および命令シミュレーション・システム | |
JPH11338808A (ja) | ホームページ確認方法 | |
JPS63228236A (ja) | シンボルアドレス出力方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20021203 |
|
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: 20080110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100110 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |