|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- module SampleModule {
-
- // 定义枚举类型,用于表示命令的状态
- enum CommandState {
- STOP, // 停止
- START // 启动
- };
-
- // 一次性采样配置数据
- struct SampleConfig {
- uint16 unifiedDepth; // 统一深度(全段面采样时使用)
- uint8 sampleOrder; // 大车行进顺序(1: 原点往外,2: 往原点采)
- };
-
- // 采样命令结构体
- struct SampleCommand {
- uint32 maskBits; // 32位掩码,表示哪些字段被修改
- uint8 controlType; // 控制类型(1: 就地,2: 远程)
- CommandState startSample; // 启动采样命令
- CommandState stopSample; // 停止采样命令
- CommandState reset; // 系统复位命令
- CommandState positionCheck; // 位置确认命令
- CommandState emergencyUp; // 紧急提升命令
- CommandState emergencyStop; // 系统急停命令
- CommandState controlBelt1; // 启停皮带1
- CommandState controlBelt2; // 启停皮带2
- CommandState controlCrush1; // 启停破碎机1
- CommandState controlCrush2; // 启停破碎机2
- CommandState controlDivider; // 启停缩分器
- CommandState controlCoalDistributor; // 打开布煤器
- uint16 reductionRatio; // 缩分比
- uint8 version; // 结构体版本号(可选)
- };
-
- // 定义枚举类型,用于表示设备状态
- enum DeviceState {
- OFF, // 关闭
- ON, // 启动
- ERROR // 错误状态
- };
-
- // 采样机状态信息
- struct SampleMachineInfo {
- uint32 maskBits; // 32位掩码,表示哪些字段被修改
- uint16 bigPoint; // 大车位置
- uint16 smallPoint; // 小车位置
- uint16 depthPoint; // 深度位置
- uint8 hasToXY; // 到达坐标点(0: 未到达,1: 已到达)
- uint8 hasSamplePoints; // 已采样点数
- uint8 gameOver; // 采样完成(0: 未完成,1: 完成)
- uint16 backState; // 采样状态返回
- DeviceState sampleState; // 采样机状态
- DeviceState belt1State; // 皮带1状态
- DeviceState belt2State; // 皮带2状态
- DeviceState crush1State; // 破碎机1状态
- DeviceState crush2State; // 破碎机2状态
- DeviceState dividerState; // 缩分器状态
- uint8 bigLimit; // 大车限位(0: 未限位,1: 已限位)
- uint8 bigZeroLimit; // 大车零点限位(0: 未限位,1: 已限位)
- uint8 smallLimit; // 小车限位(0: 未限位,1: 已限位)
- uint8 smallZeroLimit; // 小车零点限位(0: 未限位,1: 已限位)
- uint8 upLimit; // 升高限位(0: 未限位,1: 已限位)
- uint8 downLimit; // 降低限位(0: 未限位,1: 已限位)
- uint8 version; // 结构体版本号(可选)
- };
-
- // 定义枚举类型,用于表示落料选择
- enum DropChoice {
- BYPASS, // 旁路
- CRUSHER // 破碎机
- };
-
- // 采样点信息
- struct SamplePoints {
- uint8 totalPoints; // 采样点数量
- uint16 x1; // 采样点1 X 坐标
- uint16 y1; // 采样点1 Y 坐标
- uint16 z1; // 采样点1 Z 坐标
- DropChoice o1; // 采样点1 落料选择
- uint16 x2; // 采样点2 X 坐标
- uint16 y2; // 采样点2 Y 坐标
- uint16 z2; // 采样点2 Z 坐标
- DropChoice o2; // 采样点2 落料选择
- uint16 x3; // 采样点3 X 坐标
- uint16 y3; // 采样点3 Y 坐标
- uint16 z3; // 采样点3 Z 坐标
- DropChoice o3; // 采样点3 落料选择
- uint16 x4; // 采样点4 X 坐标
- uint16 y4; // 采样点4 Y 坐标
- uint16 z4; // 采样点4 Z 坐标
- DropChoice o4; // 采样点4 落料选择
- uint16 x5; // 采样点5 X 坐标
- uint16 y5; // 采样点5 Y 坐标
- uint16 z5; // 采样点5 Z 坐标
- DropChoice o5; // 采样点5 落料选择
- uint16 x6; // 采样点6 X 坐标
- uint16 y6; // 采样点6 Y 坐标
- uint16 z6; // 采样点6 Z 坐标
- DropChoice o6; // 采样点6 落料选择
- };
- };
|