ISA-95 の実用化への取り組み ~MESX プロジェクト活動と制御層インタフェースの実装 ~ 三菱電機株式会社 名古屋製作所先端技術総合研究所 渡部裕二岩津賢
製造情報連携システムISA-95 の階層と層間連携 ERP/SCM 個別開発 レベル 4: 計画層 ( 経営システム ) 生産計画 計画調整 個別開発 MES レベル 3: 実行層 ( 製造実行システム ) 製造計画 実績分析 制御機器 + 装置 レベル 0-2: 制御層 ( 生産現場 ) シーケンサ 製造指示 製造実績 MELSECNET/H [1]
MESX ジョイントプロジェクトとは 経緯 PSLX( 現 APSOM) と FAOP とのジョイントにより発足 (03/4) MfgX 内に MESX ジョイントプロジェクトとして設置 (06/4) 主な参加メンバ ( 順不同 ) 機械振興協会 関東職業能力開発大学校 法政大学 岩井機械工業 エクサ FFC ケー ティー システム 横河電機 三菱電機 ほか 製造業 XML 推進協議会 (MfgX) ものづくり APS 推進機構 (APSOM) FA オープン推進協議会 (FAOP) MESX ジョイントプロジェクト (MESX) APS: Advanced Planning and Scheduling PSLX: Planning and Scheduling Language on XML based representation [2]
MESX ジョイントプロジェクトの活動内容 [ レベル 4]ERP/APS [ レベル 3]MES [ レベル 2] 装置 / コントローラ オフィス 工場 工程 PSLX および FAOP で実行系の上下の層を検討 PSLX( 計画系 ) では APS 間 ERP/APS 間の I/F を規定 FAOP( 制御系 ) ではデバイス / 装置 / コントローラの I/F を中心に検討 ERP/APS と装置 / コントローラの間に MES がある上下のモデルに一貫性がなければシステム全体がうまく表現できない計画 - 実行層間は PSLX 仕様があるが実行 - 制御層間は XML による規約定義が不十分 ERP: Enterprise Resource Planning 業務 計画システム ( 計画層 ) 製造実行システム ( 実行層 ) 制御システム ( 制御層 ) [3]
B2MML (WBF) ISA-95 ISA-95 関連の実装規約 企業経営計画ロジスティック レベル 4 PSLX (APSOM) ISA-88 製造管理 レベル 3 BatchML (WBF) MESX 通信規約? バッチ制御 連続制御 離散制御 レベル 0-2 [4]
MES 連携の課題 : データの差異 MES のアプリケーションデータ例 生産実績 := ( ロット, 品番, 時刻, 生産数, ) アラーム := ( 発生時刻, 種別, 要因, 累計, ) 寿命 := ( 部品名, 使用時間, 残時間, ) 装置 データ変換機能の開発 制御機器による装置制御のデータ例 メモリアドレス 番地 = 15000 番信号 = ON [5]
MES 連携の課題 : 対象別の連携機能開発 個別開発 個々に開発が必要 ベンダ 機種別インタフェース 装置 A 装置 B 装置 C [6]
MESX における規約策定の手順 1. ユースケースの獲得アクタ 目的 機能の実行による変化 アクタとシステムの対話 等を含む ユースケース記述 で表現 2. タイプ図 ( 概念レベルのクラス図 ) の作成 UML のクラス図の表記法で記述実装方法を規定しないクラス データ属性と操作 3. インタフェースの設計アクティビティ図 シーケンス図の作成 4. メッセージの設計 KQML を参考に 命令部とデータ部 制御部で構成 XML でエンコード KQML: Knowledge Query and Manipulation Language [7]
ユースケース記述の例 ユースケース名 : 異物混入の出荷品を特定するアクタ : 品質保証担当者 生産技術者目的 : 異物が混入した恐れのある出荷品を特定する 事前条件 : 異物混入の発生した 系列 時刻 ( 期間 ) 装置がわかっている 基本系列 : A) アクタは異物混入の通知を受けて このユースケースを起動する B) アクタは 系列 時刻 ( 期間 ) 装置をシステムに入力する C) システムは該当時刻に該当装置内にあった仕掛 LOT を検索する D) システムは該当仕掛 LOT が使用された全出荷品と仕掛品を検索する E) システムは該当する全出荷品 仕掛品を画面表示し 印刷する F) : [8]
タイプ図の例 [9]
アクティビティ図 シーケンス図の例 アクティビティ図 act 作業終了を報告する: 作業終了を報告する MES 制御機器 装置 MES アプリ装置 (2 層 ) 生産設備 / 作業者 開始 終了通知 作業終了を報告する 実行オーダ sd 作業終了を報告する シーケンス図 : 作業終了を報告する :MES MES :FA コントローラ 制御機器 ( コントローラ ) :Equipment 装置 生産設備 作業終了を記録する { 作業実行中 } *getstate :int 設備状態取得 作業終了を通知する [ 作業終了 ]: MESXnotifyEvent 終了 [10]
メッセージ設計 インタフェースの命名レベル 4-3 間のメッセージには PSLX なる prefix を付ける例 :PSLXgetSchedule 製造指示を取得するレベル 3-2 間のメッセージには MESX なる prefix を付ける例 :MESXloadRecipe 指定設備にレシピをロードする メッセージの設計 PSLX の規約に準拠した XML タグで実装する データの渡し方 層間を疎結合とするため 名前渡しとする [11]
定義した MESX メッセージの例 メッセージの名称用途 メッセージの方向 送信メッセージ 受信メッセージ (1) MESXisAvailable 設備の利用可否確認 レベル 3 レベル 2 情報取得要求 回答 (2) MESXloadRecipe レシピ送信 レベル 3 レベル 2 情報提供 確認応答 (3) MESXstartExecution 実行オーダの開始指示 レベル 3 レベル 2 情報提供 確認応答 (4) MESXnotifyEvent 設備イベントの通知 レベル 3 レベル 2 イベント通知 ( 送信のみ ) (5) MESXgetInformation 実績取得 レベル 3 レベル 2 情報取得要求 回答 [12]
製品定義 ISA-95 のアクティビティモデルと制御層連携 生産能力 生産スケジュール 生産実績 ( 生産作業管理 ) 生産資源管理 詳細生産スケジューリング 生産追跡 生産手配 生産実績分析 製品定義管理 生産データ収集 装置とプロセス特有の生産ルール 操作指令 生産実行管理 操作反応 生産レベル 1-2 機能 装置とプロセス特有のデータ [13]
MESX 通信規約が扱う情報例 ISA-95 による業務分類 生産 保守 品質 在庫 交換情報 / 通信形態 / 情報の方向 作業管理 作業管理 作業管理 作業管理 A:(2) レシピ ルール B:(3) 実行オーダ 要求応答 レベル3 ( 実行層 ) レベル2 ( 制御層 ) 加工レシピ保守要領品質基準在庫基準 工程開始保守指示検査指示在庫指示 C:(4) 設備イベント D:(1)(5) 設備状態 実績 D':( 未定義 ) 設備蓄積情報 通知 要求応答 レベル3 ( 実行層 ) レベル2 ( 制御層 ) 工程終了 設備アラーム 品質アラーム 在庫アラーム 生産実績設備状態検査結果在庫数量 生産実行データ 設備状態データ 品質検査データ 在庫作業データ [14]
MES と設備の連携 ( 生産作業管理 ) MES 設備利用可否確認設備利用可否受信レシピ送信レシピ設定応答受信段取り開始指示段取り開始応答受信 段取り終了受信 (1) (2) (3) (4) 設備 ( 制御機器 + 装置 ) 設備状態確認 レシピ設定 段取り開始 段取り終了通知 作業開始指示作業開始応答受信 故障状態受信故障内容確認設備状況受信 管理 作業終了受信実績取得実績受信 管理 (3) (4) (5) (4) (5) 工程開始故障通知故障内容応答作業終了通知実績応答 [15]
シーケンサへの実装 (MESX 通信ユニット ) 三菱電機 MELSEC-Q シリーズシーケンサ MESX 通信ユニット SOAP による MESX メッセージの送受信機能を実装 装置の制御信号をトリガにメッセージ通信を行う MELSECNET/H Ethernet [16]
メッセージ例 : 作業開始指示 要求メッセージ ( レベル 3 レベル 2) <m:mesxstartexecution xmlns:m="http://www.mstc.or.jp/schema/mesx/1.0"> <m:executionorder action="add" id="001" sender="expio" transaction="0102" confirm="always"> <m:operation code="503" type="execution" status="order" function="f001"> ロット : <m:produce lot="aaa0001"> レシピ : <m:qty value="100"/> aaa0001 </m:produce> f001 100 個 <m:assign resource="nc_c"/> </m:operation> </m:executionorder> </m:mesxstartexecution> 加工設備 応答メッセージ ( レベル 2 レベル 3) <m:mesxstartexecutionresponse xmlns:m="http://www.mstc.or.jp/schema/mesx/1.0"> <m:executionorder action="confirm" id="001" sender="melsec-001" transaction="0102"> <m:operation code="503" type="execution" status="order" function="f001"/> </m:executionorder> </m:mesxstartexecutionresponse> [17]
実証デモシステムの構成 計画サーバスケジューラサーバ MES サーバ 生産管理サーバ法政大学 ASTPLANNER 横河電機 EXPIO ケー ティー システム レベル 4 PSLX レベル 3 MQ MESX 通信ユニット 三菱電機 制御機器 : シーケンサ MELSEC 三菱電機 PSLX MQ MESX SOAP 装置 HMI Ethernet GOT 三菱電機 印刷機 A( 仮想 ) 印刷機 B( 仮想 ) プレス機 ( 仮想 ) 合紙機 ( 仮想 ) レベル 2-0 スープ工場箱組立工程 [18]
ISA-95 (IEC 62264) レベル 4 エンタープライズ ( 企業 ) サイト ( 拠点 ) 企業オーダ 拠点オーダ レベル 3B エリア ( 作業区 ) 作業区オーダ 実証システムの機能構成 生産計画 生産スケジュール 生産管理サーバ < 提供 : 法政大学 > PSLX ASTPLANNER < 提供 : 横河電機 ( 株 )> MQ 計画サーバ スケジューラサーバ レベル 3A ワークセンタ ( 作業場 ) ワークオーダ ( 作業指示 ) 製造指示実績管理 EXPIO PSLX MQ < 提供 :( 株 ) ケー ティー システム > MES サーバ レベル 2 ワークユニット ( 設備 ) エグゼキューションオーダ ( 実行指示 ) レベル 1 ワークステーション ( 装置 ) インストラクション ( 動作指示 ) MESX 通信ユニット < 提供 : 三菱電機 ( 株 ) 試作品 > MESX MELSEC < 提供 : 三菱電機 ( 株 )> 製造設備 装置 SOAP GOT < 提供 : 三菱電機 ( 株 )> 制御機器 [19]
実証デモシステムによる MESX の評価 システム構築工数を削減従来は MES と制御機器が互いに強く依存 MES の個々のアプリケーションが扱う情報に合わせ制御機器 ( 例えばシーケンサ ) のプログラムを開発 MESX 通信規約の利用により両者が疎結合化 XML 採用によりプラットフォームの違いの意識が不要接続部分の開発工数を 従来の数人月から 10 人日に ( 実証デモシステム構築時において ) 運用上の妥当性を確認生産計画に基づく生産設備への作業割当てシーケンサからの実績収集生産設備故障時の動的対応 [20]
MESX 通信規約の特長 まとめ ISA-95 に基づく MES- 装置制御機器間の規約を定義 生産作業管理分野の典型的な流れに対応 連携相手の固有仕様に非依存の開発が可能 製造情報連携システムの構築工数を削減 今後の課題 より広い分野に対応するための規約の拡張 構成要素を入れ替えた場合の接続性評価 ( 規約によるシステム構成の柔軟性向上の検証 ) [21]
ありがとうございました [22]