关于轮值控制 点击:750 | 回复:16



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

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

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

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



楼主最近还看过



刹那风逝

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

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

techsavvy

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

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

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

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

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

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

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

techsavvy

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

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

CMD

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 37回
  • 年度积分:59
  • 历史总积分:328
  • 注册:2017年3月08日
发表于:2021-04-20 15:20:56
4楼

843468620  文本不便描述

波疲

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 429回
  • 年度积分:18
  • 历史总积分:189
  • 注册:2017年8月26日
发表于:2021-04-24 15:20:48
5楼

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

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:1
  • 历史总积分:155
  • 注册:2020年7月23日
发表于:2021-05-08 16:14:28
6楼

本人新手上路,还请多多指教

孟银

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 6回
  • 年度积分:24
  • 历史总积分:4270
  • 注册:2020年5月22日
发表于:2021-05-08 16:53:21
7楼

用FOR循环+序列+比较+赋值指令可以实现。

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:1
  • 历史总积分:155
  • 注册:2020年7月23日
发表于:2022-08-11 16:15:53
8楼

"刹那风逝" 的回复,发表在1楼
        对内容: 【看你的逻辑写的不是很清楚,优点乱,希望你整理一下,逻辑严谨清晰,有无其他启动停止条件。自动检测到启动信号后开始启动机器?已经有启动信号了难道机器还没启动么?每台机器启动后的运行时间?,按照你这个逻辑写...】进行回复:

        -----------------------------------------------------------------


是这样的,有6台机器,启动的时候是根据运行时间最短的先启动,停止的时候运行时间最长的先停止。当然自动运行的时候是自动检测压力,根据检测压力和运行时间依次停止/启动每台机器。若依次停止途中压力再次上升,停止后的机器要休息10分钟再次启动。

           不过感谢回复,我已经做好了。实际过程比描述的还要复杂些

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:1
  • 历史总积分:155
  • 注册:2020年7月23日
发表于:2022-08-11 16:16:52
9楼

"孟银" 的回复,发表在7楼
        对内容: 【用FOR循环+序列+比较+赋值指令可以实现。】进行回复:

        -----------------------------------------------------------------


谢谢,我差不多也是这样做的。已经实现

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:1
  • 历史总积分:155
  • 注册:2020年7月23日
发表于:2022-08-11 16:18:53
10楼

"波疲" 的回复,发表在5楼
        对内容: 【如果用C语言写,就简单多了,可以定义数组,然后循环比较,最后对应的最大值和最小值的下标就是要找的电机号...】进行回复:

        -----------------------------------------------------------------


是的,用scl语言也简单好多,不过200smart用不了scl语言

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:1
  • 历史总积分:155
  • 注册:2020年7月23日
发表于:2022-08-11 16:20:47
11楼

"techsavvy" 的回复,发表在2楼
        对内容: 【我理解是求最长时间和最小时间的对应电机号?可以定义连续的寄存器比如D100-D109按顺序存放10个电机的运行时间。利用求最大最小值命令求出最大值和最小值是多少。或者排序指令也行,那就需要先把寄存器备...】进行回复:

        -----------------------------------------------------------------


谢谢,我是用for循环加指针完成的

创金自控

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 513回
  • 年度积分:10
  • 历史总积分:68
  • 注册:2021年7月12日
发表于:2022-08-20 11:10:39
12楼

谢谢分享

gk2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 142回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2018年3月19日
发表于:2022-08-29 11:04:22
13楼

谢谢分享

hnlufeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 183回
  • 年度积分:84
  • 历史总积分:166
  • 注册:2019年6月09日
发表于:2022-10-29 19:05:36
14楼

谢谢谢谢分享谢谢谢谢分享

luoqing

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1539回
  • 年度积分:0
  • 历史总积分:47
  • 注册:2018年5月07日
发表于:2022-10-30 15:29:36
15楼

用scl语言也简单好多,不过200smart用不了scl语言

天涯的雨滴

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 329回
  • 年度积分:155
  • 历史总积分:154
  • 注册:2016年1月26日
发表于:2023-07-29 17:15:34
16楼

谢谢,学习了


热门招聘
相关主题

官方公众号

智造工程师