From 376f9a04e2c2814d210e2c5177f0e27d115e1b5d Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 23 二月 2024 09:46:35 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue | 38
CanadaMes-ui/src/views/home/index.vue | 10
CanadaMes-ui/src/configuration/ManualJog.json | 4
springboot-vue3/src/main/java/com/example/springboot/component/PlchomeNew.java | 403 ++++++++++++++++
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java | 5
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 2
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java | 137 ++---
springboot-vue3/src/main/resources/JsonFile/PlcSign.json | 5
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 280 ++++++-----
springboot-vue3/src/main/resources/JsonFile/PlcState.json | 17
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 34
springboot-vue3/src/main/resources/JsonFile/PlcTest.json | 7
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 49 -
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java | 112 ++--
springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java | 314 +++++++++++++
15 files changed, 1,068 insertions(+), 349 deletions(-)
diff --git a/CanadaMes-ui/src/configuration/ManualJog.json b/CanadaMes-ui/src/configuration/ManualJog.json
index 40c659a..07ee2fa 100644
--- a/CanadaMes-ui/src/configuration/ManualJog.json
+++ b/CanadaMes-ui/src/configuration/ManualJog.json
@@ -274,7 +274,7 @@
[
{
"button": {
- "name": "A01琛岃蛋浼烘湇鍥為浂",
+ "name": "A01鍘熺偣璁板繂",
"value": 0,
"value2": 0,
"address": "DB10.0",
@@ -284,7 +284,7 @@
},
{
"button": {
- "name": "A02琛岃蛋浼烘湇鍥為浂",
+ "name": "A02鍘熺偣璁板繂",
"value": 0,
"value2": 0,
"address": "DB10.0",
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
index 2f3fa0f..302a3d5 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -201,18 +201,18 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
- setTimeout(() => {
- const reversedData = data.map(values => values.map(value => {
- return (!value || value === 1) ? 0 : 0 ;
- }));
+ // setTimeout(() => {
+ // const reversedData = data.map(values => values.map(value => {
+ // return (!value || value === 1) ? 0 : 0 ;
+ // }));
- const reversedJsonObject = { data: reversedData };
+ // const reversedJsonObject = { data: reversedData };
// 鎻愪氦鏁版嵁鍒板悗绔�
- const reversedJsonString = JSON.stringify(reversedJsonObject);
- console.log('鍙嶈浆鍚�:', reversedJsonString);
- socket?.send(reversedJsonString);
- }, 1000);
+ // const reversedJsonString = JSON.stringify(reversedJsonObject);
+ // console.log('鍙嶈浆鍚�:', reversedJsonString);
+ // socket?.send(reversedJsonString);
+ // }, 1000);
}
@@ -233,18 +233,18 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
- setTimeout(() => {
- const reversedData = data.map(values => values.map(value => {
- return (!value || value === 1) ? 0 : 0 ;
- }));
+ // setTimeout(() => {
+ // const reversedData = data.map(values => values.map(value => {
+ // return (!value || value === 1) ? 0 : 0 ;
+ // }));
- const reversedJsonObject = { data: reversedData };
+ // const reversedJsonObject = { data: reversedData };
- // 鎻愪氦鏁版嵁鍒板悗绔�
- const reversedJsonString = JSON.stringify(reversedJsonObject);
- console.log('鍙嶈浆鍚�:', reversedJsonString);
- socket?.send(reversedJsonString);
- }, 1000);
+ // // 鎻愪氦鏁版嵁鍒板悗绔�
+ // const reversedJsonString = JSON.stringify(reversedJsonObject);
+ // console.log('鍙嶈浆鍚�:', reversedJsonString);
+ // socket?.send(reversedJsonString);
+ // }, 1000);
}
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index 14792be..7622122 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -1045,6 +1045,15 @@
}
}
+ //鏍规嵁杩涚墖鐘舵�佸嚭鍙戣繘鐗囦换鍔�
+ if (obj.FeedState != null) {
+ if (obj.FeedState[0] == true) {
+ this.InsertQueueGlass(1);
+ }
+ }
+
+
+
// if (obj.alarmmg[0].length > 0) {
// if (this.alarm.length > 0) {
// if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) {
@@ -1104,6 +1113,7 @@
//鏄惁闇�瑕佹墜鍔ㄧ‘璁や笂鐗�
this.isConfirm = obj.isConfirm[0];
+
//鎵爜浣嶇幓鐠冧俊鎭�
if (obj.form3 != null && obj.form3 != "" && obj.state[0] == 1) {
this.form3 = obj.form3[0];
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java b/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java
index 33a3c43..6181031 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java
@@ -1,11 +1,5 @@
package com.example.springboot.component;
-
-
-
-
-import com.example.springboot.entity.device.PlcParameterObject;
-
import com.example.springboot.entity.device.PlcBitObject;
import com.example.springboot.entity.device.PlcParameterObject;
@@ -13,19 +7,45 @@
import java.util.ArrayList;
import java.util.List;
+import static com.example.springboot.component.InitUtil.readAndUpdateBitValues;
+import static com.example.springboot.component.InitUtil.readAndUpdateWordValues;
+
public class PLCAutoMes extends Thread {
// 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
private Configuration config;
private static InitUtil initUtil;
- public static PlcParameterObject plcParameterObject;
+ // public static PlcParameterObject PlcMesObject;
+ // public static PlcParameterObject PlcReadObject;
+ // public static PlcParameterObject PlcframeObject;
+
// 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
MessageHandler customS7Control = new MessageHandler();
-;
-
// 鍗曚緥瀹炰緥
private static PLCAutoMes instance;
+ private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
+ private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
+ private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
+ private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
+ .getResource("/JsonFile/PlcParameter.json").getPath();
+ private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
+ .getPath();
+ private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
+ .getPath();
+ private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
+ private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
+
+ // 璋冪敤initword鏂规硶
+
+ public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
+ public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
+ public static PlcBitObject plcBitObject = initUtil.initbit(PlcSign);
+ public static PlcParameterObject plcStateObject= initUtil.initword(PlcState);
+ public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+ public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
+ public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
+ public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
// 绉佹湁鏋勯�犲嚱鏁�
public PLCAutoMes() throws IOException {
@@ -45,70 +65,34 @@
public void run() {
while (this != null) {
try {
- Thread.sleep(1000);
+ Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
- String jsonFilePath = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
- // String jsonFilePath2 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
- //String jsonFilePath4 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
- //System.out.println(jsonFilePath4);
- // 璋冪敤initword鏂规硶
- plcParameterObject = initUtil.initword(jsonFilePath);
-// List<String> addresses = new ArrayList<>();
-// addresses.add("conveyorVelocity(AutoFAST)");
-// addresses.add("A02ID");
-// addresses.add("conveyorVelocity(Manual)");
-//
-// PlcParameterObject paramObject = PLCAutomaticParameterSettingReview2.plcParameterObject;
-//
-//
-//
-// List<String> address = paramObject.getAddressListByCodeId(addresses);
-// System.out.println(address);
+ // System.out.println(jsonFilePath);
+ readAndUpdateWordValues(PlcReadObject);
+ readAndUpdateWordValues(PlcMesObject);
+ readAndUpdateWordValues(PlcframeObject);
+ // readAndUpdateWordValues(PlcframeObject);
- //PLCAutomaticParameterSettingReview2 plc ;
-
-// String jsonFilePath = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
-//
-// String jsonFilePath2 = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
-// // String jsonFilePath3 = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
-// // System.out.println(jsonFilePath);
-//
-// // 璋冪敤initword鏂规硶
-// PlcMesObject= initUtil.initword(jsonFilePath);
-// // 璋冪敤initbit鏂规硶
-// PlcParameterObject PlcReadObject= initUtil.initword(jsonFilePath2);
- // // 璋冪敤initbit鏂规硶
- // PlcParameterObject PlcframeObject= initUtil.initword(jsonFilePath3);
-// readAndUpdateWordValues(PlcReadObject);
-// readAndUpdateWordValues(PlcMesObject);
- // readAndUpdateWordValues(PlcframeObject);
-
-
-
-
// readAndUpdateWordValues(plcStateObject);
-// int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
-// //System.out.println(index);
-// PlcMesObject.getPlcParameter("AddStart").getAddress(index);
-// //System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
-// List<String> addresses = new ArrayList<>();
-// addresses.add("FeedID");
-// addresses.add("AddStart");
-// //System.out.println(addresses);
-// //System.out.println(PlcMesObject.getPlcParameterValues(addresses));
-// List<String> addresses2 = new ArrayList<>();
-// addresses2.add("FeedID");
-// addresses2.add("FeedCarStatus");
+ int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+ // System.out.println(index);
+ PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+ // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
+ List<String> addresses = new ArrayList<>();
+ addresses.add("FeedID");
+ addresses.add("AddStart");
+ // System.out.println(addresses);
+ // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
+ List<String> addresses2 = new ArrayList<>();
+ addresses2.add("FeedID");
+ addresses2.add("FeedCarStatus");
- // System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
-
-
-
+ System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
index 296a397..30061c1 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -5,6 +5,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.service.JdbcConnections;
import com.example.springboot.service.SpianService;
+import com.example.springboot.service.SpianServiceNew;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.mapper.AlarmMapper;
import com.example.springboot.mapper.SpianMapper;
@@ -17,6 +18,7 @@
private JdbcConnections jdbcConnections;
private SpianMapper spianMapper;
private SpianService spianService;
+ private SpianServiceNew spianServiceNew;
int aaa;
@Override
@@ -34,6 +36,7 @@
// if (S7control.getinstance().CheckConnected() == false) {
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
+ spianServiceNew = WebSocketServer.applicationContext.getBean(SpianServiceNew.class);
jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
// 鏍规嵁鐜荤拑id鑾峰彇璁㈠崟鍙�,鍗曠嫭鏁版嵁婧�
// try {
@@ -45,6 +48,8 @@
// }
// 鍑虹墖浠诲姟////////////////////////////////
+ spianServiceNew.selectout2("X21942613103GV");
+
List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 鍑虹墖杞︾姸鎬�
List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 鍑虹墖浠诲姟鏄惁鍚姩
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
index ada22ca..5c979bf 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -1,11 +1,13 @@
package com.example.springboot.component;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.service.JdbcConnections;
import com.example.springboot.service.SpianService;
import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.AlarmMapper;
import com.example.springboot.mapper.SpianMapper;
@@ -35,41 +37,31 @@
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
- // 鏍规嵁鐜荤拑id鑾峰彇璁㈠崟鍙�,鍗曠嫭鏁版嵁婧�
- // try {
- // north_glass_buffer1 glass = jdbcConnections.selectGlass(112);
- // // System.out.println(glass.getOrderId());
- // } catch (SQLException e) {
- // // TODO Auto-generated catch block
- // e.printStackTrace();
- // }
- // 鍑虹墖浠诲姟////////////////////////////////
- List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 鍑虹墖杞︾姸鎬�
- List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 鍑虹墖浠诲姟鏄惁鍚姩
-
- boolean Plcout = spianService.listbool("DB106.64"); // 鍑虹墖璇锋眰瀛�
- boolean Plcout2 = spianService.listbool("DB105.18"); // 鍑虹墖鍚姩
- if (Plcout == false&&Plcout2==true) {
- S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
- System.out.println("鍏抽棴鍑虹墖鍚姩" + LocalDateTime.now());// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负0
- }
- boolean Plcadd = spianService.listbool("DB106.24"); // 杩涚墖璇锋眰瀛�
- boolean Plcadd2 = spianService.listbool("DB105.16"); // 杩涚墖鍚姩
- if (Plcadd == false&&Plcadd2==true) {
- S7control.getinstance().WriteWord("DB105.16", (short) 0);//杩涚墖浠诲姟鍚姩鏀逛负0
- System.out.println("鍏抽棴杩涚墖鍚姩" + LocalDateTime.now());// 杩涚墖浠诲姟鍙戦�佸瓧鏀逛负0
- }
+ //璇诲彇DB105鍖烘枃浠�
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ //璇�106
+ PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
+ //璇�103
+ PlcParameterObject plcstate=PLCAutoMes.plcStateObject;
+ String OutRequest=plcread.getPlcParameter("OutRequest").getValue();//鍑虹墖璇锋眰
+ String OutActivate=plcmes.getPlcParameter("OutActivate").getValue();//鍑虹墖鍚姩
-
- // StringBuilder writedstrIdOut = new StringBuilder();
- // 鑾峰彇宸蹭笅鍙戠殑鍑虹墖id
- byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14);
- String writedstrIdOut = new String(writedglassidbytesOut);
-
+
+ S7control.getinstance().WriteWord( plcmes.getPlcParameter("1231").getAddress(plcmes.getPlcParameter("1231").getAddressIndex()), (short) 0);
+ // 鍑虹墖浠诲姟
+
+ if (OutActivate.equals("1") == false&&OutRequest.equals("1")==true) {
+ S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
+ }
+ String FeedRequest=plcread.getPlcParameter("FeedRequest").getValue();// 杩涚墖璇锋眰瀛�
+ String AddActivate=plcmes.getPlcParameter("AddActivate").getValue();// 杩涚墖鍚姩
+ if (FeedRequest.equals("1") == false&&AddActivate.equals("1")==true) {
+ S7control.getinstance().WriteWord("DB105.16", (short) 0);//杩涚墖浠诲姟鍚姩鏀逛负0
+ }
- if (Plcout == true) {
+ if (OutActivate.equals("1") == true) {
// 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
int outnum = spianMapper.SelectOutSliceshu();//鏄惁鏈夋鍦ㄥ嚭鐗囩殑浠诲姟
int cageoutsum = spianMapper.Selectcageout(3);//绗煎瓙鍐呮槸鍚﹁繕鏈夊湪鍑虹墖鐨勭幓鐠�
@@ -94,88 +86,81 @@
}
- ///////////// 杩涚墖浠诲姟
- List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 鑾峰彇prc杩涚墖璇锋眰鏁版嵁
- List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 鑾峰彇杩涚墖杞︾姸鎬�
- List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 鑾峰彇杩涚墖杞︿换鍔℃槸鍚﹀惎鍔�
+ ///////////// 杩涚墖浠诲姟
- boolean B01backs = spianService.listbool("DB106.60");// b01姹囨姤
- boolean B02backs = spianService.listbool("DB106.62");// b02姹囨姤
- StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1鐨勭幓鐠僫d
- StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02鐨勭幓鐠僫d
+ String B01backs = plcread.getPlcParameter("B01CompleteTheReport").getValue();// b01姹囨姤
+ String B02backs = plcread.getPlcParameter("B02CompleteTheReport").getValue();// b02姹囨姤
+
+ String B01glassid = plcstate.getPlcParameter("B01ID1").getValue();// BO1鐨勭幓鐠僫d
+ String B02glassid = plcstate.getPlcParameter("B02ID1").getValue();// B02鐨勭幓鐠僫d
// 褰撹繘鐗囧皬杞﹀畬鎴愪换鍔℃椂
- if (B01backs == true) {
+ if (B01backs.equals("1") == true) {
// 鍒ゆ柇鏄惁姹囨姤姝g‘鐨刬d
int HB = spianMapper.SelectHB(B01glassid.toString());
if (HB > 0) {
- // 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬� 涓�1
- S7control.getinstance().WriteWord("DB105.48", (short) 1);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
- boolean yingda = spianService.listbool("DB105.48");// b01姹囨姤
- if (yingda == true) {
+ // 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
+ String yingda =plcmes.getPlcParameter("B01report").getValue();// b01姹囨姤
+ if (yingda.equals("1")) {
spianService.overtask(B01glassid.toString());// 瀹屾垚浠诲姟
- }
- System.out.println("姹囨姤鏃禕01|绗�" + aaa + "娆�" + B01glassid + "搴旂瓟" + yingda);
- aaa += 1;
+ }
}
}else{
- S7control.getinstance().WriteWord("DB105.48", (short) 0);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
+ // 鎭㈠B01灏忚溅搴旂瓟鏀逛负0
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 0);
}
// 褰撳嚭鐗囧皬杞﹀畬鎴愪换鍔℃椂
- if (B02backs == true) {
+ if (B02backs.equals("1") == true) {
// 鍒ゆ柇鏄惁姹囨姤姝g‘鐨刬d
- int HB = spianMapper.SelectHB(B02glassid.toString());
- System.out.println("姹囨姤鏃禕02|" + B02glassid);
+ int HB = spianMapper.SelectHB(B02glassid);
if (HB > 0) {
- // 褰揃02灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬佷负0
-
- S7control.getinstance().WriteWord("DB105.50", (short) 1);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负1
- System.out.println("姹囨姤鏃禕02ID|" + B02glassid);
- boolean yingda = spianService.listbool("DB105.50");// b02姹囨姤
- if (yingda == true) {
- spianService.overtask(B02glassid.toString());// 瀹屾垚浠诲姟
- }
- System.out.println("姹囨姤鏃禕02|绗�" + aaa + "娆�" + B02glassid + "搴旂瓟" + yingda);
+ // 鎭㈠B02灏忚溅搴旂瓟鏀逛负1
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 1);
+ String yingda =plcmes.getPlcParameter("B01report").getValue();// b02搴旂瓟
+ if (yingda.equals("1") == true) {
+ spianService.overtask(B02glassid);// 瀹屾垚浠诲姟
+ }
}
}else{
- S7control.getinstance().WriteWord("DB105.50", (short) 0);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负0
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 0);
}
// 鑾峰彇DO1鏁版嵁
- StringBuilder queueid1 = spianService.queGlassid("DB106.26", 14);// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
+ String Do1ID=plcread.getPlcParameter("FeedID").getValue();// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
// 鑾峰彇DO2鏁版嵁
- StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14);
+ String Do2ID=plcread.getPlcParameter("FeedID").getValue();// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
- int questate = spianMapper.Selectquecount(queueid1.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
+
+ int questate = spianMapper.Selectquecount(Do1ID.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
// queueid1.toString().isEmpty()
- north_glass_buffer1 glass1 = spianMapper.selectGlass(queueid1.toString());// D01鐨勭幓鐠冧俊鎭�
- north_glass_buffer1 glass2 = spianMapper.selectGlass(queueid2.toString());// D02鐜荤拑淇℃伅
+ north_glass_buffer1 glass1 = spianMapper.selectGlass(Do1ID);// D01鐨勭幓鐠冧俊鎭�
+ north_glass_buffer1 glass2 = spianMapper.selectGlass(Do2ID);// D02鐜荤拑淇℃伅
// 褰撴壂鐮佷綅鐜荤拑id涓虹┖鏃� 瀹藉害涓�0
- if (queueid1 != null && questate == 0) {
+ if (Do1ID != null && questate == 0) {
// 鍐欏叆D01鐨勬暟鎹埌涓婄墖闃熷垪琛�
if (glass1 == null) { // 褰撴病鏈夊�兼椂浼犵┖
spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 1);
} else {
-
- spianMapper.Updatequeue(queueid1.toString(), glass1.getordernumber(), glass1.getlistnumber(),
- glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
- glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
+ spianMapper.Updatequeue(Do1ID.toString(), glass1.getordernumber(), glass1.getlistnumber(),
+ glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
+ glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
}
}
- if (queueid2 != null) {
+ if (Do2ID != null) {
// 鍐欏叆D02鐨勬暟鎹埌涓婄墖闃熷垪琛�
if (glass2 == null) {
spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2);
} else {
- spianMapper.Updatequeue(queueid2.toString(), glass2.getordernumber(), glass2.getlistnumber(),
- glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
- glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
- spianMapper.overqueue2(queueid2.toString(), 0, 1);// 鏇存敼鎵爜浣嶄换鍔¤〃鐨勭姸鎬佷负0
+ spianMapper.Updatequeue(Do2ID.toString(), glass2.getordernumber(), glass2.getlistnumber(),
+ glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
+ glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
+ spianMapper.overqueue2(Do2ID.toString(), 0, 1);// 鏇存敼鎵爜浣嶄换鍔¤〃鐨勭姸鎬佷负0
S7control.getinstance().WriteWord("DB105.16", (short) 0);// 鍏抽棴浠诲姟鍚姩
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index d178723..a1e7574 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -7,7 +7,9 @@
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import com.example.springboot.service.*;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +20,7 @@
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
@@ -60,7 +63,7 @@
JSONObject jsonObject = new JSONObject();
try {
Thread.sleep(1000);
- // 娉ㄥ叆mapper
+ // 娉ㄥ叆mapper
homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
@@ -123,162 +126,171 @@
// String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
// String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
- if (S7control.getinstance().CheckConnected() == true) {
+ // if (S7control.getinstance().CheckConnected() == true) {
- // 閾濇绾夸氦浜�
- if (S7controlLK.getinstance().CheckConnected() == true) {
- if (CurrentFrame != null) {
- S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(), "DB17.0");
- }
- String E01id = S7controlLK.getinstance().readStrings("DB17.0");
- String J01id = S7controlLK.getinstance().readStrings("DB17.22");
+
- List<Short> liststates = S7controlLK.getinstance().ReadWord("DB17.38", 1);
- List<Short> liststate = S7controlLK.getinstance().ReadWord("DB17.20", 1);
- Short framerequest = liststate.get(0);
- if (framerequest == 1) {
- // 閾濇id
- String position;
- try {
- position = dbserve.SelectPositionByFrameBarcode(J01id);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- position = "0";
- e.printStackTrace();
- }
- Short send;
- if (position.equals("0")) {
- send = 0;
- } else {
- send = 1;
- }
- S7controlLK.getinstance().WriteWord("DB17.38", (short) send);
- }
+ // 閾濇绾夸氦浜�
+ if (S7controlLK.getinstance().CheckConnected() == true) {
+ if (CurrentFrame != null) {
+ S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(), "DB17.0");
}
+ String E01id = S7controlLK.getinstance().readStrings("DB17.0");
+ String J01id = S7controlLK.getinstance().readStrings("DB17.22");
- // 鑾峰彇褰撳墠鎵爜鏂瑰紡
- List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
- if (Scanningmethods != null) {
- for (Boolean Scanningmethod : Scanningmethods) {
- jsonObject.append("Scanningmethod", Scanningmethod);
- }
- }
- // 鑾峰彇褰撳墠鎵爜鏋幓鐠僫d
- String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
- jsonObject.append("CurrrentGlassId", CurrrentGlassId);
-
- // 鑾峰彇D01-D06,A01,A02,B01,B02鐘舵��
- List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10);
- jsonObject.append("DeviceList", DeviceList);
- // 鑾峰彇D01-D06,A01,A02,B01,B02鐜荤拑id
- List<String> GlassIdList = new ArrayList<String>();
- GlassIdList.add(spianService.queGlassid("DB103.44", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
-
- GlassIdList.add(spianService.queGlassid("DB103.184", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.212", 14).toString());
-
- GlassIdList.add(spianService.queGlassid("DB103.128", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.142", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.156", 14).toString());
-
- GlassIdList.add(spianService.queGlassid("DB103.72", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.86", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.100", 14).toString());
- GlassIdList.add(spianService.queGlassid("DB103.114", 14).toString());
- jsonObject.append("GlassIdList", GlassIdList);
-
- // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
- List<String> addressList = new ArrayList<String>();
- addressList.add("DB106.12");
- addressList.add("DB106.0");
- List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
- if (paramlist != null) {
- jsonObject.append("params", paramlist);
- }
- // 鑾峰彇杩涚墖杞︾姸鎬�
- List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
- 1);// 鑾峰彇杩涚墖杞︾姸鎬�
- if (datas1ListState != null) {
- boolean exist1 = datas1ListState.contains((short) 0);
- jsonObject.append("zhuangtai", exist1);
- }
-
- // 鑾峰彇杩涚墖鐜荤拑淇℃伅
- List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
- if (inglassInfo != null) {
- if (inglassInfo.size() > 0) {
- jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
- }
- }
- // // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
- // String frameno="X21763329601FB";
- String frameno = spianService.queGlassid("DB103.270", 14).toString();
- if (!frameno.equals(Plchome.FrameNo)) {
- Plchome.FrameNo = frameno;
+ List<Short> liststates = S7controlLK.getinstance().ReadWord("DB17.38", 1);
+ List<Short> liststate = S7controlLK.getinstance().ReadWord("DB17.20", 1);
+ Short framerequest = liststate.get(0);
+ if (framerequest == 1) {
+ // 閾濇id
+ String position;
try {
- Short num = 0;
- List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service
- .SelectAluminumFrameInfoById(Plchome.FrameNo);
- for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
- if (north_glass_buffer1.getstorageCage() == null) {
- break;
- }
- num++;
- }
- if (num == north_glass_buffer1s.size()) {
- north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
- } else {
- Plchome.AluminumFrame = north_glass_buffer1s;
- }
+ position = dbserve.SelectPositionByFrameBarcode(J01id);
} catch (SQLException e) {
// TODO Auto-generated catch block
+ position = "0";
e.printStackTrace();
}
+ Short send;
+ if (position.equals("0")) {
+ send = 0;
+ } else {
+ send = 1;
+ }
+ S7controlLK.getinstance().WriteWord("DB17.38", (short) send);
}
- if (AluminumFrame != null) {
- jsonObject.append("AluminumFrame", AluminumFrame);
- }
+ }
- // 澶嶄綅鍊掕鏃�
- // 鍦板潃104.9.6
- List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
- for (Boolean countdowns : countdown) {
- jsonObject.append("countdown", countdowns);
+ // 鑾峰彇褰撳墠鎵爜鏂瑰紡
+ List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
+ if (Scanningmethods != null) {
+ for (Boolean Scanningmethod : Scanningmethods) {
+ jsonObject.append("Scanningmethod", Scanningmethod);
}
- // jsonObject.append("countdown", true);
- // 澶嶄綅瀹屾垚淇″彿ss
- List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
- for (Boolean reset : resetss) {
- jsonObject.append("reset", reset);
- }
+ }
+ // 鑾峰彇褰撳墠鎵爜鏋幓鐠僫d
+ String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
+ jsonObject.append("CurrrentGlassId", CurrrentGlassId);
- // 鏄惁鎬ュ仠
- List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
- for (Boolean emergencystop : emergencystops) {
- jsonObject.append("emergencystop", emergencystop);
- }
- // 鑾峰彇杩涚墖璇锋眰鐘舵��
- List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
- boolean D01RequestState = D01Request.contains((short) 1);
- jsonObject.append("D01RequestState", D01RequestState);
+ // 鑾峰彇D01-D06,A01,A02,B01,B02鐘舵��
+ List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10);
+ jsonObject.append("DeviceList", DeviceList);
+ // 鑾峰彇D01-D06,A01,A02,B01,B02鐜荤拑id
+ List<String> GlassIdList = new ArrayList<String>();
+ GlassIdList.add(spianService.queGlassid("DB103.44", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
- // 鑾峰彇杩涚墖鍙戦�佺姸鎬�
- List<Short> D01respnse = S7control.getinstance().ReadWord("DB106.16", 1);
- boolean D01ResponseState = D01respnse.contains((short) 1);
- // jsonObject.append("D01RequestState", D01RequestState);
- // 鑷姩杩涚墖
+ GlassIdList.add(spianService.queGlassid("DB103.184", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.212", 14).toString());
+
+ GlassIdList.add(spianService.queGlassid("DB103.128", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.142", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.156", 14).toString());
+
+ GlassIdList.add(spianService.queGlassid("DB103.72", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.86", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.100", 14).toString());
+ GlassIdList.add(spianService.queGlassid("DB103.114", 14).toString());
+ jsonObject.append("GlassIdList", GlassIdList);
+
+ // 鑾峰彇Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃�
+ List<String> addressList = new ArrayList<String>();
+ addressList.add("DB106.12");
+ addressList.add("DB106.0");
+ List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
+ if (paramlist != null) {
+ jsonObject.append("params", paramlist);
+ }
+ // // 鑾峰彇杩涚墖杞︾姸鎬�
+ // List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+ // 1);// 鑾峰彇杩涚墖杞︾姸鎬�
+ // if (datas1ListState != null) {
+ // boolean exist1 = datas1ListState.contains((short) 0);
+ // jsonObject.append("zhuangtai", exist1);
+ // }
+
+ // // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+ // List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+ // if (inglassInfo != null) {
+ // if (inglassInfo.size() > 0) {
+ // jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+ // }
+ // }
+ // // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
+ // String frameno="X21763329601FB";
+ String frameno = spianService.queGlassid("DB103.270", 14).toString();
+ if (!frameno.equals(Plchome.FrameNo)) {
+ Plchome.FrameNo = frameno;
+ try {
+ Short num = 0;
+ List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service
+ .SelectAluminumFrameInfoById(Plchome.FrameNo);
+ for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
+ if (north_glass_buffer1.getstorageCage() == null) {
+ break;
+ }
+ num++;
+ }
+ if (num == north_glass_buffer1s.size()) {
+ north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ } else {
+ Plchome.AluminumFrame = north_glass_buffer1s;
+ }
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ if (AluminumFrame != null) {
+ jsonObject.append("AluminumFrame", AluminumFrame);
+ }
+
+ // 澶嶄綅鍊掕鏃�
+ // 鍦板潃104.9.6
+ List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
+ for (Boolean countdowns : countdown) {
+ jsonObject.append("countdown", countdowns);
+ }
+ // jsonObject.append("countdown", true);
+ // 澶嶄綅瀹屾垚淇″彿
+ List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
+ for (Boolean reset : resetss) {
+ jsonObject.append("reset", reset);
+ }
+
+ // 鏄惁鎬ュ仠
+ List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
+ for (Boolean emergencystop : emergencystops) {
+ jsonObject.append("emergencystop", emergencystop);
+ }
+ // 鑾峰彇杩涚墖璇锋眰鐘舵��
+ List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+ boolean D01RequestState = D01Request.contains((short) 1);
+ jsonObject.append("D01RequestState", D01RequestState);
+
+ // 鑾峰彇杩涚墖鍙戦�佺姸鎬�
+ List<Short> D01respnse = S7control.getinstance().ReadWord("DB106.16", 1);
+ boolean D01ResponseState = D01respnse.contains((short) 1);
+ // jsonObject.append("D01RequestState", D01RequestState);
+ // 鑷姩杩涚墖
+ isConfirm=true;
+ if (isConfirm == true && form3.getglassId() != null && form3.getglassId() != "") {
if ((form3.getglassheight() < 380 || form3.getglasswidth() < 390 || form3.getglassheight() > 1810
|| form3.getglasswidth() > 2760)
|| (form3.getglassheight() < 390 || form3.getglasswidth() < 380
|| form3.getglassheight() > 2760 || form3.getglasswidth() > 1810)) {
-
- if (isConfirm == true && D01RequestState == true && D01ResponseState == false) {
+ FeedState = true;
+ jsonObject.append("FeedState", FeedState);
+ FeedState = false;
+ } else {
+ if (D01RequestState == true && D01ResponseState != true) {
storageCageService.InsertQueueGlassId((short) 1, form3);
}
}
}
+ // }
+
} catch (InterruptedException e) {
e.printStackTrace();
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlchomeNew.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlchomeNew.java
new file mode 100644
index 0000000..3b03f97
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlchomeNew.java
@@ -0,0 +1,403 @@
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.example.springboot.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.example.springboot.entity.Glass;
+import com.example.springboot.entity.Out_slice;
+import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.alarmmg;
+import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.entity.device.PlcBitObject;
+import com.example.springboot.entity.device.PlcParameterObject;
+import com.example.springboot.mapper.HomeMapper;
+import com.example.springboot.mapper.SpianMapper;
+
+public class PlchomeNew extends Thread {
+
+ @Autowired
+ private HomeMapper homeMapper;
+ private OutSliceServive outSliceServive;
+ private SpianMapper spianMapper;
+ private SpianService spianService;
+ private North_Glass_Buffer1Service north_Glass_Buffer1Service;
+ private JdbcConnections dbserve;
+ // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
+ public static Boolean isAllowQueue = true;
+ public static Boolean isAllowReordering = true;
+ // 鍑虹墖闃熷垪璀﹀憡
+ public static Boolean isQueueWarning = false;
+ // 閾濇id
+ public static String FrameNo = "";
+ // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
+ public static Boolean isConfirm = false;
+ // 寰呯‘璁ょ殑鍑虹墖闃熷垪
+ public static List<north_glass_buffer1> AluminumFrame;
+
+ // private Configuration config;
+
+ private StorageCageService storageCageService;
+
+ public static Boolean FeedState = false;
+
+ // public Plchome() throws IOException {
+ // config = new Configuration("config.properties");
+ // }
+
+ // public static Map b=new HashMap<>();
+ // b.put()
+ @Override
+ public void run() {
+ while (this != null) {
+ JSONObject jsonObject = new JSONObject();
+ try {
+ Thread.sleep(1000);
+ // 娉ㄥ叆mapper
+
+ homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
+ spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
+ spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
+ outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
+ north_Glass_Buffer1Service = WebSocketServer.applicationContext
+ .getBean(North_Glass_Buffer1Service.class);
+ storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
+ dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+
+ // 绗煎瓙浣跨敤鎯呭喌
+ List<StorageCage> tableData = homeMapper.selectAll();
+ jsonObject.append("tableData", tableData);
+ // 鏍肩悊鐗囩鏍煎瓙鐘舵��
+ List<StorageCage> cagelist1 = homeMapper.selectRack1();
+ List<StorageCage> cagelist2 = homeMapper.selectRack2();
+ List<StorageCage> cagelist3 = homeMapper.selectRack3();
+ List<StorageCage> cagelist4 = homeMapper.selectRack4();
+ jsonObject.append("cagelist1", cagelist1);
+ jsonObject.append("cagelist2", cagelist2);
+ jsonObject.append("cagelist3", cagelist3);
+ jsonObject.append("cagelist4", cagelist4);
+ // 杩涘嚭鐗囦换鍔�
+ List<StorageCage> tasklist1 = homeMapper.selectinout(3);
+ List<StorageCage> tasklist2 = homeMapper.selectinout(2);
+ jsonObject.append("tasklist1", tasklist1);
+ jsonObject.append("tasklist2", tasklist2);
+ // 鏌ヨ鎶ヨ淇℃伅
+ List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
+ jsonObject.append("alarmmg", alarmmg);
+
+ // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
+ String queid = spianMapper.Selectqueueid();
+ int state = spianMapper.Selectqueuestate();
+ jsonObject.append("queid", queid);
+ jsonObject.append("state", state);
+ // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
+ Queue form2 = homeMapper.GetQueueInfo(2);
+ Queue form3 = homeMapper.GetQueueInfo(1);
+ if (form2.getglassId() != null && form2.getglassId() != "") {
+ jsonObject.append("form2", form2);
+ }
+ if (form3.getglassId() != null && form3.getglassId() != "") {
+ jsonObject.append("form3", form3);
+ }
+ // 鑾峰彇鍑虹墖闃熷垪淇℃伅
+ List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
+ jsonObject.append("listoutslice", listoutslice);
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪鍑虹墖鐘舵��
+ jsonObject.append("isAllowQueue", PlchomeNew.isAllowQueue);
+ // 鑾峰彇鍑虹墖闃熷垪璀﹀憡鐘舵��
+ jsonObject.append("isQueueWarning", PlchomeNew.isQueueWarning);
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪璋冨簭鐘舵��
+ jsonObject.append("isAllowReordering", PlchomeNew.isAllowReordering);
+ // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
+ jsonObject.append("isConfirm", isConfirm);
+ // 鏌ヨ褰撳墠閾濇淇℃伅
+ Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
+ jsonObject.append("CurrentFrame", CurrentFrame);
+
+ // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
+ // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
+
+ // public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
+ // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
+ // public static PlcBitObject plcBitObject = initUtil.initbit(PlcSign);
+ // public static PlcParameterObject plcStateObject = initUtil.initword(PlcState);
+ // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+ // public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
+ // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
+ // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
+
+ PlcParameterObject PlcParameter = PLCAutoMes.plcParameterObject;// plc鍙傛暟鍦板潃DB100
+ PlcBitObject PlcTest = PLCAutoMes.plcPlcTest;// plc鏍囪瘑鍦板潃DB101
+ PlcBitObject PlcSign = PLCAutoMes.plcBitObject;// plc璁惧鐘舵�佸湴鍧�DB102
+ PlcParameterObject PlcState = PLCAutoMes.plcStateObject;// plc鐘舵�佸湴鍧�DB103
+ PlcBitObject PlcAlarm = PLCAutoMes.plcPlcAlarm;// plc鎶ヨ鍦板潃DB104
+ PlcParameterObject MesMission = PLCAutoMes.PlcMesObject;// mes浠籑ES鍔″湴鍧�DB105
+ PlcParameterObject PLCMission = PLCAutoMes.PlcReadObject;// plc浠诲姟鍦板潃DB106
+ PlcParameterObject Plcframe = PLCAutoMes.PlcframeObject;// plc閾濇鍦板潃DB17
+
+ // if (S7control.getinstance().CheckConnected() == true) {
+
+ // 閾濇绾夸氦浜�
+ if (S7controlLK.getinstance().CheckConnected() == true) {
+ if (CurrentFrame != null) {
+ S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(),
+ Plcframe.getPlcParameter("E01id")
+ .getAddress(Plcframe.getPlcParameter("E01id").getAddressIndex()));
+ }
+ String E01id = S7controlLK.getinstance().readStrings(Plcframe.getPlcParameter("E01id")
+ .getAddress(Plcframe.getPlcParameter("E01id").getAddressIndex()));
+ String J01id = S7controlLK.getinstance().readStrings(Plcframe.getPlcParameter("J01id")
+ .getAddress(Plcframe.getPlcParameter("J01id").getAddressIndex()));
+
+ String framerequest = Plcframe.getPlcParameter("J01Quest").getValue();
+ // List<Short> liststates = S7controlLK.getinstance().ReadWord("DB17.38", 1);
+ // List<Short> liststate = S7controlLK.getinstance().ReadWord("DB17.20", 1);
+ // Short framerequest = liststate.get(0);
+ if (framerequest.equals("1")) {
+ // 閾濇id
+ String position;
+ try {
+ position = dbserve.SelectPositionByFrameBarcode(J01id);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ position = "0";
+ e.printStackTrace();
+ }
+ Short send;
+ if (position.equals("0")) {
+ send = 0;
+ } else {
+ send = 1;
+ }
+ S7controlLK.getinstance().WriteWord(Plcframe.getPlcParameter("J01Quest")
+ .getAddress(Plcframe.getPlcParameter("J01Quest").getAddressIndex()), (short) send);
+ }
+ }
+
+ // 鑾峰彇褰撳墠鎵爜鏂瑰紡
+ // List<Boolean> Scanningmethods =
+ // S7control.getinstance().ReadBits("DB101.11.4", 1);
+ // if (Scanningmethods != null) {
+ // for (Boolean Scanningmethod : Scanningmethods) {
+ // jsonObject.append("Scanningmethod", Scanningmethod);
+ // }
+ // }
+ //
+ Boolean Scanningmethod = PlcTest.getPlcBit("Scanningmethod").getValue();
+ if (Scanningmethod != null) {
+ jsonObject.append("Scanningmethod", Scanningmethod);
+ }
+
+ // 鑾峰彇褰撳墠鎵爜鏋幓鐠僫d
+ String CurrrentGlassId=PlcState.getPlcParameter("Scanningguns").getValue();
+
+ // String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
+ jsonObject.append("CurrrentGlassId", CurrrentGlassId);
+
+ // 鑾峰彇D01-D06,A01,A02,B01,B02鐘舵��
+ // List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10);
+ List<String> DeviceStateList=new ArrayList<String>();
+ DeviceStateList.add("D01.State");
+ DeviceStateList.add("D02.State");
+ DeviceStateList.add("B01.State");
+ DeviceStateList.add("B02.State");
+ DeviceStateList.add("A01.State");
+ DeviceStateList.add("A02.State");
+ DeviceStateList.add("D03.State");
+ DeviceStateList.add("D04.State");
+ DeviceStateList.add("D05.State");
+ DeviceStateList.add("D06.State");
+ List<String> DeviceList=PlcState.getPlcParameterValues(DeviceStateList);
+ jsonObject.append("DeviceList", DeviceList);
+
+ // 鑾峰彇D01-D06,A01,A02,B01,B02鐜荤拑id
+ List<String> GlassStateList=new ArrayList<String>();
+ GlassStateList.add("D01ID");
+ GlassStateList.add("D02ID");
+ GlassStateList.add("B01ID1");
+ GlassStateList.add("B02ID1");
+ GlassStateList.add("A01ID1");
+ GlassStateList.add("A01ID2");
+ GlassStateList.add("A02ID1");
+ GlassStateList.add("D03ID");
+ GlassStateList.add("D04ID");
+ GlassStateList.add("D05ID");
+ GlassStateList.add("D06ID");
+ List<String> GlassIdList = PlcState.getPlcParameterValues(GlassStateList);
+ // List<String> GlassIdList = new ArrayList<String>();
+ // GlassIdList.add(spianService.queGlassid("DB103.44", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
+
+ // GlassIdList.add(spianService.queGlassid("DB103.184", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.212", 14).toString());
+
+ // GlassIdList.add(spianService.queGlassid("DB103.128", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.142", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.156", 14).toString());
+
+ // GlassIdList.add(spianService.queGlassid("DB103.72", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.86", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.100", 14).toString());
+ // GlassIdList.add(spianService.queGlassid("DB103.114", 14).toString());
+ jsonObject.append("GlassIdList", GlassIdList);
+
+ // 鑾峰彇Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃�
+ List<String> addressList = new ArrayList<String>();
+ addressList.add("A02Position");
+ addressList.add("A01Position");
+ List<String> paramlist=PLCMission.getPlcParameterValues(addressList);
+ // addressList.add("DB106.12");
+ // addressList.add("DB106.0");
+ // List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
+ if (paramlist != null) {
+ jsonObject.append("params", paramlist);
+ }
+ // // 鑾峰彇杩涚墖杞︾姸鎬�
+
+ // List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+ // 1);// 鑾峰彇杩涚墖杞︾姸鎬�
+ // if (datas1ListState != null) {
+ // boolean exist1 = datas1ListState.contains((short) 0);
+ // jsonObject.append("zhuangtai", exist1);
+ // }
+
+ // // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+ // List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+ // if (inglassInfo != null) {
+ // if (inglassInfo.size() > 0) {
+ // jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+ // }
+ // }
+ // // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
+ // String frameno="X21763329601FB";
+
+ String frameno=PlcState.getPlcParameter("Frameid").getValue();//寰呯數姘旀洿鏂板湴鍧�琛ㄦ牸
+ // String frameno = spianService.queGlassid("DB103.270", 14).toString();
+ if (!frameno.equals(PlchomeNew.FrameNo)) {
+ PlchomeNew.FrameNo = frameno;
+ try {
+ Short num = 0;
+ List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service
+ .SelectAluminumFrameInfoById(PlchomeNew.FrameNo);
+ for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
+ if (north_glass_buffer1.getstorageCage() == null) {
+ break;
+ }
+ num++;
+ }
+ if (num == north_glass_buffer1s.size()) {
+ north_Glass_Buffer1Service.AddOutSliceS(PlchomeNew.FrameNo);
+ } else {
+ PlchomeNew.AluminumFrame = north_glass_buffer1s;
+ }
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ if (AluminumFrame != null) {
+ jsonObject.append("AluminumFrame", AluminumFrame);
+ }
+
+ // 澶嶄綅鍊掕鏃�
+ // 鍦板潃104.9.6
+ Boolean countdown=PlcAlarm.getPlcBit("resetDelay").getValue();
+ jsonObject.append("countdown", countdown);
+ // List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
+ // for (Boolean countdowns : countdown) {
+ // jsonObject.append("countdown", countdowns);
+ // }
+ // jsonObject.append("countdown", true);
+ // 澶嶄綅瀹屾垚淇″彿
+ String reset=PlcState.getPlcParameter("resetDelay").getValue();
+ jsonObject.append("reset", reset);
+ // List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
+ // for (Boolean reset : resetss) {
+ // jsonObject.append("reset", reset);
+ // }
+
+ // 鏄惁鎬ュ仠
+ Boolean emergencystop=PlcAlarm.getPlcBit("emergencystopalarm").getValue();
+ jsonObject.append("emergencystop", emergencystop);
+
+ // List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
+ // for (Boolean emergencystop : emergencystops) {
+ // jsonObject.append("emergencystop", emergencystop);
+ // }
+ // 鑾峰彇杩涚墖璇锋眰鐘舵��
+ String D01Request=PLCMission.getPlcParameter("FeedRequest").getValue();
+
+ // List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+ Boolean D01RequestState = D01Request.contains("1");
+ jsonObject.append("D01RequestState", D01RequestState);
+
+ // 鑾峰彇杩涚墖鍙戦�佺姸鎬�
+ String D01respnse=PLCMission.getPlcParameter("A02QuestStartPosition").getValue();
+ // List<Short> D01respnse = S7control.getinstance().ReadWord("DB106.16", 1);
+ boolean D01ResponseState = D01respnse.contains("1");
+ // jsonObject.append("D01RequestState", D01RequestState);
+ // 鑷姩杩涚墖
+ isConfirm = true;
+ if (isConfirm == true && form3.getglassId() != null && form3.getglassId() != "") {
+ if ((form3.getglassheight() < 380 || form3.getglasswidth() < 390 || form3.getglassheight() > 1810
+ || form3.getglasswidth() > 2760)
+ || (form3.getglassheight() < 390 || form3.getglasswidth() < 380
+ || form3.getglassheight() > 2760 || form3.getglasswidth() > 1810)) {
+ FeedState = true;
+ jsonObject.append("FeedState", FeedState);
+ FeedState = false;
+ } else {
+ if (D01RequestState == true && D01ResponseState != true) {
+ storageCageService.InsertQueueGlassId((short) 1, form3);
+ }
+ }
+ }
+
+ // }
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ boolean dbconnected = false;
+ try {
+ dbserve.getConn();
+ dbconnected = true;
+ } catch (Exception e) {
+ // TODO: handle exception
+ dbconnected = false;
+ }
+ jsonObject.append("dbconnected", dbconnected);
+ // jsonObject.append("params", new short[] { 30, 40, });
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+
+ if (webserver != null) {
+
+ List<String> messages = webserver.getMessages();
+
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+
+ }
+
+ }
+ }
+ }
+ }
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index 17ccdb8..e3d0611 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -1,7 +1,6 @@
package com.example.springboot.config;
import com.example.springboot.component.*;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
@@ -12,48 +11,36 @@
public class AppRunnerConfig implements ApplicationRunner {
- private final PlcParameter plcParameter;
-
- public AppRunnerConfig(PlcParameter plcParameter) {
- this.plcParameter = plcParameter;
- }
@Override
public void run(ApplicationArguments args) throws Exception {
// TODO Auto-generated method stub
//
System.out.println("鍚姩瀹屾垚");
- // plcParameter.start();
-//
-// new PlcHold().start();
-//
-// new Plchome().start();
-// new PlcLayout().start();
-// new Plcalarm().start();
-//
-// new Plcsign().start();
-//
-// new Plcstate().start();
-// new PlcPositioning1().start();
-//
-// new PlcParameter2().start();
-// new PLCAutomaticParameterSetting().start();
-//
-// new PlcManualonePosition().start();
-// new PlcManualonePosition2().start();
-// new PlcServoManualone().start();
-// new PLCManualJog().start();
-// new Plclog().start();
-//
-// new PlcInteractionState().start();
+ // new PlcHold().start();
+ // new PLCAutoMes().start();
+ // new Plchome().start();
+ // new PlcLayout().start();
+ // new Plcalarm().start();
+ // new Plcsign().start();
+ // new Plcstate().start();
+ // new PlcPositioning1().start();
+ // new PlcParameter2().start();
+ // new PLCAutomaticParameterSetting().start();
+
+ // new PlcManualonePosition().start();
+ // new PlcManualonePosition2().start();
+ // new PlcServoManualone().start();
+ // new PLCManualJog().start();
+ // new Plclog().start();
+
+ // new PlcInteractionState().start();
//new PlcParameter1Review().start();
- //new PLCAutoMes().start();
//new PLCAutomaticParameterSettingReview2().start();
-
// new PLCManualJogReview().start();
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
index fd3424e..aef8585 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -98,7 +98,7 @@
void UpdataOutCage1(double width, int cage, int cell);
// 璋冩嫧鏇存崲绗煎瓙淇℃伅
- @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid,a.FrameBarcode=b.FrameBarcode where a.id=#{id1}")
+ @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=2,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid,a.FrameBarcode=b.FrameBarcode where a.id=#{id1}")
void UpdateDBCage(int id1, int cage, int cell, int tier);
// @Insert("insert into user(name, date, address, user_no) values (#{name},
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
new file mode 100644
index 0000000..15942f2
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
@@ -0,0 +1,314 @@
+package com.example.springboot.service;
+
+
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.example.springboot.component.PLCAutoMes;
+import com.example.springboot.component.S7control;
+import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.entity.device.PlcParameterObject;
+import com.example.springboot.mapper.SpianMapper;
+import com.google.common.primitives.Bytes;
+
+
+@Service
+public class SpianServiceNew {
+ @Autowired
+ private SpianMapper spianMapper;
+ //璇诲彇DB105鍖烘枃浠�
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ //璇�106
+ PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
+ // @GetMapping("/all")
+ public Short selectAll(String glassid) {
+
+ int cage1 = 0;
+ int cells;
+ int ids;
+ int prcid;
+ int tiers;
+ int prctier;
+ double width;
+ double minwidth = 0;
+
+ north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟
+ // 濡傛灉娌℃湁姝d鏃�
+ if (glasslist == null) {
+ return (300);
+ }
+
+ double widths = glasslist.getglasslengthmm();
+ String orderids = glasslist.getordernumber();
+ String FrameBarcode = glasslist.getFrameBarcode();
+ // 鑾峰彇閾濇鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
+ List<StorageCage> storageCage = spianMapper.selectAllFbarcode(FrameBarcode, widths, 400);
+ // 鍒ゆ柇閾濇鎸囧畾绌烘牸鏄惁闇�瑕侀棿闅旂┖闂�
+ if (storageCage.size() == 0) {
+ storageCage = spianMapper.selectAll(orderids, FrameBarcode);
+ }
+ if (storageCage == null) {
+ return (400);
+ }
+ for (StorageCage storageCage2 : storageCage) {
+ // 淇濆瓨璁㈠崟浼樺厛椤哄簭绗煎瓙鍙�
+ cage1 = storageCage2.getCage();
+ // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁�
+ int cages = spianMapper.selectCage(cage1);
+
+ // 濡傛灉鐩搁偦绗煎瓙娌℃湁绌烘牸,鎴栬�呮湁姝e湪鎵ц鐨勫嚭鐗囦换鍔℃椂杩斿洖400
+ if (cages == 0) {
+ return (400);
+ }
+ StorageCage cages1;
+ // 鍒ゆ柇鏄惁鏄浜岀墖闇�瑕佸姞闂撮殧鐗�
+ prctier = spianMapper.selectsum(cage1, storageCage2.getCell());// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁�
+ if (prctier > 0) {
+ cages1 = spianMapper.selectCage1(cage1, storageCage2.getCell(), widths + 400);
+ } else {
+ cages1 = spianMapper.selectCage1(cage1, storageCage2.getCell(), widths);
+ }
+ // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍�
+ // 鏈夊悎閫傜┖鏍兼椂杩涚墖
+ if (cages1 != null && cages >= 1 && storageCage2.getDisabled() == 0) {
+ ids = cages1.getId();// 鏁版嵁搴揑D
+ tiers = cages1.getTier();// 鍐呭鐗�
+ cells = cages1.getCell();// 鏍煎瓙鍙�
+ prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
+ width = cages1.getWidth();// 鏍煎瓙鍓╀綑瀹藉害
+ widths = glasslist.getglasslengthmm();
+
+ // 鎵ц杩涚墖
+
+ // 鑾峰彇璇ユ牸瀛愬唴鏄惁鏈夌幓鐠�
+ int cellint = spianMapper.selectcell(cage1, cells);
+ if (cellint == 1) {
+ // 灏嗗鐗囩幓鐠冪殑鏁版嵁鏇存柊鍒板唴鐗�
+ spianMapper.UpdateDBCage(ids, cage1, cells, 1);
+ // 灏嗘柊鍏ョ殑鐜荤拑瀛樺叆澶栫墖
+ spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids - 1, 2);
+ spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
+ } else {
+ // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
+ spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids, 2);
+ spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
+ }
+ // 杩涚墖杞﹁捣濮嬩綅缃�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddStart").getAddress(plcmes.getPlcParameter("AddStart").getAddressIndex()), (short) 1000);
+ // 杩涚墖杞︾洰鏍囦綅缃�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("Addgoal").getAddress(plcmes.getPlcParameter("Addgoal").getAddressIndex()), (short) prcid);
+ // 杩涚墖鐜荤拑瀹�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddLength").getAddress(plcmes.getPlcParameter("AddLength").getAddressIndex()), (short) widths);
+ // 杩涚墖绗煎唴宸叉湁鐜荤拑鏁�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddCount").getAddress(plcmes.getPlcParameter("AddCount").getAddressIndex()), (short) prctier);
+ // 杩涚墖杞﹀惎鍔� 1涓哄惎鍔�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
+ String activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
+ int activate2 = 0;
+ if (activate.equals("1")) {
+ activate2 = 1;
+ }else{
+ while (activate.equals("1")) {
+ // 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
+ activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
+ }
+ }
+ outmesid(glassid, "FeedID");//娲惧彂id
+ spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,activate2);// 鏂板浠诲姟
+ return (200);
+
+ }
+
+ }
+ return (400);
+
+ }
+
+ public Short selectout2(String glassid) {
+ char[] a = glassid.toCharArray();
+ List<Short> datas = new ArrayList<>();
+ // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
+ StorageCage cageout = spianMapper.selectOut2(glassid);
+ if (cageout == null) {
+ return (300);
+ }
+
+ int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
+ int cell = cageout.getCell();// 鍑虹墖鏍煎彿
+ int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
+ int prcid = cageout.getPrcId();// prcid
+ int prcid2;
+ int ids;
+ int cages;
+ int cells;
+ double glasswidth = cageout.getGlassWidth();
+ int state = spianMapper.selectGlassState(cage, cell);// 鑾峰彇鏍煎瓙鏁伴噺
+ // 鍒ゆ柇鐜荤拑鍐呭鐗�
+ if (tier == 2) {
+
+ // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
+ spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
+ spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
+ spianMapper.UpdataGlassCageState(glassid.toString(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
+ spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state, 3);// 鏂板浠诲姟
+
+ } else {
+ // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
+
+ // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
+ if (state == 1) {
+ spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
+ spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
+ spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
+ spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1,3);// 鏂板浠诲姟
+
+
+ } else {
+ // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
+ if (cage < 6) {
+ StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6, cell);
+ if (cagecell == null) {
+ return (300);
+ }
+ // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
+ prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
+ ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+ cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
+ cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
+ // 鏇存崲鐜荤拑鐨勭瀛�
+ String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
+ spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
+ spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+ spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
+ spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
+ spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids, 2, 3);// 鏂板璋冨害浠诲姟
+
+ } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
+ StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11, cell);
+ if (cagecell == null) {
+ return (300);
+ }
+ // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
+ prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
+ ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+ cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
+ cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
+ String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
+ spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
+ spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids, 2, 3);// 鏂板璋冨害浠诲姟
+ spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+ spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
+ spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
+
+
+ }
+ //鍙戦�乸lc浠诲姟
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddStart").getAddress(plcmes.getPlcParameter("AddStart").getAddressIndex()), (short) prcid);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("Addgoal").getAddress(plcmes.getPlcParameter("Addgoal").getAddressIndex()), (short) prcid2);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddCount").getAddress(plcmes.getPlcParameter("AddCount").getAddressIndex()), (short) state);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
+ String activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
+ int activate2 = 0;
+ if (activate.equals("1")) {
+ activate2 = 1;
+ }else{
+ while (activate.equals("1")) {
+ // 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
+ activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
+ }
+ }
+ outmesid(glassid, "ReleaseID");//娲惧彂id
+ //鍙戦�佸畬鍊掔墖缁撴潫
+ return (200); // 缁撴潫
+ }
+ }
+ // 鍑虹墖杞﹁捣濮嬩綅缃�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddStart").getAddress(plcmes.getPlcParameter("OutStart").getAddressIndex()), (short) prcid);
+ // 鍑虹墖杞︾洰鏍囦綅缃�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("Addgoal").getAddress(plcmes.getPlcParameter("Outgoal").getAddressIndex()), (short) 1000);
+ // 鍑虹墖绗煎唴宸叉湁鐜荤拑鏁�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddCount").getAddress(plcmes.getPlcParameter("OutCount").getAddressIndex()), (short) state);
+ // 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("OutActivate").getAddressIndex()), (short) 1);
+ String activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
+ int activate2 = 0;
+ if (activate.equals("1")) {
+ activate2 = 1;
+ }else{
+ while (activate.equals("1")) {
+ // 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
+
+ activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
+ }
+ }
+ outmesid(glassid, "ReleaseID");//娲惧彂id
+ //鐩存帴鍑虹墖缁撴潫
+ return(200);// 缁撴潫
+ }
+
+ // 娲惧彂浠诲姟鐜荤拑id
+ public void outmesid(String glassid, String address) {
+ // System.out.println("outmesid:" + glassid);
+ List<Byte> glassidlist = new ArrayList();
+ char ds[] = glassid.toCharArray();
+ for (char iditem : ds) {
+ glassidlist.add((byte) iditem);
+ }
+ byte[] bytes = Bytes.toArray(glassidlist);
+ System.out.println("outmesidbytes:" + bytes.length);
+ S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(plcmes.getPlcParameter(address).getAddressIndex()),bytes);
+ //S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id
+
+ }
+
+ // 鑾峰彇鍦板潃鍐呯殑鐜荤拑id杞瓧绗︿覆
+ public StringBuilder queGlassid(String address, int count) {
+ StringBuilder writedstrIdOut = new StringBuilder();
+ byte[] writedglassidbytesOut = S7control.getinstance().ReadByte(address, count);
+ if (writedglassidbytesOut != null) {
+ // 鑾峰彇鐜荤拑id
+ for (byte iditem : writedglassidbytesOut) {
+ writedstrIdOut.append((char) iditem);
+ }
+ }
+ return writedstrIdOut;
+ }
+
+ // char鏁扮粍杞寲鎴恇it鏁扮粍
+ public static byte[] toBytes(char[] chars) {
+ String s = new String(chars);
+ return s.getBytes(StandardCharsets.UTF_8);
+ }
+
+ // bit鏁扮粍杞寲鎴恈har鏁扮粍
+ public static char[] toChars(byte[] bytes) {
+ String s = new String(bytes, StandardCharsets.UTF_8);
+ return s.toCharArray();
+ }
+
+ // 鍒ゆ柇闆嗗悎閲屾槸鍚︿负1
+ public boolean listbool(String address) {
+ List<Short> list = S7control.getinstance().ReadWord(address, 1);// 杩斿洖涓簍ure鏃朵负1
+ boolean listbool = list.contains((short) 1);
+ return listbool;
+ }
+
+ // 鏍规嵁鐜荤拑id瀹屾垚鍦ㄨ繘琛屼腑鐨勪换鍔�
+ public void overtask(String glassid) {
+
+ spianMapper.UpdatetaskOut(glassid.toString());// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔�
+ spianMapper.OverOutSlice(glassid.toString(), 2, 1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
+ spianMapper.UpdataGlassCage(glassid.toString(), 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
+ spianMapper.UpdateCageOver(glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
+ spianMapper.UpdateCageadd(glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
+ spianMapper.UpdateAddQueue(glassid.toString());// 鎶婅繘鐗囩殑鐜荤拑鏇存柊鍒板嚭鐗囬槦鍒椾腑
+ }
+
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
index cbbb948..df711b9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -181,25 +181,23 @@
public Result InsertQueueGlassId(Short id, Queue queue) {
Map<String, Object> map = new HashMap<>();
- if (Plchome.FeedState == false) {
- Plchome.FeedState = true;
- Short zhi = 200;
- short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
- if (result > 0) {
- map.put("message", "300");
- } else {
- if (id == 1) {
- // 璋冪敤浼嶅瓨鍌ㄨ繃绋�
- zhi = spianService.selectAll(queue.getglassId());
- if (zhi == 200) {
- homeMapper.InsertQueueGlassId(queue, id);
- }
- }
- map.put("message", zhi);
- }
- Plchome.FeedState = false;
+
+ Short zhi = 200;
+ short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
+ if (result > 0) {
+ map.put("message", "300");
} else {
- map.put("message", 200);
+ if (id == 1) {
+ // 璋冪敤浼嶅瓨鍌ㄨ繃绋�
+ zhi = spianService.selectAll(queue.getglassId());
+ if (zhi == 200) {
+ homeMapper.InsertQueueGlassId(queue, id);
+ }
+ }
+ map.put("message", zhi);
+ }
+ if (zhi != 200) {
+ Plchome.FeedState = true;
}
return Result.success(map);
}
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcSign.json b/springboot-vue3/src/main/resources/JsonFile/PlcSign.json
index b4ba6e6..8f9295a 100644
--- a/springboot-vue3/src/main/resources/JsonFile/PlcSign.json
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcSign.json
@@ -451,5 +451,10 @@
"codeId": "space",
"addressIndex": 111
}
+ ,
+ {
+ "codeId": "space",
+ "addressIndex": 111
+ }
]
}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcState.json b/springboot-vue3/src/main/resources/JsonFile/PlcState.json
index 608180e..dfdbaec 100644
--- a/springboot-vue3/src/main/resources/JsonFile/PlcState.json
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcState.json
@@ -1,6 +1,6 @@
{
"plcAddressBegin": "DB103.0",
- "plcAddressLenght": "256",
+ "plcAddressLenght": "258",
"dataType": "word",
"parameteInfor": [
{
@@ -267,6 +267,19 @@
"addressLenght": "2",
"unit": ""
}
-
+ ,
+ {
+ "codeId": "Scanningguns",
+ "addressIndex": "256",
+ "addressLenght": "2",
+ "unit": ""
+ }
+ ,
+ {
+ "codeId": "Frameid",
+ "addressIndex": "270",
+ "addressLenght": "2",
+ "unit": ""
+ }
]
}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcTest.json b/springboot-vue3/src/main/resources/JsonFile/PlcTest.json
index bfc7602..263c782 100644
--- a/springboot-vue3/src/main/resources/JsonFile/PlcTest.json
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcTest.json
@@ -1,6 +1,6 @@
{
"plcAddressBegin": "DB101.0.0",
- "plcAddressLenght": "92",
+ "plcAddressLenght": "93",
"dataType": "bit",
"parameteInfor": [
{
@@ -370,6 +370,9 @@
{
"codeId": "emgHMI",
"addressIndex": 91
- }
+ },
+ {
+ "codeId": "Scanningmethod",
+ "addressIndex": 92
]
}
\ No newline at end of file
--
Gitblit v1.8.0