A.2.1.2 整型逻辑系统变量 - #L系统变量

变量名称

描述

读取

写入

扫描时间

#L_ScanTime

扫描时间是指从当前扫描的步骤0开始直到下一次扫描的步骤0开始的这段时间。

×

#L_AvgScanTime

64个#L_ScanTime周期的平均值

×

#L_MinScanTime

#L_ScanTime的最小扫描时间

×

#L_MaxScanTime

#L_ScanTime的最大扫描时间

×

#L_ScanCount

扫描次数

×

#L_LogicTime

从步骤0开始到END指令的时间

×

#L_AvgLogicTime

64个#L_LogicTime周期的平均值

×

#L_MinLogicTime

#L_LogicTime的最小逻辑时间

×

#L_MaxLogicTime

#L_LogicTime的最大逻辑时间

×

状态

#L_Status

逻辑状态信息

×

#L_Platform

人机界面平台的代码

×

#L_Version

逻辑固件版本

×

#L_EditCount

在线编辑数

×

#L_ForceCount

被强制更改的累计变量数

×

#L_IOInfo

输入/输出驱动程序信息

×

#L_LogicInfo

逻辑信息

×

#L_IOMasterDrv**1

主输入/输出驱动程序扩展信息

取决于输入/输出驱动程序

取决于输入/输出驱动程序

#L_IOMasterDiag**4

主输入/输出驱动程序自诊断信息

取决于输入/输出驱动程序

取决于输入/输出驱动程序

系统设置

#L_ConstantScan

逻辑启动频率

×

#L_PercentScan

逻辑运算速率

×

#L_WatchdogTime

逻辑WDT值

×

#L_AddressRefreshTime

连接设备地址刷新时间

×

时间

#L_Time

时间信息

×

操作信息

#L_Command

更改逻辑运算模式

#L_LogicMonitor

逻辑监控启动开关

#L_LogicMonStep

表示显示逻辑监控的步骤

I/O状态

#L_IOStatus

I/O驱动程序的状态

×

错误信息

#L_CalcErrCode

计算错误代码的存储区

×

#L_FaultStep

计算错误的步号的存储区

×

#L_FaultLogicScreen

计算错误的逻辑画面号的存储区

×

逻辑停止

#L_StopScans

逻辑停止扫描数

保持变量备份

#L_BackupCmd

备份命令

LT 通用*2*3

#L_ExIOFirmVer

扩展I/O端口固件版本

×

#L_ExIOSpCtrl

特殊I/O控制

#L_ExIOSpOut

特殊输出

×

#L_ExIOSpParmChg

更改特殊I/O参数

#L_ExIOSpParmErr

特殊I/O参数错误

×

#L_ExIOAccelPlsTbl

加速/减速脉冲表

#L_ExIOCntInCtrl

计数器输入控制

#L_ExIOCntInExtCtrl

计数器输入外部控制

#L_ExIOCntInState

计数器输入状态

×

#L_ExPWMExCtrl

PWM外部输入控制

#L_ExPLSMotionCtrl

脉冲动作控制

#L_PWM*_WHZ

Ch*输出频率

#L_PWM*_DTY

Ch*占空比值

#L_PLS*_LHZ

Ch*输出频率

#L_PLS*_NUM

Ch*输出脉冲计数

#L_PLS*_SHZ

Ch* 初始输出频率

#L_PLS*_ACC

CH* 加速/减速时间或加速时间

#L_PLS*_DEC

Ch*脉冲减速时间

#L_PLS*_CHZ

Ch*当前频率

×

#L_PLS*_CPC

Ch*脉冲输出当前值

×

#L_PLS*_EMG

脉冲紧急停止减速时间

#L_HSC*_MOD

Ch*计数系统

#L_HSC*_TB

选择采样模式时的CH* Time-Base

#L_HSC*_PLV

Ch*预载值

#L_HSC*_PSV

Ch*pre-strobe值

×

#L_HSC*_ONP

CH* ON Preset 值

#L_HSC*_OFP

CH* OFF Preset 值

#L_HSC*_HCV

Ch*计数系统

×

*1 [*] = 0~255。

*2 更多信息,请参阅 31.5 用LT控制外部I/O .

