From 95db3e96a9465f137fdf16540e0c5985752894c2 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期二, 09 四月 2024 14:27:33 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 233 insertions(+), 0 deletions(-) diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java new file mode 100644 index 0000000..9197e0b --- /dev/null +++ b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java @@ -0,0 +1,233 @@ +package com.mes.service; + +import com.mes.common.PlcTools.S7control; +import com.mes.entity.GlassInfo; +import com.mes.entity.DownStorageCageDetails; +import com.mes.entity.device.PlcParameterObject; +import com.mes.mapper.SelectInfo; +import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Data +@Service +public class DownGlassCacheLogic { + @Autowired + private SelectInfo selectInfo; + + /** + * @param Number + * //璇嗗埆閫昏緫 涓嶄氦浜� + */ + + public void identify(String Number){ + //鏌ヨ浠诲姟 + PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1); + String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+""; + boolean isexist=isExist(Number); + if (isexist) { + //瀛樺湪閫昏緫 1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪 + //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1); + }else { + //涓嶅瓨鍦ㄩ�昏緫 1.鍥炲PLC涓嶅瓨鍦� + //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2); + } + } + //涓嬬墖鍓嶇悊鐗� + public static final String RESULT_IN = "1"; + public static final String RESULT_OUT = "2"; + public static final String RESULT_IN_OUT = "3"; + + public void process() { + String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + ""; + String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + ""; + + // 杩涚墖璇锋眰 + if (RESULT_IN.equals(result)) { + processInto(number); + } + // 鍑虹墖璇锋眰 + else if (RESULT_OUT.equals(result)) { + processOut(); + } + // 杩涘嚭鐗囪姹� + else if (RESULT_IN_OUT.equals(result)) { + // 鍏堝嚭鍚庤繘 + if (!processOut()) { + processInto(number); + } + } + } + + + /** + * @param Number + * @return + * //涓嬬墖鍓嶇悊鐗� 杩� + */ + + public boolean processInto(String Number){ + //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠� + GlassInfo GlassInfo=selectInfo.SelectGlassId(Number); + PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; + //瀛樺湪姝ょ幓鐠冪紪鍙� + if(GlassInfo!=null){ + //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿 + List<DownStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth()); + //绌烘爡鏍煎彿 + if (list.size()==0) { + list=selectInfo.SelectCacheLeisure(); + } + //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙� + if(list.size()==0){ + list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth()); + } + if(list.size()>0){ + //瀛樺湪绌烘牸 + //1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級 + //2.鍥炲 1杩涚墖 + DownStorageCageDetails item=list.get(0); + selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1",GlassInfo.getWidth(),GlassInfo.getHeight(),GlassInfo.getFilmsid(),GlassInfo.getThickness(),GlassInfo.getFlowcardid()); + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1); + return true; + } + + }else{ + // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず + } + //杩斿洖缁撴灉 + return false; + } + //鐞嗙墖 鍑� + public boolean processOut(){ + //鏌ヨ浠诲姟 + String G06=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+""; + String G11=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+""; + String G13=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+""; + PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; + List<DownStorageCageDetails> list=selectInfo.SelectCacheOut(); + //鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛� + boolean isOut=true; + if (list.size()>0&&isOut) { + DownStorageCageDetails item=list.get(0); + // + if(G06=="0"&&G11=="1"){ + //鍑哄埌 G06 + + selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId()); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); + return true; + }else if(G06=="1"&&G11=="0"){ + //鍑哄埌 G11 + + selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId()); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); + return true; + }else if(G06=="0"&&G11=="0"){ + //閮藉厑璁� G04/G05 涓婁竴鐗囨槸鍚﹀拰姝ょ墖鐜荤拑灏哄灏哄鐩稿悓 + String endcell="06"; + String SendEndcell="1"; + boolean If_=false; + GlassInfo glassInfo06= selectInfo.SelectLastOutCacheInfo("06"); + GlassInfo glassInfo11= selectInfo.SelectLastOutCacheInfo("11"); + GlassInfo glassInfo13= selectInfo.SelectLastOutCacheInfo("13"); + if(glassInfo06!=null&&glassInfo11.getWidth()==item.getWidth()&&glassInfo06.getHeight()==item.getHeight()){ + endcell="11"; + SendEndcell="2"; + }else if(item.getHeight()>=3440&&item.getWidth()>=1440){ + //鍏朵粬鏉′欢浜哄伐澶勭悊 + + } + + selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId()); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); + return true; + } + } + //杩斿洖缁撴灉 + return false; + } + + /** + * @param Number + * //纾ㄨ竟 涓嶄氦浜� 鐞嗙墖鍜岀(杈规満鑷繁浜や簰 + */ + + public void processMb(String Number){ + //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠� + GlassInfo GlassInfo=selectInfo.SelectGlassId(Number); + PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; + if(GlassInfo!=null){ + //鍙戦�佷换鍔� ID 闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛� + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); + } + //杩斿洖缁撴灉 + } + + + /** + * @param Number + * @return + * 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹� + */ + public boolean selectMessageId(String Number){ + //鏌ヨ鏄惁瀛樺湪 + + GlassInfo GlassInfo=selectInfo.SelectGlassId(Number); + if(GlassInfo==null){ + //杩斿洖 涓嶅瓨鍦� + return false; + + } + //杩斿洖 瀛樺湪 + return true; + } + + /** + * @param Number + * @return + * 鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹� + */ + + public boolean deleteMessageId(String Number){ + //鏌ヨ鏄惁瀛樺湪 + GlassInfo GlassInfo=selectInfo.SelectGlassId(Number); + if(GlassInfo==null){ + //杩斿洖 涓嶅瓨鍦� + return false; + } + //杩斿洖 瀛樺湪 + return true; + } + + + + /** + * @param Number + * @return + * //鏄惁瀛樺湪姝ょ紪鍙风幓鐠� + */ + public boolean isExist(String Number){ + //鏌ヨ鏄惁瀛樺湪 + GlassInfo GlassInfo=selectInfo.SelectGlassId(Number); + if(GlassInfo==null){ + //杩斿洖 涓嶅瓨鍦� + return false; + } + //杩斿洖 瀛樺湪 + return true; + } + +} + -- Gitblit v1.8.0