414369173
繁--尘
级别: 论坛先锋
精华主题: 0
发帖数量: 22 个
工控威望: 1297 点
下载积分: 1774 分
在线时间: 127(小时)
注册时间: 2014-03-15
最后登录: 2017-08-04
查看414369173的 主题 / 回贴
48楼  发表于: 2016-04-25 12:20
模拟测试时可以的,写了个自锁和X3的复位,不用可以去丢。大家看下是否有问题。
楼主留言:
去掉Y1自锁和X3复位,程序不能达到要求的。例如:0S。按第一次,1S按第二次,2秒按第三次,(此时,Y1 ON,到这这个程序是OK的),2.5S第4次,3.5S按第5次,此时Y1要求是ON的,但程序不会输出Y1。
你自己测试下,在以小于3秒间隔不断按X1,但Y1总是会断开一下。
四海明
擅长仓储物流项目,承接PLC 伺服 人机界面控制,QQ551
级别: 略有小成
精华主题: 0
发帖数量: 170 个
工控威望: 329 点
下载积分: 1523 分
在线时间: 217(小时)
注册时间: 2013-04-24
最后登录: 2024-05-04
查看四海明的 主题 / 回贴
49楼  发表于: 2016-04-25 13:19
48楼的应该也不行,他的要求第一次三秒时间内按三次输出Y0 X1最后一次三秒内没有再来三次就断开Y0
这个程序你把它改成,三个计数器交替计数,只要第一个计数器满足3秒内三次后就输出Y0,第二的计数器检测第一个三次后三秒内有没有两次,第三个计数器启动时间为第二个两个时开始计数再加一个三秒判断,第二个计数器等于2时脉冲清零第三个,当第三个计数器等于2时,脉冲清零第2个计数器,然后启动的二个计数,如此循环。当任何一个三秒判断到时,计数器全部清零。高手们指导一下又没问题。
bogegongkong
什么是生活,生活就是活着。
级别: 略有小成
精华主题: 0
发帖数量: 446 个
工控威望: 414 点
下载积分: 2444 分
在线时间: 560(小时)
注册时间: 2007-07-06
最后登录: 2024-03-27
查看bogegongkong的 主题 / 回贴
50楼  发表于: 2016-04-25 13:49
48L的兄弟,去掉Y0自锁和X3复位,你想下:0S。按第一次,1S按第二次,2秒按第三次;2.5秒时按第4次,此时C1=1,有上升脉冲,M1还是ON的,计时T1连续计时;3.5秒后再按下第5次时,C1没上升脉冲,M1会在3秒时被T1断开,Y0不输出。但此时从2S第3次,2.5S第4次,3.5秒第5次,是在3秒按3次,要求Y0输出的。
熟悉轮胎生产工艺流程。专业制造车胎生产设备。提供轮胎工厂公用工程设计,安装。提供轮胎生产设备改造升级服务。愿与各同行探讨工控问题:QQ 1987857377
362775017
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 106 点
下载积分: 615 分
在线时间: 9(小时)
注册时间: 2016-01-05
最后登录: 2022-06-25
查看362775017的 主题 / 回贴
51楼  发表于: 2016-04-25 14:05
48楼,,你这个有一个漏洞,如果一直按x0,你这个就会出现y0不工作,
小侯
小侯
级别: 工控侠客
精华主题: 0
发帖数量: 470 个
工控威望: 2600 点
下载积分: 6448 分
在线时间: 489(小时)
注册时间: 2008-10-17
最后登录: 2024-05-03
查看小侯的 主题 / 回贴
52楼  发表于: 2016-04-25 16:24
我也寫了兩個
大家看看
Q的那個用了28步
FX那個用了46步
Q-TPYE
[attachment=146943]
FX3U
[attachment=146942]

用X執行+1
每秒堆疊進暫存器
比較暫存器中最大與最小值
相減大於等於三即輸出
===============================================
沒寫到復位
在想看看


