关于轮值控制 点击:144 | 回复:3



    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 1回
  • 年度积分:121
  • 历史总积分:121
  • 注册:2020年7月23日
发表于:2021-04-05 14:32:43
楼主
求助帖30分-未结帖

要求对10台机器的启动停止进行自动控制。

自动检测到启动信号后开始启动机器,根据机器运行时间的长短且无报警的状态下依次启动,最先启动运行最短的。停止是先停止运行时间最长的。

求助梯形图程序应该怎么写,只有两三台机器还好,完全用比较指令就可以写,10台机器用传统比较就太复杂了,求助各位



刹那风逝

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 68回
  • 年度积分:167
  • 历史总积分:985
  • 注册:2020年6月23日
发表于:2021-04-07 10:53:27
1楼

看你的逻辑写的不是很清楚,优点乱,希望你整理一下,逻辑严谨清晰,有无其他启动停止条件。自动检测到启动信号后开始启动机器?已经有启动信号了难道机器还没启动么?每台机器启动后的运行时间?,按照你这个逻辑写的话,最后有可能就是所有机器瞬间启动,瞬间停止了。

techsavvy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:106
  • 历史总积分:142
  • 注册:2013年4月29日
发表于:2021-04-08 16:54:16
2楼

我理解是求最长时间和最小时间的对应电机号?

可以定义连续的寄存器比如D100-D109按顺序存放10个电机的运行时间。

利用求最大最小值命令求出最大值和最小值是多少。

或者排序指令也行,那就需要先把寄存器备份一下。

用循环指令把最大和最小值去和10个寄存器里的值做相等比较,相等就说明这个寄存器是你要找的电机,就能求得是

哪个电机运行时间最长和最短

techsavvy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 14回
  • 年度积分:108
  • 历史总积分:144
  • 注册:2013年4月29日
发表于:2021-04-08 16:57:51
3楼

如果用C语言写,就简单多了,可以定义数组,然后循环比较,最后对应的最大值和最小值的下标就是要找的电机号


相关主题

官方公众号

智造工程师