您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 快思聪编程基础教程终极版
SIMPLWindows王文广整理QQ:770390530MOB:13809074402第65页共65页完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第64页共65页3.点击Viewport上的Function菜单下的SetControlSystemIPInformation。在打开的对话框中设定控制系统IP地址或主机名,IP掩码和默认路由地址。确切的IP信息有应用情况决定。例如:您可以允许DHCPA或SSL。多数情况下,您可以向系统管理员询问IP信息。4.输入IP信息,点击OK,重启机器。退出CrestronViewport。至此,您已经配置好控制系统的IP信息,您可以通过以太网和控制系统通信。点击SIMPLWindows的Edit菜单下的Communications,然后选择TCP/IP连接类型。输入控制系统的IP地址或主机名。或者,您可以勾选PromptonConncet,以便在上传程序时提示IP信息。CompilingandUploadingPrograms当您编写完逻辑程序后,您可以对它进行编译,并将编译好的程序上传到控制处理器。点击Convert/Compile按钮进行编译。如果这是您没有保存程序,系统将会提示您进行保存。编译对话框用一个进度条显示程序转换和编译的情况。编译过程中产生的任何的错误或警告将显示在程序编译列表中,您可以点击Help获取更多的信息,或者双击错误来定位产生错误的信号。有关编译错误的更多信息,请参阅SIMPLWindows的帮助文档。编译对话框还显示了程序有关的信息,包括逻辑符号、信号量的数量,内存使用的情况和编译时间。在上传程序之前,如果还没有和处理器相连,请先将连接建立好。然后,点击Yes,进行文件传输。完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第63页共65页对于TCP/IP的网络连接,可以使用以太网直连线缆将PC和控制系统连入以太网中。TCP/IP连接:设置IP信息:如果您想通过以太网与控制系统通信,则必须配置处理器的IP信息。1.如前所述,与控制系统建立RS-232的串口连接;2.点击Tools菜单下的Viewport,打开CrestronViewport;完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第62页共65页程序员可以创建自己的模块,并将他们保存在UserModules目录中。或者,程序员也可以使用现有的Crestron模块最为起点,对它们进行修改以满足特定的需求。关于详细的Crestron和用户模块信息,请参阅SIMPLWindows的帮助文档。CommunicationSettings在您上传程序或与处理器进行其他通信之前,必须在控制系统和PC机之间建立有效的连接。您可以使用Rs-232串口或者TCP/IP网络连接。如果是第一次和控制系统连接,必须使Rs-232串口连接。这时,您可以配置控制系统IP以为以后进行以太网连接。RS-232串口通信是用DB9的直连串行线缆连接控制系统的COMPUTER端口和PC的COM端口。Rs-232连接图:点击Edit菜单下的Communications,选择连接类型:RS-232。然后,按如下的设置来完成匹配控制系统的PCCOM端口设置。2系列处理器的通信设置:完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第61页共65页Serial/AnalogOne-Shot有些时候,我们不仅要知道模拟信号的值,还需要知道它们的值是否改变了。这正是Serial/AnalogOne-Shot的功能。它除了是由模拟或串量输入端”rx$”的变化触发而不是由数字输入端的跳变触发之外,其它特性和数字逻辑章节中讨论的One-Shot系列函数相似。当检测到输入有变化时,函数就将其数字输出端变高并保持’pulse_time’参数指定的时间。它可再次触发,即当函数输出是仍然为高时,只要输入再次变化,将重新计时。直到输入停止变化足够长的时间,输出才会保持高电平“Pulse_Time”时间。模拟输入的任何改变以及串量数据的每一次更新,都会触发Serial/AnalogOne-Shot。作为例子,我们可以用Serial/AnalogOne-Shot函数实现当音量变化时,产生闪烁反馈。这里我们必须确定不要将脉冲时间参数设得太短,否则函数的输出可能在音量正在被调节时都会很快变低。Serial/AnalogOne-Shot举例:Modules模块SIMPLWindows为程序员提供了大量的Crestron模块,并预定义了目录用来存储用户创建的模块。Crestron模块是打包好的逻辑程序,用来控制特定的设备或执行某项功能。由于模块具备了大部分的实际功能,因此可以节省大量的编程和调试时间。这样以来,即使是初学者也可以通过Crestron模块控制复杂的设备。必须注意的一点是,不像函数,模块没有可选的输入和输出。所以所有的输入、输出端都必须定义。没有用到的输入信号可以置0,信号将被强制为低且不会影响模块。输出信号则不同,应该被赋予唯一信号名,如:”no_connnect1,no_connnect2…”。不要将未用得输出信号置1或0,它可能影响模块的内部操作。完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第60页共65页该函数只有一个数字输入,但可以有若干个模拟输出。每一个输出都有相应的目标值。在输入’input’的上升沿,每个输出都开始向其目标值变化。这种单个输入,多个输出的特性使它可以用来创建”场景”,模拟输出可以代表灯光区域,音量大小等。AnalogPreset的运作类似于“单入多出”模式的AnalogInitialize。尽管AnalogInitialize可以用于需要模拟量的任何应用,比如音量、灯光控制,但是并不总是最合适的。其中存在的问题就是,当AnalogInitialize被上升沿触发时,它的模拟输出立即变成参数指定值。在需要平滑过渡而不是跳变的情况下,得使用AnalogPreset。它们两者的唯一区别就是AnalogPreset有’ramp_time’参数。这一参数指明了从数字输入变高开始到模拟输出达到他们指定值之间的时间。在此过程中模拟输出的变化是线性的。下面的例子告诉您怎样使用AnalogPreset来创建灯光场景。AnalogPreset举例:预设灯光场景请注意,这种实现方法用户将不能调整灯光场景的设置。灯光亮度被”硬编码”在程序中,每次改变预设值都要重新编辑和编译程序。要在系统运行时改变预设值,而不需要重新修改程序,我们需要将AnalogRAM和AnalogVariablePreset函数组合使用,这不在基础教程中讨论,请参阅SIMPLWindows的帮助文档获取更多的信息。完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第59页共65页单个输入模式:AnalogInitialize的第二种模式是第一种的延伸。它有一个数字输入和多个模拟输出。除此之外,函数的运作基本上都一样,除了当数字输入出现上升沿时,每一个模拟输出都被赋予相应的参数值。这种模式在您有多个模拟量需要赋值时有用。当然在这种情况下,每一组值都需要一个AnalogInitialize。例如,我们修改上个例子。我们需要改变五台而不是一台电视的频道,而且每台电视的频道都不相同(例如在运动吧里面)。我们可以添加有一个输入端、五个模拟输出端的AnalogInitialize函数,并且复制所需的数量(每个预设频道复制一次),更改每个函数的数字输入和参数值,其余的五个模拟输出保持相同。另外,这种形式的AnalogInitialize还用于初始化一组程序运行时不需要改变的模拟信号,这在当它和其它需要模拟信号作为输入的函数组合时有用(比如AnalogSum)。此时只需在数字输入端简单地置”1”,这样,当系统上电时,所有的模拟输出将被赋予相应的参数值。AnalogPreset函数AnalogPreset可以将模拟信号指定为某一特定的值,并让其从当前值平滑地变化到设定值,变化时间由“Time”参数决定。注意模拟信号实际的变化速率取决于时间参数和变化总量。完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第58页共65页AnalogInitializeAnalogInitialize用来将模拟信号的当前状态设定到指定值。该函数根据不同的设置有两种不同的工作模式。单个输出模式:在这种模式下,它有多个数字输入和一个模拟输出。每个输入都有对应的参数。当某个数字输入变高(上升沿)时,相应的参数值便赋给模拟输出。由于模拟量的特点,模拟输出将保持该参数值,直到本函数或其它函数改变这一值。AnalogInitialize的这一模式,在程序运行中需要根据情况为模拟信号赋不同值时非常有用。比如要一组电视频道预设按钮,每个按钮将电视调谐器转换到指定的频道。一种实现方法是使用AnalogInitialize,它的每个数字输入代表一个预设频道。如下图所示,我们将要介绍另一函数——Decade,它可以方便地将模拟信号解码成百、十和个位数字。如例子中假设的一样,当控制需要单独键盘命令的红外设备时,这种方法非常有用。有关Decade函数的更多介绍,请参考SIMPLWindows的帮助文件。AnalogInitialize举例:Decade的输出必须连接到另外的函数上,这些函数未在下图画出完整版SIMPLWindows王文广整理QQ:770390530MOB:13809074402第57页共65页模拟逻辑上一节向您介绍SIMPL语言最基本一些逻辑符号。在充分了解这些符号的基础上,您可以编写很多复杂而且功能强大的程序。但是,您可能注意到,目前为止我们讨论的所有函数都是对数字信号进行的。从前面章节的讨论中,我们知道除了数字信号,程序中还可以包含模拟信号和串信号。这一章将介绍可以产生、处理模拟信号的函数。在接触具体的模拟信号之前,让我们了解一下模拟信号为何如此重要。基本上,每个模拟信号包含16位信息,而数字信号只有一位(高或低)。这意味着模拟信号的取值范围为0~65535(216-1)。这么大的取值范围让模拟信号对没有离散开关控制设备的控制中非常有用。比如:继电器有开、关两种状态,红外命令为发或不发。这些特性使得它们需要使用数字量来控制。但是,对于音量、镜头和调光的控制,数字量是不足够的――需要模拟量。在上一章我们知道每一个数字量只有一个驱动源,除了一些允许的特定情况,如:系统输入(像按下按钮)和Buffer的输出。模拟信号则没有这样的限制,它的驱动源数量由具体情况而定。这似乎不合理,信号的多个不同的值也可能产生冲突。实际上并不会,因为每个信号的赋值是由最后变化的那个函数决定的。当函数改变其模拟输出端的值时,连接到该输出端的信号将保持这一新值,直到同一函数或其它函数重新对其赋值。也就是说,当模拟信号有不只一个驱动源时,该信号的值将由最后改变它的函数决定。AnalogRamp函数AnalogRampSymbol函数在“Up”“Down”输入端为高时,将产生一个连续变化的模拟信号。参数’time’设定了输出从0到100%(或100%到0)所需要的时间。函数还有一个“Mute”输入,在其出现上升沿时输出信号强制变为0,在下降沿时输出信号返回先前的值。因此它通常由Toggle函数来驱动。AnalogRampSymbol适合用来进行音量控制等一些模拟信号控制的设备,如:CNXVTC-3。如下图所示,CNXVTC-3的A、B通道由第一个Ramp驱动,控制立体声音量,第二个Ramp则控制C通道。AnalogRampSymbol举例:通过CNXVTC-3进行音量控制完整版SIMPLWindows王文广整理QQ:770390530M
本文标题:快思聪编程基础教程终极版
链接地址:https://www.777doc.com/doc-5079523 .html