From b80cd13530648af00f57627baab806d49ae2d1d2 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 10 十月 2020 15:54:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/enums/CrnTaskModeType.java    |    1 +
 src/main/java/com/zy/core/thread/MelsecCrnThread.java   |   30 ++++++++++++++++++++++++++++++
 src/main/java/com/zy/core/model/command/CrnCommand.java |   25 +++++++++++++++++++++++++
 3 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/enums/CrnTaskModeType.java b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
index c34a8d2..9f8af09 100644
--- a/src/main/java/com/zy/core/enums/CrnTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -9,6 +9,7 @@
     SITE_MOVE(4),    // 绔欎綅绉昏浆
     GO_ORIGIN(5),    // 鍥炲師鐐�
     OFFSET_MOVE(7),    // 鍧愭爣绉昏
+    TIMING(90),     // 鏍℃椂
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java
index a43172b..1d951f6 100644
--- a/src/main/java/com/zy/core/model/command/CrnCommand.java
+++ b/src/main/java/com/zy/core/model/command/CrnCommand.java
@@ -4,6 +4,9 @@
 import com.zy.core.enums.CrnTaskModeType;
 import lombok.Data;
 
+import java.util.Calendar;
+import java.util.Date;
+
 /**
  * 鍫嗗灈鏈哄懡浠ゆ姤鏂�
  * Created by vincent on 2020/8/11
@@ -68,4 +71,26 @@
         this.taskMode = CrnTaskModeType.get(type).id.shortValue();
     }
 
+    public static void main(String[] args) {
+        Date date = new Date();
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+
+        System.out.println(cal.get(Calendar.YEAR));
+        //榛樿浠�0-11
+        System.out.println(cal.get(Calendar.MONTH)+1);
+        System.out.println(cal.get(Calendar.DATE));
+        int hour = cal.get(Calendar.HOUR_OF_DAY);
+        System.out.println("鏃�");
+        System.out.println(hour);
+        int minute = cal.get(Calendar.MINUTE);
+        System.out.println("鍒�");
+        System.out.println(minute);
+        int second = cal.get(Calendar.SECOND);
+        System.out.println("绉�");
+        System.out.println(second);
+        int mm = cal.get(Calendar.DAY_OF_WEEK) - 1; // 鏄熸湡锛�0(鏃�)锝�6(鍏�)
+        System.out.println("绀兼嫓");
+        System.out.println(mm);
+    }
 }
diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index 6be3bb5..9990237 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -23,6 +23,7 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.text.MessageFormat;
+import java.util.Calendar;
 import java.util.Date;
 
 /**
@@ -112,6 +113,35 @@
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝爢鍨涙満plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
             log.error("鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
         }
+        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+        /**
+         *      array[1] = command.getSourcePosY(); // 鍒�
+         *         array[2] = command.getSourcePosZ(); // 灞�
+         *         array[3] = command.getSourcePosX(); // 鎺�
+         *         array[4] = command.getDestinationPosY(); // 鍒�
+         *         array[5] = command.getDestinationPosZ();  // 灞�
+         *         array[6] = command.getDestinationPosX(); // 鎺�
+         *         array[7] = command.getTaskNo();
+         */
+        Date date = new Date();
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+        CrnCommand crnCommand = new CrnCommand();
+        crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+        crnCommand.setTaskMode(CrnTaskModeType.TIMING); // 浠诲姟妯″紡:  璁剧疆鏃堕棿
+        crnCommand.setSourcePosY((short) cal.get(Calendar.YEAR));     // 骞达細1980锝�2079
+        crnCommand.setSourcePosZ((short) (cal.get(Calendar.MONTH)+1));     // 鏈堬細1锝�12
+        crnCommand.setSourcePosX((short) cal.get(Calendar.DATE));     // 鏃ワ細1锝�31
+        crnCommand.setDestinationPosY((short) cal.get(Calendar.HOUR_OF_DAY));     // 鏃讹細0锝�23
+        crnCommand.setDestinationPosZ((short) cal.get(Calendar.MINUTE));     // 鍒嗭細0锝�59
+        crnCommand.setDestinationPosX((short) cal.get(Calendar.SECOND));     // 绉掞細0锝�59
+        crnCommand.setTaskNo((short) (cal.get(Calendar.DAY_OF_WEEK) - 1));     // 鏄熸湡锛�0(鏃�)锝�6(鍏�)
+        crnCommand.setTaskSend((short) 1);
+        crnCommand.setAckFinish((short) 0);
+        if (write(crnCommand)) {
+            log.info("鍫嗗灈鏈簆lc鏍″鏃堕棿鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+        }
+
         melsecMcNet.ConnectClose();
         return result;
     }

--
Gitblit v1.9.1