回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

已锁定

小釉

  • 帖子

    2758
  • 精华

    26
  • 被关注

    62

论坛等级:至圣

注册时间:2011-05-12

钻石 钻石 如何晋级?

发布于 2020-03-09 13:15:47

10楼

展开查看
以下是引用Zane在2020-03-05 22:34:50的发言 >9楼

       是的,S7-300/400/1200/1500的边沿指令与S7-200/SMART的边沿指令是不一样的,前者需要定义暂存变量,后者不需要定义。

       其实,无论那种形式,边沿指令是跨扫描周期的运算指令,必须要经过两个扫描周期才能得到运算结果,所以必须要暂存前一个扫描周期的中间运算值,这是边沿指令的共有特性。所以对PLC来说,边沿指令的中间运算值存储单元必须是全局寄存器,差别在于是否能动态分配,还是固定寄存器。显然,S7-200/smart的边沿指令寄存器是固定存储器单元,并且地址分配不由用户决定,系统根据指令调用的出现的先后次序分配其暂存寄存器,并且重复调用不会再另行分配新的暂存寄存器,而且有数量的限制,上升沿下降沿总共1024个单元。

这就是在S7-200/SMART的子程序内部无法使用边沿指令的原因,但真的就没办法实现这个功能了吗?非也!



以下是引用小釉在2020-01-20 13:15:30的发言 >楼主:做一个标准的功能块...

引用楼主详细内容:

做一个标准的功能块,程序中使用了上升沿和下降沿。

单次调用的时候没有问题,多次调用的时候程序就出现错误执行。

同样的块在S7-300中运行没有问题

这个从原理上怎么解释呢?

你的意思是不使用他自己的沿指令,在功能块的管脚上增加一个沿的暂存变量?

这样在多次调用的时候,可以自己去分配这个暂存变量,就不用受限了它内部多次调用使用同一个暂存变量的限制了?


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9030条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。