TIAv17环境下再次学习练习STL-85定时器指令
标签:
西门子tiastl编程定时器指令 |
分类: 西门子软硬件 |
继续学习TIA环境下STL编程,本篇开始学习定时器指令。
有关设置和选择正确的定时信息,请参阅定时器在存储器中的位置与定时器组件描述。
提供以下定时器指令:
- FR 启用定时器(自由)
- L 将当前定时器值作为整数载入 ACCU 1
- LC 将当前定时器值作为 BCD 载入 ACCU 1
- R 复位定时器
- SD 接通延迟定时器
- SE 扩展脉冲定时器
- SF 断开延时定时器
- SP 脉冲定时器
- SS 掉电保护接通延时定时器
定时器在存储器中的位置与定时器组件
存储器中的区域
CPU
存储器中有一个为定时器保留的区域。该存储器区为每个定时器地址保留一个 16 位的字。FBD编程支持 256 个定时器。请参阅 CPU
的技术信息以建立多个可用的定时器字。
以下功能可访问定时器存储区域:
- 定时器指令
- 利用时钟定时更新定时器字。在运行模式下,CPU 的这个功能可按照由时间基准指定的间隔将给定的时间值递减一个单位,直到该时间值等于零为止。递减操作与用户程序异步。这表示所得到的时间总是较短,最高可达时基的一个时间间隔。
时间值
定时器字的位 0 到 9
包含二进制编码的时间值。时间值指定多个单位。时间更新可按照由时间基准指定的间隔将时间值递减一个单位。递减会持续进行,直至时间值等于零为止。可以在累加器 1
的低字中以二进制、十六进制或二进制编码的十进制(BCD)格式装入时间值。可使用以下格式之一预先加载时间值:
- W#16#txyz
此处 xyz = 以二进制编码的十进制格式表示的时间值
- S5T#aH_bM_cS_dMS
用户变量为:a、b、c、d
自动选择时间基准,其值舍入为具有该时间基准的下一个较小的数字。
可以输入的最大时间值是 9,990s 或 2H_46M_30S。
时间基准
定时器字的位 12 和 13
包含二进制编码的时间基准。时间基准定义时间值减小一个单位的间隔。最小时间基准为 10 ms;最大为 10 s。
数值不得超出
2h_46m_30s。超出范围或分辨率的数值将被向下舍入。S5TIME 的一般格式有以下限制:
ACCU 1 中的位组态
当启动定时器时,ACCU1 的内容将被用作时间值。ACCU1-L 的 0
到 11 位保留二进制编码的十进制格式时间值(BCD
格式:每个四位元组包含的二进制码代表一个十进制值)。第 12 和 13 位存放二进制编码的时间基准。
下图显示了装载定时器值 127 和 1 秒时间基准的 ACCU1-L
的内容:
选择正确的定时器
该总览旨在帮您为定时任务选择正确的定时器。
从上图可以看出:
S_PULSE(脉冲定时器)指令功能是当输入有上升沿,输出为1,如果在预设时间t内输入回零,即使事件没有走完,输出回零。
S_PEXT(延长脉冲定时器)指令功能是输入有上升沿,输出为1.在时间t未走完之前,即使输入回零,输出继续保持1,直到t走完。
S_ODT(接通延时定时器)指令功能是输入有上升沿,等时间t走完后,输出为1,只要输入回零,输出就回零。
S_ODTS(保持接通延时定时器)指令功能是输入有上升沿,等时间t走完后,输出一直为1,即使在t走完前输入回零,走完t之后,输出一直为1。
S_OFFDT(关闭延迟定时器)指令功能是输入有上升沿,输出同时为1,等输入回零,经过时间t之后,输出回零。

加载中…