*3 [*] = 通道号(1~4)。

*4 [*] = 0~31。

#L_ScanTime(从当前扫描的步骤0开始直到下一次扫描的步骤0开始的这段时间)

在执行下一次扫描之前保存上一次扫描的扫描时间。

扫描时间是I/O读取、逻辑程序执行、I/O写入和显示处理所需的时间。

单位为0.1ms。

 

#L_AvgScanTime(64个#L_ScanTime周期的平均值)

保存平均扫描时间。

平均扫描时间是一次扫描中的I/O读取、逻辑程序执行、I/O写入和显示处理所需的平均时间。

每当完成64个扫描周期时该变量会更新一次。

单位为0.1ms。

#L_MinScanTime (#L_ScanTime的最小扫描时间)

保存逻辑程序的最小扫描时间。

#L_ScanTime被更新时,每次扫描都将执行最小扫描检查并更新变量。

单位为0.1ms。

#L_MaxScanTime (#L_ScanTime的最大扫描时间)

保存逻辑程序的最大扫描时间。

#L_ScanTime被更新时,每次扫描都将执行最大扫描检查并更新变量。

单位为0.1ms。

#L_ScanCount (扫描次数)

在每个逻辑程序扫描完成时,计数器会在变量上加值。

#L_ScanCount中值的范围是0~16#FFFFFFFF。当超过最大值(16#FFFFFFFF)时,该变量重新从0开始增加。

通过检查 #L_ScanCount,您可以确认逻辑程序是否正被执行。

#L_LogicTime(从步骤0开始到END指令的时间)

保存上一次扫描执行的逻辑时间。

逻辑时间是一次扫描中I/O读取、逻辑程序执行、I/O写入所需的时间。不包括显示处理时间。单位为0.1ms。

#L_AvgLogicTime (64个#L_ScanTime周期的平均值)

保存平均逻辑时间。

平均逻辑时间是一次扫描中I/O读取、逻辑程序执行、I/O写入所需的平均时间。

每当完成64个扫描周期时该变量会更新一次。单位为0.1ms。

#L_MinLogicTime (#L_LogicTime的最小逻辑时间)

保存逻辑程序的最小逻辑时间。

当更新#L_LogicTime时,会检查最小逻辑时间,并在每次扫描时更新变量。

单位为0.1ms。

#L_MaxLogicTime (#L_LogicTime的最大逻辑时间)

保存逻辑程序的最大逻辑时间。

当更新#L_LogicTime时,会检查最大逻辑时间,并在每次扫描时更新变量。

单位为0.1ms。

#L_Status (逻辑状态信息)

显示人机界面的状态。字节和位的定义如下:

字节0:显示人机界面上的当前错误状态。

字节1:显示错误状态历史。仅当重启人机界面时该字节复位为0。

字节2:显示当前操作状态。

字节3:保留区域。

#L_Platform (人机界面平台代码)

保存人机界面平台的代码。

0x00020404

0x00020504

0x00020514

0x00020B14

0x00020B34

0x00020614

0x00020714

0x00020814

0x00020634

0x00020734

0x00020834

0x00020934

0x00020A14

0x00020A34

0x00030204

0x00030504

0x00030514

0x00040000

0×00040000

#L_Version (逻辑固件版本)

保存逻辑固件版本。

#L_EditCount (在线编辑数)

保存在线编辑数。(该变量不能在“RUN”状态下写入时执行。)

#L_ForceCount (被强制更改的累计变量数)

保存被强制更改的累计变量数

#L_IOInfo (I/O驱动程序信息)

存储I/O驱动程序上的信息。

#L_LogicInfo (逻辑信息)

由系统保留。

#L_IOMasterDrv*(主输入/输出驱动程序扩展信息)

[*] = 0~255。

存储主I/O驱动程序扩展信息。根据主机I/O驱动程序类型,可能不能使用某些项目。

31.7.4 使用I/O驱动程序指令-CANopen

#L_IOMasterDiag*(主输入/输出驱动程序自诊断)

[*] = 0~31。

存储主I/O驱动程序自诊断信息。根据主机I/O驱动程序类型,可能不能使用某些项目。

#L_ConstantScan (逻辑启动频率)

