図面 (/)

技術 シーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体

出願人 三洋電機株式会社
発明者 藤井善也
出願日 2012年3月29日 (8年10ヶ月経過) 出願番号 2012-078354
公開日 2013年10月7日 (7年4ヶ月経過) 公開番号 2013-206438
状態 未査定
技術分野 プログラマブルコントロ-ラ
主要キーワード 立上り検出回路 FPGAボード Dフリップフロップ 前値保持 入力論理和 シーケンス制御プログラム 論理積否定 ラダー回路図
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2013年10月7日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

HDL記述した制御論理を、PLCでも容易に実行可能とする。

解決手段

ハードウェア記述を取得するためのハードウェア記述取得手段10と、ハードウェア記述取得手段10で取得されたハードウェア記述から、論理合成によってネットリストを取得するためのネットリスト取得手段12と、ネットリスト取得手段12で取得されたネットリストから、組み合わせ回路を抽出し、該抽出された組み合わせ回路のネットリストの内、入力信号プログラマブルコントロール装置の入力信号名に、内部ノードビットデバイス名に、それぞれ置き換えるための置換手段14と、置換手段14で置き換えられた組み合わせ回路に対して、セルを実行可能な順に並び替えるためのソート手段15と、セルを、シーケンス制御ニーモニックに変換するためのニーモニック変換手段16とを備える。

概要

背景

生産設備等の制御には、一般的にシーケンス制御が用いられている。シーケンス制御においては、プログラマブルコントロール装置シーケンサー、あるいはプログラマブルロジックコントローラ(Programmable Logic Controller:PLC)等とも呼ばれ、以下「PLC」という。)上で動作するラダープログラムラダー回路図)により制御を行うことが一般的である。ラダープログラムは、比較的単純な制御の場合には、初心者でも容易に作成可能であるものの、構造化モジュール化がなされていないため、制御の論理が複雑になると、プログラミングデバッグが極めて困難となる。また、可読性が低く、他人が書いたプログラムの理解も困難である。

そこで、可読性に優れたハードウェア記述言語(Hardware Description Language:以下「HDL」という。)であるVerilog−HDL、VHDL等を用いて記述することが考えられる。しかしながら、一般のPLCではこのようなハードウェア記述を読み込ませることができないため、汎用のPLCを利用せずに、専用のFPGAボードを設計して、ハードウェア記述を論理合成して得た論理回路実装する必要が生じ、コストや時間が嵩むばかりか、FPGAボードとMESインターフェース等との接続が容易に行えなくなるという問題が生じる。このため従来は、専用ボードでなく汎用のPLCを用いる現場においては、PLCで読み込み可能な言語であるラダー図を用いてプログラムを作成していたが、この場合は上述の通り、制御の論理が複雑になると可読性が低下してプログラミング、デバッグが困難になるという問題が生じていた。

一方、ラダー回路図をHDLのプログラムに変換する方法は提案されている(例えば特許文献1)。この方法によれば、ラダー回路図から、VHDL等のHDLプログラムを得て、このHDLプログラムに基づきCPLDやFPGA等のハードウェアプログラム可能集積回路に対するプログラミングを行うことができる。しかしながら、この方法は専用のFPGAボードを起こして回路設計を行う方法には有効であるが、PLCを用いた汎用設計には適用できない。また該特許文献に記載されるのは、高度なHDLを用いることなく、ラダー回路図でもって容易にハードウェア的プログラム可能な集積回路に対するプログラミングが行えるようにすることを目的としており、HDLを積極的に用いたプログラミングとは対極に位置するものである。

概要

HDLで記述した制御論理を、PLCでも容易に実行可能とする。ハードウェア記述を取得するためのハードウェア記述取得手段10と、ハードウェア記述取得手段10で取得されたハードウェア記述から、論理合成によってネットリストを取得するためのネットリスト取得手段12と、ネットリスト取得手段12で取得されたネットリストから、組み合わせ回路を抽出し、該抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードビットデバイス名に、それぞれ置き換えるための置換手段14と、置換手段14で置き換えられた組み合わせ回路に対して、セルを実行可能な順に並び替えるためのソート手段15と、セルを、シーケンス制御のニーモニックに変換するためのニーモニック変換手段16とを備える。

目的

本発明の主な目的は、HDLで記述した制御論理を、PLCで実行可能としたシーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ハードウェア記述言語記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するためのシーケンス制御プログラム変換装置であって、ハードウェア記述を取得するためのハードウェア記述取得手段と、前記ハードウェア記述取得手段で取得されたハードウェア記述から、論理合成によってネットリストを取得するためのネットリスト取得手段と、前記ネットリスト取得手段で取得されたネットリストから、組み合わせ回路を抽出し、該抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードビットデバイス名に、それぞれ置き換えるための置換手段と、前記置換手段で置き換えられた組み合わせ回路に対して、セルを実行可能な順に並び替えるためのソート手段と、セルを、シーケンス制御ニーモニックに変換するためのニーモニック変換手段と、を備えることを特徴とするシーケンス制御プログラム変換装置。

