From 9973bb6887f668cd91f1c4a0b8a7d05f9bd229ad Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期六, 12 十月 2024 14:57:21 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/JiuMuMES
---
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java | 98 ++++++++++++++++++++++++++----------------------
1 files changed, 53 insertions(+), 45 deletions(-)
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java
index eefccdb..9029a4b 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/MarkingTask.java
@@ -1,15 +1,22 @@
package com.mes.job;
import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.S7object;
import com.mes.device.PlcParameterObject;
import com.mes.md.entity.GlassInfo;
+import com.mes.md.entity.Machine;
import com.mes.md.entity.Tasking;
import com.mes.md.entity.WorkTaskDetail;
import com.mes.md.mapper.GlassInfoMapper;
+import com.mes.md.mapper.MachineMapper;
import com.mes.md.mapper.TaskingMapper;
import com.mes.md.mapper.WorkTaskDetailMapper;
+import com.mes.md.service.TaskingService;
+import com.mes.service.ModbusTcp;
+import com.mes.service.PlcAgreement;
+import com.mes.service.PlcParameter;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
@@ -34,75 +41,76 @@
public static String engineerId = "";
@Autowired
TaskingMapper taskingMapper;
+ @Autowired
+ MachineMapper machineMapper;
+ @Autowired
+ TaskingService taskingService;
// @Scheduled(fixedDelay = 1000)
- public void plcMarkingTask() {
+ public void plcMarkingTask(Long machineId) {
+ Machine machine=machineMapper.selectById(machineId);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
- String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
- String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
- String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue();
- String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
- String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue();
- if ("0".equals(taskRequestTypeValue)) {
- if ("0".equals(confirmationWrodValue)) {
+ ModbusTcp modbusTcp =new ModbusTcp(machine.getIp(),machine.getPort());
+ PlcAgreement plcAgreement=modbusTcp.getPlcAgreement("DB14.0");
+ PlcParameter plcRequest =plcAgreement.getPlcParameter(0);//璇锋眰瀛�
+ PlcParameter plcRequestID =plcAgreement.getPlcParameter(1);//璇锋眰ID
+ PlcParameter mesSend =plcAgreement.getPlcParameter(10);//鍙戦�佸瓧
+ PlcParameter mesSendID =plcAgreement.getPlcParameter(11);//鍙戦�両D
+
+ PlcParameter plcReport =plcAgreement.getPlcParameter(0);//姹囨姤瀛�
+ PlcParameter plcReportID =plcAgreement.getPlcParameter(1);//姹囨姤ID
+ PlcParameter mesConfirm =plcAgreement.getPlcParameter(10);//纭瀛�
+ PlcParameter mesConfirmID =plcAgreement.getPlcParameter(11);//纭ID
+ plcRequest.getReadValue();
+ if ("0".equals(plcRequest.getReadValue())) {
+ if ("0".equals(mesSend.getReadValue())) {
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屼笖鍙戦�佸瓧涓�0锛屼笉鎵ц浠诲姟");
return;
}
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢鍙戦�佸瓧鏀逛负0");
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 0);
+ mesSend.setWriteValue("0");
+ modbusTcp.write(mesSend);//鍚慞LC鍙戦��
return;
}
- if (!"0".equals(confirmationWrodValue)) {
+ if (!"0".equals(mesSend.getReadValue())) {
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓嶄负0锛屽皢鍙戦�佸瓧涓嶄负0锛岀洿鎺ョ粨鏉�");
return;
}
- if ("1".equals(taskRequestTypeValue)) {
- log.info("2銆佽繘鐗囪姹傦紝涓斿彂閫佸瓧涓�0锛屾墽琛屾墦鏍囦换鍔�");
- plcRequest(glassIdeValue, confirmationWrodAddress, currentSlot);
- }else if ("3".equals(taskRequestTypeValue)) {
- log.info("2銆佸畬鎴愯姹傦紝鎵ц瀹屾垚浠诲姟");
- plcReport(glassIdeValue, confirmationWrodAddress, currentSlot);
+ if ("1".equals(mesConfirm.getReadValue())&&"0".equals(mesConfirm.getReadValue())) {
+ log.info("2銆佹眹鎶ヨ姹傦紝涓旂‘璁ゅ瓧涓�0锛屽畬鎴愭墦鏍囦换鍔�");
+ plcReport(mesConfirm,machine);
+ }else if ("1".equals(plcRequest.getReadValue())) {
+ log.info("2銆佷换鍔¤姹傦紝鎵ц鍙戦�佷换鍔�");
+ plcRequest(mesSend,machine);
}
}
- public void plcRequest(String glassIdeValue, String confirmationWrodAddress, String currentSlot) {
+ public void plcRequest(PlcParameter mesSend, Machine machine) {
//鏌ユ壘鎵撴爣鏈轰换鍔�
- List<Tasking> taskings=taskingMapper.selectList(new MPJLambdaWrapper<Tasking>()
- .eq(Tasking::getState,"绾夸笂")
- .eq(Tasking::getCurrentCraft,"鎵撴爣"));
- if(!taskings.isEmpty()){//鏈変换鍔�
- Tasking tasking=taskings.get(0);
- if("绛夊緟".equals(tasking.getWorkState())){
- //鍙戦�佷换鍔�
- }else{
- log.info("褰撳墠浠诲姟鐘舵�侊細{}",tasking.getWorkState());
- }
+ Tasking tasking=taskingService.startMachineTask(machine);
+ if(tasking!=null&&"寮�宸�".equals(machine.getState())){//鏈変换鍔�
+ log.info("鍙戦�佷换鍔★細{}",tasking);
+ }else{
+ log.info("涓嶆弧瓒冲彂閫佹潯浠讹細{}",tasking);
}
}
- public void plcReport(String glassIdeValue, String confirmationWrodAddress, String currentSlot) {
+ public void plcReport(PlcParameter mesConfirm, Machine machine) {
//鏌ユ壘鎵撴爣鏈哄伐浣滅殑浠诲姟
//鏌ユ壘鎵撴爣鏈轰换鍔�
- List<Tasking> taskings=taskingMapper.selectList(new MPJLambdaWrapper<Tasking>()
- .eq(Tasking::getState,"绾夸笂")
- .eq(Tasking::getCurrentCraft,"鎵撴爣"));
- if(!taskings.isEmpty()){//鏈変换鍔�
- Tasking tasking=taskings.get(0);
- if("宸ヤ綔".equals(tasking.getWorkState())){
- //鍙戦�佸畬鎴�
-
- }else{
- log.info("褰撳墠鏃犲叡宸ヤ綔鐨勪换鍔★紝鏃犳晥姹囨姤瀹屾垚锛�");
- }
+ int finishCount=taskingService.finishMachineTask(machine);
+ if(finishCount>0){//鏁版嵁宸叉爣璁板畬鎴�
+ log.info("姝e父姹囨姤锛�");
+ }else{
+ log.info("褰撳墠鏃犲叡宸ヤ綔鐨勪换鍔★紝鏃犳晥姹囨姤瀹屾垚锛�");
}
}
- //@Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 1000)
public void markingTasks() {
JSONObject jsonObject = new JSONObject();
- List<Tasking> taskings=taskingMapper.selectList(new MPJLambdaWrapper<Tasking>()
- .eq(Tasking::getState,"绾夸笂")
- .eq(Tasking::getCurrentCraft,"鎵撴爣"));
- jsonObject.append("taskings", taskings);
-
+ Machine machine=machineMapper.selectById(11L);
+ List<Tasking> taskingList=taskingService.findMachineTask(machine);
+ jsonObject.append("taskingList", taskingList);
+ jsonObject.append("machine", machine);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("marking");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
--
Gitblit v1.8.0