| 作者 | 主题 |
|---|---|
|
sangshunyang 侠圣
经验值:4443 发帖数:618 精华帖:4 |
楼主
主题:S7 1200, 1500 IE 定时器的工作机制
西门子S7-1200 1500PLC提供IEC定时器,使用起来灵活方便。可是定时器是如何工作的,能不能真正的精确到1毫秒,定时器的Q位,ET值是如何刷新的。是扫描周期开始时刷新,还是执行到相应指令时刷新。ET值刷新是每个毫秒都刷新,还是程序扫描开始刷新,还是执行到指令时刷新。定时器的Q位是怎么刷新的,这些不彻底搞明白,编写程序时就会糊里糊涂,如在中断程序中要用定时器的ET值,这个值是什么时候的值。还有如果程序量大的话,扫描周期长,扫描开始时定时器的ET值和程序结尾处用到的ET是不是相同。 还有使用LTIME类型时,最小单位是纳秒,PLC实际能达到的精度是多少。 |
|
伊默 至圣 经验值:19231 发帖数:4256 精华帖:118 |
1楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制能不能真正“精确”到一毫秒? 如果你的PLC扫描周期大于1ms,那么它的精确度肯定是达不到1ms的... ...这个定时器是和扫描周期挂勾的。
I can do it
|
|
westcowboy 奇侠 经验值:6746 发帖数:833 精华帖:46 |
2楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制IEC定时器,说白了就是一个程序块FB实现的定时器功能,所以它的精度和PLC扫描方式是息息相关的。 如果真想精度高,即使用S5定时器,实际也不行,因为IO点的扫描和输出执行还和PLC执行,IO过程映像区刷新有关的。 如果楼主真有控制需求要实现精度非常高的定时任务,不妨看看S7-1500基于时间的IO模块,(Timebased IO),那个可以实现1微秒的准确定时输入或/和输出。
Let's build the automation future!
|
|
伊默 至圣 经验值:19231 发帖数:4256 精华帖:118 |
3楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制燃鹅... ... Timebased IO极耗资源!做很短的延时是不行的!比如我一个项目用1515-2PN带Timebased IO, 想要实现10ms以内的定时,结果失败了..... 在我的项目上测试的结果需要定时时间超过60ms以上才能可靠执行(这和程序大小有关,如果1515只是带定时模块做定时任何那么肯定可以做得更小些), 所以如果真有要求用这个模块,一定要注意。
I can do it
|
|
westcowboy 奇侠 经验值:6746 发帖数:833 精华帖:46 |
4楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制呵呵,伊默大侠说的对:Timebased IO做很短的延时不行,但这并不是说它的应用消耗资源很大,这是因为这个延时必须要大于3个PLC的扫描周期,这个要求在手册里有提到,举例:如果CPU扫描时间为8ms,则Timebased IO可以实现的定时至少是3×8=24ms,如果工艺要求这个时间很短,那就需要一个很强悍的CPU。 优势是:精度极高!
Let's build the automation future!
|
|
伊默 至圣 经验值:19231 发帖数:4256 精华帖:118 |
5楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制事实上,它确实是很耗资源。 因为那个库文件都是涉及LTime之类的运算。 尤其放到等时同步OB块内去周期性地执行,结果就导致PLC扫描周期会加长很多。 就我测试的项目来看,会导致扫描周期加倍更甚!而且抖动大多了。
I can do it
|
|
Zane 版主 经验值:85161 发帖数:21047 精华帖:399 |
6楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制S7-1500的背部总线较S7-300/400有很大的提升,这个模块为啥不能在主机架使用,而是一定要通过总线及HF的接口模块才能用?延时大于3个扫描周期就是受制于总线的通讯超时设置
Zane
注册自动化系统工程师
Always save before download
|
|
sangshunyang 侠圣 经验值:4443 发帖数:618 精华帖:4 |
10楼
主题:回复:S7 1200, 1500 IE 定时器的工作机制测试结果分析: 1,同一个扫描,定时器的ET是不相同的,其ET值的刷新不是在扫描到定时器指令时刷新的。这一点可能 好多人都认为是在执行到定时器指令才刷新的,认为定时器就是一个FB块,FB块只有执行FB块才会刷新其背景数据块,其实不是这会事儿。从查找的官方资料中得知定时器的刷新: S7-1200的定时器的时间更新发生在定时器功能框的Q点或ET连接变量时,或者在程序中使用背景DB(或IEC_TIMER类型的变量)中的Q点或者ET时。 参考链接: http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/function/TIMER/TIMER.html 2,相同的一段程序其执行的时间也不相同,偏差还是蛮大的,就测试的一段程序来看,其循环结束时间 减去循环可开始时间,是循环段程序执行的时间,不同的循环周期有几十毫秒的差异,当然这是人为增大扫描周期才出现的现象,大部分程序扫描周期是几个毫秒到几十个毫秒,对逻辑控制没什么影响,这只是说明同一指令执行耗时在不同的扫描周期也是不完全相同。 |