利用Twido的周期事件打造超级定时器

2017/1/10 11:44:05

 1.概述

  在某些设备控制程序中可能要求定时器在计时的过程中具备暂停计时的功能,在计时期间,如果暂停信号为高电平,计时器停止工作,但其当前计时值需要保留,当暂停信号为低电平时,定时器在暂停前的计时值基础上继续计时。

  大部分PLC没有提供具备暂停功能的定时器,这就需要编程者自己通过程序来实现这一功能。当然,PLC本身的灵活的可编程性能为实现这一功能提供了很多解决方案,例如可以用定时器与计数器配合,将暂停信号串在计数器的计数端,就能完成带暂停功能的计时器功能。

  2 在Twido系列PLC中的实现方法

  在Twido PLC中可以使用周期事件来实现具备暂停功能的定时/计时器。Twido具有一路周期可在5~255ms间调整的周期事件功能,也就是时间在5~255ms之间的一个定时中断。首先看一下周期事件的设置:

  上面配置了一个100ms的周期事件(定时中断),在此事件/中断中调用0号子程序,超级定时器的实现程序就放在这个子程序中。

  上面程序段中使用的变量:

  %M0 超级定时器使能

  %M1 超级定时器暂停

  %M2 超级定时器复位

  %M3 超级定时器输出

  %MW10 超级定时器计时值

  %MW11 超级定时器设置值

  在程序使用这个自制的超级定时器:

  需要注意之处(如果在程序使用了子程序,必须在主程序结束处加END指令):

  程序的指令表源码:

  (* 设置超级定时器定时时间值 *)

  LD 1

  [ %MW11 := 100 ]

  (* 超级定时器时间到后输出 *)

  LD %M3

  ST %Q0.0.0

  (* 超级定时器的便能、暂停及复位 *)

  LD 1

  MPS

  AND %I0.0.0

  ST %M0

  MRD

  AND %I0.0.1

  ST %M1

  MPP

  AND %I0.0.2

  ST %M2

  (* 如果在程序使用了子程序,必须在主程序结束处加END指令 *)

  END

  (* 一个时基为100MS的超级定时器 *)

  SR0:

  LD 1

  MPS

  AND %M0

  MPS

  ANDN %M1

  AND [ %MW10 < %MW11 ]

  [ INC %MW10 ]

  MPP

  AND [ %MW10 >= %MW11 ]

  ST %M3

  MPP

  AND %M2

  [ %MW10 := 0 ]

  RET

  如果需要,在周期中断程序中可以做出多个类似的定时器。

 

 
施耐德电气技术文摘:
Twdio PLC无法自动运行解决方法
ATV61变频器高级多泵卡的PID参数的整定方法
压力传感器如何选型
施耐德电气绿色城市综合体
TWDLC*A10DRF单字乘除扩展功能
施耐德断路器进水怎么维修
Twido PLC的数据保持
施耐德电气热继电器选型方式
Twido程序不能正常打开的处理
施耐德电气LMC058运动控制器的三大功能介绍
光电传感器选型需要哪些主要参数?
施耐德电气石油和天然气管道的安全控制解决方案
两种TWIDO PLC在线修改程序错误的解决方法
施耐德电气变频器故障代码及处理方法
施耐德电气变频器故障代码及处理方法
施耐德电气ATV31变频器电机自整定注意事项
变频协调控制技术在引风变频系统改造中的应用
在Twido PLC的通讯程序中巧用常量字KW
更多施耐德电气技术文摘...

通过中华工控网在线联系施耐德电气有限公司:

免费注册为中华工控网会员