Divalto連携ガイド SkyPlanner APSで生産スケジューリング
このDivalto連携ガイドでは、パートナーやIT部門向けに、Divalto infinityをSkyPlanner APSに接続する方法を解説します。SkyPlannerはDivalto標準のRESTサービスを使い、次のデータを双方向で連携します。
- OFとséquences OF、gammes、nomenclatures、articles、centres de charge、postes de travail、ressources、opérateurs、outillages、在庫、仕入先への発注を取り込みます。
- 各OFとséquenceに開始・終了予定日時を書き戻します。代替リソースに作業を移した場合は、変更先のcentreまたはposteも書き戻します。
- 必要に応じて、作業者の作業時間と完了サイクルも書き戻せます。
Divaltoの連携インターフェース
Divalto infinityのAPIプラットフォームには、外部スケジューラとの連携に使える三つの仕組みがあります。
- RecordSql(標準REST)。宣言済みのクエリファイル(DHOQ)を通じてDivaltoのテーブルを読み取ります。OF、séquences、gammes、articles、postes、在庫の読み取りに使います。新しいクエリ宣言の反映には、最大十分かかる場合があります(Divalto RecordSqlの設定)。
- WEBSERVICE_INFINITY(REST)。Divaltoの業務Webサービスです。各呼び出しでは、アクションWEB_SERVICE_INFINITY、アクセストークン、業務アクション・dossier・データを指定するパラメータ文字列をJSONボディで送信します(呼び出し形式)。生産関連のアクションには、create_dataxml(生産用scrutateurへのファイル配置)、integration_dt(構成部品、séquences、ressources、outillagesなどの技術データの作成)、在庫照会、品目作成があります(生産関連のアクション)。
- 生産用scrutateur。Divaltoの生産機能でXMLファイルを取り込むファイル監視機能です。create_dataxmlは、この機能にbase64形式のファイルを渡します。取込種別には、予定日時用のGG_DATES_ORDO、作業時間用のGG_TEMPS_IMPORT、完了サイクル用のGG_FIN_DE_CYCLE、MESデータ用のCO_MES_IMPORT、部品消費用のGG_COMPOSANT_OMがあります(create_dataxml)。
DivaltoのSOAPサービスは、このプラットフォームではすでにサポートされていません。連携はRESTのみで構築してください。
認証
- Divalto側。DLMTで作成したアカウントのユーザー名とパスワードを、Divalto APIゲートウェイのAuthent/AuthエンドポイントにPOSTします。取得するアクセストークンの有効期間はDivaltoによると四十五分のため、コネクタはタイマーで定期的に更新します。トークンはHTTPヘッダーではなく、各業務呼び出しのJSONボディに含めて送信します(Divaltoの認証)。
- SkyPlanner側。REST APIはAuthorization-Tokenヘッダーに指定したAPIトークンで認証します(SkyPlanner Settings > API)。仕様はSwagger/OpenAPIで公開されています。最初の呼び出し手順は、連携チュートリアルで確認できます。
イベントとポーリング
DivaltoのWebhookは受信専用です。外部システムがDivaltoのWebhookを呼び出すと処理が開始されます。Divaltoは、Webhookはデータを返すためのものではないと説明しています(DivaltoのWebhook)。Divaltoから外部へのイベント送信はありません。
そのため、Divalto側のデータはポーリングで取得します。未完了のOFと最近の変更に絞ったRecordSqlクエリで、新しい作業を取得します。頻度は工場ごとに設定し、OFは数分ごと、在庫は毎時などとします。
SkyPlannerは状態やスケジュールが変わるとWebhookを送信するため、書き戻しはイベント駆動で行います。
データマッピング
| Divaltoのオブジェクト(インターフェース) | SkyPlannerのオブジェクト | 連携方向 | 頻度 |
|---|---|---|---|
| Articles、品目特性(RecordSql) | 製品と資材、製品プロパティ | Divalto → SkyPlanner | 初回取込後、ポーリング |
| Nomenclatures(構成部品) | 製品構成、子製品、製品ごとの資材 | Divalto → SkyPlanner | 初回取込後、変更時 |
| Gammes:séquences、opérations standard、作業時間、ressources、outillages | 工程とその所要時間、段取り・後片付け時間、工具 | Divalto → SkyPlanner | 初回取込後、変更時 |
| Ateliers、centres de charge、postes de travail | リソース、リソースグループ、稼働効率 | Divalto → SkyPlanner | 初回取込後は、まれに更新 |
| Opérateursとhabilitations | 担当者と作業可能なリソース | Divalto → SkyPlanner | 初回取込後、変更時 |
| Posteのカレンダー | シフトと非稼働日 | Divalto → SkyPlanner | 毎日、またはSkyPlanner側でシフトを管理 |
| OF(BF)とséquences OF(BH)、納期・構成部品を含む | オーダーと作業、納期・必要資材を含む | Divalto → SkyPlanner | 数分ごとにポーリング |
| 品目・倉庫別の在庫 | 在庫残高 | Divalto → SkyPlanner | 毎時またはスケジューリング実行時にポーリング |
| 仕入先への発注と納入予定日 | 購買オーダー、納入予定日別の入荷予定資材 | Divalto → SkyPlanner | 毎時またはスケジューリング実行時にポーリング |
| GG_DATES_ORDO:OFの開始・終了(BF.PLANDEBDH、BF.PLANFINDH)、séquenceの開始・終了(BH.PLANDEBDH、BH.PLANFINDH)、CENTREとPOSTE | 作業・工程ごとの開始・終了予定日時、割当リソース | SkyPlanner → Divalto | スケジュール変更時、SkyPlannerのWebhook経由 |
| GG_TEMPS_IMPORT:séquenceごとの作業時間 | 作業時間記録と作業者による実績報告 | SkyPlanner → Divalto | 連携する場合、実績報告ごと、またはシフトごと |
| GG_FIN_DE_CYCLE:完了サイクル | 完了数量 | SkyPlanner → Divalto | 連携する場合、実績報告ごと |
| Divaltoにはなし | 段取り時間マトリクス、数量制約のあるリソースとしての工具、代替設備・担当者 | SkyPlannerで管理 | 導入支援時に設定 |
連携パターン
1. マスタデータの初回取込。RecordSqlクエリを宣言し、articles、nomenclatures、gammes、centres de charge、postes、opérateurs、outillages、カレンダーを読み取ります。centresをSkyPlannerにどう対応付けるかは、明確に決めてください。たとえば、四つのpostesを持つcentre de chargeは、四つのリソースを含む一つのリソースグループに対応します。
2. OFの同期。未完了のOFをséquences・構成部品とともに読み取り、未完了の仕入先発注も取得します。SkyPlannerは、発注済み資材を購買オーダーの納入予定日に使用可能として扱い、購買オーダーがDeliveredになると在庫を更新します。Divaltoが日程を再調整するのは親OFのみのため、親OFとその子OFはまとめて読み取ってください。
3. スケジュールの書き戻し。エンジンが作業を配置または移動すると、SkyPlannerのWebhookをきっかけにcreate_dataxmlを呼び出します。送信するのはGG_DATES_ORDO形式のファイルです。OFごとにdossier、事業所、OF番号、開始・終了予定日時を含め、séquenceごとに番号と開始・終了予定日時を含めます。代替リソースに作業を移した場合は、centreとposteも含めます(GG_DATES_ORDOの形式)。Divaltoのscrutateurが、このファイルをOFヘッダーとséquence明細に取り込みます。
4. 製造現場からの実績報告。作業者はSkyPlanner Mobile ConfirmationsまたはProduction Timerで作業を記録し、その作業時間記録によってスケジュールが最新に保たれます。作業時間をDivaltoへ書き戻すかどうかは選択できます。書き戻す場合は、作業時間をGG_TEMPS_IMPORTファイル、完了サイクルをGG_FIN_DE_CYCLEファイルとして送信します。書き戻さない場合は、従来どおりDivaltoのMESに作業時間を入力します。
5. データの管理主体と競合時のルール。本稼働前に、次の内容を文書化してください。
| データ | 管理主体 |
|---|---|
| Articles、nomenclatures、gammes、OFの数量とステータス | Divalto |
| Séquenceの順序、開始・終了日時、posteの割当 | SkyPlanner |
| 段取り時間マトリクス、工具・作業者の要件、代替リソース | SkyPlanner |
| シフトと非稼働日 | 要件定義で決めた一つのシステム |
| 作業時間、消費実績、完了実績 | Divalto。直接入力するか、SkyPlannerの作業時間記録から送信 |
OFの日程を書き込む主体は一つに決めてください。予定日時の書き込みは、Opcenter APSや手動での日程再調整に代わってSkyPlannerが担います。Opcenter APSを使用している場合、SkyPlannerがスケジュールするOFについては、Opcenter APSからの取込を無効にしてください。両方がGG_DATES_ORDOを使用するためです。
一般的な導入手順
通常、導入支援の開始から数週間で実装が完了します。その前に、DivaltoからCSVまたはExcelでエクスポートしたpostes、gammes、未完了のOFを使い、30日間の無料トライアルでスケジュールを検証してください。
- マッピング。マッピング表、データの管理ルール、同期頻度、作業時間を書き戻すかどうかを確定します。
- Divaltoへのアクセス。 DLMTで連携用アカウントを作成し、RecordSqlクエリを登録して、生産用のscrutateurを有効にします。まずテスト環境で検証してください。
- 初期データの取り込み。 Articles、nomenclatures、gammes、centres、postes、opérateurs、outillages、カレンダーを取り込みます。
- OFと発注の同期。 フィルター、ページング、再試行を組み込んだポーリングを行います。
- SkyPlannerでの制約設定。 段取り時間マトリクス、工具、作業ごとの作業者数、代替のpostesや人員を設定します。
- スケジュールの書き戻し。 SkyPlannerのWebhookを起点に、create_dataxml経由でGG_DATES_ORDOを書き戻します。工数実績の送信を選択した場合は、それも実装します。
- 並行テスト。 現行の計画と並行してSkyPlannerを運用し、日付を比較してマスタデータを修正します。
- 本番稼働。 データの一致を確認したら、書き戻しを有効にします。
Divalto連携で事前に検討しておくこと
- scrutateurの設定。 create_dataxmlのファイルを受信できるのは、生産用scrutateurが有効で、Production dossierのMESチェックボックスと「Interfaces」パスが設定されている場合だけです。
- トークンの更新。 Divaltoのアクセストークンは短時間で失効します(「認証」を参照)。API呼び出しをまとめて実行するたびに、事前に更新してください。
- クエリの登録。 RecordSqlクエリは、新規作成や変更から有効になるまで数分かかります。初期データの取り込み前に登録してください。
- 親OFと子OF。 Divaltoが日程を再調整するのは親OFだけです。子OFを子製品としてスケジュールし、構成品が揃うまで親OFが待つようにします。
- 品目の特性。 Divaltoでは、品目のスケジューリング属性を十個の特性フィールドに保持します。これらは、段取り時間マトリクスや「Allow similarity」で使うSkyPlannerの製品属性に対応付けやすい項目です。
Divalto連携の設定とサポートの担当
- SkyPlannerチームが導入時の設定と本番稼働後のサポートを担当します。対象は、合意したRecordSqlクエリとWebサービスのアクションです。Divaltoの運用方法は工場ごとに異なるため、各工場の運用ノウハウをここに反映します。
- お取引先のDivaltoパートナーも参加できます。 パートナーはお客様のdossier、surcharges、各種設定を把握しており、SkyPlannerチームとともにDLMTアカウント、クエリ、scrutateurを設定できます。
- 自社の開発者による拡張も可能です。 APIトークンを使ってSkyPlannerのREST APIに接続できます。APIトークンがあれば開発を始められ、必要に応じてSkyPlannerチームが支援します。連携の技術資料はSkyPlanner連携ドキュメントをご覧ください。
SkyPlannerは5リソースを含めて月額199 €から利用でき、月ごとの請求となります。連携費用は、お客様の業務プロセスと要件に合わせ、プランとあわせて事前にお見積もりします。料金、Divaltoでの生産能力を考慮した生産スケジューリング、Divaltoのページ、ERP連携一覧をご覧ください。
製造業のお客様によるSkyPlannerの評価
2時間毎週の業務時間を削減
「SkyPlannerによって、Excelの表で行っていた生産計画から、リアルタイムでの生産最適化へ移行できました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画にかかる業務時間を毎週2時間削減し、新しい作業順序を数秒で製造ラインに届けられるようになりました。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、全リソースを対象に三か月分の最適化された計画を30分未満で作成できるようになりました。
100%2021年以降の納期遵守率
「SkyPlannerで生産能力を見える化でき、見通しを持って計画を立てられるようになりました。」
Dan Berglund、COO/CFO
Opes Corporation · 化学品・食品製造
2021年にSkyPlannerの利用を開始して以来、納期遵守率は一貫して100%を維持しています。
削減材料不足による生産停止
「SkyPlannerの価値は、日々の業務、特に納期の設定に役立つツールであることです。」
Tommi Männistö、生産計画マネージャー
Eskomatic · 機械加工受託
負荷の自動割り付けによって納期の精度が高まり、材料不足による生産停止が大幅に減少しました。
よくある質問
Divaltoには製造指図用のAPIがありますか?
はい。RecordSqlはREST経由でOF、séquencesなどのテーブルを読み取ります。また、WEBSERVICE_INFINITYサービスは、生産向けのcreate_dataxmlやintegration_dtなどの業務アクションを実行します。
DivaltoはWebhookに対応していますか?
DivaltoのWebhookは受信専用で、データを返しません。この連携では、工場ごとに設定した間隔でRecordSql経由でDivaltoをポーリングします。一方、SkyPlanner独自のWebhookは、スケジュールが変更されるとその都度変更内容を送信します。
計画日付はどのようにDivaltoへ書き戻されますか?
create_dataxmlアクションでGG_DATES_ORDO XMLファイルを送信して書き戻します。このファイルには、各OFと各séquenceの開始・終了予定日が含まれます。作業の割り当て先が変わる場合は、変更先のcentreまたはposteも含まれます。Divaltoの生産用scrutateurがこのファイルを取り込みます。
連携にはOpcenter APSが必要ですか?
いいえ。SkyPlannerが実際の生産能力を考慮して生産スケジューリングを行い、計画日付も自ら書き戻します。現在Opcenter APSをお使いの場合は、OFの日付を書き込む役割をSkyPlannerに一本化します。
DivaltoパートナーはOpcenter APSとSkyPlannerのどちらを提案すべきですか?
実際の生産能力を考慮したスケジュールを数週間で運用に乗せ、その後も自動で最新に保ちたいお客様には、SkyPlannerを提案してください。DivaltoのOpcenter APSは計画担当者が起動したときに実行され、Windowsフォルダー経由でファイルを交換します(Divaltoのドキュメント)。SkyPlannerはDivaltoのRESTサービス経由で接続し、自動で再計画を行います。段取り替え、工具、作業班、材料を計画に組み込み、ユーザー数は無制限で、月額199 €から利用できます。
連携を構築する前にSkyPlannerを試せますか?
はい。30日間の無料トライアルでは、DivaltoからCSVまたはExcelでデータを取り込み、最大20リソースで試せます。クレジットカードは不要です。トライアルを開始するか、連携の要件定義について営業にご相談ください。