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