| | |
| | | |
| | | protected static final byte CTRL = (byte)0xB0 ;//控制域 |
| | | |
| | | /** |
| | | * 检查命令参数 |
| | | * @return 信息 |
| | | */ |
| | | public abstract String checkParams(String ...params) ; |
| | | /** |
| | | * 命令帮助信息 |
| | | * @return 信息 |
| | | */ |
| | | public abstract String helpInfo() ; |
| | | /** |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public abstract String hex(String rtuAddr, String ...params) throws Exception ; |
| | | /** |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public abstract byte[] bs(String rtuAddr, String ...params) throws Exception ; |
| | | |
| | | public byte[] createHead(String rtuAddr, String code, byte ctrl)throws Exception { |
| | |
| | | return ComCode + "[Enter](心跳命令应答(链路维持报应答))" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + " *...*[Enter](设置控制器地址)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + " *...* *...*[Enter](设置服务端IP和端口)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + " *...*[Enter](设置流量采集周期)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + " *...*[Enter](设置自报周期)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](查询控制器地址)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](查询自报周期)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](查询服务端IP和端口)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](查询查询流量采集周期)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](清空历史记录)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](平台远程开启阀门)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr,params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | return ComCode + "[Enter](平台远程关闭阀门)" ; |
| | | } |
| | | /** |
| | | * 构造心跳数据 |
| | | * @return 字节数组 |
| | | * 构造命令数据(十六进制) |
| | | * @return 字符串 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public String hex(String rtuAddr, String ...params) throws Exception { |
| | | byte[] bytes = bs(rtuAddr, params) ; |
| | | String hex = ByteUtil.bytes2Hex(bytes, false) ; |
| | | return hex ; |
| | | return ByteUtil.bytes2Hex(bytes, false) ; |
| | | } |
| | | |
| | | /** |
| | | * 构造心跳数据 |
| | | * 构造命令数据(字节数组) |
| | | * @return 字节数组 |
| | | * @throws Exception 异常 |
| | | */ |
| | |
| | | } |
| | | } |
| | | |
| | | private static void cd02(List<String> comList, PrintWriter prtWrt)throws Exception{ |
| | | P206V1Cd cd = new P206V1Cd02() ; |
| | | if(comList.size() > 1){ |
| | | String p = comList.get(1); |
| | | if(p.equals("-h")){ |
| | | prtWrt.println(cd.helpInfo()); |
| | | }else{ |
| | | Command.outNoIdentify(prtWrt) ; |
| | | } |
| | | }else{ |
| | | Command.out(cd.hex(ServerProperties.rtuAddr), prtWrt); |
| | | } |
| | | } |
| | | |
| | | private static void cdWithoutParam(P206V1Cd cd, List<String> comList, PrintWriter prtWrt)throws Exception{ |
| | | if(comList.size() > 1){ |
| | | String p = comList.get(1); |