package com.ld.igds.protocol.es.dlt645.builder; import com.ld.igds.protocol.es.dlt645.util.Dlt645Utils; /** * 电表命令生成 * * @author czt */ public class CommandBuild { private final static CommandBuild instance = new CommandBuild(); private CommandBuild() { } public static CommandBuild getInstance() { return instance; } /** * 能耗采集命令 * * @param esAddr 电表地址 * @return */ public static String getMsgCheck(String esAddr) { //获取命令 StringBuffer sb = new StringBuffer(); //帧起始符 sb.append("68"); //地域域,反向拼接 sb.append(Dlt645Utils.addrToString(esAddr)); //帧起始符 sb.append("68"); //控制码及 sb.append("11"); //数据域长度 sb.append("04"); //数据域 sb.append("33333433"); //校验码 String checkNum = Dlt645Utils.makeCheck(sb.toString()); sb.append(checkNum); StringBuffer sb0 = new StringBuffer(); //起始符 sb0.append(Dlt645Utils.MSG_START); sb0.append(sb); //结尾符 sb0.append(Dlt645Utils.MSG_END); return sb0.toString(); } }