From e6f7bba9aa14c8ff3fc154ccd5a26eb3c3f3d6f9 Mon Sep 17 00:00:00 2001
From: zhangyong <517047165@qq.com>
Date: 星期日, 17 九月 2023 16:10:26 +0800
Subject: [PATCH] 增加PLC读写Byte类型数据
---
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 187 +++++++++++++++++++++-------------------------
1 files changed, 86 insertions(+), 101 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index b1001ea..942e6dd 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -19,6 +19,8 @@
// @GetMapping("/all2")
public Result selectout(String orderid) {
+
+ spianMapper.UpdatetaskOut(); //瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰皟搴︿换鍔�
// 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
List<String> adddresslist = new ArrayList<>();
adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
@@ -28,6 +30,13 @@
List<Short> datas = new ArrayList<>();
// 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
StorageCage cageout = spianMapper.selectOut(orderid);
+ if(cageout==null){
+ return Result.success("200");
+ }
+
+
+
+
int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
int cell = cageout.getCell();// 鍑虹墖鏍煎彿
int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
@@ -41,10 +50,6 @@
if (tier == 2) {
// 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
// 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
- spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
-
-
-
datas.add((short) prcid);
datas.add((short) 1000);
datas.add((short) 1);
@@ -52,9 +57,12 @@
spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success(datas);
+ spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ return Result.success(datas);//缁撴潫
} else {
// 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
int state = spianMapper.selectGlassState(cage, cell);
@@ -68,9 +76,12 @@
spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖");
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+ return Result.success(datas);//缁撴潫
+
} else {
// 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
if (cage < 6) {
@@ -83,34 +94,25 @@
ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
- spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
-
+
- // 鏇存崲鐜荤拑鐨勭瀛�
- spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
- spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+
// 濉叆璋冩嫧鏁版嵁
datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
datas.add((short) prcid2);
datas.add((short) 2);
datas.add((short) 1);
+ // 鏇存崲鐜荤拑鐨勭瀛�
+ spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+ spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+ spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+ spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
// 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 2);//瀹屾垚浠诲姟
- datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
- // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁
- datas.add((short) prcid);
- datas.add((short) 1000);
- datas.add((short) 1);
- datas.add((short) 1);
- spianMapper.Inserttask(2, 0,cageout.getId(),1000 );//鏂板鍑虹墖浠诲姟
- spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
- S7control.getinstance().WriteWord(adddresslist, datas);
- // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ return Result.success(cagecell); //缁撴潫
} else {// 绗煎瓙鍙峰ぇ浜�5鏃�
StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
@@ -128,25 +130,14 @@
datas.add((short) 2);
datas.add((short) 1);
spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
- // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹�
spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+ spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
// 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 2);//瀹屾垚浠诲姟
- datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
- // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�
- // 濉叆鍑虹墖鏁版嵁
- datas.add((short) prcid);
- datas.add((short) 1000);
- datas.add((short) 1);
- datas.add((short) 1);
- spianMapper.Inserttask(2, 0,cageout.getId(),1000 );//鏂板鍑虹墖浠诲姟
- spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹嚭鐗�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ return Result.success(cagecell); //缁撴潫
}
@@ -167,9 +158,11 @@
int tiers;
int prctier;
-
+ spianMapper.Updatetask(1, 0);//瀹屾垚浠诲姟
Glass glasslist = spianMapper.selectGlass(glassid);
-
+ if(glasslist==null){
+ return (300);
+ }
double widths = glasslist.getWidth();
Short orderids = glasslist.getOrderId();
@@ -198,11 +191,12 @@
tiers = cages1.getTier();// 鍐呭鐗�
cells = cages1.getCell();// 鏍煎瓙鍙�
prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
- spianMapper.Inserttask(0, 0, 1000, ids);//鏂板浠诲姟
+
if (glasslist == null) {
return (300);
}
+ spianMapper.Inserttask(0, 0, 1000, ids);//鏂板浠诲姟
prctier = spianMapper.selectsum(cage1, cells);// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁�
// 鏈夊悎閫傜┖鏍兼椂杩涚墖
if (cages > 1 && cages1.getTier() != null) {
@@ -214,9 +208,10 @@
// 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 1);
spianMapper.UpdataAddCage1(widths, cage1, cells);//鍑忓皯鏍煎瓙瀹藉害
- spianMapper.Updatetask(1, 0);//瀹屾垚浠诲姟
+
S7control.getinstance().WriteWord(adddresslist, datas);
-
+ S7control.getinstance().WriteWord("DB106.10", (short)0); //杩涚墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.8", (short)1); //杩涚墖杞︾姸鎬佹敼鎴愬繖纰�
return (200);
}
}
@@ -227,7 +222,7 @@
}
// @GetMapping("/all2")
- public Result selectout2(String glassid) {
+ public Short selectout2(String glassid) {
// 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
List<String> adddresslist = new ArrayList<>();
adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
@@ -237,7 +232,14 @@
List<Short> datas = new ArrayList<>();
// 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
StorageCage cageout = spianMapper.selectOut2(glassid);
- int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
+ if(cageout==null){
+ return (300);
+ }
+
+
+
+
+ int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
int cell = cageout.getCell();// 鍑虹墖鏍煎彿
int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
int prcid = cageout.getPrcId();// prcid
@@ -250,10 +252,6 @@
if (tier == 2) {
// 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
// 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
- spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
-
-
-
datas.add((short) prcid);
datas.add((short) 1000);
datas.add((short) 1);
@@ -261,9 +259,12 @@
spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success(datas);
+ spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ return (200);//缁撴潫
} else {
// 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
int state = spianMapper.selectGlassState(cage, cell);
@@ -277,54 +278,49 @@
spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖");
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+ return (200);//缁撴潫
+
} else {
// 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
if (cage < 6) {
StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
if (cagecell == null) {
- return Result.success(cagecell);
+ return (300);
}
// 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
- spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+
- // 鏇存崲鐜荤拑鐨勭瀛�
- spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
- spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+
// 濉叆璋冩嫧鏁版嵁
datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
datas.add((short) prcid2);
datas.add((short) 2);
datas.add((short) 1);
+ // 鏇存崲鐜荤拑鐨勭瀛�
+ spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+ spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+ spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+ spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
// 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 2);//瀹屾垚浠诲姟
- datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
- // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁
- datas.add((short) prcid);
- datas.add((short) 1000);
- datas.add((short) 1);
- datas.add((short) 1);
- spianMapper.Inserttask(2, 0,cageout.getId(),1000 );//鏂板鍑虹墖浠诲姟
- spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
- S7control.getinstance().WriteWord(adddresslist, datas);
- // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ return (200); //缁撴潫
} else {// 绗煎瓙鍙峰ぇ浜�5鏃�
StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
if (cagecell == null) {
- return Result.success(cagecell);
+ return (300);
}
// 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
@@ -337,28 +333,16 @@
datas.add((short) 2);
datas.add((short) 1);
spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
- // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹�
spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+ spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
// 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 2);//瀹屾垚浠诲姟
- datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
- // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�
- // 濉叆鍑虹墖鏁版嵁
- datas.add((short) prcid);
- datas.add((short) 1000);
- datas.add((short) 1);
- datas.add((short) 1);
- spianMapper.Inserttask(2, 0,cageout.getId(),1000 );//鏂板鍑虹墖浠诲姟
- spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹嚭鐗�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
- S7control.getinstance().WriteWord(adddresslist, datas);
- spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
- return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+ S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+ S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+ S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+ return (200);//缁撴潫
}
-
}
}
@@ -383,3 +367,4 @@
// }
}
+
--
Gitblit v1.8.0