自动化立体仓库 - WCS系统
##
luxiaotao1123
2020-12-28 ee7adc7a189690c1862062f0061012396ce63187
##
1个文件已修改
25 ■■■■■ 已修改文件
src/main/java/com/zy/core/thread/MelsecDevpThread.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/MelsecDevpThread.java
@@ -95,6 +95,9 @@
            log.error("输送线plc连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        }
        melsecMcNet.ConnectClose();
        try {
            Thread.sleep(1000);
        } catch (InterruptedException ignore) {}
        return result;
    }
@@ -105,7 +108,7 @@
        OperateResultExOne<byte[]> result = melsecMcNet.Read("D101", (short) 30);
        if (result.IsSuccess) {
            // 站点数据
            for (int i = 1; i <= staNos.size(); i++) {
            for (int i = 0; i < staNos.size(); i++) {
                Integer siteId = staNos.get(i); // 站点编号
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
@@ -113,20 +116,21 @@
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                staProtocol.setWorkNo(melsecMcNet.getByteTransform().TransInt16(result.Content, (i-1)*2));     // 工作号
                staProtocol.setStaNo(melsecMcNet.getByteTransform().TransInt16(result.Content, (i-1)*2+40));   // 目标站
                staProtocol.setWorkNo(melsecMcNet.getByteTransform().TransInt16(result.Content, (i)*2));     // 工作号
                staProtocol.setStaNo(melsecMcNet.getByteTransform().TransInt16(result.Content, (i)*2+40));   // 目标站
            }
        }
        Thread.sleep(3000);
        OperateResultExOne<boolean[]> result1 = melsecMcNet.ReadBool("M800", (short) 64);
        if (result1.IsSuccess) {
            for (int i = 1; i <= 7; i++) {
                StaProtocol staProtocol = station.get(i);
                staProtocol.setAutoing(result1.Content[(i-1)*8]);  // 自动
                staProtocol.setLoading(result1.Content[(i-1)*8+1]);  // 有物
                staProtocol.setInEnable(result1.Content[(i-1)*8+2]); // 可入
                staProtocol.setOutEnable(result1.Content[(i-1)*8+3]);// 可出
                staProtocol.setEmptyMk(result1.Content[(i-1)*8+4]);  // 空板信号
            for (int i = 0; i < staNos.size(); i++) {
                Integer siteId = staNos.get(i); // 站点编号
                StaProtocol staProtocol = station.get(siteId);
                staProtocol.setAutoing(result1.Content[(i)*8]);  // 自动
                staProtocol.setLoading(result1.Content[(i)*8+1]);  // 有物
                staProtocol.setInEnable(result1.Content[(i)*8+2]); // 可入
                staProtocol.setOutEnable(result1.Content[(i)*8+3]);// 可出
                staProtocol.setEmptyMk(result1.Content[(i)*8+4]);  // 空板信号
                if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
                    staProtocol.setPakMk(true);
@@ -175,6 +179,7 @@
        if (null == staProtocol) {
            return;
        }
        System.out.println();
        OperateResult write = melsecMcNet.Write("D1" + Utils.zerofill(String.valueOf(staNos.indexOf(staProtocol.getSiteId())+1), 2), staProtocol.getWorkNo());    // 工作号
        Thread.sleep(400);
        OperateResult write1 = melsecMcNet.Write("D1" + Utils.zerofill(String.valueOf(staNos.indexOf(staProtocol.getSiteId())+21), 2), staProtocol.getStaNo());    // 目标站