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 | 50 ++++++++++++++++++++++++++++++--------------------
1 files changed, 30 insertions(+), 20 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 2ba0640..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
@@ -14,6 +14,9 @@
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;
@@ -47,33 +50,41 @@
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,machine);
- }else if ("3".equals(taskRequestTypeValue)) {
- log.info("2銆佸畬鎴愯姹傦紝鎵ц瀹屾垚浠诲姟");
- plcReport(glassIdeValue, confirmationWrodAddress, currentSlot,machine);
+ 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, Machine machine) {
+ public void plcRequest(PlcParameter mesSend, Machine machine) {
//鏌ユ壘鎵撴爣鏈轰换鍔�
Tasking tasking=taskingService.startMachineTask(machine);
if(tasking!=null&&"寮�宸�".equals(machine.getState())){//鏈変换鍔�
@@ -83,24 +94,23 @@
}
}
- public void plcReport(String glassIdeValue, String confirmationWrodAddress, String currentSlot, Machine machine) {
+ public void plcReport(PlcParameter mesConfirm, Machine machine) {
//鏌ユ壘鎵撴爣鏈哄伐浣滅殑浠诲姟
//鏌ユ壘鎵撴爣鏈轰换鍔�
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();
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