当在 PC 上的不同路径中为 B&R PLC 构建相同的源代码时,它希望重新启动 PLC,因为程序在新版本中的布局不同。在 fx 从存储库中提取代码后,在另一台 PC 上构建相同的源时,这也是一个问题。
有没有办法配置自动化工作室,或者连接到正在运行的 PLC 并从 PLC 获取二进制文件而不必重新启动它?
当在 PC 上的不同路径中为 B&R PLC 构建相同的源代码时,它希望重新启动 PLC,因为程序在新版本中的布局不同。在 fx 从存储库中提取代码后,在另一台 PC 上构建相同的源时,这也是一个问题。
有没有办法配置自动化工作室,或者连接到正在运行的 PLC 并从 PLC 获取二进制文件而不必重新启动它?
使用 AS 构建和传输有几个阶段。有时会创建二进制文件,然后将其转换为数据对象(*.br 文件)。后者有一个CRC和一些加密(我相信)。因此,每个任务最终都会成为一个数据对象(有时称为模块)。
数据对象是实际传输到 PLC 的内容。使用运行时实用程序中心 (RUC),您理论上可以从 PLC 下载数据对象,但这对您的问题没有帮助。
如果您想避免对简单更改进行热启动,您需要在项目目录中包含二进制文件和数据对象。尤其是Temp和Binaries文件夹。否则 AS 将考虑您的下一次构建需要在传输后进行热启动的重建。
如果您的存储库有一个构建链,您可能会考虑将二进制文件等存储为工件。我知道一些公司正是这样做的。
我过去使用的选项是利用 RUC 仅传输您已修改的程序。修改后首先构建您的项目。打开 RUC 并选择 Create, modify and execute projects。在这里你基本上可以做一些脚本。在工具箱中,您可以找到模块功能,它允许您在建立连接后将数据对象下载到 PLC。只需在项目的二进制文件夹中选择要传输的任务。
也可以修改位于二进制文件中的 Transfer.lst,但我自己没有尝试过。
我希望这有帮助。