■平成16年度 修士論文

▼修士論文一覧

発表者名 タイトル概要 (1ページ) 本文
日本語英語
pdfpdf pdf
池田 亮 PLCプログラムのハードウェア変換ツールに関する研究 76KB pdf 92KB pdf 248KB pdf
八反田 一宏 プログラムの命令列表現の自由度に関する研究 92KB pdf 112KB pdf 300KB pdf
山本 浩司 FPGAによる実時間制御システムに関する研究 72KB pdf 96KB pdf 396KB pdf

▼修士論文アブストラクト

● 池田 亮

産業用機械などのシーケンス制御には,Programmable Logic Controller (PLC)と呼ばれる制御用計算機が広く利用されている.PLCを用いると制御論理を柔軟に変更できるが,大規模な制御ではPLCの処理速度不足が問題になる場合がある.

Field Programmable Gate Array (FPGA)は,論理構成を何度でも変更可能なLSIである.PLCで実現していた制御をFPGAでハードワイヤード化すれば,柔軟性を保ったまま処理速度を改善することが可能になる.

本研究では,企業から入手したFX2N PLC用のPLCプログラム(サンプル)を分析し,ハードウェアへの変換手法を検討・実装する.合わせて,PLCプログラムを含む制御論理全体をFPGAで実現するための枠組みを示す.同じ制御論理をPLC上とFPGA上で実現した場合に,どの程度の性能改善が得られるかも評価する.

PLCプログラムの記述には,ラダー図が広く利用される.ラダー図表現における処理の最小単位を段と呼び,段は条件部と処理部から構成される.処理部には,出力命令以外にデータ処理命令などが設定可能である.

サンプルでは,ビット演算・データ転送・立上り/立下り検出・算術演算・タイマなど20命令程度が利用されるため,これらのハードウェアへの変換を検討した.命令のオペランドとしては,スイッチ入力X・コイル出力Y・内部リレーM・データレジスタD・定数K・タイマTを想定した.

枠組みの構築のため,検討した変換手法に基づいてVHDL変換ツール,インタフェース生成ツールおよびPLC実行時間計算ツールを実装した.ツールを利用した処理フローには,制御論理をFPGAによって実現するものと,同じ制御論理についてPLCとFPGAとの実行時間を比較するものの2つのルートがある.

ツールが正しい処理を行えることを,モータの正逆転制御論理を例に用いて確認した.また,A社と八洲熱学のサンプルについて,PLCとFPGAの比較評価を行った.評価には,三菱電機製のGX WorksとGX Converter,アルテラ社製のQuartus II 4.0を用いた.デバイスアーキテクチャにはAPEX20KEを指定した.これによって,限定的ながらFPGAによる性能改善が確認された.

今後は,より多くのサンプルについて検討を行いたい.また,より多くの命令をサポートするようにVHDL変換ツールを拡張するとともに,さらなる性能向上を目指したい.

● 八反田 一宏

プログラムは命令列として実現されるが,命令列表現は一意に定まらない.同じ機能を実現することができれば,どのような命令列でもユーザにとって等価である.本研究では,このように同じ機能を実現する命令列を「機能等価な命令列」と呼び,1つのプログラムに対する機能等価な命令列の数を「命令列表現の自由度」と呼ぶ.このような自由度は電子透かしや情報隠蔽に利用できる.

本研究の目的は,命令列中の命令とデータの位置を変更することで得られる自由度を定量的に測定することである.しかし機能等価な命令列を得る方法は多数あるため,全ての自由度を数え上げることは難しい.そこで本研究では,(1)グローバル変数の配置順序,(2)ローカル変数の配置順序,(3)基本ブロックの配置順序,(4)基本ブロック内の命令の配置順序,の4種に関して自由度を測定する.さらにベンチマークプログラムを用いて,配置順序変更前後の実行性能とサイズの変化を測定する.全ての測定はIntel x86命令セットのELF形式オブジェクトで行い,オブジェクト生成にはGCC 2.95.3とbinutils 2.13を用いた.

4手法による命令列表現の自由度を測定した結果,命令の配置順序による自由度のほうが変数の配置順序による自由度よりも多くの配置自由度を持つことがわかった.これは,プログラム中には変数の数よりも命令の数のほうが多いことが原因である.

