PPT - 松江工業高等専門学校 ホームページ

Download Report

Transcript PPT - 松江工業高等専門学校 ホームページ

生産工程管理支援システム
-検索Webサービスの実行自動化情報処理学会
第76回全国大会
2014年3月13日
松江工業高等専門学校
情報工学科
山品壮隆
発表の流れ
1. はじめに
2. システム概要
2.1 システムの機能
2.2 システムの構成
2.3 GUIシステム
3. システムの実行
4. おわりに
4.1 まとめ
4.2 今後の課題
1.はじめに
研究の背景
金属加工会社(A社)
・月平均500~600種類の金属加工
受注品毎の加工工程順決定 → 監督者の仕事
☆自動化されていない!!

この作業は……
作業経験に基づく手作業で大変
そのため,監督者の労力,負担が大きい.
改善するために,
過去の作業データ → 加工工程順の決定や標
準加工工程が求まれば → 監督者の負担減.
その実現のため
各種検索Webサービスを開発.
しかし,Webサービスの実行には,
クライアントプログラム(以下,スタブ)が必要.
☆スタブの操作は難しい
より簡単にWebサービスを実行したい.
そこで,
スタブの実行自動化を可能に
+
GUIによるより簡単な操作
これらを可能にする,
Webサービス実行自動化システム
を開発した.
2.システム概要
第一目標
監督者がより容易に
利用可能にする.
Webサービスの実行を一元化し,
GUI上の操作を可能にするシステムを開発した.
2.1
システムの機能
金属加工 → 加工図面に従って行われ,
同じ品名でも,加工図面が異なる場合があり,図
面ごとに加工工程順も変わる.
加工図面A
品名A
加工図面B
よって,
①品名-加工図番-作番 対応表の抽出,
②加工図番に対応する作番の加工工程順を
抽出・比較をすることで,
③加工工程の把握と過去の工程順確認が可能.
その実現のため
①,②の機能を持つWebサービスを作成し,
Webサービス実行自動化システムにスタブを組み
込んだ.
2.2 システムの構成
サーバ
フレームワーク
機能
Apache Axis2
Webサービスの開発
Apache Tomcat7 Webサービスの配備,運用
Apache Jena
RDFデータの作成,SPARQLによる検
索
MySQL
データベース
システム構成図
サーバ
Apache Tomcat7
データベース
MySQL
検索
実行依頼
ユーザPC
スタブ
Apache Axis2
Webサービス1
Webサービス2
配備
実行結果
GUIシステ
ム
クライアント
予稿 図1 Web サービス・サーバとGUI システム構成図
配備するWebサービスについて
SOAP型Webサービスとして開発.
・Webサービス1:
-加工図番-品名-作番 対応表抽出

・Webサービス2:
-作番毎加工工程順抽出
二種類のWebサービスをApache Axis2ベースに
作成し,Apache Tomcat7上に配備.
Webサービス1:加工図番-品名-作番 対応表抽
出
加工図番指定
Webサービス2:作番毎加工工程順抽出
作番指定
RDFデータに変
換
Webサービス配備
Apache
Tomcat7
2.3 GUIシステム
Java Swingで開発.
 スタブの実行を行い,実行結果を出力エリアに
表示.

初期画面
Webサービス切替により,
入力可能領域が変わる
Webサービス切替
Webサービスの実行結果を比
較しやすくするために,出力エリ
アを二つ設定.
本システムでは,
Webサービスの選択
後,実行ボタンを押す.
GUIシステ
ム
exec()による実行
スタブ
getInputStream()に
よる結果取得
スタブの実行自動化を実現させた.
問題
スタブの実行には外部ライブラリが必要.
あらかじめ,使用PCにクラスパスの設定を行えば
問題は解決するが……
本システムを使用する全PCに
クラスパスの設定を行わなければならない
それは面倒……
本システム単体で動かしたい……
そこで,
クラスパスの設定
バッチファイル
スタブの実行
両方実行
このバッチファイルをexec()で実行することによっ
て,GUIシステム単体でスタブの実行が可能に.
GUIによるスタブの実行自動化が可能になっ
た.
3.システムの実行
Webサービス選択
Webサービス
1
必要な入力フィールドだけが
編集可能になって,
どこにデータを入力すれば
いいのか分かりやすい.
Webサービス
2
Webサービスの実行
Webサービス実行
Webサービス
1
図面番号-品名-作番
対応表 表示
Webサービス
2
作番の加工工程順 表示
比較もしやすい
4.おわりに
4.1
まとめ
・本研究で各種検索・抽出処理を行うWebサービ
スの実行自動化をGUIにより達成した.
・これにより監督者の負荷の低減,加工工程の事
前把握が容易になり,ミスが減少する.
4.2
今後の課題
・現在,GUIシステムにより表示されている結果は
スタブの実行結果を取得し,そのまま表示してい
るものである.
・これを必要に応じて選択/加工などの二次処理が
可能になればより柔軟性の高いシステムになると
考えている.
御清聴,ありがとうございました.
1.はじめに
ターゲット:金属加工会社(A社)
 月500~600種類の金属加工がある.
・加工工程の決定は監督者が判断.
・情報の電子化が不十分,紙面を用いた指示.
・リアルタイムでの工程進捗管理ができていない.

研究の背景‐問題点
監督者の作業負荷の増加.
 作業待ちにともなう機器の稼働率低下.
 納期遅れや原価割れの判断が遅れる.
生産工程管理システムの導入によって改善可能
ではあるが,
 生産工程管理システムは高価
 汎用システムの利用が難しく,カスタマイズが
