From fcc87a4bdb9cd45767ff65f4b182261371c93457 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 07 八月 2020 15:50:19 +0800
Subject: [PATCH] #新版HSL

---
 src/main/java/com/zy/core/thread/CrnThread.java |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index 733dc1f..81fe5c7 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -1,5 +1,8 @@
 package com.zy.core.thread;
 
+import HslCommunication.Core.Types.OperateResult;
+import HslCommunication.Profinet.Siemens.SiemensPLCS;
+import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.zy.core.Slave;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
@@ -9,12 +12,14 @@
 import lombok.extern.slf4j.Slf4j;
 
 /**
+ * 鍫嗗灈鏈虹嚎绋�
  * Created by vincent on 2020/8/4
  */
-@Slf4j
 @Data
+@Slf4j
 public class CrnThread implements Runnable, ThreadHandler {
 
+    SiemensS7Net siemensNet;
     private Slave slave;
 
     public CrnThread(Slave slave) {
@@ -26,11 +31,24 @@
     public void run() {
         while (true) {
             try {
-                Task task = MessageQueue.poll(SlaveType.Crn, slave.getId());
-                if (task == null) {
-                    System.out.println("鏃犱换鍔�");
-                } else {
-                    System.out.println("浠诲姟"+task.getId());
+                int step = 1;
+                Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
+                if (task != null) {
+                    step = task.getStep();
+                }
+                switch (step) {
+                    // 璇绘暟鎹�
+                    case 1:
+                        readStatus();   // 璇诲彇鐘舵��
+                        break;
+                    case 2:
+                        break;
+                    case 3:
+                        break;
+                    case 4:
+                        break;
+                    default:
+                        break;
                 }
                 Thread.sleep(3000);
             } catch (Exception e) {
@@ -41,6 +59,27 @@
     }
 
     @Override
+    public boolean connect() {
+        boolean result = false;
+        siemensNet = new SiemensS7Net(SiemensPLCS.S1200,slave.getIp());
+        siemensNet.setRack((byte) 0);
+        siemensNet.setSlot((byte) 1);
+        OperateResult connect = siemensNet.ConnectServer();
+        if(connect.IsSuccess){
+            result = true;
+            log.info("鍫嗗灈鏈簆lc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+        } else {
+            log.info("鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+        }
+        siemensNet.ConnectClose();
+        return result;
+    }
+
+    private void readStatus(){
+
+    }
+
+    @Override
     public void close() {
     }
 }

--
Gitblit v1.9.1