APP下载

CAD二次开发在铁路车站信号工程设计中应用的研究

2011-05-08徐恒亮

铁路计算机应用 2011年3期
关键词:配线信号机二次开发

徐恒亮,李 强

(兰州交通大学 光 电技术与智能控制教育部重点实验室 ,兰州 7 30070)

铁路车站信号工程设计种类有站场形式的设计图,如车站信号布置图、联锁表、网络电路图等;非站场形式的设计图,如信号设备模块排列表、配线图和许多电路图等。铁路车站信号工程设计图大部分是由图形符号组成,如信号机、道岔、股道、绝缘节和一些说明文字、数字等,这些图形符号基本由线段、圆、点、字符组成。工程设计人员使用AutoCAD中的绘图命令绘制这些图形符号,效率低下而且容易出错。不同的铁路车站信号工程设计有各自不同的制图方法和所需的绘图功能,不能将这些功能全部放入AutoCAD中,利用Visual Lisp、VBA、VB、C++等计算机语言二次开发AutoCAD特殊的应用程序,可提高工程设计人员使用AutoCAD进行工程设计的效率。在各种计算机语言中,Visual Lisp二次开发AutoCAD,可避免其他计算机语言与AutoCAD的接口问题,而且利用Visual Lisp调用AutoCAD的绘图命令,计算机可自动绘制最终的工程图纸。

1 开发语言介绍

Lisp(List Process Language)是一种函数式的程序设计语言,被广泛的应用在人工智能领域。AutoLisp是把Lisp和AutoCAD相结合,二次开发AutoCAD的内嵌式编程语言。AutoLisp既有Lisp的人工智能特点,又有AutoCAD的图形编辑特性,利用这种特点,工程设计人员可以编写AutoLisp程序,自动计算分析图纸,自动形成最终工程设计图纸。减小工程设计人员的劳动强度,提高工程设计的质量。Visual Lisp语法是符号表达式,采用前缀表示法,见图1。Visual Lisp编程是创建新的函数,每个创建的新函数都是一个功能模块,结合起来,最终形成用户所需的二次开发软件。

图1 Visual Lisp符号表达式结构

2 二次开发铁路车站信号工程设计

2.1 总体设计思想

由于Visual Lisp是一种函数式的编程语言,可以将程序设计为模块化结构,即一种功能对应一个功能函数。总体设计为3个模块:从图纸上读取数据模块函数;处理所读取数据模块函数;计算机自动绘制图形模块函数。这样设计便于以后的修改和添加新的功能,结构紧凑、明晰。以下结合二次开发全电子微机联锁执行单元模块排列表和铁路站场联锁表,说明二次开发铁路车站信号工程设计的过程。

2.2 二次开发全电子微机联锁执行单元模块排列表

2.2.1 工程设计简介

全电子微机联锁是继6502电气集中联锁和传统的微机联锁后的新一代联锁设备,全电子微机联锁执行单元替代6502电气集中的执行组电路,执行单元依转辙机、信号机、轨道电路等不同类型的控制与采样对象,按完全独立的单元模块结构研究设计,每个模块相对独立,完成对现场设备的驱动和采集。全电子微机联锁执行单元包括:道岔模块、信号模块、轨道模块和其他模块。全电子微机联锁执行单元在工程设计时,从客户方提供的信号设备(道岔、股道、信号机)的室外分线盘配线图上读取信号设备,根据模块排列表排列规则,进行人工编排。如果让计算机读取室外分线盘配线图,形成信号设备数据,再让计算机根据这些数据,自动编制模块排列表,形成全电子微机联锁执行单元模块排列表工程图纸,不仅减轻了设计人员的劳动强度,也提高了工程图纸的精确度。

2.2.2 读取数据模块设计

读取数据模块分为3个模块:读取道岔、读取股道、读取信号机。在设计之前确定计算机要读取的数据范围,把工程设计中的所有使用数据都放入其中,如果在以后需要添加数据,在相对应的模块函数中增加即可。下面以这几种信号设备配线举例说明设计过程,配线种类见表1。

利用Visual Lisp读取表1中的数据并提取有效数据,采用Visual Lisp提供的有关选择集的函数获取室外分线盘上图形数据库数据,利用人工智能中“专家系统”的设计思想,提取数据。“专家系统”结合专家知识,用一系列规则表示为“如果…那么”,整套知识就被表示为(规则1,规则2,…,规则N)。建立起这样的规则,利用选择集依次读出每种配线对应的信号设备,根据每种信号设备独有的几种配线类型,用取交集的方法选取出相应的设备。例如读取第1种配线对应的设备时,只要对所读取的2L、LUH、HH的配线的3个集合的交集就能准确的获取第1种配线所对应的设备了。

表1 室外分线盘配线种类

2.2.3 数据处理模块程序设计

