超难的PLC编程 点击:6095 | 回复:119



解永辉

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:139
  • 注册:2004年6月06日
发表于:2010-12-21 16:42:12
楼主
使用PLC(FX2n-48MT)中的16个输出端子Y0-Y17,,编写产生随机6个输出端子置高电平的程序,欢迎各位大虾指点!谢谢!



wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-28 12:02:13
21楼

 

  下面是具体的答案程序:

  

  X05是操作开关。摁住X05的开关相当于摇动装骰子的容器,放开X05的开关相当于开盖见骰子点数的组合。

                

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-28 13:45:46
22楼

 

  M8099是FX2n/ FX2NC上的(0.1mS)高速环形计数器D8099的驱动位。D8099的最低2个位高速的翻转着它们的状态(0 / 1),把它们作为“移位寄存器K4Y0”的信息源,每个扫描周期里,源信息都有可能是 00 / 01 / 10 /  11 这4种组合中的一种。这是我们无法预知,也无法掌控用操作开关X05的摁下时刻去选择其中哪一种状态组合的;同时,移位寄存器“K4Y0”各个位也高速的从低位向高位方向滚动着。所以从Y0至Y17的16个位在我们摁住X05的开关时,我们无法掌控这16个输出位的当前状态!我们放开X05的开关后,只要字“K4Y0”中有6个“1”状态时,字“K4Y0”中16个输出位便将当前状态定格下来。按照№18楼对“随机”所下的定义,这“K4Y0”定格下来的状态就必定是一个“随机”的状态,且满足楼主要求“有6个输出位状态为高电平”的目标功能!

     

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-28 21:19:12
23楼

 

  实现这个“目标功能”的程序可以有多种多样的写法,我是用一个比较简洁的方法来写的。因为我喜欢把程序写得简洁些。

        

sunhong

  • 精华:0帖
  • 求助:0帖
  • 帖子:44帖 | 250回
  • 年度积分:0
  • 历史总积分:1518
  • 注册:2007年10月31日
发表于:2010-12-28 22:07:05
24楼

我觉得难就难在随即上,你们的随机是否就为“随机”!?

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2010-12-29 08:21:56
25楼
恭喜W。大家努力啊。看,这样就获得1000元的奖励了。

解永辉

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:139
  • 注册:2004年6月06日
发表于:2010-12-29 08:49:11
26楼

谢谢wanggq !为保证您的号码安全!请把您的电话号码发至邮箱xyhfdzh@sina.com!我们尽快联系您!绝对守信!

YSC1

  • 精华:3帖
  • 求助:2帖
  • 帖子:129帖 | 2487回
  • 年度积分:88
  • 历史总积分:8018
  • 注册:2002年6月07日
发表于:2010-12-29 09:13:27
27楼
引用解永辉 的回复内容:

谢谢wanggq !为保证您的号码安全!请把您的电话号码发至邮箱xyhfdzh@sina.com!我们尽快联系您!绝对守信!




祝贺wanggq

凹凸曼

  • 精华:0帖
  • 求助:1帖
  • 帖子:14帖 | 246回
  • 年度积分:0
  • 历史总积分:2822
  • 注册:2010年7月26日
发表于:2010-12-29 09:46:47
28楼
回复内容:
对:YSC1 关于引用解永辉 的回复内容:

谢谢wanggq !为保证您的号码安全!请把您的电话号码发至邮箱xyhfdzh@sina.com!我们尽快联系您!绝对守信!




祝贺wanggq
内容的回复:

贺喜,贺喜!~

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2010-12-29 12:29:42
29楼

干脆直接把账号发到邮箱可以啦。

liang1978z

  • 精华:0帖
  • 求助:1帖
  • 帖子:11帖 | 116回
  • 年度积分:0
  • 历史总积分:477
  • 注册:2008年4月07日
发表于:2010-12-29 15:28:36
30楼
不是难,而是烦~~~~~~

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-29 15:58:47
31楼
引用 解永辉 的内容:

    “谢谢wanggq !为保证您的号码安全!请把您的电话号码发至邮箱xyhfdzh@sina.com!我们尽快联系您!绝对守信! ”


 


 

  回复:

 

  真要兑现啊!那就用《工控论坛》的充值MP通过《工控网》的版主加到我的MP帐上吧!《工控网》的虚拟币MP:

 

                  1000MP=1000元人民币            

 

  感谢楼主的慷慨资助!感谢网友们的祝贺!!

 



lly

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 907回
  • 年度积分:0
  • 历史总积分:1633
  • 注册:2004年8月23日
发表于:2010-12-29 17:00:52
32楼

还不完善。

如果不小心按了两次呢?

或者接触不好、抖动,造成按下去信号1-0-1有个过程变化呢?而这个过程变化时间是不确定,DI也许能采集到,但可能超过扫描周期等等。

lly

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 907回
  • 年度积分:0
  • 历史总积分:1633
  • 注册:2004年8月23日
发表于:2010-12-29 17:08:36
33楼
本人想还是通过上位机生成随机数,发给PLC。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-29 19:36:19
34楼

 

   无论你不小心按了几次,也无论开关接点的颤抖如何,最后结果也都是一个“随机”的状态!

        

Piston

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 13107回
  • 年度积分:18
  • 历史总积分:40065
  • 注册:2009年5月22日
发表于:2010-12-29 19:37:06
35楼
这么个梯形图就值1k?!楼主早说藕500就可以给你做的!

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-29 19:54:49
36楼

 <回复第32楼>

  出题者没有提出过这个“游戏规则”要受程序的扫描周期限制!你到庙里求签,和尚有没有限制你摇签筒的时间一定要在几秒或零点几秒?赌场里的幸运魔轮有没有规定你转动魔轮之后一定得在一个什么时刻停稳?!

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-29 20:02:10
37楼

 引用<Piston> 的内容:

         “这么个梯形图就值1k?!楼主早说藕500就可以给你做的!”


            

  回复:


  楼主早在本月22日就已经说过:“若能解决好该问题,可以邮箱联系!xyhfdzh@sina.com 并支负300-500RMB报酬。”可你就没赶在我之前帮他把这个问题实际的给解决了!

      
  至于程序很简洁,也不能说明这个问题就没有深度。所谓大法至简,对于同一个问题,多种解决方案中,解决方法愈是简洁,愈是表明方法的高明!
          

gnay1125

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 13回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2009年9月12日
发表于:2010-12-29 20:36:04
38楼

我只能说我还冒入门

有高手愿意指点么

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-12-29 21:06:40
39楼

 

  我再把第21楼的答案稍微的改变一点:

lly

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 907回
  • 年度积分:0
  • 历史总积分:1633
  • 注册:2004年8月23日
发表于:2010-12-30 13:05:19
40楼
引用wanggq 的回复内容:

 

   无论你不小心按了几次,也无论开关接点的颤抖如何,最后结果也都是一个“随机”的状态!

 

我的意思是说,操作者认为自己按了一次,实际程序检测到两次,输出结果会引来中奖者争议的。

对于这种输出结果不确定性,应该采用LOCK的方式,或者将按钮LOCK或者将结果LOCK,延时复位。

不象一般的逻辑,1-0-1这种抖动情况,输出结果与1-1-1 是一样的。

        






热门招聘
相关主题

官方公众号

智造工程师