TYJL型计算机联锁系统连锁柜使用说明_第1页
TYJL型计算机联锁系统连锁柜使用说明_第2页
TYJL型计算机联锁系统连锁柜使用说明_第3页
TYJL型计算机联锁系统连锁柜使用说明_第4页
TYJL型计算机联锁系统连锁柜使用说明_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TYJL-III型计算机联锁系统综合柜使用说明(广州教学站)2011-05-091系统构成, 32联锁机柜 3 21 机柜附属设施部分 4211电源端子, 4 212散热风扇 4 22联锁机部分 4 221联锁10机箱 4 222联锁机构成 5 223联锁机母板 5 224联锁机CANARCNET通信配置表 6 23 智能I0部分 6 231智能I0板。 6 232智能I0机箱 6 233智能I0母板 7 234联锁10机箱 8 235智能I0半组母板 8 236智能I0板地址8C线配置 9 24 CAN通信 10 25 24V电源 11 251 24V电源系统标识定义 12 252 A系24

2、V电源和B系24V电源关系 13附录 A系24V电源和B系24V电源关系图 联锁柜供电原理图 联锁柜配线表 控制台和微机桌配线表QUQu 4 4 4 4 4 5 5 6 6 6 6 7 8 8 9 0 1 2 21 系统构成 新型计算机联锁系统从设备硬件结构上分为四部分:综合机柜、联锁机柜、电务维护终端设备和车务控制终端设备。 车务控制终端设备为车务人员与联锁系统的人机交互接口设备,即鼠标控制台,包括监控机显示器、音箱、鼠标等设备,设于车务运转室; 电务维护终端设备为电务人员与联锁系统的人机交互接口设备,即维修机,包括维修机主机、维修机显示器、鼠标、键盘、打印机等设备,设于机械室微机房;机和智

3、能采集、驱动板,设于机械室微机房; 综合机柜安装系统电源设备和监控机设备,设于机械室微机房; 联锁机柜安装联锁2 联锁机柜 新型联锁系统有两套联锁机联锁A机和联锁B机,两套联锁机为同步并行工作关系,一套故障自行脱机, 另一套继续工作。联锁A机控制A系智能I0板,联锁B机控制B系智能I0板。联锁机柜安装联锁机和智能I0板。一般车站有两个联锁机柜,一个机柜安装联锁A机及A系智能I0板,另一个机柜安装联锁B机及B系智能I0板,两个机柜硬件布置完全相同。小型车站将A、B两套系统装在一个联锁机柜中。 联锁机柜顶层安装散热风扇单元,还有六个六U高度的空间层可供使用,从下往上定义为零层、一层、二层、三层、四

4、层、五层。零层安装电源端子,其余五层安装联锁机和智能I0机箱。 联锁机柜所安装设备按功能分成以下三部分:联锁机部分、智能IO部分以及机柜附属设施部分。2. 1 机柜附属设施部分电源端子散热风扇211电源端子 电源端子包括压接式接线端子、空气开关、事故继电器和防雷元件;为了表述方便把电源端子根据功能分成若干功能端子,安装时以橘黄色端子挡片作为分各端子功能参见附录(联锁柜供电原理图)和(联锁柜配线表)2. 12散热风扇安装在机柜顶层,用于机柜通风散热。由风扇电源开关控制其工作。22 联锁机部分 CPU板为联锁机的核心。联锁机通过CAN总线与各个智能I/O板通信,通过ARCNET与另一套联锁机以及监

5、控机A、B机通信。 主要设备如下: 一块CPU板 一块ARCNET通信板 一块比较板 一块电源板 联锁机母板221联锁/0机箱 联锁/0机箱同时安装联锁机和智能I/O板,锁机部分,智能I/O部分在下一节介绍。联锁/0机箱示意图如下:222联锁机构成 一块CPU板(APCI5093):CPU板为联锁机的核心。CPU板与另一套联锁机的CPU板通过ARCNET通信完成主备信息交换。 一块ARCNET通信板(APCI5656):通信板通过ARCNET与监控A机、监控B机通信,接收主控监控机的操作命令,向两台监控机传递整个系统的状态信息和联锁运算数据;通信板通过CAN通信与智能I/O板联系,向智能I/O