請求項2

ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するためのシーケンス制御プログラム変換装置であって、ネットリストを取得するためのネットリスト取得手段と、取得されたネットリストから、組み合わせ回路を抽出し、該抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えるための置換手段と、前記置換手段で置き換えられた組み合わせ回路のネットリストに対して、セルを実行可能な順に並び替えるためのソート手段と、セルを、シーケンス制御のニーモニックに変換するためのニーモニック変換手段と、を備えることを特徴とするシーケンス制御プログラム変換装置。

請求項3

請求項1又は2に記載のシーケンス制御プログラム変換装置であって、前記置換手段が、取得されたハードウェア記述又はネットリストにフリップフロップが含まれる場合、これを切り出し、前記フリップフロップの信号名をプログラマブルコントロール装置のデバイス名に置き換え、前記ニーモニック変換手段が、フリップフロップをシーケンス制御のニーモニックに変換することを特徴とするシーケンス制御プログラム変換装置。

請求項4

請求項1から3のいずれか一に記載のシーケンス制御プログラム変換装置であって、前記置換手段が、取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出し、前記演算器の信号名をプログラマブルコントロール装置のデバイス名に置き換え、前記ニーモニック変換手段が、演算器をシーケンス制御のニーモニックに変換することを特徴とするシーケンス制御プログラム変換装置。

請求項5

請求項1から4のいずれか一に記載のシーケンス制御プログラム変換装置であって、前記置換手段が、取得されたハードウェア記述又はネットリストから、セル、assign文の信号名を抽出することを特徴とするシーケンス制御プログラム変換装置。

請求項6

ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換方法であって、ハードウェア記述を取得する工程と、取得されたハードウェア記述から、論理合成によってネットリストを取得する工程と、取得されたネットリストから、組み合わせ回路を抽出する工程と、抽出された組み合わせ回路の内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えると共に、組み合わせ回路に対して、必要に応じてセルを実行可能な順に並び替える工程と、セルを、シーケンス制御のニーモニックに変換する工程と、を含むことを特徴とするシーケンス制御プログラム変換方法。

請求項7

ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換方法であって、ネットリストを取得する工程と、取得されたネットリストから、組み合わせ回路を抽出する工程と、抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えると共に、組み合わせ回路のネットリストに対して、必要に応じてセルを実行可能な順に並び替える工程と、セルを、シーケンス制御のニーモニックに変換する工程と、を含むことを特徴とするシーケンス制御プログラム変換方法。

請求項8

請求項6又は7に記載のシーケンス制御プログラム変換方法であって、さらに、取得されたハードウェア記述又はネットリストに、フリップフロップが含まれる場合、これを切り出す工程と、前記フリップフロップの信号名をプログラマブルコントロール装置のデバイス名に置き換える工程と、を含むことを特徴とするシーケンス制御プログラム変換方法。

請求項9

請求項6から8のいずれか一に記載のシーケンス制御プログラム変換方法であって、さらに、取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出す工程と、前記演算器をシーケンス制御のニーモニックに置き換える工程と、を含むことを特徴とするシーケンス制御プログラム変換方法。

請求項10

請求項6から9のいずれか一に記載のシーケンス制御プログラム変換方法であって、さらに、取得されたハードウェア記述又はネットリストから、セル、assign文の信号名を抽出する工程を含むことを特徴とするシーケンス制御プログラム変換方法。

請求項11

ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換プログラムであって、ハードウェア記述を取得する機能と、取得されたハードウェア記述から、論理合成によってネットリストを取得する機能と、取得されたネットリストから、組み合わせ回路を抽出する機能と、抽出された組み合わせ回路の内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換える機能と、組み合わせ回路に対して、セルを実行可能な順に並び替える機能と、セルを、シーケンス制御のニーモニックに変換する機能と、をコンピュータに実現させることを特徴とするシーケンス制御プログラム変換プログラム。

請求項12

ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換プログラムであって、ネットリストを取得する機能と、取得されたネットリストから、組み合わせ回路を抽出する機能と、抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換える機能と、組み合わせ回路のネットリストに対して、セルを実行可能な順に並び替える機能と、セルを、シーケンス制御のニーモニックに変換する機能と、をコンピュータに実現させることを特徴とするシーケンス制御プログラム変換プログラム。

請求項13

請求項11又は12に記載のシーケンス制御プログラム変換プログラムであって、さらに、取得されたハードウェア記述又はネットリストに、フリップフロップが含まれる場合、これを切り出す機能と、前記フリップフロップの信号名をプログラマブルコントロール装置のデバイス名に置き換える機能と、をコンピュータに実現させることを特徴とするシーケンス制御プログラム変換プログラム。

請求項14

請求項11から13のいずれか一に記載のシーケンス制御プログラム変換プログラムであって、さらに、取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出す機能と、前記演算器をシーケンス制御のニーモニックに置き換える機能と、をコンピュータに実現させることを特徴とするシーケンス制御プログラム変換プログラム。

請求項15

