luxiaotao1123
2020-12-24 9344a225856b767c2b9be543993707dc635523d9
#newVersion
1 文件已重命名
49 ■■■■ 已修改文件
src/main/java/com/zy/core/thread/SiemensDevpThread.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java
File was renamed from src/main/java/com/zy/core/thread/DevpThread.java
@@ -9,7 +9,7 @@
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.core.ThreadHandler;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.enums.SlaveType;
@@ -32,14 +32,14 @@
 */
@Data
@Slf4j
public class DevpThread implements Runnable, ThreadHandler {
public class SiemensDevpThread implements Runnable, DevpThread {
    private DevpSlave slave;
    private SiemensS7Net siemensS7Net;
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
    public DevpThread(DevpSlave slave) {
    public SiemensDevpThread(DevpSlave slave) {
        this.slave = slave;
    }
@@ -62,14 +62,6 @@
                    // 写数据 ID+目标站
                    case 2:
                        write((StaProtocol)task.getData());
                        break;
                    // 写数据 ID
                    case 3:
                        writeId((StaProtocol)task.getData());
                        break;
                    // 写数据 目标站
                    case 4:
                        writeStaNo((StaProtocol)task.getData());
                        break;
                    default:
                        break;
@@ -205,38 +197,6 @@
    }
    /**
     * 写入 ID =====> 单站点写入
     */
    private void writeId(StaProtocol staProtocol){
        if (null == staProtocol) {
            return;
        }
        OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo());    // 工作号
        if (!write.IsSuccess ) {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol)));
            log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol));
        } else {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
        }
    }
    /**
     * 写入 目标站 =====> 单站点写入
     */
    private void writeStaNo(StaProtocol staProtocol){
        if (null == staProtocol) {
            return;
        }
        OperateResult write = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) * 2 + 20), staProtocol.getStaNo());    // 目标站
        if (!write.IsSuccess ) {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol)));
            log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol));
        } else {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
        }
    }
    /**
     * 心跳
     */
    private void heartbeat(){
@@ -254,6 +214,7 @@
    /**
     * 设置入库标记
     */
    @Override
    public void setPakMk(Integer siteId, boolean pakMk) {
        StaProtocol staProtocol = station.get(siteId);
        if (null != staProtocol) {
@@ -269,7 +230,7 @@
    public static void main(String[] args) throws Exception {
        DevpSlave slave = new DevpSlave();
        slave.setIp("192.168.2.125");
        DevpThread devpThread = new DevpThread(slave);
        SiemensDevpThread devpThread = new SiemensDevpThread(slave);
        devpThread.connect();
        devpThread.read();
        // 写