FB和FC里的定时器罢工了吗?

已锁定

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    310

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

FB和FC里的定时器罢工了吗?

813

2

2014-12-23 08:40:47

有网友问我:“我在FB块里设置了参数类型为TIMER的输入参数TIM15。同样的数据类型为Timer的输入参数TIM1~TIM14的定时器是程序原有的,用起来没有问题。TIM15是我新增的,调用功能块时用T2作TIM15的实参,但是在FB里监控TIM15,它不动作。将它改为全局变量,例如T33就正常了。但不知道为什么?烦请老师帮忙分析下有那些可能影响的原因。”(我对原话做了些文字整理)。
我用仿真做了实验(见下图),接通两个定时器的线圈,的确看到T33的当前值不断减小,但是看不到TIM15的当前值和它的变化。
对计数器做类似的实验,也看不到计数器当前值的变化。FC里的定时器、计数器也有同样的问题。
问题到底出在哪里,是FB和FC里的定时器、计数器罢工了吗?




为了确认定时器、计数器是否罢工,我用MOVE指令将定时器TIM15的当前值传送到MW12,在定时器线圈通电时,看到TIM15的当前值从设定值开始不断减小(见下图),看来TIM15并没有罢工,只是在监控定时器线圈时看不到它的当前值而已。对计数器做同样的实验,也能证明FB里地址为参数类型COUNTER的计数器是能工作的。




值得注意的是TIM15是输入参数,它的功能是用来接收定时器的地址,它的输出位的状态不会自动地返回给调用FB的程序。需要在FB里创建一个数据类型为BOOL的输出参数,例如下图中的out1,用它来将TIM15输出位的状态返回给调用FB的程序。


FB和FC里的定时器罢工了吗? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54806条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。