請求項11から14のいずれか一に記載のシーケンス制御プログラム変換プログラムであって、さらに、取得されたハードウェア記述又はネットリストから、セル、assign文の信号名を抽出する機能をコンピュータに実現させることを特徴とするシーケンス制御プログラム変換プログラム。

請求項16

請求項11から15のいずれか一に記載されるプログラムを格納したコンピュータで読み取り可能な記録媒体

技術分野

0001

本発明は、ハードウェア記述言語で書かれたプログラムを、シーケンス制御プログラムに変換可能なシーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体に関する。

背景技術

0002

生産設備等の制御には、一般的にシーケンス制御が用いられている。シーケンス制御においては、プログラマブルコントロール装置シーケンサー、あるいはプログラマブルロジックコントローラ(Programmable Logic Controller:PLC)等とも呼ばれ、以下「PLC」という。)上で動作するラダープログラムラダー回路図)により制御を行うことが一般的である。ラダープログラムは、比較的単純な制御の場合には、初心者でも容易に作成可能であるものの、構造化モジュール化がなされていないため、制御の論理が複雑になると、プログラミングデバッグが極めて困難となる。また、可読性が低く、他人が書いたプログラムの理解も困難である。

0003

そこで、可読性に優れたハードウェア記述言語(Hardware Description Language:以下「HDL」という。)であるVerilog−HDL、VHDL等を用いて記述することが考えられる。しかしながら、一般のPLCではこのようなハードウェア記述を読み込ませることができないため、汎用のPLCを利用せずに、専用のFPGAボードを設計して、ハードウェア記述を論理合成して得た論理回路実装する必要が生じ、コストや時間が嵩むばかりか、FPGAボードとMESインターフェース等との接続が容易に行えなくなるという問題が生じる。このため従来は、専用ボードでなく汎用のPLCを用いる現場においては、PLCで読み込み可能な言語であるラダー図を用いてプログラムを作成していたが、この場合は上述の通り、制御の論理が複雑になると可読性が低下してプログラミング、デバッグが困難になるという問題が生じていた。

0004

一方、ラダー回路図をHDLのプログラムに変換する方法は提案されている(例えば特許文献1)。この方法によれば、ラダー回路図から、VHDL等のHDLプログラムを得て、このHDLプログラムに基づきCPLDやFPGA等のハードウェアプログラム可能集積回路に対するプログラミングを行うことができる。しかしながら、この方法は専用のFPGAボードを起こして回路設計を行う方法には有効であるが、PLCを用いた汎用設計には適用できない。また該特許文献に記載されるのは、高度なHDLを用いることなく、ラダー回路図でもって容易にハードウェア的プログラム可能な集積回路に対するプログラミングが行えるようにすることを目的としており、HDLを積極的に用いたプログラミングとは対極に位置するものである。

先行技術

0005

特開2003−50609号公報

発明が解決しようとする課題

0006

本発明は、従来のこのような問題点を解決するためになされたものである。本発明の主な目的は、HDLで記述した制御論理を、PLCで実行可能としたシーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体を提供することにある。

課題を解決するための手段及び発明の効果

0007

上記目的を達成するために、本発明の第1の側面に係るシーケンス制御プログラム変換装置によれば、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するためのシーケンス制御プログラム変換装置であって、ハードウェア記述を取得するためのハードウェア記述取得手段と、前記ハードウェア記述取得手段で取得されたハードウェア記述から、論理合成によってネットリストを取得するためのネットリスト取得手段と、前記ネットリスト取得手段で取得されたネットリストから、組み合わせ回路を抽出し、該抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードビットデバイス名に、それぞれ置き換えるための置換手段と、前記置換手段で置き換えられた組み合わせ回路に対して、セルを実行可能な順に並び替えるためのソート手段と、セルを、シーケンス制御のニーモニックに変換するためのニーモニック変換手段と、を備えることができる。上記構成により、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置等で読み込み可能なニーモニックに変換することができ、シーケンス制御プログラムとして利用できる。

0008

また、第2の側面に係るシーケンス制御プログラム変換装置によれば、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するためのシーケンス制御プログラム変換装置であって、ネットリストを取得するためのネットリスト取得手段と、取得されたネットリストから、組み合わせ回路を抽出し、該抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えるための置換手段と、前記置換手段で置き換えられた組み合わせ回路のネットリストに対して、セルを実行可能な順に並び替えるためのソート手段と、セルを、シーケンス制御のニーモニックに変換するためのニーモニック変換手段とを備えることができる。

0009

さらに、第3の側面に係るシーケンス制御プログラム変換方法によれば、前記置換手段が、取得されたハードウェア記述又はネットリストにフリップフロップが含まれる場合、これを切り出し、前記フリップフロップの信号名をプログラマブルコントロール装置のデバイス名に置き換え、前記ニーモニック変換手段が、フリップフロップをシーケンス制御のニーモニックに変換することができる。

0010

さらにまた、第4の側面に係るシーケンス制御プログラム変換装置によれば、前記置換手段が、取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出し、前記演算器の信号名をプログラマブルコントロール装置のデバイス名に置き換え、前記ニーモニック変換手段が、演算器をシーケンス制御のニーモニックに変換することができる。

