科讯网

您现在的位置是:首页 > 技术专题 > CRESTRON

CRESTRON

后台-插件-广告管理-手机广告位-内容正文顶部468X60

快思聪 SIMPL Windows 编程语言 初级教程

2021-07-31 05:04:39CRESTRON
关于初级教程 编写本教程的目的在于向程序设计人员介绍SIMPL windows编程技术以及如何应用快思聪控制系统, 这包括对控制系统如何利用触摸屏和按钮作为用户界面的理解,通过这些界面,使用者可以发送一个信号 (主要是逻辑函数)给控制系统处理后输出用以最终控制一个设备。

iQ9科讯网
快思聪 SIMPL Windows 编程语言  

初级教程  
SIMPL Windows  
第一章 快思聪 SIMPL Windows  
概览  
关于初级教程  
编写本教程的目的在于向程序设计人员介SIMPL windows编程技术以及如何应用快思聪控制系统,  
这包括对控制系统如何利用触摸屏和按钮作为用户界面的理解,通过这些界面,使用者可以发送一个信号  
(主要是逻辑函数)给控制系统处理后输出用以最终控制一个设备。  
简单的控制系统  
当然,实际的控制过程比以上的更加复杂多变,然而这只是快思聪程序控制系统编程的基本概念,该  
教程要求使用者需对以下内容有基本了解:  
微软视窗  
了解windows基本操作  
熟悉windows特性及功能  
/视频  
了解不同控制方式(串口,红外,继电器)  
熟悉A/V设备  
阅读理解控制系统连线图的能力  
SIMPL windows 提供了大量各种各样的函数,可以用来实现所有可能的实际应用,当对 SIMPL  
windows 变得精通后您就能知道对同一控制问题我们有多种方式来解决,这使得程序更具灵活性及扩展  
性。  
1 56 页  
 
SIMPL Windows  
快思聪开发软件  
SIMPL Windows  
快思SIMPL windows 提供了配置,编程,测试及调试一个集成控制系统需要的所有工具。综合,  
快思SIMPL windows Windows 风格的强大拖曳功能和强大的编程能力立了快思聪硬件户  
界面跟受控设备之间的联系。  
SIMPL windows 配置方面的功能允许您选择安装所需的控制系统,用户设备,网络设备和控制设备。  
您可以针对这些组件来安排端口地址,网ID IP 地址,设定通信参数以及指定哪个设备跟哪个卡连接  
或者网络控制模式。您也可以指定系统要求所需Visiontool Pro-e 触摸屏程序。  
编程时允许您选择系统要求的逻辑函数,为函数分配信号且根据逻辑要求,建立信号跟其他函数或设  
备之间的联系SIMPL windows 提供了大量各种各样的函数以用来实现所有可能的实际应用着您  
SIMPL windows 的熟悉,就会明显发现可以用很多方式来解决同一个控制方面的问题,这样就让程序  
更具灵活性及扩展性  
您可用强大的诊断工具来测试调SIMPL windows些工具包Test ManagerNetwork Analyze  
Viewport。您可SIMPL windows 中调用这些工具,也可以独立运行。  
为了实现更多灵活性,SIMPL windows 安装包中包含了 SIMPL+,这个开发工具可以让高级编程人员  
用类C 语言的程序语言创建和编译客户控制程序模块可以像添加一个逻辑函数一样SIMPL+模快  
添加SIMPL Windows 程序或者定制的用户模块中以用于功能扩展或者解决特定的控制问题。  
SIMPL windows 完全集成的快思聪软件工具包包括:  
快思VisionTool Pro-e  
VisionTool Pro-e 是快思聪触摸屏界面设计软件,应VisionTool Pro-e 软件,程序人员可以创建强  
大的触摸屏控制界面,包含用于特定设备传输控制的 pop-up 子页面,多种风格的按键以及 3D 效果的滚  
动条,高分辨率图片,动态文本,视频窗口,声音等等。VisionTool Pro-e 使Join Number 来定义按钮  
按下,反馈,以及其他数字,模拟和串口信号。这Join Number SIMPL Windows 中触摸屏函数的输  
入和输出相对应。  
DEALTM for Windows  
快思聪DEAL TM Device Editor and Learnerfor Windows软件能够让程序人员可以学习其它厂商  
的红外信号。结合快思聪红外学习器(CNXLIR)使用,DEAL允许您创建、修改和测试红外驱动文件,并  
且将红外驱动文件加入用户数据库,通过该数据库您可以将红外驱动文件加入到SIMPL windows程序中。  
Media ManagerTM System Builder  
媒体管理系统建立工具提供对于例如音频分配,家庭影院和视频会议等家庭及商用应用的自动化程  
序,该工具提供一个向导式的界面,简单的根据提示选择控制系统,用户界面,设备及功能,创建工具便  
2 56 页  
 
SIMPL Windows  
会自动的生成程序、编译、上传系统,包VisionTools Pro-e 触摸屏程序和控制系统逻辑程序。  
D3 ProTM  
快思聪D3 ProTM软件为家居灯光系统(包括安防系统、动作感应和幕帘等附属设备)提供了设计、建  
立和存档功能,与SystemBuilder一样,D3 Pro也提供向导式用户界面,编程可通过一系列简单但功能强  
大的系统设置界面来完成。设计完成后,D3 Pro自动创建、编译和上载控制系统程序以及触摸屏程序。  
这只是快思聪提供的帮助您更加方便快捷完成编程任务的部分软件可以在快思聪网站的软件升级  
区来免费下载所有快思聪软件(要求注册)。  
数据库(Database)  
快思聪数据Crestron Database一个大型的信息集合思聪的各种软件包SIMPL windows,  
D3 Pro System Builer 均访问该数据库,数据库中包含用于控制用户设备(CDDVD,会议设备和  
其他第三方红外设备)的红外驱动文件。  
除了红外驱动文件,快思聪数据库还包含有几百个用于控制第三方设备的快思聪逻辑模块,模块包含  
由快思聪预先编写试过的逻辑程序些模块可以添加到程序中用以自动生成控制设备的代码。  
用户数据库(User Database)用于存储快思聪数据库中没有包含的红外驱动文件,编程人员通常用  
快思聪 CNXLIR 软件结合基Windows DEAL 软件来生成红外文件也可以通过从快思聪设计中心  
FTP 网站下载用户红外文件。  
此外,用户模块(User Module)目录用来保存快思聪数据库(Crestron Database)中没有的由用户  
自行创建的逻辑模块。  
产品目录光盘  
快思聪为您提供了多种获得快思聪硬件信息的方法,最全面的资源就是快思聪网站:  
www.crestron.com 在这里,您可以下载最新的用户手册,参考指南和所有控制系统、网络模块和触摸屏  
CAD 图。您还可以进入快思聪设计中心(Crestron Design Center)那里提供相关硬件合作制造商那获  
得的控制设备用的用户模块的扩展信息括帮助文档单逻辑程序摸屏程序CAD 图以及其他相  
关资料。  
您可以直接通SIMPL windows 在线支持进入快思聪网站,点Crestron online 进入快思聪主页,  
或者点击快思聪设计中心打开分/技术支持主页。  
快思聪产品目录和技术参考光盘是另一个有价值的工具,您可以结合快思聪网站来使用,或者但您无  
法上网时候光盘是一个有竞争力的快思聪目录品列表CAD 图和用户手册的图书馆可以不通  
过任何快思聪产品来浏览光盘,或者您可以直接通SIMPL windows 来显示您选择的各种信息  
SIMPL windows进入用户手册  
1. 将光盘放入CD-Rom(如果有自动读取,可以关闭窗口)  
2. SIMPL windows选择您需要查看的信息的whichever条目,快思聪控制系统,网络设备,  
触摸屏或控制卡,并按F1  
3. 第一次尝试通过SIMPL windows进入产品目录光盘的时候会提示浏览光盘目录定驱  
3 56 页  
 
SIMPL Windows  
动式文件夹点击open  
4. 如果选定设备文档存在,SIMPL windows会找到并用Adobe Reader打开PDF文件,如果没  
有相关设备的PDF文档,那SIMPL windows帮助文档会显示设备的帮助程序  
5. 无论何时您想打开文档CAD图或者附件都可以在SIMPL windows帮助菜单上点击产品  
目录光盘  
6. 如果您没插入CD就在设备文档库中按了F1SIMPL windows会提示您插入光盘,您可以选  
择插入光盘或者Cancel来在线浏览帮助文档。  
4 56 页  
SIMPL Windows  
快思聪控制系统  
为什么对控制系统编程?  
程序读取存储在控制主机中的指令代码使主机按照程序进行运作DVD必须事先  
编程告诉控制系统,DVD 连接到哪个端口,发送什么样IR 代码,触摸屏端哪个按扭驱动这些功能。一  
般来说,一个程序可以包含几百条相似的指令去控制整个机架上的音视频设备。所有程序都用 SIMPL 语  
言编写,快思聪开发SIMPL Windows 开发环境以方便快捷的编制程序。  
控制系统组件  
主机  
快思聪控制系统主机是整个遥控系统的核心,它集成其它厂商的设备和进行相互通讯。控制系统的内  
存(RAM)必须通过特殊的指令或程序进行编程才能与其它需要控制的设备进行通讯。  
另外,控制系统包括一个操作系统(OPS)。和计算机操作系统相似,OPS 是一套指令,使控制系  
统可以执行程序去控制连接在系统中的各种输入输出(I/O)设备,如红外设备。  
如果要用到最新的程序功能新的快思聪设备或者纠正以前版本的错误都需要升OPS可以从  
快思聪网站下载升级软件。OPS 文件名根据不同的主机有不同的扩展名,如 c2.V3080.cuz。下载前请注  
意确认升级文件是否是适合您的操作系统版本件名是否匹配操作系统版本号并且扩展名和主机型号应  
一致。  
2 系列主机CUZ 文件为控制系统装载操作系统2 系列主机提32MB DRAMCF 插槽可  
DRAM 扩展至最4G。程序的大小、模拟、数字及字符串信号的数量只受可RAM 空间的限制。另  
256KB 的非擦除内存用于存SIMPL+变量以及 SIMPL 中的一些存储函数的变量些函数  
Analog RAMDigital RAM Analog Non-Volatile Ramp,通常用于灯光和音量的预设。当关机时,  
非擦除内存也会保留里面的数据。256K 的非擦除内存也可以分配64K 128K 当作非擦除盘使用。  
X 系列主机另外有一个基本的监视器来操作系统有一些独立TCP/IP 堆栈含在一UPZ 文  
件中。这些独立的堆栈将用CNXENET CNXENET+以太网卡通信系统中。  
X 系列主机支16373 用户自定义数据信号2048 用户自定义模拟/连续信号机也256K 非擦  
写内存,根据所使用的以太网卡内型的不同按不同的方式划分。  
ST-CP CN 系列Legacy 控制主机支4085 用户自定义数字信号512 模拟/连续信号。  
主机  
最大信号数量  
2 系列  
X 系列  
取决于可RAM  
16373 数字信号  
2048 模拟/连续信号  
5 56 页  
 
