From e36b74525f9c7400da2d3438c5e4164622da059a Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期三, 24 一月 2024 13:14:21 +0800 Subject: [PATCH] 封装初始化方法为工具类,方便调用, getPlcParameterValues getPlcBitValues 方法codeid 按照传入参数的顺序遍历 来获取值 --- springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 148 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 134 insertions(+), 14 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java index f6b9988..619fd1b 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java +++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java @@ -1,10 +1,15 @@ package com.example.springboot.service; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.example.springboot.common.Result; +import com.example.springboot.component.S7control; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.StorageTask; import com.example.springboot.mapper.HomeMapper; @@ -21,38 +26,153 @@ private SpianService spianService; public void EndTask(int types) { + String A01glassid1 = spianService.queGlassid("DB103.128", 14).toString(); + String A01glassid2 = spianService.queGlassid("DB103.142", 14).toString(); + String A02glassid1 = spianService.queGlassid("DB103.156", 14).toString(); + String B01glassid = spianService.queGlassid("DB103.184", 14).toString(); + String B02glassid = spianService.queGlassid("DB103.212", 14).toString(); + List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10); if (types == 0) {// 缁堟杩涚墖浠诲姟 List<StorageTask> cageList = homeMapper.SelectTaskByState(types); for (StorageTask storageTask : cageList) { - outSliceServive.StopTask(storageTask.getGlassId(), types); + // 鍒ゆ柇鍑虹墖浠诲姟浣嶇疆骞舵竻闄ゅ搴旂幓鐠僫d + if ((storageTask.getGlassId().equals(A01glassid1)|| storageTask.getGlassId().equals(A01glassid2))&&DeviceList.get(4)==0) { + outSliceServive.StopTask(storageTask.getGlassId(), types); + ClearGlassId("DB101.10.0"); + } + if (storageTask.getGlassId().equals(B01glassid)&&DeviceList.get(2)==0) { + outSliceServive.StopTask(storageTask.getGlassId(), types); + ClearGlassId("DB101.10.2"); + } + if (storageTask.getGlassId().equals(B02glassid)&&DeviceList.get(3)==0) { + ClearGlassId("DB101.10.3"); + outSliceServive.StopTask(storageTask.getGlassId(), types); + } } // 鍙戦�佺粓姝㈣繘鐗囦换鍔′俊鍙� } else {// 缁堟鍑虹墖浠诲姟 - List<StorageCage> storageCages = homeMapper.selectinout(3); - for (StorageCage storageCage : storageCages) { - List<StorageCage> storageCagess = homeMapper.SelectStoragesGlassById(storageCage.getGlassId()); - for (StorageCage storageCagez : storageCagess) { - if (storageCagez.getState().equals("2")) {// 璋冩嫧杩涚墖 - outSliceServive.StopTask(storageCagez.getGlassId(), 0); - } else {// 鍑虹墖 - outSliceServive.StopTask(storageCagez.getGlassId(), types); + List<StorageTask> cageLists = homeMapper.SelectTaskByState(types); + List<StorageTask> cageList2 = homeMapper.SelectTaskByState(2); + if (cageList2.size()>0) { + cageLists.add(cageList2.get(0)); + } + for (StorageTask cageList : cageLists) { + if (cageList.getTaskType().equals("1")) { + System.out.println(DeviceList.get(5)); + if(cageList.getGlassId().equals(A02glassid1)&&DeviceList.get(5)==0){ + outSliceServive.StopTask(cageList.getGlassId(), types); + ClearGlassId("DB101.10.1"); + } + if(cageList.getGlassId().equals(B01glassid)&&DeviceList.get(2)==0){ + outSliceServive.StopTask(cageList.getGlassId(), types); + ClearGlassId("DB101.10.2"); + } + if(cageList.getGlassId().equals(B02glassid)&&DeviceList.get(3)==0){ + outSliceServive.StopTask(cageList.getGlassId(), types); + ClearGlassId("DB101.10.3"); + } + }else if (cageList.getTaskType().equals("2")) { + if(cageList.getGlassId().equals(A02glassid1)&&DeviceList.get(5)==0){ + outSliceServive.StopTask(cageList.getGlassId(), 2); + ClearGlassId("DB101.10.1"); + } + if(cageList.getGlassId().equals(B01glassid)&&DeviceList.get(2)==0){ + outSliceServive.StopTask(cageList.getGlassId(), 2); + ClearGlassId("DB101.10.2"); + } + if(cageList.getGlassId().equals(B02glassid)&&DeviceList.get(3)==0){ + outSliceServive.StopTask(cageList.getGlassId(), 2); + ClearGlassId("DB101.10.3"); } } } + + // List<StorageCage> storageCages = homeMapper.selectinout(3); + // for (StorageCage storageCage : storageCages) { + // List<StorageCage> storageCagess = homeMapper.SelectStoragesGlassById(storageCage.getGlassId()); + + // for (StorageCage storageCagez : storageCagess) { + + // if (storageCagez.getState().equals("2")) {// 璋冩嫧杩涚墖 + // outSliceServive.StopTask(storageCagez.getGlassId(), 0); + // } else {// 鍑虹墖 + // outSliceServive.StopTask(storageCagez.getGlassId(), types); + // } + + // // 鍒ゆ柇鍑虹墖浠诲姟浣嶇疆骞舵竻闄ゅ搴旂幓鐠僫d + // if (storageCagez.getGlassId() == A02glassid1&&DeviceList.get(5)==0) { + // outSliceServive.StopTask(storageCagez.getGlassId(), types); + // ClearGlassId("DB101.10.1"); + // } else if (storageCagez.getGlassId() == B01glassid&&DeviceList.get(2)==0) { + // outSliceServive.StopTask(storageCagez.getGlassId(), types); + // ClearGlassId("DB101.10.2"); + // } else if (storageCagez.getGlassId() == B02glassid&&DeviceList.get(3)==0) { + // ClearGlassId("DB101.10.3"); + // outSliceServive.StopTask(storageCagez.getGlassId(), types); + // } + // } + // } } } + // 鎵嬪姩瀹屾垚浠诲姟 public void UpdateTask(Integer types, Integer shelfrack, String glassid) { if (types == 0) {// 瀹屾垚杩涚墖 spianService.overtask(glassid); } else if (types == 1) {// 瀹屾垚鍑虹墖 spianService.overtask(glassid); - } else if (types == 2) {// 缁堟杩涚墖浠诲姟 - outSliceServive.StopTask(glassid, 0); - // 鍙戦�佺粓姝㈣繘鐗囦换鍔′俊鍙� - } else {// 缁堟鍑虹墖浠诲姟 - outSliceServive.StopTask(glassid, 1); } + // else if (types == 2) {// 缁堟杩涚墖浠诲姟 + // outSliceServive.StopTask(glassid, 0); + // // 鍙戦�佺粓姝㈣繘鐗囦换鍔′俊鍙� + // } else {// 缁堟鍑虹墖浠诲姟 + // outSliceServive.StopTask(glassid, 1); + // } + } + + // 鍒ゆ柇浠诲姟绫诲瀷鍚庢竻闄ゅ搴旂幓鐠僫d + public Result ClearGlassId(String position, String glassid) { + Map<String, Object> map = new HashMap<>(); + if (S7control.getinstance().CheckConnected() == true) { + // 鍒ゆ柇杩涘嚭杩樻槸鍑虹墖浠诲姟 + Short type = homeMapper.SelectTaskByGlassId(glassid); + if (type != null) { + if (type == 0) { + // 杩涚墖 + outSliceServive.StopTask(glassid, 0); + } else if (type == 1) { + // 鍑虹墖 + outSliceServive.StopTask(glassid, 1); + } else { + // 璋冩嫧 + outSliceServive.StopTask(glassid, 0); + outSliceServive.StopTask(glassid, 1); + } + } + ClearGlassId(position); + map.put("message", "200"); + } else { + map.put("message", "300"); + } + return Result.success(map); + } + + // 娓呴櫎鐜荤拑id + public Result ClearGlassId(String position) { + Map<String, Object> map = new HashMap<>(); + if (S7control.getinstance().CheckConnected() == true) { + S7control.getinstance().WriteBit(position, true); + try { + TimeUnit.MILLISECONDS.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + } + S7control.getinstance().WriteBit(position, false); + map.put("message", "200"); + } else { + map.put("message", "300"); + } + return Result.success(map); } } -- Gitblit v1.8.0