0011

さらにまた、第5の側面に係るシーケンス制御プログラム変換装置によれば、前記置換手段が、取得されたハードウェア記述又はネットリストから、セル、assign文の信号名を抽出することができる。

0012

さらにまた、第6の側面に係るシーケンス制御プログラム変換方法によれば、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換方法であって、ハードウェア記述を取得する工程と、取得されたハードウェア記述から、論理合成によってネットリストを取得する工程と、取得されたネットリストから、組み合わせ回路を抽出する工程と、抽出された組み合わせ回路の内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えると共に、組み合わせ回路に対して、必要に応じてセルを実行可能な順に並び替える工程と、セルを、シーケンス制御のニーモニックに変換する工程と、を含むことができる。これにより、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置等で読み込み可能なニーモニックに変換することができ、シーケンス制御プログラムとして利用できる。

0013

さらにまた、第7の側面に係るシーケンス制御プログラム変換方法によれば、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換方法であって、ネットリストを取得する工程と、取得されたネットリストから、組み合わせ回路を抽出する工程と、抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えると共に、組み合わせ回路のネットリストに対して、必要に応じてセルを実行可能な順に並び替える工程と、セルを、シーケンス制御のニーモニックに変換する工程と、を含むことができる。

0014

さらにまた、第8の側面に係るシーケンス制御プログラム変換方法によれば、さらに取得されたハードウェア記述又はネットリストに、フリップフロップが含まれる場合、これを切り出す工程と、前記フリップフロップの信号名をプログラマブルコントロール装置のデバイス名に置き換える工程と、を含むことができる。

0015

さらにまた、第9の側面に係るシーケンス制御プログラム変換方法によれば、さらに取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出す工程と、前記演算器をシーケンス制御のニーモニックに置き換える工程と、を含むことができる。これにより、プログラマブルコントロール装置が有する演算器を有効活用でき、効率よくシーケンス制御を実行できる利点が得られる。

0016

さらにまた、第10の側面に係るシーケンス制御プログラム変換方法によれば、さらに取得されたハードウェア記述又はネットリストから、セル、assign文の信号名を抽出する工程を含むことができる。

0017

さらにまた、第11の側面に係るシーケンス制御プログラム変換プログラムによれば、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換プログラムであって、ハードウェア記述を取得する機能と、取得されたハードウェア記述から、論理合成によってネットリストを取得する機能と、取得されたネットリストから、組み合わせ回路を抽出する機能と、抽出された組み合わせ回路の内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換える機能と、組み合わせ回路に対して、セルを実行可能な順に並び替える機能と、セルを、シーケンス制御のニーモニックに変換する機能と、をコンピュータに実現させることができる。上記構成により、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置等で読み込み可能なニーモニックに変換することができ、シーケンス制御プログラムとして利用できる。

0018

さらにまた、第12の側面に係るシーケンス制御プログラム変換プログラムによれば、ハードウェア記述言語で記述された制御論理を、プログラマブルコントロール装置で実行可能なシーケンス制御プログラムに変換するシーケンス制御プログラム変換プログラムであって、ネットリストを取得する機能と、取得されたネットリストから、組み合わせ回路を抽出する機能と、抽出された組み合わせ回路のネットリストの内、入力信号をプログラマブルコントロール装置の入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換える機能と、組み合わせ回路のネットリストに対して、セルを実行可能な順に並び替える機能と、セルを、シーケンス制御のニーモニックに変換する機能と、をコンピュータに実現させることができる。

0019

さらにまた、第13の側面に係るシーケンス制御プログラム変換プログラムによれば、さらに取得されたハードウェア記述又はネットリストに、フリップフロップが含まれる場合、これを切り出す機能と、前記フリップフロップの信号名をプログラマブルコントロール装置のデバイス名に置き換える機能と、をコンピュータに実現させることができる。

0020

さらにまた、第14の側面に係るシーケンス制御プログラム変換プログラムによれば、さらに取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出す機能と、前記演算器をシーケンス制御のニーモニックに置き換える機能と、をコンピュータに実現させることができる。これにより、プログラマブルコントロール装置が有する演算器を有効活用でき、効率よくシーケンス制御を実行できる利点が得られる。

0021

さらにまた、第15の側面に係るシーケンス制御プログラム変換プログラムによれば、さらに、取得されたハードウェア記述又はネットリストから、セル、assign文の信号名を抽出する機能をコンピュータに実現させることができる。

0022

さらにまた第16の側面に係るコンピュータで読み取り可能な記録媒体は、上記プログラムを格納したものである。記録媒体には、CD−ROM、CD−R、CD−RWやフレキシブルディスク磁気テープ、MO、DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW、DVD+RW、Blu−ray、HD DVD(AOD)等の磁気ディスク光ディスク光磁気ディスク半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記録媒体にはプログラムを記録可能な機器、例えば上記プログラムがソフトウェアファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウェアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、ASIC)等のハードウェア、又はプログラムソフトウェアとハードウェアの一部の要素を実現する部分的ハードウェアモジュールとが混在する形式で実現してもよい。

