bogegongkong
什么是生活,生活就是活着。
级别: 略有小成
精华主题: 0
发帖数量: 446 个
工控威望: 414 点
下载积分: 2444 分
在线时间: 560(小时)
注册时间: 2007-07-06
最后登录: 2024-03-27
查看bogegongkong的 主题 / 回贴
楼主  发表于: 2016-04-22 20:04
题目很简单:任意时间段内,输入X1,3秒内ON三次,输出Y1 ON。
注意是任意时间段内。
求最简短的编程。
偶然在中国工控网看到的。觉得有点意思,转发过来,看看我们工控家园兄弟的高招。
我也搞了一个,23步搞定,有讨论的再发。



看来大家对这个题目还有点兴趣。42L的兄弟也搞出来了。测试是OK的。
很多认为很简单的,就是没理解“任意时间段内”这个意思。自己将按X1时间分成3秒一段,3秒一段,按顺序判断,这肯定是不对的。

将我搞出的发上来,大家看下是否有问题。我测试是OK的。PLC 用FX3U。

  [attachment=146921]
[attachment=146922]
[attachment=146923]
[attachment=146924]    


uthman程序最简短明了。很有启发性。uthman是高手。大家可以看下他的程序。
[ 此帖被bogegongkong在2016-08-11 13:24重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(上善若水非凡) 好贴好贴!
  • 下载积分:+5(uthman) 共同学习
  • 熟悉轮胎生产工艺流程。专业制造车胎生产设备。提供轮胎工厂公用工程设计,安装。提供轮胎生产设备改造升级服务。愿与各同行探讨工控问题:QQ 1987857377
    lvpretend
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1255 个
    工控威望: 1425 点
    下载积分: 3674 分
    在线时间: 322(小时)
    注册时间: 2015-07-20
    最后登录: 2024-02-20
    查看lvpretend的 主题 / 回贴
    1楼  发表于: 2016-04-23 11:56
    有实际案例的,煤矿绞车,有限时间内,3次信号为提升允许,2次信号为下降允许。在接受到提升/下降允许信号后有限时间内,必须收到速度手柄的方向信号,否则重新屏蔽允许信号。并且,如果收到的手柄方向信号与允许信号不一致,立即屏蔽允许信号。目的是防止误操作。
    lvpretend
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1255 个
    工控威望: 1425 点
    下载积分: 3674 分
    在线时间: 322(小时)
    注册时间: 2015-07-20
    最后登录: 2024-02-20
    查看lvpretend的 主题 / 回贴
    2楼  发表于: 2016-04-24 10:55
    引用
    引用第25楼宋志扬于2016-04-23 16:48发表的  :
    看看,能实现否?

    这个程序做不到,不是仅仅以第一个脉冲开始计时的,每一个脉冲都是一个3s计时的开端。你的程序第一脉冲到来后开始计时,如果1,2,3脉冲不是有效脉冲,而2.3.4脉冲才是有效脉冲,你的程序就出错了。因为你无法以第2个脉冲开始计时。
    楼主留言:
    对,就是这个意思。如果是固定的分成3秒一段按顺序判断,那就没必要发出来讨论。
    lvpretend
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1255 个
    工控威望: 1425 点
    下载积分: 3674 分
    在线时间: 322(小时)
    注册时间: 2015-07-20
    最后登录: 2024-02-20
    查看lvpretend的 主题 / 回贴
    3楼  发表于: 2016-04-24 12:01
    这个看看,好像没什么问题。
    [attachment=146889]
    最后一行D0应该=>3
    lvpretend
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1255 个
    工控威望: 1425 点
    下载积分: 3674 分
    在线时间: 322(小时)
    注册时间: 2015-07-20
    最后登录: 2024-02-20
    查看lvpretend的 主题 / 回贴
    4楼  发表于: 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楼。