人工智能设计任务书.docx

上传人:b****5 文档编号:8802254 上传时间:2023-05-15 格式:DOCX 页数:25 大小:208.79KB
下载 相关 举报
人工智能设计任务书.docx_第1页
第1页 / 共25页
人工智能设计任务书.docx_第2页
第2页 / 共25页
人工智能设计任务书.docx_第3页
第3页 / 共25页
人工智能设计任务书.docx_第4页
第4页 / 共25页
人工智能设计任务书.docx_第5页
第5页 / 共25页
人工智能设计任务书.docx_第6页
第6页 / 共25页
人工智能设计任务书.docx_第7页
第7页 / 共25页
人工智能设计任务书.docx_第8页
第8页 / 共25页
人工智能设计任务书.docx_第9页
第9页 / 共25页
人工智能设计任务书.docx_第10页
第10页 / 共25页
人工智能设计任务书.docx_第11页
第11页 / 共25页
人工智能设计任务书.docx_第12页
第12页 / 共25页
人工智能设计任务书.docx_第13页
第13页 / 共25页
人工智能设计任务书.docx_第14页
第14页 / 共25页
人工智能设计任务书.docx_第15页
第15页 / 共25页
人工智能设计任务书.docx_第16页
第16页 / 共25页
人工智能设计任务书.docx_第17页
第17页 / 共25页
人工智能设计任务书.docx_第18页
第18页 / 共25页
人工智能设计任务书.docx_第19页
第19页 / 共25页
人工智能设计任务书.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

人工智能设计任务书.docx

《人工智能设计任务书.docx》由会员分享,可在线阅读,更多相关《人工智能设计任务书.docx(25页珍藏版)》请在冰点文库上搜索。

人工智能设计任务书.docx

人工智能设计任务书

课程设计

 

课程名称:

人工智能及应用

 

设计题目:

基于智能搜索的进路选排设计

院系:

计算机与通信工程系

年级:

09级信号1班

*****

******

西南交通大学峨眉校区

2012年10月22日

课程设计任务书

专业铁道信号姓名李明学号********

开题日期:

12年09月23日完成日期:

12年10月21日

题目基于智能搜索的进路选排设计

一、设计的目的

通过对课程设计任务的完成,进一步理解智能搜索算法与计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。

二、设计的内容及要求

要求每位同学能够根据对人工智能搜索算法以及计算机联锁的进路选排过程的知识,结合课程设计的内容,独立完成该课程设计。

设计内容:

1)自选信号布置图,建立站场型静态数据库,并绘制其模块链接图;

2)自选智能搜索算法,编写动态进路搜索选排程序;

3)用所编搜索程序对建立的数据库进行进路选排,并举例说明其过程。

三、指导教师评语

四、成绩

指导教师(签章)

年月日

一、设计题目

根据下面信号布置图及进路搜索流程图:

1、自选信号布置图,建立站场型静态数据库,并绘制其模块链接图

2、自选智能搜索算法,编写动态进路搜索选排程序

3、用所编搜索程序对建立的数据库进行进路选排,并举例说明其过程

二、设计过程

2.1绘制站场图和站场型数据模块链接图

绘制原则:

(1)根据给出的信号平面布置图绘制,将每个调车信号机、道岔、轨道区段均要设置成为节点;

(2)在道岔的节点处还要设置此节点是否为具有导向标志的节点,以便完成变通进路的搜索;

(3)每个节点根据其由来命名,如K

(1)表示1号道岔的节点,K(D1)表示1号调车信号机的节点;

(4)按照其搜索方向将各个模块节点连接起来就形成了站场型数据模块链接图。

2.2动态变量的定义及关键变量的功能函数

(1)动态变量定义

typedefstruct//进路控制表

{

BYTEjlh;//进路号:

BYTEjlxz;//进路性质:

BYTEjllx;//进路类型:

BYTEjljc;//进路进程:

BYTEsdan;//始端按钮:

BYTEbgan;//变更按钮:

BYTEzdan;//终端按钮:

BYTEztxhjh;//体信号机号:

}JLKZB;

typedefstruct//信号控制表

{

BYTExhbh;//信号编号

BYTEanh;//按钮号

CStringxhjm;//信号机名称

BYTExhjlx;//信号机类型

BYTEsbflag;//锁闭标志

BYTExhkz;//信号控制

BYTEdszt;//灯丝状态

BYTEyxdszt;//允许灯丝状态

BYTEopened;//曾开放

POINTnPoint;//信号机坐标

COLORREFclor;//信号灯显示的颜色

BYTE*pf;//指针场

}XHKZB;

typedefstruct//道岔控制表:

DCKZB