SIMPL Windows  
4085 数定信号  
ST-CP CN 系列  
512 模拟/连续信号  
网络控制模块  
网络控制模块是连接快思聪网络或以太网用以扩展控制系统功能和支持第三方设备思聪提供各种  
不同的网络控制模块,包括音频接收器、混音器、分配切换器、立体声处理器、视频处理器、摄像机控制  
模块和房间盒模块。  
2 系列主机可以作为从属设备被其2 系列主机控制作为一个功能更强大的网络控制模块使  
用。  
SIMPL Windows 设备库里有各种网络控制模块代表快思聪的控制模块和以太网控制模块,灯光控  
制模块Lighting 文件夹中。  
Plug-in 控制卡  
快思Plug-in 控制卡可以安装在主机扩展槽里,支持与设备通信。Plug-in 控制卡包括用于连2 系  
X 系列控制系统到以太网的接口卡,SIMPL Windows 设备库里Plug-in Control Cards 代表控制  
卡。实际上可以通过安装并配置控制卡支持系统控制各种各样任意数量的设备。  
许多控制模块比如串口设备,既可通Plug-in Control Cards 也可以通过 Network control Module  
找到。  
卡通常成本较低,因为不需要机架安装和供电,但控制卡因为主机扩展槽的数量有限也受到限制。  
用户界面  
用户通过用户界面发出各种需求和动作,快思聪生产了各种各样的控制界面,包括简单的低成本手持  
式遥控器、键盘和高端的触摸屏。  
触摸屏  
快思聪触摸屏是用得最多的控制系统用户界面,触摸屏可以选用黑白显示和彩色显示,可用于快思聪  
网络、以太网络和无线网络。  
编程任意通Vision Tool Pro-e 软件开发触摸屏的用户使用界面种按扭可以定义相应的数字与一  
SIMPL Windows 程序中定义的特殊的操作相关联些关联join number面我们将会具体讲到。  
键盘(按键面板)  
键盘只能简单的去操作快思聪网络。按键提供古典样式,可以选配不同的按键和经过抛光的面板。  
无线摇控界面  
快思聪无线触摸屏和摇控器需要配制快思聪无线网关设备(如 CNRFGWACNIRGWA 和  
CNRFGWX),无线网关通过快思聪网线(Cresnet)连接到控制系统。无线红外(IR/射频(RF)发送  
器只单向发IR/RF 信号,不能接收。同样,快思CNIRGW 只能单向接IR 信号,CNRFGWA 只能  
单向接RF 信号。  
6 56 页  
 
SIMPL Windows  
用户设备  
用户设备包括音/视频设备,CDTVVCR 等由快思聪控制系统进行控制。User Device 文件  
夹中有几百种按生产厂商和设备类型分类的设备驱动文件。  
控制方式  
在编程运行快思聪控制系统时,最重要的是要了解如何去控制设备。任何具备电器接口的设备均可以  
通过快思聪控制系统进行控制。最常见的控制方式有:  
.继电器开关控制(机械方式或固态方式)  
.串口通信控制  
.模拟电压控制  
.定制快思聪专用接口控制  
继电器控制  
许多设备只需通过简单的电气开关就可以去触发相应的功能。在控制领域,这些是通过继电器进行控  
制的。屏幕、窗帘和第三方灯光控制系统都更偏向于采用这种类型的控制方式。除此之外,不需要调光的  
灯光系统常用继电器进行开关控制。快思聪生产多种类型的继电器,在不需要承载大电流或高电压时可选  
用低压继电器,而高压继电器则用在需要控制电机和灯光回路方面。另外,继电器可以选用机械和固态两  
种类型。如果在应用时不确定选用何种继电器,请致电快思聪公司以获得技术支持。  
串口通信控制  
当今许多设备用各种类型的串口通讯方式进行控制。一般来讲,通过串口控制设备常用的有红外,  
RS-232RS-422RS-485MIDI 方式,或自定义串口方式进行控制。在接下来的章节我们将讨论几种  
方式的不同之处。  
何为串口通讯?  
串口通讯指的是采用逐条发送和接收的一种通信方式。打个比方,设想一下我们在打电话的时候,对  
方讲的每一句话都是一个字接一个字讲出来的。它不同于并行通讯,并行通讯是几条信息同时进行发送接  
收。  
串口通信包括很多种常用的格式快思聪控制系统都兼容。接下来的章节我们将具体讲解最常用的格  
式。  
红外  
很多年来外遥控都非常普遍至今天它也是串口控制中最常用的一种方式如它的名字一样,  
红外控制通过红外进行传输。IR 信号通常通过载波信号进行调制,虽然有些可以高达1MHZ,但是通常  
7 56 页  
 
SIMPL Windows  
载波信号都40MHz 左右。  
对于快思聪,红外控制有两种应用。快思聪无线用户界面可以用红外方式与控制系统通信。这时,红  
外通过一种合适的格式被快思聪设备发送和接收。  
快思IR 无线接口  
其它的红外控制应用是系统产生红外信号去控制其它厂商设备(像索尼和松下的设备)。系统可以对  
设备进行远程功能控制。  
因为 IR 是单向通信,所以从受控设备端不会收到任何反馈。就是说数据传送到受控设备端,但没有  
数据从受控设备端返回到控制系统。意思就是当使用红外控制时,受控设备不会发送反馈信号来告诉您发  
送的指令已收到是采用这种控制方式本身所决定的缺点IR 的另一个缺点就是控制系统和受控设备之  
间不能有障碍物阻隔。针对这个问题,快思聪提供红外发射棒,红外发射棒通过线缆连接到受控设备的红  
外接收器上。需要注意的是要确保红外发射棒上的探头(发射器)安装在紧靠发射棒的位置。  
IR 设备  
生产商一般不会公开发布红外远程控制的数据传输协议,因此,为了使红外发射卡发出正确的控制信  
号,必须使用专用设备——红外学习器学习红外代码。在电脑上安装快思聪红外学习软件—DEAL FOR  
WINDOWS,将红外学习器连接到电脑上,对红外遥控进行红外代码的学习,将学习生成的红外文件保存  
到数据库后,此后就可以在您的程序中插入这个红外模块了。当程序完成并上传到控制系统后,控制系统  
的红外卡就可以将驱动文件的信息转换成适当的电信号。  
快思聪红外设备  
红外发射器探头(CNXIRP STIRP)  
红外发射棒是一种非常小、有线传输的红外发射器,是快思聪用来外接到红外受控设备的红外接收窗  
上的发射器。它连接于控制系统和设备红外窗口之间,并向受控设备直接发送红外信号。因为红外发射棒  
可以外接于设备上,所以无需启用第三方设备来重写控制代码或调整红外窗口。另外,通过直接将红外发  
射棒探头安装到受控设备上,来自日光和灯光的干扰信号可以忽略不计。  
红外群发器(Sprayer)  
红外群发Sprayer90 度幅度范围内发送红外信号无需红外探头且可以被摆放于  
中心位置,与所以设备相连。它被设计用来同时处理多个红外代码,所以仅需一个红外群发器(Sprayer)  
就可以处理多个红外设备通信。  
8 56 页  
SIMPL Windows  
红外设备模块/控制卡  
红外设备模块C2IR-8 或控制系统内置的红外口供红外或某些串量受控设备的控制C2IR-8  
和内置红外口需要外接红外发射棒进行红外通信。  
使用红外口进行串量通信时,请参看串量红外通信的有关介绍。  
红外学习器(CNXLIR)  
快思聪电器设CNXLIR 用来学习红外遥控的控制代码过学习这些代码序员可以创建客户的  
红外设备驱动。DEAL FOR WINDOWS 软件允许程序员创建、修改和测试驱动文件。程序员可以对它进  
行存储和学习。用户数据库中的红外文件SIMPL Windows 中使用。  
快思聪数据库  
正如前面所述,快思聪数据库包含大量的预编码的红外驱动文件供程序员使用。这个数据库涵盖了当  
前市场上绝大部分的红外受控设备的红外驱动文件。实际上,此数据库支持目前所有控制格式,包括继电  
器控制、模拟电压TCP/IP。程序员可以通过厂商或设备类型来查找数据库。  
自定义串口通信  
这里讲的自定义串口指的是通信协议(类似于红外通信协议),它是通过线缆传输,而不是光信号,  
没有载波信号。称为“自定义”是因为当前大部分生产商采用这种方法,但没有一个统一的标准。如:索  
Control-SMarantzRC—5准就是使用自定义串口的。  
在使用方面,自定义串口通信与红外通信唯一不同的是用专门制作的串口线缆代替红外发射棒,连接  
控制系统和受控设备。因为特定类别的红外遥控的数据格式是统一的,所以生成串口驱动文件首先要通过  
对红外遥控的学习产生红外驱动文件,再将此文件传输到专门的筛选器筛除掉载波。正如红外控制一样,  
自定义串量信号通过红外卡产生,如:C2IR-8。  
快思聪自定义串口设备  
CNSP-109:是一种家电/Vidikron 线缆,C2IR-8 或串口输出端口一起使用。  
CNSP-110:是一类索VO500070009000 Vmatic 线缆,C2IR-8 一起使用。  
CNSP-112:是一类索Control-S 线缆,C2IR-8 一起使用。  
RS232RS422RS485  
RS232RS422RS485 都是 EIA 开发的串量通信标准。标准指定了设备间的电气接口。这些标准  
的发布使得各种不同设备间可以通讯而不用考虑硬件的特殊性。相同标准的任何设备都能进行通信。在这  
三种格式中,RS232 是目前控制系统中使用最普遍的。在以后的章节中,如无标示,都RS232 来代替  
描述三种协议。  
与红外控制和自定义串口通信的格式不同RS232 控制不使用预编码的驱动文件的数据格式和协  
议,即受控设备所需要接收的内容将在单元手册中详细描述。协议包含传输和接收数据、通信速率、奇偶  
校验、数据位个数和停止位个数。另外,给定的设备需要硬件(RTS/CTS)或软件(XON/XOFF)握手,  
它控制了两个设备间传输的数据流。控制程序对所有这些元素进行调整,以匹配生产商的具体要求。  
由于没有驱动文件,人们一般都认为在编程方面,RS-232 的控制比对红外和自定义串量的控制要  
9 56 页  
 
SIMPL Windows  
困难。这是因为每当一RS-232 设备需要被编程控制时,必须查找相关的协议,并在程序中编写必要逻  
辑来发送数据。在这个方面,许多设备都有了相应的模块,这些模块可以插入到程序中,并自动生成所有  
的代码。  
RS232RS422 RS485 在物理特性上的区别对程序员没有影响,除了他必须确认使用的快思聪产  
品支持的格式和设置正确。RS232 使用一线传输数据,一线接收,最远可50 英尺。当然,这要受许许  
多因素的影响,如:线缆质量、波特率和信噪比的影响。RS422 格式使用一对平衡线传输,另一对用于接  
收。平衡线对对信噪比要求不高,它的信号最远可2000 英尺。最后一个标RS485 RS422 类似,  
除了单对线导体用来同时传送和接收数据。这一点使得 RS485 在网络应用上很富吸引力,因为网络上的  
数据需要被共享。一个 HVAC(中央空调系统)就是一个典型的案例,该系统是通过一个 RS485 局域网  
与各种不同的温控器和一个控制系统进行通信。快思聪 C2IR-8 扩展控制卡仅用于 RS232 的单向传输。  
C2COM-2 扩展控制卡能够产生 RS232RS422 RS485 双向的信号。ST-COM 网络设备可以产生  
RS232RS422 RS485 双向通信数据。  
快思RS232RS422 RS485 设备  
C2IR-8:  
8 个串口,双RS232 通信协议  
C2COM:  
扩展控制卡,2 个双RS232/RS422/RS485DB9)端口和硬件握手信号  
提示:C2COM-2 DB9 pin-outs 输出口不是标准RS232 端口,如过用直通的串量通信线缆连  
接,可能会损坏设备。请参照快思聪线缆数据库或联系快思聪获pin-outs 串量线缆的详细资料。  
ST-COM:  
网络设备,满RS232RS422 RS485 协议标准  
限制RS232 传输距离最大可50 英尺(15 至少需3 线传输(RXDTXDGND每个  
设备需要用特定格式来接收数据序员需要熟悉二进制六进制和/ASCII 码来编写合适的字符串变  
量。  
MIDI  
MIDI 支持数字音乐设备接口,也是另一种串量通信标准。顾名思义,MIDI 通常用来支持音乐设备间  
的通信。但是,某些时候,在控制系统应用中,一些音频混音器使用 MIDI 控制寻址。从程序员的角度来  
MIDI RS232RS422 RS485 没什么不同硬件角度看CNX-MIDI 卡用来生成恰当的控制信  
号。  
快思MIDI 设备  
CNX-MIDI(卡):控制卡,1 MIN IN 端口,1 MIN OUT 端口1 THRU 端口,和混音器、  
灯光设备一起使用。  
模拟电压  
某些设备,特别如摄像机云台(旋转底盘)、灯光控制系统或电压受控的衰减器原件,可以用同一个  
模拟电压控制。可编程模拟电压能通CNXAO-8 C2I-IO8 生成。后者含8 Versi 端口, 可对数  
10 56 页  
 
SIMPL Windows  
字输入/输出或模拟输出信号进行编程。  
自定义快思聪接口  
一些设备的控制接口不能简单地归到一种方法或目录类别。在这些情况下,快思聪开发了自定义模块  
(或者是扩展控制卡或者是网络模块)来提供控制。  
例子有:  
线缆音频衰减器(音量控制)  
云台控制和缩放聚焦控制(镜头控制)  
幻灯片投影机控制  
键盘/鼠标接口  
灯光(可调和不可调)和马达控制模块  
上述的详细信息,请参看快思聪目录查找各模块和参考模块产品的用户手册。  
Cresnet  
快思聪网络(Cresnet),包括快思聪网络拓扑。RS485 总线用来连接控制系统和快思聪网络设备,  
如:CNECI-4A(电子控制接口用于交流电设备)或 CNSC-IA(幻灯片投影机接口)。当红外和 RS232  
不能满足设计需求时RS485 总线可以用来远程定位设备外必须用红外发射器探头外接到设备上,  
RS232 的最大传输距离只50 英尺,Cresnet RS485 的最远传输距离5000 英尺。  
Cresnet 线缆组成  
A #22 AWG,屏蔽双绞线用于数据传输。  
B #18 AWG,双绞线,用于电源和接地。  
PVC 线缆外皮  
快思聪网络联接图  
11 56 页  
 
SIMPL Windows  
12 56 页  
SIMPL Windows  
第二章 SIMPL Windows 编程  
SIMPL 介绍  
快思聪致力于产品及与其他产品制造商之间的接口开发。为了能够按照客户的需求进行安装,控制系  
统需要单独的编程。快思聪控制系统是利SIMPL Windows 编程(基于函数的编程语言)  
SIMPL 是一种面向对象的编程语言,能够方便的实现控制系统的要求,这些用SIMPL 的对象叫函  
数,每个函数都能实现一系列特定的应用。依靠信号量来实现函数之间的链接。将函数和信号量相互关联  
组合起来就是一个程序。因此,程序实际上就是由对象(函数)跟链线(信号量)组成的图。这种图也可  
以理解成其他应用中的块图或流程图。当设计一AV 系统安装时,表示系统设备如何链接的块图对安装  
人员而言是非常重要的SIMPL 允许编程人员用相似的风格来开发一个控制系统用到的函数以及连接  
它们的信号量的链接组合就类似一个块图。SIMPL 程序的开发AV 系统安装的流程图紧密关联。  
函数库  
SIMPL 中写程序类似连接一个电路图:您需要选择正确的组件并将它们正确的连接起来。正如描  
述的一样,在 SIMPL 中,组件叫做函数,线叫做信号量,与实际的电子图一样,要从大量的函数中做选  
择来完成目标。随着您对越来越多的系统进行编程,您会找到一个大多数环境下都适用的函数组合。  
SIMPL 中的函数可分为两个大类:设备函数和逻辑函数。  
设备函数  
设备函数代表程序中用到的快思聪网络设备们只能SIMPL 软件中的配置管理器来加入或删除。  
程序管理器允许设备函数之间互连,但不能加入或删除。设备函数位于配置管理器的设备库中。  
逻辑函数  
设备函数允许您与外部设备互相通讯,逻辑函数允许程序按照您的编程来运行。逻辑函数由最基本的  
如:与(AND),或(OR),非(NOT)函数到用于特殊应用的函数都有。在函数编程章节中有更深入  
的讨论。  
函数属性  
虽然每个函数都有特殊的应用,但所有函数都有一些基本属性,就是输入,输出和参数。  
举例:Analog Ramp 函数  
13 56 页  
 
SIMPL Windows  
输入  
函数输入允许函数与程序其他部分相连,根据函数类型,输入信号的当前状态会影响一个或多个输出  
信号。一些函数有固定数量的输入端,也有一些函数有可增减的输入端,由编程人员根据需要来决定。  
输出  
除一些特殊案例,大多数函数的目的是用于更改输出状态,这些输出状态基于函数类型,当前或过去  
的一些输入信号状态以及参数值。因为函数决定了输出信号,因此函数被认为是输出信号的驱动源,根据  
信号属性,一些输出会有多种驱动源。  
类似函数输入,一些函数也固定数量的输出端,另外一些函数有可增减的输出端。  
参数  
一些函数有参数,这些参数是一些常数值,有助于决定函数是如何动作 。举个例子,有一个用于对  
一个动作延迟一段时间触发的函数有一个参数决定延迟多长时间数的功能只取决于函数自身类型。  
为了方便,参数有多种格式的表示方式(它们之间所有都是相互直接关联的)虽然一个参数可以根据  
函数类型用一个格式来定义,您也可以在函数值的最后通过改变格式特性来改变格式。  
以下列了有效的格式,括号中的字母表示格式定义的标志  
.decimal 十进制  
.hexadecimal 十六进制  
.(%)percentage of 65535 百分比  
.second 秒  
.ticks 时间标记-1 tick1/100 秒(2-series 主机1/112.5 秒(X-series 主机)  
.'character(') 字符(单字节)  
为了给一个参数定一个特定格式,在数值后加入定义符号,如 25%,如果参数是单字节,在 ASCII  
特性前或后设置信号引用格式  
参数也能特指每日的时间,每日时间表示为后面带""格式时间,如下:  
14 56 页  
 
SIMPL Windows  
.HH.MM.SS  
.MM.SS.HSs  
.SS.HSs  
.SSs  
.HSs  
HH=小时,MM=分钟,SS=秒,HS=百分之一秒  
举个例子,参数 20.03.05S 表示一个时间值为 20 分钟,3 秒和 1/500 秒的参数。如果您不使用格式  
符号,就会忽略那些大的时间单位。所以3.00.00S”表示 3 分钟,0 秒,百分0 秒(不表3 小时)  
根据函数功能,一个参数分为可设和不可设,可设值介于-32768+32767 之间,不可设的参数介于  
065535。百分数也可以用负数来表示,例如-25%=65535 25%,即 16384-1638449152d)因  
此参数25%等同49152d。参SIMPL 的帮助文档可获得正确参数值的更多信息。  
_______________________________________________________________________________  
注意参数就是在程序编译过程内必须被调用的常数值,在程序运行过程中无法改变参数值(信号不可  
更改参数),要改变参数,必须改变并重新编译程序。  
_______________________________________________________________________________  
信号类型  
信号的概念已经提过了,信号就是在程序中用于链接组成程序的各种设备函数跟逻辑函数的元素。然  
而,对信号的讨论并不简止这些。对初学者而言,信号量有三种类型:数字量,模拟量和串量。对任何给  
定信号而言,信号类型取决于驱动源,如果输出模拟量的函数,那么链接的信号会自动定义为一个模拟信  
号,三种类型的信号更详细的定义如下:  
数字量  
数字量是 SIMPL 语言中最常见的,一个典型的程序有 95%~100%的信号量都是数字信号量。这类  
信号量有两种状态,通常认为是开和关,其他常见描述是高和低,活动和非活动,1 0。这个传输称  
为上升沿或正态沿的来说SIMPL 程序中的动作是由数字信号从低到高的状态变化来触发的然大  
多数信号是边沿触发另外一些是水平触基于当前状态而不是最后的转换个例子Toggle  
函数是边沿触发的,它随着每一个输入的上升沿来驱动数字量输出的高低,作为比较,Buffer 函数是水平  
触发,为了让信号流动,它Enable 输入数字量必须保持高电平。  
但浏览函数库参考时,记录哪些函数是边沿触发,哪些是水平触发,您可以通过选择函数并按 F1 来  
找到这些信息。这么做能打开对应函数的文本帮助窗口。  
如前所述,信号类型由驱动源决定,在许多应用中,有一些是具有多个驱动源的信号量。这些信号量  
被称为拥塞。作为通用规则,数字量不能拥塞,这意味着它们只能有唯一的驱动源,但有两个重要且常见  
的函数例外,系统输入(例如按键)buffer 函数的输出。这些例外在必须通过多个用户界面共享的应用  
中十分有用。举个例子,DVD 播放器可以通过触摸屏来控制,也可以通过远程控制器来控制。  
SIMPL 中,数字量可由蓝色箭头表示。  
15 56 页  
 
SIMPL Windows  
模拟信号量  
模拟信号量16 字节数字表示,所有值介065535216-1)之间,这意味着不同于数字信号,模  
拟信号可以在数值间连续变化,作为音量或温度之间的应用。该属性可以使模拟量在控制那些没有开关判  
断的设备时十分有用。例如音量控制器,云台控制器和灯光控制器。  
与数字量不同,模拟量由于它们的特性,可以有多个驱动源,因此模拟量是可拥塞的。实际上,无论  
何时超过一个信号量驱动同一模拟信号,持续改变信号值的函数就会动作,模拟信号的典型应用是音量,  
灯光和温度一集高级串量操作。  
SIMPL 中,模拟量用红线表示。  
串量  
串量促进了字符串的传输些信号com 口或通过一个有串量输出的函数生成模拟量类似串  
量也是可拥塞的,因此在单个信号上可用多个函数生成字符串。默认的,串量是短暂的,这意味着串量只  
对生成它的逻辑波有效(逻辑波在下面介绍)例Making String Perment 函数允许字符串保存在内存中  
SIMPL 中,串量用黑线表示。  
举例:信号颜色  
有些信号比较模糊,这意味着信号类型取决于输入源。举个例子,Serial buffer 函数是串函数也是模  
拟函数,当信号源与一个模拟量或者串量相连时,就可决定模糊信号类型。在程序完成前应该确定模糊信  
号的类型,否则就会出现编译错误。  
SIMPL 中,模糊信号用绿线表示,一旦确定,绿色会变成蓝色(数字量)红色(模拟量)或黑色  
(串量)  
特殊信0 1  
特殊信号0 1 用于给一个信号量赋值。1 表示一个值恒为高的纯数字量。数字0 总是保持低电  
平,在模拟量中“0”是强制给信号赋常数0,在串量中,输0 结果是没有字符串输出。  
逻辑波跟逻辑解决方案  
一个逻辑波是一个衡量信号状态变化时刻与所有与之相连的函数的求值时刻之间的这段时间的处理  
单元。对于描述数字硬件时应用的“传送延时”过程来说是模拟的。虽然由于实际的时间与编译时间相互  
决定这一事实让逻辑波不能表示为真实的时间单元(例如百万分之一秒),但 SIMPL 保证所有的函数都  
有一个确定的逻辑波传送延时。  
注意有些函数并不一直符合这个规则个基于时间的函数例Delay one shot 函数Delay 函数  
16 56 页  
 
