akang8612
级别: 略有小成
精华主题: 0
发帖数量: 393 个
工控威望: 420 点
下载积分: 3434 分
在线时间: 268(小时)
注册时间: 2011-10-14
最后登录: 2024-03-26
查看akang8612的 主题 / 回贴
楼主  发表于: 2017-07-10 16:25
图片:
图片:
朋友们好,请教一个问题。
我们一般用西门子S7-200,S7-1200,S7-300PLC来完成控制.
控制内容 有若干台风扇,通过调节开启风扇多少来达到降温效果。
首先是检测温度来判断开启风扇多少(温度高于上限启动一台风扇,温度低于下限停一台风扇),然后每台风扇运行的时候开始计时,优先启动运行时间短的风扇。
停的时候优先停运行时间长的风扇。
之前台数少的时候是用比较指令来判断风扇启停顺序的。
但台数多的时候用比较指令就比较麻烦了,
哪位朋友有这方面的控制经验,给提个思路或给点类似的程序学习一下!!!


已经找到了一种方法,用冒泡法(循环 和间接寻址)把变化的数据排序,
监测数据如上,5台风扇(数量更多时稍微修改程序即可实现)
第一组是对风扇运行时间排列后的时间(VW100-VW108从小到大)
第二组是排序对应的风扇编号(1,2,3,4,5对应5台风扇),排列后根据运行时间对不同风扇排序。
第三组是变化的数据(VW300-VW308 对应风扇运行时间)

这样就把风扇按运行时间给各风扇编号重新排好顺序,启动的时候就按( 4-1-3-5-2  ) ( 3-2-5-1-4 )   启动数量根据温度判断后按时间顺序判断哪几台工作。

希望大家能找到更简单高效的办法,共同进步。
[ 此帖被akang8612在2017-07-20 15:33重新编辑 ]
eledesigner
懂一点点
级别: 论坛先锋
精华主题: 0
发帖数量: 1662 个
工控威望: 1916 点
下载积分: 2537 分
在线时间: 2075(小时)
注册时间: 2009-08-21
最后登录: 2024-05-08
查看eledesigner的 主题 / 回贴
1楼  发表于: 2017-07-11 10:51
排序,工作时间少的先启动