図面の簡単な説明

0023

本発明の一実施の形態に係るシーケンス制御プログラム変換装置を示すブロック図である。
実施例1に係る、ハードウェア記述からシーケンス制御プログラムへの変換手順の詳細を示すフローチャートである。
ハードウェア記述例を示す図である。
ネットリストの例を示す図である。
回路図の例を示す図である。
セル、assign文の切り出し結果を示す図である。
ネットリストのセル、assign文における信号名からプログラマブルコントロール装置のデバイス名への置き換え対応関係を示す表である。
ネットリストのセル、assign文における信号名からデバイス名への置き換え結果を示す図である。
セル、assign文の並び替え結果を示す図である。
セル、またはassign文からニーモニックへの変換規則を示す表である。
セル、またはassign文の回路図とラダー図の対応関係を示す表である。
セル、assign文からニーモニックへの変換結果を示す図である。
セル、assign文のラダー図を示す図である。
フリップフロップの切り出し結果を示す図である。
ネットリストのフリップフロップにおける信号名からデバイス名への置き換え結果を示す図である。
フリップフロップからニーモニックへの置き換え結果を示す図である。
フリップフロップのラダー図を示す図である。
プログラム終了命令のニーモニックを示す図である。
ニーモニックの統合結果を示す図である。
全体のラダー図を示す図である。
実施例2に係る、演算器を有するハードウェア記述からシーケンス制御プログラムへの変換手順の詳細を示すフローチャートである。
加算器を使用するハードウェア記述の例を示す図である。
ネットリストの一例を示す図である。
ネットリストの一例を示す図である。
ネットリストの一例を示す図である。
全体の回路図の一例を示す図である。
立上り検出回路の一例を示す回路図である。
選択回路の一例を示す回路図である。
リセット回路の一例を示す回路図である。
累積加算レジスタの一例を示す回路図である。
セレクタとして機能する複合ゲートを示す回路図である。
セル、演算器、assign文の切り出し結果を示す図である。
ネットリストのセル、演算器、assign文における信号名からプログラマブルコントロール装置のデバイス名への置き換えの対応関係を示す表である。
ネットリストのセル、演算器、assign文における信号名からデバイス名への置き換え結果を示す図である。
セル、演算器、assign文の並び替え結果を示す図である。
加算器からニーモニックへの変換結果を示す図である。
加算器からニーモニックへの変換結果を示す図である。
加算器からニーモニックへの変換結果を示す図である。
加算器のラダー図である。
加算器のラダー図である。
加算器のラダー図である。
加算器のラダー図である。
セルからニーモニックへの変換結果を示す図である。
セルからニーモニックへの変換結果を示す図である。
セルからニーモニックへの変換結果を示す図である。
フリップフロップ切り出し結果を示す図である。
ネットリストのフリップフロップにおける信号名からデバイス名への置き換え結果を示す図である。
フリップフロップからニーモニックへの置き換え結果を示す図である。
プログラム終了命令のニーモニックを示す図である。

実施例

0024

以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するためのシーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体を例示するものであって、本発明はシーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体を以下のものに特定しない。また実施の形態に記載されている構成部材の寸法、材質、形状、その相対的配置等は、特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。また、一部の実施例、実施形態において説明された内容は、他の実施例、実施形態等に利用可能なものもある。
(実施の形態1)

0025

以下、本発明の一実施の形態に係るシーケンス制御プログラム変換装置100を、図1のブロック図に基づいて説明する。この図に示すシーケンス制御プログラム変換装置100は、ハードウェア記述言語で記述された制御論理を、シーケンス制御プログラムに自動的に変換するシーケンス制御プログラム変換装置100である。具体的には、ハードウェア記述を取得するためのハードウェア記述取得手段10と、ハードウェア記述から論理合成によって、あるいは直接ネットリストを取得するためのネットリスト取得手段12と、組み合わせ回路を抽出し、抽出された組み合わせ回路の内、入力信号をPLCの入力信号名に、内部ノードをビットデバイス名に、それぞれ置き換えるための置換手段14と、組み合わせ回路に対して、セルを実行可能な順に並び替えるためのソート手段15と、セル等を、シーケンス制御のニーモニックに変換するためのニーモニック変換手段16とを備える。このシーケンス制御プログラム変換装置100を用いて、ハードウェア記述言語で記述された制御論理を、PLC等で読み込み可能なニーモニックに変換することで、シーケンス制御プログラムとして利用できる。また置換手段14が、取得されたハードウェア記述又はネットリストに演算器が含まれる場合、これを切り出し、演算器の信号名をプログラマブルコントロール装置のデバイス名に置き換え、ニーモニック変換手段16が、演算器をシーケンス制御のニーモニックに変換してもよい。これによって、PLCが有する演算器を有効活用でき、効率よくシーケンス制御を実行できる利点が得られる。特に変換後のラダープログラムが長大になることを避け、演算器を利用してPLCが有する機能を効率よく発揮できる。さらに置換手段は、ネットリスト取得手段12で取得されたネットリストから、組み合わせ回路を抽出するための組み合わせ回路抽出手段を含むこともできる。
(実施例1:演算器を使用しない変換手順の詳細)