SIMPL Windows  
的延时只由参数值来决定one shot 函数的输入触发信号升高也有一个信号逻辑波的延时输  
入的下降沿无效,且函数输出只有在这个特定时间之后才会下降。  
一个或多个逻辑波组成逻辑解决方案  
逻辑解决方案由它们所在的时间来定义。始于一个外部脉冲,用于 SIMPL 逻辑处理器对所有函数求  
值,至程序中所有信号达到稳定状态的那个点为止,即所有信号保持稳定不变状态的那个点。逻辑解决方  
案的长度可在运行时间内变化且可用逻辑波表示如当按键按下发逻辑解决方案应发6 个逻辑波。  
实现当一个逻辑解决方案运行时,基于日程事件不可触发时很重要的,除了作为脉冲来触发。因此,  
用一个 Oscillator 函数不能导致一个无结尾的逻辑解决方案。相反的,每次 Oscillor 的输出信号改变时,  
将触发一个新的逻辑解决方案运行。直到所有影响信号达到最终状态后才停止。另一方面,错误链接将产  
生循环的逻辑(例如Nor 函数的输出引入到输入),这种情况时可以避免的。  
用户界面编程  
用户界面是任何一个设计优良的控制系统的核心,它是用户与控制系统之间的桥梁。无论系统的程序  
的智能程度和技术程度有多高,如果缺乏一个良好的用户界面,系统就不可能得到用户的肯定,也不可能  
完全发挥其潜能。从高端的 Isys TPS 系列触摸屏到简单、高性价比的有线按键面板,快思聪控制系统提  
供了一系列出色的用户界面。无论您在系统中应用什么类型的界面,本章将解释在程序中如何应用这些界  
面。  
按钮动作  
在程序中,触摸屏、有线无线按键面板或其他界面按钮的动作都与信号相关联。设备中并非所有的按  
钮都有用,未使用的按钮不需为其指定信号名称。当某个按键按下时,程序中对应的信号变成高电平;当  
按键松开时,对应信号变成低电平。下图为信号状态变化示意图:  
简单的按钮  
17 56 页  
 
