社交|第三章 逻辑函数编程 (5)

社交|第三章 逻辑函数编程 (5)

文章图片

社交|第三章 逻辑函数编程 (5)

文章图片

社交|第三章 逻辑函数编程 (5)

文章图片

社交|第三章 逻辑函数编程 (5)

文章图片

社交|第三章 逻辑函数编程 (5)

文章图片

社交|第三章 逻辑函数编程 (5)

文章图片

社交|第三章 逻辑函数编程 (5)

模拟逻辑

在接触具体的模拟信号之前 , 让我们了解一下模拟信号为何如此重要 。 基本上 , 每个模拟信号包含16位
信息 , 而数字信号只有一位(高或低) 。 这意味着模拟信号的取值范围为0~65535((2的1次方)-1) 。 这么大的取值范围让模拟信号对没有离散开关控制设备的控制中非常有用 。 比如:继电器有开、关两种状态 , 红外命令为发或不发 。 这些特性使得它们需要使用数字量来控制 。 但是 , 对于音量、镜头和调光的控制 , 数字量是不足够的 , 所以需要模拟量 。
每一个数字量只有一个驱动源 ,除了一些允许的特定情况 ,如: 系统输入(像按下按钮)和Buffer的输出 。 模拟信号则没有这样的限制 , 它的驱动源数量由具体情况而定 。 这似乎不合理 , 信号的多个不同的值也可能产生冲突 。 实际上并不会 , 因为每个信号的赋值是由最后变化的那个函数决定的 。
当函数改变其模拟输出端的值时 , 连接到该输出端的信号将保持这一新值 , 直到同一函数或其它函数重新
对其赋值 。 也就是说 , 当模拟信号有不只一个驱动源时 , 该信号的值将由最后改变它的函数决定 。

Analog Ramp函数
Analog Ramp Symbol函数在“Up”“Down”输入端为高时 , 将产生一个连续变化的模拟信号 。 参数’time’设定了输出从0到100%(或100%到0)所需要的时间 。 函数还有一个“Mute”输入 , 在其出现上升沿时输出信号强制变为0 , 在下降沿时输出信号返回先前的值 。 因此它通常由Toggle函数来驱动 。
Analog Ramp Symbol适合用来进行音量控制等一些模拟信号控制的设备 , 如:CNXVTC-3 。 如下图所示 ,
CNXVTC-3的A、B通道由第一个Ramp驱动 , 控制立体声音量 , 第二个Ramp则控制C通道 。


【社交|第三章 逻辑函数编程 (5)】
Analog Initialize

Analog Initialize用来将模拟信号的当前状态设定到指定值 。 该函数根据不同的设置有两种不同的工作模
式 。

单个输出模式:
在这种模式下 , 它有多个数字输入和一个模拟输出 。 每个输入都有对应的参数 。 当某个数字输入变高(上
升沿)时 , 相应的参数值便赋给模拟输出 。 由于模拟量的特点 , 模拟输出将保持该参数值 , 直到本函数或其它
函数改变这一值 。
Analog Initialize的这一模式 , 在程序运行中需要根据情况为模拟信号赋不同值时非常有用 。 比如要一组电
视频道预设按钮 , 每个按钮将电视调谐器转换到指定的频道 。 一种实现方法是使用Analog Initialize , 它的每个数字输入代表一个预设频道 。 如下图所示 , 我们将要介绍另一函数——Decade , 它可以方便地将模拟信号解码成百、十和个位数字 。 如例子中假设的一样 , 当控制需要单独键盘命令的红外设备时 , 这种方法非常有用 。 有关Decade函数的更多介绍 , 请参考SIMPL Windows的帮助文件 。