| 逻辑命令 | 功能 | 详解 | 常见场景 | 常见组合 | 
| Serial  I/O | 左侧:串口和网络控制协议对接        右侧:返回串量匹配 | 某些设备可以通过485、232、网络协议来对其进行控制,这些控制命令需要写入该逻辑命令的左侧,触发左侧对应的变量就会发送该变量对应的命令给设备;右侧常用于匹配第三方面板按下按键后返回的串量,根据返回来的串量来判断按下的是哪个按键,然后执行对应的场景 | 影院设备、第三方面板等 | Serial to Byte | 
| Serial  Check | 过滤主机收到的串量 | 我们需要获取它们自身得到的数据,由于每条控制命令被它们接收后都会有回码,但并不是所有的命令都需要,这种情况下我们使用该逻辑命令将左侧进来的串量过滤,提取我们需要的那一条 | 温控器、环境感应器等产品 | Serial I/O                     Serial to Byte 
 
 | 
| Serial  to Byte | 串量转模拟量 | 将左侧进来的串量转换成十六进制后,再将设定的字节的十六进制转换成十进制后输出到对应的模拟量上 | 温控器、环境感应器等产品 | Serial I/O                    Serial Check              Analog Equate | 
| Serial  to Bit | 字节比特位输出 | 将左侧进来的串量转换成十六进制后,再将设定字节的比特位的值输出到对应的数字量输出信号上(比如第二个字节是92,转为2进制为10010010,那么他的bit1、3、4、6、7为0,bit2、5、8为1) | 温控器、环境感应器等产品 | Serial I/O                    Serial Check | 
| Serial  CRC16 Modbus | CRC16校验 | 将左侧输入的串量补充CRC16校验后输出,相当于一个计算器,比如左侧输入的串量为\x01\x03\x00\x00\x00\x02,那么右侧输出即\x01\x03\x00\x00\x00\x02\xC4\x0B | 简化协议运算 | Serial I/O                Analog Initial           Analog Sum                Analog Reduce Analog Comparison
 Stepper                   Analog to  Serial
 
 | 
| Alarm  Clok | 闹钟功能 | 设定闹钟时间和设定星期选择,达到闹钟设定时间时,触发右侧数字量信号输出高电平信号 | 时间判断 | Stepper                      Buffer | 
| Analog  Comparison 
 | 比较两个模拟量的值的大小 | 比较两个输入的模拟量的值的大小,触发对应的数字量输出高电平 | 常用于灯光亮度的比较 | Stepper                       Buffer | 
| And 
 | 与 | 只有左侧输入全部为1时,输出才为1 | 条件判断(常用于创建条件) | Stepper                       Buffer | 
| NOT | 取反功能 | 输入为1时,输出为0;否则反之 | 感应器 | Oscilloter                   Buffer | 
| NAND | 与非功能 | 左侧输入都为高电平1时,右侧输出才为低电平0 | 条件判断(常用于创建条件) | Stepper       Buffer | 
| NOR | 或非功能 
 | 左侧输入都是低电平0时,输出才是高电平1。 
 | 条件判断(常用于创建条件) | Stepper       Buffer | 
| Or | 或功能 | 只要输入有一个为高电平1,输出就为高电平1。 
 
 | 条件判断(常用于创建条件) | Stepper       Buffer | 
