接收端演示与联调
本页提供可运行的接收端演示源码:接收 POST 后还原为强类型 SetupsheetData 对象,可用控制台命令或 Visual Studio 监视查看、操作数据。正式环境请按贵司规范实现服务。
协议说明见 程序单数据对接;字段说明见 程序单 JSON 字段参考。
获取源码
| 文件 | 说明 |
|---|---|
Program.cs | HttpListener 接收、控制台命令 |
SetupSheetOps.cs | 反序列化、摘要、刀路查询、导出预览图 |
Models/SetupsheetModels.cs | SetupsheetData 等强类型模型 |
JmSetupSheetReceiver.csproj | .NET Framework 4.8 工程 |
程序单提交.txt.example | 机明侧配置样例 |
README.md | 编译 / 运行说明 |
编译与运行
环境要求:Windows、.NET Framework 4.8、Visual Studio 或 MSBuild。
编译:
msbuild JmSetupSheetReceiver.csproj /p:Configuration=Release
运行:
bin\Release\JmSetupSheetReceiver.exe
默认监听 http://127.0.0.1:1234/。
常用参数:
JmSetupSheetReceiver.exe http://127.0.0.1:8088/
JmSetupSheetReceiver.exe --pretty
JmSetupSheetReceiver.exe --fail
| 参数 / 操作 | 结果 |
|---|---|
| 浏览器 GET 监听地址 | 返回探活说明文本 |
| POST JSON | 落盘原文 *.json(多为单行)+ 分行 *.pretty.json + 明文 *.txt,返回 200 |
--pretty | (兼容参数)还原成功时总会写 .pretty.json |
--fail | 故意返回 HTTP 500(仍还原并落盘) |
版式说明:机明实际 POST 一般为单行 JSON;样例文件与
*.pretty.json分行仅便于阅读,字段协议相同。
更细的说明见 receiver/README.md;源码全文见 接收端源码。
对象还原与操作
收到程序单后自动打印中英对照明文(预览图只显示字节数),并写入 Received\同名.txt。控制台还可:
summary 打印对象摘要
text 再打印完整明文,并另存 latest-plain.txt
tools 列出全部刀路
tool <关键字> 按刀路名 / NC 名 / 刀具名查找
images 导出工位预览图
dump 将对象写回 Received\latest-object.json
load [路径] 从已落盘 JSON 再次还原并出明文
贵司对接代码可直接复用 Models/SetupsheetModels.cs(字段均有中文注释):
var sheet = JsonConvert.DeserializeObject<SetupsheetData>(json);
foreach (var tp in sheet.EnumerateToolPaths()) { /* tp.Dia / tp.NcprogramPath … */ }
机明侧配置
将示例配置复制到机明启动目录:
{机明启动目录}\系统配置模板\程序单提交.txt
示例内容(与 receiver/程序单提交.txt.example 一致):
Enable=true
URL=http://127.0.0.1:1234/
TimeoutSeconds=60
确认 URL 与演示程序监听地址一致后,重启机明并生成程序单。
不启动机明时的自测
先启动演示程序,再用 PowerShell(保证 UTF-8)推送样例:
$body = Get-Content -Raw -Encoding UTF8 samples\sample-setupsheet.json
Invoke-RestMethod -Uri http://127.0.0.1:1234/ -Method Post -Body $body -ContentType "application/json; charset=utf-8"
样例文件:samples/sample-setupsheet.json。
成功时应返回 HTTP 200;控制台打印完整明文,并在
Received\生成同名.json与.txt。输入tools可列刀路;load可离线还原。
Visual Studio 调试
- 用 Visual Studio 打开
JmSetupSheetReceiver.csproj。 - 在
SetupSheetStore.SetLatest处设断点。 - F5 启动;监视窗口添加
SetupSheetStore.Latest。 - 推送样例或机明真实程序单后,展开
PositionDataList/ToolPathList查看字段。 - 控制台输入
tool finish、images等命令操作对象。
行为说明
- 演示程序仅供联调学习,不含鉴权与数据库持久化。
- 监听
http://127.0.0.1:...通常无需管理员权限;改用其它主机名时可能需要netsh http add urlacl。 - 正式对接请自行限制来源、使用 HTTPS,并按业务做幂等与异步入库。