使用 I/O 变数
此章节说明如何使用 I/O 变数。
环境:
本范例使用一台 16 位元数位输入 (DI) 模组 SYNTEK ESC 6022 以及一台 16 位元数位输出 (DO) 模组 SYNTEK ESC 7062,这二个模组均连接至 SYNTEK ESC 5500 耦合器,ESC 7062 模组的输出端连接至 ESC 6022 模组的输入端。欲建立此环境,在专案中使用索引 1 建立 SYNTEK ESC 6022 I/O 模组并使用索引 2 建立 SYNTEK ESC 7062 I/O 模组。请参考 手动新增装置 章节中的说明。
手动新增 I/O 模组时,I/O 变数可自动被新增,此章节说明如何手动新增 I/O 变数。
- 在 Resources 面板左侧点选 SYN_TEK_ESC_6022(其中一个 I/O 模组)。
- 在 Input 区域中的 Length 格中输入 16,新增变数前,需先填入输入或输出长度的值,才可新增 I/O 变数,若要控制一个真实的 I/O 模组,需要知道这个 I/O 是输入还是输出模组(或两者都是),以及 I/O 的输入和输出长度,如此才可以输入正确值。在本范例中,SYNTEK_ESC_6022 为 16 位元输入模组,我们将 16 输入至 I/O 的输入长度。
- 于 Input 区域点击 Add。
- 于 New PLC variable 对话框输入以下资讯:
- 变数即被加入 Input 表。
-
在 Resources 面板左侧点击 SYN_TEK_ESC_7062,在 Output 区域新增一个 BOOL 类型的变数 "Out7062",在此案例中,输出模组 SYNTEK_ESC_7062 连接至输入模组 SYNTEK_ESC_6022,我们需使用此模组将值写入 6022,因此我们在 7062 建立一个变数。
注意,若建立的变数为 BOOL 类型,栏位上会出现 Bit offset 栏位;若建立的变数为 BYTE、WORD 或其他类型,栏位上会出现 Byte offset 和 Bit range 栏位。
Name:为此变数输入有意义的名称,在此我们输入 "Sensor"。
Type:选择变数类型,在此我们选择 BYTE。
Byte offset:偏移变数,在此将其保持为零。
Description:可视需求输入此变数的描述以进一步解释其用途,在此输入 "Control Sensor"。
Bit range:依据 Type 显示位元范围。
完成编辑后按 OK。
新增 I/O 变数后即可直接在表内编辑其特性。
- 栏位标头上若有铅笔图标,表示该栏位可供编辑。例如,欲将变数名称改为 "Output7062",即在 Variable 栏位的输入框中双击 "Out7062",该名称即被标示。
- 于 Variable 栏位的输入框中修改变数名称后按下 Enter 键,LogicLab 会询问是否要将所有出现此变数的地方用新名称取代,点选 Yes。
- 变数名称即更改。
您可将 I/O 变数从一个 I/O 模组的输入(或输出)重新指派至另一个 I/O 模组的输入(或输出),此范例我们将变数从一个输入端移至另一个输入端。
- 在 Resources 面板左侧的 IOs 清单新增一个 I/O 模组,在此范例中我们新增 SYN_TEK_ESC_6022_2。
- 点击 SYN_TEK_ESC_6022_2,在 Input 区域的 Length 输入框中输入 16。
- 在 Input 区域点选 Assign。
- 在 Choose PLC variable 对话框中点击欲重新指派的变数并点击 OK。
- 在 Variable Mapping 对话框中的 Byte offset 输入框中,输入偏移值或保留零值,完成编辑后按 OK。
- LogicLab 会询问是否要重新指派变数,点选 OK。
- 变数将从 SYN_TEK_ESC_6022 的输入重新指派至 SYN_TEK_ESC_6022_2 的输入。
注意:手动新增 I/O 模组时,可将 I/O 输入和输出长度指派至 Add IO 对话框中,若未曾新增过,则可在此进行指派。
注意:当变数名称很长时,可在 Filter 输入框中输入名称以找寻该变数。
取消指派 I/O 变数时,其位址将变为 AUTO,表示此变数与 I/O 模组无关联,而此变数即成为一个 PLC 全域变数。
- 于 Input 区域中的 HomeSwitch 列(任一变数列)点击 Unassign。
- 取消指派的变数即消失,但未被删除,在 Project 面板中展开 IO_Variables 并双击 HomeSwitch,其位址变为 Auto。
- 欲重新指派 HomeSwitch 至 Input,在 Input 区域点选 Assign。
- 在 Choose PLC variable 对话框中选择 HomeSwitch 并点选 OK。
- 在 Variable Mapping 对话框中的 Byte offset 输入框中,输入偏移值或保留零值,完成编辑后按 OK。
- HomeSwitch 即重新指派至 Input。
- 在 Input 区域中的 HomeSwitch 列中点击 Delete。
- 变数即删除。在 Project 面板中点击 I/O_Variables,可看见 HomeSwitch 已被删除。
注意:当删除 I/O 模组时,LogicLab 会询问是否亦删除其 I/O 变数,点击 Yes 将其删除。
若于 Project 面板中新增或修改 I/O 变数,在 Resources 面板的中间点击 Update 以更新变数,以使 Project 与 Resources 面板中的变数皆相同。
- 在 Project 面板中新增 LimitSwitch(任一变数)。
- 于 Resources 面板中点击 SYNTEK_ESC_6022,在 Resources 面板中央的 SYNTEK_ESC_6022 (您的 I/O 模组) 点击 Update 以更新变数。
可变更和显示 I/O 变数的位元位址。
- 在 Project 面板中扩展 I/O_Variables,双击欲显示其位元位址的变数,此范例中所选的为 LimitSwitch。
- 于 IO_Variables 面板中点选 LimitSwitch 的 Address 并点击 Address 栏位中的方形处以显示 Variable address 对话框。
- 在 Variable address 对话框中勾选 Bit 以显示位元,可编辑以下三个输入框以指定欲使用的变数位址。
- 位址栏位即显示位元位置。
Data block:I/O 模组的索引,索引以零为起点。
Index:位元组位置,可将位元组移至想要的位置,索引以零为起点。
Bit:位元位置(单位为位元组),可将位元移至想要的位置,索引以零为起点。例如,若想在第二个 I/O 模组中使用第三个位元组的第一个位元,则位址将为 1.2.0。
完成后,点击 OK。