在S7-CPU中使用嵌套程序的注意事项(2)
来源:电工天下时间:2020-04-01 14:42:38 作者:老电工手机版>>
此时CPU将报16#4573错,如图4所示:
图4:同步错误嵌套2
c) Error during allocation of local data (分配本地数据错误) 。对于S7-CPU每个优先级都有对本地数据大小的限制,如果用户使用的范围超出了此限制,CPU将出现错误。
以6ES7315-2AG10-0AB0为例,其每个优先级下的本地数据大小为512 BYTE。如下错误使用都可能导致此错误:
1、OB1 调用FC1,FC1 中定义的local data(TEMP数据类型)与OB1中定义的local data(TEMP数据类型)总和超出了CPU 对此优先级分配的local data 数量。
2、OB1 中嵌套调用多个FC, 这些FC 使用的local data 与OB1中定义的local data(TEMP数据类型)总和超过了分配给此优先级的local data 数量。
此时CPU将报16#3576错,如图5:
图5:分配本地数据错误
对于S7-400CPU, 用户可以在硬件配置中调节每个优先级下的本地数据大小,以6ES7412-2XG04-0AB0为例,如图6:
图6:分配本地数据
4、当用户在使用嵌套功能出现错误时,对于支持OB88的CPU(例如S7-400CPU),可用通过下载OB88来防止CPU停机,此时CPU将处于SF状态,但OB88不可以再出现嵌套使用错误,否则CPU将进入停机状态。
对于不支持OB88的CPU(例如S7-300CPU),当出现嵌套调用错误时,无法避免CPU进入停机状态。
注意:以上主要以OB1为例说明嵌套调用,在实际使用中,用户应注意每个优先级下对嵌套调用的注意事项。
相关文章
西门子plc S7200多个寄存器累加程序
西门子plc S7200多个寄存器的累加程序,计算CS校验码,如何实现多个寄存器的累加,多个寄存器的地址是连续的,可用指针指令进行累加。
时间:2022-09-18 14:31:47
plc流量累积计算程序实例
plc流量累积计算程序实例,plc计算流量累积的方法,plc在流量显示和累积计量上的应用,西门子plc中如何解决流量累积问题的方法,一起来了解下。
时间:2022-09-18 14:29:15
西门子plc cpu模块中断(lnterrupts)设定的分类
西门子plc cpu模块中断(lnterrupts)设定的分类,包括硬件中断(Hardware Interrupts)设定、延时中断(Time-Delay Interrupts)设定、PROFIBUS-DP中断(lnterrupts for DPVl)设定、异步出错中断(Asynchronous Error Interrupts)设定。
时间:2020-04-25 13:50:53
西门子plc程序控制指令的分类与功能说明
西门子plc程序控制指令的分类与功能,西门子plc程序控制指令分为结束指令END、停止指令STOP、看门狗复位指令WDR、跳转及标号指令、循环指令(FOR和NEXT)等,这些指令的用应实例。
时间:2020-04-23 10:41:47
西门子s7-300子程序执行时间的是多少
有关西门子s7-300执行子程序时间的查看方法,分享了西门子s7-300执行子程序时间的具体查看步骤,可在主程序调用该子程序的前后分别读取cpu的系统时钟,利用时钟指令fc34进行相减进行编程运算。
时间:2020-04-08 13:32:13
西门子s7-300下载程序报错原因分析
有关西门子s7-300下载程序的报错原因,西门子s7-300下载程序报错原因查找方法,地址间断连续,说明模拟量模块有问题,在硬件组态中点击“离线—在线”。
时间:2020-04-08 12:38:52
西门子s7-300 cpu系统扫描循环时间的查看办法
如何查看西门子s7-300中cpu系统扫描循环时间,有二种方法,方法1:将程序下载到plc中,在线连接并查看cpu信息,方法2:通过将OB1对应的临时变量传到M区中,读取CPU的扫描循环时间。
时间:2020-04-08 11:52:20
西门子s7-300中cpu扫描时间过长系统停机怎么办?
西门子s7-300中cpu扫描时间过长导致系统停机的解决方法,CPU会因看门狗超时而导致系统停机,同时会触发定时错误OB80,可以参考下本文的解决方法与步骤。
时间:2020-04-08 11:51:37