From 3df03c486fde77ab36b9298a94bdbb0aa065a7e2 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 08 四月 2025 09:07:40 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java
index 0235998..eced132 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java
@@ -125,6 +125,13 @@
                 if (null == staProtocol) {
                     staProtocol = new StaProtocol();
                     staProtocol.setSiteId(siteId);
+
+                    if (siteId == 1015) {
+                        staProtocol.setLocNo("1200301");
+                    }else if (siteId == 1026) {
+                        staProtocol.setLocNo("1200305");
+                    }
+
                     station.put(siteId, staProtocol);
                 }
                 Thread.sleep(300);
@@ -151,9 +158,8 @@
 
 
 //                staProtocol.setWorkMode((int) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 40 + 8));// 宸ヤ綔妯″紡
-                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 18 + 10));     // 宸ヤ綔鍙�
-                staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 18 + 14));   // 鐩爣绔�
-
+                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18 + 10));     // 宸ヤ綔鍙�
+                staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18 + 12));   // 鐩爣绔�
 
                 if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
                     staProtocol.setPakMk(true);
@@ -238,6 +244,7 @@
     @Override
     public boolean writeWorkNo(int siteId, short workNo) {
         int index = staNos1.indexOf(siteId);
+        index += 1;
 
         OperateResult write = siemensS7Net.Write("DB83." + (index *8+6),(int) workNo);    // 宸ヤ綔鍙�
 
@@ -259,6 +266,7 @@
     @Override
     public boolean writeStaNo(int siteId,short staNo) {
         int index = staNos1.indexOf(siteId);
+        index += 1;
 
         OperateResult write = siemensS7Net.Write("DB101." + (index * 8 + 4),(int) staNo);    // 鐩爣绔�
 
@@ -280,27 +288,27 @@
     @Override
     public boolean writeWorkSta(int siteId, short workNo, short staNo) {
         int index = staNos1.indexOf(siteId);
+        index += 1;
 
         short[] array = new short[2];
         array[0] = workNo;
         array[1] = staNo;
 
-
-        String workNoAddress = "DB101." + (index * 8 + 6);
-        String staNoAddress = "DB101." + (index * 8 + 4);
+        String workNoAddress = "DB83." + (index * 8 + 6);
+        String staNoAddress = "DB83." + (index * 8 + 4);
         OperateResult write1 = null;    // 宸ヤ綔鍙�
         OperateResult write2 = null;     // 鐩爣绔�
 
         //浠诲姟涓嬪彂娆℃暟
         int writeCount = 0;
         do {
-            write1 = siemensS7Net.Write(workNoAddress, (int) workNo);    // 宸ヤ綔鍙�
-            write2 = siemensS7Net.Write(staNoAddress, (int) staNo);
+            write1 = siemensS7Net.Write(workNoAddress,  workNo);    // 宸ヤ綔鍙�
+            write2 = siemensS7Net.Write(staNoAddress, staNo);
             if ((write1.IsSuccess && write2.IsSuccess)) {
                 OperateResultExOne<byte[]> readResult = siemensS7Net.Read(staNoAddress, (short) 8);
                 if (readResult.IsSuccess) {
-                    int staNo2 = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
-                    int workNo2 = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 4);
+                    int staNo2 = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
+                    int workNo2 = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
                     if (workNo == workNo2 && staNo == staNo2) {
                         //浠诲姟鍛戒护鍐欏叆鎴愬姛
                         log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋},{}锛屽啓鍏ユ鏁�={}", siteId, JSON.toJSON(workNo), JSON.toJSON(staNo), writeCount);

--
Gitblit v1.9.1