================================================
應該在後面再追加
當Y輸出後相差等於零後觸發M
當M on時相差大於等於二即復位應該就可以
================================================
還會有個問題,因為我是用內部時鐘脈波,可能會有0.n秒的誤差
[ 此帖被小侯在2016-04-25 17:17重新编辑 ]
flyfeky
bilibili 工控贵族
级别: 论坛先锋
精华主题: 0
发帖数量: 859 个
工控威望: 1009 点
下载积分: 1934 分
在线时间: 686(小时)
注册时间: 2012-05-09
最后登录: 2024-05-05
查看flyfeky的 主题 / 回贴
53楼  发表于: 2016-04-25 16:35
[attachment=146945]
楼主留言:
这个和48L的思路是一样的。对这个程序有一个使用限制,就是要求任意3秒时间段内,不能按X0超过3次,超过3次,就会出现判断不准的问题。
本帖最近评分记录:
  • 下载积分:+1(cad699) 很好理解,一看就明白。
  • 西门子倍福WPF+C#数据库,槽式设备专家
    cad699
    级别: 探索解密
    精华主题: 0
    发帖数量: 47 个
    工控威望: 168 点
    下载积分: 596 分
    在线时间: 1045(小时)
    注册时间: 2013-03-18
    最后登录: 2018-09-08
    查看cad699的 主题 / 回贴
    54楼  发表于: 2016-04-25 18:04
    53楼这个好理解,
    bogegongkong
    什么是生活,生活就是活着。
    级别: 略有小成
    精华主题: 0
    发帖数量: 446 个
    工控威望: 414 点
    下载积分: 2444 分
    在线时间: 560(小时)
    注册时间: 2007-07-06
    最后登录: 2024-03-27
    查看bogegongkong的 主题 / 回贴
    55楼  发表于: 2016-04-25 18:40
    53L的兄弟你想下看,如果以小于3秒的时间间隔连续按X0,Y0输出是持续的吗?
    熟悉轮胎生产工艺流程。专业制造车胎生产设备。提供轮胎工厂公用工程设计,安装。提供轮胎生产设备改造升级服务。愿与各同行探讨工控问题:QQ 1987857377
    flyfeky
    bilibili 工控贵族
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 859 个
    工控威望: 1009 点
    下载积分: 1934 分
    在线时间: 686(小时)
    注册时间: 2012-05-09
    最后登录: 2024-05-05
    查看flyfeky的 主题 / 回贴
    56楼  发表于: 2016-04-25 19:32
    引用
    引用第55楼bogegongkong于2016-04-25 18:40发表的  :
    53L的兄弟你想下看,如果以小于3秒的时间间隔连续按X0,Y0输出是持续的吗?


    LZ 3个定时器任何时间最多容纳3个接通,  多了就不行了. 10个8个的接通,这个程序简单都好做.

    我写的那个100个的, 可惜取的系统时间精度有限.

    按你的那个取系统100毫秒的, 你那个容纳几个接通,   我再想想还能写出其它的吗
    [ 此帖被flyfeky在2016-04-25 19:40重新编辑 ]
    西门子倍福WPF+C#数据库,槽式设备专家
    flyfeky
    bilibili 工控贵族
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 859 个
    工控威望: 1009 点
    下载积分: 1934 分
    在线时间: 686(小时)
    注册时间: 2012-05-09
    最后登录: 2024-05-05
    查看flyfeky的 主题 / 回贴
    57楼  发表于: 2016-04-25 20:00
    [attachment=146980] [attachment=146975] [attachment=146974]



        最多容纳100个导通.   大家给指正一下.  循环要求不超过50毫秒.欢迎测试.


    注意:   保证m8012 导通的那50毫秒里,  只计时一次
    [ 此帖被flyfeky在2016-04-27 19:35重新编辑 ]
    附件: 212.rar (174 K) 下载次数:13
    网站提示: 请不要用迅雷下载附件,容易出错
    西门子倍福WPF+C#数据库,槽式设备专家
    silver
    级别: 探索解密
    精华主题: 0
    发帖数量: 37 个
    工控威望: 120 点
    下载积分: 3174 分
    在线时间: 97(小时)
    注册时间: 2015-01-27
    最后登录: 2023-09-01
    查看silver的 主题 / 回贴
    58楼  发表于: 2016-04-25 20:10
    一直有个思路   一开始将 T0一直计时   x1每次按下时将T0的数值传送到D0  同时将D0 D1 D2 D3向后移位  然后比较  D3 与D1的数值 当然X1按下的次数必须大于3才能比较
    lvpretend
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1255 个
    工控威望: 1425 点
    下载积分: 3674 分
    在线时间: 322(小时)
    注册时间: 2015-07-20
    最后登录: 2024-02-20
    查看lvpretend的 主题 / 回贴
    59楼  发表于: 2016-04-25 21:07
    引用
    引用第58楼silver于2016-04-25 20:10发表的  :
    一直有个思路   一开始将 T0一直计时   x1每次按下时将T0的数值传送到D0  同时将D0 D1 D2 D3向后移位  然后比较  D3 与D1的数值 当然X1按下的次数必须大于3才能比较

    可以的,这种方法指令很简洁,看38楼。