SIMPL Windows  
图中按钮决定信号的状态。即当按钮按下信号变为高;当按钮未按下时信号为低――因为按钮是信号  
的驱动源。按键只有高低两个状态,因此它驱动的信号也只有两个状态,所以该信号为数字信号。  
大多数情况下数字信号只能有一个驱动源个不同函数驱动同一个信号是非法的过有两个例外:  
一个是后续会讲到Buffer 函数一个是按钮信号以有多个按钮驱动同一个信号方便在多个用  
户界面上实现同一功能过触摸屏和无线遥控器实现对同一音量高低的控制以上两种情况下,  
使用相同的信号名称是合法的,而不必为每个信号命不同的名称,然后OR 函数将不同名称的信号连接  
起来。  
按键反馈  
除单向无线界面之外的所有双向通信用户界面都支持按钮反馈。我们用反馈来描述按键的激活状态。  
按键面板的反馈通常由按键下方的 LED 灯来表示,而触摸屏的反馈有多种表示方法,一般通过改变边框  
和文本颜色以及模3D 外观的变化来表示。  
可视化的按钮反馈  
对于一个好的界面设计而言,反馈十分重要。一方面,反馈让使用者了解按钮动作已经传递到系统。  
这对触摸屏尤其重要,因为通过触摸屏用户不能够感觉到是否按到了正确的位置。另一方面,让用户了解  
系统当前的状态信息(如 VCR 当前在播放状态)。因此反馈要尽可能准确,因为不准确的或模糊的反馈  
会让用户感到疑惑。  
按钮是否按下取决于用确切说是取决于用户的手指按钮是否显示反馈状态是由信号决定的。  
因此号是按钮反馈的驱动源号的来源取决于需要何种类型的反馈基本的反馈类型叫瞬态反馈。  
只有按钮本身被按下时,瞬态反馈的按钮才显示它的反馈状态。这类反馈适用于只有当按钮按下时才执行  
的功能。例如:音量高低按钮通常接收瞬态的反馈,因为音量大小只有在相应的按钮按下时才改变(增大  
或减小)。  
瞬态反馈只需将按钮发出的信号名称赋给该按钮的反馈信号就可以实现。如下图所示  
18 56 页  
 
SIMPL Windows  
音量即时反馈  
某些按钮可能需要更加复杂的反馈。例如:静音按钮交替打开或关闭静音功能。为了表示这一反馈,  
当静音功能打开时,按钮应该显示反馈状态;而当静音功能关闭时则需取消反馈显示。很明显,瞬态反馈  
不能实现该功能,所以我们必须用逻辑函数来产生期望的效果。此例说明如何用 Toggle 函数来实现这一  
功能。  
静音——Toggle 函数反馈  
当控制系统和受控设备之间有双向通讯时,有可能存在更精确的反馈形式。有时可能需要基于从受控  
设备收到的信息来显示反馈(注意:该信息也叫做反馈,不要与按键反馈混淆)。例如:假设您通过控制  
19 56 页  
SIMPL Windows  
一台矩阵来选择四路视频源中的某一路果矩阵自身返回信息给控制系统指明当前选择的是哪一路视频  
源,您的程序可以利用这一信息突出显示表示该路被选视频源的按钮。这样,即使用户不通过控制系统而  
直接在矩阵上切换,也能保证反馈的正确性。  
子页(仅用于触摸屏)  
子页是触摸屏才有的功能强大的对象。子页与标准触摸屏页面有许多相似之处:都包含有按钮、文本  
框、图片等等。然而,子页通常不会满屏显示。相反,子页通常定义一小块包含许多按钮的区域来完成特  
定的功能,比如:VCR 的控制按钮。因此,一个特定的子页可以Windows Macintosh 计算机上的对  
话框一样,任何时候均可以在标准页面上显示或消失。  
为了让子页尽可能灵活,我们通过触摸屏反馈信号来控制它们的显示或隐藏。即当需要子页时,在子  
页将出现的地方创建一个子页引用。子页引用只是到之前建立的子页对象的一个链接。然后为每个子页引  
用指定一Join NumberJoin Number 的反馈信号将决定子页是否显示要信号为高页就显示;  
一旦信号变为低就消失。下面例子说明如何通过一个单独的按钮控制音量子页的逻辑,允许子页根据需要  
Toggle 打开或关闭。  
模拟显示(仅用于触摸屏)  
VisionTools Pro-e 提供一系列针对不同模拟显示的对象。例如:您想创建一个条形图,您可以进入  
Pro-e 工具栏,选Gauge(条形图)对像并调整到需要的尺寸,然后为表示模拟通道值的这个条形图指  
定一个模拟反Join Number。  
VisionTools Pro-e 提供了几种模拟对象:  
1Gauge(条形图)  
2、滑块(通过触摸屏可活动的条形图)  
3、数字标尺(用数字格式显示一个模拟信号)  
4、百分比(用%显示模拟量)  
5、时间(用时间格式显示模拟量 HHMMSS)  
间接文本(仅用于触摸屏)  
间接文本是在触摸屏按钮上显示的特定的可以根据信号状态改变的文本字符串。例如:当用户按下按  
钮时它可能显示“电源开”,当再次按下时可能显示“电源关”。  
SIMPL Windows 中,触摸屏已经定义了用于间接文本区域显示的串量反馈信号。这些文本区域直  
接接受串量数据信号。  
发送到触摸屏文本框的串量  
20 56 页  
 
SIMPL Windows  
21 56 页  
SIMPL Windows  
SIMPL Windows 来创建一个程序  
编程步骤  
确定受控设备  
编程人员应准备一个列明所有受控设备的清单文档。  
确定设备的受控方式  
了解各种设备如何受控非常重要:这会让编程人员知道哪种控制设备(网络,模块,控制卡或其他)  
将用于控制一个设备。  
比如:红外受控设备需求一C2-IR8 插卡。  
SIMPL Windows 中配置系统  
通过配置管理器来配置系统。在设备库中选择控制系统,将控制系统拖曳到系统浏览窗中。通过添加  
界面,网络模块、控制卡和其他设备来完成系统配置。全部所需的快思聪硬件都应包含在配置中。  
SIMPL Windows 中编写系统  
添加完所需的快思聪硬件完成系统后,便可在编程管理器中开始系统编程。为从触摸屏和其他用户界  
面中的每个按钮编写功能。首先为从从用户界面上给输出的信号命名,然后从函数库(Symbol Library)  
中选择编程需要的函数,并将其拖进程序浏览窗(Program View),最后在详细浏览窗(Detail View)中  
给函数输入输出命名。  
基本编程规则  
1、函数可以是设备函数也可以是逻辑函数  
2、逻辑函数执行一个操作信号的动作、  
3、逻辑函数只改变输出信号状态。  
4、信号链接函数  
5、数字信号应只有一个信号源,程序中只有一个函数将信号作为输出列出  
注意:除了一些特例,数字信号都只有一个驱动源,这个特例是按钮Buffer 输出。  
建立一个系统  
SIMPL Windows 配置管理器允许您:  
选择控制系统  
22 56 页  
 
SIMPL Windows  
选择安装过程中要加入的额外快思聪硬件设备,包括控制插卡,网络模块,触摸屏和无线遥控器  
选择第三方用户设备常是被控设备CD 播放器DVD 播放器线电视和任何用户通  
过控制系统界面来控制的设备。  
配置受控设备各自连接到哪个控制卡或网络模块上。指定端口、网络地址、IP 信息、配置通信设  
置、备档系统连接/安装文档。  
确定系统所需VisionTools Pro-e 项目程序。  
配置管理器包含三个窗口个是设备库(Device Library)外两个是系统浏览框(System Views)。  
设备库是所有快思聪及第三方硬件设备的树形结构文件夹目录,包括快思聪控制系统,快思聪网络及  
以太网控制模块,控制插卡,触摸屏和用户设备。可通过打开关闭树形目录中的文件夹来浏览硬件。当选  
中某个设备,SIMPL Windows 状态栏会显示该设备的描述。  
上方的系统浏览框是控制系统和任何您添加到程序中的快思聪网络或以太网设备的图片浏览框方  
的系统浏览窗树形显示控制系统中带有标号的卡槽,您可以打开和关闭它来浏览网络地址和配置每个选  
项。  
控制系统  
SIMPL Windows 建立系统的第一步是选择控制主机。设备库包含了所有当前快思聪的网络和以太  
网控制系统,包2 系列、QM 系列X 系列。您可以通过双击下方系统浏览框口(System View)中的空  
文件夹,从列表中选择控制系统来快速添加控制系统。  
23 56 页  
 
SIMPL Windows  
您也可以拖动控制系统到任何一个系统浏览框。  
另一个方法是在设备库中右键点击控制系统并从子菜单中选择添加设备选项(Add device to system)。  
网络硬件  
添加好控制系统后,下一步是添加组成系统的其他设备,包括网络控制模块、触摸屏和其他界面、扩  
展插卡和快思聪数据库中的用户设备。  
24 56 页  
 
SIMPL Windows  
添加快思聪硬件最快捷的方法是从树形图中双击卡槽或网ID开与对应卡槽匹配的快思聪所有可  
选设备列表。比如:如果您想添加一个快思聪设备,您可以双击快思聪网络设备槽(Net Device),然后  
滚动列表添加设备。  
快速添加快思聪设备的多个拷贝以通过右击设备库中的设备择子菜单中的添加多个拷Add  
multiple copies)选项,输入要添加的设备数量后点OK。  
如果您将一个快思聪设备加入控制卡槽,SIMPL Windows 会自动分配网路地址,优先分配出厂默认  
ID,之后顺序分配。要在指定的网络地址处添加快思聪设备,只需双击网络地址,打开设备选择清单,从  
中选择设备加入选定ID外一个打开设备选择清单的方法是右击卡槽或网络地址子菜单中选择加  
入设备(Add item)选项。  
25 56 页  
SIMPL Windows  
控制插卡  
快思聪控制插卡是一种可方便安装在主机扩展槽中的电路板过扩展卡可以为您提供额外的红外或  
串行控制端口、增加主机的音频混音功能、将控制系统连入以太网。您可以从设备库的控制插卡文件夹  
Plug-in Control Cards)中选择扩展卡。  
双击主机系统目录树的空卡槽将显示适合这一插槽的所有扩展卡列表帮助您快速确定哪个卡适合  
哪个槽。  
串口设备  
快思聪主机通过 RS232422485 标准接口来控制串口设备。与红外不同,RS-232 控制不使用现  
成的驱动文件,而设备所需要的数据格式或协议由制造商在设备的说明文档中提供。  
大多数快思聪控制系统提供内置的串口卡和红外卡,以支持单向和双向串行控制。另外,快思聪还提  
供各种用于串口控制的串口扩展卡,红外扩展插卡和独立快思聪网络设备。比如:C2COM-2 扩展插卡支  
RS-232/422/485 双向通信,ST-COM 是一个同样支持双向通信的独立快思聪网络设备。C2-IR8 卡提  
供了支持单RS-232 信号8 个红外/串行端口。  
通过配置快思聪串口卡内置的串口驱动实现双向通讯。如果知道串口设备的协议,您可以通过配置串  
口驱动的通讯设置项来“添加”设备。您可以通过在控制系统目录树中展开串口卡或者串口设备来浏览串  
口。  
双击串口驱动将显示设备设置。点击串口设置(Serial Settings)标签,根据制造商说明配置设备。  
这将在配置设备章节中详细讲述。  
用户设备  
您可以根据不同的制造商或者设备类型在设备库中添加第三方设备。要添加用户设备,右击选中的设  
26 56 页  
 
