From b092806a662b99310cdb050292de2721ba06acd9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 19 十一月 2024 14:43:18 +0800
Subject: [PATCH] 增加测量台直通模式,增加手动参数界面的JSON文件
---
springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java | 192 ++++++++++++++++++++++++++++++++---------------
1 files changed, 130 insertions(+), 62 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
index f2a2366..a1e0c70 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
@@ -9,6 +9,7 @@
import com.example.springboot.component.S7control;
import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.AlbaniaMapper;
import com.google.common.primitives.Bytes;
@@ -48,17 +49,21 @@
} else {
// 鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗�
- if (glassInfo.getThickness() >= 15) {
+ if (glassInfo.getThickness() > 14) {
cage = albaniaMapper.SelectNewCell(3, 5);
} else {
cage = albaniaMapper.SelectNewCell(0, 4);
// System.out.println(cage + "鐞嗙墖绗煎垽鏂�");
}
+ //褰撳皬鐗囩瀛愪笉澶燂紝鍒欑鍚堟潯浠剁殑鍙互杩涘叆澶х墖绗�
+ if(cage==null&&glassInfo.getWidth()>= 1500&&glassInfo.getThickness() > 4){
+ cage = albaniaMapper.SelectNewCell(3, 5);
+ }
// 褰撹繑鍥炵殑鏍煎瓙鍙蜂负绌烘椂,杩斿洖400绗煎瓙宸叉弧
if (cage != null) {
albaniaMapper.AddCage(cage.getId(), glassid, width, height, 1, glasstype, 0, thickness,
- glassfilms.getFilms(),glassfilms.getFlowcard(),glassfilms.getMateid());
+ glassfilms.getFilms(), glassfilms.getFlowcard(), glassfilms.getMateid());
Mestast(glassid, 1001, cage.getId(), 1, "MESID1", 1);
System.out.println("浠诲姟鍙戦�佺幓鐠僫d:" + glassid + "璧峰浣嶇疆:" + 1001 + "鏍煎瓙鍙�:" + cage.getId() + "鍚姩:" + 1);
albaniaMapper.UpdateStorage(width, height, cage.getId());
@@ -72,12 +77,43 @@
return (200);
}
- //琛ュ厖鍑虹墖
+
+ // 琛ュ厖鍑虹墖
public Short mateOut() {
double carwidth = -300;
- list<StorageTask> glassmate = albaniaMapper.SelectMateOut();
+
+ List<StorageTask> glassmate = albaniaMapper.SelectOutTask();
+ String type=glassmate.get(0).getTaskType();
+ if (glassmate.size() == 0) {
+ return (400);
+ } else {
+ for (int i = 0; i < glassmate.size(); i++) {
+ GlassInfo glass = albaniaMapper.SelectGlassInfo(glassmate.get(i).getGlasstype());
+ carwidth = carwidth + glass.getWidth() + 300;
+ if (carwidth >= 4300&&type!=glassmate.get(i).getTaskType()) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩
+ return (200);
+ } else {
+ //澧炲姞涓�鏉′换鍔¤褰�
+ albaniaMapper.Inserttask(1, 0, Integer.parseInt(glassmate.get(i).getShelfRack()), 2001,
+ glassmate.get(i).getGlassId(), glassmate.get(i).getGlasstype(),
+ glassmate.get(i).getFlowcard(), glassmate.get(i).getMateid(), glassmate.get(i).geTier());
+ //瀹屾垚鍑虹墖闃熷垪鐨勪换鍔�
+ albaniaMapper.UpdateOutTask(glassmate.get(i).getId());
+ //鍙戦�乸lc浠诲姟
+ Mestast(glassmate.get(i).getGlassId(),
+ Integer.parseInt(glassmate.get(i).getShelfRack()), 2001, 0, "MESID" + (i + 1),i + 1);
+ System.out.println("鍙戦�佸嚭鐗囬槦鍒楅厤鐗囦换鍔�:"+glassmate.get(i).getShelfRack());
+ }
+ }
+ // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩
+ MestoPlc();
+
+ }
return (200);
}
+
// 鍑虹墖
public Short selectout(int line) {
GlassInfo glassmate = new GlassInfo();
@@ -85,58 +121,69 @@
StorageCage glass = new StorageCage();
int glassend = 0;
double carwidth = -300;
- method = albaniaMapper.SelectMethod(line);
- if (method == null) {
- return (400);
- }
double width = 0;
for (int i = 1; i <= 7; i++) {
+ method = albaniaMapper.SelectMethod(line);
+ if (method == null) {
+ return (400);
+ }
// 濡傛灉涓嶆槸鐩撮�氭ā寮忓彧鍑烘湁瀹屾暣閰嶇墖鐨勬祦绋嬪崱
if (method.getMethod() == 0) {
// glassmate= albaniaMapper.SelectOutGlass(1);
- //鍒ゆ柇鏈夋暟閲忕殑閰嶇墖id
+ // 鍒ゆ柇鏈夋暟閲忕殑閰嶇墖id
List<GlassInfo> peipianid = albaniaMapper.SelectOutGlass3(method.getFlowcard());
if (peipianid.size() == 0) {
- System.out.println("peipianid:"+peipianid);
+ System.out.println("peipianid:" + peipianid);
return (400);
} else {
for (int j = 0; j < peipianid.size(); j++) {
// 鍒ゆ柇閰嶇墖瀹藉害鏄惁澶熶笂澶ц溅
- // GlassInfo glasswidth = albaniaMapper.SelectOutGlass6(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid());
+ // GlassInfo glasswidth =
+ // albaniaMapper.SelectOutGlass6(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid());
// if (glasswidth.getWidth() <= 4300) {
- //鏄惁鏈夎冻澶熺殑搴撳瓨鏁伴噺
- List<String> peipiancage = albaniaMapper.SelectOutGlass4(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid());
- //鏄惁鏈夎冻澶熺殑鍙嚭鐗囨暟閲�
- List<String> peipiancage2 = albaniaMapper.SelectOutGlass8(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid());
- // System.out.println("peipiancage:"+peipiancage+peipianid.get(j).getMateid());
- // System.out.println("peipiancage2:"+peipiancage2);
- if (!peipiancage.contains("涓嶈冻")&&!peipiancage2.contains("涓嶈冻")) {
- List<GlassInfo> chupian = albaniaMapper.SelectOutGlass7(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid());
- for (int k = 0; k < chupian.size(); k++) {
- glass = albaniaMapper.SelectCageGlass(chupian.get(k).getGlasstype());
- carwidth= carwidth+glass.getGlassWidth()+300;
- if (carwidth<=4300) {
- // 鍙戦�侀厤鐗囨暟鎹�
- // Mestast(chupian.get(k).getGlassid(), glass.getId(), 2001, 0, "MESID" + (k+1), k+1);
- albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier());
- storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1
- albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(),
- chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier());
- }else {
- albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier());
- storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1
- albaniaMapper.InsertOutTask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(),
- chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier());
- }
-
+ // 鏄惁鏈夎冻澶熺殑搴撳瓨鏁伴噺
+ List<String> peipiancage = albaniaMapper.SelectOutGlass4(peipianid.get(j).getFlowcard(),
+ peipianid.get(j).getMateid());
+ // 鏄惁鏈夎冻澶熺殑鍙嚭鐗囨暟閲�
+ List<String> peipiancage2 = albaniaMapper.SelectOutGlass8(peipianid.get(j).getFlowcard(),
+ peipianid.get(j).getMateid());
+ // System.out.println("peipiancage:"+peipiancage+peipianid.get(j).getMateid());
+ // System.out.println("peipiancage2:"+peipiancage2);
+ if (!peipiancage.contains("涓嶈冻") && !peipiancage2.contains("涓嶈冻")) {
+ List<GlassInfo> chupian = albaniaMapper.SelectOutGlass7(peipianid.get(j).getFlowcard(),
+ peipianid.get(j).getMateid());
+ for (int k = 0; k < chupian.size(); k++) {
+ glass = albaniaMapper.SelectCageGlass(chupian.get(k).getGlasstype());
+ carwidth = carwidth + glass.getGlassWidth() + 300;
+ if (carwidth <= 4300) {
+ // 鍙戦�侀厤鐗囨暟鎹�
+ Mestast(chupian.get(k).getGlassid(), glass.getId(), 2001, 0, "MESID" + (k + 1),
+ k + 1);
+ albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(),
+ chupian.get(k).getMateid(), chupian.get(k).getTier());
+ storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1
+ albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(),
+ chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(),
+ chupian.get(k).getMateid(), chupian.get(k).getTier());
+ } else {
+ albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(),
+ chupian.get(k).getMateid(), chupian.get(k).getTier());
+ storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1
+ //澧炲姞鍑虹墖闃熷垪鐨勪换鍔�
+ albaniaMapper.InsertOutTask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(),
+ chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(),
+ chupian.get(k).getMateid(), chupian.get(k).getTier());
}
- // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩
- return (200);// 缁撴潫
+
}
+ // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),(short) 1);// 鍑虹墖浠诲姟鍚姩
+ MestoPlc();
+ return (200);// 缁撴潫
+ }
// }
- // else {
- // continue;
+ // else {
+ // continue;
// }
}
System.out.println("鏈湁瀹屾暣閰嶇墖");
@@ -145,33 +192,39 @@
} else {
// 鐩撮�氭ā寮忔椂鎸夐『搴忕洿鍑�
- glassmate= albaniaMapper.SelectOutGlass(1);
- // glassmate = albaniaMapper.SelectOutGlass2(1);
+ // glassmate = albaniaMapper.SelectOutGlass(1);
+ glassmate = albaniaMapper.SelectOutGlass2(1);
+ System.out.println("glassmate:"+glassmate);
// // 鑾峰彇鐩撮�氭ā寮忔渶鍚庝竴鍧�
// glassend = albaniaMapper.SelectOutGlassend(1);
-
+
}
System.err.println("鍑虹墖:" + glassmate);
if (glassmate == null && i > 1) {
// 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩
+ // 鍑虹墖浠诲姟鍚姩
+ MestoPlc();
System.out.println("鍑哄畬浠诲姟:1,浠诲姟鐘舵��:0,璧峰:" + glass.getId() + ",鐩爣" + "2001");
return (200);// 缁撴潫
}
if (glassmate == null) {
// 鏈鍙栦换鍔�
System.out.println("鏈鍙栦换鍔�:" + i);
- return (400);
+ glassmate = albaniaMapper.SelectOutGlass2(1);
+ if(glassmate==null){
+ System.out.println("glassmate绌�");
+ return (400);
+ }
} else {
glass = albaniaMapper.SelectCageGlass(glassmate.getGlasstype());
- System.out.println("glassmate:" + glassmate + "glass:" + glass);
+ System.out.println("glassmate:" + glassmate + "glass:" + glass);
if (glass != null) {
// 鍙戦�佷换鍔′箣鍓嶅垽鏂溅涓婄殑鍓╀綑瀹藉害鏄惁澶т簬姝ょ幓鐠�
width = width + glassmate.getWidth() + 300;
// 澶т簬杞︿笂绌轰綑瀹藉害鏃舵彁鍓嶅彂閫佸嚭鐗囧惎鍔�
if (width > 4300) {
// 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩
+ MestoPlc();
return (200);// 缁撴潫
}
// 鍙戦�侀厤鐗囨暟鎹�
@@ -179,12 +232,14 @@
albaniaMapper.AddFinishNumber(glassmate.getFlowcard(), glassmate.getMateid(), glassmate.getTier());
storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1
albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, glassmate.getGlassid(),
- glassmate.getGlasstype(), glass.getFlowcard(), glassmate.getMateid(), glassmate.getTier());
- // if (glassmate.getTier() == glassmate.getId() || glassmate.getTier() == glassend|| method.getMethod() == 1) {// 褰撻厤鐗囨暟閲忕瓑浜庢垚鍝佸皬鐗囨�荤墖鏁版椂
- // // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
- // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩
- // System.out.println("浠诲姟绫诲瀷:1,浠诲姟鐘舵��:0,璧峰:" + glass.getId() + ",鐩爣" + "2001");
- // return (200);// 缁撴潫
+ glassmate.getGlasstype(), glass.getFlowcard(), glassmate.getMateid(), glassmate.getTier());
+ // if (glassmate.getTier() == glassmate.getId() || glassmate.getTier() ==
+ // glassend|| method.getMethod() == 1) {// 褰撻厤鐗囨暟閲忕瓑浜庢垚鍝佸皬鐗囨�荤墖鏁版椂
+ // // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),
+ // (short) 1);// 鍑虹墖浠诲姟鍚姩
+ // System.out.println("浠诲姟绫诲瀷:1,浠诲姟鐘舵��:0,璧峰:" + glass.getId() + ",鐩爣" + "2001");
+ // return (200);// 缁撴潫
// }
} else {
@@ -248,20 +303,14 @@
// 涓嬪彂鐞嗙墖浠诲姟
public void Mestast(String glassid, int MESToPLCStart1, int MESToPLCTarget1, int MESToPLC, String address, int i) {
- // System.out.println("涓嬪彂鐞嗙墖浠诲姟鏁版嵁锛�");
- // System.out.println("鐜荤拑 ID: " + glassid);
- // System.out.println("璧峰浣嶇疆: " + MESToPLCStart1);
- // System.out.println("鐩爣浣嶇疆: " + MESToPLCTarget1);
- // System.out.println("浠诲姟绫诲瀷: " + MESToPLC);
- // System.out.println("鍦板潃: " + address);
- // System.out.println("绱㈠紩: " + i);
S7control.getinstance().writeString(plcmes.getPlcParameter(address).getAddress(), glassid);// 鐜荤拑id
S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart" + i).getAddress(),
(short) MESToPLCStart1);// 璧峰浣嶇疆
S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget" + i).getAddress(),
(short) MESToPLCTarget1);// 鐩爣浣嶇疆
if (MESToPLC != 0) {
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) MESToPLC);// mes鐞嗙墖浠诲姟绫诲瀷
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) MESToPLC);// mes鐞嗙墖浠诲姟绫诲瀷
+ MestoPlc();
}
}
@@ -272,4 +321,23 @@
return listbool;
}
+ public void MestoPlc() {
+ while (true) {
+ String currentValue = plcmes.getPlcParameter("MESToPLC").getValue();
+ // 妫�鏌� MESToPLC 鐨勫�兼槸鍚︿负 0
+ if (currentValue.equals("1")) {
+ System.out.println("鍙戦�佸惎鍔ㄥ瓧鐜板湪涓�1,鍋滄寰幆鍐欏叆");
+ break; // 閫�鍑哄惊鐜�
+ }
+ // 濡傛灉涓嶄负 1锛岀户缁啓鍏�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),(short) 1);// 浠诲姟鍙戦�佸瓧
+ System.out.println("缁х画鍐欏叆 MESToPLC,褰撳墠鍊�:" + currentValue);
+ try {
+ Thread.sleep(100); // 渚嬪姣忕妫�鏌ヤ竴娆�
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0