在S7-300、400使用STEP7编程时S5定时器时比较常用的,一般在STEP7中都是使用S5定时器来实现一些特殊定时的功能,但是S5定时器有些场合没有IEC定时器那么方便,比如在触摸屏中设置定时时间。
其实只要知道S5定时器的定时时间的数据格式,在编程中也就可以合理应用了,也就是S5TIME数据类型格式。
一、首先我们看下常用的定时器(这里使用一个接通延时ODT来举例)定时时间的设定格式
常用的定时器时间格式S5T#**ms/s,如下图所示一个1s的接通延时定时器
这是我们常用的格式。但对于触摸屏变量来作为定时时间设定,是无法直接设定的,需要进行数据类型的转换,这就要用到了S5TIME数据格式了。
二、重点聊聊S5TIME数据类型格式
当使用S5TIME数据类型输入持续时间时,输入是以二进制编码的十进制格式进行存储。下图说明了时间值为 127,时间基准为 1s 的时间地址的内容。
也就是说S5TIME数据格式是一个16位的数,高4位为时基(准确来说是第12,13位),分别定义了定时时间的时基(10ms,100ms,1s,10s),第0~11位为设定时间位(要注意的是BCD码格式,在编程时需要进行转换)。
S5TIME的时间基准 如下表:
三、定时时间的设定格式
通过前面的介绍,对于定时器的定时时间也就有了两种设定方式:
(1)W#16#wxyz- 此处 w = 时间基准(即时间间隔或分辨率)- 此处 xyz = 以二进制编码的十进制格式表示的时间值(BCD码)(2)S5T#aH_bbM_ccS_dddMS- 此处 a = 小时, bb = 分钟, cc = 秒, dd = 毫秒- 时间基准自动选择,该值四舍五入至具有此时间基准的下一个较小的数字。可以输入的最大时间值是 9,990 秒或 2H_46M_30S。
四、通过一个例子来看看怎么使用。