f37003093c6256e7349558faad0532e8b1d0029c..c99cbe6c0064deee3e57f1a751ff0717290ac621
1 天以前 lsh
*
c99cbe 对比 | 目录
1 天以前 lsh
*
0bdae9 对比 | 目录
2个文件已修改
111 ■■■■■ 已修改文件
src/main/java/com/zy/core/thread/RgvThread.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/RgvThread.java
@@ -130,6 +130,15 @@
    private void readStatusRgv() {
        while (true) {
            try {
                if(!connectRgv){
                    try {
                        Thread.sleep(1000L);
                    } catch (Exception e){
                    }
                    initRgv();
                    continue;
                }
                Thread.sleep(20);
//                System.out.println("读线程"+ slave.getId());
@@ -157,6 +166,14 @@
    private void taskComplete() {
        while (true) {
            try {
                if(!connectRgv){
                    try {
                        Thread.sleep(1000L);
                    } catch (Exception e){
                    }
                    continue;
                }
                if (delRgvTask){
                    writeDelRgvTask();
                    delRgvTask = false;
@@ -253,6 +270,14 @@
    private void taskWalkIssued() {
        while (true) {
            try {
                if(!connectRgv){
                    try {
                        Thread.sleep(1000L);
                    } catch (Exception e){
                    }
                    continue;
                }
                // 休眠 1 秒
                Thread.sleep(100);
@@ -290,6 +315,14 @@
     */
    private void taskIssued() {
        while (true) {
            if(!connectRgv){
                try {
                    Thread.sleep(1000L);
                } catch (Exception e){
                }
                continue;
            }
            RgvRunProtocol rgvRun = RgvRunCache.getRgvRun();
            if (!rgvRun.getRgvNo().equals(slave.getId())){
                continue;
@@ -795,6 +828,67 @@
                            return false;
                        }
                    }
                    TaskProtocol nowPosRunTask2 = taskProtocolCacheOther.getNowPosRunTask2();
                    if (!Cools.isEmpty(nowPosRunTask2)){
                        boolean signNowPosRun = true;
                        boolean signNowPosA = true;
                        if (targetPosition - rgvProtocol.getRgvPos()>0){
                            if (nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos()>0){
                                if (rgvProtocol.getRgvPos()>rgvProtocolOther.getRgvPos()){
                                    signNowPosA = false;
                                    signNowPosRun = false;
                                }
                            }
                        } else if (targetPosition - rgvProtocol.getRgvPos()<0){
                            if (nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos()<0){
                                if (rgvProtocol.getRgvPos()<rgvProtocolOther.getRgvPos()){
                                    signNowPosA = false;
                                    signNowPosRun = false;
                                }
                            }
                        }
                        if (signNowPosA){
                            if (nowPosRunTask2.getTaskStatus()==3){
                                long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
                                if (Math.abs(onePos - twoPos)>100){
                                    if (onePos-50>twoPos+50){
                                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, nowPosRunTask2.getTargetPositionStaNoPlcId());
                                        StaProtocol staProtocol = devpThread.getStation().get(nowPosRunTask2.getTargetPositionStaNo());
                                        if (staProtocol == null ) {
                                            signNowPosRun =false;
                                        }
                                        if (signNowPosRun){
                                            // 判断是否满足入库条件
                                            if (staProtocol.isAutoing() && !staProtocol.isLoading()
                                            ){
                                                errorRgv = slave.getOtherId()+"号RGV等待作业...";
                                                return false;
                                            }
                                        }
                                        signNowPosRun =false;
                                    }
                                }
                            } else {
                                long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
                                if (twoPos<100){
                                    errorRgv = slave.getOtherId()+"号RGV等待作业...";
                                    return false;
                                }
                                if (Math.abs(onePos - twoPos)>100){
                                    if (onePos-50>twoPos+50){
                                        signNowPosRun =false;
                                    }
                                }
                            }
                        }
                        if (signNowPosRun){
                            errorRgv = slave.getOtherId()+"号RGV等待作业...";
                            return false;
                        }
                    }
                    long avoid = targetPosition - rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng();
                    if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) {
                        log.error("RGV行走超出范围!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -185,6 +185,14 @@
    private void writeStatusDev() {
        while (true) {
            try {
                if(!connectDev){
                    try {
                        Thread.sleep(1000L);
                    } catch (Exception e){
                    }
                    continue;
                }
                int step = 1;
                Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
                if (task != null) {
@@ -214,6 +222,15 @@
    private void readStatusDev() {
        while (true) {
            try {
                if(!connectDev){
                    try {
                        Thread.sleep(1000L);
                    } catch (Exception e){
                    }
                    initSite();
                    continue;
                }
                Thread.sleep(50);
//                System.out.println("读线程"+ slave.getId());