技术论坛

 用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

返回主题列表
作者 主题
昔日如诗
侠圣

经验值: 3575
发帖数: 733
精华帖: 3
楼主    2020-12-31 13:27:18
主题:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

    经常看到”一个键,按一下是开,再按一下是关”这样的话题,我觉得都有些麻烦。用SR指令实现这个功能时会很烧脑,用SCL语句的话更是少有人懂。我这里教大家一个最简单易懂的,直接上图:

    

  先是给MB100赋值170,再是用ROR指令将这个值盘成一个圆。170写成二进制是10101010,0和1相间出现,因而这个圆上的数值就是0和1相间。

  每按一下“启动/停止”按钮M0.0,数值10101010就转一下,这样,对MB100里每一个位而言,这一次得到1,下一次就得到0,如此循环。

  我们随便取一个位,比如M100.0接Q0.7,就能实现一个键按一下是开再按一下是关的功能了。

Zaxife
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
1楼    2020-12-31 14:50:35
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

感觉这样反而更浪费RAM...而且更不直观?也更不好操作!还是RS好用,开的走S、关的走R。只要R有效S就安分的不作乱。

weiyt
奇侠

经验值: 9605
发帖数: 1550
精华帖: 14
2楼    2020-12-31 14:56:24
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

实现方法很多,无非就是语句多少问题,以前论坛讨论的是指令最精简的方法,如果不追求极致,用哪种方法实现都一样。

昔日如诗
侠圣

经验值: 3575
发帖数: 733
精华帖: 3
3楼    2020-12-31 15:19:10
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

你看我另一个贴子后,就会发现ROR是多么的直观

http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1663841&b_id=50&s_id=0&num=1#anch

Zane
至圣

经验值: 76180
发帖数: 19322
精华帖: 377
4楼    2021-01-01 16:40:14
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

如果是有条件启停呢?

满足条件一启动,满足条件二才可以停止。

中间还有个急停,又该怎样?

@ 昔日如诗  版主喊你继续下去!

Zane 注册自动化系统工程师 Always save before download
昔日如诗
侠圣

经验值: 3575
发帖数: 733
精华帖: 3
5楼    2021-01-04 10:00:12
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

可以清零。我们可以用M300.1(而非M300.0)做为Q输出上级指令。

程序运行到中途,我们已经不知道MB300的M300.1是在1还在0的情况下,要停止,就将此寄存器清零,要启动,就给它赋值170

DeepChen
侠士

经验值: 1278
发帖数: 192
精华帖: 0
6楼    2021-01-18 11:50:26
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环


我去搞个PLC SIM试试效果看看  看起来不错

DeepCCC
芳季
至圣

经验值: 66564
发帖数: 14742
精华帖: 100
7楼    2021-01-18 12:25:27
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

你找找我那叫《花拳绣腿之alt指令》才说什么叫直观吧。

flylovemore
侠圣

经验值: 2170
发帖数: 465
精华帖: 0
8楼    2021-04-08 16:51:16
主题:回复:用ROR指令实现“一个键,按一下是开,再按一下是关”这样的循环

alt交替指令三菱、台达的才有吧,西门子没 这个功能指令

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