重构
一般来说,重构是一种在不改变其行为的情况下改进已编写软件的设计的方法。
重构 CODESYS 提供重命名对象和变量名称以及更新块 I/O 的功能。您可以显示使用重命名对象和变量的所有位置,然后将它们作为一个整体重命名或单独选择。此外,您可以 配置是否以及在哪些点 CODESYS 自动提示您重构。
重命名全局变量
要求:您已经打开了一个包含至少一个功能块的项目 脸书 和一个全局变量列表。全局变量列表 GVL 在其编辑器中打开并包含变量的声明,例如 iGlobal. 脸书 用过的 iGlobal.
选择全局变量的名称,例如
iGlobal.在上下文菜单中选择命令 .
进入对话 改名 进入输入字段 新名字 输入新名称,例如
iGlobalOK并点击 行.对话 重构 打开。在左侧窗口中,在设备树中,是对象 GVL 和 脸书 标记为红色并以黄色突出显示。在右侧窗口中是 脸书 在其编辑器中打开并
iGlobal已经在iGlobalOK重命名。点击 行.
您的项目中没有全局变量
iGlobal.现在到处都是iGlobalOK.
选择全局变量的名称,例如
iGlobal.在上下文菜单中选择命令 .
进入对话 改名 进入输入字段 新名字 输入新名称,例如
iGlobalTest并点击 行.对话 重构 打开。在左侧窗口中,在设备树中,是对象 GVL 和 脸书 标记为红色并以黄色突出显示。功能模块在右侧窗口 脸书 在其编辑器中打开。代替
iGlobal是iGlobalTest列出。将光标定位在右侧窗口中并打开上下文菜单。
选择命令 丢弃此对象 并点击 行.
在您的项目中是全局变量
iGlobal在 脸书 展示。变量现在位于变量发生的对象中iGlobalTest指定的。错误消息出现在标识符的消息窗口中
iGlobal没有定义。
添加和删除输入变量
您可以使用重构命令在 POU 的声明部分添加或删除输入或输出变量。在块的使用点/调用点更新 CODESYS 因此,您可以接受或拒绝每个使用点。你得到这个对话框 重构.
要求:你有 POU FCT 在编辑器中打开的函数类型。该函数已经有输入变量 input1 和 input2 和 inputx.她将参加节目 PLC_PRG 和 POU 叫。
把重点放在FCT函数的声明部分。
选择命令 .
用于声明变量的标准对话框出现。
声明变量
input_3有范围VAR_INPUT和数据类型INT.关闭对话框 行.对话 重构 出现(见下图)。受影响的区域用黄色标记。 (1)+(2)
选择右上角的选项 使用占位符文本添加输入. (3)
在左侧窗口中,将光标放在具有黄色背景的对象之一上,例如
PLC_PRG.在上下文菜单中选择命令 接受整个项目将新变量添加到FCT在整个项目中添加。在右侧窗口中可以看到实现部分的变化
PLC_PRG: 占位符_REFACTOR_出现在插入新变量的位置。关闭对话框 重构 和 行.
选择命令 .在项目中搜索“_REFACTOR_”以查看受影响的位置并进行相应的编辑。
注意:或者,您可以直接使用所需的初始化值插入新变量,而无需先使用占位符。在这种情况下,请在步骤 4 中选择选项“:.add with the following value”并在其右侧输入值。

CFC 块中具有占位符文本的新变量示例

还要注意通过重构删除变量的能力。
重新排序声明中的变量
在块的声明部分,您可以使用重构来改变声明的顺序。这可以通过范围声明来实现 VAR_INPUT, VAR_OUTPUT 或者 VAR_IN_OUT.
要求:您已打开 POU 的声明部分,其中包含以下声明,例如:
VAR_INPUT
invar2 : INT;
invar1 : INT;
in : DUT;
bvar : BOOL;
invar3 : INT;
END_VAR将光标放在此声明块中,然后按鼠标右键打开上下文菜单。
选择命令 .
对话 改编 出现一个列表
VAR_INPUT-变量。例如,选择条目 invar1:INT; 并用鼠标将其拖到条目前面 因瓦2。.
的声明
invar1现在是重中之重。关闭对话框 行.
对话 重构 出现。受影响的区域用黄色标记。 (见上图)
确认 行将新订单应用于区块。
更改变量声明并自动应用重构
重命名变量(使用自动声明)时,可以通过在声明中重构来支持您。
需求:功能模块 fb_A.
选择命令 .
对话 选项 打开。
选择类别 重构.
在下方激活 自动申报 选项 重命名变量时 和 用于添加或删除变量,或用于更改命名空间.
双击功能模块
fb_A.在声明中选择
fb_A例如一个变量iA.或者,您可以将光标放在变量前面或变量中。给 一 (切换 + F2)。
对话 声明变量 打开。该对话框包含以下设置
iA.更改名称
iA后iCounter_A.选项 使用重构进行更改 出现并被激活。
点击 行.
对话 重构 将 iA 重命名为 iCounterA 打开。受变量重命名影响的所有位置都标记在那里。
结束对话 行.
更改被接受。