0026

次に実施例1として、以上のハードウェア記述からシーケンス制御プログラムへの変換手順の詳細を、図2のフローチャートに示す。以下、この変換手順の詳細を、図2図20に基づいて説明する。なお、以下の例ではハードウェア記述言語としてVerilog−HDLを用いているが、本発明はこれに限らず、例えばVHDLやEDIF等を利用することもできる。まず図2のステップS1301において、ハードウェア記述を作成する。ここで用いるハードウェア記述例を、図3に示す。図3のハードウェア記述は、入力IN0が0の場合には、2ビットレジスタCREGの値を前値保持し、IN0が1の場合には、CREGをカウントアップするものである。

0027

次にステップS1302において、ハードウェア記述を論理合成し、シングルビット化したネットリストを得る。ここで得られるネットリストの例を、図4に示す。ここではシングルビット化しているため、ハードウェア記述における2ビットの出力Yは、ネットリストにおいて、1ビットずつのY_1_、Y_0_に置き換わっている。セルOR3は3入力論理和、セルINV1は論理否定、セルAND2は2入力論理積、セルAND3は3入力論理積、セルXOR2は2入力排他的論理和、セルDFFはDフリップフロップである。参考までに、図4のネットリストに対応する回路図を、図5に示す。

0028

さらにステップS1303において、ステップS1302で得たネットリストから、セル、及びassign文を切り出す。ここで図4のネットリストから、セル、及びassign文を切り出した結果を、図6に示す。

0029

さらにステップS1304において、ステップS1303の結果において、セル、及びassign文の信号名をデバイス名に置き換える。ここでは、図6で得られた結果において、ネットリストのセル、及びassign文の信号名を、PLCのデバイス名に置き換える。具体的には、ネットリストのリセット信号をPLCの入力デバイスに、ネットリストのクロックリセット以外の入力をPLCの入力デバイスに、ネットリストの出力をPLCの出力デバイスに、ネットリストのフリップフロップの出力のうち、直接、回路全体の出力になっていないものをPLCのビットデバイスに、ネットリストにおける上記以外の内部ノードをPLCのビットデバイスに、それぞれ置き換える。具体的な置き換えの対応関係を、図7の表に示す。また、この置き換え結果を図8に示す。

0030

さらにステップS1305において、ステップS1304の結果を、実行可能な順に並び替える。ここでは、図8の結果を、PLCで実行可能な順に並び替える。具体的には、ネットリストの入力のうち、クロック信号、リセット信号以外から変換されたデバイス、及びネットリストのフリップフロップの出力から変換されたデバイスについては、値が確定しているものとして、セル、及びassign文の入力(assign文の場合は右辺を入力と見なす)がすべて確定しているものから順に選択して並べ、選択されたセル、及びassign文の出力(assign文の場合は左辺を出力と見なす)は確定したものとし、同様に順に選択、並び替えを繰り返す。この並び替えの結果を、図9に示す。

0031

さらにステップS1306において、ステップS1305の結果のセル、及びassign文を、ニーモニックに置き換える。ここでは、図9の結果のセル、assign文をニーモニックに置き換えていく。ここの置き換えの変換規則を、図10の表に示す。ここで、LDは格納命令、LDIは論理反転の格納命令、ANDは論理積命令、ANIは論理積否定命令、ORは論理和命令、OUT出力命令、ORBは並列接続命令である。また参考までに、回路図とラダー図の関係を図11に示す。変換規則は、ネットリストに現れ得るすべてのセルに対して、予め用意しておく。このようにして得られたニーモニックへの変換結果を、図12に示す。また図12のニーモニックのリストに対応するラダー図を、図13に示す。

0032

次にステップS1307において、ステップS1302で得たネットリストから、フリップフロップを切り出す。ここでは、図4のネットリストからフリップフロップを切り出した結果を、図14に示す。

0033

さらにステップS1308において、ステップS1307で得た結果において、信号名をデバイス名に置き換える。ここでは、図14で得られた結果の信号名を、ビットデバイスに置き換えていく。この置き換えにおいても、上述した図7の対応関係を用いる。このようにして得られた置き換え結果を、図15に示す。

0034

さらにまたステップS1309において、ステップS1308の結果を、ニーモニックに置き換える。ここでは、図15の結果をニーモニックに置き換えていき、得られた置き換え結果を図16に示す。ここで、図16のニーモニックのリストに対応するラダー図を、図17に示す。

0035

最後にステップS1310において、ステップS1306の結果、ステップS1309の結果を順に連接し、最後にプログラム終了命令を付加する。ここでは、最終的にニーモニックのリスト全体を得る。具体的には、図12図16、及びプログラム終了命令のニーモニックである図18を順に連接したものが、図19のニーモニックのリスト全体となる。また、図19のニーモニックのリストに対応するラダー図を、図20に示す。

0036

