quote:以下是引用万泉河在2013-06-14 11:46:11的发言:quote:以下是引用Zane在2013-06-13 22:26:19的发言:quote:以下是引用ZKING在2013-06-13 20:25:36的发言:quote:以下是引用Zane在2013-06-13 13:38:06的发言:quote:以下是引用ZKING在2013-06-13 09:45:14的发言:quote:以下是引用划痕在2013-06-12 11:31:40的发言:
封装一个FB作为风机块,具有手自动切换功能。在自动模式下,接收到启动信号后延时x秒钟后启动即可,接收到停止信号后同样延时x秒(或y秒)停止即可。在手动模式下,可以自由单机起停。
这样只需要对时间x参数(或x,y参数)合理设置,将在一个组里面的风机自动控制引脚接到同一个bool变量即可!
PS:风机块具有故障自动切换模式的功能。
(一个思路,仅供参考)
终于看到了一个与我做法相同的朋友了。
这个方案,代码效率不高,移植性差一点,最后程序执行的效率也不是很高。
回Zane版主,我认为移植性还好吧,就是浪费了存储空间,在这个块里同时把反馈信号做到里面,判断风机的状态并写到风机状态字节,然后利用多重背景集中调用这些风机,版主有更好的办法还望不吝赐教、、、、、
你把一个简单的风机控制,赋予这么多的额外的功能,那么简单应用时大多数的功能就是浪费的,而且这是一个比较特殊的应用了,所以我觉得就没有必要和风机自身的控制去参合在一起了,由一个总控程序来调配控制会更灵活一些,至少延时定时器只要分配一次就够了,而现在却要分配n次。这样的程序在做简单控制时基本是不会调用的,所以它的可移植性就差了。
这里体现了一种观念,就是子程序是否一定要做到面面俱到,做到大而全小而全。楼上的做法我认为恰恰与通用性及可移植性背道而驰了。
是的。也是出于同样的思维上的习惯,从开始就压根没往这方面想。
在我的习惯里,如果这个间隔时间是一个数,那逻辑上必定是一个定时器可以实现的。那些做除尘吹扫的,动辄把定时器给用光了,在我看来都是属于不会编程的。
能不能谁给做个程序演示一下,让我等新人学习学习。我实在不知道该如何用最少的定时器来实现该功能。