From 9c86cce3943842ed28f3acd48c33c76cb93b57e5 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期三, 06 三月 2024 18:04:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 130 ++++--------------------------------------
1 files changed, 14 insertions(+), 116 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index d92ca90b..5e9dc63 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -233,10 +233,10 @@
if (slave.getId() == 1) {
//鏉$爜
//Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840.0", (short) 60);
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840.0", (short) 32);
if (result2.IsSuccess) {
for (int i = 0; i < 4; i++) {
- String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 10, 8, "UTF-8");
+ String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
barcodeThread.setBarcode(barcode);
@@ -336,128 +336,26 @@
array[1] = staProtocol.getStaNo();
// OperateResult write = siemensS7Net.Write("DB100." + index*4, array);
- //鏇存柊鍛戒护鏃ュ織
- CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class);
- CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
- CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId());
- CommandInfoLog commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
- commandInfoLog.setId(null);
-// CommandInfoLog commandInfoLog = new CommandInfoLog();
-// if (commandInfo != null) {
-// commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
-// commandInfoLog.setId(null);
-// }else {
-// Date now = new Date();
-// commandInfoLog.setCommand(JSON.toJSONString(staProtocol));
-// commandInfoLog.setCommandStatus(3);
-// commandInfoLog.setStartTime(now);
-// commandInfoLog.setExecuteTime(now);
-// commandInfoLog.setCompleteTime(now);
-// commandInfoLog.setDevice(SlaveType.Devp.toString());
-// commandInfoLog.setWrkNo(9999);
-// commandInfoLog.setTaskNo("9999");
-// commandInfoLog.setCommandDesc("鎵嬪姩鍛戒护");
-// }
-
OperateResult writeResult;
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
//浠诲姟涓嬪彂鎴愬姛鏍囪瘑
boolean writeFlag = false;
- while(writeCount < 5){
- writeResult = siemensS7Net.Write("DB100." + index*4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯
-
- if(writeResult.IsSuccess){
- Thread.sleep(200);
- OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*4, (short)4);
- if(readResult.IsSuccess){
- short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
- short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2);
- if(staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)){
- //浠诲姟鍛戒护鍐欏叆鎴愬姛
- writeFlag = true;
- log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-
- Date now = new Date();
-
- //鏇存柊鎸囦护鐘舵��
- commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//杈撻�佺嚎鐩存帴瀹屾垚鐘舵��
- commandInfo.setExecuteTime(now);
- commandInfo.setCompleteTime(now);
- commandInfoService.updateById(commandInfo);
-
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛");
- commandInfoLog.setCommandStatus(CommandStatusType.COMPLETE.id);//杈撻�佺嚎鐩存帴瀹屾垚鐘舵��
- commandInfoLog.setExecuteTime(now);
- commandInfoLog.setCompleteTime(now);
- commandInfoLogService.insert(commandInfoLog);
-
- //鏇存柊浠诲姟姝ュ簭
- TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
- TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
- if (taskWrk != null) {
- taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
- taskWrkService.updateById(taskWrk);
- }
-
- break;
- } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol),writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
- commandInfoLogService.insert(commandInfoLog);
- }
- } else {
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol), writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
- commandInfoLogService.insert(commandInfoLog);
- }
- } else {
- writeCount++;
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
- slave.getId(), JSON.toJSON(staProtocol),writeCount));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-
- //鏇存柊鎸囦护鏃ュ織
- commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
- commandInfoLogService.insert(commandInfoLog);
- }
- Thread.sleep(200);
- }
-
- //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡
- if(!writeFlag){
- staProtocol = station.get(staProtocol.getSiteId());
- if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
- staProtocol.setPakMk(true);
- }
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
- log.error("鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
-
- //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
- boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
- read();//璇诲彇1娆¤澶囩姸鎬�
- return;
- } else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂鎴愬姛 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
- //log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}", slave.getId(), JSON.toJSON(staProtocol));
-
- Integer siteId = staProtocol.getSiteId();
- staProtocol = station.get(siteId);
- if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) {
- staProtocol.setPakMk(true);
+ OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, (int) staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔�
+ if(writeResult1.IsSuccess&&writeResult2.IsSuccess){
+ //鏇存柊浠诲姟姝ュ簭
+ TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo((int) staProtocol.getWorkNo());
+ if (taskWrk != null) {
+ taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
+ taskWrkService.updateById(taskWrk);
+ }else{
+ log.error("杈撻�佺嚎鍐欏叆澶辫触"+staProtocol+"++++++++++++++++++++++++++++++++++++++");
}
}
+
}
private void write2(StaProtocol staProtocol) throws InterruptedException {
if (null == staProtocol) {
--
Gitblit v1.9.1