From 8223485b2f6c909de81924e107b1e268aa04bd41 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 30 六月 2024 22:59:26 +0800
Subject: [PATCH] 1、大理片笼进片逻辑调整:a、将扫描id后进生成任务信息,不执行卧转立进片命令; b、进片车空闲扫描,如果存在卧转立有满片的直接启动, 2、下片任务新增任务向plc发送任务信息 3、对外提供手工生成人工下片任务
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 44 ++++++++++++++++++++++++++++++--------------
1 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index e2d0aa2..14c5322 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -20,6 +20,7 @@
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.tools.S7control;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -75,16 +76,18 @@
public void plcHomeEdgTask() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String requestWord = plcParameterObject.getPlcParameter("RequestWord").getValue();
- String glassIdeValue = plcParameterObject.getPlcParameter("G04ID").getValue();
- String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue();
+ String glassIdeValue = plcParameterObject.getPlcParameter("requestID").getValue();
//A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环 鏃犳暟鎹浆int寮傚父
- String out08Glassstate = plcParameterObject.getPlcParameter("A08_glass_status").getValue();
- String out10Glassstate = plcParameterObject.getPlcParameter("A10_glass_status").getValue();
- String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
- String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue();
+ String out06Glassstate = plcParameterObject.getPlcParameter("glassStatus06").getValue();
+ String out08Glassstate = plcParameterObject.getPlcParameter("glassStatus08").getValue();
+ String out11Glassstate = plcParameterObject.getPlcParameter("glassStatus11").getValue();
+ String out13Glassstate = plcParameterObject.getPlcParameter("glassStatus13").getValue();
+ String confirmationWrodValue = plcParameterObject.getPlcParameter("confirmationWord").getValue();
+ String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress();
+ String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue();
- log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09:{}銆丄10:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
- requestWord, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot);
+ log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
+ requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot);
if ("0".equals(requestWord)) {
if ("0".equals(confirmationWrodValue)) {
@@ -208,9 +211,6 @@
downStorageCageDetailsService.save(downStorageCageDetails);
// 鐢熸垚杩涚墖浠诲姟
initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
- //log.info("5銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
-// S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
-// log.info("6銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
}
public Boolean outTo(String glassStatus06, String glassStatus11, String glassStatus13, String glassId) {
@@ -419,7 +419,7 @@
}
}
- private Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) {
+ public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) {
//鎸夌幓鐠僫d鑾峰彇鐜荤拑淇℃伅
DownStorageCageDetails downStorageCageDetails = null;
if (glassId.equals(cageDetails.getGlassId())) {
@@ -468,7 +468,7 @@
return initDownGlassTask(glassInfo, downStorageCageDetails.getSlot(), endCell, taskType);
}
- private Boolean initDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
+ public Boolean initDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
log.info("鐜荤拑{}鐢熸垚杩涚墖浠诲姟", glassInfo.getGlassId());
DownGlassTask downGlassTask = new DownGlassTask();
downGlassTask.setStartCell(startCell);
@@ -480,6 +480,22 @@
downGlassTask.setFlowCardId(glassInfo.getFlowCardId());
downGlassTask.setTaskStauts(0);
downGlassTask.setCreateTime(new Date());
- return downGlassTaskService.save(downGlassTask);
+ downGlassTaskService.save(downGlassTask);
+ //鍚憄lc鍙戦�佸懡浠�
+ return sendMessageToPlc((int) glassInfo.getWidth(), (int) glassInfo.getHeight(), (int) glassInfo.getThickness(),
+ startCell, endCell, taskType);
+ }
+
+ private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell, int taskType) {
+ S7control s7control = S7object.getinstance().plccontrol;
+ PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+ s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), (short) width * 10);
+ s7control.writeWord(plcMesObject.getPlcParameter("Glass_height").getAddress(), (short) height * 10);
+ s7control.writeWord(plcMesObject.getPlcParameter("Glass_thickness").getAddress(), (short) thickness * 10);
+ s7control.writeWord(plcMesObject.getPlcParameter("Start_cell").getAddress(), (short) startCell);
+ s7control.writeWord(plcMesObject.getPlcParameter("End_cell").getAddress(), (short) endCell);
+ s7control.writeWord(plcMesObject.getPlcParameter("task_type").getAddress(), (short) taskType);
+ s7control.writeWord(plcMesObject.getPlcParameter("confirmationWord").getAddress(), (short) 1);
+ return Boolean.TRUE;
}
}
--
Gitblit v1.8.0