异星工厂吧 关注:60,783贴子:388,505

【萌新科普向】一个信号优先级的案例分享

只看楼主收藏回复

今天看到贴吧有人问 在货物处于不同数值的前提下灯泡显示不同的颜色 这个问题,故而临时起意想借这个问题说一说信号优先级的用法。
大佬退让,萌新请进。


IP属地:重庆1楼2020-08-11 17:34回复
    2.案例
    好了,在了解到什么是信号优先级后便可以回到一楼我说的那个案例了。
    问题:如何在货物处于不同数值的前提下让灯泡显示不同的颜色?
    基于信号优先级的思路,我有两种思路,一种是利用判断器进行比较,另一种是利用运算器进行计算筛选。就是一楼那张图里面的这两种。


    IP属地:重庆3楼2020-08-11 17:47
    回复
      2.1基于判断器的方案
      在开始之前,需要进行一些假设。
      假设我最多需要70个铁片,每10个铁片对应一个等级。换句话说我电路设计为在铁片≤10的时候灯泡亮一个颜色,10<铁片≤20的时候灯泡又亮一种颜色,以此类推总共对应7种颜色。


      IP属地:重庆4楼2020-08-11 17:53
      回复
        2.1基于判断器的方案
        先说各个元器件设置,再说原理吧。
        需要元器件:灯泡*1,判断器*1,常量箱*1
        灯泡设置:任意值>0允许灯亮,勾选 使用颜色标识;图1
        常量箱设置:红色10,绿色20,蓝色30,黄色40,粉色50,青色60,白色70;图2
        判断器设置:每一信号≥铁片,输出每一个信号,将输出信号设置为常量1。图3





        IP属地:重庆5楼2020-08-11 18:01
        回复
          2.1基于判断器的方案
          现在来说说原理吧。直接举例分析说明。
          举例:我现在箱子里面有25个铁片(我用常量箱代替)
          电路工作流程分析:
          1.判断器内部信号分别进行判断:红色10,绿色20,蓝色30,黄色40,粉色50,青色60,白色70 分别和 铁片25 进行比较,符合判断条件的信号将被输出。
          2.判断器信号输出:经过比较,红色信号 和 绿色信号 不满足判断条件 每一信号≥铁片,所以不进行信号输出。由于设置了输出常量1,所以输出的每个信号值均为1。具体如图1
          3.灯泡被同时输入信号 蓝色1,黄色1,粉色1,青色1,白色1,铁片1。但是灯泡同一时刻只能显示一种颜色,所以基于颜色信号的优先级,灯泡只选择显示蓝色。(备注:基于信号优先级的原因,颜色信号所对应铁片的数值范围是不可进行更改的,请注意了)
          到此,基于判断器的方案介绍完成。 是不是觉得很简单呢,只用这么一点点东西就解决了这么复杂的问题。
          先吃饭,另一个再说


          IP属地:重庆6楼2020-08-11 18:15
          回复
            请问颜色信号的优先级是系统默认的吗?具体顺序是什么?


            IP属地:山东7楼2020-08-11 18:57
            收起回复
              2楼不见了


              IP属地:山东8楼2020-08-11 19:04
              收起回复
                2楼吞了?


                IP属地:重庆来自iPhone客户端9楼2020-08-11 19:13
                回复


                  IP属地:山东10楼2020-08-11 20:10
                  回复
                    (备注:基于信号优先级的原因,颜色信号所对应铁片的数值范围是不可进行更改的,请注意了)
                    不好意思,这句没看懂,是常量箱的颜色信号的数值只能是优先级从小到大吗?不能颠倒?


                    IP属地:上海来自Android客户端11楼2020-08-11 20:34
                    收起回复
                      2.2基于运算器的方案
                      在讲这个方案之前,要说一下运算器 除法 的一个特性。
                      运算器除法特性:进行除法运算只输出整数部分。举例:假设运算器处理10/3,最后只会输出3,剩下的小数部分直接删除;同理3/10输出的结果是0。
                      这个特性在接下来的电路会用到。


                      IP属地:重庆12楼2020-08-11 20:48
                      回复
                        2.2基于运算器的方案
                        同样,回顾上述假设。
                        假设我最多需要70个铁片,每10个铁片对应一个等级。换句话说我电路设计为在铁片≤10的时候灯泡亮一个颜色,10<铁片≤20的时候灯泡又亮一种颜色,以此类推总共对应7种颜色。


                        IP属地:重庆13楼2020-08-11 20:51
                        回复
                          2.2基于运算器的方案
                          所需元器件:灯泡*1,运算器*1,常量箱*1
                          灯泡设置:任意值>0允许灯亮,勾选 使用颜色标识;图1
                          常量箱设置:红色10,绿色20,蓝色30,黄色40,粉色50,青色60,白色70;图2
                          运算器设置:每一信号/铁片数目,输出每一信号。图3




                          IP属地:重庆14楼2020-08-11 20:55
                          回复
                            好耶


                            15楼2020-08-11 20:59
                            收起回复
                              2.2基于运算器的方案
                              举例:我现在箱子里面有25个铁片(我用常量箱代替)
                              电路工作流程分析:
                              1.运算器内部信号相除。
                              计算过程:10/25=0;20/25=0;30/25=1;40/25=1;50/25=2;60/25=2;70/25=2;25/25=1。
                              通过计算结果可以得出红色信号和绿色信号输出的值为0,所以红色和绿色不输出,输出蓝色1,黄色1,粉色1,青色2,白色2,铁片1。图1
                              2.灯泡被同时输入信号 蓝色1,黄色1,粉色1,青色2,白色2,铁片1。但是灯泡同一时刻只能显示一种颜色,所以基于颜色信号的优先级,灯泡只选择显示蓝色。(同样,顺序不能反过来)


                              IP属地:重庆16楼2020-08-11 21:03
                              收起回复