From 4ceb4a8697b05d3176c30e00191296969a98016d Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 19 八月 2020 09:53:42 +0800 Subject: [PATCH] Merge branch 'jsasrs' of https://gitee.com/luxiaotao1123/zy-wcs --- src/main/java/com/zy/asrs/controller/SiteController.java | 52 +++++++----- src/main/webapp/views/pipeline.html | 26 +----- src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java | 103 +++---------------------- src/main/java/com/zy/core/thread/DevpThread.java | 23 +++++ 4 files changed, 68 insertions(+), 136 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index 5679e8f..ca3242f 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -4,15 +4,18 @@ import com.core.common.R; import com.zy.asrs.domain.vo.PlcErrorTableVo; import com.zy.asrs.domain.vo.SiteTableVo; +import com.zy.core.cache.SlaveConnection; +import com.zy.core.enums.SlaveType; +import com.zy.core.model.DevpSlave; +import com.zy.core.model.protocol.StaProtocol; +import com.zy.core.properties.SlaveProperties; +import com.zy.core.thread.DevpThread; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Random; -import java.util.concurrent.atomic.AtomicInteger; +import java.util.*; /** * 杈撻�佽澶囨帴鍙� @@ -22,31 +25,34 @@ @RequestMapping("/site") public class SiteController { - private AtomicInteger integer = new AtomicInteger(); + @Autowired + private SlaveProperties slaveProperties; @PostMapping("/table/site") @ManagerAuth(memo = "绔欑偣淇℃伅琛�") public R siteTable(){ List<SiteTableVo> list = new ArrayList<>(); - for (int i=0;i<32;i++){ - SiteTableVo vo = new SiteTableVo(); - vo.setDevNo(String.valueOf(i)); - vo.setWorkNo("1204"); - vo.setAutoing("Y"); - vo.setCanining("Y"); - vo.setCanouting("N"); - vo.setHighLow("1"); - vo.setInreqIn("Y"); - vo.setInreqOut("N"); - vo.setLoading("Y"); - if (integer.get()%5 == 0) { - vo.setStaNo("0000"); - } else { - vo.setStaNo("9998"); + + for (DevpSlave devp : slaveProperties.getDevp()) { + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + Map<Integer, StaProtocol> station = devpThread.getStation(); + for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { + StaProtocol staProtocol = entry.getValue(); + SiteTableVo vo = new SiteTableVo(); + + vo.setDevNo(entry.getKey()); // 绔欑偣缂栧彿 + vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� + vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩 + vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿 + vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆 + vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭 + vo.setInreq1(staProtocol.isInreq1()?"Y":"N"); // 闇�姹�1 + vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿 + vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔� + + list.add(vo); } - list.add(vo); } - integer.getAndIncrement(); return R.ok().add(list); } diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java index e4ff581..54cde54 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java @@ -1,15 +1,18 @@ package com.zy.asrs.domain.vo; +import lombok.Data; + /** * Created by vincent on 2020-06-02 */ +@Data public class SiteTableVo { // 绔欏彿 - private String devNo; + private Integer devNo; // 宸ヤ綔鍙� - private String workNo; + private Short workNo; // 鑷姩 private String autoing; @@ -18,100 +21,18 @@ private String loading; // 鍙叆 - private String canining; + private String inEnable; // 鍙嚭 - private String canouting; + private String outEnable; - // 闇�姹傚叆 - private String inreqIn; + // 闇�姹�1 + private String inreq1; - // 闇�姹傚嚭 - private String inreqOut; - - // 楂樹綆搴� - private String highLow; + // 绌烘澘淇″彿 + private String emptyMk; // 鐩爣绔� - private String staNo; + private Short staNo; - public String getDevNo() { - return devNo; - } - - public void setDevNo(String devNo) { - this.devNo = devNo; - } - - public String getWorkNo() { - return workNo; - } - - public void setWorkNo(String workNo) { - this.workNo = workNo; - } - - public String getAutoing() { - return autoing; - } - - public void setAutoing(String autoing) { - this.autoing = autoing; - } - - public String getLoading() { - return loading; - } - - public void setLoading(String loading) { - this.loading = loading; - } - - public String getCanining() { - return canining; - } - - public void setCanining(String canining) { - this.canining = canining; - } - - public String getCanouting() { - return canouting; - } - - public void setCanouting(String canouting) { - this.canouting = canouting; - } - - public String getInreqIn() { - return inreqIn; - } - - public void setInreqIn(String inreqIn) { - this.inreqIn = inreqIn; - } - - public String getInreqOut() { - return inreqOut; - } - - public void setInreqOut(String inreqOut) { - this.inreqOut = inreqOut; - } - - public String getHighLow() { - return highLow; - } - - public void setHighLow(String highLow) { - this.highLow = highLow; - } - - public String getStaNo() { - return staNo; - } - - public void setStaNo(String staNo) { - this.staNo = staNo; - } } diff --git a/src/main/java/com/zy/core/thread/DevpThread.java b/src/main/java/com/zy/core/thread/DevpThread.java index 387fef4..7f092a0 100644 --- a/src/main/java/com/zy/core/thread/DevpThread.java +++ b/src/main/java/com/zy/core/thread/DevpThread.java @@ -5,15 +5,19 @@ import HslCommunication.Profinet.Siemens.SiemensPLCS; import HslCommunication.Profinet.Siemens.SiemensS7Net; import com.alibaba.fastjson.JSON; +import com.core.common.DateUtils; import com.zy.core.Slave; import com.zy.core.ThreadHandler; import com.zy.core.cache.MessageQueue; +import com.zy.core.cache.OutputQueue; import com.zy.core.enums.SlaveType; import com.zy.core.model.Task; import com.zy.core.model.protocol.StaProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; +import java.text.MessageFormat; +import java.util.Date; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -56,6 +60,9 @@ default: break; } + + // 蹇冭烦 + heartbeat(); Thread.sleep(400); } catch (Exception e) { e.printStackTrace(); @@ -73,8 +80,10 @@ OperateResult connect = siemensS7Net.ConnectServer(); if(connect.IsSuccess){ result = true; + OutputQueue.CRN.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); log.info("杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } else { + OutputQueue.CRN.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); log.error("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } siemensS7Net.ConnectClose(); @@ -82,7 +91,7 @@ } /** - * 璇诲彇鐘舵�� + * 璇诲彇鐘舵�� ====> 鏁村潡plc */ private void read(){ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 40); @@ -111,7 +120,7 @@ } /** - * 鍐欏叆 + * 鍐欏叆 =====> 鍗曠珯鐐瑰啓鍏� */ private void write(StaProtocol staProtocol){ if (null == staProtocol) { @@ -131,6 +140,16 @@ } } + /** + * 蹇冭烦 + */ + private void heartbeat(){ + OperateResult write = siemensS7Net.Write("DB100.50", (short) 1); + if (!write.IsSuccess) { + log.error("杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId()); + } + } + @Override public void close() { siemensS7Net.ConnectClose(); diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html index 96ba05f..4dc6a30 100644 --- a/src/main/webapp/views/pipeline.html +++ b/src/main/webapp/views/pipeline.html @@ -61,9 +61,8 @@ <th>鏈夌墿</th> <th>鍙叆</th> <th>鍙嚭</th> - <th>闇�姹傚叆</th> - <th>闇�姹傚嚭</th> - <th>楂樹綆搴�</th> + <th>闇�姹�1</th> + <th>绌烘澘淇″彿</th> <th>鐩爣绔�</th> </tr> </thead> @@ -147,23 +146,11 @@ setVal(tr.children("td").eq(1), table[i-1].workNo); setVal(tr.children("td").eq(2), table[i-1].autoing); setVal(tr.children("td").eq(3), table[i-1].loading); - setVal(tr.children("td").eq(4), table[i-1].canining); - setVal(tr.children("td").eq(5), table[i-1].canouting); - setVal(tr.children("td").eq(6), table[i-1].inreqIn); - setVal(tr.children("td").eq(7), table[i-1].inreqOut); - setVal(tr.children("td").eq(8), table[i-1].highLow); + setVal(tr.children("td").eq(4), table[i-1].inEnable); + setVal(tr.children("td").eq(5), table[i-1].outEnable); + setVal(tr.children("td").eq(6), table[i-1].inreq1); + setVal(tr.children("td").eq(7), table[i-1].emptyMk); setVal(tr.children("td").eq(9), table[i-1].staNo); - - // tr.children("td").eq(0).html(table[i-1].devNo); - // tr.children("td").eq(1).html(table[i-1].workNo); - // tr.children("td").eq(2).html(table[i-1].autoing); - // tr.children("td").eq(3).html(table[i-1].loading); - // tr.children("td").eq(4).html(table[i-1].canining); - // tr.children("td").eq(5).html(table[i-1].canouting); - // tr.children("td").eq(6).html(table[i-1].inreqIn); - // tr.children("td").eq(7).html(table[i-1].inreqOut); - // tr.children("td").eq(8).html(table[i-1].highLow); - // tr.children("td").eq(9).html(table[i-1].staNo); } } else if (res.code === 403){ window.location.href = baseUrl+"/login"; @@ -240,7 +227,6 @@ var html = ""; for (var i = 0; i < line; i ++){ html += " <tr>\n" + - " <td></td>\n" + " <td></td>\n" + " <td></td>\n" + " <td></td>\n" + -- Gitblit v1.9.1