{

CStringdcm;//道岔名称

BYTEdch;//道岔编号

BYTEdcxz;//是否是双动道岔;

BYTEsdch;//双动岔号

BYTEanh;//按钮号

BYTEsqdh;//所属区段号

BYTEcmzt;//岔名状态

BYTEdczt;//道岔状态(定位)

BYTEdckz;//道岔控制

BYTEsbjlh;//锁闭变量

BYTElkh;//控制进路号

BYTEused;//征用标志

BYTEfuncSb;//功能锁闭

BYTEdelay;//延世参数

BYTE*pz;//指针场指向直股

BYTE*pw;//指针场指向弯股

}DCKZB;

typedefstruct//区段控制表:

QDZTB

{

CStringqdm;//区段名称

BYTEqdbh;//区段编号

BYTEqdxz;//区段性质

BYTEqdlx;//区段类型

COLORREFgdys;//区段状态光带颜色

BYTEsbflag;//锁闭变量

BYTEbhqdh;//保护区段号

BYTEczy;//曾占用

BYTElkh;//控制进路号

BYTEused;//征用标志

POINTbgnPoint;//开始点坐标

POINTstpPoint;//终点坐标

BYTE*pf;//指针场

}QDZTB;

 

(2)主要功能函数:

1、选排一致性检测

道岔控制命令生成子模块函数

BYTE进路选排处理(BYTE控制进路号)

