品牌: SIEMENS/西门子
西门子(SIEMENS)的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400、S7-1500等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等
不同定时器的功能TON 和 TONR 定时器操作:
在使能输入 IN 接通时开始计时。 当前值等于或大于预设时间时,定时器位置为接通。 使能输入置为断开时,清除 TON 定时器的当前值。 使能输入置为断开时,保持 TONR 定时器的当前值。 输入 IN 置为接通时,可以使用TONR 定时器累积时间。 使用复位指令 (R) 可清除 TONR 的当前值。 达到预设时间后,TON 和 TONR 定时器继续定时,直到达到大值 32,767 时才停止定时。TOF 定时器
使能输入接通时,定时器位立即接通,当前值置为 0。输入断开时,定时开始,定时一直持续到当前时间等于预设时间。 达到预设值时,定时器位断开,当前值停止递增;但是,如果在 TOF 达到预设值之前使能输入再次接通,则定时器位保持接通。 要使 TOF 定时器开始定时断开延时时间间隔,使能输入必须进行接通-断开转换。 如果 TOF 定时器在 SCR 区域中,并且 SCR 区域处于未激活状态,则当前值设置为0,定时器位断开且当前值不递增。定时器工作规律如下表所示:
表3. 定时器操作和PLC上电循环
类型
|
当前值 >= 预设值
|
使能输入 IN 的状态
|
上电循环/次扫描
|
TON
|
定时器位接通 当前值继续定时到 32,767 |
ON: 当前值 = 定时值 OFF: 定时器位断开,当前值 = 0 |
定时器位 = OFF 当前值 = 0 |
TONR
|
定时器位接通 当前值继续定时到 32,767 |
ON: 当前值 = 定时值 OFF: 定时器位和当前值保持后状态和值 |
定时器位 = OFF 当前值可以保持 |
TOF
|
定时器位断开 当前值 = 预设值,停止定时 |
ON: 定时器位接通,当前值 = 0 OFF: 在接通-断开转换之后,定时器开始定时 |
定时器位 = OFF 当前值 = 0 |
接通延时定时器指令举例如下图所示:
图1.接通延时定时器指令程序举例
其中:
定时器T37时基为100ms,预置值设定为10,实际延时时间为100ms×10=1s。图2.时序图
其中:
IN为“1”状态时,定时器开始运行 延时到达预置值,T37 置位 IN输入端为“0”状态时,定时器复位 如无复位,当前值继续增至大值 定时器在子程序中的表现在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。
如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。
常见问题1.利用定时器定时的程序,在编译报错“指令操作数的存储器寻找范围无效”?
这种情况往往是调用的定时器号与定时器类型不配合造成的。参见上面的表格,如T7只能用作TONR,而不能用于TON或TOF。
2.为什么子程序中的定时器和计数器不工作或者工作不正常?
如果有下面情况产生:
A.一个在内部使用了定时器或计数器的子程序,在同一时刻被调用了多次
B. 相同编号的定时器或计数器被多个子程序使用,且同一时刻这些子程序有两个或者以上被调用
则定时器或者计数器资源会因重叠使用而相互影响,造成程序逻辑等方面的错误。