”なんちゃって‼ 生産管理プログラム” を作る 5の①--部品表登録(ver1j以降適用)
前書き
“なんちゃって‼生産管理プログラム” を趣味で作ってます。
その【考え方】と 【Accessで作成】 の記事です。
素人なので、間違っているところも多いと思いますが、
『こういう考えの人もいるんだな』って感じで読んでください。
(上級者の方には、多分 参考にならないと思いますが・・)
※ACCESSのプログラムは、作成方法の記事を読む参考として使うため、
プログラム内容と処理結果は保証できません。
※ACCESSのソフトとして、まずは動作しないと、ブログ記事の内容が
うまく説明できないので、必ず動作するか、ご確認ください。
動作しない、またはエラーが出る場合は、それをご理解の上、
記事だけでも御覧ください。
【〈エラーが出る対処法の参考にしてください
→ ”なんちゃって‼ 生産管理プログラム” を作る 2--準備と起動】
部品表について
前回までの記事 (4の1~5) で生産管理に必要な基本データを【登録】してき
ました。プログラムの処理方法も考え方も一般的だと思います。
ここからは、そのデータを加工して【運用】する記事が中心となります。
"生産管理システム" と称するなれば、いろいろな特色が出てくるところだと思いますが、この記事は題名どおり、簡素な "生産管理プログラム" なので、大した内容ではなく、初心者向けの記事と考えてください。
部品表に【求めるもの】と【対応方法】
生産管理の立場から、『部品表で何がしたいのか』を考えてみます。
そして、それを実現する方法を考えたいと思います。
・生産計画に必要な部品の所要計算
まずは、一番基本的なことですが、
①生産計画から部品表の構成部品とその所要数量を計算する。
②その構成部品の中に "途中加工品" (ここでは、半製品と記述して
います。) が存在すれば、さらに下位の構成部品の数量を計算する 。
(さらに下位の構成部品があれば繰り返しますが、MRPに無限ループを
避ける工夫が必要です。)
③上記構成部品の所要日時を計算する。
工程情報を持つ部品表から生産工程のLT (リードタイム) データでの概算
計算とします。
( 市販のシステムなら、他計画も合わせたスケジューリング機能で、
何日・何時間前に、その部品が必要になるか最適な結果が出せるで
しょうが・・・素人の自作なので、簡易計算となります。)
この段階では、部品の価格・入手困難品・保管場所問題等をABC管理の
観点で捉え、BC品は標準の生産工程LTを参考に生産開始日を決めて、
その日付にまとめて手配します。A品だけは、もう少し細かい日時計算
をする必要があるとは思いますが、いづれにせよ、まずは、部材手配を
迅速にできないと、どんどん手配計画が遅れてしまいます。
④全計画の所要部材計画を集計する。( 何が、どれだけ、いつ 必要か。)
他の計画(製品別、同製品でも計画別) の所要で、同一部品を同一ベン
ダーに発注するの場合、発注ロットの違いにより単価も変わるので、
単価、運賃のコストも考慮してまとめ発注も必須です。
・生産計画に必要な生産工数の計算
次に、生産能力と必要工数の引き当て計算が必要ですが、
計算に必要なデータとして、部品表の一つで "工程部品表" があり、
その情報を利用します。
保有能力から現時点の生産予定残の必要工数を差し引き、次に新規計画に
引き当てします。
①工程情報を持つ工程部品表から生産計画に必要な工程別の工数を
日単位で算出。 (市販のシステムなら、ワークセンターの人数・時間・
設備能力・平行工程など条件が様々でも対応できますが、このプログ
ラムではごく簡易的な参考程度の計画とします。)
➁全計画に優先度を決めて工程別・日別の所要工数を集計します。
③過去の生産実績から、少しでも精度の高い工数情報をサンプリングし、
データを更新します。
・部品表履歴(設計変更)の管理
当然のことなのですが、部品表には設計変更が発生します。
部品表は、新旧複数が存在し、同一製品において、現行の複数の生産計画が
どの部品表を適用しているのかを管理する必要があります。
【製品KEY】と【部品表KEY】が単純に紐づけされているシステムでは、
設計変更で部品表が変更されるタイミングで、部材の所要展開の結果が
当初と変わってしまい部材ピッキング途中や部材手配途中の生産計画に
おいて、部材の所要と引き当てが狂ってしまいます。
この場合の安易な対処として生産計画の部品出庫後などのタイミングを計
って、《設計変更の許可をする》・《RevUPした、新【部品表】を製品に
紐付ける》などの手操作が考えられます。
(バックフラッシュの設定部品があると更に厄介ですが・・・)
しかし、そのタイミングまで次の生産計画ができなくなったり、
設計変更 の緊急度 (緊急な設計ミス、緊急度の低い在庫消化後のコストダウ
ン用の部品表など) の違いもあり、個人メモや、表計算ソフト等で自分用
部品表を作って補正し対応するのでは運用ができません。
部品所要・製品所要に狂いを発生させない方法として、このプログラム
では、生産する【製品KEY】と 展開する【部品表KEY】の間に、紐付の
管理を目的とした [製品Rev管理] テーブル を中間に用意します。
具体的には、製品にはRev (1版、2版など) を識別として付与して、任意の
部品表 を紐付します。
下記の例で説明しますと・・・、仮に "ある製品A" の受注が100個で、
その引き当てを複数の版数(適用するRev)で生産計画が存在する場合に、
・生産拠点1の完成在庫 --- 20個 (製品1版→初回登録の部品表適用品)
・生産拠点2の完成在庫 --- 15個 (製品2版→量産拠点2用の部品表適用品)
・生産拠点2の生産途中 --- 35個 (製品3版→仕様マイナーチェンジの
部品表適用中)
・生産拠点2の部材発注済 -- 10個 (製品4版→部品コストダウンの部品表
適用中)
・生産拠点2の部材未手配 -- 20個 (製品5版→調達困難部品の変更の
部品表適用予定)
となります。
所要展開は、製品KEYと版数(Rev) を キーとして、紐付いた部品表か
ら構成部品を計算します。また、製品や生産計画のRevのトレサビリティ履
歴も管理できます。
運用手順として、
①製品KEYのRevごとに 部品表を関連付けます。
製品KEY と 部品表KEY が独立しているので、製品のどの版数(Rev) が、
どの部品表を適用するのかを決めて登録することが必要です。
これは製品仕様の決定なので、設計部門の管理業務となります。
設計ミス等で、適用禁止にする版数の指示も設計部門の管理業務です。
②製品KEYにRev(版数) が付与されたので、次に生産計画を立案し 製品Rev
を紐付けることで、適用する部品表と台数が決定され部材所要が発生し
ます。生産管理の業務です。
(企業によっては、別の部署の管理としたり、生産管理部門が代行する
ところもあります。)
生産計画の登録例として、下記の情報を紐付けることができます。
生産計画名 --- AK0022
製品名--- 老眼べっ甲めがねRB
製品Rev --- 2
適用部品表 --- 46B部品表
生産数--- 50
生産拠点 --- 3 ( 長崎べっ甲工場)
生産開始予定日--- 2022/07/25
製品完成予定日--- 2022/08/08
シリアル管理有無 --- 管理有 No0001 ~ 付与
※製品Rev管理 の記事は、 "5-➁ -- 製品Rev管理" の記事となります。
※生産計画マスタ の記事は、更に後の記事となります。
↓wiki から画像をお借りしました。
https://ja.wikipedia.org/wiki/F-4_(%E6%88%A6%E9%97%98%E6%A9%9F)
このプログラムの部品表について、
①構造と種類について、
・構成部品が 数十点程度と少ない製品を対象としています。
・このプログラムで登録する個々の部品表は、"サマリー形式" です。
・この部品表には、工程情報 ( 生産工程名[ワークセンター名] 、
その工程の順番と使用部品 、所要工数など ) のデータはもちません。
別テーブルの "工程部品表" に 登録します。
②運用方法について、
一般的には、 "ストラクチャー形式" の 部品表が使われていますが、
ここでは下記運用のため"サマリー形式" を使ってます。
(半製品をファントム品とすれば部品表のストラクチャー化は簡単です
が、運用が制限されます。)
①半製品を在庫管理する。
②半製品の完成数で入庫処理し、工程進捗の管理手段とする。
半製品とは、一般名として "途中加工品"・"中間製品"・"ユニット" など
呼び名は様々ありますが、ここでは定義を【在庫管理可能】で、【汎用性
のある段階の物】を "半製品" と記述し運用します。
【在庫管理可能】とするためには、半製品の品名を登録する必要が
あります。【汎用性のある段階の物】とするには、複数の親製品に
共有するために半製品を標準化し、その部品表を作成登録します。
また、在庫にも汎用性があるので、親とは別の独立した生産計画
で、まとめ生産・先行生産を可能とします。
半製品の部品展開の方法は、
●[製品(親)の生産計画] と [製品(親)の部品表] の構成部品展開で、
半製品(子)の所要数を計算。
↓
●その [半製品(子)の生産計画] と [半製品(子)の部品表] の構成部品
展開で、半製品(孫)の所要数を計算。
↓
●さらに [半製品(孫)の生産計画] と [半製品(孫)の部品表] の部品展開
で、所要数を計算。
となります。簡単に言うと "親・子・孫" の部品表で運用します。
※ "親と子" を別登録して運用するので、"ストラクチャー形式"
ではなく、"サマリー形式" を複数持つ多段階の部品表で運用します。
欠点もあります。
①半製品が多いと、それぞれの生産計画を登録する手間がかかるので、
半製品の定義を下記条件とし部品表への登録を制限します。
・他製品にも、共通性があり、ユニット化で設計の標準化が可能
なもの。
・在庫を他製品にも引当し、また別の生産拠点への供給(在庫移動)
可能なもの。
・先行生産、まとめ生産が可能なもの。
➁MRPを回す回数が増えます。親・子・孫 と階層の数だけ回す必要が
あります。一般のストラクチャー形式のローレベルコード管理の部品
表展開なら、MRPは、『うまくいけば』 、一度で済みますが、実際に
は、どんなMRPの所要引当計算でも、在庫部品の損耗、製造への歩留
補充、ベンダーの納期遅れ、部品表変更、製品納期変更等、生産計画
の見直しで、MRPを何度も回さないと最適化できないのが現状です。
このプログラムは、部品表をサマリー形式で持ち、それらを多段階に
展開します。無駄で下手な処理も多くMRPのエンジンの手法も遅いの
で、部品表の階層を0からMax5段階とします。
③登録方法
部品表の登録段階には2ステップあります。
ステップ1--- 構成部品が未登録の空の部品表を作成します。
作成方法は2つあり、
・半製品、製品のマスター登録の際に、空の部品表を自動作成。
・部品表登録画面で空の部品表を手作成。
(使い分けは、自動作成の部品表は初版に、手作成の部品表
は、2版~とするなどです。)
ステップ2 -- 空の部品表に構成部品を追加登録します。
作成方法は部品表登録画面で手作成します。
部品表 テーブルの登録項目
登録項目の説明
・ 部品表KEY--自動登録の場合は、製品KEY + "部品表" となります。
任意登録の場合は "*****部品表"とします。
各製品ごとに、複数の部品表が存在するため、名称は
何らかのルールが必要です。名称重複は不可設定です。
・REFNO -- 任意に登録する参考情報です。構成部品の部品番号などで、
電子部品でトランジスタなら、回路番号(TR1,TR5,TR10 )を
任意で登録可能です。部品単量が複数(例えば x3個)の場合
は、レコード登録を (3行ともx1個) 別々に登録し個別の
REFNOを登録する方法もあります。
・部品KEY ---構成部品の部品KEY。NULLも可とします。
製品KEY登録時に、空の部品表として自動作成されるので
初期段階は、構成部品は未登録であり、NULLも可として
います。他のフィールド項目も同様です。
・単量 --- 構成部品の単量。マイナスも可とします。
※単量のマイナス登録とは、理屈として・・・・、
製品完了時には、その製品が台数分完成し在庫計上され、
部品は【 ( 部品表単量 ÷ 歩留率 ) X 台数分】消費されます
が、マイナス単量の登録部品は、製品完了時に 副産物として
その部品が発生し、在庫を増やすことになります。
(例--- “豆腐”を生産すると、“おから” が副産物で発生)
副産物の部品KEYは、バックフラッシュ対象とし、自動在庫
計上とします。
・YIELD --- 部品の製造良品率を 1以下 の 数字で登録します。
初期設定時は、製造実績が無いので、暫定で1とし、
以降、手動で実データに変更する方法とします。
部品所要計算に使います。
(倉庫保管等の歩留率は、部品マスタで登録します。)
・部品表単位---部品表での部品の単位です。在庫単位とは違います。
事前に部品登録の際に両方登録し、その単位変換値も
登録しておきます。
・代替品 -- 参考情報としての代替品登録で部材所要計算には展開し
ません。この部品表のみ代替え可能なメモとしての情報
です。システム上の代替品は、別の【部品マスタ】テー
ブルに登録し、部材所要計算に展開します。
・適用工程ID---部品が使われる製造工程のNoを登録します。
"工程部品表" は、この段階では、まだ未登録なので、
ここは空欄とし、後で登録します。"工程部品表" から
工程順序により、該当部品が必要となる所要日時の計算
に使います。但し、精度の低い参考程度の計算結果です。
・参考製品名---半製品については、部品として登録するときに空の部品表
(構成部品が未登録の初期の状態) が自動作成され、参考製
品名は、【部品種類記号 + 部品図番 + "半"】として自動登録
されます。製品の場合には、製品登録のときに空の部品表が
自動作成され、製品登録時の【製品名】がこの参考製品名と
して自動登録されます。
部品表を任意で手作成する場合、参考製品名は任意です。
・ID ----- 自動連番付与。
・適用拠点 --この部品表の適用する拠点番号を登録します。
登録画面
メインメニュー → [製品情報] ボタン → [製品情報] 画面
→ [部品表情報] ボタン → [部品表] 画面
作業方法
●"空の部品表" の新規登録
[手順1 適用拠点] の選択をします。
[手順2 部品表の新規登録] のボタンを押すと部品表名を設定する画面が
出ます。
新規登録なので、手順4・手順5 に進みます。
[手順4 登録状況] 表に構成部品を追加していきます。
( 構成部品なしの空の部品表も作成可能です。)
下の [手順5 アイテム追加] の表で量数を入力した部品が自動追加
されて手順4の表に表示されます。 この手順4の表で、量数の変更が
可能で、0にすることで、その部品が削除されます。
マイナスの数量で登録も可能です。(副産物の生成として運用可能。)
※この、部品表に登録する数量とは、製品を構成する必要数の
『1個』、『1cc』などで、部品発注及び在庫保管や現場出庫する
ときの『1袋』、『1巻』ではありません。
例えば、アルコール『一斗』缶で購入し、保管・出庫はそのままの
形態で移動しますが、現場では、部品表に合わせて『1cc』単位とな
ります。『一斗』で、製品18,000台分となるので、
変換値は、1:18,000 として【部品登録画面】で単位登録をします。
ほかにも、"RefNo" や その部品を使う "適用工程" 、 その工程での部品
の "工程歩留まり" を登録できます。
但し、 "適用工程" は、事前に工程部品表の登録をすることが必要
な為、今の段階では登録できません。詳細説明は、後の記事です。
入力完了後、登録ボタンを押します。
●"部品表" の構成部品の変更
[手順3 部品表の編集] 画面で、変更する部品表を選択します。
部品表keyの頭文字検索で部品表を指定するか、表中から選択します。
該当する部品表が見つからない場合は、[手順1 適用拠点] で、ダブルク
リックして、全拠点分の部品表を表示します。
[手順4 登録状況] 表に構成部品が表示されるので、この表で変更をしま
す。部品の追加は、[手順 5 アイテム追加] の表から選択します。
方法は、"●"空の部品表" の新規登録" と同じ方法です。
変更完了後、【構成部品登録・更新】のボタンを押します。
●"部品表" の削除
[手順3 部品表の編集] 画面で、変更する部品表を選択します。
部品表keyの頭文字検索で部品表を指定するか、表中から選択します。
[手順4 登録状況] 表に構成部品が表示されます。
【部品表削除】のボタンを押します。
●"部品表" を別の部品表にコピー
(既存の部品表の構成部品だけを、既存の別の部品表の中にコピーし
ます。)
[手順3 部品表の編集] 画面で、元になる部品表を選択します。
部品表keyの頭文字検索で部品表を指定するか、表中から選択します。
【別の部品表に構成部品をコピー】のボタンを押すと、メッセージが
でます。
コピー先の部品表を [手順3 部品表の編集] 画面で選択すると、
次のメッセージが出ます。
"はい" を選択するとコピーが完了します。
●"部品表" を新規部品表にコピー
(既存の部品表の構成部品だけを、新規の部品表を作ってその中にコピーし
ます。)
[手順3 部品表の編集] 画面で、元になる部品表を選択します。
部品表keyの頭文字検索で部品表を指定するか、表中から選択します。
【新規部品表に構成部品をcopy】のボタンを押すと、メッセージが
でます。
[手順1 適用拠点] の選択が正しいか確認します。訂正も可能です。
新規の部品表名を登録します。
"*****部品表" の *****の部分だけ入力します。
登録完了となります。
※部品表の登録、変更の時点に、部品表の階層チェックをします。
半製品を登録することで、下位の部品表へと階層が深くなりますが、
製品から、Max 5段階までの制限にしてあり、それより深い場合には、
アラームが表示され、トランザクションの処理が戻されます。
他に、参考情報の画面として、"手順6 生産計画と部品表の登録状況" の表
があります。登録された生産計画のうち未完了の製番が表示され、適用する【製品版数】と 適用する【部品表】の確認ができます。
外部操作ファイル(accdb改造可能)のダウンロード
vba編集とフオームを改造できるaccdbファイルです。
今回記事で操作する機能を取り出した外部操作部のファイルです。
メインの操作部の Menu画面【製品情報】 の
6_部品表情報
9_部品表部品と工程
の処理画面で、メインの操作部から呼び出して起動します。
(参考ファイルのため動作と処理結果の保証はしません。)
圧縮形式のファイル ↓
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?