PLC里的定时器分辨率有1ms 10ms 100ms的,为什么会有使用上的不同
发布网友
发布时间:2022-04-29 17:50
我来回答
共4个回答
热心网友
时间:2023-10-26 04:56
由于这三种定时器定时精度的不同,它们的刷新方式就不一样了,一个程序的扫描周期大约是几毫秒到几十毫秒,如果程序中使用了定时器进行计时,那么定时器的状态值就会不停的刷新,假设定时器在一个扫描周期内刷新的很多次,那么这个定时器计时的精确度就可以保证,如果只刷新了一次或几个周期才刷新一次,那第它计时的准确度就很差了,你看一下下面的文字就会明白了
1毫秒分辨率
1毫秒定时器记录自现用1毫秒定时器启用以来1毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,1毫秒定时器每毫秒更新一次(定时器位及定时器当前值),不与扫描循环同步。换言之,在超过1毫秒的扫描过程中,定时器位和定时器当前值将多次更新。
定时器指令用于打开和复原定时器,如果是TONR定时器,则用于关闭定时器。
因为可在1毫秒内的任意时刻启动定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用1毫秒定时器时,为了保证时间间隔至少为56毫秒,则预设时间值应设为57。
10毫秒分辨率
10毫秒定时器记录自现用10毫秒定时器启用以来10毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,在每次扫描循环的开始更新10毫秒定时器,其方法是以当前值加上积累的10毫秒间隔的数目(自前一次扫描开始算起)(换言之,在整个扫描过程中,定时器当前值及定时器位保持不变)
因为可在10毫秒内的任意时刻开始定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用10毫秒定时器时,为了保证时间间隔至少为140毫秒,则预设时间值应设为15。
100毫秒分辨率
100毫秒定时器记录自现用100毫秒定时器上一次更新以来100毫秒定时器间隔的数目。这种定时器的更新方法是在执行定时器指令时以当前值加上积累的100毫秒间隔的数目(自前一次扫描开始算起)。
只有在执行定时器指令时才对100毫秒定时器的当前值进行更新。因此,如果启用了100毫秒定时器但并未对各扫描循环执行定时器指令,则仍不能更新定时器当前值并将丧失时间。同样,如果在单个扫描循环内多次执行100毫秒定时器指令,将向定时器的当前值多次增加100毫秒间隔数,赢得时间。只有在每次扫描循环仅仅执行一次定时器指令时,才应该使用100毫秒定时器。
热心网友
时间:2023-10-26 04:56
呵呵,他们除了分辨率的不同之外
还要跟扫描时间结合在一起考虑,
如果你程序的扫描时间少于100MS,但是你使用了100MS的定时器
可能一次数都记不下来...就是因为扫描时间而产生误差
热心网友
时间:2023-10-26 04:57
看书哇·!~书上很详细!~
100MS的是T0~T199 设置时间是0.1S~3276.7S
10MS的是T200~T245 设置时间是0.01S~327.67S
1MS的是T246~T249 设置时间是0.001S~32.767S
看懂了吗???
精度不同
!
还有就是范围不同·!
热心网友
时间:2023-10-26 04:58
精度不同啊!1MS的精度为0.001S,10MS的精度为0.01S,100MS的精度为0.1S
热心网友
时间:2023-10-26 04:56
由于这三种定时器定时精度的不同,它们的刷新方式就不一样了,一个程序的扫描周期大约是几毫秒到几十毫秒,如果程序中使用了定时器进行计时,那么定时器的状态值就会不停的刷新,假设定时器在一个扫描周期内刷新的很多次,那么这个定时器计时的精确度就可以保证,如果只刷新了一次或几个周期才刷新一次,那第它计时的准确度就很差了,你看一下下面的文字就会明白了
1毫秒分辨率
1毫秒定时器记录自现用1毫秒定时器启用以来1毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,1毫秒定时器每毫秒更新一次(定时器位及定时器当前值),不与扫描循环同步。换言之,在超过1毫秒的扫描过程中,定时器位和定时器当前值将多次更新。
定时器指令用于打开和复原定时器,如果是TONR定时器,则用于关闭定时器。
因为可在1毫秒内的任意时刻启动定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用1毫秒定时器时,为了保证时间间隔至少为56毫秒,则预设时间值应设为57。
10毫秒分辨率
10毫秒定时器记录自现用10毫秒定时器启用以来10毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,在每次扫描循环的开始更新10毫秒定时器,其方法是以当前值加上积累的10毫秒间隔的数目(自前一次扫描开始算起)(换言之,在整个扫描过程中,定时器当前值及定时器位保持不变)
因为可在10毫秒内的任意时刻开始定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用10毫秒定时器时,为了保证时间间隔至少为140毫秒,则预设时间值应设为15。
100毫秒分辨率
100毫秒定时器记录自现用100毫秒定时器上一次更新以来100毫秒定时器间隔的数目。这种定时器的更新方法是在执行定时器指令时以当前值加上积累的100毫秒间隔的数目(自前一次扫描开始算起)。
只有在执行定时器指令时才对100毫秒定时器的当前值进行更新。因此,如果启用了100毫秒定时器但并未对各扫描循环执行定时器指令,则仍不能更新定时器当前值并将丧失时间。同样,如果在单个扫描循环内多次执行100毫秒定时器指令,将向定时器的当前值多次增加100毫秒间隔数,赢得时间。只有在每次扫描循环仅仅执行一次定时器指令时,才应该使用100毫秒定时器。
热心网友
时间:2023-10-26 04:56
呵呵,他们除了分辨率的不同之外
还要跟扫描时间结合在一起考虑,
如果你程序的扫描时间少于100MS,但是你使用了100MS的定时器
可能一次数都记不下来...就是因为扫描时间而产生误差
热心网友
时间:2023-10-26 04:56
由于这三种定时器定时精度的不同,它们的刷新方式就不一样了,一个程序的扫描周期大约是几毫秒到几十毫秒,如果程序中使用了定时器进行计时,那么定时器的状态值就会不停的刷新,假设定时器在一个扫描周期内刷新的很多次,那么这个定时器计时的精确度就可以保证,如果只刷新了一次或几个周期才刷新一次,那第它计时的准确度就很差了,你看一下下面的文字就会明白了
1毫秒分辨率
1毫秒定时器记录自现用1毫秒定时器启用以来1毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,1毫秒定时器每毫秒更新一次(定时器位及定时器当前值),不与扫描循环同步。换言之,在超过1毫秒的扫描过程中,定时器位和定时器当前值将多次更新。
定时器指令用于打开和复原定时器,如果是TONR定时器,则用于关闭定时器。
因为可在1毫秒内的任意时刻启动定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用1毫秒定时器时,为了保证时间间隔至少为56毫秒,则预设时间值应设为57。
10毫秒分辨率
10毫秒定时器记录自现用10毫秒定时器启用以来10毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,在每次扫描循环的开始更新10毫秒定时器,其方法是以当前值加上积累的10毫秒间隔的数目(自前一次扫描开始算起)(换言之,在整个扫描过程中,定时器当前值及定时器位保持不变)
因为可在10毫秒内的任意时刻开始定时器,预设值必须设为比最小要求定时器间隔大一个时间间隔。例如,使用10毫秒定时器时,为了保证时间间隔至少为140毫秒,则预设时间值应设为15。
100毫秒分辨率
100毫秒定时器记录自现用100毫秒定时器上一次更新以来100毫秒定时器间隔的数目。这种定时器的更新方法是在执行定时器指令时以当前值加上积累的100毫秒间隔的数目(自前一次扫描开始算起)。
只有在执行定时器指令时才对100毫秒定时器的当前值进行更新。因此,如果启用了100毫秒定时器但并未对各扫描循环执行定时器指令,则仍不能更新定时器当前值并将丧失时间。同样,如果在单个扫描循环内多次执行100毫秒定时器指令,将向定时器的当前值多次增加100毫秒间隔数,赢得时间。只有在每次扫描循环仅仅执行一次定时器指令时,才应该使用100毫秒定时器。
热心网友
时间:2023-10-26 04:56
呵呵,他们除了分辨率的不同之外
还要跟扫描时间结合在一起考虑,
如果你程序的扫描时间少于100MS,但是你使用了100MS的定时器
可能一次数都记不下来...就是因为扫描时间而产生误差
热心网友
时间:2023-10-26 04:57
看书哇·!~书上很详细!~
100MS的是T0~T199 设置时间是0.1S~3276.7S
10MS的是T200~T245 设置时间是0.01S~327.67S
1MS的是T246~T249 设置时间是0.001S~32.767S
看懂了吗???
精度不同
!
还有就是范围不同·!
热心网友
时间:2023-10-26 04:58
精度不同啊!1MS的精度为0.001S,10MS的精度为0.01S,100MS的精度为0.1S
热心网友
时间:2023-10-26 04:57
看书哇·!~书上很详细!~
100MS的是T0~T199 设置时间是0.1S~3276.7S
10MS的是T200~T245 设置时间是0.01S~327.67S
1MS的是T246~T249 设置时间是0.001S~32.767S
看懂了吗???
精度不同
!
还有就是范围不同·!
热心网友
时间:2023-10-26 04:58
精度不同啊!1MS的精度为0.001S,10MS的精度为0.01S,100MS的精度为0.1S