CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -181,7 +181,19 @@ }; // 收到消息 socket.onmessage = (msg) => { let isMouseInInputBox = false; // 标记鼠标是否在输入框内 const inputBox = document.querySelectorAll('.input-box'); inputBox.forEach(box => { box.addEventListener('mouseenter', () => { isMouseInInputBox = true; }); box.addEventListener('mouseleave', () => { isMouseInInputBox = false; }); }); socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } @@ -189,17 +201,7 @@ let obj = JSON.parse(msg.data); const jsonData2 = this.jsonData; const handleMouseMove = (event) => { if (!event || !event.target) { return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 } const inputBox = document.querySelectorAll('.input-box'); const target = event.target; const isMouseInInput = Array.from(inputBox).some(box => box.contains(target)); if (!isMouseInInput) { const parms = obj.params; const parms = obj.params; const fanzhuan = obj.fanzhuan; const xiaoche = obj.xiaoche; const dache = obj.dache1; @@ -207,6 +209,9 @@ const parms2 = obj.params2; const fanzhuan2 = obj.fanzhuan2; const xiaoche2 = obj.xiaoche2; if(parms && !isMouseInInputBox){ let index = 0; for (let i = 0; i < jsonData2.length - 1; i++) { @@ -234,10 +239,10 @@ let index2 = 0; for (let i = 5; i < jsonData2.length; i++) { let arr = jsonData2[i]; let arr2 = jsonData2[i]; for (let j = 0; j < arr.length; j++) { let obj2 = arr[j]; for (let j = 0; j < arr2.length; j++) { let obj2 = arr2[j]; if (obj2.type === '0' && Object.prototype.hasOwnProperty.call(obj2, 'value')) { if (Array.isArray(parms2) && Array.isArray(parms2[0]) && parms2[0][index2] !== undefined) { obj2.value = parms2[0][index2]; @@ -246,6 +251,23 @@ } } } for (let i = 0; i < jsonData2.length; i++) { let arr = jsonData2[i]; for (let j = 0; j < arr.length; j++) { let obj = arr[j]; if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) { if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) { obj.value = parms[0][index]; index++; } } } } if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) { jsonData2[8][0]['value'] = fanzhuan2[0][0]; } @@ -253,11 +275,9 @@ jsonData2[9][0]['value'] = xiaoche2[0][0]; } } }; setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 document.addEventListener('mousemove', event => handleMouseMove(event)); }; CanadaMes-ui/src/views/Electrical/ManualJog.vue
@@ -219,7 +219,7 @@ const jsonData2 = this.jsonData; const parms = obj.params; // console.log(obj) // console.log(obj) //console.log(this.jsonData) if(parms){ // 如果鼠标不在输入框内,更新输入框的值 @@ -232,13 +232,18 @@ for (let j = 0; j < arr.length; j++) { let obj = arr[j]; obj.button.value = parms[0][j]; obj.button.value2 =obj.button.value; // obj.button.value2 = parms[0][j]; // obj.button.value2 =obj.button.value; } } jsonData2[1][0].button.value = obj.params[0][26]; jsonData2[1][1].button.value = obj.params[0][27]; CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -431,31 +431,31 @@ }; // 收到消息 socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } let isMouseInInputBox = false; // 标记鼠标是否在输入框内 const inputBox = document.querySelectorAll('.input-box'); inputBox.forEach(box => { box.addEventListener('mouseenter', () => { isMouseInInputBox = true; }); box.addEventListener('mouseleave', () => { isMouseInInputBox = false; }); }); socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } let obj = JSON.parse(msg.data); const jsonData2 = this.jsonData; const weihuiling = obj.weihuiling; const handleMouseMove = (event) => { if (!event || !event.target) { return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 } const inputBox = document.querySelectorAll('.input-box'); const target = event.target; // console.log(obj); const isMouseInInput = Array.from(inputBox).some(box => box.contains(target)); if (!isMouseInInput) { if(obj.zuhe1){ if(obj.zuhe1&& !isMouseInInputBox){ // console.log(obj); // 执行更新逻辑 for (let i = 0; i < 4; i++) { @@ -467,14 +467,8 @@ } } } } // console.log(jsonData2); setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 document.addEventListener('mousemove', event => handleMouseMove(event)); if(obj.zuhe1){ CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -318,10 +318,22 @@ }; // 收到消息 socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } let isMouseInInputBox = false; // 标记鼠标是否在输入框内 const inputBox = document.querySelectorAll('.input-box'); inputBox.forEach(box => { box.addEventListener('mouseenter', () => { isMouseInInputBox = true; }); box.addEventListener('mouseleave', () => { isMouseInInputBox = false; }); }); socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } let obj = JSON.parse(msg.data); @@ -329,21 +341,11 @@ // console.log(obj) const jsonData2 = this.jsonData; const weihuiling = obj.weihuiling; const handleMouseMove = (event) => { if (!event || !event.target) { return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 } const inputBox = document.querySelectorAll('.input-box'); const target = event.target; // console.log(obj); const isMouseInInput = Array.from(inputBox).some(box => box.contains(target)); if (!isMouseInInput) { if (obj.zuhe1 ) { if (obj.zuhe1&& !isMouseInInputBox ) { // 执行更新逻辑 for (let i = 0; i < 2; i++) { jsonData2[i].forEach((item, index) => { @@ -378,13 +380,8 @@ } } } // console.log(jsonData2); setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 document.addEventListener('mousemove', event => handleMouseMove(event)); if(obj.zuhe1){ CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -358,7 +358,7 @@ const parms = obj.params; // console.log(obj); // console.log(obj); // const handleMouseMove = throttle(function(event) { // const inputBox = document.querySelectorAll('.id'); CanadaMes-ui/src/views/Electrical/Positioning1.vue
@@ -236,7 +236,19 @@ }; // 收到消息 socket.onmessage = (msg) => { let isMouseInInputBox = false; // 标记鼠标是否在输入框内 const inputBox = document.querySelectorAll('.input-box'); inputBox.forEach(box => { box.addEventListener('mouseenter', () => { isMouseInInputBox = true; }); box.addEventListener('mouseleave', () => { isMouseInInputBox = false; }); }); socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } @@ -244,50 +256,26 @@ let obj = JSON.parse(msg.data); const jsonData2 = this.jsonData; const handleMouseMove = (event) => { if (!event || !event.target) { return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 } const parms = obj.params; const inputBox = document.querySelectorAll('.input-box'); const target = event.target; const isMouseInInput = Array.from(inputBox).some(box => box.contains(target)); if (!isMouseInInput) { const parms = obj.params; // 如果鼠标不在输入框内,更新输入框的值 // this.submitDataToBackend() // console.log(parms) if(parms){ let index = 0; for (let i = 0; i < jsonData2.length; i++) { let arr = jsonData2[i]; for (let j = 0; j < arr.length; j++) { let obj = arr[j]; if ( obj.type === "0" && Object.prototype.hasOwnProperty.call(obj, "value") ) { obj.value = parms[0][index]; index++; } } } } } if(parms && !isMouseInInputBox){ // 只有在鼠标不在输入框内时才更新数据 // console.log(parms) let index = 0; for (let i = 0; i < jsonData2.length; i++) { let arr = jsonData2[i]; for (let j = 0; j < arr.length; j++) { let obj = arr[j]; if ( obj.type === "0" && Object.prototype.hasOwnProperty.call(obj, "value") ) { obj.value = parms[0][index]; index++; } // console.log(jsonData2); setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 document.addEventListener('mousemove', event => handleMouseMove(event)); } } } }; CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -424,12 +424,23 @@ console.log("websocket已打开"); }; // 收到消息 socket.onmessage = (msg) => { let isMouseInInputBox = false; // 标记鼠标是否在输入框内 const inputBox = document.querySelectorAll('.input-box'); inputBox.forEach(box => { box.addEventListener('mouseenter', () => { isMouseInInputBox = true; }); box.addEventListener('mouseleave', () => { isMouseInInputBox = false; }); }); socket.onmessage = (msg) => { if (!msg.data) { return; // 如果收到空数据,则直接返回,不执行后续逻辑 } let obj = JSON.parse(msg.data); @@ -438,21 +449,11 @@ // console.log(obj) const weihuiling=obj.weihuiling; const jsonData2 = this.jsonData; const handleMouseMove = (event) => { if (!event || !event.target) { return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 } const inputBox = document.querySelectorAll('.input-box'); const target = event.target; // console.log(obj); const isMouseInInput = Array.from(inputBox).some(box => box.contains(target)); if (!isMouseInInput) { if (obj.zuhe1) { if (obj.zuhe1 && !isMouseInInputBox) { //启动按钮 @@ -488,18 +489,9 @@ } } } // console.log(jsonData2); setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 document.addEventListener('mousemove', event => handleMouseMove(event)); if (obj.qidong){ springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java
@@ -42,6 +42,8 @@ List<String> addresses = Arrays.asList(config.getProperty("Auto.addresses").split(",")); List<Short> arraylist2 = S7control.getinstance().readWords(addresses); //System.out.println("lastMessage:" + arraylist2); //翻转 List<Short> fanzhuan2 = S7control.getinstance().ReadWord("DB100.8", 1); List<Short> xiaoche2 = S7control.getinstance().ReadWord("DB100.12", 1); springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
@@ -54,7 +54,7 @@ boolean value = arraylist.get(i); params[i] = value ? (short) 1 : (short) 0; } // System.out.println("messageValue:"+ arraylist ); jsonObject.append("params", params); // System.out.println("messageValue:" + arraylist +"messageValue2:" + arraylist2 ); springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -216,19 +216,25 @@ return s7PLC.readBoolean(addresslist); } //读取不连续地址bit public List<Boolean> readBits(List<String> addressList) { if (s7PLC == null || addressList.isEmpty()) { return null; } public List<Boolean> readBits(List<String> addressList) { if (s7PLC == null || addressList.isEmpty()) { return null; } List<Boolean> values = new ArrayList<>(); for (String address : addressList) { List<Boolean> values = new ArrayList<>(); for (String address : addressList) { try { boolean value = s7PLC.readBoolean(address); values.add(value); } catch (Exception e) { // 处理异常 System.out.println("读取 " + address + " 失败:" + e.getMessage()); } return values; } return values; } //读取String public List<String> readStrings(List<String> addressList) { @@ -307,15 +313,20 @@ List<Short> data = new ArrayList<>(); for (String address : addresses) { try { // 单个地址 Short value = s7PLC.readInt16(address); data.add(value); // 单个地址 Short value = s7PLC.readInt16(address); data.add(value); } catch (Exception e) { System.out.println("读取 " + address + " 失败:" + e.getMessage()); } } return data; } //读取时间 public Long readtime(String address) { if (s7PLC==null) springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,7 +17,7 @@ // System.out.println("启动完成"); // new PlcHold().start(); new PlcHold().start(); new Plchome().start(); @@ -25,7 +25,7 @@ new Plcsign().start(); new Plcstate().start(); new PlcPositioning1().start(); springboot-vue3/src/main/resources/config.properties
@@ -153,7 +153,7 @@ #addresses.add("DB100.36"); #addresses.add("DB100.38"); #addresses.add("DB100.40"); Auto.addresses=DB100.0,DB100.2,DB100.4,DB100.6,DB100.26,DB100.28,DB100.30,DB100.32,DB100.36,DB100.38,DB100.40 Auto.addresses=DB100.0,DB100.2,DB100.4,DB100.6,DB100.26,DB100.28,DB100.30,DB100.32,DB100.34,DB100.36,DB100.38,DB100.40 #List<String> waddresses1 = new ArrayList<>(); #waddresses1.add("DB100.0");