| Binary  Decoder | 真值表;输出条数和输入条数成指数关系,多输入状态唯一判断 | 在两位数的情况下,如果<i1>为低电平并且<i2> 也为低电平(用0 表示), 那么第一个输出信号<o1> 为高电平。 如果<i1>为低电平<i2 >为高电平(用1 表示),那么<o2>将为高电平。如果<i1>为高电平<i2>低电平(用2 表示),那么<o3> 将输出高电平, 如果<i1>为高电平<i2>高电平,那么<o4>将输出高电平等四种情况。 | 条件判断(常用于长按短按) | One Shot                     And                            Debounce                              Or                            Stepper | 
| Buffer | 开门关门功能;当enable为1时,输出等于输入,当enable为0时,无论输入如何变化,输出都为0。 | 当enable为高电平时(可以直接填1),左侧输入变量为高电平时即触发右侧变量;若enable为低电平(为0),左侧输入变量触发不了右边的变量 | 条件判断(常用于场景的触发前提) | When                            Or                                And                                   Stepper                      One Shot                RetrigOneshot | 
| CusRetOneshot | 重复计时功能;同RetrigOneShot;区别,计时时间由左侧模拟量决定。 | 设定时间n秒,out初始为低电平,out*初始为高电平。触发trig或trig*,out值变为高电平,out*变为低电平,过n秒后恢复原来状态(在此期间,若再次触发时间会叠加)。触发reset会马上变为初始状态 | 感应器 | When                            Or                                And                                   Stepper                      Buffer | 
| Debounce | 长按触发,防止误触发 | 只有当左边输入信号持续保持设定时间长度的高电平信号1时,对应的右边的输出才会输出高电平信号1。 | 面板按键长按 | One Shot                     And                                                          Or                             Stepper | 
| Delay | 延时输出功能;输入信号状态改变后,输出信号状态延时跟随改变 | 左边trig触发后,经过delay1处填写的时间,触发delay1变量,之后再过delay2处填写的时间,delay2变量触发。若trig一直保持为1,依次按时触发delay后,delay变量将一直保持为高电平。若Reset一直为高电平,触发trig后,右侧dealy马上全部触发 | 感应器信号延时 | Stepper            One Shot      RetrigOneshot | 
| Digital  Step Ramp | 加减触发输出功能 | 假设右侧写了O1~O3:第一次up即触发O2,再次触发up就触发O3,之后再次触发up,也只是触发O3。同理,之后再触发down,依次触发O2、O1,之后再触发down也只会触发O1 | 音量加减等 | Serial I/O | 
| Digital  Step | 一键循环触发功能(  一个按键多个功能) | 根据左侧触发次数执行:左侧变量触发第一次时,右边O1触发,第二次O2触发,第三次O3触发 | 窗帘一键开关停,多路灯光一键开关 | Stepper | 
| Interlock | 输出互锁功能 | 有输入信号触发,其对应输出1,其余输出都为0。比如左侧i1、i2分别写bufang、chefang,右侧o1、o2分别写bufang_fb、chefang_fb;触发i1后,o1保持高电平,o2变为低电平,触发i2也是同理 | 布防撤防、场景切换 | 布防撤防App块Stepper       Buffer | 
| One  Shot | 一次计时触发功能 | trig由0变为1或trig*由1变为0时,会使out输出一定时间的高电平,该时间由pulse_time决定,在时间结束前无论输入怎样变化out一直为高电平,out变为低电平0后,才能再次进行触发,在时间内触发reset,out立即变低电平。当reset保持为高电平1时,trig由0变为1或trig*由1变为0右侧不变。 | 感应器 | Stepper       Buffer | 
| RetrigOneshot | 重复计时功能 | 功能同one shot  ,区别是可重复计时,在pulse_time时间内,再次触发,时间会累计 | 感应器 | Stepper       Buffer | 
| Oscilloter | 振荡输出功能 | 当左侧输入保持高电平时,输出连续的高、低电平信号,在hi_time指定的期间升高,在lo_time指定的期间降低,左侧输入变低时,输出也立即变低 | 循环触发 | Not                 Stepper | 
| Stepper | 一键触发场景功能 | 左侧输入信号上升沿时,延时delay1后out1输出高电平;再延时delay2后out2输出高电平;依次往下进行,每个out维持高电平的时间由len决定。在左侧输入信号上升沿触发时,输出信号busy变为高电平,busy在所有out执行完后才恢复低电平,在busy输出高电平时间内,左侧输入再次上升沿触发无效。 
 
 | 场景功能、设定延时输出 | Buffer | 
| Toggle | 开、关和一键开关功能 | 当输入信号set上升沿触发时,强迫输出out为高电平信号;当输入信号reset上升沿触发时,强迫输出out*为高电平信号。 而输入信号clock的每一个上升沿都会让out和out*的状态反转一次。
 
 
 | 开关型设备 | Stepper         One Shot      RetrigOneshot 
 | 
| When | 定时功能 | 填写时间,定时触发右侧输出高电平信号 | 感应器 | Stepper                      Buffer | 
| Analog  Comparison 
 | 比较大小功能;比较两个输入的模拟量的值的大小,触发对应的数字量输出高电平。 | 参考值处通常自己进行赋值,比较值为一个实时变化的模拟量,2者进行对比后触发右边对应的输出变量 | 灯光、温控器等 | Analog Initial                Buffer             Stepper       Analog Initialize SigIn 
 | 
| Analog  Equate | 模拟量转数字量功能 | 左侧输入模拟量与中间填写的值进行匹配,匹配成功时触发对应的右侧输出输出高电平1 | 温控面板调温度 | Serial I/O | 
| Analog  Increment Limit 
 | 加减功能 | aout初始值为参数initial,UpperLimt是其上限,LowerLimt是其下限。触发up和down分别在initial上增减increment值。 | 音量加减、温度加减、一键多功能 | Serial I/O    Analog Equate           Oscilloter     Analog Comparison | 
