From 9e5f9371ed18a317eb5fcbbd94bc174837e561a3 Mon Sep 17 00:00:00 2001 From: lsh <lsh123456> Date: 星期三, 26 六月 2024 19:35:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/SiteController.java | 29 + src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java | 92 ++++++ src/main/webapp/views/ste.html | 223 +++++++------- src/main/java/com/zy/asrs/domain/vo/SteDataVo.java | 27 + src/main/java/com/zy/asrs/domain/param/SteModeParam.java | 19 + src/main/java/com/zy/core/thread/SiemensCrnThread.java | 3 src/main/java/com/zy/core/thread/SteThread.java | 2 src/main/java/com/zy/asrs/controller/SteController.java | 304 ++++++++++++++++++++ src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java | 50 +++ src/main/java/com/zy/core/MainProcess.java | 69 ++-- src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java | 32 ++ src/main/java/com/zy/core/thread/SiemensDevpThread.java | 24 + src/main/resources/application.yml | 4 13 files changed, 720 insertions(+), 158 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index f61ccff..d71cb10 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -2,16 +2,21 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.domain.vo.PlcErrorTableVo; import com.zy.asrs.domain.vo.SiteTableVo; +import com.zy.asrs.domain.vo.SteDataVo; import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.BasSte; import com.zy.asrs.service.BasDevpService; +import com.zy.asrs.service.BasSteService; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.model.DevpSlave; +import com.zy.core.model.SteSlave; import com.zy.core.model.Task; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; @@ -33,6 +38,8 @@ @RequestMapping("/site") public class SiteController { + @Autowired + private BasSteService basSteService; @Autowired private SlaveProperties slaveProperties; @Autowired @@ -201,5 +208,27 @@ return R.error("plc宸叉帀绾�"); } + @GetMapping("/detl/{steNo}") + public R steDetl(@PathVariable("steNo") Integer steNo){ + SteDataVo vo = new SteDataVo(); + for (SteSlave ste : slaveProperties.getSte()) { + if (steNo.equals(ste.getId())) { + vo.setSteNo(ste.getId()); + BasSte basSte = basSteService.selectById(ste.getId()); + if (!Cools.isEmpty(basSte)) { + vo.setRow(basSte.getRow()); + vo.setBay(basSte.getBay()); + vo.setLev(basSte.getLev()); + vo.setCrnNo(basSte.getCrnNo()); + vo.setWorkNo(basSte.getWrkNo()); + vo.setPakMk(basSte.getPakMk()); + } + break; + } + } + return R.ok().add(vo); + } + + } diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java new file mode 100644 index 0000000..190ce4c --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/SteController.java @@ -0,0 +1,304 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.core.exception.CoolException; +import com.zy.asrs.domain.enums.CrnStatusType; +import com.zy.asrs.domain.param.SteModeParam; +import com.zy.asrs.domain.param.SteOperatorParam; +import com.zy.asrs.domain.vo.SteDataVo; +import com.zy.asrs.domain.vo.SteMsgTableVo; +import com.zy.asrs.domain.vo.SteStateTableVo; +import com.zy.asrs.entity.BasSte; +import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.service.BasSteService; +import com.zy.asrs.service.WrkMastService; +import com.zy.core.News; +import com.zy.core.cache.MessageQueue; +import com.zy.core.cache.OutputQueue; +import com.zy.core.cache.SlaveConnection; +import com.zy.core.enums.SlaveType; +import com.zy.core.enums.SteTaskModeType; +import com.zy.core.model.SteSlave; +import com.zy.core.model.Task; +import com.zy.core.model.command.SteCommand; +import com.zy.core.model.protocol.SteProtocol; +import com.zy.core.properties.SlaveProperties; +import com.zy.core.properties.SystemProperties; +import com.zy.core.thread.SteThread; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 绌挎杞︽帴鍙� + * Created by vincent on 2022/3/14 + */ +@Slf4j +@RestController +@RequestMapping("/ste") +public class SteController { + + @Autowired + private SlaveProperties slaveProperties; + @Autowired + private BasSteService basSteService; + @Autowired + private WrkMastService wrkMastService; + + @PostMapping("/table/ste/state") + @ManagerAuth(memo = "绌挎杞︿俊鎭〃") + public R steStateTable(){ + List<SteStateTableVo> list = new ArrayList<>(); + List<BasSte> stes = basSteService.selectList(new EntityWrapper<BasSte>().orderBy("ste_no")); + for (BasSte basSte : stes) { + // 琛ㄦ牸琛� + SteStateTableVo vo = new SteStateTableVo(); + vo.setSteNo(basSte.getSteNo()); // 绌挎杞﹀彿 + list.add(vo); + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo()); + if (steThread == null) { + continue; + } + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { + continue; + } + vo.setTaskNo(steProtocol.getTaskNo().intValue()); // 浠诲姟鍙� + vo.setStatusVal(steProtocol.getMode().intValue()); // 鍦ㄧ嚎鐘舵�� + vo.setStatusType(steProtocol.mode == 0 ? "绂荤嚎" : "鍦ㄧ嚎"); // 妯″紡鐘舵�� + if (!Cools.isEmpty(steProtocol.getStatus())) { + vo.setStatus(steProtocol.getStatusType().desc); // 鐘舵�� + } + if (!Cools.isEmpty(steProtocol.getLoad())) { + vo.setLoading(steProtocol.getLoad()==1?"鉁�":"脳"); // 鏈夌墿 + } + if (!Cools.isEmpty(steProtocol.getWaiting())) { + vo.setWaiting(steProtocol.getWaiting()?"鉁�":"脳"); + } + vo.setRow(steProtocol.getRow()); + vo.setBay(steProtocol.getBay()); + vo.setLev(steProtocol.getLev()); + vo.setCharge(steProtocol.getCharge() + "%"); + if (!Cools.isEmpty(steProtocol.getLoca())) { + vo.setLoca(steProtocol.getLocaType().desc); + } + vo.setSpeed(steProtocol.getSpeed()); + vo.setCloser(steProtocol.getCloser()); + if (!Cools.isEmpty(steProtocol.getPos())) { + vo.setPos(steProtocol.getPos()==0?"浣庝綅":"楂樹綅"); + } + if (!Cools.isEmpty(steProtocol.getTrack())) { + vo.setTrack(steProtocol.getTrack()==0?"鉁�":"脳"); + } + if (!Cools.isEmpty(steProtocol.getChargeStatus())) { + vo.setChargeStatus(steProtocol.getChargeStatus()==1?"鉁�":"脳"); + } + if (!Cools.isEmpty(steProtocol.getAlarm())) { + vo.setAlarm1(String.valueOf(steProtocol.getAlarm())); + } + if (!Cools.isEmpty(steProtocol.getAlarm0())) { + vo.setAlarm2(String.valueOf(steProtocol.getAlarm0())); + } + } + return R.ok().add(list); + } + + @PostMapping("/table/ste/msg") + @ManagerAuth(memo = "绌挎杞︽暟鎹〃") + public R steMsgTable(){ + List<SteMsgTableVo> list = new ArrayList<>(); + List<BasSte> stes = basSteService.selectList(new EntityWrapper<BasSte>().orderBy("ste_no")); + for (BasSte basSte : stes) { + // 琛ㄦ牸琛� + SteMsgTableVo vo = new SteMsgTableVo(); + vo.setSteNo(basSte.getSteNo()); // 绌挎杞﹀彿 + list.add(vo); + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo()); + if (steThread == null) { + continue; + } + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { + continue; + } + + vo.setWorkNo(steProtocol.getTaskNo().intValue()); // 浠诲姟鍙� + if (steProtocol.getTaskNo() > 0) { + WrkMast wrkMast = wrkMastService.selectById(steProtocol.getTaskNo()); + if (wrkMast != null) { + vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯 + vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔� + vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣� + vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 + } + } else { + vo.setStatus(steProtocol.mode == 1? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� + } + vo.setSpeed(steProtocol.getSpeed()); // 閫熷害 + vo.setCloser(steProtocol.getCloser()); // 杩戠偣璺濈 + vo.setPakMk(steProtocol.getPakMk()); // 浣滀笟鏍囪 + } + return R.ok().add(list); + } + + @PostMapping("/output/ste") + @ManagerAuth + public R steOutput(){ + StringBuilder str = new StringBuilder(); + String s; + int i = 0; + while((s = OutputQueue.STE.poll()) != null && i <=10) { + str.append("\n").append(s); + i++; + } + return R.ok().add(str.toString()); + } + + @GetMapping("/detl/{steNo}") + public R steDetl(@PathVariable("steNo") Integer steNo){ + SteDataVo vo = new SteDataVo(); + for (SteSlave ste : slaveProperties.getSte()) { + if (steNo.equals(ste.getId())) { + vo.setSteNo(ste.getId()); + BasSte basSte = basSteService.selectById(ste.getId()); + if (!Cools.isEmpty(basSte)) { + vo.setRow(basSte.getRow()); + vo.setBay(basSte.getBay()); + vo.setLev(basSte.getLev()); + vo.setCrnNo(basSte.getCrnNo()); + vo.setWorkNo(basSte.getWrkNo()); + vo.setPakMk(basSte.getPakMk()); + } + break; + } + } + return R.ok().add(vo); + } + + @PostMapping("/detl/update") + @ManagerAuth + public R steUpdate(SteDataVo vo){ + BasSte basSte = basSteService.selectById(vo.getSteNo()); + if (basSte == null) { + return R.error(); + } + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, vo.getSteNo()); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { + throw new CoolException(vo.getSteNo() + "鍙风┛姊溅涓嶅湪绾匡紝鏃犳硶淇濆瓨"); + } + if (!Cools.isEmpty(vo.getRow(), vo.getBay(), vo.getLev())) { + if (!steThread.modifyPosHandle(vo.getRow(), vo.getBay(), vo.getLev())) { + throw new CoolException("鏈嶅姟鍣ㄩ敊璇�"); + } + } + SteCommand steCommand = new SteCommand(); + steCommand.setTaskNo(vo.getWorkNo()); + if (MessageQueue.offer(SlaveType.Ste, vo.getSteNo(), new Task(2, steCommand))) { + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + basSte.setRow(vo.getRow()); + basSte.setBay(vo.getBay()); + basSte.setLev(vo.getLev()); + + basSte.setPakMk(vo.getPakMk()); + basSte.setWrkNo(vo.getWorkNo()); + basSte.setCrnNo(vo.getCrnNo()); + basSte.setUpdateTime(new Date()); + if (!basSteService.updateById(basSte)) { + throw new CoolException("淇敼澶辫触"); + } + return R.ok(); + } + + + /****************************************************************/ + /************************** 鎵嬪姩鎿嶄綔 ******************************/ + /****************************************************************/ + + @PostMapping("/mode/switch") + @ManagerAuth + public R crnDemo(SteModeParam param) throws InterruptedException { + if (Cools.isEmpty(param.getSteNo())){ + return R.error(); + } + if (Cools.isEmpty(param.getPassword())){ + return R.error("璇疯緭鍏ュ彛浠�"); + } + if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){ + return R.error("鍙d护閿欒"); + } + Thread.sleep(200L); + for (SteSlave steSlave : slaveProperties.getSte()) { + if (steSlave.getId().equals(param.getSteNo())) { + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId()); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { continue; } + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(param.getSteNo()); // 绌挎杞︾紪鍙� + if (MessageQueue.offer(SlaveType.Ste, param.getSteNo(), new Task(2, steCommand))) { + return R.ok(); + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + } + } + return R.ok(); + } + + @ManagerAuth(memo = "鎵嬪姩鎿嶄綔") + @PostMapping("/operator/ste") + public R steOperator(SteOperatorParam param){ + if (Cools.isEmpty(param.getSteNo(), param.getSteTaskMode())) { + return R.parse(BaseRes.PARAM); + } + + for (SteSlave ste : slaveProperties.getSte()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + if (param.getSteNo().equals(ste.getId())) { + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId()); + if (steThread == null) { + throw new CoolException("绌挎杞︿笉鍦ㄧ嚎"); + } + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { + throw new CoolException("绌挎杞︿笉鍦ㄧ嚎"); + } + SteTaskModeType steTaskModeType = SteTaskModeType.get(param.getSteTaskMode()); + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙� + if (param.getSteTaskMode() == 16) { + steCommand.setComplete(true); + } else { + if (steTaskModeType == null) { + throw new CoolException("浠诲姟绫诲瀷閿欒"); + } + steCommand.setTaskNo(param.getTaskNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(steTaskModeType); + } + if (MessageQueue.offer(SlaveType.Ste, ste.getId(), new Task(2, steCommand))) { + return R.ok(); + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + } + } + return R.error(); + } + +} diff --git a/src/main/java/com/zy/asrs/domain/param/SteModeParam.java b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java new file mode 100644 index 0000000..b15331d --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java @@ -0,0 +1,19 @@ +package com.zy.asrs.domain.param; + +import lombok.Data; + +/** + * 鍫嗗灈鏈烘紨绀烘搷浣滃叆鍙� + * Created by vincent on 2020-06-03 + */ +@Data +public class SteModeParam { + + private Integer steNo; + + // 瀵嗙爜鍙d护 + private String password; + + private Boolean opt; + +} diff --git a/src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java b/src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java new file mode 100644 index 0000000..41be54d --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java @@ -0,0 +1,32 @@ +package com.zy.asrs.domain.param; + +import lombok.Data; + +/** + * Created by vincent on 2020-06-02 + */ +@Data +public class SteOperatorParam { + + // 绌挎杞﹀彿 + private Integer steNo; + + // 鍛戒护绫诲瀷 + private Short steTaskMode; + + // 浠诲姟鍙� + private Integer taskNo = 0; + + // 鐩爣搴撲綅-鎺� + private Short row; + + // 鐩爣搴撲綅-鍒� + private Short bay; + + // 鐩爣搴撲綅-灞� + private Short lev; + + // 鎵�灞炲爢鍨涙満 + private Integer crnNo; + +} diff --git a/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java new file mode 100644 index 0000000..b0f70d8 --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java @@ -0,0 +1,27 @@ +package com.zy.asrs.domain.vo; + +import lombok.Data; + +/** + * Created by vincent on 2020-06-02 + */ +@Data +public class SteDataVo { + + // 绌挎杞﹀彿 + private Integer steNo; + + // 宸ヤ綔鍙� + private Integer workNo; + + private Integer row; + + private Integer bay; + + private Integer lev; + + private Integer crnNo; + + private String pakMk; + +} diff --git a/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java new file mode 100644 index 0000000..0be072d --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java @@ -0,0 +1,50 @@ +package com.zy.asrs.domain.vo; + +import lombok.Data; + +/** + * Created by vincent on 2020-06-02 + */ +@Data +public class SteMsgTableVo { + + // 绌挎杞﹀彿 + private Integer steNo; + + // 宸ヤ綔鍙� + private Integer workNo = 0; + + // 鐘舵�� + private String status = "-"; + + // 婧愮珯 + private String sourceStaNo = "-"; + + // 鐩爣绔� + private String staNo = "-"; + + // 婧愬簱浣� + private String sourceLocNo = "-"; + + // 鐩爣搴撲綅 + private String locNo = "-"; + + // 寮傚父 + private String error = ""; + + // 鍘熺偣 + private String origin = ""; + + // 鍛戒护 + private String command = ""; + + // 閫熷害 + private Double speed = 0.0D; + + // 杩戠偣璺濈 + public Double closer = 0.0D; + + // 浣滀笟鏍囪 + private String pakMk = "-"; + +} diff --git a/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java new file mode 100644 index 0000000..17e499a --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java @@ -0,0 +1,92 @@ +package com.zy.asrs.domain.vo; + +import lombok.Data; + +/** + * Created by vincent on 2020-06-02 + */ +@Data +public class SteStateTableVo { + + // 绌挎杞﹀彿 + private Integer steNo; + + // 鍦ㄧ嚎鐘舵�� + private Integer statusVal; + + // 妯″紡 + private String statusType = "-"; + + // 鐘舵�� + private String status = "-"; + + // 鏈夌墿 + private String loading = "-"; + + /** + * 浠诲姟鍙� + */ + public Integer taskNo; + + // 姝e湪鎵ц浠诲姟 + private String execute; + + // 浠诲姟瀹屾垚锛岀瓑寰匴CS纭 + private String waiting; + + // 鎺� + private Short row; + + // 鍒� + private Short bay; + + // 灞� + private Short lev; + + // 寮傚父鐮�1 + private String alarm1 = "-"; + + // 寮傚父鐮�2 + private String alarm2 = "-"; + + /** + * 鐢垫睜鐢甸噺 + */ + public String charge = "-"; + + /** + * 鐢垫睜棣堢數 + */ + public String feed = "-"; + + /** + * 褰撳墠浣嶇疆 1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐� + */ + public String loca = "-"; + + /** + * 杩戠偣璺濈 + */ + public Double closer; + + /** + * 褰撳墠閫熷害 + */ + public Double speed; + + /** + * 楂樹綆浣� 0锛屼綆浣嶏紝1楂樹綅 + */ + public String pos = "-"; + + /** + * 鍦ㄨ建閬撲笂 0涓嶅湪锛�1鍦� + */ + public String track = "-"; + + /** + * 鍏呯數鐘舵�� + */ + public String chargeStatus = "-"; + +} diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index a0ff888..03664b2 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -57,41 +57,42 @@ // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� // mainService.ioConvert(); // 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。 - mainService.generateStoreWrkFile(); // 缁勬墭 - mainService.generateStoreWrkFileSingle(); // 缁勬墭 鍙屽伐浣嶅崟浼� 灏忔枡绠� - mainService.generateStoreWrkFileLarge(); // 缁勬墭 鍙屽伐浣嶅崟浼� 澶ф枡绠� - mainService.generateStoreWrkFile0(); // WMS鍏ュ簱 - // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 - mainService.crnStnToOutStn(); - // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 宸ヤ綅2 - mainService.crnStnToOutStnTwo(); - // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 - mainService.crnIoExecute(); - // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 鍙屽伐浣嶅爢鍨涙満 - mainService.crnIoExecuteTwo(); - // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 鍙屽伐浣嶅爢鍨涙満 鎷嗗垎鎵ц浠诲姟涓嬪彂 - mainService.crnIoExecuteTwoExecute(i);//Execute - if (i%2==0){ - // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� - mainService.storeFinished(); - }else { - // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� 宸ヤ綅2 - mainService.storeFinishedTwo(); - } - -// // 寮傚父淇℃伅璁板綍 -// mainService.recErr(); - // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱 - mainService.storeEmptyPlt(); - // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱 鍙屽伐浣嶅崟浼� 灏忔枡绠� - mainService.storeEmptyPltSingle(); - // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱 鍙屽伐浣嶅崟浼� 澶ф枡绠� - mainService.storeEmptyPltLarge(); - // 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� - mainService.ledExecute(); - // 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅 - mainService.ledReset(); +// mainService.generateStoreWrkFile(); // 缁勬墭 +// mainService.generateStoreWrkFileSingle(); // 缁勬墭 鍙屽伐浣嶅崟浼� 灏忔枡绠� +// mainService.generateStoreWrkFileLarge(); // 缁勬墭 鍙屽伐浣嶅崟浼� 澶ф枡绠� +// mainService.generateStoreWrkFile0(); // WMS鍏ュ簱 +// // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 +// mainService.crnStnToOutStn(); +// // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 宸ヤ綅2 +// mainService.crnStnToOutStnTwo(); +// // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 +// mainService.crnIoExecute(); +// // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 鍙屽伐浣嶅爢鍨涙満 +// mainService.crnIoExecuteTwo(); +// // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 鍙屽伐浣嶅爢鍨涙満 鎷嗗垎鎵ц浠诲姟涓嬪彂 +// mainService.crnIoExecuteTwoExecute(i);//Execute +// if (i%2==0){ +// // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� +// mainService.storeFinished(); +// }else { +// // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� 宸ヤ綅2 +// mainService.storeFinishedTwo(); +// } +// +// +//// // 寮傚父淇℃伅璁板綍 +//// mainService.recErr(); +// // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱 +// mainService.storeEmptyPlt(); +// // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱 鍙屽伐浣嶅崟浼� 灏忔枡绠� +// mainService.storeEmptyPltSingle(); +// // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱 鍙屽伐浣嶅崟浼� 澶ф枡绠� +// mainService.storeEmptyPltLarge(); +// // 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� +// mainService.ledExecute(); +// // 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅 +// mainService.ledReset(); /************************************JAR璋冨害************************************/ //JarWrkMastExecute浠诲姟瀹屾垚 diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 0929642..902fb2b 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -194,6 +194,9 @@ */ private void readStatus(){ try { + if (true){ + return; + } OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>(); if (slave.getId()>2 && slave.getId()<6){ result = siemensNet.Read("DB101.0", (short) 66); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 3850d4e..76c9777 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -292,6 +292,7 @@ staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触 } } + if (slave.getId()==2){ Thread.sleep(200); int[] staNosRgv = {623,624,625,626}; @@ -305,21 +306,26 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 0)); // 灏忚溅鐩爣浣� + try{ + staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 0)); // 灏忚溅鐩爣浣� - staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 2)); // 鐩爣绔� + staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2)); // 鐩爣绔� - boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, 4, 1); - staProtocol.setRGV1(status[0]); // 鑷姩 - staProtocol.setRGV2(status[1]); // 鏈夌墿 - staProtocol.setRGV3(status[2]); // 鍙叆 - staProtocol.setRGV4(status[3]);// - staProtocol.setRGV5(status[4]); // - staProtocol.setRGV6(status[5]); // 婊℃墭鐩� + boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1); + staProtocol.setRGV1(status[0]); // 鑷姩 + staProtocol.setRGV2(status[1]); // 鏈夌墿 + staProtocol.setRGV3(status[2]); // 鍙叆 + staProtocol.setRGV4(status[3]);// + staProtocol.setRGV5(status[4]); // + staProtocol.setRGV6(status[5]); // 婊℃墭鐩� + }catch (Exception e){ + System.out.println(e.getMessage()); + } } } } + //鏉$爜鎵弿鍣� Thread.sleep(200); OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840",(short)(barcodeSize*8)); diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java index 4483c28..223aa17 100644 --- a/src/main/java/com/zy/core/thread/SteThread.java +++ b/src/main/java/com/zy/core/thread/SteThread.java @@ -123,7 +123,7 @@ */ private void readStatus(){ try { - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) 22); + OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) 27); if (result.IsSuccess) { if (null == steProtocol) { steProtocol = new SteProtocol(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 99572e0..b722f2b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -553,14 +553,14 @@ # ste1 ste[0]: id: 1 - ip: 10.10.10.10 + ip: 10.10.10.170 port: 502 rack: 0 slot: 0 # ste2 ste[1]: id: 2 - ip: 10.10.10.10 + ip: 10.10.10.175 port: 502 rack: 0 slot: 0 \ No newline at end of file diff --git a/src/main/webapp/views/ste.html b/src/main/webapp/views/ste.html index 441dacf..72eb83f 100644 --- a/src/main/webapp/views/ste.html +++ b/src/main/webapp/views/ste.html @@ -13,135 +13,134 @@ <script type="text/javascript" src="../static/js/common.js"></script> </head> <body> - <div style="padding: 10px;height: 100%;float: left;width: 6%"> - <div class="button-window"></div> - </div> - <div style="height: 100%;padding-left: 6%"> - <div style="padding: 10px;height: 100%"> - <!-- 鏃ュ織鐩戞帶鏉� --> - <div class="log-board"> - <div class="command-log"> - <div data-steNo="1" class="ste-command-item"> - <label>1#</label> - <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> -<!-- <button id="mode-1" class="demoBtn mode-btn" > - </button>--> - </div> - <div data-steNo="2" class="ste-command-item"> - <label>2#</label> - <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> -<!-- <button id="mode-2" class="demoBtn mode-btn" > - </button>--> - </div> - <div data-steNo="3" class="ste-command-item"> - <label>3#</label> - <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> -<!-- <button id="mode-3" class="demoBtn mode-btn" > - </button>--> - </div> +<div style="padding: 10px;height: 100%;float: left;width: 6%"> + <div class="button-window"></div> +</div> +<div style="height: 100%;padding-left: 6%"> + <div style="padding: 10px;height: 100%"> + <!-- 鏃ュ織鐩戞帶鏉� --> + <div class="log-board"> + <div class="command-log"> + <div data-steNo="1" class="ste-command-item" style="margin-top: 30px"> + <label>1#</label> + <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> + <!-- <button id="mode-1" class="demoBtn mode-btn" > - </button>--> </div> - <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 --> - <div class="ste-state"> - <table id="ste-state-table"> - <thead> - <tr> - <th>绌挎杞�</th> - <th>妯″紡</th> - <th>鐘舵��</th> - <th>鏈夌墿</th> - <th>鍦ㄨ建</th> - <th>鐢甸噺</th> - <th>鎺�</th> - <th>鍒�</th> - <th>灞�</th> - <th>绛夊緟WCS纭</th> - <th>瀹氫綅</th> - <th>鍏呯數鐘舵��</th> - <th>鎶ヨ淇℃伅1</th> - <th>鎶ヨ淇℃伅2</th> - </tr> - </thead> - <tbody> - </tbody> - </table> + <div data-steNo="2" class="ste-command-item" style="margin-top: 30px"> + <label>2#</label> + <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> + <!-- <button id="mode-2" class="demoBtn mode-btn" > - </button>--> + </div> + <div data-steNo="3" class="ste-command-item" style="margin-top: 30px"> + <label>3#</label> + <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> + <!-- <button id="mode-3" class="demoBtn mode-btn" > - </button>--> </div> </div> - <!-- 绌挎杞︾姸鎬� --> - <div class="ste-msg"> - <table id="ste-msg-table"> + <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 --> + <div class="ste-state"> + <table id="ste-state-table"> <thead> - <tr> - <th>绌挎杞�</th> - <th>宸ヤ綔鍙�</th> - <th>鐘舵��</th> - <th>婧愮珯</th> - <th>鐩爣绔�</th> - <th>婧愬簱浣�</th> - <th>鐩爣搴撲綅</th> - <th>閫熷害</th> - <th>杩戠偣璺濈</th> - <th>浣滀笟鏍囪</th> - </tr> + <tr> + <th>绌挎杞�</th> + <th>妯″紡</th> + <th>鐘舵��</th> + <th>鏈夌墿</th> + <th>鍦ㄨ建</th> + <th>鐢甸噺</th> + <th>鎺�</th> + <th>鍒�</th> + <th>灞�</th> + <th>绛夊緟WCS纭</th> + <th>瀹氫綅</th> + <th>鍏呯數鐘舵��</th> + <th>鎶ヨ淇℃伅1</th> + <th>璁惧淇℃伅</th> + </tr> </thead> <tbody> </tbody> </table> </div> - <!-- 鎵嬪姩鎿嶄綔 --> - <div class="ste-operation"> - <!-- 閬僵灞� --> - <div class="ste-operation-shade"> + </div> + <!-- 绌挎杞︾姸鎬� --> + <div class="ste-msg"> + <table id="ste-msg-table"> + <thead> + <tr> + <th>绌挎杞�</th> + <th>宸ヤ綔鍙�</th> + <th>鐘舵��</th> + <th>婧愮珯</th> + <th>鐩爣绔�</th> + <th>婧愬簱浣�</th> + <th>鐩爣搴撲綅</th> + <th>閫熷害</th> + <th>杩戠偣璺濈</th> + <th>浣滀笟鏍囪</th> + </tr> + </thead> + <tbody> + </tbody> + </table> + </div> + <!-- 鎵嬪姩鎿嶄綔 --> + <div class="ste-operation"> + <!-- 閬僵灞� --> + <div class="ste-operation-shade"> <span class="ste-operation-shade-span"> WCS 绯荤粺杩愯涓紝璇峰仠姝㈠悗鎿嶄綔 </span> - </div> - <!-- 璁惧浠诲姟閫夋嫨 --> - <div class="task-select"> - <!-- 閫夋嫨 --> - <div id="ste-select" class="operator-item"> - <span class="select-title">绌挎杞﹀彿</span> - <div class="select-container"> - <label><input type="radio" name="steSelect" value="1" checked> 1鍙风┛姊溅</label> - <label><input type="radio" name="steSelect" value="2"> 2鍙风┛姊溅</label> - <label><input type="radio" name="steSelect" value="3"> 3鍙风┛姊溅</label> - </div> + </div> + <!-- 璁惧浠诲姟閫夋嫨 --> + <div class="task-select"> + <!-- 閫夋嫨 --> + <div id="ste-select" class="operator-item"> + <span class="select-title">绌挎杞﹀彿</span> + <div class="select-container"> + <label><input type="radio" name="steSelect" value="1" checked> 1鍙风┛姊溅</label> + <label><input type="radio" name="steSelect" value="2"> 2鍙风┛姊溅</label> + <label><input type="radio" name="steSelect" value="3"> 3鍙风┛姊溅</label> </div> </div> - <!-- 璁惧浠诲姟鎿嶄綔 --> - <div class="task-operator"> - <fieldset> - <legend>鎵嬪姩鎿嶄綔</legend> - <div class="button-group"> - <button class="item" onclick="steOperator(99)">鑱旀満</button> - <button class="item" onclick="steOperator(100)">鑴辨満</button> - <button class="item" onclick="steOperator(1)">鍚戝彸鍑哄簱</button> - <button class="item" onclick="steOperator(2)">鍚戝乏鍑哄簱</button> - <button class="item" onclick="steOperator(3)">浠庡彸鍏ュ簱</button> - <button class="item" onclick="steOperator(4)">浠庡乏鍏ュ簱</button> - <button class="item" onclick="steOperator(5)">宸︾Щ搴�</button> - <button class="item" onclick="steOperator(6)">鍙崇Щ搴�</button> - <button class="item" onclick="steOperator(7)">鍘诲彸绔�</button> - <button class="item" onclick="steOperator(8)">鍘诲乏绔�</button> - <button class="item" onclick="steOperator(9)">鍙冲緟鏈�</button> - <button class="item" onclick="steOperator(10)">宸﹀緟鏈�</button> -<!-- <button class="item" onclick="steOperator(11)">宸︽惉绉�</button>--> -<!-- <button class="item" onclick="steOperator(12)">鍙虫惉绉�</button>--> -<!-- <button class="item" onclick="steOperator(13)">宸﹀厖鐢�</button>--> -<!-- <button class="item" onclick="steOperator(14)">鍙冲厖鐢�</button>--> - <button class="item" onclick="steOperator(20)">鏂紑鍏呯數妗�</button> - <button class="item" onclick="steOperator(21)">灏忚溅鍏呯數缁撴潫</button> -<!-- <button class="item" onclick="steOperator(14)">宸︾洏鐐�</button>--> -<!-- <button class="item" onclick="steOperator(15)">鍙崇洏鐐�</button>--> - <button class="item" onclick="steOperator(16)">浠诲姟瀹屾垚</button> - - </div> - </fieldset> - </div> - </div> - <!-- 绌挎杞︽棩蹇楄緭鍑� --> - <div class="ste-output-board"> - <textarea id="ste-output"></textarea> + <!-- 璁惧浠诲姟鎿嶄綔 --> + <div class="task-operator"> + <fieldset> + <legend>鎵嬪姩鎿嶄綔</legend> + <div class="button-group"> +<!-- <button class="item" onclick="steOperator(99)">鑱旀満</button>--> +<!-- <button class="item" onclick="steOperator(100)">鑴辨満</button>--> +<!-- <button class="item" onclick="steOperator(1)">鍚戝乏鍑哄簱</button>--> +<!-- <button class="item" onclick="steOperator(2)">鍚戝彸鍑哄簱</button>--> +<!-- <button class="item" onclick="steOperator(3)">浠庡乏鍏ュ簱</button>--> +<!-- <button class="item" onclick="steOperator(4)">浠庡彸鍏ュ簱</button>--> +<!-- <button class="item" onclick="steOperator(5)">宸︾Щ搴�</button>--> +<!-- <button class="item" onclick="steOperator(6)">鍙崇Щ搴�</button>--> +<!-- <button class="item" onclick="steOperator(8)">鍘诲乏绔�</button>--> +<!-- <button class="item" onclick="steOperator(7)">鍘诲彸绔�</button>--> +<!-- <button class="item" onclick="steOperator(10)">宸﹀緟鏈�</button>--> +<!-- <button class="item" onclick="steOperator(9)">鍙冲緟鏈�</button>--> + <!-- <button class="item" onclick="steOperator(11)">宸︽惉绉�</button>--> + <!-- <button class="item" onclick="steOperator(12)">鍙虫惉绉�</button>--> +<!-- <button class="item" onclick="steOperator(13)">宸﹀厖鐢�</button>--> +<!-- <button class="item" onclick="steOperator(14)">鍙冲厖鐢�</button>--> +<!-- <button class="item" onclick="steOperator(17)">鏂紑鍏呯數</button>--> + <!-- <button class="item" onclick="steOperator(14)">宸︾洏鐐�</button>--> + <!-- <button class="item" onclick="steOperator(15)">鍙崇洏鐐�</button>--> +<!-- <button class="item" onclick="steOperator(16)">浠诲姟瀹屾垚</button>--> + + </div> + </fieldset> </div> + + </div> + <!-- 绌挎杞︽棩蹇楄緭鍑� --> + <div class="ste-output-board"> + <textarea id="ste-output"></textarea> </div> </div> +</div> <div id="ste-detl" style="display: none"> <div> @@ -191,7 +190,7 @@ <button class="form-button" id="save">淇濆瓨</button> <button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button> </div> - </di> + </div> </div> </body> </html> -- Gitblit v1.9.1