您现在的位置是:首页 > PLC技术 > PLC技术

STL编程语言中定时器确定定时时间

来源:艾特贸易2017-06-05

简介当启动定时器时,累加器 1 中的值为其运行时间或定时时间。该时间值如何以及何时进入累加器是不重要的。为了使程序更易读,最好是在定时器启动前,将运行时间直接加载到累加器

    当启动定时器时,累加器1中的值为其运行时间或定时时间。该时间值如何以及何时进入累加器是不重要的。为了使程序更易读,最好是在定时器启动前,将运行时间直接加载到累加器。该时间既可以是常量(直接指定数值),也可以是变量(例如包含该值的一个存储字)。

    艾特贸易网提示:即使在启动指令执行时,定时器还没有启动,累加器1中也必须包含一个有效的时间值。

   (1)定时时间是常量

   L  S5TIME#10s //定时10s

   L  S5T#1m10ms //定时1min+10ms

    在基础语言STL. LADFBD中,定时时间或运行时间可以是小时、分钟、秒、毫秒,定时范围从S5TIME#10ms (10ms)S5TIME#2h46min30s (2h46min30s) (9990s)。可以用S5TIME#S5T#定义时间值。

   (2)定时时间是变量

   L  S5T#10m   //定时10

   T  MW20;    ∥保存时间

    ;

   L  MW20;    ∥加载时间

   (3)定时时间的结构

    在内部,定时时间是由时间值和时基构成的:定时时间=时间值×时基。定时时间是定时器运行时间。时间值代表定时器运行周期数。时基定义了CPU操作系统用来减小定时器运行时间的周期值(如图7-2所示)。

定时时间中位的分配

    7-2    定时时间中位的分配

    可以通过字直接确定定时时间。时基越小,实际定时时间越精确。例如延时1秒,可以采用下列三种方法之一:

    定时时间=2001H  时基1s

    定时时间=1010H  时基100ms

    定时时间=0100H  时基10ms

在这种情况下,应该选用第三种方式。

    定时器启动时,CPU使用已编程的时间值作为定时器的运行时间。操作系统以固定的时间间隔更新定时器,该过程与用户的程序扫描无关,即操作系统用由时基确定的定时器运行时间的周期值来减小正在运行的定时器时间值。

    当该值减到零时,定时器延时时间到,CPU置位定时器状态(信号状态“0”或“1”,取决于定时器类型)并停止所有的进一步活动,直到重启定时器。

    启动定时器时,如果时间值设置为0,定时器一直处于激活状态,直到CPU处理该定时器并发现定时器已经停止运行。

    对于程序扫描来说,定时器是异步更新的,因此定时器状态在程序扫描周期开始时与结束时有可能不同。如果在程序中,只在一个位置上使用定时器指令且用推荐的顺序,异步更新定时器不会产生错误。