未来索引
开启左侧

论反馈的重要性 - ETS编程中的细节探讨

  [复制链接]
邢远 发表于 2017-4-3 04:18:59 来自手机 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

先提一个问题

做过KNX编程的小伙伴应该都遇到过一个很简单的应用场景,假设现在有3个回路的灯光,用1个四键的智能面板来控制,很多客户会要求这样来设定:按键1控制第一个回路开闭(以下称之为L1),按键2控制第二个回路开闭(L2),按键3控制第三个回路开闭(L3),按键4则用来控制所有3个回路的开闭。我们先不讨论这样设定是否合理,假如用户坚持这样设定,具体怎样实现呢。大体上我们会这样来做:


  • 首先,把每个按键的功能参数设定为“toggle”;
  • 然后分别建立4个组地址,比如1/1/1,1/1/2, 1/1/3, 1/1/4;
  • 分别把4个按键的对象,放进这4个组地址中;
  • 再把对应3个回路的驱动器输出的对象,分别放进1/1/1, 1/1/2, 1/1/3这3个组地址中;
  • 最后把所有3个回路的驱动器输出都放进1/1/4这个组地址中



39b0648c174195a527939179fa5f2830.jpg



得到的结果就像上图所列,于是就实现了3个按键分别控制3个回路,另外1个按键控制所有3个回路的效果。但是,这样就完成了吗?有没有什么漏洞呢?这个问题我们留着等会儿再回答。先思考一下下面这个问题:

反馈有什么用?

对于控制来讲,反馈就是获知控制指令的执行结果。获取反馈,大体上有两大类用途:


第一种是确认控制指令是否被正确的执行。这里面包含两个方面的意思,一方面是命令是否被执行,一方面是执行结果是否正确。比较典型的应用就是中控软件。比如说,通常情况下,如果用中控软件来对某一路设备进行开关控制,在界面上会有两样东西,一个是按钮,一个是指示灯。按钮用来发送控制指令的组地址,指示灯则用来接收驱动器的状态组地址,即反馈。这样,这个指示灯反映的是驱动器触点的状态,从而可以确认控制指令是否被驱动器正确的执行了。

反馈的另外一种更为重要的用途是作为下一步动作的依据。也就是说,反馈信息可以作为一个控制指令,参与触发另外一个动作,或者通过设备的状态反馈来判断下一个控制指令的发送值,从而形成一个闭环的控制流程。在KNX系统的应用中,有很多这样的例子。例如,我们有时会需要以某一路灯的状态,来决定是否开启或关闭另外一路灯;我们有时会需要等到外遮阳帘完全升起之后才能打开电动窗;等等…

所以说,反馈是一个控制的真正完结,也很有可能成为下一个控制的前置条件。

让我们回到最初的那个例子,设想一下,如果我们先按一下第四个按键,把3个回路都打开了。过了一会儿,我想要把第一个回路关掉,于是我去按第一个按键,这时,L1的灯会被关掉吗?不会!因为按键功能是”toggle”,意味着我第一次按这个按键,对应的组地址1/1/1的值是”1”,所以灯不会关,而是开,这时候我需要再按一次,这时候组地址1/1/1的值为“0”,灯才会被关掉。如果有用户碰到这种情况,就会抱怨了:“怎么回事,你给我装的智能面板不好使啊!有时候要按两次才管用!”。

那么,如何来解决这个问题呢?可以利用反馈。就是可以利用驱动器的状态反馈来通知按键,让它知道现在回路的实际状态,从而调整下一次按键指令的值。具体怎样做,我们以海格的智能面板为例做一个说明:

还是按照之前我们的思路,先把4个按键和其所需要控制的输出分别放到所对应的组地址中。



6ec934c53fb20aca1d197dba6c4d3b1a.jpg



然后,我们需要用驱动器输出的状态反馈来通知按键的状态,也就是把这两个对应的对象,放到一个组地址里。具体就是分别建立3个有关状态反馈的组地址,比如说是1/2/1,1/2/2,1/2/3,然后把3个回路的输出状态反馈和按键的状态接收分别分组。

b55ad680b64533c45fecf84f43c7f106.jpg



这样,如果我们用总开关把灯打开,按键会收到来自驱动器的状态反馈,从而自动更新其控制指令的组地址值,下一次我们再按下单独控制按键的时候,它就会发出正确的值来执行我们希望的操作了。

有的小伙伴可能会问了:并不是所有厂家的智能面板都像海格这样,针对按键还有一个单独的对象来更新按键的状态,一般只有一个对象用来发送控制指令,那应该怎样做呢?这个问题,我想留给你来思考一下,按照类似的思路,结合我们之前的文章,我相信绝顶聪明的你,一定可以找出解决办法。欢迎留言分享你的答案。哈哈!

说到这儿,是不是这道应用题就完美解答了呢?还没有...


细心的朋友一定发现了:按照目前的设定情况,如果我先分别用3个按键把3个回路都打开了,现在,我去按第4个按键,会发生什么?是我想要的结果吗?怎么解决呢?

这个问题,我们留到下一篇文章进行探讨。

该会员没有填写今日想说内容.

精彩评论5

马雷8707 发表于 2017-4-12 19:09:17 | 显示全部楼层
将第四个按键的反馈与其他的三路输出分别关联就可以了,还有就是用场景来做,有的面板可以分为长安和短按,短按关联一个全开的场景,长按关联一个全关的场景即可。有问题忘指正。
智能技术共享平台 - 未来论 http://www.mywll.com/
回复

使用道具 举报

周利军 发表于 2017-6-13 16:23:14 | 显示全部楼层

智能技术共享平台 - 未来论 http://www.mywll.com/
回复

使用道具 举报

mabolong 发表于 2018-3-24 15:06:44 | 显示全部楼层
学习学习
智能技术共享平台 - 未来论 http://www.mywll.com/
回复

使用道具 举报

pengguofu 发表于 2020-2-28 12:05:52 | 显示全部楼层
感谢分享
智能技术共享平台 - 未来论 http://www.mywll.com/
回复

使用道具 举报

BHC666 发表于 2020-3-10 10:59:49 | 显示全部楼层
学到了,感谢分享
智能技术共享平台 - 未来论 http://www.mywll.com/
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注2973

粉丝3237

帖子9934

发布主题
阅读排行 更多
广告位
!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_sctz! !jz_fhlb! 搜索

智能技术共享平台 - 未来论

关注服务号

进入小程序

全国服务中心:

运维中心:天津

未来之家:天津 青岛 济南 郑州 石家庄

                商务邮箱:xy@mywll.com

Copyright © 2012-2021 未来派 未来论 (津ICP备16000236号-5)