快思聪编程常用函数
Crestron编程讲解
改、查看。
软件讲解
基础概念和初级编程
讲解概览
基础概念:
SIMPL Windows基础教程;
Toolbox使用说明; 快思聪中文指令表。
软Vision Tools Pro-e操作; Toolbox常用功能。
软件讲解
SIMPL Windows : SIMPL Windows 是快思聪产品中一款基础的底层编程软件,中控所实现的控制功能
软件讲解
Control systems: 该列表为主控设备(中控主机) 列表,如AV3、CP3、PRO3等都 是我们项目常用型号。我们可以通 过选择设备右键进行添加,也可直 接拖入设备图形展示区域。 Ethernet Control Modules: Touch panels: 该列表主要用来添加无线控制 设备,如基于Cresnet技术的触摸 屏、基于TCP/IP协议的ipad等。 Lighting: 该列表主要用来添加强电回路 控制设备如 DIN-8SW8等。
都需要通过它来进行编程以实现各种命令和控制逻辑。
其打包函数模块和简洁清晰的界面,可以帮助工程师更便捷的组合、编辑函数模块, 实现不同的命令和逻辑,现有展厅系统的硬件控制,我们只需要掌握一部分基础函数和逻
辑命令即可完成对硬件系统的控制,下面将进行一个简单的图文编程流程讲解。
软件讲解
工程新建之后,需要我们根据现场使用中控系统主机来进行相关型号的添加,除了增 加新的主机,还需要根据所控设备(TCP/IP、RS232等)添加相应模块程序:
该列表主要用来添加TCP/IP协
议设备,常用如下
软件讲解
分控设备的添加也可以直接从 树状设备图中直接寻找相关模块接
口类型进行双击添加,注:如有可
调ID的设备,切记要程序与设备ID 号码一致,否则无法实现控制(如
autolisp函数大全
函数大全一、数学运算功能函数1 . l(十数数⋯)返回:累数或整数数1 . 2(一数数⋯)返回:差1 . 3( * 数数⋯)返回:所有数乘1 . 4( / 数数⋯)返回:第一个数除以第二个今后数的商1 . 5( l 十数)返回:数十ll. 6 (1 —数)返回:数一ll . 7 ( abs 数)返回:数的1 . 8( atan 数)返回:反正切1 . 9( cos 角度)返回:角度的余弦,角度弧度1 . 10 ( exp 数)返回:数的指数1 . 11 ( expt 底数指数)返回:底数的指数1 . 12 ( fix 数)返回:将数整数1 . 14 ( gcd 数 1 数2 )返回:两数的最大公因数1 . 15 ( log 数)返回:数的自然数1 . 16 ( max 数数⋯)返回:数中的最大1 . 17 ( min 数数⋯)返回:数中的最小1 . 18 pi 常数∏,其 3 .14159261 . 19 ( rem 数 1 数2)返回: M 数的相除的余数l . 20 ( sin 角度)返回:角度的正旋,角度弧度1 . 21 ( sqrt 数)返回:数的平方根二、检验与逻辑运算功能函数2 . l( = 表达式 1 表达式 2 )比表达式 1 可否等于式 2 ,适用数及字符串2 . 2 (/ = 表达式 1 表达式 2 )比表达式 1 可否大于等于表达式 22 . 3(<表达式 1 表达式 2) 比表达式 1 可否<小于表达式 22 . 4(< = 表达式 1 表达式 2 )比表达式 1 可否<一小于等于表达式 22 . 5(>表达式 1 表达式 2 )比表达式 1 可否>大于表达式 22 . 6(> = 表达式 1 表达式 2 )比表达式 1 可否大于等于表达式 22 . 7 ( ~数)返回:数的位not ,( 1 的)2 . 8 ( and 表达式 1 表达式 2 ⋯)返回:a nd 的果2 . 9( boole 函数整数整数⋯)返回:位式布运算2 .10(eq 表达式 1 表达式 2 )比表达式 1 与表达式 2 可否相同,适用列表比(相同)2 .11( equal 表达式 1 表达式2[差量])比表达式 1 与表达式 2 可否相同,差量可省略(内容相同)三、变换运算功能函数3 . l( angtof字符串[模式])返回:角度的字符串成数3 . 2( angtos角度[模式[精度]])返回:角度成的字符串3 . 3( atof字符串)返回:字符串成数3 .4 ( atoi字符串)返回:字符串成整数3 . 5 ( cvunit 数原始位位)返回:数位后的依照 acad . nut 文件3 . 6( distof字符串[模式])返回:依照模式将字符串成数3 . 7( itoa整数)返回:整数成字符串3 . 8( rtos数模式[精度])返回:数成字符串3 . 9 ( trans点原地址新地址[位移])返回:坐系四、列表办理功能函数4 . 1 ( append 列表列表⋯⋯)合所有列表成一个列表4 . 2 ( assoc 关元素合列表)依照关元素找合列表中关系信息4 . 3 (car 列表 )返回列表中的第一个元素,平时用来求X 坐4 . 4 ( cadr 列表)返回列表中的第二个元素,平时用来求y 坐4 .5 ( caddr 列表)返回列表中的第三个元素,平时用来求Z 坐4 . 6 ( cdr 列表)返回:除去第一个元素后的列表4 . 7 ( cons 新元素列表)返回:将新元素增加到列表4 . 8 ( foreach 名称列表表达式)返回:将列表的每一元素至名称再依照表达式行响4 . 9 ( length 列表)返回:列表内的元素数量4 . 10 ( list 元素元素⋯)返回:将所有元素合并一列表4 . 11 ( listp 元素)返回:判断元素可否一串4 . 12 (mapcar 函数列表 1 列表 2 ⋯)返回:将列表 1 、列表 2 列表的元素配合函数,求得新列表4 . 13 (member关元素列表)返回:依照关元素(含似后的列表4 . 14 ( nth n列表)返回:列表的第n 个元素4 . 15 (reverse列表)返回:将列表元素依照序倒来的列表4 . 16 (subst新旧列表)返回:替新旧列表后的列表五、字符串、字符、文件办理函数5 . l ( ascii 字符串)返回:字符串第一个字符的“ASCII ”5 . 2 ( chr 整数)返回:整数所的ASCII 一字符串5 . 3 ( close 文件名称)关文件5 . 4 ( open 文件名模式)返回:打开文件代,准取或写入信息5 . 5 ( read 字符串)返回:列表中的字符串的第一元素5 .6 ( read -char [文件代])返回:通或文件中取一字符5 . 7 ( read -line [文件代])返回:由或文件中取一行字符串5 . 8 ( strcase 字符串[字])返回:字符串大小写5 . 9 ( strcat 字符串 1 字符串 2 ⋯)返回:将各字符串合并一个字符串5 . 10 (strlen 字符串)返回:字符串构成的字符数(即字符串度)5 . 11 (substr 字符串初步度)返回:取出于字符串‘5 . 12 (wcmatch 字符串格式)返回: T 或nil ,将字符串与通用字符行比5 . 13 (write - char 数[文件代])返回:将一 ASCII 字符写到文件或屏幕15 .14 ( write - line 字符串[文件代])返回:将字符串写到文件或屏幕上六、等待输入功能函数6 . l ( getangle [基点] [提示])求入十制角度数,响一个弧度提示及参照点没关紧急6 . 2 ( getcorner 基点[提示])求入另一矩形框角点坐6 . 3 ( getdist [基点][提示])求入一段距离6 . 4 ( getint [提示])求入一个整数6 . 5 ( getkword [提示]求入“关”6 . 6 ( getorient [基点][提示])求入十制角度,响一弧度不受angbase 、angdir 影响6 .7 ( getPoint [基点][提示])求入一个点的坐6 . 8 ( getreal [提示]求入一个数6 . 9 ( getstring [提示])求入一个字符串6 . 10 ( initget [位]字符串)定下次getxxx 函数的有效入七、几何运算功能函数7 . l ( angle 点 1 点 2 )获取两点的角度弧度7 . 2 ( distance 点 1 点2 )获取两点的距离7 . 3 ( inters 点 1 点 2 点 3 点 4 [模式])获取两条的交点7 . 4 ( osnap 点模式字符串)依照捕捉模式获取另一坐点7 . 5 ( polar 基点弧度距离)依照极坐法获取另一坐点7.6 ( textbox 象列表)获取文字字符串的两个角点坐八、对象办理功能函数8 . l ( entdel 象名称)除或取消除象8 . 2 ( entget 象名称[用程序列表])取出象名称的信息列表8 . 3 (entlast )取出形信息中的最后一个象8 . 4 ( entmake 象列表)建立一个新的象列表8 . 5 ( entmod 象列表)依照更新的信息列表更新屏幕上元体8 . 6 ( entnext [ 象名称 ])找面中的下一个象8 . 7 ( entsel [提示])求取一个象,响包含象名称及点坐的列表;8 . 8 ( entupd 象名称)更新屏幕上复元体形8 . 9 ( handent )返回:的元体名称8 . 10 ( nentsel [提示])返回: BLOCK 所含副元体象信息列表8 . 11 (nentselp [提示][点])返回: BLOCK 所含副元体象信息似 4*4 矩形表示)九、选择集、符号表办理函数9 . l ( ssadd [ 象名称][集])将象加入集或建立一新集9 . 2 ( ssdel 象名称集)将象自集中移出9 . 3 ( ssget [模式][点 1 ][点 2 ]获取一个集9 . 4 ( ssget ”X ” [ 列表])获取依照列表所指定范的集9 . 5 ( sslenth 集)算集的象个数9 . 6 ( ssmemb 象名称集)响象名称可否包含于集内9 . 7 ( ssname 集索引)依照索引取出集中的象名称9 .8 ( tblnext 符号表名称[ T])符号表,有效的符号表:”LAYER ”、”LTYPE ”、”VIEW ”、” STYLE ”、” BLOCK ”9 . 9 ( tblsearch 符号表名称符号)在符号表中搜符号十、 AutoCAD相关盘问、控制功能函数10 . l (command ” AutoCAD 命令”⋯)超重量函数,用行AutoCAD 命令10 . 2 ( findfile 文件名)返回:文件名的路径及文件名10 . 3 (getfiled 内定档名展名旌旗)通准AutoCAD 文件DCL框得文件10 . 4 (getenv ” 境量” )获取境量的定,以字符串表示10 . 5 (getvar ”系量” )获取系量的定,以字符串表示10 . 6 (setvar ”系量” )定系量的10 . 7 (regapp 用)将目前的 AutoCAD 形登一个用程序名称十一、判断式、循环相关功能函数11 . 1 ( If <比式><表达式 1 > [表达式 2] 算比式果,若是真,行<表达式 1 >,否行<表达式 2 >11 . 2 ( repeat 次数[< 表达式><表达式>⋯])重复行N 次表达式11 . 3 ( While <比式><表达式>⋯)当条件建立行表达式内容11 . 4 (cond <比式 1 ><表达式 1 >多条件式的if 整合功能<比式2 ><表达式 2 ><比式3 ><表达式 3 >)11 . 5 ( prong 表达式 1 表达式 2 ⋯)接其中的表达式一,常用于配合if 、cond等函数十二、函数办理、定义、追踪与错误办理功能函数12 . l (*error*字符串)程序的警告信息12 . 2 ( alert字符串)以框式示出警告字符串12 . 3 ( apply功能函数列表)将功能函数与列表合后行12 . 4 (defun名称自量列表表达式_.)自定函数或子程序12 . 5 (eval表达式)返回:表达式的行果12. 6 (exit )制退出目前的用程序12 . 7 ( lambda 自量表达式)定未命名的函数12 .8(progn 表达式 1 表达式 2 ⋯)接其内的表达式一,常用于配合 if 、cond 等函数12 . 9 ( quit )制退出目前的用程序12 . 10 ( tablet代[列1列2列3方向])取用或建立数字板的校12 . 11 ( trace函数⋯)函数定追踪,助12 . 12 ( untrace函数⋯)函数定除去追踪十三、显示、打印控制功能函数13 . l (gfaphscr)作境切到形画面13 . 2 (grclear )除去模前的屏幕画面13 . 3 (grdraw 起点点色 [亮])性的画出一条13 . 4 (grread [追踪])由入取追踪13 . 5 (grtext 地址字符串[亮])将字符串示在状列或屏幕菜上13 . 6 (grvecs 向量列表[置矩])性的画出多条13 . 7 (menucmd 字符串);供应在AlltOLISP 中用各菜13 . 8 ( Prinl [表达式[文件代]]将表达式打印于命令区或已打开的文件句柄字符以“” 前张开13 .9 ( pinc [表达式[文件代]]除句柄字符不以”\” 前展外开其余同Prinl 13 . 10 ( print[表达式[文件代]]除表达式会往下一新行列出,及空一格外其余同prinl13 . 11 ( prompt 信息)将信息示于屏幕的命令区,并随后响一个nil 信息13 . 12 ( redraw [象名称[模式]])重整或依照象名称重形13 . 13 ( terpri )在屏幕上示新列13 . 14 ( textscr )作境切到文字画面13 . 15 ( textpage )除去文字画面文字似DOS 的 cls 命令13 . 16 ( vports )返回:窗口列表十四、符号、元素、表达式办理功能函数14 . l (atom 元素)若是元素不是列表,响T ,否 nil14 . 2 ( atoms - family 格式号列表])返回:一己定函数的符号列表14 . 3 (boundp 表达式)返回: T 或 nil ,响表达式可否有存在14 . 4 (minusp 元素)返回: T 或 n 儿元素可否14 . 5 ( not 元素)返回: T 或 n 儿判断元素可否ni114 . 6 ( null 元素)返回: T 或 nil 判断元素可否被予 nil14 . 7 ( numberp 元素)返回: T 或 nil ,元素可否整数或数14 . 8 ( quote 表达式)响表达式未算前状,同“‘”功能14 . 9 (set 符号表达式)将表达式果定引号’符号14 . 10 ( setq 符号 1 表达式 1 [符号 2 表达式 2 ]⋯)定表达式果各符号14 . 11 ( type 元素)返回:元素的信息型14 . 12 ( zerop 元素)返回: T 或 nil ,元素可否0十五、 ADS 、ARX 、 AutoLISP加载与卸载函数15 . l (ads )返回:目前加ADS 程序列表15 . 2 ( arx )返回:目前加ARX 程序列表15 . 3 ( arxload 用程序[出理]))返回:加ARX 程序15 . 4 ( arxunload 应用程序[出错办理]))返回:卸载ARX 程序15 . 5 (ver )返回:目前AutoLISP 版本字符串15 . 6 ( load LSP 文件名[加载失败])加载 AutoLISP 文件( *. lsp )15 . 7 (xload 应用程序 [错办理 ])加载 ADS 应用程序15 . 8 ( xunloa 应用程序[出错办理])卸载 ADS 应用程序十六、内存空间管理函数16 . l (alloc数值)以节点数值设定区段大小16 . 2 (expand数值)以区段数值配置节点空间16. 3 (gc )逼迫回收废内存16. 4 (mem )显示目前的内存使用状态16 . 5 ( xdroom对象名称)返回对象扩展信息同意使用的内存空间16 . 6 ( xdsize列表)返回对象扩展信息所占用的内存空间十七、其余重要的功能函数17 . l (acad_colordlg 颜色码旌旗)显示出标准AutoCAD 颜色选择对话框17 . 2 ( acad_helpdlg 求助文件名主题)显示出标准AutoCAD 求助对话框17 . 3 ( acad_strlsort 字符串列表)作字符串列表排序17 . 4 (bherrs )获取 bhatch 与bpcly 失败所产生的错误信息17 . 5 (bhatch 点[选择集 [向量]])依照 Pick point 选点方式调用 bhatch 命令,绘制选集地域的剖面线17 . 6 (bpoly 点[选择集 [向量 ]])依照 Pick point 选点方式调用 bpoly 命令并产生一定域 Polyline17 . 7 (cal 计算式字符串)执行如CAL 计算功能十八、 ADS 、ARX 外面定义的3D 函数18.1 ( align 自变量 1 自变量 2 ....)执行如ALIGN 命令各选项序次18 . 2 (c :3dsin 模式 3DS 文件名)导入3DS 文件18 . 3 ( C: 3dsout 模式 3DS 文件名)输出3DS 文件18 . 4 (c :background 模式[选项])设定衬着背景18. 5 ( C: fog 模式[选项])设定衬着的雾奏效18 . 6 ( C: light模式[选项])设定衬着的灯光控制18 . 7 (c :lsedit模式【选项 1 】设定衬着的光景控制18 . 8 ( C: lslib模式[选项])管理光景图库18 . 9 (c :matilb 模式材材名)管理材数据18 . 10 ( c: mirror3d 自量1 自量 2 ⋯⋯)行如 MIRROR3D 命令18 . 11 ( C : psdrap 模式)依照模式定( 0 或 1 ), psdrap 命令18 . 12 ( C : psfill 象名称案名称[自量 1 [自量 2 ]])以 POStSCript 案填18 . 13 ( c: psin 文件名地址比率)插入一个Postscript ( * . eps )文件18 . 14 ( c: render [衬着文件])行衬着奏效18 . 15 ( C : rfileopt 格式自量 1 自量 2 自量 3 ⋯)定行衬着18 . 16 ( c: replay 影像文件名影像[])显现影像文件TGA 、 BMP 、 TIF 18 . 17 ( C : rmat 模式)控管材建立、附、、分别18 . 18 ( c: rotate3d 自量1 自量 2 ⋯)行如ROTATE3D 命令各序18 . 19 ( C : rpref 模式[定])衬着境定18 . 20 ( c: saveimg 影像文件名影像[])存像文件TGA 、 BMP 、 TIF 18 . 21 ( c: scene 模式 [])SCENE 景管理18 . 22 ( C : setuv 模式集自量 1 自量2⋯) SETUV 模式管理18 . 23 ( C : showmat 自量1 )示象的材附信息18 . 24 ( C : solprof 自量 1 自量工..)建立3D 体的廓影像18 . 25 ( C : StatS [衬着信息文件])示衬着信息信息十九、 ADS 、ARX 外面定义的数据库相关函数19 . l (c:aseadmin 自量 1 自量 2 ⋯)管理外面数据19 . 2 (c :aseexportt 自量 1 自量 2 ⋯)出信息19 . 3 (c:aselinks 自量 1 自量 2 ⋯)接象与信息19 . 4 (c :aserow 自量 1 自量 2 ⋯)管理外面信息表格19 . 5 (c :aseselect 自量 1 自量 2 ⋯)建立外面信息与象集19 . 6 (c:asesqled 自量 1 自量 2⋯)行 SQL 程序。
编程函数公式大全
编程函数公式大全编程函数是指在编程语言中,用于执行特定任务的一段可重复使用的代码。
它们通常接受输入参数并返回一个值或执行一些操作。
编程函数可以大大简化代码的结构和逻辑,提高代码的可读性和可维护性。
下面是一些常见的编程函数公式:1. 数学函数:- abs(x):返回x的绝对值。
- sqrt(x):返回x的平方根。
- pow(x, y):返回x的y次幂。
- sin(x)、cos(x)、tan(x):返回x的正弦、余弦和正切值。
- ceil(x):返回不小于x的最小整数。
- floor(x):返回不大于x的最大整数。
- round(x):返回最接近x的整数。
2. 字符串处理函数:- len(str):返回字符串str的长度。
- lower(str):将字符串str转换为小写字母形式。
- upper(str):将字符串str转换为大写字母形式。
- strip(str):去除字符串str两端的空格。
- split(str, delimiter):将字符串str按照分隔符delimiter 拆分成一个列表。
- join(list, delimiter):将列表list中的元素用分隔符delimiter连接成一个字符串。
3. 列表和字典操作函数:- append(item):向列表末尾添加一个元素item。
- remove(item):从列表中删除指定的元素item。
- sort():对列表进行升序排序。
- reverse():反转列表中的元素顺序。
- keys():返回字典中所有的键。
- values():返回字典中所有的值。
- get(key):返回字典中指定键key对应的值。
4. 文件操作函数:- open(file_path, mode):打开指定路径的文件,并返回一个文件对象。
- read():从文件中读取内容。
- write(content):将内容写入文件。
- close():关闭文件。
- seek(offset):将文件指针移动到指定的位置。
Quick Basic 常用函数
Quick Basic 常用函数:ABSy=ABS(n)得到n的绝对值ASCy=ASC(S$)得到字符串头一个字符的ASCII码A TNy=ATN(n)得到反正切值(单位是弧度)CDBLy=CDBL(n)把n转化为双精度浮点格式CHR$S$=CHR$(n)得到ASCII码n对应的字符CINTy=CINT(n)对n进行舍入取整(奇凑偶CLNGy=CLNG(n)把一个数n转化为长整数COMMAND$S$=COMMAND$在DOS下启动程序时,获得命令行中的其余信息 COSy=COS(n)得到自变量n的余弦值CSNGy=CSNG(n)把一个数值转化为单精度数CSRLINy=CSRLIN返回光标行数位置CVIV%=CVI(2字节的串)字符串转换为整型数CVSV!=CVS(4字节的串)字符串转换为单精度数CVLV&=CVL(4字节的串)字符串转换为长整数CVDV#=CVD(8字节的串)字符串转换为双精度数CVSMBFV!=CVSMBF(4字节MS字符串)转换成IEEE格式单精度数CVDMBFV#=CVDMBF(8字节MS字符串)转换成IEEE格式双精度数DA TE$S$=DA TE$把系统日期赋给变量S$ENVIRON$S$=ENVIRON$(X$)S$=ENVIRON$(n)得到环境表中的参数EOFy=EOF(filenum)遇到文件结束则返回真,否则为假ERDEVy=ERDEV返回设备驱动器错误码ERDEV$S$=DEDEV$返回设备驱动器错误信息ERRy=ERR返回错误的错误号ERLy=ERL返回出错处最近的行号EXPy=EXP(X)指数函数y=exFILEATTRy=FILEATTR(filenum,attr)返回打开文件的信息FIXy=FIX(n)截掉小数部分进行取整FREy=FRE({S$|-1|-2})得到可以被程序使用的剩余内存空间的大小FREEFILEy=FREEFILE返回下一个自由BASIC文件号HEX$S$=HEX$(n)把十进制数转换成相应十六进制格式字符串INKEY$S$=INKEY$从键盘上读数据但不显示INPy=INP(portno)从一个I/O端口读入一个字节INPUT$S$=INPUT$(m[,[#]n])从键盘或文件中读入指定数量的字符INSTRy=INSTR([n,]targetstring, patternsttring)字符串查找INTy=INT(n)得到一个不大于n的最大整数IOCTL$S$=IOCTL$[#]n从一个设备驱动器程序接收数据LBOUNDy=LBOUND(array[,n])返回数组array第n维的最小下标LCASE$S$=LCASE$(X$)把字符串X$的大写字母全变为小写LEFT$S$=LEFT$(X$,n)得到字符串X$最左边的n个字符LENy=LEN(S$)得到字符串S$的长度LOCy=LOC(n)得到文件中现在所处的位置(当前位置)LOFy=LOF(n)得到磁盘文件的长度或通讯缓冲区剩余空间大小LOGy=LOG(x)自然对数y=InXLPOSy=LPOS(printer)得到打印缓冲区中当前的位置LTRIM$S$=LTRIM$(x$)返回去掉前导空格的字符串复制品MID$S$=MID$(X$,n[,m])从X$的第n个字符开始取m个字符;省略m,则取完 MKD$S$=MKD$(V#)把双精度数值转化为随机文件中输出字符串MKI$S$=MKI$(V%)把整数转换为字符串MKL$S$=MKL$(V&)把长整数转换为字符串MKS$S$=MKS$(V!)把单精度数转换为字符串MKSMBF$S$=MKSMBF$(V!)把单精度数转换为MS格式字符串MKDMBF$S$=MKDMBF$(V#)把双精度数转换为MS格式字符串OCT$S$=OCT$(n)得到数值n的八进制形式字符串,负数为其补码形式PEEKy=PEEK(offset)得到指定存储单元的值PENy=PEN(option)读取光笔状态PLAYy=PLAY(x)得到后台音乐缓冲区音符个数PMAPy=PMAP(i,option)把图形屏幕的物理坐标变为实用坐标或反之POINTcolor=POINT(x,y)y=POINT(n)得到一个象素的颜色得到前一个点的坐标POSy=POS(x)得到光标的列数位置RIGHT$S$=RIGHT$(x$,n)从字符串X$的右边取n个字符RNDy=RND(n)得到0到1之间的随机数,n=0则得到前一个RND值RTRIM$S$=RTRIM$(X$)返回一个去掉X$尾随空格的字符串SADDy=SADD(S$)返回S$字符串的地址SCREENy=SCREEN(row,column[,option])得到屏幕上指定字符的ASCII或属 SEEKy=SEEK(filenum)返回当前文件位置SETMEMy=SETMEM(n)改变远堆集使用的内存大小SGNy=SGN(n)输出n的符号SINy=SIN(x)正弦值y=SinXSPACE$S$=SPACE$(n)输出长度为n的空格字符串SPCSPC(n)在PRINT语句中跳过n个空格SQRy=SQR(n)给出n的平方根STICKy=STICK(n)返回两个操纵杆的坐标STR$S$=STR$(n)返回一个表示n值的字符串STRIGy=STRIG(n)返回操纵杆触发状态STRING$S$=STRING$(n,x$)返回n个x$第一个字符组成的字符串TABTAB(column)将输出位置移到column列TANy=TAN(x)正切值y=tgXTIME$S$=TIME$获得当前时间TIMERy=TIMER输出自午夜开始后流逝的秒数UBOUNDy=UBOUND(array[,n])输出数组array第n维最大下标UCASE$S$=UCASE$(x$)把字符串x$中所有小写字母变成大写V ALy=VAL(S$)输出字符串S$的相应数值V ARPTRy=VARPTR(variable)返回变量的偏移地址V ARSEGy=VARSEG(variable)返回变量的段地址V ARPTR$S$=V ARPTR$(variable)返回变量地址的字符串表示。
常用函数及其使用方法
常用函数及其使用方法常用的函数及其使用方法:1. print(函数:用于在控制台输出信息。
例如:print("Hello, World!")。
2. input(函数:用于从控制台获取用户输入的信息。
例如:name = input("请输入你的名字:")。
3. len(函数:用于计算对象的长度。
例如:length = len("Hello")。
4. str(函数:用于将对象转换为字符串类型。
例如:num = 10,str_num = str(num)。
5. int(函数:用于将对象转换为整数类型。
例如:str_num = "10",num = int(str_num)。
6. float(函数:用于将对象转换为浮点数类型。
例如:str_num = "3.14",num = float(str_num)。
7. type(函数:用于获取对象的类型。
例如:num = 10,type_num = type(num)。
8. range(函数:用于生成一个指定范围内的数字序列。
例如:for i in range(5)。
9. list(函数:用于将可迭代对象转换为列表类型。
例如:str_list = "Hello",list_str = list(str_list)。
10. tuple(函数:用于将可迭代对象转换为元组类型。
例如:str_list = "Hello",tuple_str = tuple(str_list)。
11. dict(函数:用于创建一个字典对象。
例如:person =dict(name="Tom", age=25)。
12. set(函数:用于创建一个集合对象。
例如:nums = set([1, 2, 3, 4, 5])。
13. max(函数:用于获取可迭代对象中的最大值。
GWBASIC使用手册
第1章 BASIC语言的特点及运行环境 (1)1.1 BASIC语官的发展与版本简介 (1)1.2 GWBASIC语言的特点 (1)1.3 GWBASIC的运行环境 (1)1.4 GWBASIC的启动 (2)1.5 BASIC的使用方式 (2)1.5.1 直接方式 (3)1.5.2 间接方式 (3)1.5.3 BASIC的退出 (3)第2章 BASIC的词法规则 (4)2.1 BASIC字符集 (4)2.2 BASIC保留字 (4)2.3 BASIC常数 (6)2.3.1 数值常数 (6)2.3.2 字符常数 (7)2.3.3 逻辑常数 (7)2.4 变量 (7)2.4.1 变量的类型 (7)2.4.2 变量的命名规则 (7)2.4.3 变量类型的说明 (7)2.5 下标变量 (8)2.5.1 数组 (8)2.5.2 下标变量 (9)2.5.3 下标变量的有关规定 (10)2.6 BASIC函数 (10)2.6.1 内部函数 (10)2.6.2 自定义函数 (15)2.7 运算符与表达式 (16)2.7.1 算术表达式 (16)2.7.2 关系表达式 (17)2.7.3 逻辑表达式 (17)2.7.4 复合逻辑表达式的运算顺序 (19)2.7.5 字符串表达式 (19)第3章 BASIC的程序结构 (21)3.1 BASIC语句和命令 (21)3.1.1 BASIC语句 (21)3.1.2 BASIC命令 (21)3.2 BASIC程序结构 (22)第4章 BASIC输入和输出 (23)4.1 输入数据的语句 (23)4.1.1 LET语句 (23)4.1.2 INPUT语句 (23)4.1.3 READ语句 (24)4.1.4 DATA语句 (24)4.1.5 RESTORE语句 (25)4.1.6 LINE INPUT语句 (25)4.1.7 SWAP语句 (26)4.2 输出语句 (26)4.2.1 PRINT语句 (26)4.2.2 PRINT USING语句 (27)4.2.3 LPRINT语句 (28)4.2.4 LPRINT USING语句 (28)4.3 输入、输出的辅助函数及变量 (29)4.3.1 TAB函数 (29)4.3.2 SPC函数 (29)4.3.3 LPOS函数 (29)4.3.4 INPUT$函数 (29)4.3.5 INKEY$变量 (30)4.4 提供系统日期和时间的语句和变量 (30)4.4.1 TIME$语句 (30)4.4.2 TIME$变量 (30)4.4.3 DATE$语句 (30)4.4.4 DATE$变量 (31)第5章 控制语句 (32)5.1 无条件控制转移语句 (32)5.1.1 GOTO语句 (32)5.1.2 GOSUB语句 (32)5.2 有条件转移语句 (33)5.2.1 IF语句 (33)5.2.2 ON n GOTO语句 (34)5.2.3 ON n GOSUB语句 (34)5.2.4 ON ERROR GOTO语句及相关变量 (34)5.2.5 ON KEY(n)GOSUB语句 (36)5.2.6 ON PLAY(n) GOSUB语句 (36)5.2.7 ON TIMER(n) GOSUB语句 (37)5.2.8 ON COM(n) GOSUB语句 (37)5.2.9 光笔控制语句与函数 (38)5.2.10 游戏杆操作的控制语句及函数 (38)5.3 循环控制 (39)5.3.1 FOR...NEXT语句 (39)5.3.2 WHILE...WEND语句. (41)第6章 数据文件及操作 (42)6.1 BASIC数据文件的有关概念 (42)6.1.1 数据文件的命名规则 (42)6.1.2 数据文件的分类 (43)6.2 顺序数据文件的建立和输入、输出 (43)6.2.1 顺序数据文件的打开和关闭 (43)6.2.2 顺序文件的输入和输出 (44)6.3 随机文件的建立和输入、输出 (46)6.3.1 随机文件的打开和关闭 (46)6.3.2 类型转换函数 (47)6.3.3 随机文件的输出有关语句 (48)6.3.4 随机文件的输入语句及转换函数 (48)第7章 BASIC绘图 (50)7.1 绘图环境的设置 (50)7.1.1 彩色图形显示器的工作模式 (50)7.1.2 显示器工作模式的选择语句 (51)7.1.3 绘图环境设置的其他语句 (53)7.2 绘图语句及相关函数 (54)7.2.1 画点、擦点语句 (54)7.2.2 画线语句 (55)7.2.3 画圆、圆弧及填充语句 (57)7.3 窗口与视口设置 (58)7.3.1 WINDOW语句 (58)7.3.2 VIEW语句 (59)7.4 动画设计语句及函数 (59)7.4.1 字符动画函数和变量 (59)7.4.2 图形模式下的动画设计语句和函数 (60)7.5 DXY-880A绘图仪BASIC命令 (61)7.5.1 DXY-880A绘图仪的联机方式 (61)7.5.2 DXY绘图命令 (62)第8章 GWBASIC的特殊语句及函数 (67)8.1 BASIC通信 (67)8.1.1 通信文件的打开与关闭 (67)8.1.2 通信文件的输入与输出 (68)8.2 机器级语句及函数 (68)8.2.1 机器级基本语句及函数 (68)8.2.2 机器语言子程序的调用 (71)8.3 其他语句 (71)8.3.1 CHAIN语句 (71)8.3.2 COMMON语句 (72)第9章 BASIC命令与键盘操作 (73)9.1 编辑命令 (73)9.1.1 AUTO命令 (73)9.1.2 RENUM命令 (73)9.1.3 DELETE命令 (73)9.1.4 EDIT命令 (74)9.1.5 LIST命令 (74)9.1.6 LLIST命令 (74)9.1.7 NEW命令 (74)9.2 文件的管理与操作命令 、 (75)9.2.1 FILES命令 (75)9.2.2 LOAD命令 (75)9.2.3 SAVE命令 (75)9.2.4 BSAVE命令 (75)9.2.5 BLOAD命令 (76)9.2.6 KILL命令 (76)9.2.7 NAME命令 (76)9.2.8 MERGE命令 (76)9.2.9 目录管理命令 (77)9.3 程序的执行命令 (77)9.3.1 RUN命令 (77)9.3.2 CLEAR命令 (78)9.3.3 RESET命令 (78)9.3.4 SYSTEM命令 (78)9.3.5 程序追踪命令 (78)9.3.6 CONT命令 (79)9.4 BASIC屏幕编辑键 (79)9.5 BASIC功能键的定义及使用 (80)9.5.1 命令功能键的定义及使用 (80)9.5.2 语句功能键 (80)第10章 编译BASIC (82)10.1 编译BASIC的构成 (82)10.2 编译BASIC的使用 (82)10.2.1 源程序编译 (82)10.2.2 目标程序的连接 (84)10.2.3 程序的执行 (84)10.3 编译BASIC与解释BASIC的主要区别 (84)10.3.1 操作命令的区别 (84)10.3.2 说明语句的区别 (85)附录A GWBASIC命令、语句和函数索引 (86)附录B ASCII字符代码表 (92)附录C GWBASIC错误信息 (97)附录D GWBASIC专用键 (103)第1章 BASIC语言的特点及运行环境1.1 BASIC语官的发展与版本简介BASIC语言是国际上通用的计算机语言之一,各种规模的计算机系统均配有BASlC语言。
Python编程常用函数大全
Python编程常用函数大全1. 数学函数1.1 数值操作- abs(x): 返回x的绝对值。
- round(x): 返回最接近x的整数,默认为四舍五入。
- max(x1, x2, ...): 返回给定参数的最大值。
- min(x1, x2, ...): 返回给定参数的最小值。
1.2 数学运算- math.floor(x): 返回小于或等于x的最大整数。
- math.ceil(x): 返回大于或等于x的最小整数。
- math.pow(x, y): 返回x的y次方。
- math.sqrt(x): 返回x的平方根。
2. 字符串函数2.1 字符串操作- len(s): 返回字符串s的长度。
- s.lower(): 将字符串s转换为小写。
- s.upper(): 将字符串s转换为大写。
- s.strip(): 去除字符串s两端的空格。
2.2 字符串查找和替换- s.find(sub): 返回字符串s中第一次出现子串sub的索引,如果没有找到则返回-1。
- s.replace(old, new): 将字符串s中的old子串替换为new。
3. 列表函数3.1 列表操作- len(lst): 返回列表lst的长度。
- lst.append(x): 在列表lst末尾添加元素x。
- lst.pop(): 移除并返回列表lst的最后一个元素。
- lst.sort(): 将列表lst按升序排序。
3.2 列表查找和统计- lst.index(x): 返回元素x在列表lst中第一次出现的索引,如果没有找到则报错。
- lst.count(x): 返回元素x在列表lst中的出现次数。
4. 文件操作函数4.1 文件读取和写入- open(filename, mode): 打开名为filename的文件,并返回文件对象。
- file.readline(): 读取文件中的一行内容。
- file.write(s): 将字符串s写入文件。
快思聪编程命名规则.
快思聪编程命名规则快思聪编程主要分为两大部分:主机编程和触摸屏编程。
那么相应的命名, 也就围绕这两个部分而言的。
那么无论是主机程序中的变量名称还是触摸屏程序中的变量名称, 他们的命名要求是一样的。
就是力求简洁明了,准确扼要以及尽量追求有规律的命名。
一 . 主机编程的命名。
1. 命名格式(通常情况下 :设备名称简写(首字母大写 +动作名称 +快思聪函数名称。
见下:值得注意的地方是设备名称后的动作项和快思聪函数名称项。
(1比如 Prj_On和Prj_Power_On的含义是不同的。
前者为投影机通电的情况下, 进行软开机指令;后者为给投影机通电。
(2每个快思聪函数都有着特定的简写名称:A. 经过函数 One Shot 、 Multiple One Shots或者是 Oscillator 等可制造脉冲的函数,加后缀 P 。
B.当某变量要去到继电器口 (Relay 口并且无论强电弱电的时候, 其后加后缀名 Rly 。
C. 一般情况下,统称变量的作用是一种使能功能时,或者是经过函数 Buffer (也可以是 _Buf ,其后缀名为 En 。
D. 通常经过函数 Inter lock和 Toggle 的变量名称加后缀名 Fb 。
E. 经过函数 Delay 的变量后缀名称为 Dly 。
2. 主机程序变量名中模拟量的后缀加“ $” , 串量名后缀加“ #” 。
3. 主机程序变量命名,除了让人易懂外,更为重要的是提高编程速度,提高效率。
这可以应用到同一类型且数目较多的变量上。
例如矩阵的变量:4. 关于主机快速编程中的一些常用技巧,见下:1 加后缀名的快捷键是“ ALT+6” 。
2 加前缀名的快捷键是“ ALT+Shift+6” 。
3 纵向复制快捷键是“ F4” 。
4 横向复制快捷键是“ F6” 。
5 选定多个变量是按住“ Shift ”键。
更详细的快捷键请参照“ SimplWindows Quick Reference Card” 。
快思聪编程常用函数
常用函数一、基本逻辑1、NOT函数NOT函数也称反转器,反转输入信号到输出端,如果输入是高电平,输出就是低电平,反之亦然。
NOT函数我们用一个真值表来说明其输入和输入的逻辑关系,表示如下:NOT函数应用举例:自动摄像控制有时设备提供的信号与您想要的恰好相反,比如就您的控制系统而言,麦克风混音器通过设置触点闭合可以知道哪一路麦克风正在传入声音。
在一个视频会议应用中,这些闭合也可以用来控制摄像头使其直接对准发言人。
但是,假设当麦克风有人发言时不是提供的闭合信号,而继电器平时是闭合的,但麦克风有人发言时提供一个断开的信号触发。
您可以把每个输入信号接入NOT函数,首先使电平反转输出,用输出信号在您逻辑程序中其它地方去触发摄像机的预设状态。
2、OR函数当任何一个输入为高电平时,OR函数将输出高电平,看下面的图表,当“Signal_1 in”或“Signal_2 in”为高电平时,“Signal out”为高电平。
注意1:从真值表中可以看出,当两路输入信号都为高电平时,输出也为高电平。
如果您需要在只有一路输入为高电平时,输出才为高电平,您可以用一个异或(XOR)函数。
注意2:OR函数的输入端口数是可以随意增加的(取决于特定的应用),并且只有一路信号输出。
就是说,一个20-Input的OR函数的任何一个输入端为高电平,输出都为高电平。
OR函数举例:解除静音控制比如,典型的音量控制包括调高、调低和静音按钮。
如果您想在静音时通过按调高或调低按钮就自动解除静音,您可以用一个OR函数完成此项功能。
注意:要完成该例的功能还需要另外的逻辑,这在后面的章节中作介绍。
3、AND函数AND函数在所有的输入都为高电平时输出为高电平。
如下面的图表所示,如果“Signal_1_in”和“Signal_2_in”都为高电平时,“Signal_out”为高电平。
AND函数举例:分离电源开关因为只有所有的输入端为高电平的时候,输出端才为高电平,一般不会将多个按钮的触发直接关联到AND函数的输入端,这意味着两个按钮要同时被按下才行。
快思聪编程基础教程终极版
它们两者的唯一区别就是 Analog Preset 有’ramp_time’参数。这一参数指明了从数字输入变高开始到模拟 输出达到他们指定值之间的时间。在此过程中模拟输出的变化是线性的。
下面的例子告诉您怎样使用 Analog Preset 来创建灯光场景。
Analog Preset 举例:预设灯光场景
可以代表灯光区域,音量大小等。
Analog Preset 的运作类似于“单入多出”模式的 Analog Initialize。尽管 Analog Initialize 可以用于需要模 拟量的任何应用,比如音量、灯光控制,但是并不总是最合适的。
其中存在的问题就是,当 Analog Initialize 被上升沿触发时,它的模拟输出立即变成参数指定值。在需要 平滑过渡而不是跳变的情况下,得使用 Analog Preset。
作为例子,我们可以用 Serial/Analog One-Shot 函数实现当音量变化时,产生闪烁反馈。这里我们必须确 定不要将脉冲时间参数设得太短,否则函数的输出可能在音量正在被调节时都会很快变低。
Serial/Analog One-Shot 举例:
整版 完
Modules 模块
SIMPL Windows 为程序员提供了大量的 Crestron 模块,并预定义了目录用来存储用户创建的模块。
QQ:770390530 MOB:13809074402
第 60页 共 65页
SIMPL Windows
王文广整理
整版 完
单个输入模式:
Analog Initialize 的第二种模式是第一种的延伸。它有一个数字输入和多个模拟输出。除此之外,函数的运 作基本上都一样,除了当数字输入出现上升沿时,每一个模拟输出都被赋予相应的参数值。
常用内部函数介绍
常用内部函数介绍常用内部函数是指在编程语言中提供给开发者使用的一组预定义的函数,这些函数可以直接在程序中调用,无需开发者自行编写。
常用内部函数通常是编程语言提供的标准库函数或者是常见的第三方库函数。
它们为开发者提供了一系列常用的、经过测试和优化的功能,并且可以大大提高开发效率。
下面将详细介绍一些常用的内部函数。
1. print(函数:print(函数是一种用于打印输出的常用内部函数。
它可以输出字符串、数字以及其他类型的数据,并且可以通过参数设置输出的格式。
2. len(函数:len(函数是一种用于获取长度的常用内部函数。
它可以返回一个字符串、列表、字典或元组的长度。
长度指的是该数据结构中包含的元素的个数。
3. range(函数:range(函数是一种用于生成整数序列的常用内部函数。
它接受一个起始值、一个终止值和一个步长参数,并生成一个符合条件的整数序列。
4. input(函数:input(函数是一种用于接收用户输入的常用内部函数。
它提示用户输入信息,并将用户输入的内容作为字符串返回给程序。
5. type(函数:type(函数是一种用于获取变量类型的常用内部函数。
它可以返回一个变量的数据类型,例如字符串、整数、列表等。
6. str(函数:str(函数是一种用于将其他类型转换为字符串类型的常用内部函数。
它可以将数字、列表、字典等类型的数据转换为字符串类型。
7. int(函数:int(函数是一种用于将字符串或其他类型转换为整数类型的常用内部函数。
它可以将字符串表示的整数、浮点数或其他类型的数据转换为整数类型。
8. float(函数:float(函数是一种用于将字符串或其他类型转换为浮点数类型的常用内部函数。
它可以将字符串表示的浮点数、整数或其他类型的数据转换为浮点数类型。
9. max(函数:max(函数是一种用于获取最大值的常用内部函数。
它可以接受一个或多个参数,并返回其中的最大值。
10. min(函数:min(函数是一种用于获取最小值的常用内部函数。
快思聪Prodigy产品初级编程教程
Prodigy产品初级编程培训教程目录第一章PRODIGY产品开发软件 (4)SIMPL Windows (4)VisionTool Pro-e (4)DEAL TM for Windows (4)Myprodigy system TM (4)TOOLBOX (4)P RODIGY控制系统 (5)为什么对控制系统编程? (5)控制系统组件 (5)主机 (5)控制执行器 (5)用户界面 (5)触摸屏 (5)智能面板(按键面板) (5)无线摇控界面 (5)用户设备 (5)控制方式 (6)继电器控制 (6)串口通信控制 (6)红外 (6)RS232,RS422,RS485 (7)Cresnet (7)infiNET (8)第二章SIMPL WINDOWS编程 (9)用SIMPL W INDOWS来创建一个程序 (9)编程步骤 (9)建立一个系统 (9)新建工程项目 (10)控制主机 (11)网络硬件 (12)程序编写 (16)8路灯光模块DIN-8SW8-I (16)4路调光模块DIN-1DIM4 (16)背景音乐功放PAMPI-4X100..................................................................................................... 错误!未定义书签。
收音机模块PT-AMFMXM.......................................................................................................... 错误!未定义书签。
苹果底座P-IDOCV..................................................................................................................... 错误!未定义书签。
t100 常用函数
t100 常用函数T100常用函数T100是一种常用的编程语言,在编写T100代码时,掌握一些常用函数是非常重要的。
本文将介绍一些常用的T100函数,帮助读者更好地理解和运用T100语言。
1. T100函数的基本语法在T100中,函数的定义以及调用都需要遵循一定的语法规则。
一般来说,函数定义由关键字“def”开头,后面是函数名和一对括号,括号内可以包含参数。
函数体由冒号“:”开始,并且要缩进,用空格或制表符表示。
2. print函数print函数是T100中最常用的函数之一,它可以将文本、变量等输出到控制台。
使用print函数时,可以直接输出文本,也可以输出变量的值。
3. input函数input函数用于从控制台获取用户的输入。
调用input函数时,程序会暂停运行,等待用户输入,并将输入的内容作为函数的返回值。
可以将用户的输入存储到变量中,以便后续使用。
4. len函数len函数用于获取字符串、列表、元组等数据类型的长度。
调用len 函数时,需要将待计算长度的数据作为参数传入,函数会返回该数据的长度。
5. range函数range函数用于生成一个指定范围内的数字序列。
调用range函数时,可以指定起始值、结束值和步长。
函数会返回一个可迭代的对象,可以用于循环遍历或创建列表等操作。
6. type函数type函数用于获取变量的数据类型。
调用type函数时,将变量作为参数传入,函数会返回该变量的数据类型,如str、int、float 等。
7. int函数int函数用于将一个字符串或浮点数转换为整数。
调用int函数时,将待转换的值作为参数传入,函数会返回转换后的整数值。
8. float函数float函数用于将一个字符串或整数转换为浮点数。
调用float函数时,将待转换的值作为参数传入,函数会返回转换后的浮点数值。
9. str函数str函数用于将其他数据类型转换为字符串。
调用str函数时,将待转换的值作为参数传入,函数会返回转换后的字符串。
快思聪编程说明
快思聪中控编程方法一、关于快思聪Windows®快思聪SIMPL™软件提供了所有必要的工具来配置、程序、测试和调试一个集成控制系统的应用。
结合Windows®的拖放功能的编程能力的SIMPL(符号密集掌握编程语言),SIMPL Windows提供了系统的硬件组成之间的联系快思聪、用户界面和世界的设备控制。
配置方面的SIMPL Windows允许你选择控制系统,用户接口、网络设备和控制设备所需的安装。
这些硬件组件可以指定端口地址,网络id和IP地址,集通信参数并指定哪些设备被连接到某个卡或网络控制模块。
您还可以指定什么VisionTools pro e™touchpanel项目所需的系统。
编程方面允许你选择逻辑符号系统将需要,分配给那些符号和连接信号的信号与其他符号或设备确定的程序逻辑。
SIMPL Windows包括的各种符号不断扩大到支持几乎所有可能的应用程序。
当你变得SIMPL能熟练地使用Windows,它将变得明显,有很多方法可以解决相同的控制问题。
这允许编程创造力和独立的灵活性。
最后,测试方面可以让你测试以及调试SIMPL Windows程序使用强大的诊断工具,包括测试经理,网络分析仪,快思聪视窗。
您可以调用这些工具直接从SIMPL Windows或启动工具独立。
对于更大的灵活性,SIMPL Windows安装包包括SIMPL +,是一个开发工具,允许高级程序员创建和编译自定义控制模块使用一种程序语言类似于c,你可以添加到你的SIMPL SIMPL +模块Windows程序或用户模块就像一个罗技二、系统需求需要以下SIMPL Windows系统最低配置:Windows 98 / NT / 2000 / XP操作系统Pentium II 333 MHz的处理器(1.3 GHz Pentium 4推荐)256 MB的RAM(512 MB推荐)256彩色设置(高色16位推荐)三、菜单说明四、快捷键SIMPL Windows提供了许多键盘快捷键,使你快速访问功能和命令。
快思聪编程说明
快思聪中控编程方法一、关于快思聪Windows®快思聪SIMPL™软件提供了所有必要的工具来配置、程序、测试和调试一个集成控制系统的应用。
结合Windows®的拖放功能的编程能力的SIMPL(符号密集掌握编程语言),SIMPL Windows提供了系统的硬件组成之间的联系快思聪、用户界面和世界的设备控制。
配置方面的SIMPL Windows允许你选择控制系统,用户接口、网络设备和控制设备所需的安装。
这些硬件组件可以指定端口地址,网络id和IP地址,集通信参数并指定哪些设备被连接到某个卡或网络控制模块。
您还可以指定什么VisionTools pro e™touchpanel项目所需的系统。
编程方面允许你选择逻辑符号系统将需要,分配给那些符号和连接信号的信号与其他符号或设备确定的程序逻辑。
SIMPL Windows包括的各种符号不断扩大到支持几乎所有可能的应用程序。
当你变得SIMPL能熟练地使用Windows,它将变得明显,有很多方法可以解决相同的控制问题。
这允许编程创造力和独立的灵活性。
最后,测试方面可以让你测试以及调试SIMPL Windows程序使用强大的诊断工具,包括测试经理,网络分析仪,快思聪视窗。
您可以调用这些工具直接从SIMPL Windows或启动工具独立。
对于更大的灵活性,SIMPL Windows安装包包括SIMPL +,是一个开发工具,允许高级程序员创建和编译自定义控制模块使用一种程序语言类似于c,你可以添加到你的SIMPL SIMPL +模块Windows程序或用户模块就像一个罗技二、系统需求需要以下SIMPL Windows系统最低配置:Windows 98 / NT / 2000 / XP操作系统Pentium II 333 MHz的处理器(1.3 GHz Pentium 4推荐)256 MB的RAM(512 MB推荐)256彩色设置(高色16位推荐)三、菜单说明四、快捷键SIMPL Windows提供了许多键盘快捷键,使你快速访问功能和命令。
PLC中最常用的数字函数
PLC(可编程逻辑控制器)的基本指令主要包括数字函数和逻辑函数。
在这里,我将重点介绍数字函数。
数字函数主要用于处理和操作数字数据。
PLC中最常用的数字函数包括:1.MOV(Move):将一个数据传送到指定的地址。
例如:将一个常数值移动到一个数据存储器的地址上。
MOV 100 D100意思是将常数100移动到D寄存器的地址D100中2.ADD(Addition):执行加法运算,将两个数相加并将结果存储在指定的地址中。
ADD D100 D200 D300意思是将D寄存器地址D100和D寄存器地址D200中的值相加,并将结果存储在D寄存器地址D300中3.SUB(Subtraction):执行减法运算,将两个数相减并将结果存储在指定的地址中。
SUB D300 D400 D500意思是将D寄存器地址D300中的值减去D寄存器地址D400中的值,并将结果存储在D寄存器地址D500中4.MUL(Multiplication):执行乘法运算,将两个数相乘并将结果存储在指定的地址中。
MUL D10 D20 D30意思是将D寄存器地址D10中的值乘以D寄存器地址D20中的值,并将结果存储在D寄存器地址D30中5.DIV(Division):执行除法运算,将两个数相除并将结果存储在指定的地址中。
DIV D50 D5 D10意思是将D寄存器地址D50中的值除以D寄存器地址D5中的值,并将结果存储在D寄存器地址D10中6.INC(Increment):将一个寄存器或数据存储器的值增加1。
INC D100意思是将D寄存器地址D100中的值增加17.DEC(Decrement):将一个寄存器或数据存储器的值减少1。
DEC D200意思是将D寄存器地址D200中的值减少18.CMP(Compare):比较两个数的大小,并根据比较结果设置相应的标志位。
CMP D300 D400意思是比较D寄存器地址D300和D寄存器地址D400中的值,如果相等,则设置比较标志位为真9.AND(Bitwise AND):对两个数进行按位与运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用函数、基本逻辑1、NOT函数NOT函数也称反转器,反转输入信号到输出端,如果输入是高电平,输出就是低电平,反之亦然。
NOT函数NOT函数应用举例:自动摄像控制有时设备提供的信号与您想要的恰好相反,比如就您的控制系统而言,麦克风混音器通过设置触点闭合可以知道哪一路麦克风正在传入声音。
在一个视频会议应用中,这些闭合也可以用来控制摄像头使其直接对准发言人。
但是,假设当麦克风有人发言时不是提供的闭合信号,而继电器平时是闭合的,但麦克风有人发言时提供一个断开的信号触发。
您可以把每个输入信号接入NOT函数,首先使电平反转输出,用输出信号在您逻辑程序中其它地方去触发摄像机的预设状态。
2、OR函数当任何一个输入为高电平时,OR函数将输出高电平,看下面的图表,当Signal_1 in ”或Signal_2 in "为高电平时,Signal out "为高电平。
Touclipanel . [sleep] [wake]fb1 presslpress2fb3 press3 fb4 press4vol mutevol up —-—►vol dwn--- ---- ►clr mute——•OR两数: OR Ml-lD|x|ORSignal 1 In K i1 01Signal Out .Signal 2 ln 卜i2两个编人的I OR函数貞伉盍虹下:Signal In 1Signal lln2Signal OutLow Low Low High Low High Low"igh HighHigh :HighHigh注意1:从真值表中可以看出,当两路输入信号都为高电平时,输出也为高电平。
如果您需要在只有一路输入为高电平时,输出才为高电平,您可以用一个异或(XOR )函数。
注意2 : OR函数的输入端口数是可以随意增加的(取决于特定的应用),并且只有一路信号输出。
就是说,一个20-1 nput的OR函数的任何一个输入端为高电平,输出都为高电平。
OR函数举例:解除静音控制比如,典型的音量控制包括调高、调低和静音按钮。
如果您想在静音时通过按调高或调低按钮就自动解除静音,您可以用一个OR函数完成此项功能。
注意:要完成该例的功能还需要另外的逻辑,这在后面的章节中作介绍。
OR函数例vvol dwn3、AND函数AND函数在所有的输入都为高电平时输出为高电平。
如下面的图表所示,如果Signal_1_in ”和Signal_2_in "都为高电平时,Signal_out "为高电平。
AND属數注也同OR丞数Hlf山从JD函故冇一个可以任盘憎加的編入廉•但口方一个愉出嵐AND函数举例:分离电源开关因为只有所有的输入端为高电平的时候,输出端才为高电平,一般不会将多个按钮的触发直接关联到AND函数的输入端,这意味着两个按钮要同时被按下才行。
接到AND函数的一个或多个输入通常是锁定的电平信号,经常用来确定系统当前的某种状态。
比如,由红外控制的VCR只有一个电源功能键(on/of ),假设我们想将电源开和电源关的功能分开。
通过电流感应设备检测VCR电源开关的状态,产生一个数字信号代表VCR当前是开或关。
当信号V'cr_is_on ”为高电平时,表示VCR开。
用AND函数我们可以确保当VCR 为开时,按下vcr_is_off ”按钮发送电源(关机)指令到VCR ;当VCR是关时,power_off ” 按钮按下时,我们不希望发送电源指令,因为这样可能使VCR又打开。
我们用同样的逻辑去处理vcr_power_on "按钮按下时的情况。
见下面AND函数应用于完整电流感应程序的例子。
AND函数举例4、Buffer 函数Buffer 函数可以理解为可开关的门,控制数据流通。
当门开时,数据信号不做任 何改变从输入端流向对应的输出端;当门关闭时,所有的输出被置低电平,并且 与输入的信号无关。
门”的开关是由enable 输入端所控制的,当enable 为高电平时,Buffer 使能(即 门开),当信号为低电平时,函数不可用(即门关)。
Buffer 函数—High/LowBuffer 凶数一 High/LowHQSII[BufferH G+哥rrtr____________ 丑 -- ―卩 ----------- *■inpd »)gral1 ilo1 cutput »iqnel1 *nput_eigrsl2十 i2o2 outpU sign;l2||S3: Duffer□[*】PuferLCNV=q^fd * 时 blGFlinpLt iellito 1 no ou1 sgaa 】mpLt ligrslJi2ol no oul--- ■ --- ™~■ ---------------- ►D :t If JWTOit tl Cufffw4 E •c*1T*Hi -* ・AJO::'.W3f>■ ■Tn VCR n1.1 .li % -Buffer与之前讨论的函数不同,它的输入端数量不仅可以扩展(enable除外),而且每个输入有一个对应的输出,这与NOT、OR和AND函数只有一个输出端不同。
而且Buffer每一对的输入输出与其它输入输出相互独立。
也就是说,一个输入端的信号只与对应的输出端有关系(当函数被使能时),不会影响其它输出端。
因为Buffer有时相当于复合的AND函数,每个输入端与enable端AND后决定对应输出端的状态。
Buffer函数的输出端信号有一个有趣且非常实用的特点。
前面我们讲到了数字信号时提到每个数字端只可有一个驱动源,但是这里有一些例外。
我们知道象按钮输入这样的系统输入是一个例外,Buffer函数的输出是另一个例外。
即一个信号不仅可以由一个Buffer驱动同时也可以被其它Buffer驱动或者由一个按钮(或其它系统输入)驱动。
这个特点有一个深层次的逻辑关系,这将在手册后面详细讲解。
Buffer举例:多设备控制对于Buffer函数一个典型的应用就是可以用一组共用的按钮实现对多个设备的控制。
当对按钮有限的手持遥控设备编程时,这一用法非常有用。
针对这样的设备,通常的界面是定义一组共用按钮和不同的设备源按钮,通过选择源按钮决定共用按钮控制某台设备。
因为Buffer函数相当于复合的AND函数,我们经常需要产生状态”信号。
就是定义系统中某一事件状态的信号。
在本例中,我们需要为每个源设备设定信号来确定某台设备是否被选中。
在接下来的章节里,我们将会了解到如何产生这些信号,但现在我们简单的假设我们已有这样的信号,请看下面例程。
Buffer举例WH2 £topVCF2 faslf注意,在这个例子中,任一时间只能有一个Buffer是有效的。
如果两个Buffer同时有效,按PLAY按钮就会发出多个命令,这是我们在这个例子中不需要的。
为保证不会发生这种情况,我们强制在同一时刻只有一个状态信号为高电平。
这在后面的章节将作介绍。
Buffer函数举例:多事件触发对于像快思聪这样可定制程序的控制系统,其优势在于可以为用户提供自动功能以满足他们的真正需求。
一个设计良好的控制系统会让用户通过尽可能少的操作完成他们想要实现的控制功能。
这就需要在许多情况中用一个按钮去触发多个事件。
SIMPL语言可以很容易的实现一个按钮触发多个事件(或相关的任何事件)。
比如:一个标准功能为System On ”的按钮需要设计为同时降下屏幕,打开投影机,并且选择某种预先设置的灯光模式,这可以通过将按钮的输出信号连接到一个继电器去降下屏幕,向投影机的红外接收端口发送Power On ”指令,并且向RS-232端口发送一个命令串控制灯光系统。
不需要任何的逻辑编程便可完成。
下面是程序图:Si ngle Butt on Press Example 单个按钮触发举例si n prawsupVCFL』;!》£tDPrtv*VCR2 ruwCD p|jylf!>J CD itw HornF4emn<WeVCR1 saledflElVCRljalayVU R1 lewLD」ulEGtmdP列耿opf菇tf7ensuie□1 ,LDpla、'I D T4I>PL」」m I r I沖衣EulttrCDfastf然而,采用这种方法有一些缺点。
首先,按这种方式编写的程序很难阅读,您必 需全程跟踪信号直到终端才知道它触发了什么事件。
采用 SIMPL Windows 的 Show Routings ”指令比较容易些。
第二个缺点更严重:如果您想对屏幕、投影 机电源和灯光预设做单独控制怎么办呢?就以上的例子中, 这三种控制功能被绑 在一起而不能独立控制。
即使您认为单独控制并不需要,但也许将来会需要,您 就需要对之前的程序做大量的修改。
我们可以通过在程序中增加逻辑来避免这种缺陷。
第一种解决方法可以用 OR 函数将所有的事件联在一起去触发一个事件。
比如,我们想通过按system on 按钮或screen down ”按钮去降下屏幕,我们可以用一个 OR 函数去实现。
如下图 所示,对于上例中的程序,现在采用 OR 函数,除实现连动以外还可实现单独控 制。
多个OR 函数的分离控制I 、"Pl枫he]^>2tbl press!ChCOMH S S*. »inci][期 mhto]pSTMlf*丫亡|3皿 [林hA~Wligh ,s 9c^nc X MXiighls oflfirncK|」』linden]Tir unkipfins汁詛口1 nnA3中弟」jff护-prn nri-t1 «»■ ■hf l以上这种方式灵活了许多,但仍有缺点。
首先,与之前的例子一样程序流程难以 阅读,尤其是程序变得庞大时,对于每一项功能您都需要通过一个 OR 函数向后 追踪才能知道究竟是什么事件触发了它。
第二,程序增大时,可能其它地方也需 要去触发某个功能。
比如,也许您希望每次选择一个信号源时都降下屏幕, 可以 简单的增加OR 函数的输入端,但最后会导致程序很乱难以调试。
我们回到Buffer 函数,还记得Buffer 函数的输出信号可以连接到已有的由系统 输入或其它Buffer 函数驱动的输出信号。
这样我们可以用一个或多个 Buffer 函数 编写一个优雅的程序去处理多事件触发。
下面的程序图只用一个单独的 Buffer 函 数实现了比上面采用OR 函数例子中更多的功能。
Buffer您会发现在上面的例子中有两个有趣的特点。
首先,在enable 输入端连接有一个 为1 ”勺信号,之前我们曾讲过这是一个一直为逻辑高电平的数字信号。