6、板发送控制命令,接收智能I/O板采集到的继电器接点状态信息以及智能I/O板本身的状态信息。 一块比较板:监督校验CPU板的输出命令,错误时停止比较板驱动输出,事故继电器落下,切断智能I/O部分的工作电源,系统倒向安全。 一块电源板:为联锁机提供工作电源,输入24V,输出5V。为了增加系统可靠性,新安装的联锁系统取消了电源板,改用独立电源为联锁母板提供5V直流电,独立电源输入交流220V、输出直流5V。223联锁机母板联锁机母板示意图如下: 主机96芯插座lCAN通信(主):A1:ACANH: A2:ACANL; A3:5VGNDCAN通信主从配置:A17、A18、A19、A20,B17、B18

7、、B19、B20 ARCNET通信:(监控机A)A31:ARC+; A32:ARC (监控机B)C31:ARC+; C32:ARC 主机96芯插座2(一般不用,用于特大站的CAN通信扩展)CAN通信(主):Al:ACANH; A2:ACANL; A3:5VGND 从机96芯插座1未用 从机96芯插座2未用 J22、J23ARCNET主备通信:(另一套联锁机)2:ARC+;3:ARC- J20、J2l未用 J25比较板驱动输出接点, J26联锁机24V电源输入端子,端子有两个接线位,接线位定义如图所示224联锁机CAN/ARCNET通信配置表96芯插座管脚联锁机A联锁机BA-17,B1711A-

8、18,B1811A-19, B1910A-20,B20101:表示表中两管脚不连接;0:表示表中两管脚连接;23 智能I/0部分 智能I/0部分接收联锁机发来的控制命令,完成继电器的驱动;同时将采集到的现场信号设备的接点状态信息以及智能I/O板本身的状态信息反馈给联锁机。智能I/0部分主要包括智能驱动采集板。 主要设备如下: 若干块智能驱动采集板(FIMIO); 智能I/0母板; 智能I/O半组母板;231智能FO板 智能I/O板有一种型号,智能驱动采集板(FIMIO);智能驱动采集板(FIMIO)容量为16路驱动,32路采集,可以驱动16个继电器,采集32个继电器接点;232智能I/0机箱

9、每个智能I/0机箱可以容纳16块智能驱动采集板(FIMIO)智能I/O机箱示意图:233智能I/O母板智能I/O母板示意图如下: CAN通信端子每块母板有两个CAN端子,完成CAN总线蛇型串接,一入一出。每个端子有六个接线位,接线位定义如图所示。 匹配电阻在CAN总线蛇型连接的末端的母板, 电源端子:智能I/0机箱24V电源输入端子,端子有四个接线位, I/O板地址跳线端子每一块I/0板有两组八位地址跳线端子,主地址端子和从地址端子,与/O板中主从CPU对应,两组端子跳线配置一致。 10插座:48芯插座,驱动板使用前16路,采集板使用后32路。机箱IO插座端子定义:插座标号DBZ11N11Nl

10、7OUT121N21N18OUT231N31N19OUT341N41N20OUT451N51N21OUT561N61N22OUT671N71N23OUT781N81N24OUT891N91N25OUT9101N101N26OUTl0111N111N27OUTl1121N121N28OUTl2131N131N29OUTl34141N141N30OUTl45151N151N31OUTl51161N161N32OUT16234联锁/10机箱 联锁/10机箱同时安装联锁机和智能I/O板,各占半个机箱。联锁机己在上一节部分介绍,此部分介绍智能UO部分。 联锁/10机箱安装8块智能驱动采集板(FIMIO)

11、235智能I/O半组母板智能I/O半组母板示意图如下: CAN通信端子 每块母板有两个CAN端子,完成CAN总线蛇型串接,一入一出。每个端子有六个接线位,接线位定义如图所示。 匹配电阻在CAN总线蛇型连接的末端的母板,封连两个匹配电阻跳线。 电源端子:智能I/0机箱24V电源输入端子,端子有四个接线位,接线位定义如图所示。 I/O板地址跳线端子每一块I/0板有两组八位地址跳线端子,主地址端子和从地址端子,与I/0板中主从CPU对应,两组端子跳线配置一致。 系统状态采集端子:系统定义第一块采集板的第8位(CJ8)和第16位(CJl6)作为系统状态采集点。此端子的CJ8和CJl6位已通过PCB走线

