您的位置:控制工程论坛网论坛 » 自动化软件 » 关于轮值控制

shixb168

shixb168   |   当前状态:在线

总积分:953  2024年可用积分:0

注册时间: 2006-08-17

最后登录时间: 2023-10-24

空间 发短消息加为好友

关于轮值控制

shixb168  发表于 2022/7/28 17:41:50      745 查看 5 回复  [上一主题]  [下一主题]

手机阅读

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

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

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


1楼 0 0 回复
  • yan1999

    yan1999   |   当前状态:在线

    总积分:839  2024年可用积分:0

    注册时间: 2006-04-11

    最后登录时间: 2023-08-23

    空间 发短消息加为好友

    yan1999   发表于 2022/7/29 11:38:44

    自动检测到启动信号后开始启动机器?已经有启动信号了难道机器还没启动么?每台机器启动后的运行时间?,按照你这个逻辑写的话,最后有可能就是所有机器瞬间启动,瞬间停止了。

    2楼 回复本楼

    引用 yan1999 2022/7/29 11:38:44 发表于2楼的内容

  • shian1742

    shian1742   |   当前状态:在线

    总积分:894  2024年可用积分:0

    注册时间: 2006-07-28

    最后登录时间: 2023-08-23

    空间 发短消息加为好友

    shian1742   发表于 2022/7/29 11:45:34

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

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

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

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

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


    3楼 回复本楼

    引用 shian1742 2022/7/29 11:45:34 发表于3楼的内容

  • luckynf

    luckynf   |   当前状态:在线

    总积分:915  2024年可用积分:0

    注册时间: 2008-09-19

    最后登录时间: 2023-08-24

    空间 发短消息加为好友

    luckynf   发表于 2022/7/29 11:53:32

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

    4楼 回复本楼

    引用 luckynf 2022/7/29 11:53:32 发表于4楼的内容

  • shida111

    shida111   |   当前状态:在线

    总积分:921  2024年可用积分:0

    注册时间: 2006-09-10

    最后登录时间: 2023-08-24

    空间 发短消息加为好友

    shida111   发表于 2022/7/29 16:41:46

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

    5楼 回复本楼

    引用 shida111 2022/7/29 16:41:46 发表于5楼的内容

  • nihaosb

    nihaosb   |   当前状态:离线

    总积分:0  2024年可用积分:0

    注册时间: 0001-01-01

    最后登录时间: 0001-01-01

    空间 发短消息加为好友

    nihaosb   发表于 2022/9/28 4:41:03

    6楼 回复本楼

    引用 nihaosb 2022/9/28 4:41:03 发表于6楼的内容

总共 , 当前 /