このようにして、ハードウェア記述言語で記述された制御論理を、ラダープログラムに変換することができる。この結果、シーケンス制御プログラムをハードウェア記述やシステムレベル記述で行い、抽象度の高いレベルでの設計を生かしつつ、PLC等の汎用性の高いシステム構築でき、生産性を高めることができる。また可読性の高いプログラム記述を利用できる結果、設計ミスを低減させることも期待できる。

0037

以上の手順では、先に置換を行った後に並び替えを行っているが、この順序入れ替えても同様の効果が得られることはいうまでもない。また、以上の手順ではネットリストからステップS1303で先にセル及びassign文を切り出し、置換やソートを行った上で、ステップS1307以降でフリップフロップの切り出し等を行い、これらを合成しているが、例えば先にフリップフロップの切り出し等を行い、次いでセル等の切り出し等を行ってもよいし、あるいはこれらの処理を並列的にあるいは同時に行うこともできる。さらに、上記の例ではフリップフロップを含む例について説明したが、フリップフロップを含まない組み合わせ回路のみのハードウェア記述やネットリストに対しても、同様の処理を行えることはいうまでもない。
(実施例2:演算器を使用する変換手順の詳細)

0038

さらに本発明は、演算器を使用したハードウェア記述に対しても、シーケンス制御プログラムへの変換を行うことができる。このような例を実施例2として、図21のフローチャートに示す。以下、この変換手順の詳細を、図21図49に基づいて説明する。

0039

まず図21のステップS3601において、演算器をブラックボックスサブモジュールとして配置したハードウェア記述を作成する。ここでハードウェア記述の一例を、図22に示す。図22において、ADDER16は16ビット加算器であり、ハードウェア記述においてサブモジュールとして配置している。ただし、サブモジュールの実体の記述はしておらず、ブラックボックスである。ADDER16は、16ビットの入力IN0とIN1、及び16ビットの出力Yを有する。

0040

次にステップS3602において、ハードウェア記述を論理合成し、シングルビット化したネットリストを得る。このステップS3602で得られるネットリストの例を図23図25に示す。ここではシングルビット化しているため、ハードウェア記述における16ビットの入力ADDDATAは、ネットリストにおいて1ビットずつのADDDATA_15_からADDDATA_0_に置き換わっている。また出力ACCDATAも同様である。さらにサブモジュールとして配置した16ビット加算器についても、ハードウェア記述における16ビットの入力IN0が、ネットリストにおいて、1ビットずつのIN0_15_からIN0_0_に置き換わっている。なお入力IN1、出力Yも同様である。参考のため、図23図25のネットリストに対応する回路図を、図26図30に示す。図26は回路図全体を示している。また図26の回路図中における、立上り検出回路、選択回路、リセット回路、及び累積加算レジスタを、それぞれ図27図28図29図30に示す。図28に示す選択回路の各セルは、セレクタであり、図31に示すような複合ゲートの機能を有する。

0041

さらにステップS3603において、ステップS3602で得たネットリストから、セル、演算器、及びassign文を切り出す。この結果を、図32に示す。なおこの例では、ネットリストにassign文が含まれていないため、セルと演算器のみが切り出されている。

0042

さらにステップS3604において、ステップS3603の結果のセル、演算器、及びassign文の信号名をデバイス名に置き換える。ここでは、図32で得られた結果において、ネットリストのセル、演算器、及びassign文の信号名を、それぞれPLCのデバイス名に置き換えていく。具体的には、ネットリストのリセット信号をPLCの入力デバイスに、ネットリストのクロック、リセット以外の入力をPLCの入力デバイスに、ネットリストの出力をPLCの出力デバイスに、ネットリストのフリップフロップの出力のうち、直接、回路全体の出力になっていないものをPLCのビットデバイスに、またネットリストにおける上記以外の内部ノードをPLCのビットデバイスに、それぞれ置き換える。具体的な置き換えの対応関係を、図33の表に示す。また、置き換えた結果を図34に示す。

0043

ステップS3605において、ステップS3604の結果を、実行可能な順に並び替える。ここでは、図34の結果を、PLCで実行可能な順に並び替えていく。具体的には、ネットリストの入力のうち、クロック信号、リセット信号以外から変換されたデバイス、及びネットリストのフリップフロップの出力から変換されたデバイスについては、値が確定しているものとして、セル、演算器、及びassign文の入力(assign文の場合は右辺を入力と見なす)がすべて確定しているものから順に選択して並べ、選択されたセル、演算器、及びassign文の出力(assign文の場合は左辺を出力と見なす)は確定したものとし、同様に順に選択、並び替えを繰り返す。このようにして並び替えた結果を、図35に示す。

0044