| Analog  Initialize SigIn | 模拟量赋值功能(1个数字量对多个模拟量同时赋值) | 当左侧的输入数字量信号触发时,将中间框内的数值(0~65535或0~100%)同时赋予到对应的输出变量上 | 灯光亮度、温控器温度等 | Stepper       Analog Equate | 
| Analog  Initialize SO | 模拟量赋值功能(多个数字量对1个模拟量赋值) | 当左侧的任一输入数字量信号trig触发时,将其对应的中间框内的数值(0~65535、0~100%)赋予到输出模拟量上,若左侧多个输入同时上升沿触发时,实际只输出最后一个trig对应的value值 | 灯光亮度等 | Stepper      Serial I/O | 
| Analog  Initial | 初始化值 | 用于初始化模拟量输出(主机重启后这个值就默认是该值) | 固定系数 | Analog Reduce    Analog Sum | 
| Analog  Reduce | 将两个模拟量进行减法计算 | 右侧的aout=ain1-ain2,当ain1-ain2的结果小于0时,aout不输出 | 温湿度传感、温控器等 | Analog Initial  AnaScaler     Analog Mod Constant | 
| Analog  Sum | 求和功能 | 所有输入的模拟量求和输出,当和值大于65535时,输出最大值65535 | 温湿度传感、温控器等 | Analog Reduce AnaScaler    Analog Mod Constant | 
| Analog  Mod Constant | 除法功能 | 将左侧的单个输入模拟量除以设定值,得到商和余数(除数范围1~65535) | 温湿度传感、温控器等 | AnaScaler      Analog Reduce    Analog Sum | 
| Analog  Mod Variable | 除法功能 | 将输入的2个模拟量相除,得到商和余数 | 温湿度传感、温控器等 | AnaScaler      Analog Reduce    Analog Sum | 
| Analog  Preset | 设定指定值缓慢变化功能 | 当左侧输入信号触发时,输出模拟量信号在设定时间ramp_time内缓慢变至设定值。在ramp_time指定期间内,若再次触发左侧输入信号的为高电平1,右侧输出不受影响 | 灯光亮度 | Stepper | 
| Analog  Rate Limiter | 跟随功能 | 左侧模拟量输入时,右侧的输出模拟量将在ramp_time时间内到达输入值 | 灯光亮度 | Analog Initialize SigIn         Analog Initialize SO | 
| Analog  to Serial | 协议拼装(将字节转换成串量) | 左侧数字量由低电平0变为高电平1时,所有左侧的输入模拟量的现状态值分别转换成16进制(值大于255时,按255处理),然后按顺序组合成字符串输出。例如有4个模拟量输入,其状态值在trig出现上升沿时分别为10、100、200、300,那么右侧输出\x0A\x64\xC8\xFF 
 | 协议简写,不用一条条解析(不适合初学者) | Analog Initial   Analog Initialize SigIn Serial CRC16 Modbus       Stepper
 | 
| Analog  Toggle | 调光开关功能 | 当输入信号set上升沿触发时,输出out在时间参数之内从当前值到65535线性升高;当输入信号reset  上升沿触发时,输出out在时间参数之内从当前值到0线性下降。 输入信号clock的每一个上升沿都会让out的状态反转一次。如果out为模拟量中间值时,触发clock会使out变为0。
 
 
 | 调光灯开关 | Stepper         One Shot      RetrigOneshot 
 | 
| Analog  Average value | 求平均值功能 | 输出的aout值是对输入ain的值进行周期频率进行采集,输出采样周期内的平均值。例如:室内温度传感器温度值输入,采集周期10s是指每隔10s获取一次模拟输入端的值,采集次数10次是指采集10次后计算平均值,通过模拟量输出。默认输出0。 | 环境感应器 | Serial to Byte Analog Sum | 
| AnaScaler | 乘除运算功能 | 输出模拟量=(输入模拟量值*span值/divisor值)+offset值.当divisor不为0时,模拟量输出aout信号用以下公式定义:aout = (ain * span / divisor)  + offset。 当divisor为0的时候,aout = ain + offset。
 注意:当aout计算输出值大于65535时,输出无效值
 
 | 环境感应器、温控面板等 | Analog Sum | 
| Light  Analog Ramp | 等比加减功能 | up或down由低电平0变为高电平1时,输出aout会在原输出值上增加或减小10%,输出aout为0时不再减小,输出aout为65535时不再增大;当up或down持续为高电平时,aout会在ramp_time时间内逐渐增加到65535或逐渐减小到0。另外clear输入上升沿时,会将输出aout清0 |  | Stepper | 
| Vol  Analog Ramp | 等比加减功能 | 与Light Analog  Ramp基本一样,区别是mute输入高电平1时,会使输出aout持续保持为0,直到mute变为低电平时输出aout才恢复为原输出值 |  | Stepper |