通过编程重新配置 I/O 模块 (Module)
按照以下步骤 (Step) 以编程方式重新配置 I/O 模块 (Module)。
通过执行下列操作,可以从逻辑中重新配置 I/O 模块:
- 禁用该模块,
- 使用 MSG 模块重新配置指令,以及
- 删除禁用。小贴士:危险:禁用 I/O 模块将强制使其回复到它的编程 (Program) 状态值。直到该模块被取消禁用并且重新建立连接之前,控制器 (Controller) 将不会控制该模块。
通过程序重新配置输入/输出 (I/O) 模块
- 编写逻辑以禁用该模块并移除控制器与模块之间的连接:
- 在新的梯级中,创建 GSV 指令。
- 对于“对象类”操作数,选择 MODULE。
- 对于“对象名”操作数,选择适当的 I/O 模块。
- GSV 指令只能访问具有名称的 I/O 模块。
- 对于“属性名”操作数,选择模式。
- 此属性的第 2 位是禁用位。
- 对于“目标”操作数,输入 INT 标签 (Tag)。整数 (INT)由一个字组成的原子 data type,该字用来存储 16 位带符号整型值(-32,768 到 +32,767)。
- 在梯级中,在 GSV 指令后面添加 OR 指令。
- 对于“源 A”操作数,输入 GSV 指令的“目标”操作数中的标签。
- 对于“源 B”操作数,输入值 4 以设置第 2 位。
- 对于“目标”,输入“源 A”操作数中的那个标签。
- 在 OR 指令后面添加 SSV 指令。
- 对于“对象类”操作数,选择 MODULE。
- 对于“对象名”操作数,选择 GSV 指令中的那个 I/O 模块。
- SSV 指令只能访问具有名称的 I/O 模块。
- 对于“属性名”操作数,选择模式。
- 此属性的第 2 位是禁用位。
- 对于“源”操作数,输入 GSV 的“目标”操作数中使用的那个标签。
- 编写逻辑以更改模块的配置标签。
- 编写逻辑以取消禁用该模块并重新建立连接:小贴士: 请确保该模块确实已被禁用。
- 在新的梯级中,创建 GSV 指令。
- 对于“对象类”操作数,选择 MODULE。
- 对于“对象名”操作数,选择相同的 I/O 模块。
- 对于“属性名”操作数,选择 EntryStatus。
- 对于“目标”操作数,输入另一个 INT 标签。
- 通过添加 AND 指令,屏蔽掉目标标签的高位半字节。
- 使用 GSV 的“目标”操作数中的标签来作为“源 A”操作数。
- 使用值 16#FF00 作为“源 B”操作数。
- 对于“目标”,使用“源 A”操作数中的那个标签。
- 通过添加 EQU 指令,将该标签与被禁用值作比较。
- 使用 AND 的“目标”操作数作为“源 A”操作数。
- 使用值 16#6000(此值表示被禁用)作为“源 B”操作数。
- 通过添加 GSV 指令,取消禁用该模块:
- 对于“对象类”操作数,选择 MODULE。
- 对于“对象名”操作数,选择相同的 I/O 模块。
- 对于“属性名”操作数,选择模式。
- 此属性的第 2 位是禁用位。
- 对于“目标”操作数,输入 INT 标签。
- 在梯级中,在 GSV 指令后面添加 AND 指令。
- 对于“源 A”操作数,输入 GSV 指令的“目标”操作数中的标签。
- 对于“源 B”操作数,输入值 16#FFFB 以清除第 2 位。
- 对于“目标”,输入“源 A”操作数中的那个标签。
- 在 AND 指令后面添加 SSV 指令。
- 对于“对象类”操作数,选择 MODULE。
- 对于“对象名”操作数,选择 GSV 指令中的那个 I/O 模块。
- SSV 指令只能访问具有名称的 I/O 模块。
- 对于“属性名”操作数,选择模式。
- 此属性的第 2 位是禁用位。
- 对于“源”操作数,输入 GSV 的“目标”操作数中使用的那个标签。
提供反馈