SIMPL Windows  
备并选择添加设备到系统(Add device to system)。如下所示,也可以选择加入多个设备拷贝。  
您也可以用标Windows 拖曳的方法来将设备拖入卡槽或者在树形浏览图中加入端口地址。  
要从树形图中隐藏不用的插槽,右击树形图的任何一个项并从子菜单中选择隐藏未用设备(Hide  
Unused),这样只显示有连接的快思聪网络设备,使目录树变得简洁。  
ID  
网络 ID 是一个两位十六进制数值,用以标识控制系统网络中的每台快思聪设备。每台可编程的快思  
聪设备,包括网络控制模块,远端主机,触摸屏,远端和以太网设备,都必须设置唯一网络地址才能与控  
制系统通讯。设备ID 类型取决于通讯格式。  
快思聪设备获得一个快思IDCresnet ID),也叫网IDNET ID)。SIMPL Windows 中控制系  
统的网络设备槽(Net-Device Slot)提供252 个网ID 以连接快思聪设备。当物理网络上连接超30  
个快思聪网络设备时,要求提供网络扩展设备。网ID 的分布03FE。  
以太网设备除了需要唯一IP 地址或者主机名外需要有一IPIDSIMPL Windows 中的以太网  
卡了提252 IP ID 用于连接以太网设备。IPID 范围是03 FE。  
无线屏和遥控器必须与快思聪无线网关接收器通讯并且指定一IR ID RF IDID 数量取决于  
不同的无线网关。CNRFGWX 这样的快思聪双向无线网关提15 RFID010F)与无线屏连接,  
其他网关例CNIRFW 提供多254 IR ID01FF)  
SIMPL Windows 为设备设置的网ID 必须与设备硬件出厂内置ID 相同。通常需要修改快思聪  
设备硬件 ID 以使其与软件 ID 相同。硬件 ID 的设置步骤不同设备会有所不同,在每台设备的说明文档中  
有描述。  
当您将快思聪设备添加入程序时,可以设置或者更改其网ID。您可以直接将设备拖到网络地址上,  
也可以将设备从一个地址拖到另外一个地址。  
最后,可以通过双击设备打开设备设置菜单,以编辑网ID,这将在下一节叙述  
配置设备  
将所有快思聪设备和第三方硬件设备添加入系统后可以在系统浏览System Views双击设  
备来配置这些设备也可以右击设备选择配Configure开设备设置对话框置选项随设  
27 56 页  
 
SIMPL Windows  
备不同而不同。  
快思聪网络设备  
设备名称Device Name):您可以用这个标签来改变设备默认名称并输入地址。新名称会在系统浏  
览框和程序浏览框中显示,同样也会显示在设备函数的标题栏上。设备名称及地址将包含到地址报告中。  
为所有网络设备提供描述性的文字和指定地址有助于调试。通过快思聪网络供电的设备会显示消耗的瓦  
数。  
IDNet ID):您可以通过列表选择来改变设备的网ID。  
连接表(Connection Sheet):您可以用这些自由文本区来输入关于已连接设备、已安装设备、功  
能,和其他想相关信息。该信息会包含SIMPL Windows 报告中:如连接表,设备地址或者添加的其他  
信息。  
设备信息(Device Info):这个标签提供每个设备的只读程序信息。  
28 56 页  
 
SIMPL Windows  
以太网设备  
IP IP Net Address您可以通过列表选择来改变以太网设备或者以太网远程主机IP 地址。  
IP ID,您还必须指定唯一IP 地址。如果设备或者远程主机有一个静IP 地址,点击使IP 地址  
Use IP Address)且在文本框输入。  
如果设备或远程主机由于设置为支DHCP 或系统管理员指定了主机名么点击应用主机Use  
Host Name)并输入域名。  
串口设备  
串口设Serial Settings根据厂商提供的说明设置设备串口协议置的协议包含传输标如  
RS-232)、数据传输速率(波特率)、错误检查(奇偶校验)、数据位、停止位。另外,一些设备可能  
要求硬件(RTS/CTS)或软件(XON/XOFF)握手协议,以控制两个设备间的数据流。最后,一些设备传  
输时要求字符间有时序间隔或暂停。  
29 56 页  
 
SIMPL Windows  
触摸屏  
用户界面(UI Project):SIMPL Windows 程序中,每个触摸屏都有对VisionTools Pro-e 项目  
程序,其中为每个触摸屏发送到控制系统或者反馈接收的数字、模拟、串量信号定义Join Number。您  
需要将VT Pro-e 中定义的触摸Join Number 映射SIMPL Windows 中触摸屏函数的输入输出信号  
端。您可将触摸屏程序导SIMPL 程序中来促进该动作。  
要导入触摸屏程序,点击浏览(Browse)选定文件。选中创建信号(Create signals)复选框,自动  
根据触摸屏定义数字和模拟信号。串量、语音、网页控制和模拟状态Join Number 只能手动定义不能自  
动导入。信号名称格式为:页名_按钮文本(Page name_button text),注意此操作不会覆盖、修改触摸  
屏函数上已有的信号。  
关联(Chaining只用于快思聪网络):如果有相同型号的多个触摸屏且功能也相同,您可以将它  
们关联起来样对它们进行统一编程联主设Chain Master决定其它屏的所有参数的触摸屏。  
要将某触摸屏关联到一个关联主设备上下拉菜单上选择关联主设备的网ID下面例子中摸屏  
被关联到网ID 04 的关联主设备上联设备共享主设备的定义上方系统浏览框中该设备将显示  
被关联(Chained)图标  
关联主设备界面会自动显示与之相关联的所有触摸屏的网络 ID。下例中,关联主设备关联有两个 ID  
03 05 的触摸屏。如下所示,被关联设备将丢失之前定义的所有信号。  
30 56 页  
 
