quote:以下是引用蓝豆在2010-08-15 12:23:18的发言:
不知道该怎么说才好! 用“掩耳盗铃”来比喻你的做法,可能不确切,但有一种意思在里面。
16个FB58的背景数据块,与1个放了16个FB58背景数据块的数据块又什么区别?
可能你的程序中只调用了一个FB58,但16个回路的计算量没有减少啊,原先系统只需计算16个回路而已,现在还要多做这么些数据的传送任务,而且还是间址寻址,系统负担是加重了还是减轻了?
话再说回来,分时调用FB58,每个周期计算一个回路,也不必这么费力,在定时中断里用JL指令就可以轻松搞定了。
----------------------------------------------------------------------
1、我不认为这是在掩耳盗铃
2、16个FB58的背景数据块,与1个放了16个FB58背景数据块的数据块,有没有什么区别并不重要,只是一种编程的思路而已,你认为16个背景数据块简单明了你大可以这样用,但是我不会。
3、不知道你有没有真正明白我的意思,同样是控制16个回路,我这样做是一个扫描周期调用一次FB58,否则是一个扫描周期调用16个FB58,我们关注的是一个扫描周期的扫描时间,这样你明白区别在哪里了?
4、至于你说的JL指令,又回到编程的思路上了,没什么好讨论的。
最后,说的极端一点,有个工程需要控制200个回路,CPU限制只能调用100个FB58(数据只是举个例子,这个我不是很确定),这时候你怎么办呢?
回你的帖子时,我就怕你的自我感觉太好,但不幸的是果然如此。
我认为,对于CPU的处理周期,资源分配,分时调用的原则,不明白的恰恰是你。
用JL指令分时调用这么个简单的问题,被你搞得这么复杂,你不嫌麻烦就自己用用算了,忽悠别人就不必了。
还有,你的极端问题其实不存在,能调用多少FB58只取决于CPU的装载内存的大小及系统响应性能的要求。
应该说对于你在FB58应用方面在技术上作出的探索努力,并乐意与大家进行交流的举动,我们是一如既往地支持和欢迎的。作为一方版主,有权利对网上的技术讨论作出评论,发表观点,对网友在技术上作出正确的引导,好就是好,差就是差,对事不对人,但善于吸取别人的经验与建议,是否更利于你的技术进步?
言语不周,敬请谅解。