📅 · 所要時間4分 · Meta Smart Factoryチーム
製造実行システム(MES)の定義は、たいてい正確で、そして使えません。機能を十数個並べたところで、読んだ人が「では月曜日に自分の作業区の何が変わるのか」を言えるようにはならないからです。このページは逆から書きます。部品が作られるまさにその瞬間に、MESが何に責任を持つのか、という書き方です。MESは現場で何が起きたかについての記録システムであり、その記録が間違っていれば、その上に乗るものは何ひとつ正しくなりません。
まず指図展開から。これは帳票の印刷と混同されがちです。計画系が製造指図と工順を降ろしてきたあと、どの設備がどの工程を流すか、どの順番で投入するか、そもそも着手してよいかを決めるのがMESです。治工具、要員、段取り替えファミリを見ながら数日先まで工場全体の順序を組む仕事はこれとは別物で、APS(有限能力スケジューリング)の領分です——それがMESのモジュールとして売られていても、別システムであっても変わりません。無限能力で組んだ計画をそのまま現場へ流せば、その直の半ばには絵空事になっています。
投入には前提条件があり、条件ごとに問うべきは「システムがそれを知っているのか、それとも告げられているだけなのか」です。前工程が完了承認されていること、作業者の資格が有効であることは、MESが自分の記録から知っています。正しいロットが供給されていることは、スキャンか、引当を持っているシステムとの連携が要ります。正しい工具が付いていることには、工具管理、ホルダのICチップ、あるいはツールプリセッタとの連携が要ります——でなければ作業者の確認であり、その場合、チェックの確かさはその確認と同じ水準にとどまります。裏に情報源のある前提条件は管理ですが、チェックボックスに支えられた前提条件は、タイムスタンプの付いた記録にすぎません。
次が実績収集です。段取り時間と加工時間を作業時間と分けて取ること、良品数、原因の付いた不良、行き先の決まった手直し、理由と時間のある停止。品質も同じ流れの中にあります。工程に対して定義され、その作業をしている本人が実施し、その結果によって部品が次へ進むのを止められること。最終検査でも同じ不良は見つかりますが、それは4工程あとであり、その4工程分はすでに支払ったあとです。
計上が基幹系とのループを閉じます。資材を製造指図に、作業時間を工程に計上し、その2つの計上がそのまま実際原価と実在庫になります。トレーサビリティはこのすべての土台にあり、OEEはそこから自然に出てきます。OEEは別のシステムではなく、実績収集がすでに生んだ事象の上の四則演算にすぎません。
ISA-95——国際規格としてはIEC 62264——がここで役に立つのは、階層図のほうではなくオブジェクトモデルのほうです。生産スケジュール、生産実績、資材ロット、要員、設備。これらこそが現場と基幹系のあいだを行き来するものであり、だからこそ連携仕様のチェックリストとしてそのまま使えます。
いちばん引きにくい線は、いちばん下の線です。安全機能——扉インタロック、ライトカーテン、両手操作、エリアスキャナ——は、ハードワイヤの安全回路か安全コントローラに属します。そのパフォーマンスレベルやSILは、ISO 13849-1やIEC 62061に基づくリスクアセスメントで決まります。ネットワークの決定性をどれだけ高めても、その層より上のソフトウェアが安全機能の置き場所として法的に成立することはありません。議論する価値があるのはプロセスインタロックのほうです。正しい工具がなければ起動させない、パラメータの許容範囲を外れたら流させない。ここでは物理的な阻止はPLCが持ちます。数十ミリ秒で発動しなければならないルールが、データベースとネットワークスイッチの向こう側に住めるはずがないからです。そしてMESが持つのはその帰結のほうで、次工程を開かず、ロットを保留します。
その線より上の割り振りは、見慣れたものになります。可視化、警報、上位からの設定値はSCADA。指図の同一性、工順、系譜、品質判定、作業時間はMES。需要、購買、原価、顧客への納期約束はERP。境界線上のケースは、2つの問いで片が付きます。その判断はどれだけ速くなければならないか。そして2年後に、それが起きたことを誰かが証明する必要があるか。
ここでいうリアルタイムは、制御ループの決定性のことではありません。事象を起こした本人がまだそこに立っているうちに記録が届く、という程度の近さのことです——読み取り周期でいえば1秒以下。ただし、どれだけ速く読むかより、どう読むかのほうが効きます。
エッジを数えるのではなく、積算カウンタを読んで差分を取ること。サンプリング周期より短いパルスは、ポーリングによる読み取りでは見えません。サブスクリプションで救えるのは、キュー長とサンプリング間隔をそのために設定してある場合だけで、既定値ではそうなっていません。キュー長1のモニタードアイテムは、最新の遷移だけを残して他は捨てます。増える一方のカウンタはこの問題と無縁で、代償は分解能だけです。PLCのカウンタは16ビットワードで一周してしまうことが多いので、ロールオーバーは意図して扱い、設備の電源断やリセットのたびに値を取り直す必要があります。
設備の状態が1ビットで表せることは、まずありません。運転中を示す信号が1本だけある場合、その正体はたいていドライブ許可で、主軸が作業者を待って空回りしているあいだも真のままです。使いものになる判定は、サイクル動作中、ドライブ許可、そして一定の時間窓の中でカウンタが動いたかどうかを組み合わせます。この時間窓が検知しきい値になります。これより短い停止は停止時間として見えなくなり、原因不明の性能ロスとして別の場所に現れます。事象のタイムスタンプは1つの時計で打つこと、そしてエッジ側でバッファすること。そうしておけば、スイッチの再起動は1時間の幻の停止ではなく、記録の欠落として残ります。
接続が知っているのは、設備が止まったことと、その長さだけです。なぜ止まったのかは知りません。いま数えたばかりの部品が次のステーションで不良になることも、作業者が待っていたのが資材ではなくクレーンだったことも、知りません。
その隙間を埋めるのは人であり、その一瞬の設計が、その上のすべてを決めます。停止理由コードは定番の道具であり、定番の失敗でもあります。選択肢が多すぎれば、作業者は毎回それらしい最初の項目を選び、その時点で一覧の並び順があなたのパレート図を書くことになります。少なすぎれば、すべてが「その他」に落ちます。分類は、証拠が残っているうちに、その直の中で行われなければなりません。そして見返りに、作業者へ何かが返ってこなければなりません。
ペーパーレスとは、同じ帳票をPDFにして画面に出すことではありません。ステーションに出ている文書が、その指図に対して有効なリビジョンであること——それをシステムが選ぶので、ステーションに配れるリビジョンは現行のものしかない、という状態のことです。そしてもう一つ、記録があとから書き写されるのではなく、作業そのものによって作られること。書き写した瞬間に同時性が失われ、それとともに記録の信頼性も失われます。どんな文書管理システムも管理できないのが紙です。先週の火曜に印刷されて引き出しにしまわれた図面は、定義上、管理外です。そして引き出しが負けるのは、システムを引くほうが速いときだけです。
規制下の生産では、その記録が電子バッチ記録であり、製品の法的な履歴になります。規制の枠組み——電子記録・電子署名に関するFDAの21 CFR Part 11、そしてEU GMPのAnnex 11——は、ふつうならソフトウェア上の配慮で済むことを設計要件に変えます。編集できない監査証跡、意味の明示された署名、氏名の特定できる個人に帰属し、その時刻に記録された入力。本当の省力化がある例外レビューが成立するのは、入力の時点でシステムが規格値を効かせていた場合だけです。そのときに限って、フラグの立っていないバッチは見るべきものがないと言えるからです。
系譜には2つの向きがあり、両方が動かなければ意味がありません。遡る向きは、完成した1個から、それに関与したすべての部品ロット、設備、治工具、作業者、パラメータ、検査へ。たどる向きは、疑義の生じた受入ロットから、それが入ったすべての個体と、その個体が出荷された先のすべての顧客へ。実際に使われるのは、サプライヤから電話が入った日の午後、たどる向きのほうです。そして弱いのは、たいていそちらです。
設計上の判断は粒度であり、それは消費の瞬間に何を取るかで決まります。個体ごとのシリアル、パレットごとのロット、直ごとのバッチ、あるいは時間窓。どれを選ぶかが、回収をどこまで小さくできるかの下限を決めます。封じ込めのコストは、シロと言い切れない集合の大きさそのものだからです。直単位からパレット単位へ識別を上げることは、帳票の変更ではありません。作業者が何をスキャンするかの変更です。
合流点は、きれいに切り替わるのではなく、移行期間を始めます。運転中にサイロを継ぎ足せば、そのあと出てくるのは混合物です。旧ロットがいつまで現れ続けるかは、容器容量、すでに入っていた残量、処理量、そして流動様式で決まります。ファネルフローでは、旧材料が壁面を伝って非常に長いあいだ落ち続けるからです。ですから継ぎ足しはロット付きで記録し、その事象から旧ロットの払い出しが証明できるまでのあいだは、すべてに両方のロットを付け、払い出し完了の前提を文書に残します。ミキサはこれとは別の問題です。複数の入力ロットを持つ1バッチであり、多対一の系譜ですから、モデル上は複数ロットの投入リストを持つバッチとして扱います。出荷済みの製品にこれを後から足すことはできません。だから本稼働の前に試してください。出荷場から1個を抜き取り、1時間以内に完全な遡り系譜を出させるのです。
OEE(設備総合効率)は、時間稼働率×性能稼働率×良品率です。3つそれぞれに、定番の水増しのしかたがあります。定義と時間の基準は、最初の数字を人に見せる前に文書にしておくべきものです。
いちばん効くのは時間の基準です。OEEは慣例として負荷時間に対して測ります。ですから、ある1時間を負荷時間の外へ動かせば——停止ではなく計画休止だと宣言すれば——その分は分母から消えます。一方、計画外だと宣言した時間は分母に残り、まさにそれが時間稼働率を押し下げます。試作や無人の直を基準の外に置けば、設備が週の大半を遊ばせていても数字は心地よくなります。段取り替えはグレーゾーンですらありません。設備の6大ロスの整理では、段取り・調整は負荷時間の内側にあり、時間稼働率を削るのが本来の姿です。だからこそ、これを除外するのがOEEを作り込むいちばんありふれたやり方になっています。暦時間に対して測るTEEP(設備総合生産性)は、その隣に置くべき指標です。その差が、保有していながら使っていない能力です。
性能稼働率を歪めるのは基準サイクルタイムです。古典的な定義もISO 22400も、これを理論サイクルあるいは設計サイクルから取ります。しかし多くの工場は工順から取っており、そこにあるのは何年も前に原価計算のために決められた標準で、余裕が織り込まれています。標準が55秒で、その設備が実際に出せる最速が40秒なら、報告される性能稼働率は約37%高く出ます。しかも多くのシステムは性能稼働率を100%で頭打ちにするので、画面に届くのは良い結果ではなく、上限で切られた誤差です。性能の数字を公表する前に、事象データから持続できた最速サイクルを取り出し、工順の標準と突き合わせてください。
良品率を壊すのは、手直し品を、それを出した工程で良品として数えることです。本来なら直行率がその取りこぼしを示すはずです。時間稼働率を壊すのは、先ほどの検知しきい値と、分類はされているが大半が「その他」になっている停止時間です。
集計の誤りが2つ残っています。1つは、設備をまたいでOEEを平均することです。制約になっている設備と、設計上そもそも遊ばせている設備が混ざるので、工場の数字は誰も手を打てない理由で動きます。もう1つは、すでに余力を持っている非制約工程でOEEを上げることです。それが買うのは産出ではなく、ボトルネックの手前の仕掛品です——ただしこのルールには、よくある例外が3つあります。余力の足りない非制約工程は制約を飢えさせるので、それは仕掛品ではなく失われた産出です。ボトルネックは製品構成とともに動くので、今月の非制約工程は来四半期の制約です。そして熱処理や塗装、あるいは1台しかない治具のような共用の大物設備は、断続的に制約になります。時間稼働率はどこでも測り、OEEを追いかけるのはその損失がスループットに変わる場所だけにし、構成が変わったら制約を特定し直してください。
コネクタは小さいほうの仕事です。本体は、項目ごとにどちらが持ち主かを決めて、それを文書にすることです。品目マスタ、BOM、工順、作業区、受注、製造指図。それぞれについて、一方のシステムが正であり、他方は利用者であり、食い違ったときの振る舞いが決まっていること。これを飛ばしたプロジェクトは、最初の1か月でそれに気づきます。持ち主でないほうのシステムで、誰かがBOMを直したときです。
次が実績確認の粒度です。工程ごと、指図ごと、1時間ごと、1個ごと——どれを選んでも、ERPのトランザクション量と、在庫の数字がどれだけ古くなりうるかを天秤にかけていることになります。バックフラッシュとスキャンによる払出の比較も、資材の形をした同じ天秤です。バックフラッシュは実績確認の時点でBOMの数量を計上します。速い代わりに、歩留まりのばらつき、代替品への振替、誰も計上しなかった不良の分だけ間違います。スキャンによる払出が計上するのは、物理的に取られた量です。トレーサビリティの対象と高価な資材はスキャンし、締結部品はバックフラッシュで済ませてください。
そのあとに、地味な設計が残ります。メッセージにはすべて冪等キーが要ります。連携は再送するものであり、二重計上された入庫は数週間後の棚卸で表に出てくるからです。失敗メッセージのキューを誰かが見られること、開発者を呼ばずに再処理できること。単位は明示的な換算と、合意された丸め方を持つこと。そして連携には、両側に名前の付いた責任者が要ります。持ち主のいない連携は静かに劣化するからです。項目が1つ増え、マッピングが合わなくなり、誰も見ないキューにエラーが積み上がっていきます。
いちばん多い原因はマスタデータであり、いちばん語られない原因でもあります。もう何年も誰も流していない順序を書いた工順、粒度を誤ってモデル化された作業区、測り直されたことのない標準時間、3通りの表記を持つ品目。MESがこれらの問題を作るわけではありません。初日に見えるようにするだけです。そしてその時点で、暴いた側が散らかした犯人にされます。本稼働の前に、実際の加工と実際の段取り替えを計測してください。そして工順は書き直すものだと見込んでおいてください。
2つめは作業者に使われないこと。理由は前述の入力設計のとおりです。対処は、実際の段取り替えの最中に、実際にそれをやる作業者と一緒に、自分の手で実績入力の手順を計時することです。3つめは、誰も持っていない連携。4つめは、例外から先にモデル化するスコープ設定です——標準の流れが仕上がらないうちに、めったにないロット分割に何か月もかけてしまう。5つめは、いちばん忙しい四半期に制約工程で本稼働させること。最後は定義の問題です。同じ直について2つのシステムが違う数字を出す。計画停止を数えるかどうかを誰も合意していなかったからです。そして会議は、その裏にある損失ではなく、数字そのものをめぐる議論になります。
筋書きのあるデモが見せるのは正常系であり、そこはどのMESパッケージでも通ります。評価とは、自社のデータを使って、面倒なほうの経路を無理やり画面に出させることです。持ち込む事例は4つ。途中で設備が変わる指図。ある直で始まり、次の直の別の人が終わらせる工程。2つの指図にまたがるロット分割。そして事後訂正——2時間前に誰かが停止理由を選び間違えたとき、誰なら直せるのか、監査証跡に何が残るのか、そしてその訂正はすでに報告済みの数字まで届くのか。
系譜は、まず相手のデータで動かして見せてもらい、次にそれを自社のデータで動かすには何が要るかを聞いてください。指図の途中でPLCの電源が落ちて入り直したとき、設備接続がどう振る舞うかを聞いてください。営業担当ではなく、自社の連携を実際にやる技術者と話をさせてもらってください。導入先の見学では、作業者と時間を過ごし、何を回避策でしのいでいるかを聞いてください。商務面では、2拠点目にいくらかかるか、バージョンアップにいくらかかるか、APIで何ができるか——自社の工程の変わった部分は、買うのではなくその上に作ることになります——そして自社の生の事象データを使える形で書き出せるかどうか。最後の1つが、その記録が本当に自社のものかどうかを測る試験です。
Meta Smart FactoryのMESモジュールは、ここまで述べた範囲をカバーします。前提条件付きの指図展開と投入、ステーションでの実績収集、理由の付いた停止と不良、作業時間と資材の計上、工程に紐づいた品質検査、系譜、そして並行したストリームではなく同じ事象ストリームから導かれるOEE。
設備側では、SiemensをS7comm、RockwellをAB-ETH・Logix・DF1、SchneiderをUMAS、BeckhoffをADS、MitsubishiをMCプロトコル、OmronをFINSで、それぞれネイティブに読み取ります。それ以外はOPC UA、Modbus TCP/RTU、EtherNet/IP、MQTTで話します。ネットワークに機器を増やしたくない現場では、既設のOPC UAサーバやDAサーバもそのまま使えます。読む価値のあるコントローラを持たない設備には、すでに出ている接点信号——運転接点、サイクル出力、警報リレー——に配線する後付けのI/Oモジュールを入れます。これで得られるのは、その配線の分解能での状態と生産数であり、前述の理由により、停止の理由は決して得られません。
データモデルは、品質、保全、WMS、コンピュータビジョンの各モジュール、そしてERP連携レイヤと共通です。有限能力の順序付けはAPSモジュールにあります。実行系の内側ではなく、先に述べた境界の上に置かれています。MRPの展開機能も備えており、ERP側でそれを行わない工場のためのものです。
そのどれも、本当に難しい部分を取り除いてはくれません。そしてこのページの大半は、その難しい部分についてでした。数字の意味を合意すること、はじめから正しくなかった工順を直すこと、自分たちが付き合っていけるトレーサビリティの粒度を選ぶこと、そして、二度言われなくても作業者がやってくれる入力の一手を設計すること。
専門家に相談する