如果选择了固定扫描时间,则保存逻辑程序的总处理时间。

当逻辑时间为常量时,可以通过增加#L_ConstantScan的值来延长显示处理时间。减少该值,可减少显示处理时间。这是因为大部分处理时间是由逻辑功能使用的。

将其设置为默认设置。单位为 0.1 ms。
30.14.3.2 逻辑扫描时间

#L_PercentScan(逻辑运算速率)

用CPU扫描百分比形式保存相对于逻辑处理总时间的逻辑功能使用率。

将其设置为默认设置。
30.14.3.1 逻辑功能

#L_WatchdogTime(逻辑的WDT值)

保存WDT值(看门狗定时器),单位为0.1ms。

当#L_ScanTime超过该值时,会发生重大错误。

将其设置为默认设置。单位为0.1ms。

#L_AddressRefreshTime(外接设备地址刷新时间)

保存逻辑程序中使用的外接设备地址的地址刷新时间。单位为 0.1 ms。
30.14.3.3 地址刷新

#L_Time(时间信息)

表示逻辑中以4位BCD数设置的“时间”。

时间以如下状态保存:

例如,11:19 PM

 

时(十位)

时(个位)

分(十位)

分(个位)

2

3

1

9

#L_Command (更改逻辑运算模式)

这是一个作为逻辑控制命令使用的整型变量。

在逻辑程序确认#L_Command后,位7以外的位被复位为0。如果多个位为ON,则最低位优先。

#L_LogicMonitor(逻辑监控的启动开关)

启动并运行人机界面上的逻辑程序监控功能。

下面显示每项操作。

#L_LogicMonStep(表示显示逻辑监控的步骤)

保存要在逻辑监控中显示的行数。

