恭喜,你发布的帖子
发布于 2020-03-09 13:15:47
10楼
是的,S7-300/400/1200/1500的边沿指令与S7-200/SMART的边沿指令是不一样的,前者需要定义暂存变量,后者不需要定义。
其实,无论那种形式,边沿指令是跨扫描周期的运算指令,必须要经过两个扫描周期才能得到运算结果,所以必须要暂存前一个扫描周期的中间运算值,这是边沿指令的共有特性。所以对PLC来说,边沿指令的中间运算值存储单元必须是全局寄存器,差别在于是否能动态分配,还是固定寄存器。显然,S7-200/smart的边沿指令寄存器是固定存储器单元,并且地址分配不由用户决定,系统根据指令调用的出现的先后次序分配其暂存寄存器,并且重复调用不会再另行分配新的暂存寄存器,而且有数量的限制,上升沿下降沿总共1024个单元。
这就是在S7-200/SMART的子程序内部无法使用边沿指令的原因,但真的就没办法实现这个功能了吗?非也!
你的意思是不使用他自己的沿指令,在功能块的管脚上增加一个沿的暂存变量?
这样在多次调用的时候,可以自己去分配这个暂存变量,就不用受限了它内部多次调用使用同一个暂存变量的限制了?
请填写推广理由:
分享
只看
楼主