前回に引き続き近況報告をしたいと思います。
1.進捗状況
一応、以下の処理についての設計、開発、単体テストまでが完了しています。
1.1.部品展開による経路情報の作成
・レベル番号の付与
・LLCの更新
・無限loopのチェックとエラー出力
1.2.経路情報を主としたloop処理
( レベル番号とLLCが一致した品目に対して )
1)購買品
(1)発注オーダーの生成
2)製作品
(1)工程展開による作業オーダーの生成
(2)製造オーダーの生成
(3)下位構成品に対する引計の更新
2.フロー(概要)
![](https://blogimg.goo.ne.jp/user_image/01/9b/510e0f4553af41324bd9b3d5782213ee.png)
3.内容
3.1.部品展開による経路情報
![](https://blogimg.goo.ne.jp/user_image/24/42/94e2ac3beda4669b3bbdcc581f20ba46.png)
例題として、前回ご紹介しました「カレーライス」に加えて、「ハヤシライス」も追加しています。
BOMの構成を少し変え、工順マスタは新たに追加しています。
上図はBOMから部品展開した結果(一部)の情報をアップしました。
3.2.発注・製造オーダー情報
![](https://blogimg.goo.ne.jp/user_image/0d/9d/e77e42ab84e6feebb7b35aaa1b7a8fa6.png)
生成された発注・製造オーダー情報です。
種別
0.(発注) : 購買品に対する発注オーダー
・基準在庫と比較し、生成されるオーダーです。
1.(生計) : 製作品の親品目に対する製造オーダー
以下の2通りがあります。
①基準在庫と比較し、生成されるオーダー
②生産計画の登録にて入力された情報
注)②のみ採用し、①は生成しないようにすることも可
2.(引計) : 製作品の親品目の下位構成品(子品目)に対する引計オーダー
3.3.作業オーダー
![](https://blogimg.goo.ne.jp/user_image/4e/c8/7552e32332c8792a66c8af6fc92110ac.png)
生成された作業オーダー情報です。
発注・製造オーダーは、数量で手配計画を作成しますが、作業オーダーは作業時間で手配計画を作成します。
資材所要量計画:MRPには、製作品に対する能力所要量計画:CRPが存在します。
これにより、工程の負荷をチェックし、作業の着手を前倒しにしたりします。
・工程には標準能力より、開始時刻を入力することで終了時刻を計算し保持しています。
![](https://blogimg.goo.ne.jp/user_image/60/aa/57abd55acd54236a3d98e03da3e4d045.png)
作業オーダーの生成は、バックワード方式で行っています。
・工順の後工程から処理を開始します。
・作業オーダーの割り付けは、終了時刻を基点として開始時刻を生成しています。
・対象の日付(バケット)において、当該工程の空き時間が不足する場合、前日以前の日付(バケット)に移動して再度チェックします。
・一般的な負荷山積みはせず、終了時刻・開始時刻にて、当該工程の当該バケットに対して占有させる方式を採用しています。
・占有された作業オーダーからの空き時間帯を取得し、今回の作業オーダーが充当可能かのチェックを行っています。
・今回の作業オーダーの作業時間の全てが充当しきれない場合は、充当可能な時間のみ充当させ、前日以前のバケットに対して同様に空き時間を取得し残りの作業時間を充当します。
3.4.照会画面
![](https://blogimg.goo.ne.jp/user_image/4d/31/3ebe21de5a8237414ee9240196c1a115.png)
例として、中間品である「炊いたご飯」です。
1)カレンダー
・10/22、10/23は土日ですが、カレンダーマスタには「休日」としての設定をしていません。
・10/29、10/30は、カレンダーマスタに「休日」として設定をしています。
「休日」の設定されている日付(バケット)は、オーダーの発注日(開始日)として設定しません。
2)入庫(MRP)、出庫(MRP)
所要量計算にて編集された値が表示されています。
・入荷予定日(完了予定日)と一致する日付(バケット)に編集されます。
3)MRPによるオーダー
所要量計算にて編集された値が表示されています。
・発注日(開始日)と一致する日付(バケット)に編集されます。
・購買品は、生計日(入荷予定日)より、商品マスタの「発注リード日数」にて、オーダー日(発注日)を算出します。
・製作品は、生計日(完了予定日)より、工程負荷調整を経て、オーダー日(手配日)が決定されます。
・製作品は、納期を基準とした最遅開始日がセットされることになります。
・工順マスタに登録される各工程は直列ルールとしています。
![](https://blogimg.goo.ne.jp/user_image/23/61/fa62502fc8fd7fb16af0a7dfcf17a2a8.png)
(直列ルール : 次工程は、前工程が完了しないと着手できない。)
![](https://blogimg.goo.ne.jp/user_image/1a/80/960b61138103c898be932365005bafb7.png)
上図では、並行して実行されるタスクは④炊飯だけですが、複雑なBOMになると親品目から子品目(中間品)に枝分かれしていく数が、そのまま並行して実行されるタスクに置き換わります。
工程の負荷をまず無条件に山積みし、その後に工程の負荷山崩しを最早開始日と最遅開始日の差異(余裕日数)にて移動させる方式は採用していません。
一つの製作品の工順は複数の工程かつ直列ルールで成り立っていますので当該工程のみを移動させることは前後の工程に影響が出てしまいます。
☞ 工程のキャパオーバーに対しては以下の措置を検討し実施します。
①当該日の工程能力を増やす ※台数(人数)または稼働率
②当該日の作業時間を増やす ※残業
最終的な措置としては、
③生産計画数を変更する(無理な計画)
④顧客の希望納期を変更する ※受注生産の品目の場合
①当該日の工程能力を増やす ※台数(人数)または稼働率
②当該日の作業時間を増やす ※残業
最終的な措置としては、
③生産計画数を変更する(無理な計画)
④顧客の希望納期を変更する ※受注生産の品目の場合
4.終わりに
生産管理システムの構築は、設計、開発も大変ですが、検収作業が最も大変と思います。
発生するデータ量が、仕組みの増加と比例して増えていきます。事前に計画書(仕様書)の作成は必須となります。
現在、検収作業に突入した状態です。
<補足>
簡単な操作、考え方で、生産管理業務の運用ができることを目標としています。(そうでないと、利用者は途中で挫折してしまいます。)
今回、ファイルメーカーの標準機能だけで生産管理システムの構築ができることを確信しました。
ファイルメーカ技術者の方へ
・開発に行き詰った時、どうしても結果が正常でないなどが発生した時は、一旦その場を離れ、コーヒーでも飲みましょう。そして、何故結果が違うのか・・・と軽く考えてみましょう。何かが閃くかもしれません。(私は常にそのようにしています。 ほとんどの場合、原因はファイルメーカーではなく、常に自分にあります。)
以上です。
P.S
かみゅーのホームページ
https://www.date-systems.com/