全国服务热线 15221406036
单位新闻

西门子S7-200SMART模块6ES7288-1ST40-0AA1

发布时间: 2023-03-18 12:07 更新时间: 2024-05-08 07:10

西门子S7-200SMART模块6ES7288-1ST40-0AA1

   plc脉冲频率功能是读取高速计数器输入的脉冲频率,将其转换为旋转速度,或者将计数器当前值转换为累计转数,它将转换值十六进制8位输出,并且仅可在高速计数器0中使用。进行频率-旋转速度的转换时.利用高速计数器输入的脉冲频率及每1圈的脉冲数计算出旋转速度。进行计数器当前值-累计转数的转换时,利用计数器当前值及每1圈的脉冲数计算出累计转数。其具体的使用步骤如下所述。
      (1)高速计数器的使用/不使用的设定:将PLC系统设定的【高速计数器0使用/不使用】设定为“使用”。
      (2)计数器模式的选择:选择PLC系统设定中的【高速计数器O】/【计数模式】。
      (3)数值范围模式的选择:选择PLC系统设定【高速计数器O】/【数值范围模式】。在数值范围模式设为环形模式的情况下,设定PLC系统设定【高速计数器0】/【环形计数器大值】。
      (4)高速计数器当前值的复位方式选择:选择PLC系统设定【高速计数器O】/【复位方式】。
      (5)PRV2指令的执行:在频率数转换为转数的情况下,操作数C1是控制数据【频率-旋转速度的转换:#0000】;操作数C2是系统设定【每1圈的脉冲数(Hα)】;操作数D是转换结果保存目的地低位CH编号。在将计数器当前值转换为转数的情况下,操作数C1是控制数据【计数器当前值-累计转数的转换:#0001】;操作数C2是系数设定【每1圈的脉冲数(Hα)】;操作数D是转换结果保存目的地低位CH编号

在S7-CPU中使用嵌套程序需要注意什么,如何使用?
回答:S7-CPU支持嵌套程序,但对于不同的CPU类型,在使用时需要注意一些问题。
1. 不同的CPU类型,支持的嵌套程序深度不同,用户可在CPU的技术数据中查到此参数,以6ES7315-2AG10-0AB0为例。


图1:CPU的嵌套深度参数

2. 用户可以按照如下方式使用嵌套功能:

a) 在某个优先级组织块中调用多个嵌套FC/FB。例如,在OB1 (优先级为1)调用FC1,FC1中调用FC2,FC2中调用FC3,等等,一直到FC7,与OB1共8层深度。如果在FC7 中又调用了FC8 ,此时会导致CPU 停机,在CPU在线信息界面中可查看到此情况,如图2所示。用户也可在OB35(优先级为12)调用FC11,FC11中调用FC12,FC12中调用FC13,等等,一直到FC17。


图2:嵌套调用

b) 在某个优先级中调用某个FC,此FC多次调用自身。例如,在OB1 (优先级为1)调用FC1,FC1中仍然调用FC1,用户在FC1 的程序中必须编程累计FC1被调用的次数,如果达到了7次,则需要从FC1 中跳出调用(此方法即为软件行业广泛应用的递归编程方法)。如果在FC1 调用自身次数超出了CPU允许的嵌套深度,此时会导致CPU 停机。

3. 当用户在使用嵌套功能时,可能出现几种错误:

a) The nesting depth of block calls (U-Stack) is too high(嵌套深度太高)。例如:
• 用户在某个优先级(如OB1)中调用嵌套程序深度超出所使用CPU支持深度,如第2节(a) 部分所描述。
• 用户在某个优先级(如OB1)中调用嵌套程序深度超出所使用CPU支持深度,如第2节(b) 部分所描述。
此时CPU将报16#4575错,如图3所示:


图3:同步错误嵌套1

b) The nesting depth of synchronous errors is too high(同步错误嵌套深度太高)。例如:
• 用户在OB1中使用L DB1.DBB0 语句(CPU中并未下载DB1),
• 此时CPU出现编程错误,将调用OB121。
• 如果用户在下载的OB121中又使用了L DB1.DBB0 指令,将导致CPU停机
此时CPU将报16#4573错,如图4所示:


图4:同步错误嵌套2

c) Error during allocation of local data (分配本地数据错误) 。对于S7-CPU每个优先级都有对本地数据大小的限制,如果用户使用的范围超出了此限制,CPU将出现错误。以6ES7315-2AG10-0AB0为例,其每个优先级下的本地数据大小为512 BYTE。如下错误使用都可能导致此错误:
• OB1 调用FC1,FC1 中定义的local data(TEMP数据类型)与OB1中定义的local data(TEMP数据类型)总和超出了CPU 对此优先级分配的local data 数量。
• 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为例说明嵌套调用,在实际使用中,用户应当注意每个优先级下对嵌套调用的注意事项


联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com