各手法により表現可能な自由度を情報量に換算したものと,オブジェクトファイルサイズの間には高い相関関係がみられた.基本ブロックの順序変更,ならびに基本ブロック内の命令の順序変更では,オブジェクトファイルサイズの0.3%の情報密度(オブジェクトファイルサイズあたりの埋め込み可能情報量)で近似することができた.グローバル変数の順序変更では,0.02%の情報密度で近似することができたが,ローカル変数の順序変更では情報を埋め込めなかった.これは,プログラムを最適化することによって,ローカル変数の自由度がレジスタの自由度に編入されてしまうことが原因である.レジスタの自由度の検討は,今後の課題である.

配置順序を変更することでオブジェクトファイルサイズや性能値に影響が現れる可能性があるため,3種類のベンチマークプログラムを用い平均性能値とオブジェクトファイルサイズを比較した.基本ブロックの順序変更では,実行順序保持のために挿入したジャンプ命令のため,最大6.1%の性能低下がみられた.他の手法では,グローバル変数の順序変更,ローカル変数の順序変更,基本ブロック内の命令順序変更により,それぞれ最大1.7%,1.5%,3.1%性能が低下した.

これらの手法を適用したベンチマークプログラムについて,オブジェクトファイルサイズの変化を測定した.基本ブロックの順序変更では最大5.1%増加し,そのほかの手法では変化はなかった.これらの性能低下やサイズの増加は,基本ブロックの実行順序を保持するために挿入した無条件分岐命令によるものである.

● 山本 浩司

産業用機械などのシーケンス制御にはプログラマブル・ロジック・コントローラ (PLC)が多く用いられている. しかし,規模の拡大,要求精度の高まりに伴ってPLCの速度不足が問題になりつつある. また,PLCプログラムはソフトウェアであるため解析やコピーが容易で,技術情報の流出やコピー商品の出現などの問題を招くことがあった.

近年,FPGA (Field Programmable Gate Array)を用いて制御プログラムを論理回路化する手法 (ハードワイヤード化)が検討されはじめた. FPGAはプログラム可能なLSIであるため生産現場で任意に論理を変更することができ,1チップで数十〜数百万ゲートを集積しているため大規模な制御論理も小面積で実装することができる. 部品点数の削減による低コスト化も期待できるため,高性能を必要とする大規模システムだけでなく,安価な小規模システムにも応用可能である. ハードウェアであるFPGAの解析はPLCプログラムの解析より困難であるため,制御論理の秘匿性も高い. 本研究では,制御システムを実現するための論理ライブラリを整備し,実際の制御回路をFPGA上に実装・評価することを目的とする.

PLCプログラムはラダー図で記述されることが多く,ラダー図はリレー回路が原型であるため論理回路で実現可能である. しかし,現在のPLCは一種の計算機であるため,単純な論理回路だけでは実現することができない. また,制御システムはPLC以外に多くの周辺回路から構成されるため,周辺回路までFPGA上に実装しなければ実用的システムを構成することができない. 多く用いられる制御論理も,周辺回路と共にライブラリとして整備する必要がある.

市川研究室では,平成15〜16年度に八洲熱学(株)との共同研究で整列巻取機を試作した. 本研究では,実際の制御論理の例として,この整列巻取機の制御論理の一部をFPGAに実装・評価した. 論理をVHDLで記述し,Altera社のQuartusII4.0でFPGAの論理を設計した. ターゲットデバイスにはAltera社のEP20K200EFC484-2Xを指定した. その結果,回路規模は430LE,動作周波数は50.38MHzとなり,充分実用可能な規模と速度の制御論理が得られた.

実際にPLCと周辺回路による制御論理をFPGAボードに置き換え,動作を確認した. これにより,FPGAによる小型・高性能・高秘匿性制御論理の実現への第一ステップが実現されたといえる. 本研究では,現実の制御論理をFPGA上に実装し,動作を確認することができた. しかし現状では制御論理ライブラリの整備が十分でないため,さらに整備を進めていく必要がある. また,本研究で扱った制御論理は小規模なものであるため,より大規模な応用に関してもFPGA技術が適用可能であるか検討を進めてゆきたい.


ご意見、ご感想は以下のメールアドレスまで。