using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MV485.model { public class Constant { public const byte METER_TYPE_NUM_IND = 1; public const byte METER_TYPE_IND = 2; public const byte METER_TYPE_NUM = 3; public const ulong CUBE_VALUE = 10000; public const ushort MB_REGISTER_ADD_SAMPLE_RESULT = 0x00; public const ushort MB_REGISTER_NUM_SAMPLE_RESULT = 4; public const ushort MB_REGISTER_ADD_SAMPLE_TIME = 0x04; public const ushort MB_REGISTER_NUM_SAMPLE_TIME = 6; public const ushort MB_REGISTER_ADD_RESULT_TYPE = 0x000A; //识别结果的类型 public const ushort MB_REGISTER_NUM_RESULT_TYPE = 1; //寄存器数量 //结果已立方为单位时保留的小数位数 public const ushort MB_REGISTER_ADD_RESULT_DECIMAL_PLACES = 0x000C; //识别结果小数点位数 public const ushort MB_REGISTER_NUM_RESULT_DECIMAL_PLACES = 1; public const ushort MB_REGISTER_ADD_DEVICE_TIME = 0x0053; //设备时钟 public const ushort MB_REGISTER_NUM_DEVICE_TIME = 6; //6个寄存器 public const ushort MB_REGISTER_ADD_FIREWARE_ROLLBACK = 0x005A; //固件回滚指令 public const ushort MB_REGISTER_NUM_FIREWARE_ROLLBACK = 1; //1个寄存器 //写升级包信息 public const ushort MB_REGISTER_ADD_UPGRADE_DATA = 0x005C; //升级包的基本信息 //前2个地址为升级包的大小,后2个字节为升级文件的CRC32 public const ushort MB_REGISTER_NUM_UPGRADE_DATA = 4; //寄存器数量(4个) public const ushort MB_REGISTER_ADD_MODEL_NAME = 0x00D2; //模块名称,如:0x4001,即RS485水表 public const ushort MB_REGISTER_NUM_MODEL_NAME = 1; public const ushort MB_REGISTER_ADD_FIREWARE = 0x00D4; //固件版本 public const ushort MB_REGISTER_NUM_FIREWARE = 2; public const ushort MB_REGISTER_ADD_DEVICE_SN = 0x00E5; //设备SN public const ushort MB_REGISTER_NUM_DEVICE_SN = 3; public const ushort MB_REGISTER_ADD_ADDRESS = 0x00F0; //站地址 public const ushort MB_REGISTER_NUM_ADDRESS = 1; public const ushort MB_REGISTER_ADD_BAUDRATE = 0x00F2; public const ushort MB_REGISTER_NUM_BAUDRATE = 1; //生效标志,接收此标志后写入配置并重启设备 public const ushort MB_REGISTER_IMAGE_SIZE = 0x0061; //1个字节 public const ushort MB_REGISTER_ADD_EFFECT_FLAG = 0x0063; //寄存器数量 public const ushort MB_REGISTER_NUM_EFFECT_FLAG = 1; public const ushort MB_REGISTER_ADD_METER_TYPE = 0x0065; //水表类型,1:数字+指针 2:全指针 3:全数字 public const ushort MB_REGISTER_NUM_METER_TYPE = 1; public const ushort MB_REGISTER_ADD_DN_VALUE = 0x0067; //每小时最大流量(m³) public const ushort MB_REGISTER_NUM_DN_VALUE = 1; public const ushort MB_REGISTER_ADD_DIGIT_COUNT = 0x0069; //数字个数 public const ushort MB_REGISTER_NUM_DIGIT_COUNT = 1; public const ushort MB_REGISTER_ADD_INDICATOR_COUNT = 0x006B; //指针个数 public const ushort MB_REGISTER_NUM_INDICATOR_COUNT = 1; public const ushort MB_REGISTER_ADD_BRIGHT_VALUE = 0x006D; //照片亮度系数 public const ushort MB_REGISTER_NUM_BRIGHT_VALUE = 1; public const ushort MB_REGISTER_ADD_LAST_UNIT_LEVEL = 0x006F; //尾数单位等级 public const ushort MB_REGISTER_NUM_LAST_UNIT_LEVEL = 1; public const ushort MB_REGISTER_ADD_LATEST_VALUE = 0x0071; //表底读数 public const ushort MB_REGISTER_NUM_LATEST_VALUE = 4; public const ushort MB_REGISTER_ADD_LATEST_TIME = 0x0076; //表底读数时间 public const ushort MB_REGISTER_NUM_LATEST_TIME = 6; public const ushort MB_REGISTER_ADD_METER_REGION = 0x007D; //表盘区域坐标(左上,右下) public const ushort MB_REGISTER_NUM_METER_REGION = 4; public const ushort MB_REGISTER_ADD_DIGIT_REGION = 0x0082; //数字区域坐标(4个顶点坐标) public const ushort MB_REGISTER_NUM_DIGIT_REGION = 8; public const ushort MB_REGISTER_ADD_FTIND_REGION = 0x008B; //指针水表的首尾同刻度坐标 public const ushort MB_REGISTER_NUM_FTIND_REGION = 4; public const ushort MB_REGISTER_ADD_UPLOAD_REDIND = 0x008D; //是否上传红色指针部分 public const ushort MB_REGISTER_NUM_UPLOAD_REDIND = 1; public const ushort MB_REGISTER_ADD_SAMPLE_INTERVAL = 0x008F; //采样间隔 public const ushort MB_REGISTER_NUM_SAMPLE_INTERVAL = 1; public const ushort MB_REGISTER_ADD_SAMPLE_FIRST_HOUR = 0x0091; //首次采样时间 public const ushort MB_REGISTER_NUM_SAMPLE_FIRST_HOUR = 1; public static List AddressList = new List { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 }; } }