西门子s7-300中FB与FC定时器与计数器的问题

作者:老电工时间:2015-10-27 10:28:42

西门子s7-300中FB与FC定时器与计数器

以下是整理的廖老师回答学生的 有关 西门子s7-300中FB与FC定时器与计数器的问题,与大家共享。

问题:
在FB块中设置了参数类型为TIMER的输入参数TIM15。同样的数据类型为Timer的输入参数TIM1~TIM14的定时器是程序原有的,用起来没有问题。TIM15是我新增的,调用功能块时用T2作TIM15的实参,但是在FB里监控TIM15,它不动作。将它改为全局变量,例如T33就正常了。

用仿真做了实验(见下图),接通两个定时器的线圈,的确看到T33的当前值不断减小,但是看不到TIM15的当前值和它的变化。
对计数器做类似的实验,也看不到计数器当前值的变化。FC里的定时器、计数器也有同样的问题。
问题到底出在哪里,是FB和FC里的定时器、计数器罢工了吗?

西门子s7-300中FB与FC定时器与计数器1

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

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

西门子s7-300中FB与FC定时器与计数器3

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc