首页 理论教育 避免次要错误的控制寄存器指令优化建议

避免次要错误的控制寄存器指令优化建议

时间:2023-06-15 理论教育 版权反馈
【摘要】:为避免产生此类主要错误,应在控制寄存器指令检测该位状态,采取恰当的操作,然后对S:5/2执行OTU指令使S:5/2清0。

避免次要错误的控制寄存器指令优化建议

1.溢出陷阱位

若该位在执行END或TND指令时已经被置位(1),则产生主要错误(故障代码0020H)。为避免产生此类主要错误,应在运算指令(ADD、SUB、MUL、DIV、NEG、SCL、TOD或FRD)后检测该位状态,采取恰当的操作,然后对S:5/0执行OTU指令使S:5/0清0。

2.控制寄存器错误位

LFU、LFL、FFU、FFL、BSL、BSR、SQO、SQC和SQL指令均可产生此错误。当S:5/2被置位(1)时,说明指令控制字的错误位已经被置位。

若该位在执行END或TND指令时已经被置位(1),则产生主要错误(故障代码0020H)。为避免产生此类主要错误,应在控制寄存器指令检测该位状态,采取恰当的操作,然后对S:5/2执行OTU指令使S:5/2清0。

3.执行用户故障处理程序时的主要错误位

当该位置位(1)时,主要错误代码(S:6)表示在运行用户故障处理程序中因出现另一个主要错误引起的主要错误。

4.存储器模块引导位

当该位被控制器置位时,说明存储器模块程序已经传送完毕,原因是附加存储器模块中的用户程序置位了S:1/10(在程序错误或使用默认程序的情况下装入储存器模块位)或S:1/11(无条件装入储存器模块位)。控制器不对该位清零(0)。

用户程序可以在首次扫描(使用S:1/15)进入执行模式时检测该位,以判断在启动后是否已经装入了储存器模块中的用户程序。当用户应用中包含有保留数据且存储器模块中的S:1/10或S:1/11被置位时,获知该信息就相当有用。

5.储存器模块密码失配位

系统启动后,若无条件装入位被置位,且控制器和储存器模块的密码失配,则储存器模块密码失配位置位(1)。

6.STI失效位

①该位只能通过梯形逻辑存取,不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在STI:0/UIL中。详情请参阅“使用可选择定时中断(STI)功能文件”。

7.保持数据丢失(仅限于MicroLogix1200控制器)

当保持数据丢失时,该位被置位(1)。控制器在上电时会验证保持数据,如果数据无效,控制器将置位该位。一旦S:5/11被置位,在S:1/8没有被置位的情况下,控制器进入执行模式时将会产生错误。

8.处理器电池欠压位(仅限于MicroLogix1500控制器)

电池电压过低时,该位被置位(1)。

9.输入滤波器选择修改位

当控制程序中的数字量输入滤波器选项与硬件不一致时,该位置位(1)。

10.ASCII字符串处理错误位

当一个无效的字符串长度发生时,该位被置位(1),同时在S:6中写入错误代码1F39H。该位仅被应用于MicroLogix1200/1500控制器的B系列的控制器中。

11.主要错误代码

该寄存器指示用于确定故障原因的代码。

12.挂起代码

当控制器执行挂起指令(SUS)时,SUS代码写入本地址S:7。它可用于指出应用中激活挂起模式的条件。控制器不清除该值。

检测系统故障时可以在启动调试程序时使用SUS指令,或用SUS指令进行实时诊断。

13.挂起文件

当控制器执行挂起指令(SUS)时,SUS文件写入本地址S:8。它可用于指出应用中激活挂起模式的条件。控制器不清除该值。(www.xing528.com)

检测系统故障时可以在启动调试程序时使用SUS指令,或用SUS指令进行实时诊断。

14.有效节点通道(节点0~15)

①该位只能通过梯形逻辑存取,不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在通信状态文件中(CSx:0.27)。

15.有效节点通道(节点16~31)

①该位只能通过梯形逻辑存取。不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在通信状态文件中(CSx:0.28)。

16.运算寄存器

这两个字与MUL、DIV、FRD和TOD算术运算指令联用。运算寄存器在运行这些指令时允许存取,并在用户程序执行下一个MUL、DIV、FRD和TOD指令之前保持有效。

17.节点地址

①该位只能通过梯形逻辑存取。不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在通信状态文件中(CSx:0.5/0~CSx:0.5/7)。

18.波特率

①该位只能通过梯形逻辑存取。不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在通信状态文件中(CSx:0.5/8~CSx:0.5/15)。

19.最大扫描时间

该字说明了相邻程序周期之间的最大间隔时间。

每次扫描后,控制器将扫描时间值与S:22中的值比较。若控制器确定当前的扫描时间值比前一个扫描时间值大,则大的数存在S:22中。

最大扫描时间值的分辨率是-100~0μs。例如,值为9表示800~900μs为最长的程序周期。

若需要确定用户程序的最长扫描周期可以查询该值。

20.用户故障文件

该寄存器用作控制出现用户故障时应执行哪个子程序。

21.STI设定值

①该位只能通过梯形逻辑存取,不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在STI:0/SPM中。详情请参阅“使用可选择定时中断(STI)功能文件”。

22.STI文件号

①该位只能通过梯形逻辑存取,不能以通信的形式存取(例如从其他设备送出的信息指令)。

该位内容同时也保存在STI:0/PFN中。详情请参阅“使用可选择定时中断(STI)功能文件”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