自动化 PLC 部署
适用于 TIA Portal 项目
自动化完整的部署生命周期:编译硬件和软件、建立在线连接、比较在线/离线状态、将固件和程序下载到 PLC,并控制 CPU 运行状态 - 全部通过 REST API 脚本化实现。
完整的部署生命周期自动化
从源代码到运行中的 PLC,每一步都可脚本化且可重复
编译
单独或共同编译硬件配置和软件块。编译结果包括错误和警告 - 集成到 CI 流水线中,以便根据构建成功与否决定是否部署。
在线连接
建立和终止与 PLC 的在线连接。支持 PLCSim Softbus、PROFINET 和手动路径覆盖。自动检测连接参数或显式指定访问点。
下载范围
根据部署选择下载范围:仅软件、仅硬件、硬件和软件结合,或仅软件更改(以实现最小影响的更新)。精确控制下发到 PLC 的内容。
CPU 状态管理
以编程方式启动和停止 CPU。在部署前后读取当前 CPU 状态。构建安全的部署序列,自动引导 CPU 完成停止 (STOP)、下载和运行 (RUN) 的切换。
受密码保护的 PLC 支持
在连接在线之前,针对受密码保护的 PLC 进行身份验证。通过 API 设置、更新和清除在线身份验证凭据,以支持安全的生产环境。
安全卫士
confirmPhysicalDownload 标志可防止意外下载到真实硬件 - 只有 PLCSim 目标允许在没有显式确认的情况下进行下载。这是针对物理 PLC 的 CI/CD 流水线的一项关键护栏措施。
标准部署工作流
从编译代码到运行 PLC 的五个步骤
编译
通过 compile_device 或 compile_block 触发硬件和软件编译。在继续之前检查结果是否有错误。编译失败将中止部署。
在线连接
调用 go_online 并指定目标设备。T-IA Connect 会自动解析访问点或接受手动路径。在继续之前使用 get_online_state 验证连接状态。
在线 / 离线比较
运行 compare_online_offline 以检查 PLC 是否已与项目匹配。如果未检测到差异,则跳过不必要的下载,从而减少生产中对 PLC 的干扰。
下载到 PLC
执行 download_to_plc 并选择范围 (Software, Hardware, HardwareAndSoftware, 或 SoftwareOnlyChanges)。仅在有意针对真实硬件时才将 confirmPhysicalDownload 设置为 true。
启动 CPU
发出 start_cpu 以使 PLC 从 STOP 转换为 RUN。使用 get_cpu_state 确认最终状态。记录结果以便进行审计跟踪和 CI 报告。
REST API 部署脚本化
使用标准 HTTP 调用将 PLC 部署集成到任何 CI/CD 工具中
编译并检查结果
# 编译设备 (硬件 + 软件)
curl -X POST http://localhost:5000/api/compile-device \
-H 'Content-Type: application/json' \
-d {"deviceName": "PLC_1"}在线连接并下载
# 在线连接
curl -X POST http://localhost:5000/api/go-online \
-H 'Content-Type: application/json' \
-d {"deviceName": "PLC_1"}\n\n# 仅下载软件
curl -X POST http://localhost:5000/api/download-to-plc \
-H 'Content-Type: application/json' \
-d {"deviceName": "PLC_1", "scope": "Software", "confirmPhysicalDownload": true}启动 CPU 并验证状态
# 启动 CPU
curl -X POST http://localhost:5000/api/start-cpu \
-H 'Content-Type: application/json' \
-d {"deviceName": "PLC_1"}\n\n# 读取 CPU 状态
curl -X GET 'http://localhost:5000/api/get-cpu-state?deviceName=PLC_1'可用部署工具
所有工具均可通过 REST API 和 MCP 协议访问