nlb2001
级别: 略有小成
精华主题: 0
发帖数量: 96 个
工控威望: 237 点
下载积分: 577 分
在线时间: 64(小时)
注册时间: 2013-02-03
最后登录: 2024-03-26
查看nlb2001的 主题 / 回贴
楼主  发表于: 2015-09-24 13:11
各位大侠:
      
       本人要做一个程序:有11个空位,有一个运搬车随机向着11个空位中放工件。只要这11个空位中没有工件的位置就可以随机放置工件,一次放一个。
   我想的是空位中有工件就是0,在0~11空位中中(最大)随便找一个不是0的位置放工件,得用什么指令啊??
   先随机选一个位置,在和0比较,是0的话就再重复随机选择,再和0比较,不是0的话就选择这个。
   0~11的范围怎么定,得用子程序吗
   脑汁绞尽求帮助啊!!!!!
nlb2001
级别: 略有小成
精华主题: 0
发帖数量: 96 个
工控威望: 237 点
下载积分: 577 分
在线时间: 64(小时)
注册时间: 2013-02-03
最后登录: 2024-03-26
查看nlb2001的 主题 / 回贴
1楼  发表于: 2015-09-24 16:30
比较的话每次都从第一个开始比,那么后面的就没有机会放工件了啊
nlb2001
级别: 略有小成
精华主题: 0
发帖数量: 96 个
工控威望: 237 点
下载积分: 577 分
在线时间: 64(小时)
注册时间: 2013-02-03
最后登录: 2024-03-26
查看nlb2001的 主题 / 回贴
2楼  发表于: 2015-09-25 14:29
大哥给稍微详细点说说呗,小弟初学没能理解
nlb2001
级别: 略有小成
精华主题: 0
发帖数量: 96 个
工控威望: 237 点
下载积分: 577 分
在线时间: 64(小时)
注册时间: 2013-02-03
最后登录: 2024-03-26
查看nlb2001的 主题 / 回贴
3楼  发表于: 2015-09-28 16:37
我也想了几天了,查遍互联网!!
我是这样做的,PLC好像没有真正的 随机数。
所以我利用时间,每次触发信号肯定不会一样,所以利用用触发时间的秒数除以6,基本上可以等到10个结果,这样基本上可以做到随机放置工件了。
不过还有一个问题,就是如果放工件的位置为满工件,就不能放了还得重新选择,是不是得用到子程序的调用什么的啊,又是一个新的问题…………………………