akang8612
级别: 略有小成
精华主题: 0
发帖数量: 389 个
工控威望: 420 点
下载积分: 3434 分
在线时间: 269(小时)
注册时间: 2011-10-14
最后登录: 2024-07-23
查看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重新编辑 ]
lzmtxp99
级别: 家园常客
精华主题: 0
发帖数量: 491 个
工控威望: 707 点
下载积分: 1866 分
在线时间: 508(小时)
注册时间: 2010-12-16
最后登录: 2024-07-25
查看lzmtxp99的 主题 / 回贴
1楼  发表于: 2017-07-10 17:19
有没有启动顺序,如果没有可以考虑用堆栈来做,先进的先停,后进的先开就可以啦