计轴区段

This commit is contained in:
xzb 2023-10-20 16:02:26 +08:00
parent bd07a6c491
commit b21ba705ae

View File

@ -1,27 +1,39 @@
package component
// AxleSectionState 计轴区段设备(由几个计轴检测点、一个或多个轨道区段、计轴器运算电路组成)
import "joylink.club/ecs"
// AxleSectionState 计轴区段状态
type AxleSectionState struct {
//true-计轴占用
Occ bool
//true-计轴出清
Clr bool
//true-计轴复位反馈
}
//计轴直接复位:计轴的轮对计数清零,区段转换为空闲状态
//计轴预复位:将计轴的轮对计数清零,但是区段不会立即变成空闲区段,而是处于一种“占用”状态,在压道车通过之后确认区段空闲且计轴正常后,区段转换为空闲状态
//
//当CI系统给计轴设备发送计轴直接复零/预复零命令时,连续发送一定时间(具体发送时间调试后确定)的复零/预复零命令。
//当RACRJORJT任意一个不为0时终止发送复零/预复零命令。
// AxleSectionDevice 计轴区段设备(由几个计轴检测点、一个或多个轨道区段、计轴器运算电路组成)
type AxleSectionDevice struct {
//true-计轴复位反馈,表示计轴设备已收到CI系统发送的直接复零/预复零命令。
Rac bool
//true-运营原因拒绝计轴复位,如区段空闲时下发复位命令;或车轮压住传感器时收到复位命令。
Rjo bool
//true-技术原因拒绝计轴复位,主要指计轴相关设备故障时收到复位命令如车轮传感器的导线断开、AEB之间的通信故障等
Rjt bool
//计轴区段内车轴数
Count int16
//连续收到CI发送来的直接复位命令的次数
DrstSum int32
//连续收到CI发送来的预复位命令的次数
PdrstSum int32
}
// AxleSectionDevice 计轴器设备(通过接收计轴物理区段的计轴检测点的信号来运算出计轴物理区段内的车轴数)
type AxleSectionDevice struct {
//计轴区段内车轴数
AxleCount int16
//true-正在进行计轴预复位
AxlePdrst bool
}
type AxleDeviceDrive struct {
// AxleSectionDeviceDrive 计轴区段设备驱动
type AxleSectionDeviceDrive struct {
//true-计轴直接复位
//计轴的轮对计数清零,区段转换为空闲状态
Drst bool
@ -29,3 +41,9 @@ type AxleDeviceDrive struct {
//将计轴的轮对计数清零,但是区段不会立即变成空闲区段,而是处于一种“占用”状态,在压道车通过之后确认区段空闲且计轴正常后,区段转换为空闲状态
Pdrst bool
}
var (
AxleSectionStateType = ecs.NewComponentType[AxleSectionState]()
AxleSectionDeviceType = ecs.NewComponentType[AxleSectionDevice]()
AxleSectionDeviceDriveType = ecs.NewComponentType[AxleSectionDeviceDrive]()
)