{

if(防护本进路的信号机被征用或已开放)

返回(进路不能建立);

if(敌对信号机开放)

返回(进路不能建立);

if(区段占用)

返回(进路不能建立);

if(存在其他照查条件)

返回(进路不能建立);

if(进路中道岔位置不正确)

{

将进路的进程标志设置成锁闭标志;

返回(进路选排完成);

}

else

{

if(道岔所在区段被占用)

返回(进路不能建立);

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(调车完全驶入进路)

{

信号机立即关闭;

设置进路进程标志为进路解锁标志;

返回(信号开放功能完成);

}

 

返回(等待开放)

}

else

{

if(如果进路中有区段被占用)

返回(故障);

{

设置进路进程标志为进路解锁标志为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程序代码:

PrivateSubCommand1_Click()

IfLabel13.BackColor=&HFFFF&Then

Label13.BackColor=&HC0&

Else

Label13.BackColor=&HFFFF&

EndIf

EndSub

PrivateSubCommand10_Click()

End

EndSub

PrivateSubCommand11_Click()

IfLabel21.BackColor=&HFFFF&Then

Label21.BackColor=&HC0&

Else

Label21.BackColor=&HFFFF&

EndIf

EndSub

PrivateSubCommand12_Click()

IfLabel30.BackColor=&HFFFF&Then

Label30.BackColor=&HC0&

Else

Label30.BackColor=&HFFFF&

EndIf

IfLabel9.BackColor=&HC0&AndLabel30.BackColor=&HC0&Then

IfLabel21.BackColor=&HC0&Then

Line99.BorderColor=&H8000000A

Line150.BorderColor=&H8000000A

Line90.BorderColor=&H8000000A

Line91.BorderColor=&H8000000A

Line92.BorderColor=&H8000000A

Line93.BorderColor=&H8000000A

Line94.BorderColor=&H8000000A

Line95.BorderColor=&H8000000A

Line148.BorderColor=&H8000000A

Line147.BorderColor=&H8000000A

Line149.BorderColor=&H8000000A

Else

Line99.BorderColor=&H8000000A

Line150.BorderColor=&H8000000A

Line90.BorderColor=&H8000000A

Line91.BorderColor=&H8000000A

Line139.BorderColor=&H8000000A

Line139.BorderColor=&H8000000A

Line110.BorderColor=&H8000000A

Line111.BorderColor=&H8000000A

Line149.BorderColor=&H8000000A

EndIf

EndIf

IfLabel8.BackColor=&HC0&AndLabel30.BackColor=&HC0&Then

IfLabel14.BackColor=&HC0&Then

Line88.BorderColor=&H8000000A

Line89.BorderColor=&H8000000A

Line90.BorderColor=&H8000000A

Line91.BorderColor=&H8000000A

Line139.BorderColor=&H8000000A

Line110.BorderColor=&H8000000A

Line111.BorderColor=&H8000000A

Line149.BorderColor=&H8000000A

Else

IfLabel21.BackColor=&HC0&Then

Line88.BorderColor=&H8000000A

Line89.BorderColor=&H8000000A

Line90.BorderColor=&H8000000A

Line91.BorderColor=&H8000000A

Line92.BorderColor=&H8000000A

Line93.BorderColor=&H8000000A

Line94.BorderColor=&H8000000A

Line148.BorderColor=&H8000000A

Line95.BorderColor=&H8000000A

Line147.BorderColor=&H8000000A

Line149.BorderColor=&H8000000A

Else

Line88.BorderColor=&H8000000A

Line151.BorderColor=&H8000000A

Line106.BorderColor=&H8000000A

Line107.BorderColor=&H8000000A

Line108.BorderColor=&H8000000A

Line110.BorderColor=&H8000000A

Line111.BorderColor=&H8000000A

Line149.BorderColor=&H8000000A

EndIf

EndIf

EndIf

EndSub

PrivateSubCommand13_Click()

IfLabel12.BackColor=&HFFFF&Then

Label12.BackColor=&HC0&

Else

Label12.BackColor=&HFFFF&

EndIf

EndSub

PrivateSubCommand14_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=&H80000008

Line150.BorderColor=&H80000008

Line90.BorderColor=&H80000008

Line91.BorderColor=&H80000008

Line139.BorderColor=&H80000008

Line110.BorderColor=&H80000008

Line111.BorderColor=&H80000008

Line149.BorderColor=&H80000008

Line88.BorderColor=&H80000008

Line151.BorderColor=&H80000008

Line106.BorderColor=&H80000008

Line107.BorderColor=&H80000008

Line108.BorderColor=&H80000008

Line111.BorderColor=&H80000008

Line89.BorderColor=&H80000008

Line92.BorderColor=&H80000008

Line93.BorderColor=&H80000008

Line94.BorderColor=&H80000008

Line152.BorderColor=&H80000008

Line103.BorderColor=&H80000008

Line108.BorderColor=&H80000008

Line111.BorderColor=&H80000008

Line100.BorderColor=&H80000008

Line101.BorderColor=&H80000008

Line102.BorderColor=&H80000008

Line95.BorderColor=&H80000008

Line96.BorderColor=&H80000008

Line137.BorderColor=&H80000008

Line147.BorderColor=&H80000008

Line148.BorderColor=&H80000008

Line155.X1=120

Line155.X2=240

Line155.Y1=2400

Line155.Y2=2400

Timer1.Enabled=False

Timer2.Enabled=False

EndSub

PrivateSubCommand15_Click()

IfLabel10.BackColor=&HFFFF&Then

Label10.BackColor=&HC0&

Else

Label10.BackColor=&HFFFF&

EndIf

EndSub

PrivateSubCommand16_Click()

IfLabel18.BackColor=&HFFFF&Then

Label18.BackColor=&HC0&

Else

Label18.BackColor=&HFFFF&

EndIf

EndSub

PrivateSubCommand17_Click()

IfLabel24.BackColor=&HFFFF&Then

Label24.BackColor=&HC0&

Else

Label24.BackColor=&HFFFF&

EndIf

EndSub

PrivateSubCommand18_Click()

Timer1.Enabled=True

EndSub

PrivateSubCommand19_Click()

Timer1.Enabled=False

Timer2.Enabled=False

EndSub

PrivateSubCommand2_Click()

IfLabel8.BackColor=&HFFFF&Then

Label8.BackColor=&HC0&

Else

Label8.BackColor=&HFFFF&

EndIf

IfLabel9.BackColor=&HC0&AndLabel30.BackColor=&HC0&Then

Line99.BorderColor=&H8000000A

Line150.BorderColor=&H8000000A

Line90.BorderColor=&H8000000A

Line91.BorderColor=&H8000000A

Line92.BorderColor=&H8000000A

Line139.BorderColor=&H8000000A

Line110.BorderColor=&H8000000A

Line111.BorderColor=&H8000000A

EndIf

IfLabel8.BackColor=&HC0&AndLabel30.BackColor=&HC0&Then

Line88.BorderColor=&H8000000A

Line151.BorderColor=&H8000000A

Line106.BorderColor=&H8000000A

Line107.BorderColor=&H8000000A

Line108.BorderColor=&H8000000A

Line110.BorderColor=&H8000000A

Line111.BorderColor=&H8000000A

EndIf

EndSub

PrivateSubCommand20_Click()

Timer2.Enabled=True

EndSub

PrivateSubCommand3_Click()

IfLabel9.BackColor=&HFFFF&Then

Label9.BackColor=&HC0&

Else

Label9.BackColor=&HFFFF&

EndIf

IfLabel9.BackColor=&HC0&AndLabel30.BackColor=&HC0&Then

Line99.BorderColor=&H8000000A

Line150.BorderColor=&H8000000A

Line90.BorderColor=&H8000000A

Line91.BorderColor=&H8000000A

Line139.BorderColor=&H8000000A

Line110.BorderColor=&H8000000A

Line111.BorderColor=&H8000000A

Line149.BorderColor=&H8000000A

EndIf

EndSub

PrivateSubCommand4_Click()

IfLabel14.BackColor=&HFFFF&Then

Label14.BackColor

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2