Divalto 集成指南:使用 SkyPlanner APS 进行生产排程
本指南向合作伙伴和 IT 团队介绍如何将 Divalto infinity 对接 SkyPlanner APS。SkyPlanner 通过 Divalto 自带的 REST 服务实现双向集成:
- 从 Divalto 导入 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 服务。每次调用的 JSON 请求体都包含 WEB_SERVICE_INFINITY 操作、访问令牌,以及指定业务操作、dossier 和数据的参数字符串(调用格式)。生产相关操作包括 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 端点,获取访问令牌。Divalto 说明该令牌的有效期为四十五分钟,因此连接器会定时续期。令牌放在每次业务调用的 JSON 请求体中,而不是 HTTP 请求头中(Divalto 身份验证)。
- SkyPlanner 端。REST API 使用 Authorization-Token 请求头中的 API 令牌进行身份验证(SkyPlanner Settings > API),接口文档采用 Swagger/OpenAPI 格式。集成教程逐步介绍了最初几次调用的操作方法。
事件与轮询
Divalto 的 webhook 仅用于入站调用:外部系统调用 Divalto webhook 来启动流程。Divalto 明确说明,webhook 并非用于返回数据(Divalto WebHooks)。Divalto 不发送出站事件。
因此,需通过轮询获取 Divalto 端的数据。RecordSql 查询筛选未结 OF 和近期变更,以获取新增生产任务。轮询频率按工厂设置,从 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 | 每隔几分钟轮询一次 |
| 按 article 和 depot 划分的库存 | 库存余额 | 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 时更新库存。应一起读取主 OF 及其子 OF,因为 Divalto 仅对主 OF 重新排程。
3. 回写排程。引擎安排或移动生产任务时,SkyPlanner webhook 会触发 create_dataxml 调用。发送的文件为 GG_DATES_ORDO 文档,包含每个 OF 的 dossier、establishment、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 日期只能由一个来源写入。SkyPlanner 将取代 Opcenter APS 和手动重新排程,负责写入计划日期。如果正在使用 Opcenter APS,应针对由 SkyPlanner 排程的 OF 关闭其导入功能,因为两者都使用 GG_DATES_ORDO。
典型项目步骤
实施启动后,通常可在数周内完成部署。在此之前,可将 Divalto 中的 postes、gammes 和未结 OF 导出为 CSV 或 Excel 文件,在 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 设置。只有启用生产 scrutateur,并在 Production dossier 中勾选 MES、设置“Interfaces”路径后,create_dataxml 文件才会写入。
- 令牌续期。Divalto 访问令牌的有效期较短(参见身份验证一节)。每批调用前都要续期。
- 查询声明。新增或修改的 RecordSql 查询需要几分钟才能生效。请在初始导入前完成声明。
- 主 OF 与子 OF。Divalto 只会重新安排主 OF 的日期。请将子 OF 作为子产品排程,确保父项等待其组件就绪。
- 物料特征。Divalto 将物料的排程属性保存在十个特征字段中。这些字段很适合映射到 SkyPlanner 的产品属性,用于准备时间矩阵和“Allow similarity”设置。
谁负责 Divalto 集成的配置与支持
- SkyPlanner 团队在实施阶段负责配置,上线后继续提供支持,服务范围涵盖双方约定的 RecordSql 查询和 Web 服务操作。各工厂使用 Divalto 的方式不同,配置和支持时需要运用相应的专业经验。
- 您的 Divalto 合作伙伴也可以参与。合作伙伴熟悉您的 dossier、定制扩展和设置,可以与 SkyPlanner 团队一起配置 DLMT 账号、查询和 scrutateur。
- 您自己的开发人员也可以在此基础上继续开发,使用 API 令牌调用 SkyPlanner 的 REST API。只需一个 API 令牌即可开始,SkyPlanner 团队会在需要时提供协助。集成说明请参阅 SkyPlanner 集成文档。
SkyPlanner 每月 199 € 起,包含 5 个工作中心,按月计费。集成费用会根据您的流程和需求,与订阅方案一并提前报价。请参阅定价、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,SkyPlanner 将接替它,成为唯一写入 OF 日期的系统。
Divalto 合作伙伴应该推荐 Opcenter APS 还是 SkyPlanner?
如果客户希望在数周内用上符合实际产能约束、并能自动保持更新的排程,应推荐 SkyPlanner。Divalto 中的 Opcenter APS 需要由计划员手动启动,并通过 Windows 文件夹交换文件(参见 Divalto 文档)。SkyPlanner 通过 Divalto 的 REST 服务连接,自动重新排程,并统筹换型、工装、班组和物料,用户数量不限,每月 199 € 起。