比如S7-200里面我该如何实现当VW400里面的数据发生改变时就启动中断进行一些操作?数据变化马上程序就能感应得到,这个数据变化的程序该如何写?大家有没有比较好的思路?
最佳答案
谁写数据谁知道。如果plc自己改写数据,那么就在改写的那条mov指令那里就是变更的时刻。如果是通讯做的修改,那么就是通讯中接收完成中断就是这个变更的时刻。如果这个通讯是内部库程序完成的程序,那么你将无法入手什么时候产生中断。你只能通过程序扫描检测是否改变。
我只能这么的说了。无法再提供什么思路给你。不知道你明白不?
为何要马上更新,我不知道。我觉得,数据不管什么时候更新过,只要是在下一次 读 之前更新的话。那么这个更新就是已经达到最有效的了。你每天早上7点看信报箱拿报纸,只要投递员在7点钟之前送到报信箱。那么你就没意见了。投递员也没有必要早上3点钟就把报纸送到你的箱里面。
还有一点我不知道你对中断,扫描,通讯三者之间的反应时间的差距有多少认识。如果是受通讯改写的vw400,那么你急着用通讯接收完成中断去取数,是没有多大意义的。你中断争取到的时间,通讯处理上面抖一抖手,你争取的时间就已经白费了。就等于一条满载的货船超载了,你拼命的把船员们的生活用水和食物丢弃来力求卸荷,也比不过你少装一个货柜就轻易把超载部分去掉了。
我感觉你是一开始就想错了。马上。没有程序是马上的。
我退一步。要是 是我没明白你的意思,请见谅。移步到论坛。我等你。
提问者对于答案的评价:
高手!谢谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc190820.html