src/main/java/com/zy/asrs/controller/RgvController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/RgvProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/RgvThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -468,8 +468,20 @@ if (rgvCircularShuttleParam.getStatus()==0){ rgvCircularShuttleParam.setStatus$(rgvProtocol.statusType.desc); } if (rgvCircularShuttleParam.getError()==0){ rgvCircularShuttleParam.setError$(rgvProtocol.getAlarm$()); if (rgvProtocol.getAlarmList().isEmpty()){ rgvCircularShuttleParam.setError(0); rgvCircularShuttleParam.setError$("-"); } else { StringBuilder alarmList = new StringBuilder(); for (Integer alarm : rgvProtocol.getAlarmList()){ BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm); alarmList.append((rgvErr==null || rgvErr.getErrName()==null)? "未知异常:"+alarm:rgvErr.getErrName()); if (alarm.equals(rgvProtocol.getAlarmList().get(rgvProtocol.getAlarmList().size() - 1))){ break; } alarmList.append("---"); } rgvCircularShuttleParam.setError$(alarmList.toString()); } } } src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -4,6 +4,9 @@ import com.zy.core.enums.*; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * Created by vincent on 2020/8/7 */ @@ -104,6 +107,7 @@ * 异常码 */ public Short alarm; public List<Integer> alarmList = new ArrayList<>(); /** * 心跳指令 1-2每秒切换一次 src/main/java/com/zy/core/thread/RgvThread.java
@@ -27,7 +27,9 @@ import lombok.extern.slf4j.Slf4j; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * RGV线程 @@ -251,6 +253,7 @@ OperateResultExOne<byte[]> result = siemensNet.Read("DB100.0", (short) 20); OperateResultExOne<byte[]> resultV = siemensNet.Read("DB20.16", (short) 2); OperateResultExOne<byte[]> resultE = siemensNet.Read("DB20.26", (short) 2); OperateResultExOne<byte[]> resultError = siemensNet.Read("DB13.0", (short) 13); if (result.IsSuccess && resultV.IsSuccess && resultE.IsSuccess) { if (null == rgvProtocol) { rgvProtocol = new RgvProtocol(); @@ -267,9 +270,21 @@ rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransUInt32(result.Content, 16)); rgvProtocol.setInstantaneousSpeed(Double.valueOf(siemensNet.getByteTransform().TransInt16(resultV.Content, 0))); rgvProtocol.setEndStaM(siemensNet.getByteTransform().TransInt16(resultE.Content, 0)); boolean[] statusAlarmList = siemensNet.getByteTransform().TransBool(resultError.Content, 0, 13); int alarmCount = 0; List<Integer> alarmList = new ArrayList<>(); for (boolean alarmSign : statusAlarmList){ alarmCount++; if (alarmSign){ alarmList.add(alarmCount); } } rgvProtocol.setAlarmList(alarmList); // rgvProtocol.setRgvPos((long)NumUtils.GetRandomIntInRange(1737000)); OutputQueue.RGV.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId())); try { // 根据实时信息更新数据库 BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class);