*
L
7 小时以前 1dacf2305187f5c2fb44f03b6b754c46cb73ba25
src/main/java/com/zy/core/thread/RgvThread.java
@@ -55,7 +55,7 @@
     * 工位2复位信号
     */
    private boolean resetFlag2 = false;
    private boolean connectRgv = false;
    private volatile boolean connectRgv = false;
    private boolean alarmChangeSign = false;
    public RgvThread(RgvSlave slave) {
@@ -65,7 +65,8 @@
    @Override
    @SuppressWarnings("InfiniteLoopStatement")
    public void run() {
        connectRgv = this.connect();
        // 线程启动即给协议体完整默认值
        initRgv();
        // 启动线程自动重连
        new Thread(this::rgvConnect).start();
@@ -157,6 +158,9 @@
                        // 根据实时信息更新数据库
                        BasCircularShuttleService basCircularShuttleService = SpringUtils.getBean(BasCircularShuttleService.class);
                        BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_no",  slave.getId()));
                        if (basCircularShuttle == null) {
                            continue;
                        }
                        if (basCircularShuttle.getStatus() != 0){
                            continue;
                        }
@@ -225,6 +229,9 @@
        rgvProtocol.setStatus2((short)-1);
        rgvProtocol.setLoaded2((short)0);
        rgvProtocol.setAlarm((short)0);
        rgvProtocol.setAlarmList(new ArrayList<>());
        rgvProtocol.setInstantaneousSpeed(0D);
        rgvProtocol.setEndStaM((short)0);
        rgvProtocol.setxSpeed((short) 0);
        rgvProtocol.setxDistance((short) 0);
        rgvProtocol.setxDuration((short) 0);
@@ -352,8 +359,11 @@
    private void rgvOpt(RgvCommand command) {
        try{
            BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosInt(), command);
            log.info(rgvProtocol.getRgvNo()+"号小车写入命令定位值:"+rgvProtocol.getRgvPosInt());
            int taskNo = (rgvProtocol == null || rgvProtocol.getTaskNo1() == null) ? 0 : rgvProtocol.getTaskNo1().intValue();
            int rgvNo = (rgvProtocol == null || rgvProtocol.getRgvNo() == null) ? slave.getId() : rgvProtocol.getRgvNo();
            int rgvPos = (rgvProtocol == null) ? 0 : rgvProtocol.getRgvPosInt();
            BasRgvOpt basRgvOpt = new BasRgvOpt(taskNo, rgvNo, rgvPos, command);
            log.info(rgvNo+"号小车写入命令定位值:"+rgvPos);
            basRgvOptService.insert(basRgvOpt);
        }catch (Exception e){
            log.error("RGV写入命令保存失败!!");
@@ -362,7 +372,10 @@
    private void rgvOpt(Long command) {
        try{
            BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI(), command);
            int taskNo = (rgvProtocol == null || rgvProtocol.getTaskNo1() == null) ? 0 : rgvProtocol.getTaskNo1().intValue();
            int rgvNo = (rgvProtocol == null || rgvProtocol.getRgvNo() == null) ? slave.getId() : rgvProtocol.getRgvNo();
            int rgvPos = (rgvProtocol == null) ? 0 : rgvProtocol.getRgvPosI();
            BasRgvOpt basRgvOpt = new BasRgvOpt(taskNo, rgvNo, rgvPos, command);
            basRgvOptService.insert(basRgvOpt);
        }catch (Exception e){
            log.error("RGV写入命令保存失败!!");