发布于 2011-04-14 22:59:03
46楼
OB1是用户程序与PLC操作系统的接口;没有了OB1,你就是想把PLC当玩具玩了?我感觉多看看书,弄清楚PLC的工作原理是必须的!
上面有很多大侠说:“把所有的程序都放到OB35里面,删除OB1,PLC也能运行”这个是不错,但你知道你把所有程序放在OB35里面是那个还能叫程序吗?那个叫不负责任的冒险,或者叫无知!你知道对程序的执行会带来什么后果吗?
我举个例子说明一下:当程序都在OB35里面执行的时候。第一种情况:假如你的中断循环时间设定为20ms,当时间中断到来时,开始执行OB35里面的程序,如果程序需要大于20ms才能执行完成一次;那么20ms以后,循环中断又来到了,程序又从头开始执行,也就是说20ms后面的程序是没有执行的。第二种情况:假如你把循环中断时间设置足够大,足以让OB35里面的程序执行一次,比如5秒,OB35确实是把程序从头到尾完整执行了一次,可见将近5秒的时间差能准确控制我们的设备吗?这两种可能发生的情况带来的后果你比我更清楚!
更要命的是:只有当OB1执行完成一次,PLC才会刷新过程映像区一次。也就是说,即使你所有的程序放在OB35里面执行的很好。如果你把OB1删除了,PLC的过程映像区是不会有变化的,过程映像区不刷新,那么PLC也就是一个玩具了。
所以我个人认为,OB35绝对不能替代OB1的,在PLC中,OB1具有特殊的地位,是用户程序与PLC操作系统的接口!任何块都无法替代的,它虽然优先级低,可干的活是最多的。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”