技术论坛

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

返回主题列表
作者 主题
小釉
至圣

经验值: 10015
发帖数: 2779
精华帖: 26
楼主    2020-01-20 13:15:30
主题:为什么SMART 做个功能块中不能有沿和定时器和计数器

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

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

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

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

芳季
至圣

经验值: 66275
发帖数: 14654
精华帖: 100
1楼    2020-01-20 16:50:19
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

300有没有给边缘指令分配地址?

300有没有给每个调用分配独立的运行记忆空间?

云山雾绕
至圣

经验值: 16196
发帖数: 2382
精华帖: 0
2楼    2020-01-20 17:42:29
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

有些东西没有原来的好用

开心每一天,懂得包容、感恩!
--意孤行
奇侠

经验值: 5084
发帖数: 520
精华帖: 7
3楼    2020-01-20 21:11:45
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器
  1. 因为Smart PLC  子程序只能相当于300里面的FC,没有静态变量。

  2. 但是可以通过编程的方式实现静态变量功能,有了该静态变量就可制作沿指令、计数器、定时器了

认真做事,低调做人
RENHQ
至圣

经验值: 68539
发帖数: 12105
精华帖: 59
4楼    2020-01-20 22:10:54
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

200smart的沿指令是内部自动分配的,有固定的,把沿指令做外面就好了啊

Q群:https://jq.qq.com/?k=9BDuEgf6
小釉
至圣

经验值: 10015
发帖数: 2779
精华帖: 26
5楼    2020-01-21 08:18:56
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

既然是固定的,那是不是可以这样理解,同一个功能块被调用两次,如果块中有上升沿的话,PLC程序中自动分配了重复的沿标志位呢?

RENHQ
至圣

经验值: 68539
发帖数: 12105
精华帖: 59
6楼    2020-01-22 13:46:06
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

不自动呢,一个沿指令对应一个地址,多次调用功能块的时候,每次调用需要对应一个地址

Q群:https://jq.qq.com/?k=9BDuEgf6
yanxiao
至圣

经验值: 26048
发帖数: 11948
精华帖: 43
8楼    2020-01-22 17:27:34
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器
边沿检测原理,是本次扫描值,与前一次扫描值比较,计算边沿值,也就是说,它需要前一次扫描的记忆值,而这个记忆值,存放在指令本身内(与指令捆绑)。
如果多次调用同一子程序,传给子程序检测沿的对象是同一个,比如都是I0.0,子程序内检测沿是没有问题的。
如果多次调用子程序,传给子程序检测沿的对象是不相同的,那么就产生存在于沿指令内前次值的交叉感染现象,计算所得的沿值,就超出了通常可解释的目的。

注:上述讲的'扫描',不等同于'扫描周期'。
Zane
至圣

经验值: 75765
发帖数: 19245
精华帖: 376
9楼    2020-03-05 22:34:50
主题:回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

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

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

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



Zane 注册自动化系统工程师 Always save before download
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。