计算机联锁程序设计模型.doc
《计算机联锁程序设计模型.doc》由会员分享,可在线阅读,更多相关《计算机联锁程序设计模型.doc(9页珍藏版)》请在冰豆网上搜索。
课程名称:
计算机联锁
设计题目:
计算机联锁进路选排设计
院系:
计算机与通信工程系
年级:
2006级
姓名:
指导教师:
2009年10月6日
课程设计任务书
专业铁道信号姓名学号20067033
开题日期:
09年10月6日完成日期:
09年12月31日
题目计算机联锁进路选排设计
一、设计的目的
通过对课程设计任务的完成,进一步理解计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。
二、设计的内容及要求
要求每位同学能够根据对计算机联锁作业过程的认识,结合课程设计的内容,独立完成该课程设计。
设计内容:
1)计算机联锁数据库设计;
2)计算机联锁进路处理程序的设计;
3)系统软件平台的人机界面的设计。
三、指导教师评语
四、成绩
指导教师(签章)
年月日
根据下面信号布置图及进路搜索流程图:
①绘出站场型数据模块链接图,并用单链表实现(搜索方向自定);
②定义其动态变量(只要求关键变量的功能函数);
③编程实现进路搜索过程,并详细标明注释;
④在K
(1)处设置导向标志Yd时:
按所编制程序实现D1到SII进路搜索过程。
一、站场型数据模块链接图
图1站场型数据结构
图2 搜索K(D1)-->K(S II)调车进路
二、动态变量及其定义
站场计算机联锁中动态变量有以下几种:
操作输入变量、状态输入变量、表示输出变量、设备控制变量、中间变量五种,各自作用如下:
操作输入变量:
反映操作人员操作动作的开关量,在联锁系统中,为了防止误动一个操作而形成操作命令,一般需要由两次或两次以上的操作才能形成操作命令,操作输入变量是形成操作命令的原始数据。
状态输入变量:
反映监控对象状态的变量,如轨道电路区段状态、道岔状态、信号机状态、灯丝状态,以及与进路相关的其他设备状态等。
状态变量是参与联锁运算的安全数据。
表示输出变量:
指向控制台、表示盘或屏幕显示器提供的变量。
设备控制变量:
设备控制变量是指控制信号机和转辙机的变量。
中间变量:
联锁程序执行过程中产生的一些变量,是实现联锁逻辑而起过度或中间转换作用的。
有的存放在动态数据模块中,有的动态产生
并动态释放。
定义动态变量:
JLKZB
typedefstruct
{
jlh:
1;
jlxz:
xlj;
jllx:
b;
sdan:
D1;
zdan:
SII;
ztxhjh:
D1、D13、SII;
}JLKZB;
XHKZB
typedefstruct
{
anh:
D1、SII;
xmzt:
gb;
xhzt:
gb;
xhkz:
jz;
dszt:
zc;
yxdszt:
zc;
opened:
f;
}XHKZB
DCKZB
typedefstruct
{
sdch1/3、17/19;
sqdh:
1DG、3DG、17DG、19DG;cmzt:
fw;
dczt:
sb;
sbjlh:
wsb;
lkh:
101;
used:
o;
funcSb:
o;
delay:
3s;
}DCKZB;
QDZTB
typedefstruct
{
qdbh:
1DG、3DG、17DG、19DG;
qdxz:
DG;
qdlx:
**;
qdzt:
kx;
sbflag:
hgd;
lkh:
201;
used:
do;
}QDZTB;
ANREC
typedefstruct
{
anxz:
dx、lx;
anlx:
fzfs、zfs;
temp:
301、302;
}ANREC;
三、编程实现进路搜索过程的代码
DimiAsInteger
PrivateSubCommand1_Click()
Timer1.Enabled=True
Timer1.Interval=300
EndSub
PrivateSubCommand5_Click()
Timer2.Enabled=True
Timer2.Interval=300
EndSub
PrivateSubTimer1_Timer()
………………………………'始端闪灯
IfCommand1.BackColor=&H0&Then
Command1.BackColor=&HFFFFFF
Else
Command1.BackColor=&H0&
EndIf
EndSub
PrivateSubTimer2_Timer()
…………………………'终端闪灯
IfCommand5.BackColor=&H0&Then
Command5.BackColor=&HFFFFFF
Else
Command5.BackColor=&H0&
EndIf
……………………………………'调车信号灯闪灯
IfCommand3.BackColor=&H0&Then
Command3.BackColor=&HFFFFFF
Else
Command3.BackColor=&H0&
EndIf
……………………………………'导向标
IfLine21.BorderColor=&H0&Then
Line21.BorderColor=&HFF&
Else
Line21.BorderColor=&H0&
EndIf
……………………………………'道岔转换1
IfLine8.BorderColor=&H0&Then
Line8.BorderColor=&H808080
Else
Line8.BorderColor=&H0&
EndIf
IfLine7.BorderColor=&H0&Then
Line7.BorderColor=&H808080
Else
Line7.BorderColor=&H0&
EndIf……………………………………'道岔转换2
IfLine15.BorderColor=&H0&Then
Line15.BorderColor=&H808080
Else
Line15.BorderColor=&H0&
EndIf
IfLine32.BorderColor=&H0&Then
Line32.BorderColor=&H808080
Else
Line32.BorderColor=&H0&
EndIf
i=i+1
If(i=10)Then
Timer3.Enabled=True
Timer3.Interval=300
Timer1.Enabled=False
Timer2.Enabled=False
EndIf
Debug.Printi
EndSub
PrivateSubTimer3_Timer()
Timer1.Enabled=False
Timer2.Enabled=False
……………………………'始端亮稳定绿灯
Command1.BackColor=&HFFFFFF
……………………………'终端闪灯
Command5.BackColor=&HFFFFFF
……………………………'道岔转换完成
Line8.BorderColor=&HFFFFFF
Line7.BorderColor=&HFFFFFF
Line15.BorderColor=&HFFFFFF
Line32.BorderColor=&HFFFFFF
……………………………’导向标转换完成
Line21.BorderColor=&HFFFFFF
……………………………'调车信号灯白灯
Shape3.FillColor=&HFFFFFF
Shape2.FillColor=&HFFFFFF
……………………………'光带点亮
Line10.BorderColor=&HFFFFFF
Line9.BorderColor=&HFFFFFF
Line14.BorderColor=&HFFFFFF
Line18.BorderColor=&HFFFFFF
Line20.BorderColor=&HFFFFFF
……………………………'