铁路控制系统初探

在探讨控制系统前,先说说控制系统的需求:

 

1> 控制铁路轨道上各种设备的工作

2> 协调各设备之间协作

 

这2点有些过于抽象了,任何一个系统都有这些特性。

 

从系统设计的角度, 要做2方面的事情。

1> 确定控制系统与外部设备间的通信接口与协议

2> 确定内部系统构成与功能。

 

1.1 关于通信协议与接口, 行业上通用的是modbus接口, 参考网站: http://libmodbus.org/

另外一些协议均是与公司有关,设计到保密协议,无法深入讨论。个人感觉最深的是, 均是udp协议,这颠覆了我一直认为tcp更安全的偏见。

通过学习这些接口,也学会了如何利用sequence ID 与Time设计一个稳定安全的内部通讯协议。

 

1.2 关于数据,整个控制系统使用的均是开关信号, 将它看成一个BitTable, 数学上理解就很简单了。

 

2.1 关于控制系统

基本上分为2个系统,一个是监控与log系统, 一个是逻辑控制系统。

第一个系统, 和通用系统没啥区别,用linux构建,完成系统状态的监控与显示。

第2个是逻辑控制系统, 基本是基于PLC设计原理。

基本思路: 定周期Timer触发处理流程

读取各系统状态与输入设备缓冲区状态

依次执行PLC控制逻辑

读取输出状态,通过外设继电器控制各种设备状态。

 

难点: 如何设计控制规则

了解下来,基本工具类似Ladder, 也就是常说的梯形图, 关于Ladder参考 (http://www.ladder-logic.com/hello-world/)

通过工具设计好控制逻辑后,将控制逻辑导出,并通过通信协议,传输到控制系统。

这样,整个控制系统就是可编程的了。

 

系统从技术上来说就2个难点, 1, 如何设计控制逻辑, 2 如何通过GUI,显示整个控制系统,并提供良好的人机交互。

 

2.2 安全

整个系统的稳定性是靠系统冗余来解决的。即所有设备和通信网络均由2个, 这样,假设单线的故障概率为0.001, 整个系的故障概率就为 (0.001)的4次方,

很低了。

 

这里有个难点是,主从系统如何切换,如何处理冗余系统, 这就又回到第一个问题,通信协议的设计了。

Tagged:

Comments are closed.