From 38add77dd27643bc83c916aeceac5dcde76bac02 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期一, 11 八月 2025 15:42:36 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 1
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 77 ++++++--
src/main/java/com/zy/asrs/controller/MonitorController.java | 191 +++++++++-----------
src/main/java/com/zy/core/MainProcess.java | 2
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 200 +++++++++++-----------
src/main/resources/application.yml | 10
src/main/java/com/zy/asrs/service/WrkDetlService.java | 1
7 files changed, 251 insertions(+), 231 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 35e0eae..71bc851 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -32,7 +32,7 @@
@RequestMapping("/monitor")
public class MonitorController {
- private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"};
+ private static final String[] WEEK = {"鏄熸湡鏃�", "鏄熸湡涓�", "鏄熸湡浜�", "鏄熸湡涓�", "鏄熸湡鍥�", "鏄熸湡浜�", "鏄熸湡鍏�"};
@Autowired
private ReportQueryMapper reportQueryMapper;
@@ -49,12 +49,12 @@
calendar.setTime(now);
return R.ok(
Cools.add("year", calendar.get(Calendar.YEAR))
- .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH)+1), 2))
- .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
- .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
- .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
- .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)) , 2))
- .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK)-1])
+ .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH) + 1), 2))
+ .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
+ .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
+ .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
+ .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)), 2))
+ .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK) - 1])
);
}
@@ -119,15 +119,15 @@
return R.ok(
Cools.add("xSpeed", Arith.multiplys(1, Math.abs(xSpeed), 1)) // 琛岃蛋閫熷害
- .add("ySpeed", Arith.multiplys(1, Math.abs(ySpeed), 1)) // 鍗囬檷閫熷害
- .add("zSpeed", Arith.multiplys(1, Math.abs(zSpeed), 1)) // 鍙夌墮閫熷害
- .add("forkPos", forkPos) // 鍙夌墮閫熷害
- .add("xDistance", Arith.multiplys(1, Math.abs(xDistance), 1)) // 绱璧拌璺濈km
- .add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1)) // 绱鍗囬檷璺濈km
- .add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1)) // 绱璧拌鏃堕暱h
- .add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1)) // 绱鍗囬檷鏃堕暱h
- .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
- .add("content", ledContent) // 鏄剧ず鍐呭
+ .add("ySpeed", Arith.multiplys(1, Math.abs(ySpeed), 1)) // 鍗囬檷閫熷害
+ .add("zSpeed", Arith.multiplys(1, Math.abs(zSpeed), 1)) // 鍙夌墮閫熷害
+ .add("forkPos", forkPos) // 鍙夌墮閫熷害
+ .add("xDistance", Arith.multiplys(1, Math.abs(xDistance), 1)) // 绱璧拌璺濈km
+ .add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1)) // 绱鍗囬檷璺濈km
+ .add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1)) // 绱璧拌鏃堕暱h
+ .add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1)) // 绱鍗囬檷鏃堕暱h
+ .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
+ .add("content", ledContent) // 鏄剧ず鍐呭
);
}
@@ -135,11 +135,11 @@
* 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥�
*/
@GetMapping("/pakin/rep")
- public R monitorPakinRep(){
+ public R monitorPakinRep() {
// 鍏ュ簱
List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep();
for (Map<String, Object> map : pakinRep) {
- if (map.get("node")!=null) {
+ if (map.get("node") != null) {
map.put("node", String.valueOf(map.get("node")).substring(5, 10));
}
}
@@ -149,32 +149,32 @@
}
@GetMapping("/line/charts")
- public R locIoLineCharts(){
- Map<String,Object> map=new HashMap<String, Object>();
+ public R locIoLineCharts() {
+ Map<String, Object> map = new HashMap<String, Object>();
List<AxisBean> list = new ArrayList<AxisBean>();
List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis();
- if(listChart!=null) {
+ if (listChart != null) {
ArrayList<Integer> data1 = new ArrayList<Integer>();
ArrayList<Integer> data2 = new ArrayList<Integer>();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -12);
- for(int i=0;i<12;i++) {
+ for (int i = 0; i < 12; i++) {
boolean flag = true;
calendar.add(Calendar.DATE, 1);
String str = sf.format(calendar.getTime());
- for(WorkChartAxis workChart : listChart) {
- if(str.equals(workChart.getYmd())) {
+ for (WorkChartAxis workChart : listChart) {
+ if (str.equals(workChart.getYmd())) {
data1.add(workChart.getInqty());
data2.add(workChart.getOutqty());
flag = false;
break;
}
}
- if(flag) {
+ if (flag) {
data1.add(0);
data2.add(0);
}
@@ -190,7 +190,7 @@
outqty.setData(data2.toArray(array2));
list.add(outqty);
}
- map.put("rows",list);
+ map.put("rows", list);
return R.ok(map);
}
@@ -199,11 +199,11 @@
* 搴撲綅浣跨敤鎯呭喌缁熻
*/
@GetMapping("/loc/rep")
- public R monitorLocRep(){
+ public R monitorLocRep() {
List<Map<String, Object>> pie = new ArrayList<>();
LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
- if(locUseRate!=null) {
+ if (locUseRate != null) {
Map<String, Object> map = new HashMap<>();
map.put("name", "鍦ㄥ簱");
map.put("value", locUseRate.getFqty());
@@ -235,12 +235,12 @@
return R.ok(
Cools.add("pie", pie)
- .add("stockCunt", locUseRate.getFqty())
- .add("emptyCount", locUseRate.getOqty())
- .add("noneCount", locUseRate.getXqty())
- .add("total", total)
- .add("used", used)
- .add("usedPr", usedPr)
+ .add("stockCunt", locUseRate.getFqty())
+ .add("emptyCount", locUseRate.getOqty())
+ .add("noneCount", locUseRate.getXqty())
+ .add("total", total)
+ .add("used", used)
+ .add("usedPr", usedPr)
);
}
@@ -268,7 +268,17 @@
*/
@GetMapping("/led/error")
public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+ if (Cools.isEmpty(ledId)) {
+ return R.ok();
+ }
String errorMsg = "";
+// if (ledId == 5 || ledId == 6) {
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+// if (null != ledThread) {
+// errorMsg = ledThread.getErrorMsg().toString();
+// }
+// return R.ok().add(errorMsg);
+// } else {
for (LedSlave slave : slaveProperties.getLed()) {
if (slave.getStaArr().contains(ledId)) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
@@ -278,61 +288,38 @@
}
}
return R.ok().add(errorMsg);
+ // }
+
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+// public R monitorLedError2(Integer ledId) {
+// ledId = 311;
+// String errorMsg = "";
+// //for (LedSlave slave : slaveProperties.getLed()) {
+// //if (slave.getStaArr().contains(ledId)) {
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+// if (null != ledThread) {
+// errorMsg = ledThread.getErrorMsg().toString();
+// System.out.println("-----------" + errorMsg + "----------" + ledId);
+// }
+// //}
+// // }
+// return R.ok().add(errorMsg);
/**
* 鑷姩琛ラ浂
*/
- private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end){
- for (int i = start ; i <= end; i++){
+ private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end) {
+ for (int i = start; i <= end; i++) {
boolean exist = false;
- for (Map seq : list){
- if (Integer.parseInt(String.valueOf(seq.get("node"))) == i){
+ for (Map seq : list) {
+ if (Integer.parseInt(String.valueOf(seq.get("node"))) == i) {
exist = true;
}
}
- if (!exist){
+ if (!exist) {
HashMap<String, Object> map = new HashMap<>();
map.put("node", i);
map.put("val", 0);
@@ -345,14 +332,15 @@
/**
* x杞村崟浣嶈浆鎹�
+ *
* @param dot y杞存暟鍊间繚鐣欏皬鏁颁綅
*/
- private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot){
- for (Map<String, Object> map : list){
+ private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot) {
+ for (Map<String, Object> map : list) {
Object val = map.get("val");
map.put("val", Arith.multiplys(dot, 1, (Number) val));
Object node = map.get("node");
- switch (statsType){
+ switch (statsType) {
case MONTH:
map.put("node", node + "鍙�");
break;
@@ -366,34 +354,33 @@
return list;
}
- enum StatsType{
+enum StatsType {
- YEAR(1,1, 12),
- MONTH(2,1, 30),
- ;
+ YEAR(1, 1, 12),
+ MONTH(2, 1, 30),
+ ;
- int id;
- int start;
- int end;
- StatsType(int id, int start, int end) {
- this.id = id;
- this.start = start;
- this.end = end;
- }
+ int id;
+ int start;
+ int end;
- static StatsType get(int id) {
- StatsType[] values = StatsType.values();
- for (StatsType statsType : values){
- if (statsType.id == id){
- return statsType;
- }
- }
- throw new RuntimeException("鎵句笉鍒癝tatsType绫诲瀷");
- }
-
+ StatsType(int id, int start, int end) {
+ this.id = id;
+ this.start = start;
+ this.end = end;
}
+ static StatsType get(int id) {
+ StatsType[] values = StatsType.values();
+ for (StatsType statsType : values) {
+ if (statsType.id == id) {
+ return statsType;
+ }
+ }
+ throw new RuntimeException("鎵句笉鍒癝tatsType绫诲瀷");
+ }
+}
}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 3ff2711..d3ee47b 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -16,5 +16,4 @@
List<WrkDetl> findByWorkNo(Integer workNo);
int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime);
-
}
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 18f7637..4adb721 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -14,5 +14,4 @@
List<WrkDetl> findByWorkNo(Integer workNo);
boolean updateIoTime(Integer workNo, Date ioTime);
-
}
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 9a50b7b..ced688f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -114,13 +114,13 @@
// 鑾峰彇鍏ュ簱绔欎俊鎭�
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ // LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
if (staProtocol == null) {
continue;
} else {
staProtocol = staProtocol.clone();
}
-
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
/*
鏃犳潯鐮�
娌℃湁鍙叆淇″彿
@@ -187,6 +187,11 @@
if (!staProtocol.isPakMk()) {
continue;
}
+// if (ledThread != null && !Cools.isEmpty(errMsg)) {
+// //String errorMsg = jsonObject.getString("msg");
+// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
+// System.out.println("--------------");
+// }
staProtocol.setWorkNo(wrkNo);
News.warn("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo);
staProtocol.setStaNo(inSta.getBackSta().shortValue());
@@ -1674,7 +1679,7 @@
// 宸ヤ綔妗i泦鍚�
List<WrkMast> wrkMasts = new ArrayList<>();
for (Integer staNo : led.getStaArr()) {
- if (staNo == 104 || staNo == 204 || staNo == 304) {
+ if (staNo == 104 || staNo == 204 || staNo == 304|| staNo == 311) {
continue;
}
// 鑾峰彇鍙夎溅绔欑偣
@@ -1744,7 +1749,14 @@
}
// 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
if (!commands.isEmpty()) {
- if (led.getId() == 3) {
+ if (led.getId() == 6 || led.getId() == 5) {
+ if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+ News.error("" + mark + " - 2" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ continue;
+ } else {
+ ledThread.setLedMk(false);
+ }
+ } else if (led.getId() == 3) {
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
News.error("" + mark + " - 2" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
continue;
@@ -1773,14 +1785,14 @@
try {
// 淇敼涓绘。led鏍囪
- for (WrkMast wrkMast : wrkMasts) {
- wrkMast.setOveMk("Y");
- wrkMast.setModiTime(new Date());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�");
- throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
- }
- }
+// for (WrkMast wrkMast : wrkMasts) {
+// wrkMast.setOveMk("Y");
+// wrkMast.setModiTime(new Date());
+// if (wrkMastMapper.updateById(wrkMast) == 0) {
+// News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�");
+// throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+// }
+// }
// 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚�
ledThread.setWorkNos(workNos);
@@ -2295,7 +2307,11 @@
}
if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
- if (crnProtocol.getBay() == 1 && crnProtocol.getLevel() == 1) {
+
+ if ((crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4) && crnProtocol.getBay()==0 && crnProtocol.getLevel() == 1) {
+ continue;
+ }
+ if ((crnProtocol.getCrnNo()==1 || crnProtocol.getCrnNo()==2) && crnProtocol.getBay()==1 && crnProtocol.getLevel() == 1) {
continue;
}
Page<BasCrnOpt> basCrnOptPage = crnOptService.selectPage(new Page<>(1, 1), new EntityWrapper<BasCrnOpt>().eq("crn_no", crn.getId()).orderBy("send_time", false));
@@ -2321,16 +2337,31 @@
News.info("鍫嗗灈鏈烘棤浠诲姟鑷姩鍥炲叆搴撳彛寰呮満==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満");
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔�
- crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
+ if (crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4){
+ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔�
+ crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
+ crnCommand.setCommand((short) 1);
+ }else {
+ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔�
+ crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
+ crnCommand.setCommand((short) 1);
+ }
if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 7be33fd..5bf8d01 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -42,7 +42,7 @@
}
// 婕旂ず
-// mainService.crnDemoOfLocMove1();
+ //mainService.crnDemoOfLocMove1();
// 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
// mainService.ioConvert();
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3160107..25f6958 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -134,6 +134,7 @@
// 璇绘暟鎹�
case 1:
read();
+ Thread.sleep(100);
readsanqi();
break;
// 鍐欐暟鎹� ID+鐩爣绔�
@@ -145,7 +146,7 @@
}
// 蹇冭烦
// heartbeat();
- Thread.sleep(300);
+ Thread.sleep(200);
} catch (Exception e) {
e.printStackTrace();
}
@@ -360,109 +361,110 @@
private void readsanqi() throws InterruptedException {
ArrayList<Integer> staNos = staNos3;
int staNoSize = staNos3.size();
-
- //
- OperateResultExOne<byte[]> resultsanqi = siemensS7Net.Read("DB101.120", (short) (staNoSize * 8));
- if (resultsanqi.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(resultsanqi.Content, i * 8)); // 宸ヤ綔鍙�
- staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(resultsanqi.Content, i * 8 + 4)); // 鐩爣绔�
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultsanqi.Content, i * 8 + 6, 1);
- staProtocol.setAutoing(status[0]); // 鑷姩
- staProtocol.setLoading(status[1]); // 鏈夌墿
- staProtocol.setInEnable(status[2]); // 鍙叆
- staProtocol.setOutEnable(status[3]);// 鍙嚭
- staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
- staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
- staProtocol.setHigh(status[6]); // 楂樺簱浣�
- staProtocol.setLow(status[7]); // 浣庡簱浣�
-// staProtocol.setWeight(status[8]); //鏄惁涓洪噸璐�
- if (!staProtocol.isPakMk() && staProtocol.isLoading()) {
- staProtocol.setPakMk(true);
- }
- }
- } else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-// log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
- }
-
-
- //澶栧舰妫�娴� 涓夋湡
- OperateResultExOne<byte[]> resultErrsanqi = siemensS7Net.Read("DB101.160", (short) (staNoSize * 8));
- if (resultErrsanqi.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrsanqi.Content, i * 4, 1);
- StaProtocol staProtocol = station.get(siteId);
- staProtocol.setFrontErr(status[0]);
- staProtocol.setBackErr(status[1]);
- staProtocol.setHighErr(status[2]);
- staProtocol.setLeftErr(status[3]);
- staProtocol.setRightErr(status[4]);
- staProtocol.setWeightErr(status[5]);
- staProtocol.setBarcodeErr(status[6]);
- }
- }
-
-
- //鏉$爜鎵弿鍣� 涓夋湡
- Thread.sleep(200);
- ArrayList<Integer> barcodeListsanqi = barcode3;
- OperateResultExOne<byte[]> result2siqi = siemensS7Net.Read("DB101.180", (short) (barcodeListsanqi.size() * 8));
- if (result2siqi.IsSuccess) {
- for (int i = 0; i < barcodeListsanqi.size(); i++) {
- Integer barcodeId = barcodeListsanqi.get(i);
- String barcode = siemensS7Net.getByteTransform().TransString(result2siqi.Content, i * 8, 8, "UTF-8");
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
- if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
- barcodeThread.setBarcode(barcode);
- }
- }
- }
-
- //鏁呴殰 涓夋湡
- OperateResultExOne<byte[]> resultErrs = siemensS7Net.Read("DB101.220", (short) (staNoSize * 4));
- if (resultErrs.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrs.Content, i * 4, 1);
- StaProtocol staProtocol = station.get(siteId);
- staProtocol.setBreakerErr(status[0]);
- staProtocol.setInfraredErr(status[1]);
- staProtocol.setOutTimeErr(status[2]);
- staProtocol.setSeizeSeatErr(status[3]);
- staProtocol.setWrkYgoodsN(status[4]);
- staProtocol.setInverterErr(status[5]);
- staProtocol.setContactErr(status[6]);
- staProtocol.setUpcontactErr(status[7]);
-
- }
-
- }
- // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
- try {
- if (!station.isEmpty()) {
- List<BasDevp> basDevps = new ArrayList<>();
- for (Integer siteId : staNos) {
+ if (slave.getId() == 2) {
+ //
+ OperateResultExOne<byte[]> resultsanqi = siemensS7Net.Read("DB101.120", (short) (staNoSize * 8));
+ if (resultsanqi.IsSuccess) {
+ for (int i = 0; i < staNoSize; i++) {
+ Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
StaProtocol staProtocol = station.get(siteId);
- basDevps.add(staProtocol.toSqlModel());
+ if (null == staProtocol) {
+ staProtocol = new StaProtocol();
+ staProtocol.setSiteId(siteId);
+ station.put(siteId, staProtocol);
+ }
+ staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(resultsanqi.Content, i * 8)); // 宸ヤ綔鍙�
+ staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(resultsanqi.Content, i * 8 + 4)); // 鐩爣绔�
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultsanqi.Content, i * 8 + 6, 1);
+ staProtocol.setAutoing(status[0]); // 鑷姩
+ staProtocol.setLoading(status[1]); // 鏈夌墿
+ staProtocol.setInEnable(status[2]); // 鍙叆
+ staProtocol.setOutEnable(status[3]);// 鍙嚭
+ staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
+ staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
+ staProtocol.setHigh(status[6]); // 楂樺簱浣�
+ staProtocol.setLow(status[7]); // 浣庡簱浣�
+// staProtocol.setWeight(status[8]); //鏄惁涓洪噸璐�
+ if (!staProtocol.isPakMk() && staProtocol.isLoading()) {
+ staProtocol.setPakMk(true);
+ }
}
+ } else {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+// log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+ }
- BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
- if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
- throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+
+ //澶栧舰妫�娴� 涓夋湡
+ OperateResultExOne<byte[]> resultErrsanqi = siemensS7Net.Read("DB101.162", (short) (staNoSize * 8));
+ if (resultErrsanqi.IsSuccess) {
+ for (int i = 0; i < staNoSize; i++) {
+ Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrsanqi.Content, i * 4, 1);
+ StaProtocol staProtocol = station.get(siteId);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
}
}
- } catch (Exception e) {
- e.printStackTrace();
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+
+
+ //鏉$爜鎵弿鍣� 涓夋湡
+ Thread.sleep(200);
+ ArrayList<Integer> barcodeListsanqi = barcode3;
+ OperateResultExOne<byte[]> result2siqi = siemensS7Net.Read("DB101.180", (short) (barcodeListsanqi.size() * 8));
+ if (result2siqi.IsSuccess) {
+ for (int i = 0; i < barcodeListsanqi.size(); i++) {
+ Integer barcodeId = barcodeListsanqi.get(i);
+ String barcode = siemensS7Net.getByteTransform().TransString(result2siqi.Content, i * 8, 8, "UTF-8");
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+ if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+ barcodeThread.setBarcode(barcode);
+ }
+ }
+ }
+
+ //鏁呴殰 涓夋湡
+ OperateResultExOne<byte[]> resultErrs = siemensS7Net.Read("DB101.220", (short) (staNoSize * 4));
+ if (resultErrs.IsSuccess) {
+ for (int i = 0; i < staNoSize; i++) {
+ Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrs.Content, i * 4, 1);
+ StaProtocol staProtocol = station.get(siteId);
+ staProtocol.setBreakerErr(status[0]);
+ staProtocol.setInfraredErr(status[1]);
+ staProtocol.setOutTimeErr(status[2]);
+ staProtocol.setSeizeSeatErr(status[3]);
+ staProtocol.setWrkYgoodsN(status[4]);
+ staProtocol.setInverterErr(status[5]);
+ staProtocol.setContactErr(status[6]);
+ staProtocol.setUpcontactErr(status[7]);
+
+ }
+
+ }
+ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+ try {
+ if (!station.isEmpty()) {
+ List<BasDevp> basDevps = new ArrayList<>();
+ for (Integer siteId : staNos) {
+ StaProtocol staProtocol = station.get(siteId);
+ basDevps.add(staProtocol.toSqlModel());
+ }
+
+ BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+ if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+ throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+ }
}
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e68a9a4..8dc005b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -224,22 +224,22 @@
staNo: 311
barcode: ${wcs-slave.barcode[3].id}
backSta: 312
- led: ${wcs-slave.led[5].id}
+ led: ${wcs-slave.led[4].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[1]:
staNo: 311
barcode: ${wcs-slave.barcode[3].id}
- led: ${wcs-slave.led[5].id}
+ led: ${wcs-slave.led[4].id}
backSta: 312
# 鎷f枡鍏ュ簱鍙�1
pickSta[1]:
staNo: 311
barcode: ${wcs-slave.barcode[3].id}
- led: ${wcs-slave.led[5].id}
+ led: ${wcs-slave.led[4].id}
# 鍑哄簱鍙�1
outSta[1]:
staNo: 314
- led: ${wcs-slave.led[4].id}
+ led: ${wcs-slave.led[5].id}
# 鏉$爜鎵弿浠�1
barcode[0]:
id: 1
@@ -284,6 +284,7 @@
led[4]:
id: 5
ip: 10.10.10.110
+# ip: 172.17.20.183
port: 5005
devpPlcId: ${wcs-slave.devp[1].id}
staArr: 311
@@ -291,6 +292,7 @@
led[5]:
id: 6
ip: 10.10.10.111
+# ip: 172.17.20.182
port: 5005
devpPlcId: ${wcs-slave.devp[1].id}
staArr: 314
\ No newline at end of file
--
Gitblit v1.9.1