ステップS3606において、ステップS3605の結果のセル、演算器、及びassign文を、ニーモニックに置き換える。ここでは、図35の結果において、セル、演算器、assign文を、それぞれニーモニックに置き換えていく。まず、演算器である16ビット加算器ADDER16について説明する。16ビットの入力IN0_15_からIN0_0_に接続されている各ビットデバイスを、16ビットの連続するビットデバイスに転送する。これを行うためのニーモニックのリストを、図36に示す。16ビットの入力IN1_15_からIN1_0_についても同様であり、図37に示す。また図38のK4M900は、ビットデバイスM900より、16進数で4桁分、すなわち16ビット分を表し、具体的にはビットデバイスM915からM900である。さらに図38の最初のニーモニックにより、図36転送先となっていたビットデバイスM915からM900までの16ビットを、ワードデバイスD900に転送する。図38の2つ目のニーモニックにより、ビットデバイスM931からM916までの16ビットを、ワードデバイスD901に転送する。図38の3つ目のニーモニックにより、D900とD901の加算を行い、結果をD900に格納する。図38の4つ目のニーモニックにより、ワードデバイスD900を、ビットデバイスM915からM900までの16ビットに転送する。図38の5つ目のニーモニック以降で、ビットデバイスM915からM900までの16ビットを、ADDER16の16ビットの出力Y_15_からY_0_に接続されている各ビットデバイスに転送する。参考までに、図36図38のニーモニックのリストに対応するラダー図を、図39図42に示す。

0045

次に、セル及びassign文の置き換えについて説明する。セル及びassign文の置き換えは、演算器を使用しない実施例1と同様である。具体的には、図2のステップS1306と同様であり、ネットリストに現れ得るすべてのセルに対して予め変換規則を用意しておき、セル及びassign文をニーモニックに置き換える。本実施例では、ネットリストにassign文が含まれないため、セルのみが置き換えられる。セルからニーモニックへの変換結果を、図43図45に示す。以上、図36図38図43図45を順に連接したものがステップS3606の結果となる。

0046

ステップS3607において、ステップS3602で得たネットリストから、フリップフロップを切り出す。ここで、図23図25のネットリストからフリップフロップを切り出した結果を、図46に示す。

0047

ステップS3608において、ステップS3607で得た結果において、信号名をデバイス名に置き換える。ここでは、図46で得られた結果の信号名を、ビットデバイスに置き換える。この置き換えでも、上述した図33の対応関係を用いる。この置き換えの結果を、図47に示す。

0048

ステップS3609において、ステップS3608の結果を、ニーモニックに置き換える。ここでは、図47の結果をニーモニックに置き換えていき、このようにして得られた置き換え結果を図48に示す。

0049

最後に、ステップS3610において、ステップS3606の結果、ステップS3609の結果を順に連接し、最後にプログラム終了命令を付加する。このステップS3610で、最終的にニーモニックのリスト全体を得る。具体的には、図36図38図43図45図48、及びプログラム終了命令のニーモニックである図49を順に連接したものが、ニーモニックのリスト全体となる。このようにして、演算器を用いる場合でもハードウェア記述からシーケンス制御プログラムへの変換を行える。

0050

以上のようにして、設計対象システムの論理が複雑になっても、制御論理をハードウェア記述言語で記述することにより、直接ラダープログラムを作成する従来手法に比べて論理の可読性が高くなり、設計上のミスを防止することが可能となる。また仕様変更が発生した場合には、可読性の高いハードウェア記述に戻って修正すればよく、作業効率が高い。さらに、ハードウェア記述言語による設計パラダイム確立されている各種の検証手法が適用可能となる。例えば、ハードウェア記述に対するアサーション手法を適用することにより、制御論理において満足させたい仕様の検証を行うことが可能となる。また、制御装置として、生産設備等で汎用的に使用されているPLCをそのまま使用することができ、FPGAボード等へ置き換える必要がないため、PLCと組み合わせて使用される他のユニット(MESインターフェース等)との接続が困難となることがない。

0051

本発明に係るシーケンス制御プログラム変換装置、シーケンス制御プログラム変換方法、シーケンス制御プログラム変換プログラム及びコンピュータで読取可能な記録媒体は、FA等の自動制御の分野において使用される、PLC用のプログラム開発装置や、ラダープログラム作成ソフトウェアなどに好適に利用できる。

0052

100…シーケンス制御プログラム変換装置
10…ハードウェア記述取得手段
12…ネットリスト取得手段
14…置換手段
15…ソート手段
16…ニーモニック変換手段

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • ファナック株式会社の「 制御装置」が 公開されました。( 2020/12/17)

    【課題】複数の制御装置の制御周期を同期させる。【解決手段】通信路を介して互いに接続される複数の制御装置は、内蔵時計を、前記通信路を介して同期させる同期部と、内蔵時計に基づいて、PPS信号を発生させるP... 詳細

  • オムロン株式会社の「 制御システム」が 公開されました。( 2020/12/17)

    【課題】制御対象の動作状態とインシデント対応動作との関係が任意に設計された制御システムを提供する。【解決手段】制御システム10は、制御対象500との間で遣り取りする信号に基づいて内部状態値を周期的に更... 詳細

  • オムロン株式会社の「 サポート装置およびサポートプログラム」が 公開されました。( 2020/12/17)

    【課題】シーケンスプログラム開発を効果的に支援することが可能な環境を提供する。【解決手段】制御装置で実行されるシーケンスプログラムの開発を支援するサポート装置200は、サポート装置に対する操作を受付け... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