生産準備のためのスケジューラーの活用法 【部分最適化と全体最適化】

生産スケジューラーの本来の目的は詳細な生産計画を作成し現場レベルの作業指示を出すことですが、需要変動が少なく安定生産されている工場では、日々の作業指示は現場の判断で十分行えうことができ、需要の変動が予測しにくくなるほど、生産スケジューラによる作業指示が必要になります。

生産スケジューラーのデモの現場で直面する困難 【パラメータを調整してリスケジュールを繰り返し最適解を探す「暴れ馬の調教」のようなシステム】

誤解を恐れず書いてしまうと、インドネシアでのシステム営業ではシステムそのものの評価は二の次で、客とのコネや販社の実績や営業担当者の第一印象で決まってしまう。要は優れたシステムが売れるとは限らないし、売るという目的を達成するためだけならシステムの品質は重要でないとさえ言える。客側で何を導入したいかはっきりしていれば、あとは1回訪問して会社紹介、実績紹介、そしてデモを行い、「こいつらならまあなんとかするだろう」という印象を与えればそれで決まりである。

生産スケジュールを最適化する設定方法 【最適化を自動生成するものではなくパラメータを駆使して割り付き方に傾向を与えるシステムである】

生産管理システムのMRPでは、製造オーダが品目ごとの主ラインに山積みされ、負荷状況を確認しながら計画を前倒しにして、他ラインに割り当てるかの調整が必要ですが、この作業を最適化作業として自動実行してくれるのが生産スケジューラーです。

Asprovaのオブジェクトへの参照方法 【2次元に展開された生産現場の各オブジェクトにアクセスしながらシミュレーションを行うシステム】

MEは式の中で現在実行中のインスタンス(テーブル)のカレントオブジェクト(レコード)であり、MEが品目テーブルを参照している場合、品目テーブルのカレントオブジェクトのプロパティ値や子オブジェクトを参照できます。

金型や作業者などの制約を設備の生産スケジュールに反映する方法 【共通の副資源を設定することで作業が複数主資源にシリアルに割り付く計画を作成】

設備投資は簡単に今日明日中にできることではないですが、作業者は配置転換や新規採用など、低コストで柔軟に対応できる部分なので、作業者のキャパ計画で主資源の稼働率を上げることは工場経営において非常に大きな意味があると思います。 金型の保有数や金型交換にかかる段取り時間、金型と資源とのマッピング、メンテナンススケジュールなどは、主資源を基準とした生産計画に大きく影響し、作業者や金型などの主資源に対する制約条件となる副資源を生産計画に反映させることができます。

レコードセットをttxファイルを介してCrystal Reportのフィールドにマッピング

古いですがCrystal report 9にはParameter Fieldがあるので、VBからPassing Parameterするのかと思いきやRecord Setを放り投げると勝手にフィールドから値を取ってくれるので、Crystal Report Viewerという無償のActiveXコンポーネントビューアーの中にレポートを表示できます。

受注に対するまとめ製造と製造に対するまとめ購買 【期間まとめは受注に対してロット生産する製品、またはロット発注する材料に対して設定する】

出荷7日分をまとめて製造する場合、受注オーダ品目である製品の出荷7日分を1製造ロットとしてまとめて製造指図を発行する」ということであり、まとめ対象である製造オーダ品目は最終工程の出力品目である製品になります。 同じように材料所要量10日分を1購買ロットとして購買指図を発行する場合、まとめ対象である購買オーダの出力品目は材料になります。

DLLまたはEXEからのAsprovaプロジェクトオブジェクト取得方法

Asprovaの各テーブルにアクセスするためには、メモリ上に展開されているAsprovaのプロジェクトオブジェクトを通す必要があり、このプロジェクトオブジェクトの取得方法はDLLとEXEでは異なります。 DLLの場合は引数argsにASPArgListというプラグインキーに関連のあるオブジェクトのリストをロードしここからプロジェクトオブジェクトを取得しますが、EXEの場合は所定のプロジェクトファイルをロードしたドキュメントオブジェクトからアクティブなプロジェクトを取得します。

AsprovaのプラグインDLLと拡張インターフェイスDLLの違い 【プラグインDLLは関数の追加、拡張インターフェイスDLLは既存ロジックの変更】

プラグインDLLは機能(関数)の追加、拡張インターフェイスDLLは既存ロジックに対する変更のために開発します。 AsDefaultクラスのAutoRegistrationメソッドの中にプラグインキー(KeyHookGeneric)を定義するか、インターフェイス(IEIIFilterCalcReplenishOrderLotSizing)を定義するかの違いです。

実績の入力・修正が作業とオーダのステータスに与える影響 【オーダを完了させると全作業が完了するが未着手に戻しても作業の実績は計画済みに戻らない】

すべての作業は日時固定レベルと数量固定レベルを持っており、作業をマニュアルで移動させると日時固定レベルが10になるのでリスケジュールにより前後作業が引き寄せられ、また作業に実績数量を入れると日時固定レベルが40になるのでリスケジュールにより後工程作業の計画数量が実績数量で上書きされます。 生成された作業を完了させると該当作業を含むオーダが着手済みになり、作業を計画済みに戻すとオーダは未着手に戻り、オーダを完了させると該当作業すべてが完了しますが、オーダを未着手に戻しても作業実績は消えず計画済みに戻りません。

COMインターフェイスを通したAsprovaの機能の拡張 【イベント発生のアクセスポイントで実行させるプラグインキー(Hook)】

市販のERPシステムやAPSシステムでは、ソースコードは公開しない代わりに、COMインターフェイスを公開し、Standard EXEファイルやプラグイン(DLL)で機能を拡張することができるようにしています。 Wordpressと同じようにAsprovaのプラグインも単体では動作せず、本体のソフトウェアに追加しなければ機能しません。 Asprova本体は、イベントの発生タイミングにプラグインを実行させるためのHookを用意しており、このイベントを表すアクセスポイントであるプラグインキーがWordpressのdo_actionフックまたはapply_filtersフックに該当します。 WordPressのプラグイン追加の概要は「Wordpressのプラグイン開発とは」に記載しています。

Asprovaのスケジューリングロジック【ステータス「割付済み」の作業には何もしないため、実績や修正を反映させるため「割付解除」してリスケジュールする】

リスケジュールのロジックの中で、リスト生成フェーズにてオーダテーブルからオーダリストを生成するのがオーダ収集コマンドであり、作業テーブルから作業リストを生成するのが作業収集コマンドであり、いずれも親の計画パラメタに保存されます。 コマンド実行フェーズで、オーダ展開コマンドが作業入力指図と作業出力指図を生成することで所要量展開を行い、オーダ割付/紐付けコマンドが作業使用指図を生成することで資源に対する割付を行います。