From 6c467481fdaccead755bb803224c555b42e5579b Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 17 四月 2025 19:12:42 +0800 Subject: [PATCH] 999 --- src/main/java/com/zy/core/thread/DevpThread.java | 137 +-------------------------------------------- 1 files changed, 3 insertions(+), 134 deletions(-) diff --git a/src/main/java/com/zy/core/thread/DevpThread.java b/src/main/java/com/zy/core/thread/DevpThread.java index 1695914..46122e9 100644 --- a/src/main/java/com/zy/core/thread/DevpThread.java +++ b/src/main/java/com/zy/core/thread/DevpThread.java @@ -1,145 +1,14 @@ package com.zy.core.thread; -import HslCommunication.Core.Types.OperateResult; -import HslCommunication.Core.Types.OperateResultExOne; -import HslCommunication.Profinet.Siemens.SiemensPLCS; -import HslCommunication.Profinet.Siemens.SiemensS7Net; -import com.alibaba.fastjson.JSON; -import com.zy.core.Slave; import com.zy.core.ThreadHandler; -import com.zy.core.cache.MessageQueue; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.Task; import com.zy.core.model.protocol.StaProtocol; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -/** - * 杈撻�佺嚎绾跨▼ - * Created by vincent on 2020/8/4 - */ -@Data -@Slf4j -public class DevpThread implements Runnable, ThreadHandler { +public interface DevpThread extends ThreadHandler { - private Slave slave; - private SiemensS7Net siemensS7Net; - private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); + Map<Integer, StaProtocol> getStation(); - public DevpThread(Slave slave) { - this.slave = slave; - connect(); - } + void setPakMk(Integer siteId, boolean pakMk); - @Override - @SuppressWarnings("InfiniteLoopStatement") - public void run() { - while (true) { - try { - int step = 1; - Task task = MessageQueue.poll(SlaveType.Devp, slave.getId()); - if (task != null) { - step = task.getStep(); - } - switch (step) { - // 璇绘暟鎹� - case 1: - read(); // 璇诲彇鐘舵�� - break; - case 2: - break; - case 3: - break; - case 4: - break; - default: - break; - } - Thread.sleep(3000); - } catch (Exception e) { - e.printStackTrace(); - } - - } - } - - @Override - public boolean connect() { - boolean result = false; - siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp()); - siemensS7Net.setRack((byte) 0); - siemensS7Net.setSlot((byte) 1); - OperateResult connect = siemensS7Net.ConnectServer(); - if(connect.IsSuccess){ - result = true; - log.info("杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - } else { - log.info("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - } - siemensS7Net.ConnectClose(); - return result; - } - - public static void main(String[] args) { - Slave slave = new Slave(); - slave.setIp("192.168.2.125"); - DevpThread devpThread = new DevpThread(slave); - boolean connect = devpThread.connect(); - System.out.println(connect); - devpThread.read(); - // 鍐� - StaProtocol staProtocol = devpThread.getStation().get(1); - staProtocol.setWorkNo((short) 666); - devpThread.write(staProtocol); - // 璇� - devpThread.read(); - System.out.println(JSON.toJSONString(devpThread.station)); - } - - /** - * 璇诲彇鐘舵�� - */ - private void read(){ - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 40); - for (int i = 1; i <= 7; i++) { - StaProtocol staProtocol = station.get(i); - if (null == staProtocol) { - staProtocol = new StaProtocol(); - staProtocol.setSiteId(i); - station.put(i, staProtocol); - } - System.out.println(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2)); - staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2)); - staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2+20)); -// staProtocol.setAutoing(siemensS7Net.getByteTransform().TransBool()); - } - // todo -// OperateResultExOne<Short> shortOperateResultExOne = siemensS7Net.ReadInt16("DB100.0"); -// System.out.println(shortOperateResultExOne.Content); - } - - - - - private void write(StaProtocol staProtocol){ - if (null == staProtocol) { - return; - } - OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo()); - if (write.IsSuccess) { - System.out.println("鍐欏叆鎴愬姛"); - } else { - System.out.println("鍐欏叆澶辫触"); - } - - - } - - @Override - public void close() { - - } } -- Gitblit v1.9.1