命令:在线更改
功能:该命令用于启动对当前活动应用程序的在线更改。加载时 CODESYS 只有已经在控制器上运行的应用程序的更改部分被重新加载到控制器中。
称呼: 菜单 , 对象的上下文菜单 应用
要求:应用程序处于在线模式。
在设备树中选择应用程序时,该命令在上下文菜单中可用。因此,即使该应用程序当前不是“活动”应用程序,您也可以专门针对应用程序进行在线更改。
小心
在线更改会更改正在运行的应用程序并且不会导致重新启动。
确保新的应用程序代码仍然会导致受控系统的预期行为。
根据受控系统的不同,可能会损坏系统和工件,或危及人的健康和生命。
重要
执行在线更改时,不会执行应用程序特定的初始化(例如:归位),因为机器保留其状态。因此,新的程序代码可能达不到预期的效果。
指针变量保留上一个循环的值。当指针引用其值在在线更改中更改的变量时,该变量将不再产生正确的值。确保在每个周期中重新分配指针。
更改“父应用程序”后,执行在线更改时将从控制器中删除“子应用程序”。
快速在线更改期间没有初始化代码
由于编译器版本 >= 3.5.0.0,因此对较小的更改执行“快速在线更改”。在快速在线更改期间,仅编译和下载修改后的 POU。特别是,不会生成初始化代码。
对于具有的变量 init_on_onlchange
属性,这也导致 不 正在生成初始化代码。在通常的情况下,这没有影响,因为该属性通常用于用地址初始化变量。但是,在快速在线更改期间,不会发生变量更改其地址的情况。
但是,为了确保 init_on_onlchange
属性应用在整个应用程序代码中,一般对于应用程序你可以使用 no_fast_online_change
编译器定义禁用快速在线更改。为此,请在设备树中选择您的应用程序对象并单击 特性 在上下文菜单中。以下 建造 选项卡,添加 no_fast_online_change
编译器定义。
有关详细信息,请参阅: 建造
加载列表时 CODESYS 在类别中的消息窗口中 翻译 还有更改的接口、受影响的变量和为其生成新代码的所有块。如果存储位置发生变化,则会出现一个对话框,提醒您可能与指针相关的问题。
是什么阻止了在线更改?
在 CODESYS,在执行某些操作后,将无法再对控制器进行在线更改。此后,应用程序始终必须完全重新编译。一个典型的案例是 全部清理 命令删除上次下载时存储的编译信息。但是,此类操作通常会生成您需要确认的警告。
但也有一些“正常”编辑操作会导致在下次登录时无法进行在线更改。因此,在程序 POU 中编辑时需要注意状态栏中的如下符号: .当这个符号变成红色时
, 只能执行到控制器的完整下载。双击符号打开 应用信息 与上次下载的差异列表的对话框。在对话框中,您还可以找到有关哪些更改阻止在线更改的信息。
有关更多信息,请参阅: 命令:登录
检查功能 | 激活或删除检查功能 ( 检查函数的接口变化(包括插入和删除局部变量) |
任务配置 | 更改配置设置 |
项目设置 | 的变化 编译选项 在该部分 想法 (Unicode、替换常量、登录断点) 的变化 编译器定义 |
应用程序属性 | 的变化 目标系统存储设置 (标签 建造) |
构建块属性 | 选择权的改变 外部实施 (标签 建造) |
任务局部全局变量列表 | 所有更改 |
功能模块 | 更改功能模块的基本模块( 接口列表中的变化( 例外:在列表末尾添加新接口 |
数据类型 | 将变量的数据类型从一种用户定义的数据类型更改为另一种用户定义的数据类型(例如,从 将数据类型从用户定义的数据类型更改为基本数据类型(例如从 注意:作为一种解决方法,您应该始终在更改数据类型的同时更改变量的名称。然后将变量初始化为新变量并删除旧变量。然后可以进行在线更改。 |
报警配置 | 更改警报数据库配置 更改闩锁变量的数量(也会影响数据库中的存储格式) 更改分布式警报的配置 |
数据源 | 配置中的所有更改 |
设备配置 | 设备树中的更改(也通过命令 更新设备) 更改设备配置:在标准情况下,无法在线更改设备参数。但是,可以在设备描述中配置例外。 注意:I/O 映射到变量可以通过在线更改进行。 |
可视化 | 切换叠加功能 V3.5 SP6 之前:微量元素配置变更 注意:以下适用于 V3.5 SP6:在影响可视化或影响应用程序数据的在线更改(例如:插入新变量)的情况下,可视化完全重新初始化。例如,对于 TargetVisu,这意味着可视化关闭并随着起始页再次打开。在 WebvVisu 的情况下,可视化也会在短暂的等待时间后以启动可视化重新启动。 |
单位换算 | 插入或删除单位转换对象 |
趋势 | 更改变量数或最大变量数 使用描述或特殊行设置更改变量的数量 |
有关更多信息,请参阅: 执行在线更改 和 init_on_onlchange