智能家居

标题: 浅谈逻辑的应用 - ETS编程细节探讨之二 [打印本页]

作者: 邢远    时间: 2017-4-8 15:27
标题: 浅谈逻辑的应用 - ETS编程细节探讨之二

上周我们讨论了关于反馈在KNX控制中的重要性,并留下了一个思考:

如果我用三个独立按键,分别打开了三个回路的灯光。那么这时,如果我去按总控按键,会产生什么效果?

首先,因为现在所有的灯都是打开的状态,我按总控按键,肯定是希望把灯关掉。可是,由于总控按键的功能是”Toggle”,所以按照我们上周文章里提到的,第一次按下“toggle”功能的按键,它实际上是发出一个开灯的指令(组地址值为1),所以在我第一次按这个总控按键的时候,我看不到任何变化(因为现在灯已经都开了),我只有再按一次这个总控按键,灯光才会被关闭。

如何解决这个问题呢?

按照之前我们谈到的关于反馈的使用思路,我们需要把三个回路灯光的实际状态通知总控按键。但是,不同的是,只有在三个回路的灯都处于打开的状态下,总控按键的状态才能被更新为“1”,而只要有一个回路还没有打开,那么总控按键的状态都应该为“0”。也就是说,只有所有灯光都打开了,我去按总控按键才应该是全关的指令,只要有一个回路还没开,那么我去按总控按键,都是发出一个全开的指令。在这种情况下,单纯的状态反馈就不能解决问题了,我们需要另外一个重要的功能,那就是——逻辑。

根据我们在中学课本上所学,上述要求实际上是一个“与”逻辑(AND)。三个回路的状态反馈作为输入,逻辑计算之后输出的结果用来更新总控按键的状态。大致上的思路是这样的:

(, 下载次数: 3) 具体做法

我们还是以海格的面板和驱动器为例,看看具体在ETS里具体实现这个简单逻辑控制的步骤是怎样的。

首先,海格的驱动器本身就内置了逻辑功能。我们需要在参数设定里面把逻辑功能打开,并设定该逻辑功能为“AND”,输入条件的个数为3个。





(, 下载次数: 2)


(, 下载次数: 2)


于是我们在对象列表里得到了4个新的对象,分别是“logic input 1”“logic input 2”“logic input 3”和“logic result”。根据我们在之前文章《如何快速识别对象功能》所讲的,根据这几个对象的名称、数据类型和所带有的flag标识,我们可以很容易分别出,前三个对象是用于逻辑的输出,而最后一个是用于逻辑的输出。那么,根据我们的思路,用三个回路的状态反馈来做为输入,输出则用来控制总控按键的状态更新。


(, 下载次数: 2)

这样,总控按键就可以随着三个回路的状态变化而更新自身的状态,在需要的时候发出正确的控制指令了。

关于逻辑的一些基本概念,例如逻辑的常见分类,每种逻辑的内在算法,输入与输出的关系等等,小伙伴们都可以通过复习中学课本或者网上查询进行学习,在这里就不加赘述了。在KNX系统中,常见的几种逻辑实现途径包括:个别元件自身内置的逻辑功能(例如上述例子中海格的驱动器),或者是专用的逻辑处理模块,还有就是大部分中央控制软件都具备逻辑处理功能。关于内置逻辑功能,每个厂家的产品设定各有不同。其中,海格驱动器的逻辑能力是我见过最强的。

小结一下


连续两篇文章,我们通过一个很简单的面板设定举例,分别讨论了反馈和逻辑的应用以及实现方式。这两个都是很重要,但是有时会被忽略的功能。反馈功能,一方面可以用来作为控制指令执行之后的状态显示,一方面可以用在有需要连锁反应的控制中,后一个控制需要以前一个控制的实际状态为依据。逻辑功能,则是在需要对多个条件进行判断,来共同决定执行指令的情况下使用。在实际项目中,有时看似很简单的一个功能需求,如果没有完善的设定,在反馈或者逻辑上存在疏漏,就会给用户带来不好的体验,从而影响用户对整个系统的信心。

在你的项目中,有哪些是通过小细节的处理,大大改善了用户的使用体验呢?欢迎给我留言,分享你的经验吧!



作者: huruimin0421    时间: 2017-4-17 11:24
这个好,逻辑模块可用在灯光分割方面。比如带隔断的会议室,方便分割合并两厅灯光
作者: kfx001    时间: 2017-4-17 22:19
不错!
作者: 周利军    时间: 2017-6-13 16:04
受教!

作者: maidou2017    时间: 2017-6-23 07:41
学习了

作者: 福建腾乐    时间: 2017-8-14 21:41
学习了,
作者: 未来你好    时间: 2017-8-22 14:26
有客户提到  但是臣妾做不到
作者: 狼图腾    时间: 2017-8-26 22:37
歇息
作者: bioe    时间: 2018-3-8 17:48
围观
作者: bioe    时间: 2018-3-13 17:57
温习一下
作者: mabolong    时间: 2018-3-24 14:47
谢谢了 学习中!!!!
作者: xigongdacai    时间: 2018-4-7 15:57
谢谢了 学习中!!!!
作者: xigongdacai    时间: 2018-4-7 16:34
逻辑模块可用在灯光分割方面,图片不显示啊
作者: 邢远    时间: 2018-4-7 16:40
xigongdacai 发表于 2018-4-7 16:34
逻辑模块可用在灯光分割方面,图片不显示啊

今晚 我更新下
作者: xigongdacai    时间: 2018-4-10 12:23
还是不显示啊啊啊
作者: yewind    时间: 2018-12-1 11:55
学习了




欢迎光临 智能家居 (https://bbs.mywll.com/) Powered by Discuz! X3.4