31.5.6.7 同步输出 - 高速计数器(单相设置,LT系列)

当计数器当前值超过预设值时,同步输出置ON或OFF。如需使用同步输出功能,需要将系统变量#L_ExIOSpCtrl的[同步输出控制]位置ON。

同步输出变ON或OFF的时机在LT3000系列和LT4000系列上不同。

同步输出操作

ON预置值/OFF预置值

概述

GP-Pro EX中的设置步骤

如何更改预设值

请求特殊I/O参数更改

预设值错误状态

同步输出控制

同步输出状态

在同步输出过程中清除输出

同步输出端子状态

同步输出操作

本节介绍同步输出和控制同步输出的系统变量的操作。

计数器模式为[环形],计数器操作方式为[加计数],ON预设值为“-100”,OFF预设值为“100”。

#L_ExIOSpCtrl_a:高速计数器控制位

#L_HSC*_HCV:计数器当前值

#L_ExIOSpCtrl_b:同步输出位

#L_ExIOCntInCtrl_b:同步输出清除请求位

y0:同步输出信号

当计数器当前值超过预设值时,同步输出置ON或OFF。使用系统变量,可强制同步输出置OFF。

1) 将高速计数器控制(#L_ExIOSpCtrl_a)置ON启动计数器。同步输出(y0)保持OFF。

2) 将同步输出(#L_ExIOSpCtrl_b)置ON启用同步输出功能。

3) 计数器当前值(#L_HSC*_HCV)到达100,与OFF预设值一致后,当计数器当前值变为101时,同步输出(y0)置OFF。如果同步输出为OFF,其状态会保持OFF。

4) 计数器当前值(#L_HSC*_HCV)到达-100,与ON预设值一致后,当计数器当前值变为-99时,同步输出(y0)置ON。如果同步输出为ON,其状态会保持ON。

5) 将同步输出(#L_ExIOSpCtrl_b)置OFF会将同步输出(y0)置OFF。即使同步输出被置ON,同步输出也会保持OFF。

6) 将同步输出清除请求(#L_ExIOCntInCtrl_b)置ON会将同步输出(y0)置OFF。即使同步输出清除请求被置OFF,同步输出也会保持OFF。

7) 如果在计数器当前值与OFF预设值相等(100)的那一刻更改计数器当前值,同步输出的值(y0)不变。

同步输出根据计数器当前值与预设值的比较结果而改变。使用系统变量,可强制同步输出置OFF。即使在计数的过程中、或在计数器当前值已发生改变之后启用同步输出,同步输出的值(ON/OFF)也会取决于发生改变时计数器当前值与各预设值之间的比较结果。

1) 将高速计数器控制(#L_ExIOSpCtrl_a)置ON启动计数器。同步输出(y0)保持OFF。

2) 将同步输出(#L_ExIOSpCtrl_b)置ON启用同步输出功能。计数器当前值在ON预设值(-100)与OFF预设值(100)之间时同步输出置ON。

3) 当计数器当前值(#L_HSC*_HCV)等于OFF预设值(100)时,同步输出(y0)置OFF。

4) 当计数器当前值(#L_HSC*_HCV)等于ON预设值(-100)时,同步输出(y0)置ON。

5) 将同步输出(#L_ExIOSpCtrl_b)置OFF会将同步输出(y0)置OFF。将同步输出置ON时,同步输出值(ON/OFF)取决于计数器当前值和预设值。

6) 当同步输出清除请求(#L_ExIOCntInCtrl_b)为ON时,同步输出(y0)为OFF。

7) 当计数器当前值(#L_HSC*_HCV)等于OFF预设值(100)时,同步输出(y0)置OFF。

ON预设值/OFF预设值

根据ON预设值和OFF预设值,同步输出结果如下。

ON预设值 < OFF预设值

OFF预设值 < ON预设值

 

#L_HSC*_HCV:计数器当前值

A:ON预设值

B:OFF预设值

y:同步输出

概述

下面介绍如何设置同步输出以及在系统运行之后如何更改预设值。每个预设值都可以用系统变量或逻辑命令来更改。下面介绍如何用系统变量进行更改。

设置初始值

  1. 在GP-Pro EX中启用同步输出

  2. 设置各预设值

在系统运行后更改

  1. 在系统变量#L_HSC*_ONP中设置ON预设值,在#L_HSC*_OFP中设置OFF预设值

  2. 运行系统变量(#L_ExIOSpParmChg)的请求特殊I/O参数更改。

  3. 用系统变量(#L_ExIOSpParmChg)的特殊I/O参数更改完成标志确认参数是否更改完毕。

  4. 在系统变量(#L_ExIOSpCtrl)的同步输出设置中启用同步输出。

  5. 在系统变量#L_ExIOSpCtrl中确认同步输出状态。

用GP-Pro EX进行设置

如需使用同步输出,请在GP-Pro EX中启用同步输出并定义预设值。

  1. 从[工程]菜单中指向[系统设置],然后点击[I/O驱动程序]。在[I/O驱动程序]的[内部驱动程序1]选项卡上,勾选[匹配]复选框,然后点击[高速计数器设置]。

  2. 在[高速计数器设置]对话框中,从[同步输出]开始进行各项设置。


  3. LT4000系列

  1. 从[工程]菜单中指向[系统设置],然后点击[I/O驱动程序]。在[功能]中选择[高速计数器]。

  2. 勾选[同步输出],指定[ON预设值]和[OFF预设值]。

如何更改预设值

预设值可以用系统变量和逻辑命令进行更改。

1) 在系统变量#L_HSC*_ONP中写入ON预设值,在#L_HSC*_OFP中写入OFF预设值。

2) 将系统变量#L_ExIOSpParmChg中的请求特殊I/O参数更改位(a)置ON,从而重写特殊I/O的ON预设值(NPV)和OFF 预设值(FPV)。

3) 重写特殊I/O参数后,系统变量#L_ExIOSpParmChg中的特殊I/O参数更改完成位(e)置ON。

4) 确认写入完成后,请求特殊I/O参数更改位(a)置OFF。一旦请求特殊I/O参数更改位置OFF, 特殊I/O参数更改完成位(e)也置OFF。

