Skip to main content

重构

一般来说,重构是一种在不改变其行为的情况下改进已编写软件的设计的方法。

重构 CODESYS 提供重命名对象和变量名称以及更新块 I/O 的功能。您可以显示使用重命名对象和变量的所有位置,然后将它们作为一个整体重命名或单独选择。此外,您可以 工具 → 选项 配置是否以及在哪些点 CODESYS 自动提示您重构。

重命名全局变量

要求:您已经打开了一个包含至少一个功能块的项目 脸书 和一个全局变量列表。全局变量列表 GVL 在其编辑器中打开并包含变量的声明,例如 iGlobal. 脸书 用过的 iGlobal.

过程. 在项目范围内重命名全局变量
  1. 选择全局变量的名称,例如 iGlobal.

  2. 在上下文菜单中选择命令 重构 → 重命名 iGlobal.

  3. 进入对话 改名 进入输入字段 新名字 输入新名称,例如 iGlobalOK 并点击 .

    对话 重构 打开。在左侧窗口中,在设备树中,是对象 GVL脸书 标记为红色并以黄色突出显示。在右侧窗口中是 脸书 在其编辑器中打开并 iGlobal 已经在 iGlobalOK 重命名。

  4. 点击 .

    您的项目中没有全局变量 iGlobal.现在到处都是 iGlobalOK.

过程. 在项目范围内重命名全局变量(POU 除外)
  1. 选择全局变量的名称,例如 iGlobal.

  2. 在上下文菜单中选择命令 重构 → 重命名 iGlobal.

  3. 进入对话 改名 进入输入字段 新名字 输入新名称,例如 iGlobalTest 并点击 .

    对话 重构 打开。在左侧窗口中,在设备树中,是对象 GVL脸书 标记为红色并以黄色突出显示。功能模块在右侧窗口 脸书 在其编辑器中打开。代替 iGlobaliGlobalTest 列出。

  4. 将光标定位在右侧窗口中并打开上下文菜单。

  5. 选择命令 丢弃此对象 并点击 .

    在您的项目中是全局变量 iGlobal脸书 展示。变量现在位于变量发生的对象中 iGlobalTest 指定的。

    错误消息出现在标识符的消息窗口中 iGlobal 没有定义。

添加和删除输入变量

您可以使用重构命令在 POU 的声明部分添加或删除输入或输出变量。在块的使用点/调用点更新 CODESYS 因此,您可以接受或拒绝每个使用点。你得到这个对话框 重构.

要求:你有 POU FCT 在编辑器中打开的函数类型。该函数已经有输入变量 input1input2inputx.她将参加节目 PLC_PRGPOU 叫。

  1. 把重点放在FCT函数的声明部分。

  2. 选择命令 重构 → 添加变量.

    用于声明变量的标准对话框出现。

  3. 声明变量 input_3 有范围 VAR_INPUT 和数据类型 INT.关闭对话框 .

    对话 重构 出现(见下图)。受影响的区域用黄色标记。 (1)+(2)

  4. 选择右上角的选项 使用占位符文本添加输入. (3)

  5. 在左侧窗口中,将光标放在具有黄色背景的对象之一上,例如 PLC_PRG.在上下文菜单中选择命令 接受整个项目将新变量添加到 FCT 在整个项目中添加。

    在右侧窗口中可以看到实现部分的变化 PLC_PRG: 占位符 _REFACTOR_ 出现在插入新变量的位置。

  6. 关闭对话框 重构.

  7. 选择命令 编辑 → 查找.在项目中搜索“_REFACTOR_”以查看受影响的位置并进行相应的编辑。

  8. 注意:或者,您可以直接使用所需的初始化值插入新变量,而无需先使用占位符。在这种情况下,请在步骤 4 中选择选项“:.add with the following value”并在其右侧输入值。

_cds_img_refactoring_view.png

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

_cds_img_refactoring_in_cfc.png

还要注意通过重构删除变量的能力。

重新排序声明中的变量

在块的声明部分,您可以使用重构来改变声明的顺序。这可以通过范围声明来实现 VAR_INPUT, VAR_OUTPUT 或者 VAR_IN_OUT.

要求:您已打开 POU 的声明部分,其中包含以下声明,例如:

VAR_INPUT
    invar2 : INT;
    invar1 : INT;
    in : DUT;
    bvar : BOOL;
    invar3 : INT;
END_VAR
  1. 将光标放在此声明块中,然后按鼠标右键打开上下文菜单。

  2. 选择命令 重构 → 重新排序变量.

    对话 改编 出现一个列表 VAR_INPUT-变量。

  3. 例如,选择条目 invar1:INT; 并用鼠标将其拖到条目前面 因瓦2。.

    的声明 invar1 现在是重中之重。

  4. 关闭对话框 .

    对话 重构 出现。受影响的区域用黄色标记。 (见上图)

  5. 确认 将新订单应用于区块。

更改变量声明并自动应用重构

重命名变量(使用自动声明)时,可以通过在声明中重构来支持您。

需求:功能模块 fb_A.

  1. 选择命令 工具 → 选项.

    对话 选项 打开。

  2. 选择类别 重构.

  3. 在下方激活 自动申报 选项 重命名变量时用于添加或删除变量,或用于更改命名空间.

  4. 双击功能模块 fb_A.

  5. 在声明中选择 fb_A 例如一个变量 iA.或者,您可以将光标放在变量前面或变量中。

  6. 编辑 → 声明变量 一 (切换 + F2)。

    对话 声明变量 打开。该对话框包含以下设置 iA.

  7. 更改名称 iAiCounter_A.

  8. 选项 使用重构进行更改 出现并被激活。

  9. 点击 .

    对话 重构 将 iA 重命名为 iCounterA 打开。受变量重命名影响的所有位置都标记在那里。

  10. 结束对话 .

    更改被接受。