Monitor ERP 集成指南:使用 SkyPlanner APS 进行生产排程
本指南面向合作伙伴和 IT 团队,介绍如何将 Monitor ERP(Monitor G5)连接至 SkyPlanner APS。SkyPlanner 通过 Monitor ERP API 与 Monitor ERP 实现双向集成:
- 导入制造订单、工序、工作中心、工艺路线和物料数据。
- 将每道工序的计划开始时间、计划完成时间及工作中心回写至 Monitor。
- 通过已上报的工时和数量,保持两个系统的数据同步。
- 排程发生变化时,SkyPlanner webhook 会即时推送。
SkyPlanner 团队会在导入实施期间,根据您的 Monitor G5 配置完成集成设置,并在上线后继续提供支持。本指南面向希望参与集成或自行基于 SkyPlanner REST API 开发的合作伙伴和开发人员。该 API 已有文档说明(API 参考)。
Monitor ERP API
Monitor G5 文档中提供的集成接口是 Monitor ERP API v1。该接口结合 CQRS 和 REST,通过 HTTPS 传输 JSON 数据。(Monitor ERP API)
- 查询通过 GET 读取数据,支持 OData 风格的选项:
$filter、$select、$expand、$orderby、$top和$skip。 - 命令通过 POST 写入数据,例如
Manufacturing/ManufacturingOrderOperations/Update。 - Batch 通过
POST /api/v1/Batch在同一个事务中执行多条命令,要么全部提交成功,要么全部回滚。追加/Simulate或/Validate可测试批处理并回滚。这是安全写入整份排程的方式。(Batch)
基础 URL 为 https://{host}:8001/{languageCode}/{companyNumber}/api/v1/。公司编号由数据库编号和公司 ID 组合而成,例如 004.1。
关于许可,Monitor 说明:”It is free to query and extract information from the API for all our customers. However, in order to use commands and write data to the ERP system, you need to purchase Monitor ERP API.”(所有客户均可免费通过 API 查询和提取信息。但要使用命令向 ERP 系统写入数据,则需购买 Monitor ERP API。)项目启动时就应将写入许可纳入计划。(api.monitor.se)
身份认证
- 会话登录。使用 Monitor 用户的用户名和密码调用
POST /{languageCode}/{companyNumber}/login,即可获得供后续调用使用的X-Monitor-SessionId响应头。也支持 MFA 令牌流程。 - OIDC。从 Monitor 25.8 起,也可通过 Microsoft Entra ID 使用 Authorization Code 和 PKCE 登录。(身份验证)
- 专用 API 用户。为集成创建一个专用用户。Monitor 自身的权限规则同样适用于该用户,例如 Show manufacturing orders 和 Replan existing manufacturing order。
在 SkyPlanner 端,REST API 使用 API 令牌进行身份验证(SkyPlanner Settings > API),并提供 Swagger/OpenAPI 文档。集成教程会逐步指导您完成最初的 API 调用。
变更检测与轮询
Monitor ERP API 参考文档未提供 webhook 或事件订阅接口。需要通过轮询获取变更:
Common/EntityChangeLogs(从 2.33 起提供)返回ChangeType(Update、Create、Delete)、EntityTypeId、EntityId和ModifiedTimestamp。每隔几分钟轮询一次,仅获取发生变更的记录。(EntityChangeLog)- 查询制造订单时,仅筛选未结订单,并使用
$top和$skip分页。
状态或排程发生变化时,SkyPlanner 会发送 webhook,因此回写端采用事件驱动方式。
数据映射
| Monitor ERP 对象(API) | SkyPlanner 对象 | 方向 | 频率 |
|---|---|---|---|
物料(Inventory/Parts) | 产品与物料 | Monitor → SkyPlanner | 首次加载,之后通过变更日志同步 |
BOM 与工艺路线:Manufacturing/MaterialRows、Manufacturing/OperationRows | 产品结构;包含准备时间和单件工时的工序 | Monitor → SkyPlanner | 首次加载,之后在变更时同步 |
Manufacturing/AlternativeOperationRows | 每道工序的备选工作中心 | Monitor → SkyPlanner | 首次加载,之后在变更时同步 |
工作中心(Manufacturing/WorkCenters):Type、TimePrecision、BasicTime、NumberOfPlanningUnits、AvailabilityFactor | 工作中心、工作中心组、效率 | Monitor → SkyPlanner | 首次加载,之后很少更新 |
Manufacturing/ProductionCalendarExceptions、TimeRecording/Schedules | 班次与缺勤 | Monitor → SkyPlanner | 每天同步,或在 SkyPlanner 中单独维护班次 |
Manufacturing/ManufacturingOrders、ManufacturingOrderNodes | 包含交期和状态的订单 | Monitor → SkyPlanner | 每隔几分钟轮询变更日志 |
Manufacturing/ManufacturingOrderOperations:Priority、WorkCenterId、PlannedQuantity、RestQuantity、PlannedSetupTime、PlannedUnitTime | 包含作业时长和剩余数量的任务 | Monitor → SkyPlanner | 每隔几分钟轮询变更日志 |
Manufacturing/ManufacturingOrderMaterials | 各订单的物料需求 | Monitor → SkyPlanner | 轮询变更日志 |
Inventory/PartLocations(Balance)、Purchase/PurchaseOrderRows(DeliveryDate、RestQuantity) | 库存;按交货日期计入的在途物料 | Monitor → SkyPlanner | 每小时或运行排程时轮询 |
ManufacturingOrderOperations/Update:PlannedStartDate、PlannedFinishDate(24.5+) | 每道工序的计划开始和结束时间 | SkyPlanner → Monitor | 排程变更时,通过 SkyPlanner webhook 触发 |
ManufacturingOrderOperations/SetWorkCenter | 引擎选定的工作中心 | SkyPlanner → Monitor | 排程变更时 |
ReportManufacturingOrderOperation / ManufacturingOrderOperationReportings | 工时记录与数量 | 仅使用一个渠道,在范围评估时确定 | 每次报工或每个班次 |
| Monitor 中没有对应数据 | 准备时间矩阵、作为有限资源的工具、多人作业任务 | 在 SkyPlanner 中维护 | 在导入实施期间设置 |
集成模式
1. 首次加载主数据。读取工作中心、工序行、备选工序行、物料行、物料和班次计划。逐一确认 Monitor 工作中心与 SkyPlanner 工作中心的映射关系。Pool 类型的工作中心映射为工作中心组,其包含的各个工作中心则映射为组内工作中心,供引擎选择。
2. 订单同步。读取未结制造订单及其节点、工序和物料,同时读取库存和未结采购订单。SkyPlanner 将已订购物料视为在采购订单交货日期可用,并在采购订单标记为 Delivered 时更新库存。首次加载后,通过 Common/EntityChangeLogs 进行增量同步。
3. 排程回写。对于引擎安排或调整的每道工序,SkyPlanner 都会发送 ManufacturingOrderOperations/Update,其中包含 PlannedStartDate 和 PlannedFinishDate。如果引擎将工序移至同一资源池中的另一台机器,则先调用 SetWorkCenter。同一订单的命令放在同一个 Batch 中,确保 Monitor 要么全部接受,要么全部不接受。测试期间,使用 /Validate 运行批处理。
在 24.5 之前的 Monitor 版本中,无法通过 Update 写入计划日期。应改用 ManufacturingOrders/ReplanOperation(从 2.40 起提供),传入 StartDate 和 FinishDate,并根据您的规则设置 RestrictToOrderBounds。
4. 车间报工。只保留一个报工渠道:
- 继续通过 Monitor 报工。操作人员仍按现有方式,在 Recording terminal 上或通过设备集成报工。SkyPlanner 读取
ManufacturingOrderOperationReportings获取进度,并重新排程。 - 改为通过 SkyPlanner 报工。操作人员使用 Mobile Confirmations 或 Production Timer 记录作业,SkyPlanner 随后向 Monitor 提交
ReportManufacturingOrderOperation。
两端同时报工会导致工时和数量重复。
5. 数据归属与冲突处理规则。上线前应书面明确以下规则:
| 数据 | 负责系统 |
|---|---|
| 物料、BOM 与工艺路线、数量、订单状态 | Monitor |
| 工序顺序、计划开始和完成时间、资源池内的工作中心 | SkyPlanner |
| 准备时间矩阵、工具、操作人员数量、替代资源 | SkyPlanner |
| 班次与缺勤 | 由一个系统管理,在范围评估时确定 |
| 工序报工 | 采用一个报工渠道,在范围评估时确定 |
冲突的主要原因是计划员仍在调整优先级计划。执行 Rescheduling according to New finish 或在 Priority planning 中拖动行,都会覆盖 SkyPlanner 写入的日期。一旦工序顺序由 SkyPlanner 管理,Priority planning 就只用于查看。启用 Autopilot 后,生产发生变化时,SkyPlanner 会自动重新排程。
典型项目步骤
实施通常可在启动导入工作后的数周内完成。在此之前,您可以使用自己的数据进行 30 天免费试用。先将 Monitor 中未结生产订单的工序和工作中心导出为 Excel,再导入 SkyPlanner,在开展任何集成工作之前验证排程结果。
项目本身包括以下步骤:
- 范围评估。确定映射表、数据管理权规则、轮询间隔、报工渠道和 Monitor 版本。
- 访问准备。创建 API 用户,购买 Monitor ERP API 写入许可,并开放端口 8001 的网络访问。
- 初始数据加载。加载物料、工作中心、工序行、备选工序、物料行和班次计划。
- 基于变更日志同步订单和采购订单。
- 在 SkyPlanner 中设置约束。配置准备时间矩阵、工具、操作人员数量,以及替代设备或人员。
- 分批回写排程,并通过
/Validate测试。 - 并行测试。让 SkyPlanner 与优先级计划并行运行,对比日期并修正主数据。
- 上线。数据核对一致后,启用回写。
Monitor ERP 集成需要提前考虑什么
- 可用率系数。Monitor 使用可用率系数将总产能折算为净产能,新建工作中心的默认值为 80 %。这一系数只能应用一次:要么设为 SkyPlanner 中的效率,要么通过缩短班次体现,不能两者同时使用。
- 时间精度。使用 Day planning 的工作中心以每日基本工时表示产能,不包含班次时段。请根据生产日历,将实际班次映射到 SkyPlanner,确保作业安排在工作时间内。
- 排队时间与重叠比例。工序行包含排队时间和以 % 表示的重叠比例。应在范围评估时确定各项如何映射到 SkyPlanner,否则上线后生产提前期会发生变化。
- 资源池。资源池工作中心在 Pool planning 中规划,而不是在 Priority planning 中。应读取资源池包含的工作中心,不能只读取资源池行。
- 版本要求。通过 Update 写入计划日期需要 24.5 版本。API 中的工作中心产能字段需要 24.3 版本,OIDC 则需要 25.8 版本。在范围评估之前,请先核实具体版本。
- 网络与证书。本地部署的 Monitor 使用自签名证书,通过端口 8001 提供 API。SkyPlanner 在云端运行,因此需要提前配置防火墙规则或中继,并显式信任该证书。
- 许可。每个需要写入数据的第三方应用,都必须有专属且具有 API 许可的用户。每套系统均自带一个只读 API 用户。
Monitor ERP 集成由谁配置和支持
集成工作包括对工作中心、工序行和订单流程进行映射,以及配置 Monitor 中没有记录的约束:准备时间矩阵、工具、操作人员数量和替代资源。
- SkyPlanner 团队在导入阶段完成配置,并在上线后提供支持,范围涵盖 SkyPlanner 端和双方约定的 Monitor ERP API 调用。每家工厂使用 Monitor G5 的方式都不同,这些实际经验正是在此发挥作用。
- 您的 Monitor 合作伙伴也可以参与。合作伙伴熟悉您的配置、版本和权限,可以准备 API 用户、许可及网络访问。SkyPlanner 提供 REST API、Swagger/OpenAPI 文档和 webhooks。
- 您自己的开发人员也可以在此基础上开发,使用同一套有文档说明的 REST API,通过 API 令牌访问。只需一个 API 令牌即可开始,SkyPlanner 团队会在需要时提供协助。公开文档请见 SkyPlanner 文档。
连接完成后,Arcturus 引擎会根据 Monitor 的实时订单排程,并将计划日期写入生产订单工序。SkyPlanner 每月 199 € 起,包含 5 个工作中心,按月计费。集成费用会根据您的流程和需求,与套餐一并提前报价,让您在开始前了解全部成本。您可以查看价格,通过 Monitor ERP 生产排程了解与 Monitor 自身计划功能的对比,在 Monitor ERP 页面查看概览,或在 ERP 集成中心了解其他 ERP 的集成。
制造企业对 SkyPlanner 的评价
2 小时每周节省的时间
“SkyPlanner 让我们的生产计划从 Excel 表格转向了实时生产优化。”
Kalle Kalliomäki,供应链专员
UTU · 配电板与开关设备
生产计划工作每周节省 2 小时,新的作业队列只需几秒即可下达到产线。
+90%生产效率提升
“生产效率提高了 90%。”
Abdul Rucyinga,IT 负责人
Laboratory & Allied · 药品制造
生产效率提高了 90%,为所有工作中心制定覆盖三个月的优化计划,用时不到 30 分钟。
数以 1,000 计自动完成排程的工单
“我们对生产的掌控方式变了,对产能的认识也达到了完全不同的水平。”
Hannu Ryynänen,首席执行官
Mamec · 工业搅拌机、泵及高科技合同制造
数千张工单自动完成排程,整个组织都能实时查看生产情况。
6 个月销售可提前查看的空闲产能
“SkyPlanner 为所有生产计划工作打下了基础,也提供了可靠保障。”
Anu Järvinen,生产经理
Fredman Operations · 符合食品安全要求的包装纸
销售人员可以提前六个月查看空闲产能。过去需要一小时或更久才能答复的排程变更请求,如今几秒内即可得到回应。
常见问题
Monitor ERP 是否提供生产订单 API?
是的。Monitor ERP API 提供 Manufacturing/ManufacturingOrders、ManufacturingOrderNodes、ManufacturingOrderOperations 和 ManufacturingOrderMaterials 查询接口。ManufacturingOrderOperations/Update 和 ReplanOperation 等命令可将计划日期回写。
通过 API 向 Monitor 写入数据,是否需要额外许可?
是的。所有 Monitor 客户都可以免费通过 API 读取数据。执行写入数据的命令则需要购买 Monitor 销售的 Monitor ERP API 许可。您的 Monitor 合作伙伴或 Monitor 销售团队可提供报价。
Monitor ERP API 是否支持 webhooks?
文档中没有记载 webhooks 支持。集成会每隔几分钟轮询 Common/EntityChangeLogs,仅获取发生变化的记录。在反向传输时,SkyPlanner 自身的 webhooks 会在排程发生变化时即时推送。
我们需要哪个版本的 Monitor?
通过 ManufacturingOrderOperations/Update 写入计划开始和结束日期,需要 Monitor 24.5 或更高版本。从 2.40 起的较早 G5 版本使用 ReplanOperation。我们会在范围评估时确认适合您具体版本的实现方式。
Monitor ERP 集成由谁开发?
SkyPlanner 团队会在导入阶段,根据您的 Monitor G5 配置完成双向集成,并在上线后提供支持。您的 Monitor 合作伙伴或内部开发人员也可以使用 SkyPlanner 有文档说明的 REST API 进行开发,只需一个 API 令牌即可开始。