新手求助:S7-200plc排序(希望附带详细解释) 点击:2008 | 回复:9



ylx518

    
  • 精华:0帖
  • 求助:12帖
  • 帖子:17帖 | 173回
  • 年度积分:52
  • 历史总积分:2846
  • 注册:2017年4月11日
发表于:2012-04-17 08:40:08
楼主
刚接触PLC不久,不知道怎么将4台电机的运行时间按照从小到大排序,求帮助!


楼主最近还看过



cj4787078

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-04-17 09:24:06
1楼

切换法或者步进法来解决!

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-04-17 09:25:21
2楼
用循环 结构 做 冒泡排序, 看看1

东山脚下

  • 精华:0帖
  • 求助:13帖
  • 帖子:28帖 | 1235回
  • 年度积分:0
  • 历史总积分:4415
  • 注册:2012年4月06日
发表于:2012-04-17 09:56:37
3楼
对启停时间时间做一个时间处理就行啊

zcy0562139--王者之师

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 823回
  • 年度积分:0
  • 历史总积分:2023
  • 注册:2009年5月12日
发表于:2012-04-17 11:17:57
4楼

详细说下你的控制要求,我不是很清楚。或者像楼上说的

对启停时间时间做一个时间处理就行啊 

wjbgk

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 210回
  • 年度积分:0
  • 历史总积分:2831
  • 注册:2002年3月08日
发表于:2012-04-17 12:48:02
5楼

cycle mode

ylx518

  • 精华:0帖
  • 求助:17帖
  • 帖子:22帖 | 173回
  • 年度积分:0
  • 历史总积分:2885
  • 注册:2017年4月11日
发表于:2012-04-17 17:29:42
6楼

能否给个例子讲解一下啊!要求4台电机每次启动时间最短的一台,然后是时间第二短的,依次下去。停止的时候反过来,先停时间最长的那一台。希望给出例子详细简讲解一下

ylx518

  • 精华:0帖
  • 求助:17帖
  • 帖子:22帖 | 173回
  • 年度积分:0
  • 历史总积分:2885
  • 注册:2017年4月11日
发表于:2012-04-17 17:31:20
7楼
引用 zcy0562139--王者之师 的回复内容:详细说下你的控制要求,我不是很清楚。或者像楼上说的对启停时间时间做一个时间处理就行啊 



能否给个例子讲解一下啊!要求4台电机每次启动时间最短的一台,然后是时间第二短的,依次下去。停止的时候反过来,先停时间最长的那一台。希望给出例子详细简讲解一下

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-04-18 09:29:56
8楼

把下面的代码转换成  梯形图 即可 ;

冒泡排序 算法

#include <stdio.h>
#include 
<stdlib.h>

//冒泡排序, pnData要排序的数据, nLen数据的个数
int BubbleSort(int* pnData, int nLen)
{
    
bool isOk = false;        //设置排序是否结束的哨兵

    
//i从【0,nLen-1)开始冒泡,确定第i个元素
    for (int i = 0; i < nLen - 1 && !isOk; ++i)
    {
        isOk 
= true;        //假定排序成功

        
//从【nLen - 1, i)检查是否比上面一个小,把小的冒泡浮上去
        for (int j = nLen- 1; j > i; --j)
        {
            
if (pnData【j】 < pnData【j - 1】)    //如果下面的比上面小,交换
            {
                
int nTemp = pnData【j】;
                pnData【j】 
= pnData【j - 1】;
                pnData【j 
- 1】 = nTemp;
                isOk 
= false;
            }
        }
    }

    
return 1;
}

ylx518

  • 精华:0帖
  • 求助:17帖
  • 帖子:22帖 | 173回
  • 年度积分:0
  • 历史总积分:2885
  • 注册:2017年4月11日
发表于:2012-04-18 18:05:59
9楼
回复内容:

对:miy_gongkong关于 把下面的代码转换成  梯形图 即可 ;冒泡排序 算法 #include #include //冒泡排序, pnData要排序的数据, nLen数据的个数int BubbleSort(int* pnData, int nLen){    bool isOk = false;        //设置排序是否结束的哨兵    //i从【0,nLen-1)开始冒泡,确定第i个元素    for (int i = 0; i < nLen - 1 && !isOk; ++i)    {        isOk = true;        //假定排序成功        //从【nLen - 1, i)检查是否比上面一个小,把小的冒泡浮上去        for (int j = nLen- 1; j > i; --j)        {            if (pnData【j】 < pnData【j - 1】)    //如果下面的比上面小,交换            {                int nTemp = pnData【j】;                pnData【j】 = pnData【j - 1】;                pnData【j - 1】 = nTemp;                isOk = false;            }        }    }    return 1;} 内容的回复:

 

由于没有学过C语言,不知道怎么转换成梯形图,不知道可否帮忙转换一下。万分感激!!!!


热门招聘
相关主题

官方公众号

智造工程师