package com.ld.igds.io.sample.lt; import com.ld.igds.util.BytesUtil; import lombok.extern.slf4j.Slf4j; /*** * * @author: andy.jia * @description: * @version: * @data:2020年3月19日 * */ @Slf4j public class CheckAnalysis { /** * 扦样机状态返回值:00 00 00 00 00 11 01 03 0E 00 00 00 11 00 00 00 01 00 00 00 01 * 00 13 * */ public static void analysisInfo(String ip, Integer port, byte[] bytes) { String strMsg = BytesUtil.bytesToString(bytes); log.debug("开始解析扦样机返回信息=" + strMsg); if(LtCheckClientEngine.CHECK_MAC.get(ip) == null ){ LtCheckClientEngine.CHECK_MAC.put(ip,new LtCHeckMac()); } // 状态解析 if (strMsg.length() >= 23 * 2) { // 运行状态 String status = strMsg.substring(18, 18 + 4); LtCheckClientEngine.CHECK_MAC.get(ip).setRunStatus(status); // 伺服报警 status = strMsg.substring(22, 26); LtCheckClientEngine.CHECK_MAC.get(ip).setWarnStatus(status); // 手动 status = strMsg.substring(26, 30); LtCheckClientEngine.CHECK_MAC.get(ip).setHandStatus(status); // 急停 status = strMsg.substring(30, 34); LtCheckClientEngine.CHECK_MAC.get(ip).setStopStatus(status); // 复位 status = strMsg.substring(34, 38); LtCheckClientEngine.CHECK_MAC.get(ip).setResetStatus(status); // 车辆识别 status = strMsg.substring(38, 42); LtCheckClientEngine.CHECK_MAC.get(ip).setCarStatus(status); log.info("扦样机状态解析完成={}", LtCheckClientEngine.CHECK_MAC.toString()); } } }