S7-200排序问题 点击:1229 | 回复:15



ylx518

    
  • 精华:0帖
  • 求助:12帖
  • 帖子:17帖 | 173回
  • 年度积分:52
  • 历史总积分:2846
  • 注册:2017年4月11日
发表于:2012-04-19 19:49:23
楼主

4台电机(1,2,3,4)的运行时间放在(vw50,vw52,vw54,vw56)里面,按照从小到大排序后从小到大放在vw100,vw102,vw104,vw106里面,但是不知道怎么将vw100---VW106和电机对应起来,也就是不知道VW100对应的是那台电机的时间,请各位帮忙给个例子,解决一下,感激!



楼主最近还看过



电工九段

  • 精华:2帖
  • 求助:9帖
  • 帖子:60帖 | 1381回
  • 年度积分:0
  • 历史总积分:5582
  • 注册:2006年4月29日
发表于:2012-04-19 21:09:20
1楼

不知道你排序后用来干嘛,如果仅仅是为了开那个运行时间最短的电动机的话,就不需要排序了。找出最小的那个就行了。

 

电工九段

  • 精华:2帖
  • 求助:9帖
  • 帖子:60帖 | 1381回
  • 年度积分:0
  • 历史总积分:5582
  • 注册:2006年4月29日
发表于:2012-04-19 21:14:00
2楼

 

Q0.4,Q0.5,Q0.6,Q0.7一般只亮一个,可以带个指示灯,用来显示哪个电动机可以运行。

 

电工九段

  • 精华:2帖
  • 求助:9帖
  • 帖子:60帖 | 1381回
  • 年度积分:0
  • 历史总积分:5582
  • 注册:2006年4月29日
发表于:2012-04-19 21:15:46
3楼

 

这是4个电动机的起保停电路,前面指示灯不亮的话,这里按启动按钮无反应的。

陈石头

  • 精华:33帖
  • 求助:2帖
  • 帖子:434帖 | 9288回
  • 年度积分:0
  • 历史总积分:54989
  • 注册:2008年3月07日
发表于:2012-04-19 22:21:23
4楼
请关注本帖相关“微求助”:http://t.gongkong.com/topicinfo.aspx?id=2012041922151600001

ylx518

  • 精华:0帖
  • 求助:17帖
  • 帖子:22帖 | 173回
  • 年度积分:0
  • 历史总积分:2885
  • 注册:2017年4月11日
发表于:2012-04-20 08:08:29
5楼
回复内容:
对:电工九段关于  Q0.4,Q0.5,Q0.6,Q0.7一般只亮一个,可以带个指示灯,用来显示哪个电动机可以运行。  内容的回复:

这样只能选择时间最短的那台启动,我想要电机启动时按照时间从小到大的顺序,停止时按照从大到小的顺序依次停止。4台电机只是一个例子,如果是10台的话在,这样比较就感觉比较麻烦,您可以用排序和电机对应起来吗?

彩云之滇东北

  • 精华:37帖
  • 求助:5帖
  • 帖子:148帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2012-04-20 08:20:14
6楼

少的可以再用一个比较指令,比较vw50=哪个就是1号,vw52=哪个就是2号……,这里可能存在一个运行时间相等的处理

彩云之滇东北

  • 精华:37帖
  • 求助:5帖
  • 帖子:148帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2012-04-20 08:24:21
7楼

最简单的是再用一个vw60-vw66来记录电机号,当比较结果进行数据交换的时候,同时对电机号进行交换,这样vw60-vw66里面的号就是电机的号

 

ylx518

  • 精华:0帖
  • 求助:17帖
  • 帖子:22帖 | 173回
  • 年度积分:0
  • 历史总积分:2885
  • 注册:2017年4月11日
发表于:2012-04-20 08:27:06
8楼
回复内容:
对:彩云之滇东北关于 最简单的是再用一个vw60-vw66来记录电机号,当比较结果进行数据交换的时候,同时对电机号进行交换,这样vw60-vw66里面的号就是电机的号  内容的回复:可以给个例子吗?感激!

ylx518

  • 精华:0帖
  • 求助:17帖
  • 帖子:22帖 | 173回
  • 年度积分:0
  • 历史总积分:2885
  • 注册:2017年4月11日
发表于:2012-04-20 19:04:50
9楼
怎么没人回答呢?难道我问的问题太低级了,大家都不想回答?

大器晚成

  • 精华:0帖
  • 求助:5帖
  • 帖子:90帖 | 435回
  • 年度积分:0
  • 历史总积分:1636
  • 注册:2002年9月19日
发表于:2012-04-23 16:27:20
10楼
你的问题很好的,只是一时没有太好的解决方案,给你个思路,用表指令试试,如FIFO等

腚海神针

  • 精华:0帖
  • 求助:2帖
  • 帖子:249帖 | 743回
  • 年度积分:0
  • 历史总积分:4529
  • 注册:2007年12月05日
发表于:2012-04-29 13:58:05
11楼

多做几次比较程序,就可以把顺序排出来了,就是比较麻烦!

青岛黄工

  • [版主]
  • 精华:5帖
  • 求助:89帖
  • 帖子:171帖 | 4776回
  • 年度积分:0
  • 历史总积分:24301
  • 注册:2007年4月02日
发表于:2012-04-29 14:45:52
12楼
应该有专门的高级指令吧,就是一条高级指令,自动对这些寄存器排序,等高手详解。

东山脚下-骑士军团

  • 精华:0帖
  • 求助:13帖
  • 帖子:28帖 | 1235回
  • 年度积分:0
  • 历史总积分:4415
  • 注册:2012年4月06日
发表于:2012-04-29 17:08:55
13楼

按照下面的程序可以把其中的一个在其中是第几位,找出来,其他的按这个思路来就是了,

就是有点麻烦,你可以看看,这样就可以一个一个的把他们在其中的顺序拍好了。

你先看看,希望对你有帮助

艾诺樱桃帮v

  • 精华:0帖
  • 求助:1帖
  • 帖子:37帖 | 1555回
  • 年度积分:0
  • 历史总积分:1539
  • 注册:2012年3月02日
发表于:2012-04-29 18:12:51
14楼
引用 腚海神针 的回复内容:多做几次比较程序,就可以把顺序排出来了,就是比较麻烦!



winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:60帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2012-04-29 21:22:31
15楼
把运行时间和电机号捆绑在一起排序移动即可,比如运行时间小于3000分钟电机号<=9,可以把运行时间乘以10再加上电机号存入数据区,直接对该数据区排序即可,程序中看数据的个位数即可确定电机号.

热门招聘
相关主题

官方公众号

智造工程师