如果未运行逻辑监控,当逻辑监控触发位(#L_LogicMonitor的位0)从OFF→ON时,在#L_LogicMonStep中写入行号,启动逻辑监控,并将指定行作为第一行。

当启用逻辑监控功能时使用该变量。

#L_IOStatus(I/O驱动程序的状态)

存储内置I/O驱动程序的错误代码。

通过检查 #L_IOStatus中及画面上显示的错误消息,可以确认错误代码。

详细的错误代码分类定义如下:

错误代码

描述

001-049

工程数据错误

050-099

硬件错误

100-199

应用程序错误

200-254

内部错误

已保存的错误代码如下所示。

保存发生错误的模块的型号。根据所使用的I/O驱动程序,这将是保留的位。

当指定模块的I/O属性与实际的连接模块的I/O属性相同但点数不同时,置“1”。根据所使用的I/O驱动程序,这将是保留的位。

当指定模块的I/O属性与实际连接模块的I/O属性不同时,置“1”。根据所使用的I/O驱动程序,这将是保留的位。

当发现停止逻辑的故障(如辅助卡ID冲突或工程数据故障)时,置“1”。

错误代码分类

描述

RGEE***

内部输入/输出错误

RGEF***

内部输入/输出错误

***表示每个驱动的错误代码(0 - 255)。更多信息,请参阅各个I/O驱动程序的错误信息。

各个元素的数组如下。

#L_IOStatus(0):保留
#L_IOStatus(1):内部 I/O
#L_IOStatus(2):外部I/O
#L_IOStatus(3):保留

#L_CalcErrCode

可在#L_CalcErrCode中识别计算错误状态。复位逻辑程序时该区被清零。可以用#L_Command(更改逻辑程序运行模式)复位逻辑程序。

错误代码列表

错误代码

描述

0000

无错误。

0001

小错误(继续)

从实型到整型,或从64位实型到32位实型转换数值时发生溢出。

0002

大错误(停止)

引用超出了数组大小。

0003

引用超出整数范围。

0004

堆栈溢出。

0005

使用了无效指令代码。

0006

错误处理器在处理过程中发生错误。

0007

扫描时间超出WDT。

0008

大错误(停止)

I/O驱动程序上发生重大故障。

0009

软件错误

0010

使用了无效操作数。

0011

保留

0012

小错误(继续)

BCD/BIN转换错误

0013

ENCO/DECO转换错误

0014

保留

0015

小错误(继续)

SRAM数据(用户程序)从

受损的FROM中读取。

0016

移位值超出范围。

0100

大错误(停止)

I/O驱动程序指令发生了重大错误

0105

小错误(继续)

I/O驱动程序指令发生了小错误

6701

错误时继续

CJ和CALL指令无跳转目标。

索引已被修改,所以地址超出P0到P4095的范围,标签在此范围内未定义。

CALL指令中执行了P63 在转到 END的CALL指令中不能使用
P63 。

6702

CALL指令可有6个以上的嵌套层数。

6703

中断有3个以上的嵌套层数。

6704

FOR和NEXT指令可有6个以上的嵌套层数。

6705

应用程序指令操作数超出目标设备。

6706

设备号和应用程序指令操作数的数值超出范围。

6707

在未指定参数设置的情况下访问最后一个寄存器。

6708

FROM/TO指令错误

6709

其他(无效分支)

6710

参数不兼容

6730

采样时间(Ts)超出范围(Ts≦0)。

6731

 

6732

输入滤波常量(a)超出范围(a<100或100≦a)。

6733

比例增益(Kp)超出范围(Kp<0)。

6734

积分时间(Ti)超出范围(Ti<0)。

6735

微分增益(Kd)超出范围(Kd<0或201≦Kd)。

6736

微积分时间(Td)超出范围(Td<0)。

6740

采样时间(Ts)≦采样频率

6742

测量值更改超出范围(DPV<-32768或32767<DPV)。

6743

偏差超出范围(EV<-32768或32767<EV)。

6744

积分计算值超出范围(-32768~32767之外)。

6745

微分增益(Kd)超出范围导致微分值也超出范围。

6746

微分计算值超出范围(-32768~32767之外)。

6747

PID计算结果超出范围(-32768~32767)。

6748

PID输出上限设置值< 输出下限设置值

6749

PID输入/输出更改报警设置错误。

6750

阶跃响应方法

微调结果失败

6751

阶跃响应方法

微调方向不兼容

6752

阶跃响应方法

微调失败

6753

极限环法

微调输出设置值不兼容

[ULV(上限)≦ LLV(下限)]

6754

极限环法

微调PV阈值(滞后)设置值(SHpv<0)不兼容

6755

极限环法

微调过渡状态错误

(对用于管理过渡状态的寄存器数据的重写失败。)

6756

极限环法

由于超出微调测量时间造成了结果错误。

(t on > t, t on < t, t < 0)

6757

极限环法

微调结果的比例增益超出范围。

(Kp = 非0至32767的值)

6758

极限环法

微调结果的积分时间超出范围。

(Ti = 非0至32767的值)

6759

极限环法

微调结果的微分时间超出范围。

(Kd = 非0至32767的值)

6760

来自服务器的ABS数据总和不一致。

6762

转换器通讯指令指定的端口已经被使用。

6765

应用程序指令使用时间错误

6770

写入FLASH存储卡失败

6771

与FLASH存储卡的连接断开。

6772

当禁止写入FLASH存储卡时发生的写入错误。

#L_FaultStep

当发生异常处理时保存程序步骤编号。

#L_FaultLogicScreen

当发生异常处理时保存逻辑画面号。

INIT:1

MAIN:2

ERRH:3

SUB-01:32 至 SUB-32:63

#L_StopScans

输入一个数值,将按此数值指定的次数执行扫描。当设置达到0时逻辑扫描继续。同时,#L_StopPending位为ON。当该位被置OFF时,逻辑停止。

#L_BackupCmd

备份指定保留的变量数据时,它触发备份和恢复。

位0:当执行备份时,低16位会自动置OFF。
位1:当执行恢复时,低16位会自动置OFF。
位8:当备份完成(正常完成)时,它将置ON。当发生错误时,它将置OFF。
位9:当恢复完成(正常完成)时,它将置ON。当发生错误时,它将置OFF。

其他位是保留位。

0

0

恢复执行

备份执行

 

OFF

ON

备份执行

请求(变量备份)

恢复执行

请求(变量恢复)

执行后,它会自动置OFF。

当请求位同时置ON时,备份后将执行恢复。

0

0

恢复执行

备份执行

 

OFF

ON

备份执行

完成提示

恢复执行

完成提示