跳转至

GTN_BindCounter

指令原型:

GT_API GTN_BindCounter(short core, short thread, TVarInfo* pVarInfo, TBindCounter* pBindCounter)

指令类型:

立即指令,调用后立即生效。

指令说明:

将全局变量绑定到计数器。(运动程序)

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
thread 线程编号,取值范围:[0, 31]。
pVarInfo 要绑定的全局变量参数结构体指针。详情说明请参照TVarInfo
TVarInfo
typedef struct VarInfo
{
    short id;
    short dataType;
    char  name[32];
} TVarInfo;
id:变量序号,非负数。
dataType:变量数据类型。PLC_INT_TYPE(1):int类型。PLC_DOUBLE_TYPE(2):double类型。
name:变量名称。
pBindCounter 计数器参数结构体指针。详情说明请参照TBindCounter
TBindCounter
typedef struct
{
    short counterType;
    short edge;
    int32_t init;
    int32_t target;
    int32_t begin;
    int32_t end;
    short dir;
    int32_t unit;
    short inputVarId;
    short resetVarId;
} TBindCounter;
counterType计数器类型。
0:等于目标值时输出1。
1:小于等于目标值时输出1。
2:大于等于目标值时输出1。
edge设置计数。
0:上升沿计数。
1:下降沿计数。
2:上升沿和下降沿计数。
init计数器初值,当复位变量为1时内部计数器将恢复初值。

指令返回值:

请参照通用返回值说明

相关指令:

GTN_UnbindVar

注意事项:

当计数器的输入变量由0变1时,内部计数值发生改变。当内部计数值和目标值满足设定关系时,计数器的输出为1。
计数器输出为1时仍然处于工作状态,当输入变量继续变化时,内部计数值也会随之改变,如果内部计数值和目标值不满足设定关系时,计数器的输出将变为0。
读取绑定变量将读到计数器的输出状态。
写入绑定变量将更新计数器的输入状态。由于计数器已经指定了输入变量,因此不需要在程序中更新绑定变量。如果指定输入变量的同时又在程序中更新绑定变量,那么在程序中更新值有效。
每个线程可以绑定32个计数器。
计数器有3种工作模式。
1. 相等
当内部计数值等于目标值时输出1。
2. 小于等于
当内部计数值小于等于目标值时输出1。
3. 大于等于
当内部计数值大于等于目标值时输出1。

计数初值
当计数器的复位变量为1时,将恢复到计数初值。
计数初值不能大于计数终点,可以是计数起点到计数终点之间的任意值。
计数起点和计数终点
如果计数方向为正向计数,到达计数终点后将返回计数起点。
如果计数方向为负向计数,到达计数起点后将返回计数终点。