quote:以下是引用蓝豆在2010-08-06 11:12:36的发言:
针对101楼Zane提出的回路比较多影响控制性能的情况,我们公司的设备16个回路采取了这样的控制方式:
1、OB35中首先做一个循环,每次加1,计数到16后再从头开始
2、每次中断执行一个循环,相当于控制一个回路
3、先将当前回路值通过指针及BLKMOV传送到DB58(FB58的背景数据块)
4、调用FB58
5、将FB58的输出值赋值到模拟量输出
6、下一中断将回路数加1,相关数据传送到DB85,再执行上面步骤
7、这样相当于只用了一个FB58,我们OB35周期设定为50ms,对于每个回路来说800ms刷新一次输出,完全满足控制要求
你那16个回路的数据存在哪里啊,不是也要16个数据块吗?那加起来还多用一个数据块呢!还要来来回回传数据,不嫌麻烦啊 ,这点时间处理一个回路也够了呀,不值!
不过,还是要感谢你的交流!