12、连到第一块采集板的第8位和第16位。CJ8:采集监控机切换板的主备状态;CJl6:采集综合柜24V电源状态。 10插座:48芯插座,驱动板使用前16路,采集板使用后32路。机箱IO插座端子定义: 插座标号 D B Z 1 1N1 1N17 OUT1 2 1N2 1N18 OUT2 3 1N3 1N19 OUT3 4 1N4 1N20 OUT4 5 1N5 1N21 OUT5 6 1N6 1N22 OUT6 7 1N7 1N23 OUT7 8 1N8 1N24 OUT8 9 1N9 1N25 OUT9 10 1N10 1N26 OUTl0 11 1N11 1N27 OUT11 12 1N12 1

13、N28 OUTl2 13 m13 1N29 OUTl3 14 1N14 1N30 OUTl4 15 1N15 1N31 OUTl5 16 1N16 1N32 OUTl6236智能I/0板地址跳线配置驱动采集板地址:使用90FF(16进制)位位值(0或1)10进制权值从主低ll-22-34-48-高5l-62-74-88-位值二0或1,该位跳线封连为1,不封连为0;高位地址码二高四位(位值*权值)之10进制和换算成16进制低位地址码二低四位(位值*权值)之10进制和换算成16进制高位:A16=1010=1*8+0*4+1*2+0*1;低位:516=510=0*8+1*4+0*2+1*124 CA

14、N通信 新II型联锁系统采用CAN总线作为联锁机与智能I/0板的安全数据交换通道,它完成联所锁机与各智能I/0板之间的双向高速安全数据交换功能。 新II型联锁系统共有两条CAN总线。 联锁机A与其控制的A系智能I/0板使用一条CAN总线。CAN总线完成联锁A机CPU板与其控制的A系智能I/0板中CPU的通信。 联锁机B与其控制的B系智能I/0板使用另一条CAN总线。CAN总线完成联锁B机CPU板与其控制的B系智能I/0板中CPU的通信。CAN通信涉及联锁机中的CAN/ARCNET通信板、联锁机母板的96芯插座、通信转接板、智能I/0母板上的CAN端子、智能I/0板中的CAN通信部分。CAN总线

15、为蛇型连接,总线末端需端接匹配电阻,也就是在最后一块智能I/0母板上封连匹配电阻跳线。CAN通信关系图2. 5 24V电源综合柜的两个24V电源分别向联锁A系和联锁B系供电。联锁A系包括联锁机柜A和联锁机柜A驱动和采集的继电器;联锁B系包括联锁几柜B和联锁机柜B驱动和采集的继电器。在A系和B系中,采集电源直接使用综合柜提供的电源,驱动电源则由驱动板上的24V安全电源供电。251 24V电源系统标识定义 驱动电源的+24V是机柜电源经驱动板上的安全电源逆变而出,与机柜电源的+24V容易混淆,为了便于表述,将系统电源标识统一定义。+24V:驱动板逆变电源输出正端24VGND:驱动板逆变电源输出负端

16、,机柜24V电源正端;24V:机柜24V电源负端;系统使用24VGND作为系统地,接机壳和大地;系统使用24VGND作为驱动回线,驱动线输出为+24V;系统使用-24V作为采集回线,采集参考电压为24VGND;252 A系24V电源和B系24V电源关系 24VGND:两系的24VGND连在一起,同时和大地相连; -24V:两系的24V在机柜侧是完全分开的,机柜A使用综合柜24V电源A的 -24V,机柜B使用综合柜24V电源B的-24V;在继电器侧,两个-24V各自通 过一个二极管后连在一起,作为统一的采集回线使用。(详见附录 A系24VB系24V电源关系图)A系24V电源和B系24V电源关系图

17、附录资料:不需要的可以自行删除 perl函数应用一、进程处理函数1、进程启动函数函数名eval调用语法eval(string)解说将string看作Perl语句执行。正确执行后,系统变量$为空串,如果有错误,$中为错误信息。例子$print = print (hello,worldn);eval ($print);结果输出hello, world函数名system调用语法system(list)解说list中第一个元素为程序名,其余为参数。system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。例子proglist = (echo, hello,world!);sy

18、stem(proglist);结果输出hello, world!函数名fork调用语法procid = fork();解说创建程序的两个拷贝-父进程和子进程-同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程ID号。例子$retval = fork();if ($retval = 0) # this is the child process exit; # this terminates the child process else # this is the parent process结果输出无函数名pipe调用语法pipe (infile, outfile);解说与fork合用

