| | |
| | | } |
| | | |
| | | |
| | | ], |
| | | [ |
| | | { |
| | | "button": { |
| | | "name": "A01行走伺服回零", |
| | | "value": 0, |
| | | "value2": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02行走伺服回零", |
| | | "value": 0, |
| | | "value2": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | } |
| | | |
| | | |
| | | ] |
| | | ] |
| | |
| | | "A01输送反向": "A01 VFD conveyor reverse",
|
| | | "A02输送反向": "A02 VFD conveyor reverse",
|
| | | "A01注电泵": "A01 oil pump",
|
| | | "A02注电泵": "A02 oil pump"
|
| | | "A02注电泵": "A02 oil pump",
|
| | | "A01行走伺服回零":"A01 SERVE TRAVEL Home",
|
| | | "A02行走伺服回零":"A02 SERVE TRAVEL Home"
|
| | | }
|
| | |
|
| | |
|
| | |
| | | <script> |
| | | import LanguageMixin from '../../lang/LanguageMixin' |
| | | import data from '../../configuration/AutomaticParameterSetting' |
| | | import { throttle } from 'lodash'; |
| | | |
| | | let socket; |
| | | |
| | | export default { |
| | |
| | | |
| | | // 收到消息 |
| | | socket.onmessage = (msg) => { |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | const jsonData2 = this.jsonData; |
| | | // console.log(obj); |
| | | const handleMouseMove = throttle(function (event) { |
| | | let obj = JSON.parse(msg.data); |
| | | const jsonData2 = this.jsonData; |
| | | |
| | | const inputBox = document.querySelectorAll('.input-box'); |
| | | const target = event.target; |
| | | if (inputBox && Array.from(inputBox).every(box => !box.contains(target))) { |
| | | const parms = obj.params; |
| | | const fanzhuan = obj.fanzhuan; |
| | | const xiaoche = obj.xiaoche; |
| | | const dache = obj.dache1; |
| | | const handleMouseMove = (event) => { |
| | | if (!event || !event.target) { |
| | | return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 |
| | | } |
| | | |
| | | const parms2 = obj.params2; |
| | | const fanzhuan2 = obj.fanzhuan2; |
| | | const xiaoche2 = obj.xiaoche2; |
| | | const inputBox = document.querySelectorAll('.input-box'); |
| | | const target = event.target; |
| | | const isMouseInInput = Array.from(inputBox).some(box => box.contains(target)); |
| | | |
| | | // console.log('parms:', parms); |
| | | // console.log('fanzhuan:', fanzhuan); |
| | | // console.log('xiaoche:', xiaoche); |
| | | // console.log('dache:', dache); |
| | | if (!isMouseInInput) { |
| | | const parms = obj.params; |
| | | const fanzhuan = obj.fanzhuan; |
| | | const xiaoche = obj.xiaoche; |
| | | const dache = obj.dache1; |
| | | |
| | | let index = 0; |
| | | for (let i = 0; i < jsonData2.length - 1; i++) { |
| | | let arr = jsonData2[i]; |
| | | const parms2 = obj.params2; |
| | | const fanzhuan2 = obj.fanzhuan2; |
| | | const xiaoche2 = obj.xiaoche2; |
| | | |
| | | 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(fanzhuan) && Array.isArray(fanzhuan[0]) && fanzhuan[0][0] !== undefined) { |
| | | jsonData2[4][0]['value'] = fanzhuan[0][0]; |
| | | } |
| | | if (Array.isArray(xiaoche) && Array.isArray(xiaoche[0]) && xiaoche[0][0] !== undefined) { |
| | | jsonData2[3][0]['value'] = xiaoche[0][0]; |
| | | } |
| | | if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) { |
| | | jsonData2[2][0]['value'] = dache[0][0]; |
| | | } |
| | | |
| | | let index = 0; |
| | | for (let i = 0; i < jsonData2.length - 1; i++) { |
| | | let arr = jsonData2[i]; |
| | | |
| | | |
| | | |
| | | |
| | | let index2 = 0; |
| | | for (let i =5; i < jsonData2.length; i++) { |
| | | let arr = jsonData2[i]; |
| | | |
| | | for (let j = 0; j < arr.length; j++) { |
| | | let obj2 = arr[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]; |
| | | index2++; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) { |
| | | jsonData2[8][0]['value'] = fanzhuan2[0][0]; |
| | | } |
| | | if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) { |
| | | jsonData2[9][0]['value'] = xiaoche2[0][0]; |
| | | } |
| | | |
| | | 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(fanzhuan) && Array.isArray(fanzhuan[0]) && fanzhuan[0][0] !== undefined) { |
| | | jsonData2[4][0]['value'] = fanzhuan[0][0]; |
| | | } |
| | | if (Array.isArray(xiaoche) && Array.isArray(xiaoche[0]) && xiaoche[0][0] !== undefined) { |
| | | jsonData2[3][0]['value'] = xiaoche[0][0]; |
| | | } |
| | | if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) { |
| | | jsonData2[2][0]['value'] = dache[0][0]; |
| | | } |
| | | |
| | | let index2 = 0; |
| | | for (let i = 5; i < jsonData2.length; i++) { |
| | | let arr = jsonData2[i]; |
| | | |
| | | for (let j = 0; j < arr.length; j++) { |
| | | let obj2 = arr[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]; |
| | | index2++; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) { |
| | | jsonData2[8][0]['value'] = fanzhuan2[0][0]; |
| | | } |
| | | if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) { |
| | | jsonData2[9][0]['value'] = xiaoche2[0][0]; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 |
| | | |
| | | |
| | | |
| | | }, 50); |
| | | |
| | | document.addEventListener('mouseover', handleMouseMove); |
| | | }; |
| | | |
| | | document.addEventListener('mousemove', event => handleMouseMove(event)); |
| | | }; |
| | | |
| | | |
| | | |
| | |
| | | }); |
| | | |
| | | |
| | | console.log(this.jsonData) |
| | | //console.log(this.jsonData) |
| | | |
| | | } |
| | | |
| | |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" style="margin: 10px;"> |
| | | <el-button v-if="item.button" v-model="item.button.value" :name="item.button.name" style='width:200px;' |
| | | :class="{ 'dow': item.button.value === 0, 'op': item.button.value === 1 }" class="action-button" |
| | | @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend();">{{ |
| | | @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ |
| | | item.button.name |
| | | }}</el-button> |
| | | </div> |
| | |
| | | <script> |
| | | import LanguageMixin from '../../lang/LanguageMixin' |
| | | import data from '../../configuration/ManualJog' |
| | | import {SelectPassword} from "../../api/home"; |
| | | let socket; |
| | | export default { |
| | | name: "ManualJog", |
| | | mixins: [LanguageMixin], |
| | | data () { |
| | | return { |
| | | jsonData: data // 加载整个data.json文件作为jsonData |
| | | jsonData: data, // 加载整个data.json文件作为jsonData |
| | | password: 1, |
| | | } |
| | | }, |
| | | activated () { |
| | | |
| | | |
| | | this.initWebSocket(); |
| | | const language = this.$i18n.locale; |
| | |
| | | } |
| | | // this.$forceUpdate(); |
| | | |
| | | |
| | | SelectPassword().then(res => { |
| | | this.password = res.data.password; |
| | | console.log(this.password) |
| | | }); |
| | | }, |
| | | methods: { |
| | | closeSocket () { |
| | |
| | | this.$set(dataGroup[itemIndex].button, 'value2', 0); |
| | | } |
| | | }, |
| | | submitDataToBackend () { |
| | | const inputData = this.jsonData.map(dataGroup => { |
| | | return dataGroup.map(item => { |
| | | if (item.type === '3') { |
| | | return { value: item.button.value2 }; |
| | | submitDataToBackend (currentButtonName) { |
| | | |
| | | if (currentButtonName === 'A01 SERVE TRAVEL Home' || currentButtonName === 'A02 SERVE TRAVEL Home' || currentButtonName === 'A01行走伺服回零' || currentButtonName === 'A02行走伺服回零') { |
| | | this.$prompt( |
| | | this.$t('Are you sure to perform this operation?'), |
| | | this.$t('prompt'), |
| | | { |
| | | inputType: 'password', |
| | | inputPlaceholder: this.$t('Please enter the password'), |
| | | confirmButtonText: this.$t('Yes'), |
| | | cancelButtonText: this.$t('No'), |
| | | type: 'warning', |
| | | } |
| | | return null; |
| | | ).then(({ value }) => { |
| | | // 验证密码是否正确 |
| | | if (value !== this.password) { |
| | | this.$message.error(this.$t('Incorrect password')); |
| | | return; |
| | | } |
| | | |
| | | // 密码正确,继续提交数据到后端 |
| | | const inputData = this.jsonData.map(dataGroup => { |
| | | return dataGroup.map(item => { |
| | | if (item.type === '3') { |
| | | return { value: item.button.value2 }; |
| | | } |
| | | return null; |
| | | }); |
| | | }); |
| | | |
| | | const values = inputData.flat().filter(item => item !== null).map(item => item.value); |
| | | |
| | | const jsonObject = { data: values }; |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log('Type为3的value:', jsonString); |
| | | socket?.send(jsonString); |
| | | |
| | | }).catch(() => { |
| | | // 取消操作 |
| | | console.log('取消'); |
| | | }); |
| | | }); |
| | | } else { |
| | | // 如果不是 A01 SERVE TRAVEL Home 按钮,继续提交数据到后端 |
| | | const inputData = this.jsonData.map(dataGroup => { |
| | | return dataGroup.map(item => { |
| | | if (item.type === '3') { |
| | | return { value: item.button.value2 }; |
| | | } |
| | | return null; |
| | | }); |
| | | }); |
| | | |
| | | const values = inputData.flat().filter(item => item !== null).map(item => item.value); |
| | | const values = inputData.flat().filter(item => item !== null).map(item => item.value); |
| | | |
| | | const jsonObject = { data: values }; |
| | | const jsonObject = { data: values }; |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log('Type为3的value:', jsonString); |
| | | socket?.send(jsonString); |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log('Type为3的value:', jsonString); |
| | | socket?.send(jsonString); |
| | | } |
| | | }, |
| | | //根据读取PLC的值,根据名称改变颜色1打开,0关闭 |
| | | // getStatusClass (zhuangtai) { |
| | |
| | | |
| | | const jsonData2 = this.jsonData; |
| | | const parms = obj.params; |
| | | console.log(obj) |
| | | // console.log(obj) |
| | | //console.log(this.jsonData) |
| | | if(parms){ |
| | | // 如果鼠标不在输入框内,更新输入框的值 |
| | | // this.submitDataToBackend() |
| | |
| | | for (let j = 0; j < arr.length; j++) { |
| | | let obj = arr[j]; |
| | | obj.button.value = parms[0][j]; |
| | | obj.button.value2 =obj.button.value; |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | <script>
|
| | | import LanguageMixin from '../../lang/LanguageMixin'
|
| | | import data from '../../configuration/Manualoneposition'
|
| | | import { throttle } from 'lodash';
|
| | |
|
| | | import ManualonePosition2 from './ManualonePosition2.vue';
|
| | | let socket;
|
| | | export default {
|
| | |
| | | }
|
| | |
|
| | | if (currentButtonName === '故障' || currentButtonName === 'Fault') {
|
| | | return false;
|
| | |
|
| | | const data2 = [];
|
| | | const resetButtonValues = this.jsonData.map(item => {
|
| | | // const buttonItem = item.find(subItem => subItem.button && subItem.button.name === '故障' || subItem.button.name === 'Fault');
|
| | | const buttonItem = item.find(subItem => subItem.button && ['故障', 'Fault'].includes(subItem.button.name));
|
| | | return buttonItem ? buttonItem.button.value : null;
|
| | | }).filter(value => value !== null);
|
| | | // const data2 = [];
|
| | | // const resetButtonValues = this.jsonData.map(item => {
|
| | | // // const buttonItem = item.find(subItem => subItem.button && subItem.button.name === '故障' || subItem.button.name === 'Fault');
|
| | | // const buttonItem = item.find(subItem => subItem.button && ['故障', 'Fault'].includes(subItem.button.name));
|
| | | // return buttonItem ? buttonItem.button.value : null;
|
| | | // }).filter(value => value !== null);
|
| | |
|
| | | // 将得到的值添加到 data 数组中
|
| | | data2.push(...resetButtonValues);
|
| | | data2.unshift([], [], [], []);
|
| | | const jsonObject2 = { data:data2 };
|
| | | data.push([],[]);
|
| | | // // 将得到的值添加到 data 数组中
|
| | | // data2.push(...resetButtonValues);
|
| | | // data2.unshift([], [], [], []);
|
| | | // const jsonObject2 = { data:data2 };
|
| | | // data.push([],[]);
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString2 = JSON.stringify(jsonObject2);
|
| | | console.log('所有故障的value:', jsonString2);
|
| | | socket?.send(jsonString2);
|
| | | // // 提交数据到后端
|
| | | // const jsonString2 = JSON.stringify(jsonObject2);
|
| | | // console.log('所有故障的value:', jsonString2);
|
| | | // socket?.send(jsonString2);
|
| | |
|
| | |
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | let obj = JSON.parse(msg.data);
|
| | | // console.log(obj);
|
| | | const jsonData2 = this.jsonData;
|
| | | const weihuiling = obj.weihuiling;
|
| | | const handleMouseMove = throttle(function (event) {
|
| | | const inputBox = document.querySelectorAll('.el-card__body');
|
| | | const target = event.target;
|
| | | if (obj.zuhe1 &&inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
|
| | | 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){
|
| | |
|
| | |
|
| | | |
| | | // 执行更新逻辑
|
| | | for (let i = 0; i < 4; i++) {
|
| | | jsonData2[i].forEach((item, index) => {
|
| | |
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | |
| | |
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | | }, 50);
|
| | | }
|
| | |
|
| | | document.addEventListener('mouseover', handleMouseMove);
|
| | | // console.log(jsonData2);
|
| | | setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置
|
| | |
|
| | | document.addEventListener('mousemove', event => handleMouseMove(event));
|
| | |
|
| | |
|
| | |
|
| | | if(obj.zuhe1){
|
| | |
| | | <script>
|
| | | import LanguageMixin from '../../lang/LanguageMixin'
|
| | | import data from '../../configuration/Manualoneposition2'
|
| | | import { throttle } from 'lodash';
|
| | |
|
| | | let socket;
|
| | | export default {
|
| | | name: "ManualonePosition2",
|
| | |
| | | }
|
| | |
|
| | | if (currentButtonName === '故障' || currentButtonName === 'Fault') {
|
| | | return false;
|
| | |
|
| | | const data2 = [];
|
| | | const resetButtonValues = this.jsonData.map(item => {
|
| | | const buttonItem = item.find(subItem => subItem.button && ['故障', 'Fault'].includes(subItem.button.name));
|
| | | // const data2 = [];
|
| | | // const resetButtonValues = this.jsonData.map(item => {
|
| | | // const buttonItem = item.find(subItem => subItem.button && ['故障', 'Fault'].includes(subItem.button.name));
|
| | |
|
| | | return buttonItem ? buttonItem.button.value : null;
|
| | | }).filter(value => value !== null);
|
| | | // return buttonItem ? buttonItem.button.value : null;
|
| | | // }).filter(value => value !== null);
|
| | |
|
| | | // 将得到的值添加到 data 数组中
|
| | | data2.push(...resetButtonValues);
|
| | | data2.unshift([], []);
|
| | | const jsonObject2 = { data2 };
|
| | | data2.push([], []);
|
| | | // // 将得到的值添加到 data 数组中
|
| | | // data2.push(...resetButtonValues);
|
| | | // data2.unshift([], []);
|
| | | // const jsonObject2 = { data2 };
|
| | | // data2.push([], []);
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString2 = JSON.stringify(jsonObject2);
|
| | | console.log('所有故障的value:', jsonString2);
|
| | | socket?.send(jsonString2);
|
| | | // // 提交数据到后端
|
| | | // const jsonString2 = JSON.stringify(jsonObject2);
|
| | | // console.log('所有故障的value:', jsonString2);
|
| | | // socket?.send(jsonString2);
|
| | |
|
| | |
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | let obj = JSON.parse(msg.data);
|
| | |
|
| | |
|
| | | // console.log(obj)
|
| | | const jsonData2 = this.jsonData;
|
| | | const weihuiling = obj.weihuiling;
|
| | | const handleMouseMove = throttle(function (event) {
|
| | | const inputBox = document.querySelectorAll('.el-card__body');
|
| | | const target = event.target;
|
| | | if (obj.zuhe1 && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
|
| | | 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 ) {
|
| | | // 执行更新逻辑
|
| | | for (let i = 0; i < 2; i++) {
|
| | | jsonData2[i].forEach((item, index) => {
|
| | |
| | |
|
| | |
|
| | | }
|
| | | }, 50);
|
| | | |
| | |
|
| | | document.addEventListener('mouseover', handleMouseMove);
|
| | | }
|
| | | |
| | | }
|
| | | // console.log(jsonData2);
|
| | | setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置
|
| | |
|
| | | document.addEventListener('mousemove', event => handleMouseMove(event));
|
| | |
|
| | |
|
| | | if(obj.zuhe1){
|
| | |
| | | if (typeof WebSocket === "undefined") {
|
| | | console.log("您的浏览器不支持WebSocket");
|
| | | } else {
|
| | | let socketUrl = "ws://" + "localhost:8888" + "/springboot-vue3/api/talk/" + viewname;
|
| | | let socketUrl = "ws://" + "192.168.10.21:8888" + "/springboot-vue3/api/talk/" + viewname;
|
| | |
|
| | | if (socket != null) {
|
| | | socket.close();
|
| | |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | // console.log('提交以下数据到后端:', jsonString); |
| | | console.log('提交以下数据到后端:', jsonString); |
| | | socket?.send(jsonString); |
| | | }, |
| | | initWebSocket() { |
| | |
| | | |
| | | // 收到消息 |
| | | socket.onmessage = (msg) => { |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | const jsonData2 = this.jsonData; |
| | | document.addEventListener("mouseover", function (event) { |
| | | const inputBox = document.querySelectorAll(".input-box"); |
| | | const target = event.target; |
| | | 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; |
| | | if ( |
| | | parms && |
| | | inputBox && |
| | | Array.from(inputBox).every((box) => !box.contains(target)) |
| | | ) { |
| | | |
| | | // 如果鼠标不在输入框内,更新输入框的值 |
| | | // this.submitDataToBackend() |
| | | |
| | | // console.log(parms) |
| | | if(parms){ |
| | | |
| | | |
| | | |
| | | let index = 0; |
| | | for (let i = 0; i < jsonData2.length; i++) { |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // console.log(jsonData2); |
| | | } |
| | | }); |
| | | }; |
| | | setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 |
| | | |
| | | document.addEventListener('mousemove', event => handleMouseMove(event)); |
| | | }; |
| | | |
| | | |
| | | // 关闭事件 |
| | | socket.onclose = function () { |
| | |
| | | <script> |
| | | import LanguageMixin from '../../lang/LanguageMixin' |
| | | import data from '../../configuration/ServoManualone' |
| | | import { throttle } from 'lodash'; |
| | | |
| | | let socket; |
| | | export default { |
| | |
| | | } |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | |
| | | |
| | | |
| | | |
| | | // console.log(obj) |
| | | const weihuiling=obj.weihuiling; |
| | | const jsonData2 = this.jsonData; |
| | | const handleMouseMove = (event) => { |
| | | if (!event || !event.target) { |
| | | return; // 如果 event 或 event.target 不存在,则直接返回,不执行后续逻辑 |
| | | } |
| | | |
| | | const handleMouseMove = throttle(function(event) { |
| | | const inputBox = document.querySelectorAll('.el-card__body'); |
| | | const target = event.target; |
| | | if (obj.zuhe1 && inputBox && Array.from(inputBox).every(box => !box.contains(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) { |
| | | |
| | | //启动按钮 |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | }, 50); |
| | | |
| | | document.addEventListener('mouseover', handleMouseMove); |
| | | } |
| | | |
| | | } |
| | | // console.log(jsonData2); |
| | | setInterval(() => handleMouseMove(event), 1000); // 每隔 1000ms 检测一次鼠标位置 |
| | | |
| | | document.addEventListener('mousemove', event => handleMouseMove(event)); |
| | | |
| | | if (obj.qidong){ |
| | | |
| | |
| | | <template> |
| | | <div class="container"> |
| | | <iframe src="http://localhost:8080/GERP/optimize/optimize/html/youhuacaidan.jsp"></iframe> |
| | | <!-- <iframe src="http://localhost:8080/GERP/optimize/optimize/html/youhuacaidan.jsp"></iframe> --> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <style> |
| | | .container { |
| | | position: fixed; |
| | |
| | | |
| | | public class PLCAutomaticParameterSetting extends Thread { |
| | | |
| | | // 用于存储应用程序的配置信息 |
| | | private Configuration config; |
| | | |
| | | // 创建一个自定义的 S7 控制器消息处理器对象 |
| | | MessageHandler customS7Control = new MessageHandler(); |
| | | |
| | | |
| | | public PLCAutomaticParameterSetting() throws IOException { |
| | | config = new Configuration("config.properties"); |
| | | } |
| | | @Override |
| | | public void run() { |
| | | while (this != null) { |
| | |
| | | |
| | | |
| | | // System.out.println(stt); |
| | | |
| | | List<Short> arraylist = S7control.getinstance().ReadWord("DB100.120", 8); |
| | | List<Short> dache1 = S7control.getinstance().ReadWord("DB100.18", 1); |
| | | List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.22", 1); |
| | | List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.14", 1); |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("DB100.0"); |
| | | addresses.add("DB100.2"); |
| | | addresses.add("DB100.4"); |
| | | addresses.add("DB100.6"); |
| | | addresses.add("DB100.26"); |
| | | addresses.add("DB100.28"); |
| | | addresses.add("DB100.30"); |
| | | addresses.add("DB100.32"); |
| | | addresses.add("DB100.34"); |
| | | addresses.add("DB100.36"); |
| | | addresses.add("DB100.38"); |
| | | addresses.add("DB100.40"); |
| | | |
| | | List<String> addresses = Arrays.asList(config.getProperty("Auto.addresses").split(",")); |
| | | |
| | | List<Short> arraylist2 = S7control.getinstance().readWords(addresses); |
| | | //翻转 |
| | | List<Short> fanzhuan2 = S7control.getinstance().ReadWord("DB100.8", 1); |
| | |
| | | System.out.println("messageValue:" + mergedList + " written to PLC at address " + addressList1); |
| | | } |
| | | |
| | | List<String> waddresses1 = Arrays.asList(config.getProperty("Auto.shusong").split(",")); |
| | | |
| | | List<String> waddresses1 = new ArrayList<>(); |
| | | waddresses1.add("DB100.0"); |
| | | waddresses1.add("DB100.2"); |
| | | waddresses1.add("DB100.4"); |
| | | waddresses1.add("DB100.6"); |
| | | waddresses1.add("DB100.26"); |
| | | waddresses1.add("DB100.28"); |
| | | waddresses1.add("DB100.30"); |
| | | waddresses1.add("DB100.32"); |
| | | waddresses1.add("DB100.34"); |
| | | waddresses1.add("DB100.36"); |
| | | waddresses1.add("DB100.38"); |
| | | waddresses1.add("DB100.40"); |
| | | |
| | | String addressList22 = "DB100.8"; |
| | | String addressList33 = "DB100.12"; |
| | |
| | | } catch (InterruptedException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | // this.readValue();
|
| | | // String PlcAddress = this.name;
|
| | | // Integer Plccount = this.count;
|
| | |
|
| | | // System.out.println(stt);
|
| | |
|
| | |
|
| | | List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
|
| | |
|
| | | List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
|
| | | List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
|
| | |
|
| | | List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
|
| | | // Boolean[] values1 = { false, true, true, true, false, false, true, false,
|
| | | // false, true, true, true, false, false,
|
| | | // true, false,false, true, true, true, false, false, true, false,
|
| | | // false, true, false, true };
|
| | | // List<Boolean> arraylist = new ArrayList<>(Arrays.asList(values1));
|
| | |
|
| | | // Boolean[] values1 = { false, true, true, true, false, false, true, false,
|
| | | // false, true, true, true, false, false,
|
| | | // true, false };
|
| | | // List<Boolean> arraylist = new ArrayList<>(Arrays.asList(values1));
|
| | | // Boolean[] values2 = { false, true, true, true, false, false, true, false };
|
| | | // List<Boolean> arraylist2 = new ArrayList<>(Arrays.asList(values2));
|
| | | // Boolean[] values3 = { false, false };
|
| | | // List<Boolean> arraylist3 = new ArrayList<>(Arrays.asList(values3));
|
| | |
|
| | |
|
| | | JSONObject jsonObject = new JSONObject();
|
| | |
| | | List<Boolean> bolList = new ArrayList<>();
|
| | |
|
| | |
|
| | | for (int i = 0; i < 26 && i < messageBooleans.size(); i++) {
|
| | | for (int i = 0; i < 28 && i < messageBooleans.size(); i++) {
|
| | | bolList.add(messageBooleans.get(i));
|
| | | }
|
| | |
|
| | |
|
| | | if (!bolList.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(addressList21, bolList);
|
| | | S7control.getinstance().WriteBit(addressList21, bolList);
|
| | | System.out.println("messageValue:" + bolList + " written to PLC at address " + addressList21);
|
| | | }
|
| | |
|
| | |
| | | addresses.add("DB100.116");
|
| | | addresses.add("DB100.16");
|
| | |
|
| | | addresses.add("DB103.20");
|
| | | addresses.add("DB106.2");
|
| | | List<Short> arraylist = S7control.getinstance().readWords(addresses);
|
| | | // System.out.println(arraylist);
|
| | |
|
| | |
| | | |
| | | public class PlcParameter2 extends Thread { |
| | | |
| | | // 用于存储应用程序的配置信息 |
| | | private Configuration config; |
| | | |
| | | // 创建一个自定义的 S7 控制器消息处理器对象 |
| | | MessageHandler customS7Control = new MessageHandler(); |
| | | |
| | | |
| | | public PlcParameter2() throws IOException { |
| | | config = new Configuration("config.properties"); |
| | | } |
| | | |
| | | @Override |
| | | public void run() { |
| | |
| | | } |
| | | |
| | | // id |
| | | List<String> addressList1 = new ArrayList<>(); |
| | | |
| | | addressList1.add("DB103.44");//D01 |
| | | addressList1.add("DB103.58");//D02 |
| | | addressList1.add("DB103.72");//D03 |
| | | addressList1.add("DB103.86");//D04 |
| | | addressList1.add("DB103.100");//D05 |
| | | addressList1.add("DB103.114");//D06 |
| | | addressList1.add("DB103.128");//A01 |
| | | addressList1.add("DB103.142");//A01 2 |
| | | addressList1.add("DB103.156");//A02 |
| | | addressList1.add("DB103.184");//B01 |
| | | addressList1.add("DB103.212");//B02 |
| | | |
| | | List<String> addressList1 = Arrays.asList(config.getProperty("Parameter2.id").split(",")); |
| | | |
| | | List<String> paramlist = S7control.getinstance().readStrings(addressList1); |
| | | |
| | | |
| | | //手动状态 |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("DB103.0"); |
| | | addresses.add("DB103.2"); |
| | | addresses.add("DB103.12"); |
| | | addresses.add("DB103.14"); |
| | | addresses.add("DB103.16"); |
| | | addresses.add("DB103.18"); |
| | | addresses.add("DB103.8"); |
| | | addresses.add("DB103.10"); |
| | | addresses.add("DB103.4"); |
| | | addresses.add("DB103.6"); |
| | | List<String> addresses = Arrays.asList(config.getProperty("Parameter2.state").split(",")); |
| | | |
| | | List<Short> data = S7control.getinstance().readWords(addresses); |
| | | |
| | | |
| | | //清除id |
| | | List<String> addressList0 = new ArrayList<>(); |
| | | List<String> addressList0 = Arrays.asList(config.getProperty("Parameter2.cleanid").split(",")); |
| | | |
| | | addressList0.add("DB101.9.2"); |
| | | addressList0.add("DB101.9.3"); |
| | | addressList0.add("DB101.9.4"); |
| | | addressList0.add("DB101.9.5"); |
| | | addressList0.add("DB101.9.6"); |
| | | addressList0.add("DB101.9.7"); |
| | | |
| | | addressList0.add("DB101.10.0"); |
| | | addressList0.add("DB101.10.1"); |
| | | addressList0.add("DB101.10.2"); |
| | | addressList0.add("DB101.10.3"); |
| | | |
| | | // 扫码枪 |
| | | List<Boolean> data2 = S7control.getinstance().readBits(addressList0); |
| | | List<String> addressList3 = new ArrayList<>(); |
| | | addressList3.add("DB103.256"); |
| | | addressList3.add("DB103.270"); |
| | | List<String> addressList3 = Arrays.asList(config.getProperty("Parameter2.scanner").split(",")); |
| | | |
| | | //急停按钮 |
| | | List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(",")); |
| | | |
| | | List<String> niuanaddressList3 = new ArrayList<>(); |
| | | |
| | | niuanaddressList3.add("DB101.10.4"); |
| | | List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3); |
| | | |
| | | |
| | | List<String> data3 = S7control.getinstance().readStrings(addressList3); |
| | | // A01 A02 B01 B02 |
| | | List<String> addresses4 = new ArrayList<>(); |
| | | addresses4.add("DB103.32"); |
| | | addresses4.add("DB103.34"); |
| | | addresses4.add("DB103.36"); |
| | | addresses4.add("DB103.40"); |
| | | |
| | | List<String> addresses4 = Arrays.asList(config.getProperty("Parameter2.Currentcell").split(",")); |
| | | |
| | | |
| | | List<Short> data4 = S7control.getinstance().readWords(addresses4); |
| | | |
| | |
| | | |
| | | |
| | | List<String> messages = webserver.getMessages(); |
| | | List<String> addressList = new ArrayList<>(); |
| | | |
| | | addressList.add("DB101.9.2"); |
| | | addressList.add("DB101.9.3"); |
| | | addressList.add("DB101.9.4"); |
| | | addressList.add("DB101.9.5"); |
| | | addressList.add("DB101.9.6"); |
| | | addressList.add("DB101.9.7"); |
| | | addressList.add("DB101.10.0"); |
| | | addressList.add("DB101.10.1"); |
| | | addressList.add("DB101.10.2"); |
| | | addressList.add("DB101.10.3"); |
| | | |
| | | |
| | | if (!messages.isEmpty()) { |
| | |
| | | // System.out.println("lastMessage:" + lastMessage); |
| | | JSONArray messageArray = new JSONArray(lastMessage); |
| | | //清除ID |
| | | customS7Control.writeBitToPLC(messageArray, addressList, 0); |
| | | customS7Control.writeBitToPLC(messageArray, addressList0, 0); |
| | | //急停 |
| | | customS7Control.writeBitToPLC(messageArray, niuanaddressList3, 1); |
| | | |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | |
| | |
|
| | | // System.out.println(stt);
|
| | | //存片格 出片格读取
|
| | | List<Short> arraylist = S7control.getinstance().ReadWord("DB100.42", 33);
|
| | | List<Short> arraylist = S7control.getinstance().ReadWord("DB100.42", 33);
|
| | | // System.out.println(arraylist);
|
| | | // Short[] 存片 = { 1 };
|
| | | // List<Short> 存片1 = new ArrayList<>(Arrays.asList(存片));
|
| | | // Short[] 接片 = { 1 };
|
| | | // List<Short> 接片1 = new ArrayList<>(Arrays.asList(接片));
|
| | | // Short[] 间距 = { 1 };
|
| | | // List<Short> 间距1 = new ArrayList<>(Arrays.asList(间距));
|
| | | // Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15,16,17,18,19,20 };
|
| | |
|
| | |
|
| | | // Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15,16,17,18,19,20,11, 12,13,14,15,16,17,18,19,20 };
|
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
|
| | |
|
| | |
|
| | |
| | | #Parameter2--------------------------
|
| | |
|
| | | #id
|
| | | #addressList1.add("DB103.44");//D01
|
| | | #addressList1.add("DB103.58");//D02
|
| | | #addressList1.add("DB103.72");//D03
|
| | | #addressList1.add("DB103.86");//D04
|
| | | #addressList1.add("DB103.100");//D05
|
| | | #addressList1.add("DB103.114");//D06
|
| | | #addressList1.add("DB103.128");//A01
|
| | | #addressList1.add("DB103.142");//A01 2
|
| | | #addressList1.add("DB103.156");//A02
|
| | | #addressList1.add("DB103.184");//B01
|
| | | #addressList1.add("DB103.212");//B02
|
| | | Parameter2.id=DB103.44,DB103.58,DB103.72,DB103.86,DB103.100,DB103.114,DB103.128,DB103.142,DB103.156,DB103.184,DB103.212
|
| | |
|
| | | #state
|
| | | #addresses.add("DB103.0");
|
| | | #addresses.add("DB103.2");
|
| | | #addresses.add("DB103.12");
|
| | | #addresses.add("DB103.14");
|
| | | #addresses.add("DB103.16");
|
| | | #addresses.add("DB103.18");
|
| | | #addresses.add("DB103.8");
|
| | | #addresses.add("DB103.10");
|
| | | #addresses.add("DB103.4");
|
| | | #addresses.add("DB103.6");
|
| | | Parameter2.state=DB103.0,DB103.2,DB103.12,DB103.14,DB103.16,DB103.18,DB103.8,DB103.10,DB103.4,DB103.6
|
| | |
|
| | | #清除id
|
| | |
|
| | | #addressList0.add("DB101.9.2");
|
| | | #addressList0.add("DB101.9.3");
|
| | | #addressList0.add("DB101.9.4");
|
| | | #addressList0.add("DB101.9.5");
|
| | | #addressList0.add("DB101.9.6");
|
| | | #addressList0.add("DB101.9.7");
|
| | | #
|
| | | #addressList0.add("DB101.10.0");
|
| | | #addressList0.add("DB101.10.1");
|
| | | #addressList0.add("DB101.10.2");
|
| | | #addressList0.add("DB101.10.3");
|
| | | Parameter2.cleanid=DB101.9.2,DB101.9.3,DB101.9.4,DB101.9.5,DB101.9.6,DB101.9.7,DB101.10.0,DB101.10.1,DB101.10.2,DB101.10.3
|
| | | #扫码枪
|
| | | Parameter2.scanner=DB103.256,DB103.270
|
| | |
| | | #addressList21.add("DB101.3.1");
|
| | | #addressList21.add("DB101.3.3");
|
| | | #按钮
|
| | | PLCManualJog.button=DB101.0.0,DB101.0.1,DB101.0.2,DB101.0.3,DB101.0.4,DB101.0.5,DB101.0.6,DB101.3.4,DB101.1.4,DB101.1.2,DB101.5.2,DB101.0.7,DB101.3.5,DB101.1.5,DB101.1.3,DB101.5.3,DB101.1.0,DB101.1.6,DB101.2.6,DB101.2.7,DB101.3.2,DB101.1.1,DB101.1.7,DB101.3.0,DB101.3.1,DB101.3.3
|
| | | PLCManualJog.button=DB101.0.0,DB101.0.1,DB101.0.2,DB101.0.3,DB101.0.4,DB101.0.5,DB101.0.6,DB101.3.4,DB101.1.4,DB101.1.2,DB101.5.2,DB101.0.7,DB101.3.5,DB101.1.5,DB101.1.3,DB101.5.3,DB101.1.0,DB101.1.6,DB101.2.6,DB101.2.7,DB101.3.2,DB101.1.1,DB101.1.7,DB101.3.0,DB101.3.1,DB101.3.3,DB101.10.5,DB101.10.6
|
| | |
|
| | |
|
| | |
|
| | | #AUto----------------------------------------------------------------
|
| | | #List<String> addresses = new ArrayList<>();
|
| | | #addresses.add("DB100.0");
|
| | | #addresses.add("DB100.2");
|
| | | #addresses.add("DB100.4");
|
| | | #addresses.add("DB100.6");
|
| | | #addresses.add("DB100.26");
|
| | | #addresses.add("DB100.28");
|
| | | #addresses.add("DB100.30");
|
| | | #addresses.add("DB100.32");
|
| | | #addresses.add("DB100.34");
|
| | | #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
|
| | |
|
| | | #List<String> waddresses1 = new ArrayList<>();
|
| | | #waddresses1.add("DB100.0");
|
| | | #waddresses1.add("DB100.2");
|
| | | #waddresses1.add("DB100.4");
|
| | | #waddresses1.add("DB100.6");
|
| | | #waddresses1.add("DB100.26");
|
| | | #waddresses1.add("DB100.28");
|
| | | #waddresses1.add("DB100.30");
|
| | | #waddresses1.add("DB100.32");
|
| | | #waddresses1.add("DB100.34");
|
| | | #waddresses1.add("DB100.36");
|
| | | #waddresses1.add("DB100.38");
|
| | | #waddresses1.add("DB100.40");
|
| | |
|
| | | Auto.shusong=DB100.0,DB100.2,DB100.4,DB100.6,DB100.26,DB100.28,DB100.30,DB100.32,DB100.34,DB100.36,DB100.38,DB100.40 |