From 0c60480362efdcffa0cbb3f6dd4272f43859adb1 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 01 四月 2025 15:05:15 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/entity/TaskWrk.java | 14
src/main/java/com/zy/asrs/controller/OpenController.java | 72 +-
src/main/java/com/zy/asrs/entity/BasDevp.java | 16
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 261 -----------
src/main/java/com/zy/asrs/controller/CrnController.java | 14
src/main/resources/mapper/TaskWrkMapper.xml | 4
src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 319 +++----------
src/main/java/com/zy/asrs/service/OpenService.java | 4
src/main/java/com/zy/asrs/entity/TaskWrkLog.java | 1
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 2
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 515 ---------------------
src/main/java/com/zy/asrs/controller/ConsoleController.java | 6
src/main/java/com/zy/core/enums/CrnStatusType.java | 46 -
src/main/java/com/zy/asrs/controller/TaskWrkController.java | 15
src/main/java/com/zy/core/MainProcess.java | 7
src/main/resources/mapper/TaskWrkLogMapper.xml | 1
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 64 +-
src/main/resources/mapper/BasDevpMapper.xml | 4
18 files changed, 215 insertions(+), 1,150 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index d56f44d..5e704a3 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -147,7 +147,7 @@
/**
* 鍫嗗灈鏈虹姸鎬佸垽鏂�
*/
- if (crnProtocol.getAlarm1() > 0) {
+ if (crnProtocol.getAlarm() > 0) {
vo.setCrnStatus(CrnStatusType.MACHINE_ERROR);
} else {
if (crnProtocol.getTaskNo()>0) {
@@ -324,8 +324,8 @@
vo.setWorkNo(crnProtocol.getTaskNo());
vo.setCrnStatus(crnProtocol.getStatusType().desc);
- if (crnProtocol.getAlarm1() > 0) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ if (crnProtocol.getAlarm() > 0) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
vo.setError(crnError == null ? "鏈煡寮傚父" : crnError.getErrName());
}
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 4844ff3..2bb0d19 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -130,7 +130,7 @@
vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
vo.setLiftPos(crnProtocol.getLiftPosType().desc);
vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
- vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
+ vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
if (crnProtocol.getAlarm() > 0) {
BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
@@ -165,9 +165,9 @@
vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
vo.setLiftPos(crnProtocol.getLiftPosType().desc);
vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
- vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
- if (crnProtocol.getAlarm1() > 0) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+ if (crnProtocol.getAlarm() > 0) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
}
return R.ok().add(vo);
@@ -307,9 +307,9 @@
vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
vo.setLiftPos(crnProtocol.getLiftPosType().desc);
vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
- vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
- if (crnProtocol.getAlarm1() > 0) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+ if (crnProtocol.getAlarm() > 0) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
}
vo.setInEnable(basCrnp.getInEnable());
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 0e360c4..7af2501 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -154,43 +154,43 @@
return R.ok().add(taskWrk);
}
- //鍙栨斁璐х敵璇�
- @PostMapping("/pick/and/place/v1")
- @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
- public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
- @RequestBody TaskOverParam param,
- HttpServletRequest request){
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getStaNo())){
- return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getType())){
- return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
- }
- return openService.getAgvPickAndPlaceV1(param);
- }
+// //鍙栨斁璐х敵璇�
+// @PostMapping("/pick/and/place/v1")
+// @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
+// public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
+// @RequestBody TaskOverParam param,
+// HttpServletRequest request){
+// auth(appkey, param, request);
+// if (Cools.isEmpty(param)) {
+// return R.parse(BaseRes.PARAM);
+// }
+// if (Cools.isEmpty(param.getStaNo())){
+// return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+// }
+// if (Cools.isEmpty(param.getType())){
+// return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+// }
+// return openService.getAgvPickAndPlaceV1(param);
+// }
- //鍙栨斁璐у畬鎴愬弽棣�
- @PostMapping("/pick/and/place/v2")
- @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
- public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
- @RequestBody TaskOverParam param,
- HttpServletRequest request){
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getStaNo())){
- return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getType())){
- return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
- }
- return openService.getAgvPickAndPlaceV2(param);
- }
+// //鍙栨斁璐у畬鎴愬弽棣�
+// @PostMapping("/pick/and/place/v2")
+// @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
+// public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
+// @RequestBody TaskOverParam param,
+// HttpServletRequest request){
+// auth(appkey, param, request);
+// if (Cools.isEmpty(param)) {
+// return R.parse(BaseRes.PARAM);
+// }
+// if (Cools.isEmpty(param.getStaNo())){
+// return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+// }
+// if (Cools.isEmpty(param.getType())){
+// return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+// }
+// return openService.getAgvPickAndPlaceV2(param);
+// }
//鏌ヨ浠诲姟鎸囦护闆嗗悎
@GetMapping("/queryTaskCommand")
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index 04a0a73..3136a88 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -306,21 +306,6 @@
return R.ok();
}
- @PostMapping(value = "/taskWrk/updateCommandStep")
- @ManagerAuth(memo = "鏇存柊姝ュ簭")
- public R updateCommandStep(@RequestParam Integer wrkNo, @RequestParam Integer commandStep) {
- TaskWrk taskWrk = taskWrkService.selectByWrkNo(wrkNo);
- if (taskWrk == null) {
- return R.error();
- }
- Date now = new Date();
- taskWrk.setCommandStep(commandStep);
- taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
- taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
- taskWrkService.updateById(taskWrk);
- return R.ok();
- }
-
public static String getTaskType(Integer paramIoType){
switch (paramIoType){
case 1:
diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 7003eef..a7e3309 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -214,22 +214,6 @@
@TableField("cart_pos")
private Integer cartPos;
- @ApiModelProperty(value= "")
- @TableField("agv_start_pick")
- private Integer agvStartPick;
-
- @ApiModelProperty(value= "")
- @TableField("agv_target_pick")
- private Integer agvTargetPick;
-
- @ApiModelProperty(value= "")
- @TableField("agv_start_place")
- private Integer agvStartPlace;
-
- @ApiModelProperty(value= "")
- @TableField("agv_target_place")
- private Integer agvTargetPlace;
-
@ApiModelProperty(value= "寮傚父鐮�")
@TableField("sta_err")
private Integer staErr;
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index 379fd46..246fcaf 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -61,6 +61,13 @@
private Integer wrkNo;
/**
+ * 浠诲姟鍙�
+ */
+ @ApiModelProperty(value= "閲嶉噺")
+ @TableField("sc_weight")
+ private Integer scWeight;
+
+ /**
* 浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)
*/
@ApiModelProperty(value= "浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)")
@@ -168,13 +175,6 @@
@ApiModelProperty(value= "鍫嗗灈鏈哄彿")
@TableField("crn_no")
private Integer crnNo;
-
- /**
- * 鎸囦护鎵ц姝ュ簭
- */
- @ApiModelProperty(value= "鎸囦护鎵ц姝ュ簭")
- @TableField("command_step")
- private Integer commandStep = 0;
@ApiModelProperty(value = "绉诲簱鏍囪")
@TableField("transfer_mark")
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
index e926683..b0f0bef 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -227,7 +227,6 @@
this.cancelTime = taskWrk.getCancelTime();
this.wrkSts = taskWrk.getWrkSts();
this.crnNo = taskWrk.getCrnNo();
- this.commandStep = taskWrk.getCommandStep();
}
// TaskWrkLog taskWrkLog = new TaskWrkLog(
// null, // wms浠诲姟鍙�
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index d763764..02d0549 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -16,6 +16,6 @@
void getAgvTaskOver(TaskOverParam param);
- R getAgvPickAndPlaceV1(TaskOverParam param);
- R getAgvPickAndPlaceV2(TaskOverParam param);
+// R getAgvPickAndPlaceV1(TaskOverParam param);
+// R getAgvPickAndPlaceV2(TaskOverParam param);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index bbed9de..4c1e5cd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -56,8 +56,6 @@
@Transactional
public class MainServiceImpl {
- public static final long COMMAND_TIMEOUT = 5 * 1000;
-
@Autowired
private SlaveProperties slaveProperties;
@Autowired
@@ -77,14 +75,8 @@
@Autowired
private TaskWrkService taskWrkService;
@Autowired
- private ConfigService configService;
- @Autowired
private StaDescMapper staDescMapper;
- @Autowired
- private CommandInfoService commandInfoService;
- @Autowired
- private OpenServiceImpl openServiceImpl;
@Autowired
private StaDescService staDescService;
@@ -103,8 +95,6 @@
private String taskStatusFeedbackPath;
@Autowired
private CrnController crnController;
- @Autowired
- private SiteController siteController;
public void generateStoreWrkFile() throws IOException, InterruptedException {
@@ -860,54 +850,6 @@
/**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
-// public void storeFinished() {
-// for (CrnSlave crn : slaveProperties.getCrn()) {
-// // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-// if (crnProtocol == null) { continue; }
-//
-// // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
-// if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
-// //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
-// TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
-// if (Cools.isEmpty(taskWrk)) {
-//// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
-// continue;
-// }
-//
-// //鑾峰彇鎸囦护ID
-// Integer commandId = crnProtocol.getCommandId();
-// CommandInfo commandInfo = new CommandInfo();
-// if (Cools.isEmpty(commandId)){
-// commandInfo = commandInfoService.selectOne(new EntityWrapper<CommandInfo>()
-// .eq("wrk_no",crnProtocol.getTaskNo())
-// .eq("device","Crn"));
-// }else {
-// commandInfo = commandInfoService.selectById(commandId);
-// }
-//
-//
-// if (commandInfo == null) {
-// //鎸囦护涓嶅瓨鍦�
-// continue;
-// }
-// if (commandInfo.getCommandStatus() == 3){
-// continue;
-// }
-// commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//鎸囦护瀹屾垚
-// commandInfo.setCompleteTime(new Date());//鎸囦护瀹屾垚鏃堕棿
-// if (commandInfoService.updateById(commandInfo)) {//淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-// // 鍫嗗灈鏈哄浣�
-// crnThread.setResetFlag(true);
-// }
-// }
-// }
-// }
-
- /**
- * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
- */
public void storeFinished() throws InterruptedException {
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -916,7 +858,7 @@
if (crnProtocol == null) { continue; }
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
- if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
+ if (!Cools.isEmpty(crnProtocol.getTaskFinish()) && crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
//鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
if (Cools.isEmpty(taskWrk)&&crnProtocol.getTaskNo() !=999) {
@@ -1054,7 +996,7 @@
wrkMast.getSourceStaNo(), // 婧愮珯
wrkMast.getSourceLocNo(), // 婧愬簱浣�
wrkMast.getBarcode(), // 鏉$爜
- (int) crnProtocol.getAlarm1(), // 寮傚父鐮�
+ (int) crnProtocol.getAlarm(), // 寮傚父鐮�
errName, // 寮傚父
1, // 寮傚父鎯呭喌
now, // 娣诲姞鏃堕棿
@@ -1069,7 +1011,7 @@
}
} else {
// 寮傚父淇
- if (crnProtocol.getAlarm1() == null || crnProtocol.getAlarm1() == 0) {
+ if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
latest.setEndTime(now);
latest.setUpdateTime(now);
latest.setStatus(2);
@@ -1082,7 +1024,7 @@
} else {
BasErrLog latest = basErrLogService.findLatest(crn.getId());
// 鏈夊紓甯�
- if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm() > 0) {
+ if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
// 璁板綍鏂板紓甯�
if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
@@ -1101,7 +1043,7 @@
null, // 婧愮珯
null, // 婧愬簱浣�
null, // 鏉$爜
- (int)crnProtocol.getAlarm1(), // 寮傚父鐮�
+ (int)crnProtocol.getAlarm(), // 寮傚父鐮�
errName, // 寮傚父
1, // 寮傚父鎯呭喌
now, // 娣诲姞鏃堕棿
@@ -1130,199 +1072,6 @@
}
}
- }
-
- //鑷姩娲惧彂浠诲姟
- public void autoDistribute() {
- Config config = configService.selectByCode("autoDistribute");
- if (config == null) {
- return;
- }
-
- if (config.getValue().equals("false")) {//鍒ゆ柇鏄惁寮�鍚嚜鍔ㄦ淳鍙戜换鍔�
- return;
- }
-
- for (TaskWrk taskWrk : taskWrkService.selectReceive()) {
-
- try {
- taskWrkService.distribute(taskWrk.getTaskNo(), 9527L);
- } catch (CoolException e) {
- log.info(e.getMessage());
- }
- }
- }
-
- //agv鍙栨斁璐т换鍔″畬鎴�
- public synchronized void autoCompleteAGV() {
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
- try{
- Thread.sleep(500);
- }catch (Exception e){
-
- }
-
- for (BasDevp basDevp:basDevps){
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (basDevp.getWrkNo()!=0){
- if (basDevp.getAgvTargetPick()!=0){//鍙栬揣
- staProtocol.setAgvTypeSign((short)0);
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- boolean sign = true;
- if (basDevp.getAgvTargetPlace()!=0){
- sign = false;
- basDevp.setAgvTargetPlace(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short)3);//1
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- }else {
- if (basDevp.getAgvTargetPlace()!=0){
- if (basDevp.getLoading().equals("Y")){
- staProtocol.setAgvTypeSign((short)1);
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }else {
- log.error("AGV鏀捐揣瀹屾垚浣嗚緭閫佺嚎鏃犵墿锛屽浣嶄俊鍙� ===>> [staNo:{}] [basDevp:{}]", basDevp.getDevNo(), basDevp);
- basDevp.setAgvTargetPlace(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short)3);//1
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
-
- }
- if (basDevp.getAgvTargetPick()!=0){
- basDevp.setAgvTargetPick(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short)2);//0
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- }
- }
- }
- public synchronized void autoCompleteTask() {
- List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask();
- for (TaskWrk taskWrk : taskWrks) {
- //鑾峰彇鍛戒护闆嗗悎
- List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
- if (taskWrk.getCommandStep() < commandInfos.size()) {
- continue;//褰撳墠姝ュ簭娌℃湁鍒拌揪鏈�鍚庝竴鏉″懡浠�
- }
-
- //鍒ゆ柇鏈鍛戒护鏄惁鎵ц瀹屾垚
- CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
- if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
- continue;//鎸囦护鏈畬鎴�
- }
-
- Date now = new Date();
- //鎸囦护宸插畬鎴愶紝鏇存柊浠诲姟
- if (taskWrk.getIoType() == 1) {
- //鍏ュ簱浠诲姟
- taskWrk.setWrkSts(4);//3.鍚婅溅鍏ュ簱涓� => 4.鍏ュ簱瀹屾垚
- //taskWrk.setStatus(TaskStatusType.COMPLETE.id);
- taskWrk.setModiTime(now);
- taskWrkService.updateById(taskWrk);
-
- //鏇存柊搴撲綅鐘舵��
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- locMast.setLocSts("F");//F.鍦ㄥ簱
- locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
- locMast.setModiTime(now);
- locMast.setModiUser(9999L);
- locMastService.updateById(locMast);
- } else if (taskWrk.getIoType() == 2) {
- //鍑哄簱浠诲姟
- taskWrk.setWrkSts(14);//12.鍚婅溅鍑哄簱涓� => 14.鍑哄簱瀹屾垚
-// taskWrk.setStatus(TaskStatusType.COMPLETE.id);
- taskWrk.setModiTime(now);
- taskWrkService.updateById(taskWrk);
-
- //鏇存柊搴撲綅鐘舵��
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- locMast.setLocSts("O");//O.绌哄簱浣�
- locMast.setBarcode("");//鎵樼洏鐮�
- locMast.setModiTime(now);
- locMast.setModiUser(9999L);
- locMastService.updateById(locMast);
- }
- }
- }
-
-
- public synchronized String CrnStartRunning(TaskWrk taskWrk){
- String tasktype = null;
- switch (taskWrk.getIoType()){
- case 1:
- tasktype= "RK";
- break;
- case 2:
- tasktype= "CK";
- break;
- case 3:
- tasktype= "YK";
- break;
- default:
- tasktype= "鏈煡";
- }
- Map<String, Object> map = new HashMap<>();
- map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
- TaskOverToWms taskOverToWms = new TaskOverToWms();
- taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
- taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
- taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
- taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
- taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
- if (taskWrk.getIoType() ==1 || taskWrk.getIoType() == 3){
- taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
- taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
- }else if (taskWrk.getIoType() ==2){
- Map<Integer,String> map1 = new HashMap<>();
- map1.put(102,"J-1101");
- map1.put(106,"J-1103");
- map1.put(110,"J-1105");
- map1.put(114,"J-1107");
- map1.put(118,"J-1109");
- map1.put(122,"J-1111");
- map1.put(305,"H-1101");
- map1.put(405,"G-1101");
- taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
- taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
- }
-
- taskOverToWms.setTaskStatus("executing"); //浠诲姟鐘舵��
- String response = null;
- try {
- response = new HttpHandler.Builder()
- .setHeaders(map)
- .setUri(wmsUrl)
- .setPath("wcsManager/wcsInterface/taskStatusFeedback")
- .setJson(JSON.toJSONString(taskOverToWms))
- .build()
- .doPost();
- }catch (Exception e){
- log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
- }
- apiLogService.save("鍫嗗灈鏈哄紑濮嬭繍琛�"
- ,wmsUrl+"wcsManager/wcsInterface/taskStatusFeedback"
- ,null
- ,"127.0.0.1"
- ,JSON.toJSONString(taskOverToWms)
- ,response
- ,true
- );
- return response;
}
private TaskWrk createTask(GetWmsDto dto, String barcode){
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 181fa69..777dbde 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -265,39 +265,39 @@
}
- @Override
- public R getAgvPickAndPlaceV1(TaskOverParam param) {
- BasDevp basDevp = basDevpService.selectById(param.getStaNo());
- if (Cools.isEmpty(basDevp)){
- return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
- }
- if (param.getType()==0 && basDevp.getAgvStartPick()==1){
- return R.ok();
- }else if (param.getType()==1 && basDevp.getAgvStartPlace()==1){
- return R.ok();
- }else {
- return R.error("涓嶅厑璁�");
- }
- }
+// @Override
+// public R getAgvPickAndPlaceV1(TaskOverParam param) {
+// BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+// if (Cools.isEmpty(basDevp)){
+// return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
+// }
+// if (param.getType()==0 && basDevp.getAgvStartPick()==1){
+// return R.ok();
+// }else if (param.getType()==1 && basDevp.getAgvStartPlace()==1){
+// return R.ok();
+// }else {
+// return R.error("涓嶅厑璁�");
+// }
+// }
- @Override
- public R getAgvPickAndPlaceV2(TaskOverParam param) {
- BasDevp basDevp = basDevpService.selectById(param.getStaNo());
- if (Cools.isEmpty(basDevp)){
- return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
- }
- if (param.getType()==0){
- basDevp.setAgvTargetPick(1);
- basDevpService.updateById(basDevp);
- return R.ok();
- }else if (param.getType()==1){
- basDevp.setAgvTargetPlace(1);
- basDevpService.updateById(basDevp);
- return R.ok();
- }else {
- return R.error("璇锋眰绫诲瀷寮傚父"+param.getType());
- }
- }
+// @Override
+// public R getAgvPickAndPlaceV2(TaskOverParam param) {
+// BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+// if (Cools.isEmpty(basDevp)){
+// return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
+// }
+// if (param.getType()==0){
+// basDevp.setAgvTargetPick(1);
+// basDevpService.updateById(basDevp);
+// return R.ok();
+// }else if (param.getType()==1){
+// basDevp.setAgvTargetPlace(1);
+// basDevpService.updateById(basDevp);
+// return R.ok();
+// }else {
+// return R.error("璇锋眰绫诲瀷寮傚父"+param.getType());
+// }
+// }
public List<Integer> getInEnableRoadway(){
int[] roadway = null;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 93c01fd..1e228d1 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -68,13 +68,6 @@
i = 0;
}
- //鑷姩娲惧彂浠诲姟
- // mainService.autoDistribute();
- //鑷姩瀹屾垚浠诲姟
-// mainService.autoCompleteTask();
- //agv鍙栨斁璐у畬鎴�
- mainService.autoCompleteAGV();
-
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/zy/core/enums/CrnStatusType.java b/src/main/java/com/zy/core/enums/CrnStatusType.java
index 87c6e53..95ae9bc 100644
--- a/src/main/java/com/zy/core/enums/CrnStatusType.java
+++ b/src/main/java/com/zy/core/enums/CrnStatusType.java
@@ -2,37 +2,23 @@
public enum CrnStatusType {
-// NONE(-1, "绂荤嚎"),
-// IDLE(0, "绌洪棽"),
-// FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
-// FETCH_WAITING(2, "鍙栬揣绛夊緟"),
-// FETCHING(3, "鍙栬揣涓�"),
-// PUT_MOVING(4, "鏀捐揣璧拌"),
-// PUT_WAITING(5, "鏀捐揣绛夊緟"),
-// PUTTING(6, "鏀捐揣涓�"),
-// ORIGIN_GO(7, "鍥炲師鐐�"),
-// ORIGIN_BACK(8, "鍥炲弽鍘熺偣"),
-// MOVING(9, "璧拌涓�"),
-// WAITING(10, "浠诲姟瀹屾垚绛夊緟WCS纭"),
-// PAUSE(11, "浠诲姟鏆傚仠"),
-// SOS(99, "鎶ヨ"),
-// ;
-
- IDLE(0, "绌洪棽锛屾棤浠诲姟"),
- NONE_MOVING(1, "鍙栬揣瀹氫綅"),
- FETCHING(2, "鍙栬揣绛夊緟"),
- MOVING(3, "鍙栬揣涓�"),
- PUTTING(4, "鏀捐揣璧拌"),
- HOMING(5, "鏀捐揣绛夊緟"),
- ANTI_ORIGIN(6, "鏀捐揣涓�"),
- PUT_COMPLETE(7, "鍥炲師鐐�"),
-// MOVE_THE_SHIPPING_LOCATION(8, "绉诲姩鍒版斁璐т綅缃�"),
-// PUTTING(9, "鏀捐揣涓�"),
- HANDLING_COMPLETED(10, "鎼繍瀹屾垚绛夊緟WCS纭"),
- EMPTY_AVOIDANCE(11, "绌鸿浇閬胯"),
+ NONE(-1, "绂荤嚎"),
+ IDLE(0, "绌洪棽"),
+ FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
+ FETCH_WAITING(2, "鍙栬揣绛夊緟"),
+ FETCHING(3, "鍙栬揣涓�"),
+ PUT_MOVING(4, "鏀捐揣璧拌"),
+ PUT_WAITING(5, "鏀捐揣绛夊緟"),
+ PUTTING(6, "鏀捐揣涓�"),
+ ORIGIN_GO(7, "鍥炲師鐐�"),
+ ORIGIN_BACK(8, "鍥炲弽鍘熺偣"),
+ MOVING(9, "璧拌涓�"),
+ WAITING(10, "浠诲姟瀹屾垚绛夊緟WCS纭"),
+ PAUSE(11, "浠诲姟鏆傚仠"),
SOS(99, "鎶ヨ"),
- OTHER(100, "鍏朵粬"),
+ UNKNOW(100, "鍏朵粬"),
;
+
public Integer id;
public String desc;
@@ -50,7 +36,7 @@
return type;
}
}
- return null;
+ return NONE;
}
public static CrnStatusType get(CrnStatusType type) {
diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index baa789a..a9b3212 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,7 +1,10 @@
package com.zy.core.model.protocol;
import com.zy.asrs.entity.BasCrnp;
-import com.zy.core.enums.*;
+import com.zy.core.enums.CrnForkPosType;
+import com.zy.core.enums.CrnLiftPosType;
+import com.zy.core.enums.CrnModeType;
+import com.zy.core.enums.CrnStatusType;
import lombok.Data;
/**
@@ -9,6 +12,8 @@
*/
@Data
public class CrnProtocol {
+
+ private Integer crnNo;
/**
* 1 = 鎵嬪姩妯″紡
@@ -25,14 +30,14 @@
public Short taskFinish;
/**
- * 鏍¢獙缁撴灉 1琛ㄧず妫�楠屾垚鍔�
- */
- public Short valid;
-
- /**
* 1 = 鎬ュ仠
*/
public Short eStop;
+
+ /**
+ * 寮傚父鐮�
+ */
+ public Short alarm;
/**
* 浠诲姟鍙�
@@ -54,12 +59,15 @@
*/
public Short status;
- public Short alarm = 0;
-
/**
* 鐘舵�佹灇涓�
*/
public CrnStatusType statusType;
+
+ /**
+ * 鏁呴殰
+ */
+ public Boolean fault;
/**
* 鍫嗗灈鏈哄綋鍓嶅垪鍙�
@@ -72,175 +80,45 @@
public Short level;
/**
- * 鍫嗗灈鏈哄綋鍓嶆帓
- */
- public Short row;
-
- /**
- * 鍫嗗灈鏈哄綋鍓嶅贩閬撳彿
- */
- public Short lane;
-
- /**
- * 鍫嗗灈鏈洪�氳鐘舵��
- */
- public Boolean connStatus;
-
- /**
- * 鐢宠鍏ュ簱淇
- */
- public Boolean correction;
-
- /**
- * 鎵樼洏鍙烽敊
- */
- public Boolean tuError;
-
- /**
- * 鍙栬揣鏃犵
- */
- public Boolean noneError;
-
- /**
- * 鍙岄噸鍏ュ簱
- */
- public Boolean stockError;
-
- /**
- * 浣滀笟鏁版嵁鏃犳晥
- */
- public Boolean jobInvalid;
-
- /**
- * 绌洪棽鐘舵��
- */
- public Boolean idle;
-
- /**
- * 鎺у埗鏌滀娇鑳�
- */
- public Boolean control;
-
- /**
- * 鍋滃噯
- */
- public Boolean stopQuasi;
-
- /**
- * 杩愯
- */
- public Boolean running;
-
- /**
- * 鏁呴殰
- */
- public Boolean fault;
-
- /**
- * 璐у弶涓綅
- */
- public Boolean forkHome;
- /**
- * 鍗曚几浣嶈揣鍙夊乏浣�
- */
- public Boolean forkSingleLeft;
- /**
- * 鍗曚几浣嶈揣鍙夊彸浣�
- */
- public Boolean forkSingleRight;
- /**
- * 鍙屼几浣嶈揣鍙夊乏浣�
- */
- public Boolean forkDoubleLeft;
- /**
- * 鍙屼几浣嶈揣鍙夊彸浣�
- */
- public Boolean forkDoubleRight;
- /**
- * 鍗曚几浣嶉珮浣�
- */
- public Boolean singleHigh;
- /**
- * 鍗曚几浣嶄綆浣�
- */
- public Boolean singleLow;
- /**
- * 鍙屼几浣嶉珮浣�
- */
- public Boolean doubleHigh;
- /**
- * 鍙屼几浣嶄綆浣�
- */
- public Boolean doubleLow;
- /**
- * 绔欏彴楂樹綅
- */
- public Boolean platformHigh;
- /**
- * 绔欏彴浣庝綅
- */
- public Boolean platformLow;
-
- /**
* 褰撳墠璐у弶浣嶇疆
* 0 = 璐у弶鍘熶綅
* 1 = 璐у弶鍦ㄥ乏渚�
* 2 = 璐у弶鍦ㄥ彸渚�
*/
- public Short forkPos = -1;
+ public Short forkPos;
- public CrnForkPosType forkPosType = CrnForkPosType.NONE;
+ public CrnForkPosType forkPosType;
/**
* 褰撳墠杞借揣鍙颁綅缃�
* 0 = 涓嬪畾浣�
* 1 = 涓婂畾浣�
*/
- public Short liftPos = -1;
+ public Short liftPos;
- public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR;
+ public CrnLiftPosType liftPosType;
/**
* 璧拌鍦ㄥ畾浣�
* 0 = 鍦ㄥ畾浣�
* 1 = 涓嶅湪瀹氫綅
*/
- public Short walkPos = 0;
-
- /**
- * 鎷ㄦ寚浣嶇疆
- * 0 = 涓嶅湪瀹氫綅
- * 1 = 涓婂畾浣�
- * 2 = 涓嬪畾浣�
- */
- public Short fingerPos;
-
- public CrnFingerPosType fingerPosType;
+ public Short walkPos;
/**
* 杞借揣鍙版湁鐗�
*/
public Short loaded;
- /**
- * 鍫嗗灈鏈哄瀭鐩存晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
- */
- private Integer alarm1 = 0;
+ private Short temp1;
- /**
- * 鍫嗗灈鏈烘按骞虫晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
- */
- private Integer alarm2 = 0;;
+ private CrnTemp1 crnTemp1;
- /**
- * 鍫嗗灈鏈鸿揣鍙夋晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
- */
- private Integer alarm3 = 0;;
+ private Short temp2;
- /**
- * 鍫嗗灈鏈虹姸鎬佹晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
- */
- private Integer alarm4 = 0;;
+ private Short temp3;
+
+ private Short temp4;
/**
* 寮傚父1
@@ -271,42 +149,53 @@
private CrnError4 crnError4;
/**
+ * 寮傚父5
+ */
+ private boolean[] error5;
+
+ private CrnError5 crnError5;
+
+ /**
+ * 寮傚父6
+ */
+ private boolean[] error6;
+
+ private CrnError6 crnError6;
+
+ /**
* X琛岃蛋绾块�熷害m/min
*/
- private Float xSpeed = 0F;
+ private Float xSpeed;
/**
* Y琛岃蛋绾块�熷害m/min
*/
- private Float ySpeed = 0F;
+ private Float ySpeed;
/**
* Z琛岃蛋绾块�熷害m/min
*/
- private Float zSpeed = 0F;
+ private Float zSpeed;
/**
* 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m
*/
- public Float xDistance = 0F;
+ public Float xDistance;
/**
* 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂籯m
*/
- public Float yDistance = 0F;
+ public Float yDistance;
/**
* 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣
*/
- public Float xDuration = 0F;
+ public Float xDuration;
- /**w
+ /**
* 鍫嗗灈鏈虹疮璁″崌闄嶆椂闀縣
*/
- public Float yDuration = 0F;
-
- //鎸囦护ID
- private Integer commandId;
+ public Float yDuration;
public void setMode(Short mode) {
this.mode = mode;
@@ -348,81 +237,12 @@
this.status = CrnStatusType.get(type).id.shortValue();
}
- public void setFingerPos(Short type) {
- this.fingerPos = type;
- this.fingerPosType = CrnFingerPosType.get(type);
+ public Short getTemp1() {
+ return temp1;
}
- public void setError1(boolean[] error1){
- this.error1 = error1;
- this.crnError1 = new CrnError1();
- this.crnError1.remoteStop = error1[0];
- this.crnError1.mainStop = error1[1];
- this.crnError1.controlStop = error1[2];
- this.crnError1.xCoverErr = error1[3];
- this.crnError1.yCoverErr = error1[4];
- this.crnError1.zCoverErr = error1[5];
- this.crnError1.laserErr = error1[6];
- this.crnError1.barcodeErr = error1[7];
- this.crnError1.xFrontLimitErr = error1[8];
- this.crnError1.xBackLimitErr = error1[9];
- this.crnError1.yUpLimitErr = error1[10];
- this.crnError1.yDownLimitErr = error1[11];
- this.crnError1.zLeftLimitErr = error1[12];
- this.crnError1.zRightLimitErr = error1[13];
- this.crnError1.leftOverWidthErr1 = error1[14];
- this.crnError1.leftOverWidthErr2 = error1[15];
- }
-
- public void setError2(boolean[] error2){
- this.error2 = error2;
- this.crnError2 = new CrnError2();
- this.crnError2.leftOverLenErr1 = error2[0];
- this.crnError2.leftOverLenErr2 = error2[1];
- this.crnError2.leftOverHighErr = error2[2];
- this.crnError2.rightOverWidthErr1 = error2[3];
- this.crnError2.rightOverWidthErr2 = error2[4];
- this.crnError2.rightOverLenErr1 = error2[5];
- this.crnError2.rightOverLenErr2 = error2[6];
- this.crnError2.rightOverHighErr = error2[7];
- this.crnError2.leftLooseRopeErr = error2[8];
- this.crnError2.rightLooseRopeErr = error2[9];
- this.crnError2.frontDoorErr = error2[10];
- this.crnError2.backDoorErr = error2[11];
- this.crnError2.startupErr = error2[12];
- this.crnError2.xFrontLocaUpErr = error2[13];
- this.crnError2.xFrontLocaDownErr = error2[14];
- this.crnError2.xBackLocaUpErr = error2[15];
- }
-
- public void setError3(boolean[] error3) {
- this.error3 = error3;
- this.crnError3 = new CrnError3();
- this.crnError3.xBackLocaDownErr = error3[0];
- this.crnError3.yUpLocaUpErr = error3[1];
- this.crnError3.yUpLocaDownErr = error3[2];
- this.crnError3.yDownLocaUpErr = error3[3];
- this.crnError3.yDownLocaDownErr = error3[4];
- this.crnError3.zLeftLocaUpErr = error3[5];
- this.crnError3.zLeftLocaDownErr = error3[6];
- this.crnError3.zRightLocaUpErr = error3[7];
- this.crnError3.zRightLocaDownErr = error3[8];
- this.crnError3.leftTakeNoneErr = error3[9];
- this.crnError3.rightTakeNoneErr = error3[10];
- this.crnError3.leftTakeThenLoadErr = error3[11];
- this.crnError3.rightTakeThenLoadErr = error3[12];
- this.crnError3.leftPutAndLoadErr = error3[13];
- this.crnError3.rightPutAndLoadErr = error3[14];
- this.crnError3.leftPutThenNoneErr = error3[15];
- }
-
- public void setError4(boolean[] error4) {
- this.error4 = error4;
- this.crnError4 = new CrnError4();
- this.crnError4.rightPutThenNoneErr = error4[0];
- this.crnError4.xLooseBrakeTimeout = error4[1];
- this.crnError4.yLooseBrakeTimeout = error4[2];
- this.crnError4.zLooseBrakeTimeout = error4[3];
+ public void setTemp1(Short temp1) {
+ this.temp1 = temp1;
}
/**
@@ -434,8 +254,39 @@
public BasCrnp toSqlModel(BasCrnp basCrnp){
- basCrnp.setCrnErr(alarm.longValue());
+ if (alarm!=null) {
+ basCrnp.setCrnErr(alarm.longValue());
+ }
basCrnp.setWrkNo(taskNo.intValue());
return basCrnp;
}
+
+ public void setxSpeed(Short xSpeed) {
+ this.xSpeed = Float.valueOf(xSpeed);
+ }
+
+ public void setySpeed(Short ySpeed) {
+ this.ySpeed = Float.valueOf(ySpeed);
+ }
+
+ public void setzSpeed(Short zSpeed) {
+ this.zSpeed = Float.valueOf(zSpeed);
+ }
+
+ public void setxDistance(Short xDistance) {
+ this.xDistance = Float.valueOf(xDistance);
+ }
+
+ public void setyDistance(Short yDistance) {
+ this.yDistance = Float.valueOf(yDistance);
+ }
+
+ public void setxDuration(Short xDuration) {
+ this.xDuration = Float.valueOf(xDuration);
+ }
+
+ public void setyDuration(Short yDuration) {
+ this.yDuration = Float.valueOf(yDuration);
+ }
+
}
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index c3012bf..10dce88 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -197,8 +197,6 @@
basDevp.setLocType3((short) 0); // 杞婚噸绫诲瀷{0:鏈煡,1:杞诲簱浣�,2:閲嶅簱浣峿
basDevp.setLocType1(high != low && low ? (short) 1 : (short) 2);
basDevp.setInQty(inQty !=null ?(int)inQty : 0);
- basDevp.setAgvStartPick(agvStartPick.intValue());
- basDevp.setAgvStartPlace(agvStartPlace.intValue());
return basDevp;
}
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ab05097..40592be 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -21,7 +21,6 @@
import com.zy.core.model.CrnSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.CrnCommand;
-import com.zy.core.model.cpmmandParam.CrnCommandParam;
import com.zy.core.model.protocol.CrnProtocol;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -41,7 +40,6 @@
private CrnSlave slave;
private CrnProtocol crnProtocol;
private boolean resetFlag = false;
- private boolean resetFlagTwo = false;
public Long sign = System.currentTimeMillis();
@@ -51,7 +49,6 @@
* 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
*/
private boolean backHpFlag = false;
- private boolean backHpFlagTwo = false;
public SiemensCrnThread(CrnSlave slave) {
this.slave = slave;
@@ -61,7 +58,6 @@
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
this.connect();
- sign = System.currentTimeMillis();
while (isRunning) {
try {
int step = 1;
@@ -96,32 +92,6 @@
command.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
write(command);
break;
- // 鍐欏叆鏁版嵁
- case 5:
- write5((CrnCommand) task.getData());
- break;
- // 澶嶄綅
- case 6:
- CrnCommand command2 = (CrnCommand) task.getData();
- if (null == command2) {
- command2 = new CrnCommand();
- }
- command2.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- command2.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command2.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
- command2.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
- command2.setSourcePosX((short)0); // 婧愬簱浣嶆帓
- command2.setSourcePosY((short)0); // 婧愬簱浣嶅垪
- command2.setSourcePosZ((short)0); // 婧愬簱浣嶅眰
- command2.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
- command2.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
- command2.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
- write5(command2);
- break;
- // 鍙屽伐浣嶅悓鏃朵綔涓�
- case 9:
- write9((CrnCommandParam) task.getData());
- break;
default:
break;
}
@@ -144,7 +114,6 @@
crnProtocol.setMode((short) -1);
// crnProtocol.setTaskNo((short)0);
crnProtocol.setStatus((short)-1);
- crnProtocol.setStatusTwo((short)-1);
crnProtocol.setBay((short)0);
crnProtocol.setLevel((short)0);
crnProtocol.setForkPos((short) -1);
@@ -159,16 +128,6 @@
crnProtocol.setyDistance((short) 0);
crnProtocol.setxDuration((short) 0);
crnProtocol.setyDuration((short) 0);
-
- // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
- BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
- BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
- basCrnp.setCrnSts((int)crnProtocol.getMode());
- basCrnp.setCrnStatusOne(-1);
- basCrnp.setCrnStatusTwo(-1);
- if (!basCrnpService.updateById(basCrnp)){
- log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
- }
}
@Override
@@ -196,74 +155,40 @@
*/
private void readStatus(){
try {
- OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>();
- if (slave.getId()>2 && slave.getId()<6){
- result = siemensNet.Read("DB101.0", (short) 66);
- } else {
- result = siemensNet.Read("DB101.0", (short) 56);
- }
+ OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56);
if (result.IsSuccess) {
if (null == crnProtocol) {
crnProtocol = new CrnProtocol();
crnProtocol.setCrnNo(slave.getId());
}
- crnProtocol.setCrnNo(slave.getId());
crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2));
crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 4));
crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 6));
crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8));
crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
-
- if (slave.getId()<3 || slave.getId()>5){
- crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
- crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
- crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
- crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
- crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
- crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
- crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
- crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
- crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
- crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
- crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36));
- crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
- crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
- crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
- crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
- } else {
- crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 12));
-
- crnProtocol.setTaskNoTwo(siemensNet.getByteTransform().TransInt16(result.Content, 14));
- crnProtocol.setStatusTwo(siemensNet.getByteTransform().TransInt16(result.Content, 16));
- crnProtocol.setBayTwo(siemensNet.getByteTransform().TransInt16(result.Content, 18));
- crnProtocol.setLevelTwo(siemensNet.getByteTransform().TransInt16(result.Content, 20));
- crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 22));
- crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 24));
-
- crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 26));
- crnProtocol.setWalkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-
- crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 30));
- crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 32));
-
- crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 34));
- crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 38));
- crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42));
-// crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42));
-
- crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 50));
- crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 54));
- crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 58));
- crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 62));
- }
+ crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
+ crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
+ crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
+ crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
+ crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
+ crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
+ crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
+ crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
+ crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
+ crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
+ crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36));
+ crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
+ crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
+ crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
+ crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
// 澶嶄綅淇″彿
- if (!Cools.isEmpty(crnProtocol.getStatusType()) && (crnProtocol.getStatusType().equals(CrnStatusType.WAITING) || crnProtocol.getStatusType().equals(CrnStatusType.SEPARATE_WAITING))) {
- log.error("-------------------------宸ヤ綅1-------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�:{}]==>> 鐘舵�佷负{}锛岀瓑寰呯‘璁わ紒锛�",
- slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿",crnProtocol.getStatusType());
+ if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+ log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+ slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
if (resetFlag) {
if(crnProtocol.getTaskNo()==9999){
backHpFlag = false;
@@ -272,22 +197,6 @@
crnCommand.setAckFinish((short)1);
if (write(crnCommand)) {
resetFlag = false;
- }
- }
- }
-
- // 澶嶄綅淇″彿
- if (!Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && (crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING) || crnProtocol.getStatusTypeTwo().equals(CrnStatusType.SEPARATE_WAITING))) {
- log.error("-------------------------宸ヤ綅2-------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�:{}]==>> 鐘舵�佷负{}锛岀瓑寰呯‘璁わ紒锛�",
- slave.getId(),crnProtocol.getTaskNoTwo(), crnProtocol.getLoadedTwo()==1 ? "鏈夌墿" : "鏃犵墿",crnProtocol.getStatusTypeTwo());
- if (resetFlagTwo) {
- if(crnProtocol.getTaskNoTwo()==9999){
- backHpFlagTwo = false;
- }
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setAckFinish((short)1);
- if (write5(crnCommand)) {
- resetFlagTwo = false;
}
}
}
@@ -348,398 +257,12 @@
// array[9] = command.getSourceStaNo();
// array[10] = command.getDestinationStaNo();
array[9] = command.getCommand();
- OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
OperateResult result = siemensNet.Write("DB100.0", array);
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
-
-
-
- //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- Thread.sleep(200);
- int writeCount = 1;
- do {
- try{
- if(!result.IsSuccess){
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
- result = siemensNet.Write("DB100.0", array);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24);
- if (resultRead.IsSuccess) {
- CrnCommand one = new CrnCommand();
- one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
- one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
- one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
- one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
- one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
- one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
- one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
- one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
- if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
- || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
- || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
- || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
- ){
- try{
- log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
- }catch (Exception e){
- try{
- log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(resultRead));
- }catch (Exception e1){
- log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSONString(command));
- }
- }
- try{
- Thread.sleep(100);
- }catch (Exception e){
-
- }
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
- result = siemensNet.Write("DB100.0", array);
- writeCount++;
- continue;
- } else {
- log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
- break;
- }
- }
- }catch (Exception e){
- log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
if (command.getAckFinish() == 0) {
short commandFinish = 1;
Thread.sleep(100L);
result = siemensNet.Write("DB100.18", commandFinish);
- int signFinish = 1;
- while (signFinish<5){
- OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2);
- short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
- if (transInt16 != commandFinish){
- log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "commandFinish:"+commandFinish);
- log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
- result = siemensNet.Write("DB100.18", commandFinish);
- signFinish++;
- }else {
- log.info("涓嬪彂DB100.18" + "commandFinish:"+commandFinish);
- log.info("涓嬪彂DB100.18" + "array:"+ JSON.toJSONString(array));
- break;
- }
- }
- }
-
- try {
- // 鏃ュ織璁板綍
- BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
- BasCrnOpt basCrnOpt = new BasCrnOpt(
- command.getTaskNo().intValue(), // 浠诲姟鍙�
- command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
- new Date(), // 涓嬪彂鏃堕棿
- command.getTaskModeType().toString(), // 妯″紡
- command.getSourcePosX().intValue(), // 婧愭帓
- command.getSourcePosY().intValue(), // 婧愬垪
- command.getSourcePosZ().intValue(), // 婧愬眰
- null, // 婧愮珯
- command.getDestinationPosX().intValue(), // 鐩爣鎺�
- command.getDestinationPosY().intValue(), // 鐩爣鍒�
- command.getDestinationPosZ().intValue(), // 鐩爣灞�
- null, // 鐩爣绔�
- null, // 鍝嶅簲缁撴灉
- null, // 淇敼鏃堕棿
- null // 淇敼浜哄憳
- );
- bean.insert(basCrnOpt);
- } catch (Exception ignore) {}
-
- if (result != null && result.IsSuccess) {
- Thread.sleep(200);
- this.readStatus();
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
- return true;
- } else {
- 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());
- return false;
- }
- }
-
- /**
- * 鍐欏叆鏁版嵁 宸ヤ綅2
- */
- private boolean write5(CrnCommand command) throws InterruptedException {
- if (null == command) {
- log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
- return false;
- }
-// convertRow(command);
- command.setCrnNo(slave.getId());
- short[] array = new short[10];
- array[0] = command.getAckFinish();
- array[1] = command.getTaskNo();
- array[2] = command.getTaskMode();
- array[3] = command.getSourcePosX();
- array[4] = command.getSourcePosY();
- array[5] = command.getSourcePosZ();
- array[6] = command.getDestinationPosX();
- array[7] = command.getDestinationPosY();
- array[8] = command.getDestinationPosZ();
-// array[9] = command.getSourceStaNo();
-// array[10] = command.getDestinationStaNo();
- array[9] = command.getCommand();
- OperateResult result18 = siemensNet.Write("DB100.38", (short)0);
- OperateResult result = siemensNet.Write("DB100.20", array);
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
-
- //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- Thread.sleep(200);
- int writeCount = 1;
- do {
- try{
- if(!result.IsSuccess){
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
- result = siemensNet.Write("DB100.20", array);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.20", (short) 24);
- if (resultRead.IsSuccess) {
- CrnCommand one = new CrnCommand();
- one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
- one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
- one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
- one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
- one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
- one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
- one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
- one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
- if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
- || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
- || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
- || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
- ){
- try{
- log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
- }catch (Exception e){
- try{
- log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(resultRead));
- }catch (Exception e1){
- log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSONString(command));
- }
- }
- try{
- Thread.sleep(100);
- }catch (Exception e){
-
- }
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
- result = siemensNet.Write("DB100.20", array);
- writeCount++;
- continue;
- } else {
- log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
- break;
- }
- }
- }catch (Exception e){
- log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
-
- if (command.getAckFinish() == 0) {
- short commandFinish = 1;
- Thread.sleep(100L);
- result = siemensNet.Write("DB100.38", commandFinish);
- int signFinish = 1;
- while (signFinish<5){
- OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.38", (short) 2);
- short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
- if (transInt16 != commandFinish){
- log.info("涓嬪彂DB100.38 鍥炶澶辫触" + "commandFinish:"+commandFinish);
- log.info("涓嬪彂DB100.38 鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
- result = siemensNet.Write("DB100.38", commandFinish);
- signFinish++;
- }else {
- log.info("涓嬪彂DB100.38" + "commandFinish:"+commandFinish);
- log.info("涓嬪彂DB100.38" + "array:"+ JSON.toJSONString(array));
- break;
- }
- }
- }
-
- try {
- // 鏃ュ織璁板綍
- BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
- BasCrnOpt basCrnOpt = new BasCrnOpt(
- command.getTaskNo().intValue(), // 浠诲姟鍙�
- command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
- new Date(), // 涓嬪彂鏃堕棿
- command.getTaskModeType().toString(), // 妯″紡
- command.getSourcePosX().intValue(), // 婧愭帓
- command.getSourcePosY().intValue(), // 婧愬垪
- command.getSourcePosZ().intValue(), // 婧愬眰
- null, // 婧愮珯
- command.getDestinationPosX().intValue(), // 鐩爣鎺�
- command.getDestinationPosY().intValue(), // 鐩爣鍒�
- command.getDestinationPosZ().intValue(), // 鐩爣灞�
- null, // 鐩爣绔�
- null, // 鍝嶅簲缁撴灉
- null, // 淇敼鏃堕棿
- null // 淇敼浜哄憳
- );
- bean.insert(basCrnOpt);
- } catch (Exception ignore) {}
-
- if (result != null && result.IsSuccess) {
- Thread.sleep(200);
- this.readStatus();
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
- return true;
- } else {
- 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());
- return false;
- }
- }
-
- /**
- * 鍐欏叆鏁版嵁 鍙屽伐浣�
- */
- private boolean write9(CrnCommandParam command) throws InterruptedException {
- if (null == command) {
- log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
- return false;
- }
- command.setCrnNo(slave.getId());
- short[] array = new short[22];
- array[0] = command.getAckFinish();
- array[1] = command.getTaskNo();
- array[2] = command.getTaskMode();
- array[3] = command.getSourcePosX();
- array[4] = command.getSourcePosY();
- array[5] = command.getSourcePosZ();
- array[6] = command.getDestinationPosX();
- array[7] = command.getDestinationPosY();
- array[8] = command.getDestinationPosZ();
- array[9] = command.getCommand();
- array[10] = command.getAckFinish2();
- array[11] = command.getTaskNo2();
- array[12] = command.getTaskMode2();
- array[13] = command.getSourcePosX2();
- array[14] = command.getSourcePosY2();
- array[15] = command.getSourcePosZ2();
- array[16] = command.getDestinationPosX2();
- array[17] = command.getDestinationPosY2();
- array[18] = command.getDestinationPosZ2();
- array[19] = command.getCommand();
- array[20] = (short)1;
- array[21] = (short)1;
- OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
- OperateResult result38 = siemensNet.Write("DB100.38", (short)0);
- OperateResult result = siemensNet.Write("DB100.0", array);
-// OperateResult result = siemensNet.Write("DB100.20", array);
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
-
- //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- Thread.sleep(200);
- int writeCount = 1;
- do {
- try{
- if(!result.IsSuccess){
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command),writeCount);
- result = siemensNet.Write("DB100.0", array);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 40);
- if (resultRead.IsSuccess) {
- CrnCommandParam one = new CrnCommandParam();
- one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
- one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
- one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
- one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
- one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
- one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
- one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
- one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
- one.setTaskNo2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22));
- one.setTaskMode2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24));
- one.setSourcePosX2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26));
- one.setSourcePosY2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 28));
- one.setSourcePosZ2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 30));
- one.setDestinationPosX2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 32));
- one.setDestinationPosY2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 34));
- one.setDestinationPosZ2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 36));
- if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
- || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
- || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
- || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
- ||
- !command.getTaskNo2().equals(one.getTaskNo2()) || !command.getTaskMode2().equals(one.getTaskMode2())
- || !command.getSourcePosX2().equals(one.getSourcePosX2()) || !command.getSourcePosY2().equals(one.getSourcePosY2())
- || !command.getSourcePosZ2().equals(one.getSourcePosZ2()) || !command.getDestinationPosX2().equals(one.getDestinationPosX2())
- || !command.getDestinationPosY2().equals(one.getDestinationPosY2()) || !command.getDestinationPosZ2().equals(one.getDestinationPosZ2())
- ){
- try{
- log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
- }catch (Exception e){
- try{
- log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSON(command),JSON.toJSON(resultRead));
- }catch (Exception e1){
- log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
- }
- }
- try{
- Thread.sleep(100);
- }catch (Exception e){
-
- }
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command),writeCount);
- result = siemensNet.Write("DB100.0", array);
- writeCount++;
- continue;
- } else {
- log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
- break;
- }
- }
- }catch (Exception e){
- log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
-
- if (command.getAckFinish() == 0) {
- short commandFinish = 1;
- Thread.sleep(100L);
- result18 = siemensNet.Write("DB100.18", commandFinish);
- result38 = siemensNet.Write("DB100.38", commandFinish);
- int signFinish = 1;
- while (signFinish<5){
- OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2);
- OperateResultExOne<byte[]> result10038 = siemensNet.Read("DB100.38", (short) 2);
- short transInt1618 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
- short transInt1638 = siemensNet.getByteTransform().TransInt16(result10038.Content, 0);
- if (transInt1618 != commandFinish || transInt1638 != commandFinish){
- log.info("涓嬪彂DB100.18/DB100.38 鍥炶澶辫触" + "commandFinish:"+commandFinish);
- log.info("涓嬪彂DB100.18/DB100.38 鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
- result18 = siemensNet.Write("DB100.18", commandFinish);
- result38 = siemensNet.Write("DB100.38", commandFinish);
- signFinish++;
- }else {
- log.info("涓嬪彂DB100.18/DB100.38" + "commandFinish:"+commandFinish);
- log.info("涓嬪彂DB100.18/DB100.38" + "array:"+ JSON.toJSONString(array));
- break;
- }
- }
}
try {
diff --git a/src/main/resources/mapper/BasDevpMapper.xml b/src/main/resources/mapper/BasDevpMapper.xml
index b9898f2..8d739c9 100644
--- a/src/main/resources/mapper/BasDevpMapper.xml
+++ b/src/main/resources/mapper/BasDevpMapper.xml
@@ -41,10 +41,6 @@
<result column="max_wt" property="maxWt" />
<result column="gross_wt" property="grossWt" />
<result column="cart_pos" property="cartPos" />
- <result column="agv_start_pick" property="agvStartPick" />
- <result column="agv_target_pick" property="agvTargetPick" />
- <result column="agv_start_place" property="agvStartPlace" />
- <result column="agv_target_place" property="agvTargetPlace" />
<result column="sta_err" property="staErr" />
</resultMap>
diff --git a/src/main/resources/mapper/TaskWrkLogMapper.xml b/src/main/resources/mapper/TaskWrkLogMapper.xml
index e07c447..747404d 100644
--- a/src/main/resources/mapper/TaskWrkLogMapper.xml
+++ b/src/main/resources/mapper/TaskWrkLogMapper.xml
@@ -23,7 +23,6 @@
<result column="cancel_time" property="cancelTime" />
<result column="wrk_sts" property="wrkSts" />
<result column="crn_no" property="crnNo" />
- <result column="command_step" property="commandStep" />
<result column="transfer_mark" property="transferMark" />
</resultMap>
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 8c6800e..81fae90 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -12,6 +12,9 @@
<result column="io_pri" property="ioPri" />
<result column="start_point" property="startPoint" />
<result column="target_point" property="targetPoint" />
+ <result column="origin_start_point" property="originStartPoint" />
+ <result column="origin_target_point" property="originTargetPoint" />
+ <result column="sc_weight" property="scWeight" />
<result column="modi_user" property="modiUser" />
<result column="modi_time" property="modiTime" />
<result column="memo" property="memo" />
@@ -22,7 +25,6 @@
<result column="cancel_time" property="cancelTime" />
<result column="wrk_sts" property="wrkSts" />
<result column="crn_no" property="crnNo" />
- <result column="command_step" property="commandStep" />
<result column="transfer_mark" property="transferMark" />
</resultMap>
--
Gitblit v1.9.1