19、,给父进程和子进程提供通信的方式。送到outfile文件变量的信息可以通过infile文件变量读取。步骤:1、调用pipe2、用fork将程序分成父进程和子进程3、一个进程关掉infile,另一个关掉outfile例子pipe (INPUT, OUTPUT);$retval = fork();if ($retval != 0) # this is the parent process close (INPUT); print (Enter a line of input:n); $line = ; print OUTPUT ($line); else # this is the child p

20、rocess close (OUTPUT); $line = ; print ($line); exit (0);结果输出$programEnter a line of input:Here is a test lineHere is a test line$函数名exec调用语法exec (list);解说与system类似,区别是启动新进程前结束当前程序。常与fork合用,当fork分成两个进程后,子进程用exec启动另一个程序。例子 结果输出函数名syscall调用语法syscall (list);解说调用系统函数,list第一个元素是系统调用名,其余为参数。如果参数是数字,就转化成C的

21、整型数(type int)。否则传递字符串的指针。详见UNIX的帮助或Perl文档。使用syscall必须包含文件syscall.pl,即:require (syscall.ph); 例子结果输出2、进程终止函数函数名Die调用语法die (message);解说终止程序并向STDERR输出错误信息。message可以为字符串或列表。如果最后一个参数不包含换行符,则程序文件名和行号也被输出。例子die (Cannot open input file);结果输出Cannot open input file at myprog line 6.函数名warn调用语法warn (message);解说

22、与die类似,区别是不终止程序。例子warn(Danger! Danger!n);结果输出Danger! Danger!函数名exit调用语法exit (retcode);解说终止程序并指定返回值。例子exit(2);结果输出无函数名kill调用语法kill (signal, proclist);解说给一组进程发送信号。signal是发送的数字信号,9为杀掉进程。proclist是进程ID列表。详见kill的UNIX帮助。例子结果输出3、进程控制函数函数名sleep调用语法sleep (time);解说将程序暂停一段时间。time是停止的秒数。返回值为实际停止的秒数。例子sleep (5);结

23、果输出无函数名wait调用语法procid = wait();解说暂停程序执行,等待子进程终止。不需要参数,返回值为子进程ID,如果没有子进程,返回-1。例子结果输出函数名waitpid调用语法waitpid (procid, waitflag);解说暂停程序执行,等待特定的子进程终止。procid为等待的进程ID例子$procid = fork();if ($procid = 0) # this is the child process print (this line is printed firstn); exit(0); else # this is the parent proces

24、s waitpid ($procid, 0); print (this line is printed lastn);结果输出$ programthis line is printed firstthis line is printed last$4、其它控制函数函数名caller调用语法subinfo = caller();解说返回调用者的程序名和行号,用于Perl Debugger。返回值为三元素的列表:1、调用处的包名2、调用者文件名3、调用处的行号例子结果输出函数名chroot调用语法chroot (dir);解说改变程序的根目录,详见chroot帮助。例子结果输出函数名local调用

25、语法local($variable);解说在语句块(由大括号包围的语句集合)中定义局域变量,仅在此语句块中起作用,对其的改变不对块外同名变量造成影响。千万不要在循环中使用,否则每次循环都定义一个新的局域变量!例子结果输出函数名times调用语法timelist = times解说返回该程序及所有子进程消耗的工作时间。返回值为四个浮点数的列表:1、程序耗用的用户时间2、程序耗用的系统时间3、子进程耗用的用户时间4、子进程耗用的系统时间例子结果输出二、数学函数函数名sin调用语法retval = sin (value);解说参数为弧度值。函数名cos调用语法retval = cos (value)

26、;解说参数为弧度值。函数名atan2调用语法retval = atan2 (value1, value2);解说运算并返回value1除以value2结果的arctan值,单位为弧度,范围在-PIPI。应用例:角度转化成弧度子程序。sub degrees_to_radians local ($degrees) = _; local ($radians);11: $radians = atan2(1,1) * $degrees / 45;函数名sqrt调用语法retval = sqrt (value);解说平方根函数。value为非负数。函数名exp调用语法retval = exp (value

27、);解说返回e的value次方。函数名log调用语法retval = log (value);解说以e为底的自然对数。函数名abs调用语法retval = abs (value);解说绝对值函数。(Perl 4中没有)函数名rand调用语法retval = rand (num);解说随机数函数,返回0和整数num之间的一个浮点数。函数名srand调用语法srand (value);解说初始化随机数生成器。保证每次调用rand真正随机。三、字符串处理函数函数名index调用语法position = index (string, substring, position);解说返回子串substri