对上面形成的数据要进行分类、编号、分配地址,最后形成一个以表形式存放数据的数据库。数据库中有每个设备对应的模块类型、名称和地址,如:(…(LXA-2 S 57)…),这个表中存储了名称为S的信号机,它在模块排列表中的地址为57,所属模块类型为LXA-2。对信号设备的地址分配就指定了设备在模块排列表中的位置,计算机能准确的将其放入模块排列表中,借助人工智能中的“积木世界”的基本思想:把图2中的A模块移到C上,必须先看A上面是否有其他模块,若有,则先移去上面的模块,再看C上是否有模块,若有,则出错,若没有,将A至模块C上。这里的A、B、C都是根据其中心坐标(X,Y,Z)来确定其自身位置和相对位置,并判断移动的条件。(LXA-2 S 57)就相当于A、B、C模块的坐标(X,Y,Z),给读出来的所有信号模块设备都分配了一个唯一的属性。

2.2.4 计算机自动绘制模块排列表

形成了以上的一个数据库后,就可以使用Visual Lisp中的Command函数调用AutoCAD命令,根据每个信号设备的属性,绘制模块排列表。绘制时根据图形特性,使用Visual Lisp中的循环结构,减小绘图编程的劳动量。

图2 “积木世界”简图

2.3 二次开发铁路站场联锁表

2.3.1 铁路站场联锁表工程设计简介

信号、道岔、进路之间相互联系、相互制约的关系称为联锁关系,联锁表是联锁关系的说明表。车站信号平面布置图是编制联锁表的依据。联锁表主要包括:方向栏、进路栏、道岔栏、敌对信号栏、轨道区段栏等。方向栏填写进路性质和方向;进路栏填写联锁范围以内的列车和调车的基本进路;道岔栏顺序填写所排进路中的道岔和有关防护和带动道岔;敌对信号栏填写所有敌对关系的信号机;轨道区段栏填写进路上所要检查的轨道区段名称。人工编制时,根据进路的性质、始终端、各设备联锁关系,从车站信号平面布置图上读取联锁表所需数据,手工绘制AutoCAD工程图纸。

2.3.2 读取数据模块设计

二次开发铁路站场联锁表时,计算机读取的是车站信号平面布置图。由于车站信号平面布置图是由信号机、股道、绝缘节道岔、设备名称等图形符号组成,这些图形符号又由线段、圆、填充色、字符等构成。应该制定设计车站信号平面布置图标准,按标准绘制AutoCAD车站信号平面布置图。读取的数据结构为:(设备名称 前节点设备名称 后节点设备名称),道岔的数据结构比较特殊,为(设备名称 岔前直股设备名称 岔后直股设备名称 岔后弯股设备名称)。这样做以便在数据处理模块中搜索进路时方便的找出其前后节点的设备。

2.3.3 数据处理模块程序设计

将以上读取的数据放入一个总表中,其结构为:((设备1,设备1前节点,设备1后节点)…(设备N 设备N前节点 设备N后节点)),将总表作为一个静态数据库,每次从静态数据库中取出一设备表,如:(设备1,设备1前节点,设备1后节点)。如果该设备可做始端,根据表中内容寻找下一结点设备,如此循环,最终找到终端,记录从始端到终端联锁表所需填写数据,形成数据结构为(方向,进路,按下按钮,信号机,道岔,敌对信号,轨道区段)的表,将这样的表存入一数据总表中,形成最终的连锁表数据总表,流程如图3。

图3 二次开发联锁表数据处理流程图

3 结束语

AutoCAD得到铁路工程设计人员广泛应用,但是设计人员大部分在设计、绘制图纸时,往往只是使用AutoCAD中的一些绘图命令,简单的将线段、圆、文字等图形符号组合成所需的图形。如果设计人员掌握了Visual Lisp语言,就可以根据自己所需,编制满足特殊功能的软件,这样不但降低了铁路车站信号工程设计人员的劳动强度,也提高了设计效率。

[1] 王秉文. 6502电气集中工程设计[M]. 北京:铁道出版社,1997.

[2] 何 涛. 铁路车站信号全电子计算机联锁执行单元[J]. 铁路通信信号工程技术,2005(4):11-16.

[3]李学志. Visual LISP程序设计[M]. 北京:清华大学出版社,2006.

[4] George F.Luger. 人工智能复杂问题求解的结构和策略[M].史忠植,张银奎,赵志,等.北京:机械工业出版社,2006.

猜你喜欢

配线信号机二次开发
关于无配线车站码序设计方案优化研究
浅谈基于Revit平台的二次开发
驼峰信号机与驼峰辅助信号机显示不一致问题分析
四显示自动闭塞通过信号机在TDCS/CTC采集电路中存在的问题及改进
浅谈Mastercam后处理器的二次开发
ZD6型道岔转辙机配线技术的改进与应用
西门子Easy Screen对倒棱机床界面二次开发
50Hz轨道电路配线测试工装技术探讨
半自动闭塞总出发信号机非正常关闭解决方案
设配线的地铁车站隧道风机起动时电压下降计算