SIMPL Windows  
连接信号  
通过配置管理器(Configuration Manager)中加入所有必须的快思聪硬件建立好系统后,将在编程管  
Programming Manager对系统进行编程系统中触摸屏或其他用户界面的每个按钮的功能编  
先为用户界面输出的信号命在配置管理器中对触摸屏配置时果导入VT Proe 项目程序,  
那相应的输出信号会有一个默认名称)  
定义用户界面信号  
从用户界面开始编程通常是最方便的。在程序中,按钮按下(无论从触摸屏,有线或无线按钮面板,  
键盘或其他界面关联有信号量一个按钮被按下控制系统程序中对应的信号有效按钮松开,  
对应信号失效。  
按按钮是用户为一个特定需求发出的动作。因此,必须为用户界面的输出信号命名或“定义”。这样  
每个信号都能被正确识别和路由。  
对用户界面编程,在程序视图(Program View)中打开相关的槽(Slot)或文件夹,将界面拖入详细  
视图(Detail View)或双击打开,在详细视图中就会显示触摸屏的定义。  
点击要命名的每一个信号该为每个信号量赋予一个描述性的命名Power_On,Screen-up,  
DVD_play。  
只有选中或突出显示信号时,才可以输入文本。默认的,当信号第一次显示时,顶部的输入信号(左  
31 56 页  
 
SIMPL Windows  
上)会自动选中,可以通过鼠标或键盘按键选择函数的信号。  
注意:函数标有[ ]的信号量是可选信号。它们不影响函数的正常工作,可以不定义。  
当信号高亮显示时,您可以输入信号名称。  
使用逻辑函数  
SIMPL Windows 编程时,编程人员通常会使用用很多函数。对于同一个控制问题,逻辑函数提  
供多种不同的解决方法,为编程人员提供无限的灵活性。逻辑函数包括从最基ANDORNOT 函数到  
特定功能应用的函数。  
您可以通过在函数库中选择函数、拖入程序视图,将函数添加入程序。注意,如果您将函数直接拉入  
详细视图,该函数将不放Logic 文件夹中。  
SIMPL Windows 允许您创建子系统――在逻辑 Logic 文件夹下的子文件夹。您可以根据逻辑功能来  
组织函数。要创建子系统,选中逻Logic 文件夹、从右键中选择插入子系统(Insert Subsystem)项。  
当创建一个新文件夹,您可以右键为其指定一个有含义的名称。可以将函数从函数库直接拖入新建文  
件夹。  
32 56 页  
 
SIMPL Windows  
第三章 逻辑函数编程  
概述  
上一章我们学习了如何运用设备函数和通过信号连接的简单编程。这类程序用的是“直接功能也  
就是说,按下按钮(或其它任何的系统输入)直接关联控制功能。如通IR 驱动的“PLAY”指令,当按  
下按钮PLAY”指令就通过红外端口发出,当释放按钮命令就停止。这是非常简单的编程,但当控制系  
统变得复杂时,您会发现您需要远比程序自身更多的控制,这就需要用到逻辑函数来进行处理。  
一般来讲个逻辑函数都可以看作是一个特定的处理器辑函数会检测连接到其输入端的信号状  
态,产生适当的信号值输出到其输出端。输出信号值由逻辑函数本身的特性以及函数参数值决定。  
逻辑函数的类型  
目前100 多个逻辑函数用SIMPL 编程些函数包括从简单的数字逻辑门到复杂的串量生成器。  
为了方便查找和某些应用的需要,整个逻辑函数集归类如下:  
Analog Operations——用于如灯光的调节和音量预设的模拟功能函数。  
Conditional——根据条件的成立与否确定其输出的逻辑门函数。  
Counters——二进制和十进制计数器函数。  
Debugging——用于运行时追踪信号的函数或使信号生成模拟量、数字量或串量的函数。  
Device Interface——鼠标和键盘模拟器函数。  
e-Control Software——用CRESTRON E-mail 强大应用功能函数。  
Memory——读NVRAM,用于断电存储数据的函数。  
Program Formatting——有助于分类和排列程序信息的函数。  
Sequencing Operations——按照顺序决定输出的函数。  
Serial——生成、分析和处理串量的函数。  
System Control——虚拟逻辑主机与远程系统通信并且向控制台直接发送数据的函数。  
Time/Date——处理关于时间的数据,包括天文时钟,日历和主机时钟的函数。  
Timers——在设定时间或一定延迟时间让预设状态触发相应功能的函数。  
33 56 页  
 
SIMPL Windows  
Touch-panel Interface——广播串量到网络触摸屏的函数。  
本章后续部分将举例说明常用函数的用法。读完本章后,您可以参SIMPL Windows 的帮助文件,  
在帮助文件中SIMPL 语言每个逻辑函数的单独帮助说明。  
基本逻辑  
基本逻辑在这里是指 SIMPL 语言中最基础的逻辑,如果您有关于数字逻辑的工作经验,那么您会觉  
得与这些函数非常的相似。即使您没有数字逻辑的知识,本节可以教会您这些编SIMPL 程序的逻辑。  
NOT 函数  
NOT 函数也称反转器,反转输入信号到输出端,如果输入是高电平,输出就是低电平,反之亦然。  
NOT 函数  
我们用一个真值表来说明其输入和输入的逻辑关系,表示如下:  
Signal In  
Low  
Signal Out  
High  
High  
Low  
NOT 函数应用举例:自动摄像控制  
有时设备提供的信号与您想要的恰好相反如就您的控制系统而言克风混音器通过设置触点闭  
合可以知道哪一路麦克风正在传入声音。在一个视频会议应用中,这些闭合也可以用来控制摄像头使其直  
接对准发言人。但是,假设当麦克风有人发言时不是提供的闭合信号,而继电器平时是闭合的,但麦克风  
有人发言时提供一个断开的信号触发。您可以把每个输入信号接入 NOT 函数,首先使电平反转输出,用  
输出信号在您逻辑程序中其它地方去触发摄像机的预设状态。  
OR 函数  
当任何一个输入为高电平时OR 函数将输出高电平下面的图表Signal_1 inSignal_2  
34 56 页  
 
SIMPL Windows  
in”为高电平时Signal out”为高电平。  
OR 函数  
两个输入OR 函数真值表如下:  
Signal In Signal In Signal Out  
1
2
Low  
High  
Low  
High  
Low  
Low  
High  
High  
Low  
High  
High  
High  
1:从真值表中可以看出,当两路输入信号都为高电平时,输出也为高电平。如果您需要在只有  
一路输入为高电平时,输出才为高电平,您可以用一个异或(XOR)函数。  
2OR 函数的输入端口数是可以随意增加的(取决于特定的应用并且只有一路信号输出。就  
是说,一20-Input OR 函数的任何一个输入端为高电平,输出都为高电平。  
OR 函数举例:解除静音控制  
比如,典型的音量控制包括调高、调低和静音按钮。如果您想在静音时通过按调高或调低按钮就自动  
解除静音,您可以用一OR 函数完成此项功能。  
注意:要完成该例的功能还需要另外的逻辑,这在后面的章节中作介绍。  
OR 函数例子  
35 56 页  
SIMPL Windows  
AND 函数  
AND 函数在所有的输入都为高电平时输出为高电平。如下面的图表所示,如果“Signal_1_in”和  
Signal_2_in”都为高电平时Signal_out”为高电平。  
AND 函数  
AND 函数的真值表如下:  
SignalIn 1  
Low  
Signal In 2  
Low  
Signal Out  
Low  
High  
Low  
Low  
Low  
High  
Low  
High  
High  
High  
注意:OR 函数相似,AND 函数有一个可以任意增加的输入端,但只有一个输出端。  
AND 函数举例:分离电源开关  
因为只有所有的输入端为高电平的时候出端才为高电平般不会将多个按钮的触发直接关联到  
AND 函数的输入端,这意味着两个按钮要同时被按下才行。接AND 函数的一个或多个输入通常是锁定  
的电平信号,经常用来确定系统当前的某种状态。  
比如红外控制VCR 只有一个电源功能on/off设我们想将电源开和电源关的功能分开。  
通过电流感应设备检测 VCR 电源开关的状态,产生一个数字信号代表 VCR 当前是开或关。当信号  
vcr_is_on”为高电平时,表VCR 开。AND 函数我们可以确保VCR 为开时,按下“vcr_is_off”  
按钮发送电源(关机)指令VCRVCR 是关时power_off”按钮按下时,我们不希望发送电源指  
令,因为这样可能使VCR 又打开。我们用同样的逻辑去处理“vcr_power_on”按钮按下时的情况。见下  
AND 函数应用于完整电流感应程序的例子。  
AND 函数举例  
36 56 页  
 
SIMPL Windows  
Buffer 函数  
Buffer 函数可以理解为可开关的门,控制数据流通。当门开时,数据信号不做任何改变从输入端流向  
对应的输出端;当门关闭时,所有的输出被置低电平,并且与输入的信号无关。  
“门”的开关是由 enable 输入端所控制的,当 enable 为高电平时,Buffer 使能(即门开当信号  
为低电平时,函数不可用(即门关。  
Buffer 函数-High/Low  
Buffer 与之前讨论的函数不同,它的输入端数量不仅可以扩展(enable 除外而且每个输入有一个  
对应的输出,这NOTOR AND 函数只有一个输出端不同。而Buffer 每一对的输入输出与其它输  
入输出相互独立。也就是说,一个输入端的信号只与对应的输出端有关系(当函数被使能时不会影响  
其它输出端。因Buffer 有时相当于复合AND 函数,每个输入端enable AND 后决定对应输出端  
37 56 页  
 
SIMPL Windows  
的状态。  
Buffer 函数的输出端信号有一个有趣且非常实用的特点。前面我们讲到了数字信号时提到每个数字端  
只可有一个驱动源,但是这里有一些例外。我们知道象按钮输入这样的系统输入是一个例外,Buffer 函数  
的输出是另一个例外一个信号不仅可以由一Buffer 驱动同时也可以被其Buffer 驱动或者由一个按  
钮(或其它系统输入)驱动。这个特点有一个深层次的逻辑关系,这将在手册后面详细讲解。  
Buffer 举例:多设备控制  
Buffer 函数一个典型的应用就是可以用一组共用的按钮实现对多个设备的控制对按钮有限的  
手持遥控设备编程时,这一用法非常有用。针对这样的设备,通常的界面是定义一组共用按钮和不同的设  
备源按钮,通过选择源按钮决定共用按钮控制某台设备。  
Buffer 函数相当于复合AND 函数,我们经常需要产生“状态”信号。就是定义系统中某一事  
件状态的信号。在本例中,我们需要为每个源设备设定信号来确定某台设备是否被选中。在接下来的章节  
里,我们将会了解到如何产生这些信号,但现在我们简单的假设我们已有这样的信号,请看下面例程。  
Buffer 举例  
注意,在这个例子中,任一时间只能有一个 Buffer 是有效的。如果两个 Buffer 同时有效,按 PLAY  
按钮就会发出多个命令,这是我们在这个例子中不需要的。为保证不会发生这种情况,我们强制在同一时  
刻只有一个状态信号为高电平。这在后面的章节将作介绍。  
38 56 页  
SIMPL Windows  
Buffer 函数举例:多事件触发  
对于像快思聪这样可定制程序的控制系统优势在于可以为用户提供自动功能以满足他们的真正需  
求。一个设计良好的控制系统会让用户通过尽可能少的操作完成他们想要实现的控制功能。这就需要在许  
多情况中用一个按钮去触发多个事件。  
SIMPL 语言可以很容易的实现一个按钮触发多个事件(或相关的任何事件比如:一个标准功能为  
System On”的按钮需要设计为同时降下屏幕,打开投影机,并且选择某种预先设置的灯光模式,这可  
以通过将按钮的输出信号连接到一个继电器去降下屏幕,向投影机的红外接收端口发送“Power On”指  
RS-232 端口发送一个命令串控制灯光系统需要任何的逻辑编程便可完成面是程序图:  
Single Button Press Example 单个按钮触发举例  
然而,采用这种方法有一些缺点。首先,按这种方式编写的程序很难阅读,您必需全程跟踪信号直到  
39 56 页  
SIMPL Windows  
终端才知道它触发了什么事件。采SIMPL Windows 的“Show Routings”指令比较容易些。第二个缺  
点更严重:如果您想对屏幕、投影机电源和灯光预设做单独控制怎么办呢?就以上的例子中,这三种控制  
功能被绑在一起而不能独立控制。即使您认为单独控制并不需要,但也许将来会需要,您就需要对之前的  
程序做大量的修改。  
我们可以通过在程序中增加逻辑来避免这种缺陷一种解决方法可以OR 函数将所有的事件联在  
一起去触发一个事件。比如,我们想通过按“system on”按钮或“screen down”按钮去降下屏幕,我们  
可以用一OR 函数去实现。如下图所示,对于上例中的程序,现在采OR 函数,除实现连动以外还可  
实现单独控制。  
OR 函数的分离控制  
以上这种方式灵活了许多,但仍有缺点。首先,与之前的例子一样程序流程难以阅读,尤其是程序变  
得庞大时于每一项功能您都需要通过一OR 函数向后追踪才能知道究竟是什么事件触发了它二,  
程序增大时能其它地方也需要去触发某个功能许您希望每次选择一个信号源时都降下屏幕,  
可以简单的增OR 函数的输入端,但最后会导致程序很乱难以调试。  
我们回到 Buffer 函数,还记得 Buffer 函数的输出信号可以连接到已有的由系统输入或其它 Buffer 函  
数驱动的输出信号样我们可以用一个或多Buffer 函数编写一个优雅的程序去处理多事件触发面  
的程序图只用一个单独Buffer 函数实现了比上面采OR 函数例子中更多的功能。  
Buffer  
40 56 页  
SIMPL Windows  
您会发现在上面的例子中有两个有趣的特点。首先,enable 输入端连接有一个为“1”的信号,之  
前我们曾讲过这是一个一直为逻辑高电平的数字信号。在这种情况下,Buffer 表示永久使能。当您不是用  
Buffer 去控制信号流向,而是将一个信号“映射”到多个信号时就可以这样使用。第二个独特的特点就是  
Buffer 的输入端同一信号被使用了多次样便可以通过单独一个输入信号将多个输出信号同时驱动为  
高电平。最后,注意由Buffer 对应的输入和输出端是独立的,我们用一个函数可实现系统开和系统关时  
序。但是,为了清晰起见,我们可以用两个分开Buffer 函数。  
状态逻辑  
在上一节我们讨论了一些最常用的基本逻辑函数节我们将涉及到包含状态信息的常用函数些  
函数在 SIMPL 程序中提供了存储的基本形式。需要注意的是这种存储是易失的,存储的信息在程序重启  
或控制系统断电后会丢失。  
本节函数和前一节中所讲函数之间的基本不同是些函数输出端信号不是由输入端信号的当前状态  
来决定的。相反,它们的当前状态表示的是过去发生事件的结果。这也就是存储概念的由来。此外,这些  
函数的输入端是靠“边沿触发也就是说输出信号状态取决于输入信号的跃变(脉冲变化大多数情况  
下,函数是正边沿触发,因为输入端由低到高的跳变会触发输出变化。但某些情况下,输入端也可以负边  
沿触发,这样输入端由高到低的跳变也同样会影响输出端。而上一节中讨论的函数是“电平触发因为  
总是由函数输入端的当前值决定输出端的状态。  
Set/Reset Latch 函数  
该函数实现了最基本的存储原理,同时也叫置位/清除翻转(Set/Reset Flip-Flop)。很明显,函数有置  
位(Set)和清除(Reset)两种状态。当为置位时,连接到输出端(Out)的信号为高电平,当为清除时,  
输出端(Out)为低电平。而输出Out*Out 互补。就是Out 为高,Out*就为低,反之亦然。在重启  
(程序复位)时,Out 的值为低(Out*的值为高。  
输入Set 有上升沿时输出Out 变成高电平旦在输入Set 有上升沿跳变使Set 变为低时  
输出端也将不再变化。我们称输出Out 被锁定。要使输出Out 再次变成低电平(Out*变成高电平,  
必需在输入Reset 有一个上升沿。  
Set/Reset Latch 函数举例:系统电源开关  
假设您用交流电源控制器去控制机柜的电源开关。通常这样的电源控制器需要一个低压中间继电器:  
中间继电器触点闭合电源打开,断开触点电源关闭。这种情况显然需要我们有一个锁定的信号连接到快思  
聪网络系统中的低压继电器上(CNRY-8/16。  
Set/Reset Latch 函数非常适合应用于这种场合。只要简单的将“Power_On”信号Set 输入端,将  
Power_Off”连接到 Reset 输入端,最后将输出端 Out 连接到继电器。当 Set/Reset Latch 函数的 Set  
为高,连接Out 端的信号也为高,那么继电器将闭合电源开启。记住这一输出信号将一直保持为高直到  
函数被复位(Reset 端出现上升沿。  
Set/Reset Latch 举例:系统开关机继电器  
41 56 页  
 
SIMPL Windows  
Toggle 函数  
Toggle 函数Set/Reset Latch 函数有许多相似之处。实际上,Toggle 函数就Set/Reset Latch 函  
数增加了一Clock入端Clock的每个上升沿都会使函数Set Reset 两种状态下翻转。  
同样设Set Reset 输入端用以以强制函数输出为指定状态(置1或置0。  
Toggle 函数举例:音量静音控制  
Toggle 函数很容易实现单个按钮对静音的控制。如下图所示,静音按钮连接到“Clock”输入端。每  
次按按钮都会使信Mute_On高电平和低电平之间交替变化常该输出信号将连接到C2N-VEQ4  
音量控制器中的静音继电器上。同时注意“Reset”端的用法,不管Volume Up Volume Down 按  
钮都可以消除静音。  
Toggle 举例: 静音控制  
注意:在控制自身带有静音锁定功能的设备时,不建议这样使用 Toggle 函数。比如说,如果您通过  
红外控制 AV 接收器,通过其自身的静音按钮,每发送一次指令,设备会在静音和解除静音之间切换。这  
种情况下不需要锁定的静音信号,而应该直接将静音按钮发出的信号连接到红外指令上。可能您希望用  
Toggle 函数为触摸屏提供实际反馈用户了解接收器实际的状态里要非常注意常不建议提供状  
态反馈,除非您能确定反馈是正确的。如果您认为反馈和接收器实际状态之间可能会出现不同步,最好使  
用瞬时反馈。  
Toggle 函数举例:设备电源开关  
在上一个例子中,仅仅用Toggle 函数Out 输出端来控制静音状态。有时需要用Out Out*两  
42 56 页  
 
SIMPL Windows  
个输出端RS-232 控制的投影机常这种设备的开关机指令是分开的面的程序说明Toggle  
函数的两个输出端去驱动开关机指令。 “vproj_Power”信号的每个上升沿都会触发一条电源指令。当然  
要注意的Toggle 的输出端是锁定的RS-232 指令是在驱动信号的上升沿发出以这不会出现问题。  
但是,如果投影机是由红外控制的,我们就不能这样编程了,因为相应的红外指令会不断的发送到设备。  
而我们可以增加另外的逻辑通Toggle 的输出端产生脉冲。这在本书的后面将会涉及到。  
Toggle 举例: 设备电源开/关  
Interlock 函数  
Interlock 函数输入端出现上升沿时会使对应的输出端锁定为高电平它先前为高电平的输出  
端解除锁定变为低电平。这样,Interlock 函数在任何时刻只有一个输出端为高电平,其余都为低电平(除  
了“set all”输入端,后面讨论该属性叫break before make。事实Toggle 函数将记住最后变为高  
电平的输入端。这在当用户想在多个选项中间选择控制时十分方便。  
Interlock 函数也有两个特殊的输入端“clear”和“set allclear”将使先前为高电平的输出端变为  
低电平set all”使所有输出同时变为高电平,这是不只一个输出端为高的唯一场合。这在涉及一些非易  
失内存的特定应用时有用。  
Interlock 举例音/视频)源选择反馈  
许多音视频系统组成一组源选择户可以在一系列的音视频源中选择观看和收听型的例子是在  
会议室中能有录像机碟机灯机或者计算机以通过向矩阵或投影机发送指令选择音视频源。  
下面所示为使Interlock 函数实现反馈显示,提示用户当前选定的音视频源。  
Interlock 举例: 源选择反馈  
43 56 页  
 
SIMPL Windows  
注意:在这个例子中的输出信号仅仅用做反馈,并没有连接到矩阵去做源选择。这是因为 Interlock  
的输出端是锁定的,编程时通常很少用锁定的信号去做瞬时的控制功能(RS232 指令即使有些情况  
下这种方式也可以正常工作。因为我们在这个函数的输入端已经有瞬时信号clear”使用它们去驱动矩  
阵更简洁。  
Interlock 的输入信号去驱动矩阵而不用输出信号还有一个原因果我们用输出信号去控制能  
因为某种原因需要再次选择同一个信号源(比方说,有人手动切换过矩阵这时就不能正常工作,除非  
先选择另一个信号源再选择您想要的源。这是因RS-232 驱动器是在驱动信号的上升沿发送数据的,一  
Interlock 的一个输出端变高不会再次提供上升沿非首先关通过选择另外的输入端后再  
次打开。  
Interlock 举例: 控制多个设备(part2)- IR 驱动函数用不同的文件去控制不同的设备  
44 56 页  
SIMPL Windows  
本章前面我们讨论过Buffer 函数的一组按钮去控制多台设备时我们假设用已产生的适当信号去  
使能或阻Buffer确定在任意时刻只有一Buffer 是可用的在我们介绍Interlock 函数可以  
如上图所示完成这个例子了。  
基于时间的逻辑  
到目前为止们所看到的逻辑函数都是基于事件驱动的逻辑某个事件发生升沿跳变,  
逻辑函数的输出信号变化到对应的状态。但是,仅有事件驱动的逻辑是不够的。某些时候,我们需要控制  
事件什么时候发生。因此,在这一节里,我们将讨论一些基于时间控制的逻辑函数。  
One Shot 系列  
现在我们已经知道如何改变函数输出信号的值(高或低但是作为程序员,您不能控制这些信号保  
持同一状态的时间。ONE SHOT 系列的逻辑函数能够实现这种类型的控制。  
One Shot 函数  
在这个系列中最基本的函数One Shot。当输入端“Trigger”出现上升沿时,将触发连接到输出端  
Out的信号输出一定时间的高电平间长度由双精度Time数决定段时间内”Trigger”  
45 56 页  
 
SIMPL Windows  
输入端发生怎样的变化,输出”Out”的值为高。当”Out”的值变低时,函数才可以由另一个上升沿重新触发。  
Set/Reset Latch Toggle 函数的情况一样,输出”Out*”的值与”Out”互补。  
One Shot 还有一个“Trigger*”输入端,它由下降沿触发。在输入端“Trigger*”上出现下降沿的效  
果和“Trigger”上出现上升沿一样。另外还有一个“Reset”输入,它允许您取消正在进行中One-Shot  
操作。即一旦 Trigger 输入端出现上升沿,连接到“Out”输出端的信号将变高并保持“Pulse_Time”参  
数中指定的时长。输出脉冲一旦开始,在脉冲时间未到之前取消它的唯一办法是使“Reset”输入端变高。  
Reset 为高时Trig”和“Trig*”输入无效。  
One-Shot 系列中的所有函数(Multiple One-Shots 除外)都Reset 输入端,工作方式也都相同。  
One Shot 举例:视频投影机的开机控制图:  
有些品牌的投影机,需要按住红外遥控上的”Power on”一段时间后,才可以正常开机。这是为了防止  
人们在使用遥控器时意外地开机或关机。在定制的控制系统中,我们通常内部处理这种操作,用户只需要  
按一下按钮,就可以正常开机了。如上图所示,One Shot 由一个按钮触发,并产生一4 秒钟的脉冲驱  
动红外控制命令。方便的是如果投影机电源开是由 Buffer 编写的电源开启时序中的一个功能,One Shot  
将确保同样会产生一4 秒钟的脉冲到红外驱动。  
Multiple One Shot 函数  
经常您会发现当我们需要One Shot 产生一个固定脉冲宽度的信号时,我们需要对其它相关的信号  
进行同样的处理。这可以通过多One Shot 函数来实现,但因为这种情况非常常见,所以有另外一个特  
别的函Multiple One Shot。  
Multiple One Shot 函数其实是由多个独One Shot 组合而成的要注意的是虽然每一对输入/输出  
分别代One Shot 函数的“Trigger”和“OutMultiple One Shot 没有”trigger*””out*”。此外,尽  
管所有input/output 对是独立的,但它们具有相同的由双精度参数“Time”确定的脉冲时间。  
Multiple One Shot 举例:电动屏幕和窗帘的继电器控制(图)  
当通过低压继电器控制电动屏幕和窗帘时须让继电器闭合足够长的时间确保设备接口能够正  
46 56 页  
 
SIMPL Windows  
确识别。多数情况下这些接口需要半秒钟闭合,但是不能确保用户会按足半秒钟。上图中Multiple One  
Shot 编程例子是一种解决方法。  
Retriggerable One Shot 函数  
另一种形式One Shot Retriggerable One Shot的功能基本上One Shot 完全一样一不  
同的One Shot 在输出”out”为高时,会忽略”trigger””trigger*”的变化。Retriggerable One Shot 无论  
输出”out”是否为高,都会识别”tigger”的上升沿(或”trigger*”的下降沿并再次触发和重新计时。只有当  
最后一次触发的脉冲时间结束后,”out”输出的值才会变低。  
Retriggerable One Shot:自动关机  
您可以编写一个程序来检测系统的状态,当处于非激活状态达到一定的时间时,自动关闭设备电源。  
如上图所示。  
回顾一SIMPL Windows 编程一章中提到的时间参数格式HH.MM.SS.XXsHH=小时,  
MM=分钟,SS=秒钟,XX=毫秒。那么在上图中,脉冲时间参数:3.00.00.00 则表3 0 0 0 毫  
秒。使用这种格式时,如果最大时间单位没用到,可以不填。如:”3.00.00”3 0 0 毫秒(而不是  
3 小时。  
上图中的”OR”逻辑符用来检测某个按钮是否被按下,并且每一次按下按钮都使 Retriggerable One  
Shot 被重新触发一次,并重新计时。如3 个小时内没有任何按键发生,’system active’信号量的值将会  
变低。’system active’的低电平输出One Shot 函数的’trig*’端,从而驱动输出’out’的值为高。  
当我们仅需要使One Shot ’trig*’须将’trigger’0’trig’是必须有输入不是可选的。  
这里0 表示任何时候都忽略此输入。  
Delay Symbol 函数  
Delay 函数用来将事件推迟一定时间发生。基本上输出信号的波形与输入信号完全一致,只不过被延  
迟了一段时间。Delay 函数还有一个’reset’输入,用于取消所有未完成的延时输出。  
您起初可能会认为Delay 代替上节中Retriggerable One Shot 更容易实现自动关机的例子是,  
以下两个因素否定了这种做法。首先,Delay 是不可再次触发的,它仅仅是将输出传递给输入。因此,我  
们需要在每次按钮按下时用一些复杂的逻辑去重置它。第二,Delay 是单精度函数,因此它的取值范围是  
0-583 秒,这样就不可能产3 个小时的等待时间。  
47 56 页  
 
SIMPL Windows  
Delay 举例:系统电源联动  
在这一章的前部分们学习了用一个信号量通Buffer 驱动多个事件的例子个例子为系统开关  
机提供了一种简单有效的方法。前面那个例子的不足就是不能控制事件发生的时间和顺序。也就是说,  
Buffer 的输入被触发,将同时驱动所有的输出,但有时并不希望如此。比如说,在开机联动中,希望  
投影机支架先降下后开启投影机完全开启后换某路视频进行投影输出图说明如何Delay  
Buffer 实现这个时序Delay 的输出连接Buffer 以触发触发相应的事件如之前例子所示这  
样做是为了使信号可以被其它系统输入或 Buffer 输出驱动所驱动最后,注意”system_power_off”信号  
被连到了 Delay 函数的’reset’输入端,这样可以防止几秒内交替按下开机和关机按钮(例如用户改变了想  
法)时出现问题。如果不重Delay, 未处理完的系统开启’sysytem on’动作将在’system off’过程中出现,  
导致不可预期的结果。  
Oscillator Symbol 函数  
Oscillator Symbol 可以持续产生交替信号,用来查RS-232 设备状态信息或在用户界面上产生闪烁  
反馈指示很有用。只有输入端“Gate”保持为高时,输出端才会震荡输出,以此让您能控制函数的开关。  
输出信号保持高、低的时间由参数’hi_time’’low_time’决定。  
Oscillator 举例:闪烁反馈  
为了提示用户某个事件正在处理中,可以使用 Oscillator 产生一个反馈让按钮闪烁。比如:当用户按  
’Screen down’按钮,除了简单的使Set/Reset Latch 这样的函数产生一个锁定的高电平反馈外,您可  
48 56 页  
 
SIMPL Windows  
以在屏幕下降过程中让按钮闪烁,直到屏幕完全降落后,按钮才停止闪烁并保持激活状态。如上图所示。  
模拟逻辑  
上一节向您介绍 SIMPL 语言最基本一些逻辑符号。在充分了解这些符号的基础上,您可以编写很多  
复杂而且功能强大的程序。但是,您可能注意到,目前为止我们讨论的所有函数都是对数字信号进行的。  
从前面章节的讨论中,我们知道除了数字信号,程序中还可以包含模拟信号和串信号。这一章将介绍可以  
产生、处理模拟信号的函数。  
在接触具体的模拟信号之前我们了解一下模拟信号为何如此重要本上个模拟信号包16  
位信息,而数字信号只有一位(高或低)。这意味着模拟信号的取值范围为 0~65535(216-1)。这么大的取值  
范围让模拟信号对没有离散开关控制设备的控制中非常有用。比如:继电器有开、关两种状态,红外命令  
为发或不发。这些特性使得它们需要使用数字量来控制。但是,对于音量、镜头和调光的控制,数字量是  
不足够的――需要模拟量。  
在上一章我们知道每一个数字量只有一个驱动源,除了一些允许的特定情况,如:系统输入(像按下  
按钮) Buffer 的输出。模拟信号则没有这样的限制,它的驱动源数量由具体情况而定。这似乎不合理,  
信号的多个不同的值也可能产生冲突。实际上并不会,因为每个信号的赋值是由最后变化的那个函数决定  
的。  
当函数改变其模拟输出端的值时接到该输出端的信号将保持这一新值到同一函数或其它函数  
重新对其赋值。也就是说,当模拟信号有不只一个驱动源时,该信号的值将由最后改变它的函数决定。  
Analog Ramp 函数  
Analog Ramp Symbol 函数在“UpDown”输入端为高时,将产生一个连续变化的模拟信号。参  
’time’设定了输出0 100%100%0)所需要的时间。函数还有一个“Mute”输入,在其出现  
上升沿时输出信号强制变0,在下降沿时输出信号返回先前的值。因此它通常Toggle 函数来驱动。  
Analog Ramp Symbol 适合用来进行音量控制等一些模拟信号控制的设备,如:CNXVTC-3。如下图  
所示,CNXVTC-3 AB 通道由第一Ramp 驱动,控制立体声音量,第二Ramp 则控C 通道。  
Analog Ramp Symbol 举例:通CNXVTC-3 进行音量控制  
49 56 页  
 
SIMPL Windows  
Analog Initialize 函数  
Analog Initialize 用来将模拟信号的当前状态设定到指定值函数根据不同的设置有两种不同的工作  
模式。  
单个输出模式:  
在这种模式下,它有多个数字输入和一个模拟输出。每个输入都有对应的参数。当某个数字输入变高  
(上升沿)时,相应的参数值便赋给模拟输出。由于模拟量的特点,模拟输出将保持该参数值,直到本函  
数或其它函数改变这一值。  
Analog Initialize 的这一模式程序运行中需要根据情况为模拟信号赋不同值时非常有用如要一  
组电视频道预设按钮,每个按钮将电视调谐器转换到指定的频道。一种实现方法是使Analog Initialize,  
它的每个数字输入代表一个预设频道。如下图所示,我们将要介绍另一函数——Decade,它可以方便地  
将模拟信号解码成百、十和个位数字。如例子中假设的一样,当控制需要单独键盘命令的红外设备时,这  
种方法非常有用。有Decade 函数的更多介绍,请参SIMPL Windows 的帮助文件。  
Analog Initialize 举例:Decade 的输出必须连接到另外的函数上,这些函数未在下图画出  
50 56 页  
 
SIMPL Windows  
单个输入模式:  
Analog Initialize 的第二种模式是第一种的延伸有一个数字输入和多个模拟输出此之外数  
的运作基本上都一样,除了当数字输入出现上升沿时,每一个模拟输出都被赋予相应的参数值。  
这种模式在您有多个模拟量需要赋值时有用。当然在这种情况下,每一组值都需要一个 Analog  
Initialize。例如,我们修改上个例子。我们需要改变五台而不是一台电视的频道,而且每台电视的频道都  
不相同(例如在运动吧里面我们可以添加有一个输入端、五个模拟输出端Analog Initialize 函数,并  
且复制所需的数量(每个预设频道复制一次更改每个函数的数字输入和参数值,其余的五个模拟输出  
保持相同。  
另外,这种形式Analog Initialize 还用于初始化一组程序运行时不需要改变的模拟信号,这在当它  
和其它需要模拟信号作为输入的函数组合时有Analog Sum时只需在数字输入端简单地置”1”,  
这样,当系统上电时,所有的模拟输出将被赋予相应的参数值。  
Analog Preset 函数  
Analog Preset 可以将模拟信号指定为某一特定的值,并让其从当前值平滑地变化到设定值,变化时  
间由“Time”参数决定。注意模拟信号实际的变化速率取决于时间参数和变化总量。  
该函数只有一个数字输入,但可以有若干个模拟输出。每一个输出都有相应的目标值。在输入’input’  
的上升沿,每个输出都开始向其目标值变化。这种单个输入,多个输出的特性使它可以用来创建场景,  
模拟输出可以代表灯光区域,音量大小等。  
Analog Preset 的运作类似单入多出Analog InitializeAnalog Initialize 可以用于需  
要模拟量的任何应用,比如音量、灯光控制,但是并不总是最合适的。  
51 56 页  
 
SIMPL Windows  
其中存在的问题就是,Analog Initialize 被上升沿触发时,它的模拟输出立即变成参数指定值。在  
需要平滑过渡而不是跳变的情况下,得使Analog Preset。  
它们两者的唯一区别就Analog Preset ’ramp_time’参数一参数指明了从数字输入变高开始到  
模拟输出达到他们指定值之间的时间。在此过程中模拟输出的变化是线性的。  
下面的例子告诉您怎样使Analog Preset 来创建灯光场景。  
Analog Preset 举例:预设灯光场景  
请注意,这种实现方法用户将不能调整灯光场景的设置。灯光亮度被硬编码在程序中,每次改变预  
设值都要重新编辑和编译程序在系统运行时改变预设值不需要重新修改程序们需要Analog  
RAM Analog Variable Preset 函数组合使用,这不在基础教程中讨论,请参SIMPL Windows 的帮助  
文档获取更多的信息。  
Serial/Analog One-Shot 函数  
有些时候,我们不仅要知道模拟信号的值,还需要知道它们的值是否改变了。这正是 Serial/Analog  
One-Shot 的功能。它除了是由模拟或串量输入端”rx$”的变化触发而不是由数字输入端的跳变触发之外,  
其它特性和数字逻辑章节中讨论的 OneShot 系列函数相似。  
当检测到输入有变化时数就将其数字输出端变高并保持’pulse_time’参数指定的时间可再次触  
发,即当函数输出是仍然为高时,只要输入再次变化,将重新计时。直到输入停止变化足够长的时间,输  
出才会保持高电平“Pulse_Time”时间。模拟输入的任何改变以及串量数据的每一次更新,都会触发  
Serial/Analog One-Shot。  
作为例子,我们可以Serial/Analog One-Shot 函数实现当音量变化时,产生闪烁反馈。这里我们必  
52 56 页  
 
SIMPL Windows  
须确定不要将脉冲时间参数设得太短,否则函数的输出可能在音量正在被调节时都会很快变低。  
Serial/Analog One-Shot 举例:  
Modules 模块  
SIMPL Windows 为程序员提供了大量Crestron 模块,并预定义了目录用来存储用户创建的模块。  
Crestron 模块是打包好的逻辑程序来控制特定的设备或执行某项功能于模块具备了大部分的  
实际功能此可以节省大量的编程和调试时间样以来使是初学者也可以通Crestron 模块控制  
复杂的设备。  
必须注意的一点是,不像函数,模块没有可选的输入和输出。所以所有的输入、输出端都必须定义。  
没有用到的输入信号可以置 0,信号将被强制为低且不会影响模块。输出信号则不同,应该被赋予唯一信  
号名”no_connnect1,no_connnect2…”要将未用得输出信号1 0可能影响模块的内部操  
作。  
程序员可以创建自己的模块,并将他们保存User Modules 目录中。或者,程序员也可以使用现有  
Crestron 模块最为起点,对它们进行修改以满足特定的需求。  
关于详细Crestron 和用户模块信息,请参SIMPL Windows 的帮助文档。  
Communication Settings(通信设置)  
在您上传程序或与处理器进行其他通信之前,必须在控制系统PC 机之间建立有效的连接。您可以  
使Rs-232 串口或TCP/IP 网络连接果是第一次和控制系统连接使Rs-232 串口连接时,  
您可以配置控制系IP 以为以后进行以太网连接。  
RS-232 串口通信是DB9 的直连串行线缆连接控制系统COMPUTER 端口PC COM 端口。  
Rs-232 连接图:  
53 56 页  
 
SIMPL Windows  
点击 Edit 菜单下的 Communications,选择连接类型:RS-232。然后,按如下的设置来完成匹配控  
制系统PC COM 端口设置。  
2 系列处理器的通信设置:  
TCP/IP 的网络连接,可以使用以太网直连线缆PC 和控制系统连入以太网中。  
TCP/IP 连接:  
54 56 页  
SIMPL Windows  
IP 信息:  
如果您想通过以太网与控制系统通信,则必须配置处理器IP 信息。  
1. 如前所述,与控制系统建RS-232 的串口连接;  
2. Tools 菜单下Viewport,打Crestron Viewport;  
3. Viewport Function 菜单下Set Control System IP Information打开的对话框中设  
定控制系IP 地址或主机名,IP 掩码和默认路由地址。确切IP 信息有应用情况决定。例如:  
您可以允DHCPA SSL。多数情况下,您可以向系统管理员询IP 信息。  
4. IP 信息,点OK,重启机器。退Crestron Viewport。  
至此,您已经配置好控制系统IP 信息,您可以通过以太网和控制系统通信。点SIMPL Windows  
Edit 菜单下Communications后选TCP/IP 连接类型入控制系统IP 地址或主机名者,  
您可以勾Prompt on Conncet,以便在上传程序时提IP 信息。  
Compiling and Uploading Programs 如何编译和上传程序  
当您编写完逻辑程序后,您可以对它进行编译,并将编译好的程序上传到控制处理器。  
Convert/Compile 按钮进行编译果这是您没有保存程序统将会提示您进行保存译  
对话框用一个进度条显示程序转换和编译的情况。  
55 56 页  
 
SIMPL Windows  
编译过程中产生的任何的错误或警告将显示在程序编译列表中,您可以点击 Help 获取更多的信息,  
或者双击错误来定位产生错误的信号。有关编译错误的更多信息,请参SIMPL Windows 的帮助文档。  
编译对话框还显示了程序有关的信息,包括逻辑符号、信号量的数量,内存使用的情况和编译时间。  
在上传程序之前,如果还没有和处理器相连,请先将连接建立好。然后,点Yes,进行文件传输。  
56 56 页  
在线下载列表
后台-插件-广告管理-手机广告位-内容正文底部468X60

文章评论