28、ng在字符串string中的位置,如果不存在则返回-1。参数position是可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。函数名rindex调用语法position = rindex (string, substring, position);解说与index类似,区别是从右端匹配。函数名length调用语法num = length (string);解说返回字符串长度,或者说含有字符的数目。函数名pos调用语法offset = pos(string);解说返回最后一次模式匹配的位置。函数名substr调用语法substr (expr, skipchars, length)解说抽

29、取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,此参数可忽略,意味着取剩下的全部字符。当此函数出现在等式左边时,expr必须为变量或数组元素,此时其中部分子串被等式右边的值替换。函数名study调用语法study (scalar);解说用一种内部格式提高变量的访问速度,同一时刻只对一个变量起作用。函数名lcuc调用语法retval = lc(string);retval = uc(string);解说将字符串全部转换成小/大写字母。函数名lcfirstucfirst调用语法

30、retval = lcfirst(string);retval = ucfirst(string);解说将第一个字母转换成小/大写。函数名quotameta调用语法newstring = quotemeta(oldstring);解说将非单词的字母前面加上反斜线()。语句 : $string = quotemeta($string);等效于:$string = s/(W)/$1/g;常用于模式匹配操作中,确保字符串中没有字符被看作匹配操作符。函数名join调用语法join (joinstr, list);解说把字符串列表(数组)组合成一个长的字符串,在每两个列表元素间插入串joinstr。函数

31、名sprintf调用语法sprintf (string, fields);解说与printf类似,区别是结果不输出到文件,而作为返回值赋给变量。例子$num = 26;$outstr = sprintf(%d = %x hexadecimal or %o octaln,$num, $num, $num);print ($outstr);结果输出26 = 1a hexadecimal or 32 octal四、标量转换函数函数名chop调用语法$lastchar = chop (var);解说var可为变量或数组,当var为变量时,最后一个字符被删除并赋给$lastchar,当var为数组/列表

32、时,所有元素的最后一个字符被删除,最后一个元素的最后一个字母赋给$lastchar。函数名chomp调用语法result = chomp(var);解说检查字符串或字符串列表中元素的最后一个字符是否为由系统变量$/定义的行分隔符,如果是就删除。返回值为实际删除的字符个数。函数名crypt调用语法result = crypt (original, salt);解说用DES算法加密字符串,original是将要加密的字符串,salt是两个字符的字符串,定义如何改变DES算法,以使更难解码。返回值为加密后的串。函数名hex调用语法decnum = hex (hexnum);解说将十六进制数(字符串形

33、式)转化为十进制数。函数名int调用语法intnum = int (floatnum);解说将浮点数舍去小数部分转化为整型数。函数名oct调用语法decnum = oct (octnum);解说将八进制数(字符串形式)或十六进制数(0 x.形式)转化为十进制数。函数名ord调用语法asciival = ord (char);解说返回单个字符的ASCII值,与PASCAL中同名函数类似。函数名chr调用语法$char = chr (asciival);解说返回ASCII值的相应字符,与PASCAL中同名函数类似。函数名pack调用语法formatstr = pack(packformat, li

34、st);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。除了格式a、A和外,重复使用一种格式多次可在其后加个整数,如: $twoints = pack (i2, 103, 241);把同一格式应用于所有的元素则加个*号,如: $manyints = pack (i*, 14, 26, 11, 83);对于a和A而言,其后的整数表示要创建的字符串长度,重复方法如下: $strings = pack (a6 x 2, test

35、1, test2);格式的情况比较特殊,其后必须加个整数,该数表示字符串必须的长度,如果长度不够,则用空字符(null)补足,如: $output = pack (a 6 a, test, test2);pack函数最常见的用途是创建可与C程序交互的数据,例如C语言中字符串均以空字符(null)结尾,创建这样的数据可以这样做: $Cstring = pack (ax, $mystring);下表是一些格式字符与C中数据类型的等价关系:字符 等价C数据类型CcharddoubleffloatiintIunsigned int (or unsigned)llongLunsigned longssh

