程序单数据对接
机明在成功生成程序单后,可将完整程序单数据以 HTTP POST + JSON 主动推送到贵司指定的接收地址,便于对接 MES / ERP 或自研系统。
适用条件:机明为标准版及以上,并在安装目录配置
系统配置模板\程序单提交.txt(详见下文)。
下一步阅读
| 页面 | 用途 |
|---|---|
| 程序单 JSON 字段参考 | 完整数据结构与全部带注释字段说明 |
| 接收端演示与联调 | 演示程序、配置示例、curl 自测 |
| 接收端源码 | 完整 Program.cs 在线浏览与源码包下载 |
| JmSetupSheetReceiver-src.zip | 接收端完整源码压缩包(可 VS 打开调试) |
开通与配置
在机明启动目录放置配置文件:
系统配置模板\程序单提交.txt
示例:
# 机明程序单对外提交
Enable=true
URL=http://127.0.0.1:1234/
TimeoutSeconds=60
| 配置项 | 必填 | 说明 |
|---|---|---|
Enable | 建议 | 设为 false 或 0 时关闭提交(静默)。缺省或其他值视为开启。 |
URL | 是 | 贵司接收地址。为空则不提交。 |
TimeoutSeconds | 否 | 超时秒数,缺省 60。 |
修改配置后一般需重启机明,再重新生成程序单。
通信协议
请求
| 项 | 约定 |
|---|---|
| Method | POST |
| Header | Content-Type: application/json |
| Body | UTF-8 JSON;根节点即为程序单对象(无外层 data / payload 信封) |
当前版本不强制鉴权 Header。Body 可能较大(含工位预览图时),请按大数据 POST 设计缓冲与超时。
响应
| 结果 | HTTP 状态码 | Body |
|---|---|---|
| 成功 | 2xx(推荐 200) | 任意;可为文本或 JSON |
| 失败 | 非 2xx | 建议返回可读错误说明 |
重要:请以 HTTP 状态码表示成败。不要仅在 JSON 里写
success:false却仍返回200(除非双方另行约定)。
JSON 结构概览
SetupsheetData(根对象)
├── ProjectData 项目信息
├── PositionDataList[] 工位列表
│ └── PositionData
│ ├── ModelSizeByPosition / BlockSizeByPosition
│ ├── ImageBytesList[] 预览图(可忽略)
│ ├── ConfigSetupSheet 界面配置快照(可忽略)
│ └── ToolPathList[] 刀路
│ └── ToolPathData
└── 根级标量(CreatTime、火花位、二维码等)
字段含义与类型详见 程序单 JSON 字段参考。结构样例:samples/sample-setupsheet.json(已分行便于阅读;机明真实推送多为单行压缩 JSON,请按 JSON 解析,勿依赖换行)。
接收端应忽略未知字段。TimeSpan 通常序列化为字符串(如
00:12:34)。
联调步骤
- 按 接收端演示与联调 启动演示程序(默认
http://127.0.0.1:1234/)。 - 配置机明
程序单提交.txt(可参考演示目录中的示例文件)。 - 在机明中生成一张程序单。
- 在演示程序
Received\目录查看落盘 JSON;机明应提示提交完成。 - (可选)让接收端返回
500,确认机明提示失败。
常见问题
机明没有任何请求发出?
检查是否标准版及以上;配置文件是否存在;Enable 是否为 false;URL 是否为空;程序单是否生成成功。
中文乱码?
请按 UTF-8 读取 Body。
Body 特别大?
工位预览图会导致膨胀。不需要时忽略 ImageBytesList,并加大服务端请求体限制。
同一程序单会推多次吗?
每次成功出单并满足配置时都会推送;建议按工件标识 + 时间或内容哈希做幂等。