当计数器当前值超过预设值时,同步输出置ON或OFF。如需使用同步输出功能,需要将系统变量#L_ExIOSpCtrl的[同步输出控制]位置ON。
同步输出变ON或OFF的时机在LT3000系列和LT4000系列上不同。
本节介绍同步输出和控制同步输出的系统变量的操作。
计数器模式为[环形],计数器操作方式为[加计数],ON预设值为“-100”,OFF预设值为“100”。
#L_ExIOSpCtrl_a:高速计数器控制位
#L_HSC*_HCV:计数器当前值
#L_ExIOSpCtrl_b:同步输出位
#L_ExIOCntInCtrl_b:同步输出清除请求位
y0:同步输出信号
LT3000系列
当计数器当前值超过预设值时,同步输出置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)不变。
LT4000系列
同步输出根据计数器当前值与预设值的比较结果而改变。使用系统变量,可强制同步输出置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预设值 |
OFF预设值 < ON预设值 |
|
![]() |
![]() |
#L_HSC*_HCV:计数器当前值 A:ON预设值 B:OFF预设值 y:同步输出 |
下面介绍如何设置同步输出以及在系统运行之后如何更改预设值。每个预设值都可以用系统变量或逻辑命令来更改。下面介绍如何用系统变量进行更改。
设置初始值
在GP-Pro EX中启用同步输出
设置各预设值
在系统运行后更改
在系统变量#L_HSC*_ONP中设置ON预设值,在#L_HSC*_OFP中设置OFF预设值
运行系统变量(#L_ExIOSpParmChg)的请求特殊I/O参数更改。
用系统变量(#L_ExIOSpParmChg)的特殊I/O参数更改完成标志确认参数是否更改完毕。
在系统变量(#L_ExIOSpCtrl)的同步输出设置中启用同步输出。
在系统变量#L_ExIOSpCtrl中确认同步输出状态。
[请求特殊I/O参数更改]和[特殊I/O参数更改完成]操作反映更改的所有CH参数。
不能将ON预设值或OFF预设值定义为65535或65536。(不能指定ON预设值或OFF预设值的低16位(xxxxFFFFh或xxxx0000h)。)
传输后,操作立刻使用GP-Pro EX中设置的参数值。任何重启动(包括转入离线、复位和关闭电源)都使用已保存的系统变量作为参数。
如需使用同步输出,请在GP-Pro EX中启用同步输出并定义预设值。
LT3000系列
从[工程]菜单中指向[系统设置],然后点击[I/O驱动程序]。在[I/O驱动程序]的[内部驱动程序1]选项卡上,勾选[匹配]复选框,然后点击[高速计数器设置]。
在[高速计数器设置]对话框中,从[同步输出]开始进行各项设置。
LT4000系列
从[工程]菜单中指向[系统设置],然后点击[I/O驱动程序]。在[功能]中选择[高速计数器]。
勾选[同步输出],指定[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。
#Ex_IOSpParmChg
|
位编号 |
功能 |
类型 |
详情 |
LT |
|
4000 |
3000 |
|||||
a |
4(n-1)+0 |
请求特殊I/O参数更改 |
控制 |
重写特殊I/O值。将系统变量中的设定值写入特殊I/O参数。 |
||
b |
4(n-1)+1 |
特殊I/O参数读取请求 |
控制 |
将特殊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的不同而有所不同。
更改特殊I/O参数,并且预设值无效时,使用针对该点设置的参数可以继续操作。
但是,由于系统里保存的是无效值,您一定要把它更改成有效值。
如果您用无效值(离线、复位或关闭电源)重启LT,这些操作将使用GP-Pro EX里设置的初始值。
#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]:不输出 |