恭喜,你发布的帖子
发布于 2018-12-26 22:39:21
11楼
200带IN,OUT,IN_OUT接口的子程序和1200的FC非常类似,它没有背景数据,但可以仿照FB的背景数据由编程者分配管理一段V数据区来存储子程序每次调用所需的过程数据(有人可能叫变量)。这段过程数据区1200的FB块在调用时编程软件会帮用户分配管理个背景数据块,使人觉得非常易用。200的缺少这个需要编程者来做这个事情,做到了就可以多次调用了。边沿检测这一经典过程把1200的边沿指令中存放前态的那个过程数据以200的V数据区存储管理好,用户自己写上一两句就可以实现多次调用,相较于1200的FB直接用沿指令是要麻烦许多。
处理办法很多,但我一直强调,原因,原因,原因。
什么是原因?就是规避了就不会再有问题。原帖讲 边沿信号,只规避个边沿信号,是不是就可以多次调用不出问题了呢? 反过来,把静态变量规避了,是不是就可以多次调用不出问题?
我理解 的肯定 比你们深,拿1200作个类比,让人很容易明白原因,你们却认为我在比较1200跟200,可笑。就像男人为什么不能生孩子一样,就是没有那套东西,别扯什么人造子宫之类的,那就 不是在讨论原因了。我在说原因,你们却说解决办法,真是我说东你们扯西,无奈!
如你们所强调的边沿指令 的问题,那边沿指令为什么会出问题,还不是因为边沿指令包含一个静态变量,整个库不止一个静态变量,你们如果只想得这么浅,就只认为边沿指令是主要问题,那其它静态变量怎么处理。而真正的问题在静态变量而不在边沿指令,要说主要矛盾也是说静态变量。
实际解决也是改名库并调用,然后重新分配存储区,这么处理很类似背景数据块了,只是你们没有真正理解你们的解决之道!这也是最正确的解决方法!当然你们牛,你们改写库,我相信肯定也能达到你们想要的效果! 这都是解决之道,解决静态变量导致的问题。你们改IN_OUT了,还不是用参数传递来规避静态变量吗?
原帖版主可以不写原因,直接写解决之道是最好的,一但官方在说边沿的问题,我觉得太轻率了!
算了,西门子自己的面子问题,真正懂的人,一看就会觉得西门子官方这技术水平不行,盖棺定论了个什么玩意儿。我发帖本意也希望官方去把那个原因删掉。你们理解的怎么样跟我关系不大。就像我前面说的,懂的人自然懂,菜的人继续菜。@yanxiao,可以把我这个帖子删掉!
请填写推广理由:
分享
只看
楼主