自动化立体仓库 - WCS系统
#
whycq
2022-12-06 7c57b03dfe216f388d50a5931a572a6da917b512
#
2个文件已修改
81 ■■■■ 已修改文件
src/main/java/com/zy/core/thread/SiemensDevpThread.java 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -43,6 +43,9 @@
    private short heartBeatVal = 1;
    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
        add(100);add(101);add(102);add(103);add(104);add(105);add(106);
    }};
    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
        add(110);add(111);add(112);add(113);add(114);add(115);add(116);
        add(200);add(201);add(202);add(203);add(204);add(205);
        add(300);add(301);add(302);add(303);add(304);add(305);
@@ -51,7 +54,7 @@
    /**
     * 条码数量
     */
    private int barcodeSize = 1;
    private int barcodeSize = 8;
    /**
     * 入出库模式
@@ -61,8 +64,16 @@
     * 3.出库启动中 (不能生成入库工作档)
     * 4.出库模式
     */
    public IoModeType ioModeOf2F = IoModeType.NONE;
    public IoModeType ioModeOf4F = IoModeType.NONE;
    public IoModeType ioModeOf1F1 = IoModeType.NONE;
    public IoModeType ioModeOf1F2 = IoModeType.NONE;
    public IoModeType ioModeOf1F3 = IoModeType.NONE;
    public IoModeType ioModeOf1F4 = IoModeType.NONE;
    public IoModeType ioModeOf2F1 = IoModeType.NONE;
    public IoModeType ioModeOf2F2 = IoModeType.NONE;
    public IoModeType ioModeOf3F1 = IoModeType.NONE;
    public IoModeType ioModeOf3F2 = IoModeType.NONE;
    public SiemensDevpThread(DevpSlave slave) {
        this.slave = slave;
@@ -124,8 +135,8 @@
     * 读取状态 ====> 整块plc
     */
    private void read() throws InterruptedException {
//        // 更新入出库模式
//        updateIoMode();
        // 更新入出库模式
        updateIoMode();
        int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*2));
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.0", (short) (staNoSize*2));
@@ -268,10 +279,52 @@
    // 更新入出库模式
    private void updateIoMode() throws InterruptedException {
        if (this.ioModeOf2F != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId());
        if (this.ioModeOf1F1 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.300", this.ioModeOf1F1.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F1入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线1F1入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf1F2 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F2.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F2入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线1F2入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf1F3 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F3.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F3入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线1F3入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf1F4 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F4.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F4入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线1F4入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf2F1 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F1.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F1入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线2F1入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf2F2 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F2.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F2入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线2F2入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf3F1 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf3F1.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线3F1入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线3F1入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
        if (this.ioModeOf3F2 != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf3F2.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线3F2入出库模式失败。输送线plc编号={1}", slave.getId()));
                log.error("写入输送线3F2入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
    }
src/main/resources/application.yml
@@ -297,8 +297,6 @@
    pickSta[7]:
      staNo: 304
      barcode: ${wcs-slave.barcode[7].id}
  # 条码扫描仪1
  barcode[0]:
    id: 1
@@ -329,14 +327,14 @@
    id: 6
    ip: 10.10.10.57
    port: 51236
  # 条码扫描仪5
  # 条码扫描仪7
  barcode[6]:
    id: 5
    id: 7
    ip: 10.10.10.58
    port: 51236
  # 条码扫描仪6
  # 条码扫描仪8
  barcode[7]:
    id: 6
    id: 8
    ip: 10.10.10.59
    port: 51236
  # LED1