Junjie
2023-10-22 1d71c4a6ed388f4086fc1a7b1d99ceeb6ae728b0
#plc2
5个文件已修改
1个文件已添加
85 ■■■■ 已修改文件
src/main/java/com/zy/core/ServerBootstrap.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/SlaveType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/Devp2Slave.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/properties/SlaveProperties.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread2.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ServerBootstrap.java
@@ -49,6 +49,9 @@
        for (Slave devp : slaveProperties.getDevp()) {
            MessageQueue.init(SlaveType.Devp, devp);
        }
        for (Slave devp2 : slaveProperties.getDevp2()) {
            MessageQueue.init(SlaveType.Devp2, devp2);
        }
        // 初始化条码扫描仪mq
        for (Slave barcode : slaveProperties.getBarcode()) {
            MessageQueue.init(SlaveType.Barcode, barcode);
@@ -79,15 +82,14 @@
        // 初始化输送线线程
        News.info("初始化输送线线程...................................................");
        for (DevpSlave devp : slaveProperties.getDevp()) {
            if (devp.getId() == 1) {
                DevpThread devpThread = new SiemensDevpThread(devp);
                new Thread((Runnable) devpThread).start();
                SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread);
            }else {
//                DevpThread devpThread = new SiemensDevpThread2(devp);
//                new Thread((Runnable) devpThread).start();
//                SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread);
            }
            DevpThread devpThread = new SiemensDevpThread(devp);
            new Thread((Runnable) devpThread).start();
            SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread);
        }
        for (Devp2Slave devp2 : slaveProperties.getDevp2()) {
            SiemensDevpThread2 siemensDevpThread2 = new SiemensDevpThread2(devp2);
            new Thread(siemensDevpThread2).start();
            SlaveConnection.put(SlaveType.Devp2, devp2.getId(), siemensDevpThread2);
        }
        // 初始化提升机
        News.info("初始化提升机........................................................");
src/main/java/com/zy/core/enums/SlaveType.java
@@ -4,6 +4,7 @@
    Crn,
    Devp,
    Devp2,
    Barcode,
    Led,
    Scale,
src/main/java/com/zy/core/model/Devp2Slave.java
New file
@@ -0,0 +1,22 @@
package com.zy.core.model;
import com.zy.core.Slave;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/**
 * 输送线配置
 * Created by vincent on 2020/8/6
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class Devp2Slave extends Slave {
    private Integer rack;
    private Integer slot;
}
src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -31,6 +31,8 @@
    private List<DevpSlave> devp = new ArrayList<>();
    private List<Devp2Slave> devp2 = new ArrayList<>();
    private List<Slave> barcode = new ArrayList<>();
    private List<LedSlave> led = new ArrayList<>();
src/main/java/com/zy/core/thread/SiemensDevpThread2.java
@@ -16,6 +16,7 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.Devp2Slave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -37,7 +38,7 @@
@Slf4j
public class SiemensDevpThread2 implements Runnable, DevpThread {
    private DevpSlave slave;
    private Devp2Slave slave;
    private SiemensS7Net siemensS7Net;
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
@@ -49,7 +50,7 @@
        add(348);add(349);
    }};
    public SiemensDevpThread2(DevpSlave slave) {
    public SiemensDevpThread2(Devp2Slave slave) {
        this.slave = slave;
    }
@@ -60,7 +61,7 @@
        while (true) {
            try {
                int step = 1;
                Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
                Task task = MessageQueue.poll(SlaveType.Devp2, slave.getId());
                if (task != null) {
                    step = task.getStep();
                }
@@ -69,11 +70,11 @@
                    case 1:
                        read();
                        break;
                    // 写数据 ID+目标站
                    case 2:
                        write((StaProtocol) task.getData());
                        read();
                        break;
//                    // 写数据 ID+目标站
//                    case 2:
//                        write((StaProtocol) task.getData());
//                        read();
//                        break;
                    default:
                        break;
                }
src/main/resources/application.yml
@@ -108,6 +108,13 @@
      liftNo: ${wcs-slave.lift[2].id}
    # 入库口7
    inSta[6]:
      staNo: 341
      backSta: 340
      barcode: ${wcs-slave.barcode[7].id}
      led: ${wcs-slave.led[0].id}
      liftNo: ${wcs-slave.lift[1].id}
    # 入库口8
    inSta[7]:
      staNo: 346
      backSta: 345
      barcode: ${wcs-slave.barcode[6].id}
@@ -236,7 +243,7 @@
      backSta: 340
      barcode: ${wcs-slave.barcode[7].id}
      led: ${wcs-slave.led[0].id}
      liftNo: ${wcs-slave.lift[2].id}
      liftNo: ${wcs-slave.lift[1].id}
    pickInSta[7]:
      staNo: 346
      backSta: 345
@@ -299,13 +306,13 @@
#      row: 4
#      bay: 6
#      lev: 6
#  # 输送线2
#  devp[1]:
#    id: 2
#    ip: 10.10.10.58
#    port: 102
#    rack: 0
#    slot: 0
  # 输送线2
  devp2[0]:
    id: 1
    ip: 10.10.10.58
    port: 102
    rack: 0
    slot: 0
  # 条码扫描仪
  barcode[0]: