package com.fr.tx.common.consts;

/**
 * MODBUS常量
 * 
 * @author Administrator
 *
 */
public interface MbConsts {

	/**
	 * 通信时间间隔
	 */
	int SEND_TIME = 300;
	
	/**
	 * 通信时间间隔
	 */
	int SEND_RTU_TIME = 600;
	
	/**
	 * 通信时间间隔
	 */
	int SEND_COM_TIME = 5000;
	
	/**
	 * 插入间隔
	 */
	long INSERT_TIME = 60000;
	
	/**
	 * 错误key
	 */
	String MB_ERROR_KEY = "8";

	/**
	 * 功能码不支持
	 */
	String MB_ERROR_01_8001 = "8001";

	/**
	 * 非法数据地址
	 */
	String MB_ERROR_01_8002 = "8002";

	/**
	 * 非法数据值
	 */
	String MB_ERROR_01_8003 = "8003";

	/**
	 * 从站设备故障
	 */
	String MB_ERROR_01_8004 = "8004";
	
	
	/**
	 * 功能码不支持
	 */
	String MB_ERROR_02_8201 = "8201";

	/**
	 * 非法数据地址
	 */
	String MB_ERROR_02_8202 = "8202";

	/**
	 * 非法数据值
	 */
	String MB_ERROR_02_8203 = "8203";

	/**
	 * 从站设备故障
	 */
	String MB_ERROR_01_8204 = "8204";
	
	
	/**
	 * 功能码不支持
	 */
	String MB_ERROR_03_8301 = "8301";

	/**
	 * 非法数据地址
	 */
	String MB_ERROR_03_8302 = "8302";

	/**
	 * 非法数据值
	 */
	String MB_ERROR_03_8303 = "8303";

	/**
	 * 从站设备故障
	 */
	String MB_ERROR_01_8304 = "8304";
	
	
	
	/**
	 * 功能码不支持
	 */
	String MB_ERROR_04_8401 = "8401";

	/**
	 * 非法数据地址
	 */
	String MB_ERROR_04_8402 = "8402";

	/**
	 * 非法数据值
	 */
	String MB_ERROR_04_8403 = "8403";

	/**
	 * 从站设备故障
	 */
	String MB_ERROR_04_8404 = "8404";
	
	/**
	 * 功能码不支持
	 */
	String MB_ERROR_05_8501 = "8501";

	/**
	 * 非法数据地址
	 */
	String MB_ERROR_05_8502 = "8502";

	/**
	 * 非法数据值
	 */
	String MB_ERROR_05_8503 = "8503";

	/**
	 * 从站设备故障
	 */
	String MB_ERROR_05_8504 = "8504";
	
	/**
	 * 功能码不支持
	 */
	String MB_ERROR_06_8601 = "8601";

	/**
	 * 非法数据地址
	 */
	String MB_ERROR_06_8602 = "8602";

	/**
	 * 非法数据值
	 */
	String MB_ERROR_06_8603 = "8603";

	/**
	 * 从站设备故障
	 */
	String MB_ERROR_06_8604 = "8604";
	
	/**
	 * modbus协议
	 */
	String MB_PROTOCOL = "0000";
	
	/**
	 * 长度
	 */
	String MB_LENGTH = "0006";
	
	/**
	 * 地址
	 */
	String MB_ADDRESS = "01";
	
	/**
	 * 报警websocket通道名称
	 */
	String WEBSOCKET_WARING = "waringlist";
	
	/**
	 * 功能码（0x01）-读继电器输出状态
	 */
	String FUNCTION_CODE_01 = "01";
	
	/**
	 * 功能码（0x02）-读开关量输入状态
	 */
	String FUNCTION_CODE_02 = "02";
	
	/**
	 * 功能码（0x03）-读取保持寄存器的值
	 */
	String FUNCTION_CODE_03 = "03";
	
	/**
	 * 功能码（0x04）-读取输入寄存器的值
	 */
	String FUNCTION_CODE_04 = "04";
	
	/**
	 * 功能码（0x05）-写单个线圈
	 */
	String FUNCTION_CODE_05 = "05";
	
	/**
	 * 功能码（0x06）-写单个寄存器
	 */
	String FUNCTION_CODE_06 = "06";
	
	/**
	 * 遥信一次拿的变量个数
	 */
	int YXONCE_NUM = 1600;
	
	/**
	 * 遥测一次拿的变量个数
	 */
	int YCONCE_NUM = 50;
	
	/**
	 * 遥脉一次拿的变量个数
	 */
	int YMONCE_NUM = 50;
	
	/**
	 * 遥测一次拿的变量个数串口转发
	 */
	int SERIAL_YCONCE_NUM = 60;
	
	/**
	 * 遥测一次拿的变量个数
	 */
	int YCONCE_NUM_HALF = YCONCE_NUM/2;
	
	/**
	 * 遥测一次拿的变量个数
	 */
	int YMONCE_NUM_HALF = YMONCE_NUM/2;

	/**
	 * 分析顺序ABCD
	 */
	String R4_ABCD = "ABCD";
	
	/**
	 * 分析顺序CDAB
	 */
	String R4_CDAB = "CDAB";
	
	/**
	 * 处理方式 1-E14表 y=R4(Xa,Xb,Xc,Xd)
	 */
	String DEAL_TYPE_1 = "1";
	
	/**
	 * 处理方式 2-E14表 y=k*R4(Xa,Xb,Xc,Xd)+b
	 */
	String DEAL_TYPE_2 = "2";
	
	/**
	 * 处理方式 3-南瑞点表 y=R4(Xc,Xd,Xa,Xb)
	 */
	String DEAL_TYPE_3 = "3";
	
	/**
	 * 处理方式 4-南瑞点表 y=k*R4(Xc,Xd,Xa,Xb)+b
	 */
	String DEAL_TYPE_4 = "4";
	
	/**
	 * 处理方式 5-无符号16位 kb系数
	 */
	String DEAL_TYPE_5 = "5";
	
	/**
	 * 处理方式 6-无符号32位 kb系数
	 */
	String DEAL_TYPE_6 = "6";
	
	/**
	 * 处理方式 7-BCD
	 */
	String DEAL_TYPE_7 = "7";
	
	/**
	 * 处理方式 8-有符号16位
	 */
	String DEAL_TYPE_8 = "8";
	
	/**
	 * 处理方式 9-有符号32位
	 */
	String DEAL_TYPE_9 = "9";
	/**
	 * 处理方式 10-无符号32位 kb系数 cdab
	 */
	String DEAL_TYPE_10 = "10";
	
	/**
	 * 常用字符串 col
	 */
	String COL = "col";
	
	/**
	 * 常用字符串 colcvt
	 */
	String COLCVT = "colcvt";
	
	/**
	 * 32位格式
	 */
	String TYPE_32 = "32";
	
	/**
	 * 16位格式
	 */
	String TYPE_16 = "16";
}