36、ortSunsigned short完整的格式字符见下表。 格式字符 描述a用空字符(null)补足的字符串A用空格补足的字符串b位串,低位在前B位串,高位在前c带符号字符(通常-128127)C无符号字符(通常8位)d双精度浮点数f单精度浮点数h十六进制数串,低位在前H十六进制数串,高位在前i带符号整数I无符号整数l带符号长整数L无符号长整数n网络序短整数N网络序长整数p字符串指针s带符号短整数S无符号短整数u转化成uuencode格式vVAX序短整数VVAX序长整数x一个空字节X回退一个字节以空字节(null)填充函数名unpack调用语法list = unpack (packformat

37、, formatstr);解说unpack与pack功能相反,将以机器格式存贮的值转化成Perl中值的列表。其格式字符与pack基本相同(即上表),不同的有:A格式将机器格式字符串转化为Perl字符串并去掉尾部所有空格或空字符;x为跳过一个字节;为跳过一些字节到指定的位置,如4为跳过4个字节。下面看一个和X合同的例子: $longrightint = unpack (* X4 L, $packstring);此语句将最后四个字节看作无符号长整数进行转化。下面看一个对uuencode文件解码的例子:1 : #!/usr/local/bin/perl2 : 3 : open (CODEDFILE,

38、 /u/janedoe/codefile) |4 : die (Cant open input file);5 : open (OUTFILE, outfile) |6 : die (Cant open output file);7 : while ($line = ) 8 : $decoded = unpack(u, $line);9 : print OUTFILE ($decoded);10: 11: close (OUTFILE);12: close (CODEDFILE); 当将pack和unpack用于uuencode时,要记住,虽然它们与UNIX中的uuencode、uudecod

39、e工具算法相同,但并不提供首行和末行,如果想用uudecode对由pack的输出创建的文件进行解码,必须也把首行和末行输出(详见UNIX中uuencode帮助)。函数名vec调用语法retval = vec (vector, index, bits);解说顾名思义,vec即矢量(vector)函数,它把简单变量vector的值看作多块(维)数据,每块含一定数目的位,合起来即一个矢量数据。每次的调用访问其中一块数据,可以读取,也可以写入。参数index就象数组下标一样,提出访问哪一块,0为第一块,依次类推,要注意的是访问次序是从右到左的,即第一块在最右边。参数bits指定每块中的位数,可以为1,

40、2,4,8,16或32。例子1 : #!/usr/local/bin/perl2 : 3 : $vector = pack (B*, 11010011);4 : $val1 = vec ($vector, 0, 4);5 : $val2 = vec ($vector, 1, 4);6 : print (high-to-low order values: $val1 and $val2n);7 : $vector = pack (b*, 11010011);8 : $val1 = vec ($vector, 0, 4);9 : $val2 = vec ($vector, 1, 4);10: pr

41、int (low-to-high order values: $val1 and $val2n); 结果high-to-low order values: 3 and 13low-to-high order values: 11 and 12函数名defined调用语法retval = defined (expr);解说判断一个变量、数组或数组的一个元素是否已经被赋值。expr为变量名、数组名或一个数组元素。如果已定义,返回真,否则返回假。函数名undef调用语法retval = undef (expr);解说取消变量、数组或数组元素甚至子程序的定义,回收其空间。返回值始终为未定义值,此值与空

42、串等效。五、数组和列表函数函数名grep调用语法foundlist = grep (pattern, searchlist);解说与同名的UNIX查找工具类似,grep函数在列表中抽取与指定模式匹配的元素,参数pattern为欲查找的模式,返回值是匹配元素的列表。例子list = (This, is, a, test);foundlist = grep(/tT/, list);结果foundlist = (This, test);函数名splice调用语法retval = splice (array, slipelements, length, newlist);解说拼接函数可以向列表(数组)

43、中间插入元素、删除子列表或替换子列表。参数skipelements是拼接前跳过的元素数目,length是被替换的元素数,newlist是将要拼接进来的列表。当newlist的长度大于length时,后面的元素自动后移,反之则向前缩进。因此,当length=0时,就相当于向列表中插入元素,而形如语句splice (array, -1, 0, Hello);则向数组末尾添加元素。而当newlist为空时就相当于删除子列表,这时,如果length为空,就从第skipelements个元素后全部删除,而删除最后一个元素则为:splice (array, -1);这种情况下,返回值为被删去的元素列表。函数名shift调用语法element = shift (arrayvar);解说删去数组第一个元素,剩下元素前移,返回被删去的元素。不加参数时,缺省地对ARGV进行操作。函数名unshift调用语法count = unshift (arrayver, elements);解说作用与shift相反,在数组arrayvar开头增加一个或多个元素,返回值为结果(列表)的长度。等价于splice (array, 0, 0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论