作者 | 主题 |
---|---|
小釉 至圣 经验值: 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 做个功能块中不能有沿和定时器和计数器
认真做事,低调做人
|
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
|