快思聪编程自学宝典Word下载.docx
《快思聪编程自学宝典Word下载.docx》由会员分享,可在线阅读,更多相关《快思聪编程自学宝典Word下载.docx(95页珍藏版)》请在冰点文库上搜索。
SerialBuffer元素更适合处理这种
特性。
3、AnalogDivMod
divmod,adiv
信号/参数:
1个模拟输入:
ain>
2个模拟输入:
商<
quotient>
和余数<
remainder>
1个参数:
除数<
divisor>
(参见NumericFormats)
AnalogDivMod元素对它的输入执行取整和取模操作来产生两个输出。
因此,如果<
的值是5而<
是2,5的整数部分值(truncated)被2除的结果是2(<
=
2)而5mod2is1(<
=1)。
所有取整操作是无正负之分的,也就是说所有
的值都是正的。
设置<
到256d将返回高位数为<
,返回低位数为
.
4、AnalogEquate
equ
1个可选的数字输入:
任意数目的数字输出:
o1>
oN>
每一个输出都有一个对应的参数:
value1>
valueN>
若<
value>
参数对应的值与输入的模拟信号值相匹配,那么AnalogEquate元素将使输
出信号值为高。
输出将保持为高直到另外一个匹配值被发现。
1个AnalogEquate元素的输出在产生之前是不会变化的。
这表明两个有不同<
参
数的输出有可能同一瞬时同时达到高。
当可选输入<
为高时,激活此元素;
为低时,所有输出为0;
每次<
为高时,此元素就将输入重新求值并赋予相应的输出为高。
5、AnalogFlip
aflip
任意数目的模拟输入:
每一个输入都有一个对应的模拟输出:
AnalogFlip信号在输出的基础上产生了输入的2补码。
因此它将从0%到100%的范围转化成了100%到0%。
(1个输入为50%的余不变)每一个输入都有一个对应的输出,每一个输
入/输出对都是相对独立的。
示例:
AnalogFlip信号可用于反转触摸屏的感应信号,或反转用于控制CPC-CAMI的感应信号。
当PAN-TILT单位装配反了,这时,右变成了左,上变成了下。
Sampleinversions:
50%50%
0%100%
100%0%
75%25%
25%75%
80%20%
20%80%
6、AnalogInitialize
快捷键名:
init
信号输入的形式:
1个数字输入:
trig1>
任意数量的模拟输出:
对应于每个输出,都有一个对应的参数:
(参见Mumeric
Formats)
信号输出的形式:
任意数量的数字输入:
trigN>
1个模拟输出:
对应于每个输入,都有一个对应的参数:
在单一的输入形式中,AnalogInitialize信号通过它对应于在输入信号的每一个上升沿的
参数来驱动每一个输出到一个特定的值。
在单一输出形式中,信号将对在任何一个输入的上升沿对输出值进行初始化。
输出将被设
置成对应于最近升高的输入的<
参数。
在启动时,所有的输出都为0值,但当输入仅有一个且被赋予信号名1时除外。
在这种情
况下,输出将通过它们对应的<
参数而获得特定的值。
7、AnalogIntegral
Integral
1个模拟输入:
aout>
1个双精度参数:
ramp_time>
AnalogIntegral信号产生了1个根据输入按比例改变的输出信号,例如:
当输入为100%,
输出值在被<
指定期间就在50%到100%之间浮动,而当输入为0%时,输出值
在同一期间段内在505到0%之间浮动。
当输入为50%,输出保持其现有值不变。
输出值在50%到100%之间转化的时间由以下公式计算:
输出值转化时间=(<
-50%)/100%*<
:
浮动时间
输出值在50%到0%之间转化的时间由以下公式计算:
输出值转化时间=(50%-<
)/100%*<
当输入值为75%,<
为5秒时,输出值的转化时间将为2.5秒,或为
(75%-50%)/100%*5。
当1个速率控制器比如1个操纵杆或spring-returnslider必须提供组件例如摄象机的位置控
制时就要用到AnalogIntegral信号。
摄象机将在操纵杆回弹到50%位置时按操纵杆比例移
动并锁定它自己的位置。
8、AnalogPreset
Preset
trig>
每一个输出都对应有一个目的单元格值:
level1>
levelN>
AnalogPreset信号在被<
指定期间,通过从它现有的值到新值之间进行平滑的浮
动来驱动每一个模拟输出信号到它相应的<
level>
目的单元格值。
浮动从<
的上升沿开
始。
所有的输出将同时到达它们最终的水平。
在转化期间,输入的第二个上升沿将驱动输出值立即达到它们的最终值。
这叫做“CUT”。
既然模拟信号能够持有多重合法来源,而且通常是合适的,那么它就可以联合模拟预设的
输出与模拟(AnalogRamp)信号的输出并对两者进行比较。
当完成后,哪个信号(预设或
Ramp)最后驱动模拟输出值,这个模拟输出值就由此信号决定。
在灯光和音量的例子中,
由手动控制和预设控制结合起来进行控制。
参见AnalogVariablePreset(模拟预设变量),AnalogRamp
9、AnalogRamp
Ramp
2个数字输入:
up>
和<
down>
1个附加数字输入:
mute>
无论输入<
或<
为高时,AnalogRamp信号产生出1个线性变化模拟输出信号。
参数指定了开始使输出在0%到100%(或vice-versa)之间浮动的时间。
附加<
输入使输出在<
的每一个上升沿变成0%,并在下降沿返回原值。
如果
信号要保持输出为0%,它就应由一个锁定信号(Togglesymbol)来驱动。
既然<
的输入会忽略<
并开始第二个浮动操作,这表明当<
为
高时要用一个缓冲器来禁止<
。
参见AnalogNon-VolatileRamp
10、AnalogRateLimiter
slew,alimit,arl
,AnalogRateLimiter信号通过一个步进输入或任何与瞬变对应的输入而产生1个平滑变化
的输出,例如从触摸屏上的滑动条。
参数指定了slew-rate(回转速率),或指定了输出从其现值浮动到新值的时间。
例如,如果输出现在为75%,而<
等于5
秒,<
变成25%时输出将在5秒内从75%转化成25%。
事实上,指定的时间代表了它开
始全范围(0-65535)浮动的时间,并由任何局部浮动来进行衡量。
例如,如果时间被指定
为10秒,从25%到75%的转化将需要5秒的时间,由一半范围起算。
11、AnalogScaler
mxb,ascale
2个参数:
span>
offset>
1个可选参数:
表示比例因子,并且<
为最小值时,AnalogScaler信号用以下公式定义其模
拟输入信号的值:
=(<
*<
/<
)+<
可选参数<
用来限定大的范围并且默认值为100%。
(既然<
达不到100%,当
未定时,输出就可以被定义的更小而不是更大)。
如果输入达到0%,不论<
的值是多少,输出将立即被设为0。
AnalogScalerwithout
ZeroPass信号则失去了这种“零传递”特性。
1、CNVCP-2(或3)音量控制卡(在理想的情况下)有一个大的分贝范围从+14(100%)到-76dB(0%)。
一个更理想的范围是从0到-30db。
在这种情况下,<
可以被设在31%
而<
在46%。
2、一个模拟输入必须被限定在0-65535到0-25之间。
这个范围或叫做跨度,总共有26个值,
因此<
=26。
当输入和输出都从0开始时,<
的值也为0。
3、一个模拟输入需要被限定在0-10到0-30之间。
在此,范围必须被扩大,因此
=3而<
=1。
这将让输入乘以3/1或3。
当输入和输出都从0开始时,
为0。
参见AnalogScalerwithoutZeroPass
12、AnalogScalerwithoutZeroPass
mxbz,ascale0
AnalogScalerwithoutZeroPass信号除了没有“零传递”特性外,和AnalogScaler信号的作用一样。
也就是说,当输入为0%时,输出等于<
而不会减弱。
参见AnalogScaler
13、AnalogScalerBuffer
mbuffer,asbuffer,asbuf
scale_factor>
任意数量的模拟输入:
AnalogScalingBuffer信号按比例限定它的输出为由<
定义的范围。
也就是说,
如果<
=50%,输出将被设为对应输入的50%。
(输入为60%,输出就为30%。
)
每一个输入信号都有一个对应的输出,并且每一个输入/输出对之间是相对独立的。
因为<
是一个范围从0%到100%的百分数,模拟输出信号的值就不可能超过它的输入。
14、AnalogScalerBufferabout50%
mbuffer2,asbuffer50,asbuf50
对应每一个输入的输出:
AnalogScalingBufferabout50%信号通过<
gain>
限定它的输入范围在50%上下。
此过程按照
以下公式进行:
minimumvalueof<
=50%-(<
/2)
maximumvalueof<
=50%+(<
被设为50%,一个通常在0%到100%之间变化的输入信号将被限
定在25%--75%之间。
这个特性也许可以用于限制一个镜头在高度放大时面板的灵敏度。
一
个滑动条将显示从0%到100%的等级,但是镜头放大的输出将只会在25%到75%之间。
一个联系<
通式为:
min
15、AnalogStep
astep
step>
reset>
任意数量的参数:
(参见umericFormats)
AnalogStep信号在<
的每一个上升沿设定它的输出为下一个指定的<
当输出接近最后的<
时,它就复位到第一个<
升高,输出复位到第一个<
16、AnalogSum
asum
AnalogSum信号以16位整数的形式产生它的输出为它的输入之和。
而且无论任何输入改变时,都更新输出值。
对于一个或更多加数来说,减少可能是由于用二补码符号来表示负值所致。
与AnalogFlip对照
17、AnalogtoDigital
A/D,atod
最多16个数字输出:
bit16(msb)>
<
bit15>
bit2>
以及<
bit1(lsb)>
AnalogtoDigital信号是一个转换器,它把模拟信号转换成数字信号。
当低对应于0而高对
应于1时,16位的模拟输入的值由最多16个数字输出来表示(开始于最重要的位,或MSB),
0表示低电平,1表示高电平。
如果定义少于16个输出,则只输出高位。
参见DigitaltoAnalog
18、AnalogtoFloatingPoint
cnet12ieeecnet12ieee
2个模拟输入:
whole>
fraction>
sign>
4个模拟输出:
byte1(msb)>
byte2>
byte3>
byte4(lsb)>
AnalogtoFloatingPoint信号激活了Crestron控制系统和CSIHVAC单位之间的通讯。
也就
是说,它将它的模拟输入值转换为CSI单位需要的IEEE浮点格式。
相反的,FloatingPointto
Analog信号通过CSIHVAC系统将产生的浮点数转换回模拟值。
输入是一个16位整数;
是一个16位二进制小数,等于<
/65535。
等于32767,<
就等于32767/65535,或是0.5。
这些输入产生了
一个由4个输出表现的4字节(32位)IEEE浮点数,由最重要的位<
byte1>
开始,
如果输入为负数,<
输入为高(真)。
要传送一个小数如0.49,这个值必须被转换成16位小数。
AnalogScaler信号用来限定输入
值的范围达到期望的精度级别。
例如一个精确到0.01的数(如0.49),<
则为65535(模
拟信号的最大值),<
div>
为100,<
(精度为0.1时,<
必须是10;
精度为
0.001时,<
必须为1000;
精度为0.0001时,<
必须为10000。
以上的计算随后将成为49*(65535/100+0)=32112,即IEEE传送的正确格式(32112/65535
=0.49)。
参见FloatingPointtoAnalog。
19、AnalogtoIndirectText
dpm
1个可选数字输入:
3个参数:
Net/GatewayID>
field>
format>
RFID>
AnalogtoIndirectText信号用于在一个或更多触摸面板上显示模拟值。
在大多数应用中,这
种信号是多余的,因为数字规格能够在VTPro-e中被创造出来。
当把模拟值传送到无线面板时,<
参数为触摸面板的16进制的CresnetID。
一个FFh的<
将传送此值到所有的触摸面板。
当把模拟值传送到双向(2-way)无线面板(例如STX-3500C)时,<
就指
定Gateway(例如CNRFGWX)的16进制的CresnetID。
在这些应用中,可选参数<
必须被用于指定面板的16进制的RFID。
参数指定了分配在VTPro-e中的间接文本区域。
参数是一个两位数,它提供值的显示格式。
第一位数提供小数点的位置,如果需
要,第二位数提供数字的数量。
(如果第一个<
数为0,就不用小数点。
如果它是1,
小数点就将位于最右边的位置。
如果它是2,小数点在最右边的第二位,依此类推。
可选输入<
在每一个<
的上升沿对显示值进行更新(如果输入改变)。
20、AnalogValueSample
sample
sample_all>
sample_changed>
对应每一个输入,都有一个模拟输出:
AnalogValueSample信号仅只在<
的上升沿赋予输出以对应于输入的值,其它情
况下无论<
的水平如何,输入怎样变化都不对输出产生影响。
这基本上形成了一
个样例。
每一个输入都有一个对应的输出,并且每一个输入/输出对之间是相对独立的。
可_________选输入<
只反映改变了的信号。
一个AnalogValueSample信号占用了一个或多个模拟水平的一个“快照”。
在更新的模拟信号通过IntersystemCommunications信号发到远程系统时,它经常与Oscillator信号(震荡器
信号)一起用于控制速率。
具有代表性的是,当较慢的Oscillator驱动<
去补偿
传送错误时,较快的Oscillator就驱动可选输入<
去检测改变、远程启动系统等。
参见Oscillator,IntersvstemCommunications。
21、AnAnalogVariablePreset
presetv
levelM>
scene1>
sceneN>
对应每一个输入从<
,都有一个模拟输出:
zone1>
zoneM>
1个数字输出:
busy>
AnalogVariablePreset信号,经常与AnalogRAM信号一起使用,用于激活end-user来定义
系统的预设。
这与AnalogPreset信号有所不同,在<
里,AnalogPreset
信号为在动态时间内可改变的模拟值。
(在所有的模拟信号中,<
输入为1个单
精度值。
)每一个<
输入都有一个对应的<
zone>
输出,并且每一个输入/输出对之间是相对独立的。
AnalogVariablePreset信号在每一个<
scene>
输入的上升沿使每一个<
输出跳变到它的
对应<
输入的水平。
输出在由<
限定的时间内从现值跳跃到一个新
值。
当输出跳变时,<
输出升高,并可以当作是反馈信号。
在启动时,所有的<
输出都被设为0,<
输出为低。
在转变过程中,<
输入的第二个上升沿将驱动<
输出立即达到它们的最终值。
这
叫做cut。
参见AnalogRAM,与AnalogPreset对照。
22、Decade
最高40个数字输出:
units0-9>
tens0-9>
hundreds0-9>
和<
thousands0-9>
Decade信号将它的模拟输入信号转换到数字输出组中,每一位数以十进制数来表示。
每一组担任解码器的十分之一。
例如,给输入为125,接着的输出将升高:
hundreds1>
tens2>
units5>
在值为高时激活信号,在值为低时设置所有的输出为0。
在的模拟输入值可能连续改变的应用中,如从一个AnalogRamp信号改变,<
能变成一个脉冲信号,
以产生期望中的输出。
Decade信号顺次求出整数部分的值(从最大值开始),就像输出能被用于发送串行数据到
RS-232口,例如,没有附加逻辑或延迟的需要。
在以上的例子中,<
hundreds>
输出将首先
升高,然后是<
tens>
,最后是<
units>