有没有plc的扫描周期是固定的。而我记得一般的plc的扫描周期都是不固定的,但是有的plc的扫描周期是一个循环任务,是固定的刷新周期,那么把扫描周期搞成不固定的与固定的会有什么不同的用处与优缺点?
答:扫描周期和 调用周期是2个概念。
扫描周期,程序开始执行执行到结束 cpu花费的时间,叫扫描周期,我想没有哪家plc 可以做到固定扫描周期吧。
siemens plc 的程序执行分为2类 ,一个是ob1 ,不断地进行扫描,当有中断发生时,暂停,进入中断处理程序,中断程序完成后,返回继续执行下面代码;另外一类其他的是各种中断,固定执行间隔 的中断叫”循环中断“,比如ob35,每隔100毫秒cpu操作系统调用一下ob35 执行下里面代码。
当你 把 程序在循环中断中调用时,比如ob35每隔100毫秒执行一次,这样 可以实现 程序每次在相同间隔后 执行一次,比如某些 周期性的过程值采样,缺点是如果你的程序过大,万一在某次执行ob35时,程序的扫描周期超过100毫秒,cpu会停机。
当使用ob1主循环 就不存在这个问题(当然cpu里有最大扫描周期设置项,当ob1扫描时间大于这个值时,cpu也会停机),缺点 我不认为 这样的方法有什么缺点 只是不能实现定时采样的功能吧。