/** * 支持的 Modbus 类型 */ export const MODBUS_TYPES = { WRITE_ADDRESS: 'WRITE_ADDRESS', READ_REGISTER: 'READ_REGISTER', }; /** * Modbus 协议帧配置 */ export const MODBUS_FRAME_CONFIG = { Lora: { WRITE_ADDRESS: { //写地址 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: 0x00, functionCode: 0x06, startAddress: 0x0017, value: null, }, GET_ADDRESS: { //读取地址 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: 0xFF, // 从协议数据看是FF functionCode: 0x03, // 功能码03 startAddress: 0x0001, // 起始地址0001 value: "0x0046", // 读取0个寄存器(根据实际需求可调整) }, TIMED_TASKS:{ //定时任务 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x03, startAddress: 0x0001, value: "0x0046", }, RAIN:{ //雨 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0200", }, SNOW:{ //雪 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0100", }, WIND:{ //风 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0400", }, FLATTEN:{ //放平 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0040", }, STOP:{ //停止 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0080", }, READ_MANUAL:{ //手动 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0010", }, READ_AUTO:{ //自动 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0020", }, READ_DOWN:{ //向东 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0018", }, READ_UP:{ //向西 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0014", }, READ_CANCEL:{ //取消 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0029, value: "0x0000", }, READ_TIME:{ //校正时间 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x002C, value: null, }, READ_TEMPERATURE:{ //天文写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x0032, value: null, }, READ_LIMIT:{ //限位写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x0040, value: null, }, READ_INCLINATION:{ //坡度写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x003C, value: null, }, READ_FREQUENCY:{ //频点写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x0019, value: null, }, READ_DIRECTION:{ //电机方向 正转动 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0025, value: "0x0000", }, READ_REVERSE:{ //电机方向 反转 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0025, value: "0x0001", }, READ_RETURN:{ //夜返角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0042, value: null, }, READ_FLAT:{ //放平角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0043, value: null, }, READ_SPECIFY:{ //指定角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0045, value: null, }, READ_SNOW:{ //雪天角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0044, value: null, }, READ_WIND:{ //大风角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0046, value: null, }, READ_OVERCURRENT:{ //过流写入 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0026, value: null, }, READ_TRACKING:{ //跟踪精度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0027, value: null, }, READ_MOTOR_STOP: { // 停止 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0013, // 19号寄存器 (十进制) value: "0x0000", }, READ_MOTOR1_EAST: { // 电机1向东 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0013, // 19号寄存器 (十进制) value: "0x0001", }, READ_MOTOR1_WEST: { // 电机1向西 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0013, // 19号寄存器 (十进制) value: "0x0002", }, READ_MOTOR2_EAST: { // 电机2向东 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0013, // 19号寄存器 (十进制) value: "0x0003", }, READ_MOTOR2_WEST: { // 电机2向西 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0013, // 19号寄存器 (十进制) value: "0x0004", }, }, zigbee: { WRITE_ADDRESS: { //写地址 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: 0x00, functionCode: 0x06, startAddress: 0x001F, value: null, }, GET_ADDRESS: { //读取地址 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: 0xFF, functionCode: 0x03, startAddress: 0x0001, value: "0x0046", }, TIMED_TASKS:{ //定时任务 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x03, startAddress: 0x0001, value: "0x003C", }, RAIN:{ //雨 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0200", }, SNOW:{ //雪 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0100", }, WIND:{ //风 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0400", }, FLATTEN:{ //放平 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0040", }, STOP:{ //停止 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0080", }, READ_MANUAL:{ //手动 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0010", }, READ_AUTO:{ //自动 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0020", }, READ_DOWN:{ //向东 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0018", }, READ_UP:{ //向西 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0014", }, READ_CANCEL:{ //取消 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0002, value: "0x0000", }, READ_TIME:{ //校正时间 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x000E, value: null, }, READ_TEMPERATURE:{ //天文写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x0014, value: null, }, READ_LIMIT:{ //限位写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x0028, value: null, }, READ_INCLINATION:{ //坡度写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x10, startAddress: 0x0020, value: null, }, READ_FREQUENCY:{ //频点写入 type: MODBUS_TYPES.READ_REGISTER, slaveAddress: null, functionCode: 0x06, startAddress: 0x002F, value: null, }, READ_DIRECTION:{ //电机方向 正转动 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x002E, value: "0x0000", }, READ_REVERSE:{ //电机方向 反转 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x002E, value: "0x0001", }, READ_RETURN:{ //夜返角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0042, value: null, }, READ_FLAT:{ //放平角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x002B, value: null, }, READ_SPECIFY:{ //指定角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x002C, value: null, }, READ_SNOW:{ //雪天角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x002A, value: null, }, READ_WIND:{ //大风角度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x002D, value: null, }, READ_OVERCURRENT:{ //过流写入 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x001E, value: null, }, READ_TRACKING:{ //跟踪精度 type: MODBUS_TYPES.WRITE_ADDRESS, slaveAddress: null, functionCode: 0x06, startAddress: 0x0017, value: null, }, }, DEVICE_C: { }, };