人工智能设计任务书-2013.doc_第1页
人工智能设计任务书-2013.doc_第2页
人工智能设计任务书-2013.doc_第3页
人工智能设计任务书-2013.doc_第4页
人工智能设计任务书-2013.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

课程名称: 人工智能及应用设计题目: 基于智能搜索的进路选排设计院 系: 计算机与通信工程系 年 级: 09级信号1班 姓 名: 李 明 指导教师: 胡可 西南交通大学峨眉校区 2012年 10 月 22 日课 程 设 计 任 务 书专 业 铁道信号 姓 名 李 明 学 号 20098619 开题日期: 12 年 09 月 23 日 完成日期: 12 年 10 月 21 日题 目 基于智能搜索的进路选排设计 一、设计的目的 通过对课程设计任务的完成,进一步理解智能搜索算法与计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。 二、设计的内容及要求 要求每位同学能够根据对人工智能搜索算法以及计算机联锁的进路选排过程的知识,结合课程设计的内容,独立完成该课程设计。 设计内容: 1) 自选信号布置图,建立站场型静态数据库,并绘制其模块链接图; 2) 自选智能搜索算法,编写动态进路搜索选排程序; 3) 用所编搜索程序对建立的数据库进行进路选排,并举例说明其过程。 三、指导教师评语 四、成 绩 指导教师 (签章) 年 月 日一、设计题目根据下面信号布置图及进路搜索流程图:1、 自选信号布置图,建立站场型静态数据库,并绘制其模块链接图2、 自选智能搜索算法,编写动态进路搜索选排程序3、 用所编搜索程序对建立的数据库进行进路选排,并举例说明其过程2、 设计过程2.1绘制站场图和站场型数据模块链接图绘制原则:(1)根据给出的信号平面布置图绘制,将每个调车信号机、道岔、轨道区段均要设置成为节点;(2)在道岔的节点处还要设置此节点是否为具有导向标志的节点,以便完成变通进路的搜索;(3)每个节点根据其由来命名,如K(1)表示1号道岔的节点,K(D1)表示1号调车信号机的节点;(4)按照其搜索方向将各个模块节点连接起来就形成了站场型数据模块链接图。2.2动态变量的定义及关键变量的功能函数(1)动态变量定义typedef struct /进路控制表BYTE jlh;/进路号:BYTE jlxz;/进路性质:BYTE jllx;/进路类型:BYTE jljc;/进路进程: BYTE sdan;/始端按钮:BYTE bgan;/变更按钮:BYTE zdan;/终端按钮: BYTE ztxhjh;/体信号机号:JLKZB;typedef struct /信号控制表BYTE xhbh;/信号编号 BYTE anh;/ 按钮号 CString xhjm;/信号机名称BYTE xhjlx; /信号机类型 BYTE sbflag;/ 锁闭标志 BYTE xhkz;/ 信号控制 BYTE dszt;/灯丝状态 BYTE yxdszt; /允许灯丝状态 BYTE opened;/ 曾开放POINT nPoint;/信号机坐标COLORREF clor;/信号灯显示的颜色BYTE *pf;/指针场 XHKZB;typedef struct /道岔控制表:DCKZBCString dcm;/道岔名称BYTE dch;/道岔编号 BYTE dcxz;/是否是双动道岔;BYTE sdch;/双动岔号BYTE anh;/按钮号 BYTE sqdh;/所属区段号 BYTE cmzt;/岔名状态 BYTE dczt;/道岔状态(定位) BYTE dckz;/道岔控制 BYTE sbjlh;/锁闭变量 BYTE lkh;/控制进路号 BYTE used;/征用标志 BYTE funcSb;/功能锁闭BYTE delay;/延世参数BYTE*pz;/指针场指向直股BYTE*pw;/指针场指向弯股 DCKZB;typedef struct /区段控制表:QDZTBCString qdm;/区段名称BYTEqdbh;/区段编号 BYTEqdxz;/区段性质 BYTEqdlx;/区段类型 COLORREF gdys;/区段状态光带颜色 BYTEsbflag;/锁闭变量BYTEbhqdh;/保护区段号 BYTEczy;/曾占用 BYTElkh;/控制进路号BYTEused; /征用标志POINTbgnPoint;/开始点坐标POINTstpPoint;/终点坐标BYTE*pf;/指针场 QDZTB;(2)主要功能函数:1、选排一致性检测道岔控制命令生成子模块函数BYTE 进路选排处理(BYTE 控制进路号)if(防护本进路的信号机被征用或已开放)返回(进路不能建立);if(敌对信号机开放)返回(进路不能建立);if(区段占用)返回(进路不能建立);if(存在其他照查条件)返回(进路不能建立);if(进路中道岔位置不正确)将进路的进程标志设置成锁闭标志;返回(进路选排完成);elseif(道岔所在区段被占用)返回(进路不能建立);if(道岔被单独锁闭)返回(进路不能建立);生成道岔控制命令;检测道岔状态;if(规定时间内,道岔未转换到指定位置)返回(故障);2、进路锁闭子模块void 进路锁闭(BYTE 进路控制号,INT 进路号)if(进路中有区段被占用)返回(进路不能建立);if(敌对信号机开放)返回(进路不能建立);if(道岔位置不正确)返回(进路不能建立);if(存在其他照查条件)返回(进路不能建立);设置道岔锁闭标志;设置区段锁闭标志;设置分歧道岔锁闭标志;设置进路进程标志为开放信号; 返回 (进路锁闭完成);3、信号开放子模块BYTE 信号开放处理(BYTE 进路控制号)if(进路中有区段被占用)返回(故障);if(敌对信号机开放)返回(故障);if(道岔位置不正确)返回(故障);if(存在其他照查条件)返回(故障);if(灯丝状态故障)返回(故障);生成开放信号机命令;if(信号机开放)设置进路进程标志为Fxb(信号机开放保持); 返回 (信号开放功能完成);返回(等待开放)4、信号保持子模块BYTE 信号保持处理(BYTE 进路控制号)if(敌对信号机开放)返回(故障);if(道岔位置不正确)返回(故障);if(存在其他照查条件)返回(故障);if(灯丝状态故障)返回(故障);if(列车驶入进路)信号机立即关闭;设置进路进程标志为进路解锁标志;返回(进路保持功能完成);if(调车完全驶入进路)信号机立即关闭;设置进路进程标志为进路解锁标志; 返回 (信号开放功能完成);返回(等待开放)elseif(如果进路中有区段被占用)返回(故障);设置进路进程标志为进路解锁标志为Fxb; 返回(信号保持继续);2.3编程实现进路搜索过程进路搜索过程说明:(1)当道岔节点处设置的有导向标志(红色)时,进路选择时优先选择侧线,否则正线优先;(2)当优先选择的进路不能选通时,则返回到上一级道岔节点的另一线路继续搜索,直到选通进路为止。如上图所示为D1 至D17的进路搜索,搜索过程如下:2.4在K(1)处设置导向标志Yd时:按所编制程序实现D1到S进路搜索过程。D1至S搜索的时序图: D1到SII进路搜索过程详述:(1)从K(D1)节点开始搜索,经过K(1DG),到达K(1);(2)K(1)处被设置为导向标志,所以侧线优先搜索,经过K(1/3),K(3DG),K(D13)和K(17DG)节点,到达K(17)道岔节点;(3)K(17)处没有被设置为导向标志,所以正线优先搜索,到最后一个节点为K(D17),此时搜索过程没有完成;(4)返回上一级道岔节点即K(17)节点进行侧线搜索,经K(17/19)区段,由于该区段和K(1/3)区段共同构成了八字形进路,在没有按压变通进路的按钮时的进路,不能走变通进路,所以收索返回到更上一级节点K(1)道岔节点进行正线搜索,到K(19)节点,再经过K(19DG)区段,最后到K(SII)节点,此时就完成了进路搜索。2.4附VB程序代码:Private Sub Command1_Click()If Label13.BackColor = &HFFFF& ThenLabel13.BackColor = &HC0&ElseLabel13.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command10_Click()EndEnd SubPrivate Sub Command11_Click()If Label21.BackColor = &HFFFF& ThenLabel21.BackColor = &HC0&ElseLabel21.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command12_Click()If Label30.BackColor = &HFFFF& ThenLabel30.BackColor = &HC0&ElseLabel30.BackColor = &HFFFF&End IfIf Label9.BackColor = &HC0& And Label30.BackColor = &HC0& ThenIf Label21.BackColor = &HC0& ThenLine99.BorderColor = &H8000000ALine150.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine92.BorderColor = &H8000000ALine93.BorderColor = &H8000000ALine94.BorderColor = &H8000000ALine95.BorderColor = &H8000000ALine148.BorderColor = &H8000000ALine147.BorderColor = &H8000000ALine149.BorderColor = &H8000000AElseLine99.BorderColor = &H8000000ALine150.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine139.BorderColor = &H8000000ALine139.BorderColor = &H8000000ALine110.BorderColor = &H8000000ALine111.BorderColor = &H8000000ALine149.BorderColor = &H8000000AEnd IfEnd IfIf Label8.BackColor = &HC0& And Label30.BackColor = &HC0& ThenIf Label14.BackColor = &HC0& ThenLine88.BorderColor = &H8000000ALine89.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine139.BorderColor = &H8000000ALine110.BorderColor = &H8000000ALine111.BorderColor = &H8000000ALine149.BorderColor = &H8000000AElseIf Label21.BackColor = &HC0& ThenLine88.BorderColor = &H8000000ALine89.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine92.BorderColor = &H8000000ALine93.BorderColor = &H8000000ALine94.BorderColor = &H8000000ALine148.BorderColor = &H8000000ALine95.BorderColor = &H8000000ALine147.BorderColor = &H8000000ALine149.BorderColor = &H8000000AElseLine88.BorderColor = &H8000000ALine151.BorderColor = &H8000000ALine106.BorderColor = &H8000000ALine107.BorderColor = &H8000000ALine108.BorderColor = &H8000000ALine110.BorderColor = &H8000000ALine111.BorderColor = &H8000000ALine149.BorderColor = &H8000000AEnd IfEnd IfEnd IfEnd SubPrivate Sub Command13_Click()If Label12.BackColor = &HFFFF& ThenLabel12.BackColor = &HC0&ElseLabel12.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command14_Click()Label8.BackColor = &HFFFF&Label9.BackColor = &HFFFF&Label12.BackColor = &HFFFF&Label18.BackColor = &HFFFF&Label21.BackColor = &HFFFF&Label24.BackColor = &HFFFF&Label31.BackColor = &HFFFF&Label30.BackColor = &HFFFF&Label28.BackColor = &HFFFF&Label13.BackColor = &HFFFF&Label14.BackColor = &HFFFF&Label10.BackColor = &HFFFF&Line99.BorderColor = &H80000008Line150.BorderColor = &H80000008Line90.BorderColor = &H80000008Line91.BorderColor = &H80000008Line139.BorderColor = &H80000008Line110.BorderColor = &H80000008Line111.BorderColor = &H80000008Line149.BorderColor = &H80000008Line88.BorderColor = &H80000008Line151.BorderColor = &H80000008Line106.BorderColor = &H80000008Line107.BorderColor = &H80000008Line108.BorderColor = &H80000008Line111.BorderColor = &H80000008Line89.BorderColor = &H80000008Line92.BorderColor = &H80000008Line93.BorderColor = &H80000008Line94.BorderColor = &H80000008Line152.BorderColor = &H80000008Line103.BorderColor = &H80000008Line108.BorderColor = &H80000008Line111.BorderColor = &H80000008Line100.BorderColor = &H80000008Line101.BorderColor = &H80000008Line102.BorderColor = &H80000008Line95.BorderColor = &H80000008Line96.BorderColor = &H80000008Line137.BorderColor = &H80000008Line147.BorderColor = &H80000008Line148.BorderColor = &H80000008Line155.X1 = 120Line155.X2 = 240Line155.Y1 = 2400Line155.Y2 = 2400Timer1.Enabled = FalseTimer2.Enabled = FalseEnd SubPrivate Sub Command15_Click()If Label10.BackColor = &HFFFF& ThenLabel10.BackColor = &HC0&ElseLabel10.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command16_Click()If Label18.BackColor = &HFFFF& ThenLabel18.BackColor = &HC0&ElseLabel18.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command17_Click()If Label24.BackColor = &HFFFF& ThenLabel24.BackColor = &HC0&ElseLabel24.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command18_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command19_Click()Timer1.Enabled = FalseTimer2.Enabled = FalseEnd SubPrivate Sub Command2_Click()If Label8.BackColor = &HFFFF& ThenLabel8.BackColor = &HC0&ElseLabel8.BackColor = &HFFFF&End IfIf Label9.BackColor = &HC0& And Label30.BackColor = &HC0& ThenLine99.BorderColor = &H8000000ALine150.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine92.BorderColor = &H8000000ALine139.BorderColor = &H8000000ALine110.BorderColor = &H8000000ALine111.BorderColor = &H8000000AEnd IfIf Label8.BackColor = &HC0& And Label30.BackColor = &HC0& ThenLine88.BorderColor = &H8000000ALine151.BorderColor = &H8000000ALine106.BorderColor = &H8000000ALine107.BorderColor = &H8000000ALine108.BorderColor = &H8000000ALine110.BorderColor = &H8000000ALine111.BorderColor = &H8000000AEnd IfEnd SubPrivate Sub Command20_Click()Timer2.Enabled = TrueEnd SubPrivate Sub Command3_Click()If Label9.BackColor = &HFFFF& ThenLabel9.BackColor = &HC0&ElseLabel9.BackColor = &HFFFF&End IfIf Label9.BackColor = &HC0& And Label30.BackColor = &HC0& ThenLine99.BorderColor = &H8000000ALine150.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine139.BorderColor = &H8000000ALine110.BorderColor = &H8000000ALine111.BorderColor = &H8000000ALine149.BorderColor = &H8000000AEnd IfEnd SubPrivate Sub Command4_Click()If Label14.BackColor = &HFFFF& ThenLabel14.BackColor = &HC0&ElseLabel14.BackColor = &HFFFF&End IfEnd SubPrivate Sub Command7_Click()If Label31.BackColor = &HFFFF& ThenLabel31.BackColor = &HC0&ElseLabel31.BackColor = &HFFFF&End IfIf Label8.BackColor = &HC0& And Label31.BackColor = &HC0& ThenIf Label13.BackColor = &HC0& ThenLine88.BorderColor = &H8000000ALine151.BorderColor = &H8000000ALine106.BorderColor = &H8000000ALine107.BorderColor = &H8000000ALine137.BorderColor = &H8000000ALine93.BorderColor = &H8000000ALine94.BorderColor = &H8000000ALine152.BorderColor = &H8000000ALine103.BorderColor = &H8000000AElseLine88.BorderColor = &H8000000ALine89.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine92.BorderColor = &H8000000ALine93.BorderColor = &H8000000ALine94.BorderColor = &H8000000ALine152.BorderColor = &H8000000ALine103.BorderColor = &H8000000AEnd IfEnd IfIf Label9.BackColor = &HC0& And Label31.BackColor = &HC0& ThenIf Label14.BackColor = &HC0& ThenLine99.BorderColor = &H8000000ALine150.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.BorderColor = &H8000000ALine92.BorderColor = &H8000000ALine93.BorderColor = &H8000000ALine94.BorderColor = &H8000000ALine152.BorderColor = &H8000000ALine103.BorderColor = &H8000000AElseLine99.BorderColor = &H8000000ALine100.BorderColor = &H8000000ALine101.BorderColor = &H8000000ALine102.BorderColor = &H8000000ALine103.BorderColor = &H8000000AEnd IfEnd IfEnd SubPrivate Sub Command8_Click()If Label28.BackColor = &HFFFF& ThenLabel28.BackColor = &HC0&ElseLabel28.BackColor = &HFFFF&End IfIf Label8.BackColor = &HC0& And Label28.BackColor = &HC0& ThenIf Label13.BackColor = &HC0& ThenLine88.BorderColor = &H8000000ALine151.BorderColor = &H8000000ALine106.BorderColor = &H8000000ALine107.BorderColor = &H8000000ALine137.BorderColor = &H8000000ALine93.BorderColor = &H8000000ALine94.BorderColor = &H8000000ALine95.BorderColor = &H8000000ALine96.BorderColor = &H8000000AElseLine88.BorderColor = &H8000000ALine89.BorderColor = &H8000000ALine90.BorderColor = &H8000000ALine91.B

温馨提示

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

评论

0/150

提交评论