From 10ac21082bbbe92dabecdda1a98fe4539f746037 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 14 四月 2026 09:10:38 +0800
Subject: [PATCH] 1
---
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/vo/SiteTableVo.java | 3
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java | 19 +--
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/CtuMainService.java | 8 +
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java | 10 +-
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/SiteController.java | 51 +++++++++-
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/CtuMainServiceImpl.java | 37 +++++++
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/requestParam/StationRequestParam.java | 5 +
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java | 11 +
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/SafeSignal.java | 10 +-
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/ClearSingleOperationHandler.java | 28 +++--
zy-asc-conveyor/src/main/webapp/views/pipeline.html | 21 +++
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/OutOperationHandler.java | 6
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java | 10 +-
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java | 19 ++-
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java | 4
15 files changed, 182 insertions(+), 60 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java
index f0dc3c4..19376e1 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java
@@ -4,11 +4,14 @@
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
import com.zy.acs.manager.common.annotation.IntegrationAuth;
+import com.zy.acs.manager.core.domain.TaskPosDto;
import com.zy.acs.manager.core.domain.type.NamespaceType;
import com.zy.acs.manager.core.integrate.dto.ConveyorQueryParam;
import com.zy.acs.manager.core.integrate.dto.ConveyorQueryResult;
+import com.zy.acs.manager.manager.entity.Segment;
import com.zy.acs.manager.manager.entity.Sta;
import com.zy.acs.manager.manager.entity.Task;
+import com.zy.acs.manager.manager.enums.SegmentStateType;
import com.zy.acs.manager.manager.enums.StatusType;
import com.zy.acs.manager.manager.service.SegmentService;
import com.zy.acs.manager.manager.service.StaService;
@@ -87,11 +90,17 @@
@PostMapping("/station/checkTakeComplete")
@IntegrationAuth(name = NamespaceType.RCS_STA_QUERY)
public R checkTakeComplete(@RequestBody ConveyorQueryParam param) {
-
- String staNo = param.getStaNo();
String seqNum = param.getSeqNum();
- taskService.()
-
- return R.ok().add(resultList);
+ Task task = taskService.selectBySeqNum(null, seqNum);
+ if (null == task) {
+ return R.error("task not found");
+ }
+ List<Segment> list = segmentService.list(new LambdaQueryWrapper<Segment>().eq(Segment::getTaskId, task.getId()).eq(Segment::getPosType, TaskPosDto.PosType.ORI_STA.toString()));
+ for (Segment segment : list){
+ if (segment.getState().equals(SegmentStateType.FINISH.toString())){
+ return R.ok().add(true);
+ }
+ }
+ return R.ok().add(false);
}
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/SiteController.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/SiteController.java
index d55b003..45d9d36 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/SiteController.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/SiteController.java
@@ -4,6 +4,7 @@
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.conveyor.controller.vo.SiteTableVo;
import com.zy.acs.conveyor.core.constant.RedisConveyorConstant;
+import com.zy.acs.conveyor.core.model.SafeSignal;
import com.zy.acs.conveyor.core.model.StaProtocol;
import com.zy.acs.conveyor.core.properties.DevpSlave;
import com.zy.acs.conveyor.core.properties.OutputQueue;
@@ -16,10 +17,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 杈撻�佽澶囨帴鍙�
@@ -73,7 +71,7 @@
vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔�
vo.setWeight(staProtocol.getWeight() == null ? 0D : staProtocol.getWeight());
vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() ? (staProtocol.isLow() ? "浣�" : "楂�") : "-"); //楂樹綆搴撲綅
-
+ vo.setAllow((staProtocol.getAllowPut() ? "鍙斁" : "涓嶅彲鏀�") + "/" + (staProtocol.getAllowTake() ? "鍙彇" : "涓嶅彲鍙�"));
}
return R.ok().add(list);
@@ -115,6 +113,7 @@
vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔�
vo.setWeight(staProtocol.getWeight() == null ? 0D : staProtocol.getWeight());
vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() ? (staProtocol.isLow() ? "浣�" : "楂�") : "-"); //楂樹綆搴撲綅
+ vo.setAllow((staProtocol.getAllowPut() ? "鍙斁" : "涓嶅彲鏀�") + "/" + (staProtocol.getAllowTake() ? "鍙彇" : "涓嶅彲鍙�"));
return R.ok().add(vo);
}
}
@@ -152,5 +151,47 @@
return R.error("plc宸叉帀绾�");
}
+ @PostMapping("/detl/safe")
+ @ManagerAuth(memo = "琛ュ厖瀹夊叏淇″彿")
+ public R safe(@RequestParam Integer siteId) {
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ Map<Integer, StaProtocol> station = stationService.getStationMap(devp.getId());
+ for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+ if (siteId.equals(entry.getKey())) {
+ StaProtocol staProtocol = entry.getValue();
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ boolean flag = true;
+ List<DevpSlave.Sta> putSta = devp.getPutSta();
+ List<DevpSlave.Sta> takeSta = devp.getTakeSta();
+ Optional<DevpSlave.Sta> first = takeSta.stream().filter(sta -> sta.getStaNo().equals(siteId)).findFirst();
+ int i = -1;
+ if (first.isPresent()) {
+ i = takeSta.indexOf(first.get());
+ if (i != -1) {
+ flag = false;
+ }
+ }
+ if (i == -1) {
+ first = putSta.stream().filter(sta -> sta.getStaNo().equals(siteId)).findFirst();
+ if (first.isPresent()) {
+ i = putSta.indexOf(first.get());
+ flag = true;
+ }
+ }
+ if (i == -1) {
+ return R.error("姝ょ珯鐐规棤闇�瀹夊叏淇″彿");
+ }
+ staProtocol.setSafeSignal(new SafeSignal(i, (short) 0, flag));
+ redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG, staProtocol);
+ return R.ok();
+ }
+ }
+ }
+ return R.error("plc宸叉帀绾�");
+ }
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/requestParam/StationRequestParam.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/requestParam/StationRequestParam.java
index 263785e..b9775cb 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/requestParam/StationRequestParam.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/requestParam/StationRequestParam.java
@@ -16,6 +16,11 @@
* 绔欑偣鍒楄〃
*/
private String staNo;
+
+ /**
+ * 绔欑偣鍒楄〃
+ */
+ private String seqNum;
/**
* 杈撻�佺嚎缂栧彿
*/
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/vo/SiteTableVo.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/vo/SiteTableVo.java
index 1bfedd3..0c74f1c 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/vo/SiteTableVo.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/controller/vo/SiteTableVo.java
@@ -39,4 +39,7 @@
private String locType1 = "-";
private Double weight = 0D;
+
+ //鍙彇
+ private String allow = "-";
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/SafeSignal.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/SafeSignal.java
index 2012ef6..1d57edf 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/SafeSignal.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/model/SafeSignal.java
@@ -6,17 +6,17 @@
@Data
public class SafeSignal implements Serializable {
-
+ //鏄暟缁勬墍鍦ㄤ綅缃紝灏辨槸绗嚑涓嚭搴撳彛鎴栬�呯鍑犱釜鍏ュ簱鍙�
private Integer index;
-
+ //鏄啓0杩樻槸1
private short value;
-
+ //浠h〃鍐欏湪浜や簰1杩樻槸2
private Boolean flag;
- public SafeSignal(Integer index,Short value, Boolean flag) {
+ public SafeSignal(Integer index, Short value, Boolean flag) {
this.index = index;
- this.value =value;
+ this.value = value;
this.flag = flag;
}
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java
index 1e9198d..f81b24f 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/AppleLocOperationHandler.java
@@ -81,12 +81,12 @@
if (staProtocol.getWorkNo() == 0) {
continue;
}
- if (!staProtocol.isLoading()) {
- News.error("{}锛氱珯鐐癸細{}锛屾棤鐗�", config.getMark(), staProtocol.getSiteId());
+ if (!staProtocol.isAutoing()) {
+ //News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
continue;
}
- if (!staProtocol.isAutoing()) {
- News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
+ if (!staProtocol.isLoading()) {
+ News.error("{}锛氱珯鐐癸細{}锛屾棤鐗�", config.getMark(), staProtocol.getSiteId());
continue;
}
String barcode = staProtocol.getBarcode();
@@ -100,7 +100,7 @@
continue;
}
if (job.getJobSts() != ConveyorStateType.STARTUP.getStatus()) {
- if (job.getJobSts() == ConveyorStateType.INBOUND.getStatus()){
+ if (job.getJobSts() == ConveyorStateType.INBOUND.getStatus()) {
continue;
}
News.error("{}锛氱珯鐐癸細{}锛屼换鍔$姸鎬佷笉瀵癸紝{}", config.getMark(), staProtocol.getSiteId(), JSON.toJSON(job));
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/ClearSingleOperationHandler.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/ClearSingleOperationHandler.java
index bfa7433..a25f771 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/ClearSingleOperationHandler.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/ClearSingleOperationHandler.java
@@ -13,6 +13,7 @@
import com.zy.acs.conveyor.core.properties.SlaveProperties;
import com.zy.acs.conveyor.core.service.StationService;
import com.zy.acs.conveyor.entity.Job;
+import com.zy.acs.conveyor.service.CtuMainService;
import com.zy.acs.conveyor.service.JobService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,10 @@
@Autowired
private StationService stationService;
+
+ @Autowired
+ private CtuMainService ctuMainService;
+
private final RedisSupport redis = RedisSupport.defaultRedisSupport;
@@ -69,7 +74,7 @@
continue;
}
if (!staProtocol.isAutoing()) {
- News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
+ //News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
continue;
}
if (staProtocol.getWorkNo() > 0 && !staProtocol.isLoading()) {
@@ -79,21 +84,24 @@
continue;
}
if (job.getJobSts() != ConveyorStateType.SENDTASK.getStatus()) {
- if (job.getJobSts() == ConveyorStateType.CLEARSIGNAL.getStatus()){
+ if (job.getJobSts() == ConveyorStateType.CLEARSIGNAL.getStatus()) {
continue;
}
News.error("{}锛氱珯鐐癸細{}锛屼换鍔$姸鎬佷笉瀵癸紝{}", config.getMark(), staProtocol.getSiteId(), JSON.toJSON(job));
continue;
}
- //String s = ctuMainService.checkStationStatus(takeSta.getStaNo());
- staProtocol.setSafeSignal(new SafeSignal( devp.getPutSta().indexOf(takeSta) ,(short)1,false));
+ if (ctuMainService.checkComplete(job.getTaskNo())) {
+ staProtocol.setSafeSignal(new SafeSignal(devp.getPutSta().indexOf(takeSta), (short) 1, false));
+ redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG, staProtocol);
-
- job.setJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
- if (!jobService.updateById(job)){
- log.info("" + config.getMark() + "绔欑偣娓呯┖澶辫触锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
- }else {
- News.info("" + config.getMark() + "绔欑偣娓呯┖锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
+ job.setJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
+ if (!jobService.updateById(job)) {
+ log.info("" + config.getMark() + "绔欑偣娓呯┖澶辫触锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
+ } else {
+ News.info("" + config.getMark() + "绔欑偣娓呯┖锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
+ }
+ } else {
+ log.info("" + config.getMark() + "绔欑偣锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
}
}
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/OutOperationHandler.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/OutOperationHandler.java
index 1e3e4cf..8216624 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/OutOperationHandler.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/OutOperationHandler.java
@@ -72,15 +72,15 @@
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (!staProtocol.isAutoing()) {
- News.error("{},杈撻�佺嚎鏈嚜鍔紝闇�瑕佸紑鍚細{}", config.getMark(), staProtocol.getSiteId());
+ //News.error("{},杈撻�佺嚎鏈嚜鍔紝闇�瑕佸紑鍚細{}", config.getMark(), staProtocol.getSiteId());
continue;
}
if (staProtocol.getWorkNo() == 0 && staProtocol.isLoading()) {
String seqNum = ctuMainService.checkStationStatus(putSta.getStaNo());
if (seqNum != null) {
- staProtocol.setSafeSignal(new SafeSignal( devp.getPutSta().indexOf(putSta) ,(short)1,true));
- //redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG,staProtocol );
+ staProtocol.setSafeSignal(new SafeSignal(devp.getPutSta().indexOf(putSta), (short) 1, true));
+ redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG, staProtocol);
Job job = jobService.getJobByTaskNo(seqNum);
if (job != null) {
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java
index 6532e8a..c71bb1b 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/SendTaskOperationHandler.java
@@ -73,16 +73,16 @@
staProtocol = staProtocol.clone();
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
+ if (!staProtocol.isAutoing()) {
+ //News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
+ continue;
+ }
if (staProtocol.getWorkNo() == 0 && staProtocol.isLoading()) {
News.error("{},杈撻�佺嚎涓婃湁璐ф棤浠诲姟鍙凤紝闇�瑕佷汉宸ュ鐞嗙珯鐐癸細{}", config.getMark(), staProtocol.getSiteId());
continue;
}
if (staProtocol.getWorkNo() > 0 && !staProtocol.isLoading()) {
News.error("{},杈撻�佺嚎涓婃棤璐ф湁浠诲姟鍙凤紝闇�瑕佷汉宸ュ鐞嗙珯鐐癸細{}", config.getMark(), staProtocol.getSiteId());
- continue;
- }
- if (!staProtocol.isAutoing()) {
- News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
continue;
}
if (!staProtocol.isInEnable()) {
@@ -95,7 +95,7 @@
continue;
}
if (jobByJobNo.getJobSts() != ConveyorStateType.INBOUND.getStatus()) {
- if (jobByJobNo.getJobSts() == ConveyorStateType.SENDTASK.getStatus()){
+ if (jobByJobNo.getJobSts() == ConveyorStateType.SENDTASK.getStatus()) {
continue;
}
News.error("{}锛氱珯鐐癸細{}锛屼换鍔$姸鎬佷笉瀵癸紝{}", config.getMark(), staProtocol.getSiteId(), JSON.toJSON(jobByJobNo));
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java
index ce57209..6d175b6 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/operation/handler/StartUpOperationHandler.java
@@ -69,7 +69,7 @@
continue;
}
if (!staProtocol.isAutoing()) {
- News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
+ //News.error("{}锛氱珯鐐癸細{}锛岄潪鑷姩", config.getMark(), staProtocol.getSiteId());
continue;
}
if (!staProtocol.isLoading()) {
@@ -84,7 +84,7 @@
continue;
}
if (jobByJobNo.getJobSts() != ConveyorStateType.OUTBOUND.getStatus()) {
- if (jobByJobNo.getJobSts() == ConveyorStateType.STARTUP.getStatus()){
+ if (jobByJobNo.getJobSts() == ConveyorStateType.STARTUP.getStatus()) {
continue;
}
News.error("{}锛氱珯鐐癸細{}锛屼换鍔$姸鎬佷笉瀵癸紝{}", config.getMark(), staProtocol.getSiteId(), JSON.toJSON(jobByJobNo));
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java
index 563287d..ccb551a 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/service/Snap7Service.java
@@ -38,6 +38,7 @@
public void read(StaProtocol staProtocol, SiemensS7Net siemensS7Net) {
}
+
public void writeSafe(StaProtocol staProtocol) throws InterruptedException {
if (staProtocol == null) {
log.warn("鍐欏叆鏁版嵁涓虹┖锛岃烦杩� [id:{}]", JSON.toJSONString(staProtocol));
@@ -63,22 +64,22 @@
}
SafeSignal safeSignal = staProtocol.getSafeSignal();
- int baseOffset = 0;
+ int baseOffset = 0;
short[] array = new short[6];
array[0] = (short) 1;
array[1] = (short) 0;
array[2] = (short) 0;
array[5] = (short) 0;
- if (safeSignal.getFlag()){
+ if (safeSignal.getFlag()) {
array[3] = (short) 0;
- array[4] =safeSignal.getValue();
- baseOffset = SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getOffset() + safeSignal.getIndex() * SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getByteLength();
- }else {
+ array[4] = safeSignal.getValue();
+ baseOffset = SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getOffset() + safeSignal.getIndex() * SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getByteLength();
+ } else {
array[3] = safeSignal.getValue();
array[4] = (short) 0;
- baseOffset = SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getOffset() +2 + safeSignal.getIndex() * SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getByteLength();
+ baseOffset = SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getOffset() + 2 + safeSignal.getIndex() * SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getByteLength();
}
- String flagAddr = TaskField.TASK_NUMBER.getAddressPattern() + PlcConstant.ADDRESS_CONCATENATION
+ String flagAddr = SafeSignalField.SAFE_SIGNAL_TO_CONVEYOR.getAddressPattern() + PlcConstant.ADDRESS_CONCATENATION
+ baseOffset;
// 浠诲姟涓嬪彂閲嶈瘯鏈哄埗
@@ -103,9 +104,6 @@
staProtocol.getPlcId(), staProtocol.getSiteId(), writeCount,
writeResult.Message);
- if (writeCount < WRITE_RETRY_MAX) {
- Thread.sleep(WRITE_RETRY_INTERVAL_MS);
- }
}
if (!success) {
@@ -114,7 +112,6 @@
OutputQueue.DEVP.offer(errorMsg);
News.error("SiemensDevp - 4 - 鍐欏叆瀹夊叏淇″彿杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}",
staProtocol.getPlcId(), JSON.toJSON(staProtocol));
- log.error(errorMsg);
}
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java
index 8c3e641..c591489 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/thread/SiemensDevpThread.java
@@ -338,6 +338,7 @@
SafeSignalField.SAFE_SIGNAL_FROM_CONVEYOR.buildAddress(),
(short) (staNoSize * SafeSignalField.SAFE_SIGNAL_FROM_CONVEYOR.getByteLength()));
+
if (!result.IsSuccess) {
log.warn("璇诲彇PLC瀹夊叏浜や簰淇℃伅寮傚父 [id:{}]", slave.getId());
return;
@@ -372,11 +373,13 @@
staProtocolTake.setInComplete(status2[3]);
staProtocolTake.setOutComplete(status2[4]);
//
- if (status[3]){
- redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG, new SafeSignal(i,(short)0,true));
+ if (status[3]) {
+ staProtocolPut.setSafeSignal( new SafeSignal(i, (short) 0, true));
+ redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG,staProtocolPut);
}
- if (status2[4]){
- redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG, new SafeSignal(i, (short) 0,false));
+ if (status2[4]) {
+ staProtocolTake.setSafeSignal(new SafeSignal(i, (short) 0, false));
+ redis.push(RedisConveyorConstant.CONVEYOR_SAFE_FLAG, staProtocolTake);
}
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/CtuMainService.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/CtuMainService.java
index 21edbec..ba52c9c 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/CtuMainService.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/CtuMainService.java
@@ -25,4 +25,12 @@
*/
boolean sendTask(OpenBusSubmitParam openBusSubmitParam);
+ /**
+ * 妫�鏌ヤ换鍔�
+ *
+ * @param seqNum
+ * @return
+ */
+ Boolean checkComplete(String seqNum);
+
}
\ No newline at end of file
diff --git a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/CtuMainServiceImpl.java b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/CtuMainServiceImpl.java
index aecbf5d..11eb234 100644
--- a/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/CtuMainServiceImpl.java
+++ b/zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/service/impl/CtuMainServiceImpl.java
@@ -119,5 +119,40 @@
return null;
}
-
+ /**
+ * 妫�鏌ョ珯鐐圭姸鎬�
+ *
+ * @param seqNum 浠诲姟鍙�
+ * @return 绔欑偣鏄惁鍙�氳
+ */
+ public Boolean checkComplete(String seqNum) {
+ StationRequestParam stationRequestParam = new StationRequestParam();
+ stationRequestParam.setSeqNum(seqNum);
+ String response = "";
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(ctuUrl)
+ .setPath(station)
+ .setTimeout(timeout, TimeUnit.SECONDS)
+ .setJson(JSON.toJSONString(stationRequestParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger(code).equals(codeValue)) {
+ log.info("RCS杩斿洖鏁版嵁锛歿}", response);
+ if (jsonObject.getBoolean(dataCode)) {
+ return true;
+ }
+ } else {
+ log.error("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛歿}锛屽搷搴斿唴瀹癸細{}", jsonObject.getInteger(code), response);
+ //throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛�" + jsonObject.getInteger(code));
+ }
+ } catch (CoolException e) {
+ log.error("璋冪敤绔欑偣鐘舵�佹帴鍙e紓甯�", e);
+ //throw e;
+ } catch (Exception e) {
+ //log.error("妫�鏌ョ珯鐐圭姸鎬佸け璐ワ紝绔欑偣缂栧彿锛歿}", staNo, e);
+ }
+ return false;
+ }
}
diff --git a/zy-asc-conveyor/src/main/webapp/views/pipeline.html b/zy-asc-conveyor/src/main/webapp/views/pipeline.html
index 90e4ce0..2505149 100644
--- a/zy-asc-conveyor/src/main/webapp/views/pipeline.html
+++ b/zy-asc-conveyor/src/main/webapp/views/pipeline.html
@@ -786,7 +786,8 @@
<th>閲嶉噺淇″彿</th>
<th>绌烘弧淇″彿</th>
<th>鐩爣绔�</th>
- <th>楂樹綆淇″彿</th>
+ <th>鍙斁/鍙彇</th>
+<!-- <th>楂樹綆淇″彿</th>-->
</tr>
</thead>
<tbody>
@@ -842,6 +843,7 @@
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="save">淇濆瓨</button>
<button type="button" class="btn btn-secondary" id="clear">娓呴櫎</button>
+ <button type="button" class="btn btn-secondary" id="safe">琛ュ厖瀹夊叏淇″彿</button>
<button type="button" class="btn btn-secondary" id="cancel">鍙栨秷</button>
</div>
</div>
@@ -990,7 +992,7 @@
<td>${site.weight || '--'}</td>
<td>${site.emptyMk || '--'}</td>
<td>${site.staNo || '--'}</td>
- <td>${site.locType1 || '--'}</td>
+ <td>${site.allow || '--'}</td>
</tr>
`;
}
@@ -1081,8 +1083,7 @@
http.post(`${baseUrl}/site/detl/update`, {
siteId: $('#siteId').val(),
workNo: $('#workNo').val(),
- staNo: $('#staNo').val(),
- pakMk: $('#pakMk').val()
+ staNo: $('#staNo').val()
}, (res) => {
showSuccessMessage("淇敼鎴愬姛");
setTimeout(() => {
@@ -1097,6 +1098,18 @@
$('#staNo').val(0);
});
+ // 琛ュ厖瀹夊叏淇″彿
+ $(document).on('click', '#safe', function () {
+ http.post(`${baseUrl}/site/detl/safe`, {
+ siteId: $('#siteId').val()
+ }, (res) => {
+ showSuccessMessage("琛ュ厖鎴愬姛");
+ setTimeout(() => {
+ closeModal();
+ }, 1500);
+ });
+ });
+
// 鍙栨秷绔欑偣淇℃伅淇敼
$(document).on('click', '#cancel', function () {
closeModal();
--
Gitblit v1.9.1