不可欠.
それらの問題解決のために,

生産工程管理システムの開発

開発目標
①ロット毎のリアルタイム工程進捗管理機能の
実現(バーコードを利用したシステムを開発済)
②各種データの検索・集計機能実現(開発済)
③ロット毎の加工工程決定支援の自動化
(現状:工程順は監督者が決定し,紙面で指示)
④ロット毎の工程機器の自動割付最適化
2.システム概要

受注時に加工工程決定を自動化したい.
受注時には品名,加工図番等を入力.
Webサービス
化
①過去の作業データ,受注データの分析
②加工図番‐品名‐作番 対応表の作成
③ロット番号‐加工工程順 対応表の作成
④標準の加工工程,過去の工程順が分かる.
作業データ
ロット番号
優先順位表を参照
優先順位表
機械に割り当てられた
優先順位で判断
受注データ
加工図番
加工図番‐品名‐作番 対応表
加工図番指定
SOAP型Webサービ
スとして作成
ロット番号‐加工工程順 対応表
RDFデータに変
換
加工図番‐品名‐ロット番号との対応テーブル

加工図番と品名は受注時に指定する.
加工図番
799-30752
1
2
品名
ダンパーリング
作番 M0943
TAL-510 NO.2
作番
M0943
マシニングセンタ
汎用旋盤
マシニング
3
DWC-90HA N0.3
ワイヤーカット
4
5
TAL-510 NO.2
汎用旋盤
検査
検査
これをGUIにより実行する.
GUIシステムについて
なぜ,GUI化するのか?
・作業現場でも容易に実行できるようにするため.
PCに不慣れな人でも視覚的で分かりやすくする
工夫を加えることで,入力データ指定の容易化
を可能にする.
・結果出力表示に工夫を加えるため.
見やすく,結果の比較などを容易にできる.

GUIシステム概要
Java SwingをベースにGUIシステムを作成.
どのプラットフォームでも同じ外観と動作を保障
されたGUIを作成した.
 二つのWebサービスのクライアントプログラム
(以下,スタブ)を内包.
スタブを内包し,裏で必要に応じ実行することで
結果を得ることを容易にした.

GUIシステム開発環境
目的
Apache Axis2
Apache Tomcat7
Apache Jena
MySQL
Webサービスの開発
Webサービスの配備,運用
RDFデータの作成,SPARQLによる検索
データベース
GUIシステム構成
サーバ
Apache Tomcat7
データベース
MySQL
検索
実行依頼
Apache Axis2
Webサービス1
Webサービス2
実行結果
ユーザPC
GUIシステム
予稿 図1 Web サービス・サーバとGUI システム構成図
WEBサービス配備
GUIシステム機能
選択されたWebサービスのスタブ実行
 二画面による結果出力表示
 選択されたWebサービスに対応する
入力フィールドの限定.

スタブ実行について
GUIシステムには3つ内包している要素がある.
① スタブ
② バッチファイル
ライブラリのクラスパスの設定と,スタブの実行
を行う.
③ ライブラリ
スタブを実行するために必要なライブラリ.

スタブ実行の仕組み‐1‐
exec()メソッドの実行
GUIシステム
スタブ
スタブ
Javaアプリケーション
getRuntime()
メソッドの実行
結果
Runtime
オブジェクト
getInputStream()
予稿図2 GUIシステムの処理の流れ
スタブ実行の仕組み-2exec()メソッドの実行
GUIシステム
スタブ
スタブ
Javaアプリケーション
exec()メソッドは指定されたコマンドを実行する
メソッド.
 exec()メソッドにより選択されたWebサービスに
対応するbatファイルを実行.
 スタブのJavaアプリケーションが生成される.

スタブ実行の仕組み-3getRuntime()
メソッドの実行
スタブ
Javaアプリケーション
Runtime
オブジェクト
getRuntime()メソッドは実行中のJavaアプリ
ケーションに関連したRuntimeオブジェクトを返
すメソッド.
 getRuntime()メソッドにより,スタブのJavaアプ
リケーションのRuntimeオブジェクトを返します.

スタブ実行の仕組み-4getInputStream()
Runtime
オブジェクト

getInputStream()メソッドは
結果
スタブ
本システムでは,Webサービスの実行依頼から
実行結果の受け取りを行うクライアントプログラ
ムをスタブとする.
 これにより,GUIシステムのプログラムから通信
を意識しなくてもサーバ上のWebサービスを呼
び出せるようにした.

BATファイル
スタブを実行するために,コアAPIに含まれない
外部のライブラリを使用する必要があった.
 GUIシステムの中では,exec()でスタブを実行す
る.そのため,外部のライブラリにクラスパスを
通すこととスタブの実行を同時に行わなければ
ならなかった.
 そこで,バッチファイルを用いてそのどちらも実
行できるよう記述し,exec()でバッチファイルを
実行することで,問題なくスタブを実行すること
が出来た.

WEBサービスの実行結果の取得
exec()はサブプロセスを管理するための
Processオブジェクトを作成する.
 また,getInputStream()はサブプロセスから文
字を取得するメソッド.これにより,スタブに返っ
てきたWebサービスの実行結果をGUIシステム
が取得することが出来る.

本システムでは,
①exec()によりサブプロセスでスタブを実行し,
②サブプロセスの入力ストリームを取得する
getInputStream()で結果を取得した後
③結果出力エリアに表示.
することによってスタブを実行,実行結果を受け
取っている.