From b6dcb3ed290a6b91a6c0c93b2b925a71269946f4 Mon Sep 17 00:00:00 2001 From: 18516761980 <56479841@qq.com> Date: 星期六, 30 七月 2022 08:53:18 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/enums/SlaveType.java | 1 src/main/java/com/zy/core/thread/SocketThread.java | 120 ++++++++++++++++++++++++ src/main/java/com/zy/core/model/SocketSlave.java | 14 ++ src/main/resources/application.yml | 148 +++++----------------------- 4 files changed, 164 insertions(+), 119 deletions(-) diff --git a/src/main/java/com/zy/core/enums/SlaveType.java b/src/main/java/com/zy/core/enums/SlaveType.java index 56330fe..d47007d 100644 --- a/src/main/java/com/zy/core/enums/SlaveType.java +++ b/src/main/java/com/zy/core/enums/SlaveType.java @@ -8,6 +8,7 @@ Led, Scale, Car, + Socket ; public static SlaveType findInstance(String s){ diff --git a/src/main/java/com/zy/core/model/SocketSlave.java b/src/main/java/com/zy/core/model/SocketSlave.java new file mode 100644 index 0000000..1e78f4a --- /dev/null +++ b/src/main/java/com/zy/core/model/SocketSlave.java @@ -0,0 +1,14 @@ +package com.zy.core.model; + +import com.zy.core.Slave; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Created by vincent on 2020/8/10 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SocketSlave extends Slave { + +} diff --git a/src/main/java/com/zy/core/thread/SocketThread.java b/src/main/java/com/zy/core/thread/SocketThread.java new file mode 100644 index 0000000..c6d1339 --- /dev/null +++ b/src/main/java/com/zy/core/thread/SocketThread.java @@ -0,0 +1,120 @@ +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.core.common.DateUtils; +import com.core.common.SpringUtils; +import com.core.exception.CoolException; +import com.zy.core.ThreadHandler; +import com.zy.core.cache.MessageQueue; +import com.zy.core.cache.OutputQueue; +import com.zy.core.enums.SlaveType; +import com.zy.core.model.SocketSlave; +import com.zy.core.model.Task; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import java.text.MessageFormat; +import java.util.Date; + +/** + * shuttle 绌挎杞︾嚎绋� + * Created by vincent on 2020/8/4 + * 涓嶈兘鏈� 妲藉彿 鍜� 鏈烘灦鍙� + */ +@Data +@Slf4j +public class SocketThread implements Runnable, ThreadHandler { + + private SiemensS7Net siemensS7Net; + private SocketSlave slave; + private SteProtocol steProtocol; + private short heartBeatVal = 1; + private boolean resetFlag = false; + + private Integer lastRow; + private Integer lastBay; + private Integer lastLev; + + public SocketThread(SocketSlave slave) { + this.slave = slave; + } + + @Override + @SuppressWarnings("InfiniteLoopStatement") + public void run() { + this.connect(); + while (true) { + try { + int step = 1; + Task task = MessageQueue.poll(SlaveType.Socket, slave.getId()); + if (task != null) { + step = task.getStep(); + } + switch (step) { + // 璇绘暟鎹� + case 1: +// readStatus(); + break; + // 鍐欏叆鏁版嵁 + case 2: +// write((StaProtocol)task.getData()); + break; + default: + break; + } + // 蹇冭烦 +// heartbeat(); + Thread.sleep(500); + } catch (Exception e) { + e.printStackTrace(); + } + + } + } + + + @Override + public boolean connect() { + boolean result = false; + + return result; + } + + /** + * 璇诲彇鐘舵�� + */ + private void readStatus(){ + + } + + /** + * 鍐欏叆鏁版嵁 + */ + private boolean write(){ + + } + + @Override + public void close() { + } + + /** + * 蹇冭烦 + */ + private void heartbeat(){ + + } + + + /******************************************************************************************/ + /**************************************** 娴嬭瘯涓撶敤 *****************************************/ + /*****************************************************************************************/ + public static void main(String[] args) throws InterruptedException { + + } + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d9ce534..f288f06 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -66,50 +66,6 @@ row: 2 bay: 1 lev: 1 - # 鍫嗗灈鏈�2 - crn[1]: - id: 2 - ip: 10.10.10.13 - port: 8888 - # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 - offset: 2 - demo: false - # 鍫嗗灈鏈哄叆搴撶珯鐐� - crnInStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 203 - row: 7 - bay: 1 - lev: 1 - # 鍫嗗灈鏈哄嚭搴撶珯鐐� - crnOutStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 201 - row: 6 - bay: 1 - lev: 1 - # 鍫嗗灈鏈�3 - crn[2]: - id: 3 - ip: 10.10.10.16 - port: 8888 - # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 - offset: 2 - demo: false - # 鍫嗗灈鏈哄叆搴撶珯鐐� - crnInStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 304 - row: 11 - bay: 1 - lev: 1 - # 鍫嗗灈鏈哄嚭搴撶珯鐐� - crnOutStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 301 - row: 10 - bay: 1 - lev: 1 # 杈撻�佺嚎 devp[0]: @@ -122,55 +78,19 @@ inSta[0]: staNo: 103 barcode: ${wcs-slave.barcode[0].id} - # 鍏ュ簱鍙�2 - inSta[1]: - staNo: 203 - barcode: ${wcs-slave.barcode[1].id} - # 鍏ュ簱鍙�3 - inSta[2]: - staNo: 305 - barcode: ${wcs-slave.barcode[2].id} # 绌烘澘鍏ュ簱鍙�1 emptyInSta[0]: staNo: 103 - # 绌烘澘鍏ュ簱鍙�2 - emptyInSta[1]: - staNo: 203 - # 绌烘澘鍏ュ簱鍙�3 - emptyInSta[2]: - staNo: 305 # 鍑哄簱鍙�1 outSta[0]: staNo: 102 - # 鍑哄簱鍙�2 - outSta[1]: - staNo: 202 - # 鍑哄簱鍙�3 - outSta[2]: - staNo: 303 - # 鎷f枡鍏ュ簱鍙�1 - pickSta[0]: - staNo: 103 - barcode: ${wcs-slave.barcode[0].id} - # 鎷f枡鍏ュ簱鍙�2 - pickSta[1]: - staNo: 203 - barcode: ${wcs-slave.barcode[1].id} - # 鎷f枡鍏ュ簱鍙�3 - pickSta[2]: - staNo: 305 - barcode: ${wcs-slave.barcode[2].id} +# # 鎷f枡鍏ュ簱鍙�1 +# pickSta[0]: +# staNo: 103 +# barcode: ${wcs-slave.barcode[0].id} # 鏉$爜鎵弿浠� barcode[0]: id: 1 - ip: 10.10.10.52 - port: 51236 - barcode[1]: - id: 2 - ip: 10.10.10.52 - port: 51236 - barcode[2]: - id: 3 ip: 10.10.10.52 port: 51236 # LED1 @@ -180,38 +100,28 @@ port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 110 - # LED2 - led[1]: - id: 2 - ip: 10.10.10.61 - port: 5005 - devpPlcId: ${wcs-slave.devp[0].id} - staArr: 117 - # LED3 - led[2]: - id: 3 - ip: 10.10.10.61 - port: 5005 - devpPlcId: ${wcs-slave.devp[0].id} - staArr: 124 - # LED4 - led[3]: - id: 4 - ip: 10.10.10.61 - port: 5005 - devpPlcId: ${wcs-slave.devp[0].id} - staArr: 131 - # LED5 - led[4]: - id: 5 - ip: 10.10.10.61 - port: 5005 - devpPlcId: ${wcs-slave.devp[0].id} - staArr: 136 - # LED6 - led[5]: - id: 5 - ip: 10.10.10.61 - port: 5005 - devpPlcId: ${wcs-slave.devp[0].id} - staArr: 136 \ No newline at end of file + + #socket + socket[0]: + id: 1 + ip: 10.10.10.100 + port: 10001 + +# tcp鏈嶅姟绔厤缃� +tcp: + #tcp/ip鍗忚绔彛 + port: 51236 + #蹇冭烦 s + heart-seconds: 120 + #鏈�澶ц繛鎺ユ暟 + backlog: 128 + #鏄惁寮�鍚痥eepAlive + keep-alive: true + #鍙戦�佹粦鍔ㄧ獥鍙�(256KB) + sndbuf: 262144 + #鎺ュ彈婊戝姩绐楀彛(2MB) + rcvbuf: 2097152 + #涓婁笅琛屾棩蹇楁墦鍗� + printPacLog: true + #鏉$爜闀垮害 + barcodeLen: 8 \ No newline at end of file -- Gitblit v1.9.1