5) 将系统变量#L_ExIOSpParmChg中的特殊I/O参数读取请求位(b)置ON,将当前ON预设值和OFF预设值读入系统变量#L_HSC*_ONP和#L_HSC*_OFP。

6) 特殊I/O参数读取完成后,系统变量(#L_ExIOSpParmChg)的特殊I/O参数读取完成位(f)置ON。

7) 确认读取完成后,特殊I/O参数读取请求位(b)置OFF。一旦特殊I/O参数读取请求位置OFF, 特殊I/O参数读取完成位(f)也置OFF。

请求特殊I/O参数更改

#Ex_IOSpParmChg

 

位编号

功能

类型

详情

LT

4000

3000

a

4(n-1)+0

请求特殊I/O参数更改

控制
变ON

重写特殊I/O值。将系统变量中的设定值写入特殊I/O参数。

b

4(n-1)+1

特殊I/O参数读取请求

控制
变ON

将特殊I/O参数值读入系统变量

e

4(n-1)+16

特殊I/O参数更改完成

状态

与位(a)相关的参数更改完成后置ON。

将位(a)置OFF也会将此位置OFF。

f

4(n-1)+17

特殊I/O参数读取完成

状态

与位(b)相关的参数读取完成后置ON。

将位(b)置OFF也会将此位置OFF。

预设值错误状态

它显示同步输出过程中ON预设值和OFF预设值中的任何错误状态。如果系统变量(#L_IOStatus[1])显示错误代码100,就可以从系统变量(#L_ExIOSpParmErr)值中确认错误状态。监视位根据您为其分配高速计数器的CH的不同而有所不同。

#L_ExIOSpParmErr

a:CH1计数器预设值错误

[1]: 预设值错误

[0]: 正常

b:CH2计数器预设值错误

[1]: 预设值错误

[0]: 正常

c:CH3计数器预设值错误

[1]: 预设值错误

[0]: 正常

d:CH4计数器预设值错误

[1]: 预设值错误

[0]: 正常

e:计数器输入控制

[1]: 预设值控制错误(预设值中的低16位是FFFFh或0000h)

[0]: 正常

同步输出控制

使用该功能来启用或禁用同步输出。将系统变量(#L_ExIOSpCtrl)中CH特殊输入/输出控制下的同步输出标志置ON来启用同步输出,将该标志置OFF禁用同步输出。操作位根据您为其分配高速计数器的CH的不同而有所不同。

#L_ExIOSpCtrl

将CH的第一个位置ON来启用同步输出,将第一个位置OFF来禁用同步输出。

同步输出状态

该功能显示同步输出是被启用还是被禁用。可以用系统变量#L_ExIOSpCtrl的CH特殊I/O状态中的同步输出标志确认同步输出的状态(启用/禁用)。如果该标志为ON,则启用输出。如果为OFF,则禁用输出。监视位根据您为其分配高速计数器的CH的不同而有所不同。

#L_ExIOSpCtrl

如果CH的第一个位是1,同步输出被启用。如果是0,输出被禁用。

在同步输出过程中清除输出

使用该功能在同步输出期间将输出置OFF。还可以确认同步输出被清除。

无论计数器处于ON状态还是OFF状态,都可以使用同步输出清除功能。将系统变量(#L_ExIOCntInCtrl)中CH计数器输入控制请求下的同步输出清除标志置ON,可将同步输出置OFF。操作位根据您为其分配高速计数器的CH的不同而有所不同。

#L_ExIOCntInCtrl

计数器输入控制请求

将CH的第一个位置ON从而将输出置OFF。

下图为同步输出和同步输出清除的标志时序图。

计数器输入控制响应

如果CH的第一个位是1,同步输出就已经被清除。

同步输出端子状态

可以用系统变量(#L_ExIOSpOut)确认输出端子中的同步输出状态。监视位根据您为其分配高速计数器的CH的不同而有所不同。

#L_ExIOSpOut

a:CH1输出状态

[1]: 输出,[0]:不输出

b:CH2输出状态

[1]: 输出,[0]:不输出

c:CH3输出状态

[1]: 输出,[0]:不输出

d:CH4输出状态

[1]: 输出,[0]:不输出