From b092806a662b99310cdb050292de2721ba06acd9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 19 十一月 2024 14:43:18 +0800
Subject: [PATCH] 增加测量台直通模式,增加手动参数界面的JSON文件
---
Albania_Mes-ui/src/views/Electrical/AlbaniaServo.vue | 960 ++++++++++++++++++++++++++++++++++++++++++--------
springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java | 44 ++
springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java | 2
Albania_Mes-ui/src/lang/locales/en-US.json | 2
Albania_Mes-ui/src/views/home/index.vue | 14
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java | 4
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 13
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 4
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 23 +
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 59 +-
Albania_Mes-ui/src/api/home.js | 8
Albania_Mes-ui/src/lang/locales/zh-CN.json | 4
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 2
13 files changed, 942 insertions(+), 197 deletions(-)
diff --git a/Albania_Mes-ui/src/api/home.js b/Albania_Mes-ui/src/api/home.js
index 864031a..e448510 100644
--- a/Albania_Mes-ui/src/api/home.js
+++ b/Albania_Mes-ui/src/api/home.js
@@ -443,4 +443,12 @@
data
})
+}
+//鎵嬪姩鐣岄潰
+export function writeValue(address,value,type) {
+ return request({
+ url: '/home/writeValue?address='+address+'&value='+value+'&type='+type,
+ method: 'get',
+ data:""
+ })
}
\ No newline at end of file
diff --git a/Albania_Mes-ui/src/lang/locales/en-US.json b/Albania_Mes-ui/src/lang/locales/en-US.json
index ff66702..16e88e8 100644
--- a/Albania_Mes-ui/src/lang/locales/en-US.json
+++ b/Albania_Mes-ui/src/lang/locales/en-US.json
@@ -15,7 +15,7 @@
"All Out":"All Out",
"Operation failed":"Operation canceled",
"Flowcard":"Flowcard",
- "Mateid":"Mateid",
+ "Mateid":"Matching",
"Glasstype":"Glasstype",
"Mode Change":"Mode Change",
"Start Task":"Start Task",
diff --git a/Albania_Mes-ui/src/lang/locales/zh-CN.json b/Albania_Mes-ui/src/lang/locales/zh-CN.json
index 5277603..1abad0d 100644
--- a/Albania_Mes-ui/src/lang/locales/zh-CN.json
+++ b/Albania_Mes-ui/src/lang/locales/zh-CN.json
@@ -55,8 +55,8 @@
"Save":"淇濆瓨",
"Select file":"閫夋嫨鏂囦欢",
- "ip":"192.168.10.2",
- "ip2":"localhost",
+ "ip2":"192.168.10.2",
+ "ip":"localhost",
"systemTitle": "鐧诲綍绯荤粺",
"usernamePlaceholder": "璇疯緭鍏ョ敤鎴峰悕",
"passwordPlaceholder": "璇疯緭鍏ュ瘑鐮�",
diff --git a/Albania_Mes-ui/src/views/Electrical/AlbaniaServo.vue b/Albania_Mes-ui/src/views/Electrical/AlbaniaServo.vue
index 2bfad3f..9ac6c32 100644
--- a/Albania_Mes-ui/src/views/Electrical/AlbaniaServo.vue
+++ b/Albania_Mes-ui/src/views/Electrical/AlbaniaServo.vue
@@ -9,36 +9,8 @@
$t('Parameter')
}}</router-link>
</el-breadcrumb>
- <!-- <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
- <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">
- {{ $t('Automatic State') }}</router-link>
- <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
- $t('ManualonePosition')
- }}</router-link>
-
- <router-link v-if="hasPermission" to="/Electrical/Servomanualone" tag="el-button" type="text"
- active-class="blue-button">
- {{ $t('Servomanualone') }}
- </router-link>
-
-
- <router-link v-if="hasPermission" to="/Electrical/Positioning1" tag="el-button" type="text"
- active-class="blue-button">{{
- $t('Address parameter settings')
- }}</router-link>
-
- <router-link v-if="hasPermission" to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text"
- active-class="blue-button">{{
- $t('Speed parameter settings')
- }}</router-link>
-
- <router-link v-if="hasPermission" to="/Electrical/InteractionState" tag="el-button" type="text"
- active-class="blue-button">{{ $t("InteractionState") }}</router-link>
-
- </el-breadcrumb> -->
-
- <el-row :gutter="10">
+ <!-- <el-row :gutter="10">
<el-col :span="12" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
<div>{{ dataGroup[0] }}</div>
<el-card class="json-block" style="width:670px;margin-bottom: 10px;">
@@ -85,18 +57,744 @@
v-model="item.button.value"
:class="{ 'action-button': true, 'error-button': item.button.CNname === '鏁呴殰' && item.button.value === 1, 'error-button2': item.button.CNname === '鏈洖闆�' && item.button.value === 0, 'error-button3': item.button.CNname === '宸插洖闆�' && item.button.value === 1, 'greenbutton': item.button.CNname !== '鏈洖闆�' && item.button.CNname !== '鏁呴殰' && item.button.value === 1 }"
@click="updateButtonValue(dataGroup, itemIndex);">{{ language=='en-US'?item.button.USname:item.button.CNname}}</el-button>
- </div>
+ </div>
</div>
</el-card>
</el-col>
- </el-row>
- <!-- <div class="container">
-
- <component :is="embeddedComponent"></component>
- <component :is="embeddedComponent2"></component>
- </div> -->
-
- <!-- <el-button @click="submitDataToBackend">鎻愪氦鏁版嵁鍒板悗绔�</el-button> -->
+ </el-row> -->
+ <div style="display: flex;">
+ <div class="demo-input-suffix">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>A01</span>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ A01杈撻�侀珮閫�<el-input style="width: 30%;" v-model="plcSigns[0].value" @focus="refresh()" @blur="writeValue(plcSigns[0])"
+ @keyup.enter.native="writeValue(plcSigns[0])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ A01杈撻�佷綆閫�<el-input style="width: 30%;" v-model="plcSigns[1].value" @focus="refresh()" @blur="writeValue(plcSigns[1])"
+ @keyup.enter.native="writeValue(plcSigns[1])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ A01杈撻�佹墜鍔�<el-input style="width: 30%;" v-model="plcSigns[2].value" @focus="refresh()" @blur="writeValue(plcSigns[2])"
+ @keyup.enter.native="writeValue(plcSigns[2])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ A01鏈�澶ч�熷害<el-input style="width: 30%;" v-model="plcSigns[3].value" @focus="refresh()" @blur="writeValue(plcSigns[3])"
+ @keyup.enter.native="writeValue(plcSigns[3])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ </div>
+ <div>
+ <div>
+ 涓婄墖杈撻�佸惎鍔ㄥ欢杩�<el-input type="text" style="width: 30%;" v-model="plcSigns[4].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[4])"
+ @keyup.enter.native="writeValue(plcSigns[4])"></el-input>ms
+ </div>
+ <div>
+ LOW-E妫�娴嬩笂鍗囨护娉�<el-input style="width: 30%;" v-model="plcSigns[5].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[5])"
+ @keyup.enter.native="writeValue(plcSigns[5])"></el-input>ms
+ </div>
+ <div>
+ 鍑哄彛鍑忛�熶俊鍙蜂笂鍗囨护娉�<el-input style="width: 30%;" v-model="plcSigns[6].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[6])"
+ @keyup.enter.native="writeValue(plcSigns[6])"></el-input>ms
+ </div>
+ <div>
+ 鍑哄彛鍒颁綅淇″彿涓婂崌婊ゆ尝<el-input style="width: 30%;" v-model="plcSigns[7].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[7])"
+ @keyup.enter.native="writeValue(plcSigns[7])"></el-input>ms
+ </div>
+ <div>
+ 鍑哄彛鍒颁綅淇″彿涓嬮檷婊ゆ尝<el-input style="width: 30%;" v-model="plcSigns[8].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[8])"
+ @keyup.enter.native="writeValue(plcSigns[8])"></el-input>ms
+ </div>
+ <div>
+ 鍑哄彛杈撻�佽秴鏃舵椂闂�<el-input style="width: 30%;" v-model="plcSigns[9].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[9])"
+ @keyup.enter.native="writeValue(plcSigns[9])"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佸惎鍔ㄥ欢杩�<el-input style="width: 30%;" v-model="plcSigns[10].value"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`" @focus="refresh()" @blur="writeValue(plcSigns[10])"
+ @keyup.enter.native="writeValue(plcSigns[10])"></el-input>ms
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>A02</span>
+ <span style="float: right; padding: 3px 0"> Y杞村綋鍓嶄綅缃�<el-input style="width: 30%;" v-model="plcSigns[11].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[11])" @focus="refresh()" @blur="writeValue(plcSigns[11])"></el-input>mm</span>
+ <!-- <el-button style="float: right; padding: 3px 0" type="text">鎿嶄綔鎸夐挳</el-button> -->
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ X杞磋緭閫侀珮閫�<el-input style="width: 30%;" v-model="plcSigns[12].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[12])" @focus="refresh()" @blur="writeValue(plcSigns[12])"></el-input>m/min
+ </div>
+ <div>
+ X杞磋緭閫佷綆閫�<el-input style="width: 30%;" v-model="plcSigns[13].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[13])" @focus="refresh()" @blur="writeValue(plcSigns[13])"></el-input>m/min
+ </div>
+ <div>
+ X杞磋緭閫佹墜鍔�<el-input style="width: 30%;" v-model="plcSigns[14].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[14])" @focus="refresh()" @blur="writeValue(plcSigns[14])"></el-input>m/min
+ </div>
+ <div>
+ X杞村洖閫�閫熷害<el-input style="width: 30%;" v-model="plcSigns[15].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[15])" @focus="refresh()" @blur="writeValue(plcSigns[15])"></el-input>m/min
+ </div>
+ <div>
+ Y杞磋緭閫侀珮閫�<el-input style="width: 30%;" v-model="plcSigns[16].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[16])" @focus="refresh()" @blur="writeValue(plcSigns[16])"></el-input>m/min
+ </div>
+ <div>
+ Y杞磋緭閫佷綆閫�<el-input style="width: 30%;" v-model="plcSigns[17].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[17])" @focus="refresh()" @blur="writeValue(plcSigns[17])"></el-input>m/min
+ </div>
+ <div>
+ Y杞磋緭閫佹墜鍔�<el-input style="width: 30%;" v-model="plcSigns[18].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[18])" @focus="refresh()" @blur="writeValue(plcSigns[18])"></el-input>m/min
+ </div>
+ <div>
+ Y杞村洖閫�閫熷害<el-input style="width: 30%;" v-model="plcSigns[19].value"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"
+ @keyup.enter.native="writeValue(plcSigns[19])" @focus="refresh()" @blur="writeValue(plcSigns[19])"></el-input>m/min
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[20])">Y杞村畾浣嶈缃�1</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[21].value" @focus="refresh()" @blur="writeValue(plcSigns[21])"
+ @keyup.enter.native="writeValue(plcSigns[21])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[22])">Y杞村畾浣嶈缃�2</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[23].value" @focus="refresh()" @blur="writeValue(plcSigns[23])"
+ @keyup.enter.native="writeValue(plcSigns[23])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ </div>
+ <div>
+ <div>
+ 鍏ョ墖杈撻�佸惎鍔ㄥ欢杩�<el-input type="text" style="width: 30%;" v-model="plcSigns[24].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[24])" @keyup.enter.native="writeValue(plcSigns[24])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍏ョ墖淇″彿涓婂崌娌挎护娉�<el-input style="width: 30%;" v-model="plcSigns[25].value" @focus="refresh()" @blur="writeValue(plcSigns[25])"
+ @keyup.enter.native="writeValue(plcSigns[25])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍏ョ墖淇″彿涓嬮檷娌挎护娉�<el-input style="width: 30%;" v-model="plcSigns[26].value" @focus="refresh()" @blur="writeValue(plcSigns[26])"
+ @keyup.enter.native="writeValue(plcSigns[26])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ Y杞寸矖瀹氫綅涓婂崌娌挎护娉�<el-input style="width: 30%;" v-model="plcSigns[27].value" @focus="refresh()" @blur="writeValue(plcSigns[27])"
+ @keyup.enter.native="writeValue(plcSigns[27])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ X杞存祴閲忔�婚暱搴�<el-input style="width: 30%;" v-model="plcSigns[28].value" @focus="refresh()" @blur="writeValue(plcSigns[28])"
+ @keyup.enter.native="writeValue(plcSigns[28])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>mm
+ </div>
+ <div>
+ Y杞存祴閲忔�婚暱搴�<el-input style="width: 30%;" v-model="plcSigns[29].value" @focus="refresh()" @blur="writeValue(plcSigns[29])"
+ @keyup.enter.native="writeValue(plcSigns[29])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>mm
+ </div>
+ <div>
+ 鍑哄彛杈撻�佽秴鏃舵椂闂�<el-input style="width: 30%;" v-model="plcSigns[30].value" @focus="refresh()" @blur="writeValue(plcSigns[30])"
+ @keyup.enter.native="writeValue(plcSigns[30])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佸惎鍔ㄥ欢鏃�<el-input style="width: 30%;" v-model="plcSigns[31].value" @focus="refresh()" @blur="writeValue(plcSigns[31])"
+ @keyup.enter.native="writeValue(plcSigns[31])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[32])">Y杞村畾浣嶈缃�3</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[33].value" @focus="refresh()" @blur="writeValue(plcSigns[33])"
+ @keyup.enter.native="writeValue(plcSigns[33])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[34])">Y杞村畾浣嶈缃�4</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[35].value" @focus="refresh()" @blur="writeValue(plcSigns[35])"
+ @keyup.enter.native="writeValue(plcSigns[35])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>绯荤粺鍙傛暟</span>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ 娴嬮噺鍙版爣璇嗗彿<el-input style="width: 30%;" v-model="plcSigns[36].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[36])"
+ @keyup.enter.native="writeValue(plcSigns[36])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>
+ </div>
+ <div>
+ 1#鍑哄彛鏍囪瘑鍙�<el-input style="width: 30%;" v-model="plcSigns[37].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[37])"
+ @keyup.enter.native="writeValue(plcSigns[37])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>
+ </div>
+ </div>
+ <div>
+ <div>
+ 鐗囧彴鏈�澶х幓鐠冩暟<el-input style="width: 30%;" v-model="plcSigns[38].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[38])"
+ @keyup.enter.native="writeValue(plcSigns[38])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>
+ </div>
+ <div>
+ 2#鍑哄彛鏍囪瘑鍙�<el-input style="width: 30%;" v-model="plcSigns[39].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[39])"
+ @keyup.enter.native="writeValue(plcSigns[39])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>
+ </div>
+ </div>
+ </div>
+ </el-card>
+ </div>
+ <div class="demo-input-suffix">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>B01</span>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ B01杈撻�侀珮閫�<el-input style="width: 30%;" v-model="plcSigns[40].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[40])"
+ @keyup.enter.native="writeValue(plcSigns[40])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ b01杈撻�佷綆閫�<el-input style="width: 30%;" v-model="plcSigns[41].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[41])"
+ @keyup.enter.native="writeValue(plcSigns[41])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ b01杈撻�佹墜鍔�<el-input style="width: 30%;" v-model="plcSigns[42].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[42])"
+ @keyup.enter.native="writeValue(plcSigns[42])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ B01鏈�澶ч�熷害<el-input style="width: 30%;" v-model="plcSigns[43].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[43])"
+ @keyup.enter.native="writeValue(plcSigns[43])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ </div>
+ <div>
+ <div>
+ B01琛岃蛋楂橀��<el-input type="text" style="width: 30%;" v-model="plcSigns[44].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[44])"
+ @keyup.enter.native="writeValue(plcSigns[44])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ <div>
+ B01琛岃蛋浣庨��<el-input style="width: 30%;" v-model="plcSigns[45].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[45])"
+ @keyup.enter.native="writeValue(plcSigns[45])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ <div>
+ B01琛岃蛋鍔犻�熷害<el-input style="width: 30%;" v-model="plcSigns[46].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[46])"
+ @keyup.enter.native="writeValue(plcSigns[46])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ <div>
+ B01琛岃蛋鍑忛�熷害<el-input style="width: 30%;" v-model="plcSigns[47].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[47])"
+ @keyup.enter.native="writeValue(plcSigns[47])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ <div>
+ B01琛岃蛋鍔犲姞閫�<el-input style="width: 30%;" v-model="plcSigns[48].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[48])"
+ @keyup.enter.native="writeValue(plcSigns[48])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ </div>
+ <div>
+ <div>
+ B01缈昏浆鑷姩<el-input type="text" style="width: 30%;" v-model="plcSigns[49].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[49])"
+ @keyup.enter.native="writeValue(plcSigns[49])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>*/s
+ </div>
+ <div>
+ B01缈昏浆鎵嬪姩<el-input style="width: 30%;" v-model="plcSigns[50].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[50])"
+ @keyup.enter.native="writeValue(plcSigns[50])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>*/s
+ </div>
+ <div>
+ 楂樹綆閫熻窛绂荤晫闄�<el-input style="width: 30%;" v-model="plcSigns[51].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[51])"
+ @keyup.enter.native="writeValue(plcSigns[51])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ </div>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[52])">1#绗煎瓙瑙掑害</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[53].value" @focus="refresh()" @blur="writeValue(plcSigns[53])"
+ @keyup.enter.native="writeValue(plcSigns[53])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[54])">2#绗煎瓙瑙掑害</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[55].value" @focus="refresh()" @blur="writeValue(plcSigns[55])"
+ @keyup.enter.native="writeValue(plcSigns[55])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[56])">3#绗煎瓙瑙掑害</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[57].value" @focus="refresh()" @blur="writeValue(plcSigns[57])"
+ @keyup.enter.native="writeValue(plcSigns[57])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[58])">4#绗煎瓙瑙掑害</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[59].value" @focus="refresh()" @blur="writeValue(plcSigns[59])"
+ @keyup.enter.native="writeValue(plcSigns[59])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[60])">娴嬮噺鍙拌搴�</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[61].value" @focus="refresh()" @blur="writeValue(plcSigns[61])"
+ @keyup.enter.native="writeValue(plcSigns[61])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[62])">1#鍑哄彛瑙掑害</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[63].value" @focus="refresh()" @blur="writeValue(plcSigns[63])"
+ @keyup.enter.native="writeValue(plcSigns[63])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[64])">2#鍑哄彛瑙掑害</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[65].value" @focus="refresh()" @blur="writeValue(plcSigns[65])"
+ @keyup.enter.native="writeValue(plcSigns[65])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ 鍏ョ墖杈撻�佸惎鍔ㄥ欢杩�
+ <el-input style="width: 30%;" v-model="plcSigns[66].value" @focus="refresh()" @blur="writeValue(plcSigns[66])"
+ @keyup.enter.native="writeValue(plcSigns[66])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佸惎鍔ㄥ欢杩�
+ <el-input style="width: 30%;" v-model="plcSigns[67].value" @focus="refresh()" @blur="writeValue(plcSigns[67])"
+ @keyup.enter.native="writeValue(plcSigns[67])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍏夌數婊ゆ尝寤舵椂
+ <el-input style="width: 30%;" v-model="plcSigns[68].value" @focus="refresh()" @blur="writeValue(plcSigns[68])"
+ @keyup.enter.native="writeValue(plcSigns[68])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ </div>
+ <div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[69])">1#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[70].value" @focus="refresh()" @blur="writeValue(plcSigns[70])"
+ @keyup.enter.native="writeValue(plcSigns[70])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[71])">2#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[72].value" @focus="refresh()" @blur="writeValue(plcSigns[72])"
+ @keyup.enter.native="writeValue(plcSigns[72])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[73])">3#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[74].value" @focus="refresh()" @blur="writeValue(plcSigns[74])"
+ @keyup.enter.native="writeValue(plcSigns[74])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[75])">4#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[76].value" @focus="refresh()" @blur="writeValue(plcSigns[76])"
+ @keyup.enter.native="writeValue(plcSigns[76])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[77])">娴嬮噺鍙拌窛绂�</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[78].value" @focus="refresh()" @blur="writeValue(plcSigns[78])"
+ @keyup.enter.native="writeValue(plcSigns[78])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[79])">1#鍑哄彛璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[80].value" @focus="refresh()" @blur="writeValue(plcSigns[80])"
+ @keyup.enter.native="writeValue(plcSigns[80])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[81])">2#鍑哄彛璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[82].value" @focus="refresh()" @blur="writeValue(plcSigns[82])"
+ @keyup.enter.native="writeValue(plcSigns[82])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ 鍏ョ墖杈撻�佽秴鏃舵椂闂�
+ <el-input style="width: 30%;" v-model="plcSigns[83].value" @focus="refresh()" @blur="writeValue(plcSigns[83])"
+ @keyup.enter.native="writeValue(plcSigns[83])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佽秴鏃舵椂闂�
+ <el-input style="width: 30%;" v-model="plcSigns[84].value" @focus="refresh()" @blur="writeValue(plcSigns[84])"
+ @keyup.enter.native="writeValue(plcSigns[84])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ </div>
+ <div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[85])">杩滆窛绂昏搴�</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[86].value" @focus="refresh()" @blur="writeValue(plcSigns[86])"
+ @keyup.enter.native="writeValue(plcSigns[86])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[87])">杩戣窛绂昏搴�</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[88].value" @focus="refresh()" @blur="writeValue(plcSigns[88])"
+ @keyup.enter.native="writeValue(plcSigns[88])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>掳
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[89])">澶ц溅鍘熺偣璁惧畾</el-button>
+ <el-button type="primary" @click="writeValue(plcSigns[90])">娌规车鑷姩缁存姢</el-button>
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[91])">缈昏浆鍘熺偣璁惧畾</el-button>
+ </div>
+ <div>
+ 娌规车缁存姢鍛ㄦ湡
+ <el-input style="width: 30%;" v-model="plcSigns[92].value" @focus="refresh()" @blur="writeValue(plcSigns[92])"
+ @keyup.enter.native="writeValue(plcSigns[92])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>澶�
+ </div>
+ <div>
+ 娌规车寮�鍚椂闀�
+ <el-input style="width: 30%;" v-model="plcSigns[93].value" @focus="refresh()" @blur="writeValue(plcSigns[93])"
+ @keyup.enter.native="writeValue(plcSigns[93])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>澶�
+ </div>
+ <div>
+ 鏈�澶у彇鐗囨牸瀛�
+ <el-input style="width: 30%;" v-model="plcSigns[94].value" @focus="refresh()" @blur="writeValue(plcSigns[94])"
+ @keyup.enter.native="writeValue(plcSigns[94])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 鏈�灏忓彇鐗囨牸瀛�
+ <el-input style="width: 30%;" v-model="plcSigns[95].value" @focus="refresh()" @blur="writeValue(plcSigns[95])"
+ @keyup.enter.native="writeValue(plcSigns[95])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>绗煎瓙鍙傛暟</span>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ 1#绗煎瓙鏍呮牸鏁�<el-input style="width: 30%;" v-model="plcSigns[96].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[96])"
+ @keyup.enter.native="writeValue(plcSigns[96])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 1#绗煎瓙闂磋窛<el-input style="width: 30%;" v-model="plcSigns[97].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[97])"
+ @keyup.enter.native="writeValue(plcSigns[97])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>mm
+ </div>
+ <div>
+ 2#绗煎瓙鏍呮牸鏁�<el-input style="width: 30%;" v-model="plcSigns[98].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[98])"
+ @keyup.enter.native="writeValue(plcSigns[98])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 2#绗煎瓙闂磋窛<el-input style="width: 30%;" v-model="plcSigns[99].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[99])"
+ @keyup.enter.native="writeValue(plcSigns[99])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>mm
+ </div>
+ </div>
+ <div>
+ <div>
+ 3#绗煎瓙鏍呮牸鏁�<el-input style="width: 30%;" v-model="plcSigns[100].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[100])"
+ @keyup.enter.native="writeValue(plcSigns[100])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 3#绗煎瓙闂磋窛<el-input style="width: 30%;" v-model="plcSigns[101].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[101])"
+ @keyup.enter.native="writeValue(plcSigns[101])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>mm
+ </div>
+ <div>
+ 4#绗煎瓙鏍呮牸鏁�<el-input style="width: 30%;" v-model="plcSigns[102].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[102])"
+ @keyup.enter.native="writeValue(plcSigns[102])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 4#绗煎瓙闂磋窛<el-input style="width: 30%;" v-model="plcSigns[103].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[103])"
+ @keyup.enter.native="writeValue(plcSigns[103])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>mm
+ </div>
+ <div>
+ 绗煎瓙鏁伴噺<el-input style="width: 30%;" v-model="plcSigns[104].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[104])"
+ @keyup.enter.native="writeValue(plcSigns[104])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>涓�
+ </div>
+ </div>
+ </div>
+ </el-card>
+ </div>
+ <div class="demo-input-suffix">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>C01</span>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ C01杈撻�侀珮閫�<el-input style="width: 30%;" v-model="plcSigns[105].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[105])"
+ @keyup.enter.native="writeValue(plcSigns[105])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ C01杈撻�佷綆閫�<el-input style="width: 30%;" v-model="plcSigns[106].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[106])"
+ @keyup.enter.native="writeValue(plcSigns[106])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ C01杈撻�佹墜鍔�<el-input style="width: 30%;" v-model="plcSigns[107].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[107])"
+ @keyup.enter.native="writeValue(plcSigns[107])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ C01鏈�澶ч�熷害<el-input style="width: 30%;" v-model="plcSigns[108].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[108])"
+ @keyup.enter.native="writeValue(plcSigns[108])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[109])">1#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[109].value" @focus="refresh()" @blur="writeValue(plcSigns[109])"
+ @keyup.enter.native="writeValue(plcSigns[109])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[109])">2#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[1].value" @focus="refresh()" @blur="writeValue(plcSigns[18])"
+ @keyup.enter.native="writeValue(plcSigns[104])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ 鍏ョ墖杈撻�佸惎鍔ㄥ欢鏃�<el-input style="width: 30%;" v-model="plcSigns[1].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[110])"
+ @keyup.enter.native="writeValue(plcSigns[110])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佸惎鍔ㄥ欢鏃�<el-input style="width: 30%;" v-model="plcSigns[1].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[111])"
+ @keyup.enter.native="writeValue(plcSigns[111])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ </div>
+ <div>
+ <div>
+ C01琛岃蛋楂橀��<el-input type="text" style="width: 30%;" v-model="plcSigns[112].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[112])"
+ @keyup.enter.native="writeValue(plcSigns[112])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ <div>
+ C01琛岃蛋鎵嬪姩<el-input style="width: 30%;" v-model="plcSigns[113].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[113])"
+ @keyup.enter.native="writeValue(plcSigns[113])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>ms
+ </div>
+ <div>
+ 鏈�澶у彇鐗囨牸瀛�<el-input style="width: 30%;" v-model="plcSigns[114].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[114])"
+ @keyup.enter.native="writeValue(plcSigns[114])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鏈�灏忓彇鐗囨牸瀛�<el-input style="width: 30%;" v-model="plcSigns[115].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[115])"
+ @keyup.enter.native="writeValue(plcSigns[115])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[116])" >3#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[117].value" @focus="refresh()" @blur="writeValue(plcSigns[117])"
+ @keyup.enter.native="writeValue(plcSigns[117])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ 鍏ョ墖杈撻�佽秴鏃舵椂闂�<el-input style="width: 30%;" v-model="plcSigns[118].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[118])"
+ @keyup.enter.native="writeValue(plcSigns[118])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佽秴鏃舵椂闂�<el-input style="width: 30%;" v-model="plcSigns[119].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[119])"
+ @keyup.enter.native="writeValue(plcSigns[119])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>C02</span>
+ </div>
+ <div style="display: flex;">
+ <div>
+ <div>
+ C02杈撻�侀珮閫�<el-input style="width: 30%;" v-model="plcSigns[120].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[120])"
+ @keyup.enter.native="writeValue(plcSigns[120])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ C02杈撻�佷綆閫�<el-input style="width: 30%;" v-model="plcSigns[121].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[121])"
+ @keyup.enter.native="writeValue(plcSigns[121])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/min
+ </div>
+ <div>
+ C02杈撻�佹墜鍔�<el-input style="width: 30%;" v-model="plcSigns[122].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[122])"
+ @keyup.enter.native="writeValue(plcSigns[122])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>m/min
+ </div>
+ <div>
+ C02鏈�澶ч�熷害<el-input style="width: 30%;" v-model="plcSigns[123].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[123])"
+ @keyup.enter.native="writeValue(plcSigns[123])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>m/min
+ </div>
+ <div>
+ <el-button type="primary" @click="writeValue(plcSigns[124])">4#绗煎瓙璺濈</el-button>
+ <el-input style="width: 30%;" v-model="plcSigns[125].value" @focus="refresh()" @blur="writeValue(plcSigns[125])"
+ @keyup.enter.native="writeValue(plcSigns[125])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>mm
+ </div>
+ <div>
+ 鍏ョ墖杈撻�佸惎鍔ㄥ欢鏃�<el-input style="width: 30%;" v-model="plcSigns[126].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[126])"
+ @keyup.enter.native="writeValue(plcSigns[126])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佸惎鍔ㄥ欢鏃�<el-input style="width: 30%;" v-model="plcSigns[1].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[126])"
+ @keyup.enter.native="writeValue(plcSigns[126])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ </div>
+ <div>
+ <div>
+ C02琛岃蛋楂橀��<el-input type="text" style="width: 30%;" v-model="plcSigns[127].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[127])"
+ @keyup.enter.native="writeValue(plcSigns[127])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/s
+ </div>
+ <div>
+ C02琛岃蛋鎵嬪姩<el-input style="width: 30%;" v-model="plcSigns[128].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[128])"
+ @keyup.enter.native="writeValue(plcSigns[128])"
+ oninput="value=value.replace(/^(-?)(\D*)(\d*(?:\.\d{0,2})?).*$/g, '$1$3')"></el-input>m/s
+ </div>
+ <div>
+ 鏈�澶у彇鐗囨牸瀛�<el-input style="width: 30%;" v-model="plcSigns[129].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[129])"
+ @keyup.enter.native="writeValue(plcSigns[129])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 鏈�灏忓彇鐗囨牸瀛�<el-input style="width: 30%;" v-model="plcSigns[130].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[130])"
+ @keyup.enter.native="writeValue(plcSigns[130])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>鏍�
+ </div>
+ <div>
+ 鍏ョ墖杈撻�佽秴鏃舵椂闂�<el-input style="width: 30%;" v-model="plcSigns[131].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[131])"
+ @keyup.enter.native="writeValue(plcSigns[131])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ <div>
+ 鍑虹墖杈撻�佽秴鏃舵椂闂�<el-input style="width: 30%;" v-model="plcSigns[132].value"
+ @focus="refresh()" @blur="writeValue(plcSigns[132])"
+ @keyup.enter.native="writeValue(plcSigns[132])"
+ :oninput="`value=value.replace(/[^-\\d]/g, '')`"></el-input>ms
+ </div>
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </div>
</div>
</template>
@@ -109,7 +807,7 @@
// import ManualonePosition2 from './ManualonePosition2.vue';
// import ManualJog from './ManualJog.vue';
import {
- SelectPermissionByUserName, currentUsername, WriteWord, WriteBit
+ writeValue
} from "../../api/home";
// import { createWebSocket } from '../../api/websocket.js';
let socket;
@@ -117,9 +815,12 @@
name: "AlbaniaServo",
mixins: [LanguageMixin],
data() {
- return {
+ return { // 瀛樺偍涓存椂杈撳叆鍊�
+ updates: false,
+ isEditing: false,
jsonData: data,
language: this.$i18n.locale,
+ plcSigns: [],
// embeddedComponent: ManualonePosition2,
// embeddedComponent2: ManualJog,
hasPermission: false // 榛樿娌℃湁鏉冮檺
@@ -135,59 +836,81 @@
// this.replaceChineseWithEnglish();
// }
this.$forceUpdate();
- currentUsername().then(res => {
- SelectPermissionByUserName(res.data).then(res => {
- res.data.permission.forEach(item => {
- if (item.permissionId == "36" && item.state == 1) {
- this.hasPermission = true;
- }
+ // currentUsername().then(res => {
+ // SelectPermissionByUserName(res.data).then(res => {
+ // res.data.permission.forEach(item => {
+ // if (item.permissionId == "36" && item.state == 1) {
+ // this.hasPermission = true;
+ // }
- });
- });
+ // });
+ // });
- });
+ // });
},
methods: {
- handleInput(groupIndex, itemIndex) {
- this.jsonData[groupIndex][itemIndex].value2 = 1;
-
+ refresh(){
+ this.updates = true;
+ },
+ // handleInput(groupIndex, itemIndex) {
+ // this.jsonData[groupIndex][itemIndex].value2 = 1;
+ // },
+ onFocus() {
+ this.isEditing = true;
+ },
+ onBlur() {
+ this.isEditing = false;
+ this.plcSigns[0].value = this.inputValue; // 鍦ㄥけ鍘荤劍鐐规椂鏇存柊瀹為檯鍊�
+ },
+ onInput(value) {
+ if (this.isEditing) {
+ this.inputValue = value; // 浠呭湪缂栬緫鏃舵洿鏂颁复鏃跺��
+ }
},
closeSocket() {
// 鍏抽棴 WebSocket 杩炴帴
socket.close();
},
- updateButtonValue(dataGroup, itemIndex) {
- // 灏嗗綋鍓嶆寜閽殑鍊艰涓�1
- if (dataGroup[itemIndex].button.value === 0) {
- // 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1
- this.$set(dataGroup[itemIndex].button, 'value', 1);
- } else {
- // 鍚﹀垯灏嗗叾璁句负 0
- this.$set(dataGroup[itemIndex].button, 'value', 0);
- }
- WriteBit(dataGroup[itemIndex].button.address, dataGroup[itemIndex].button.value).then(res => {
+ writeValue(plcSign) {
+ writeValue(plcSign.addressIndex, plcSign.value, plcSign.ratio).then(res => {
if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
}
});
-
+ this.updates = false;
},
- WriteWord(dataGroup, itemIndex, index) {
- if (isNaN(dataGroup[itemIndex].value)) {
- this.$message.success(this.$t('Operation Please enter number'));
- } else {
- WriteWord(dataGroup[itemIndex].address, dataGroup[itemIndex].value, dataGroup[itemIndex].type).then(res => {
- if (res.data.message == 200) {
- this.$message.success(this.$t('Operation successful'));
- }
- });
- }
- if (index == 1) {
- this.$set(dataGroup[itemIndex], 'value2', 0);
- }
+ // updateButtonValue(dataGroup, itemIndex) {
+ // // 灏嗗綋鍓嶆寜閽殑鍊艰涓�1
+ // if (dataGroup[itemIndex].button.value === 0) {
+ // // 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1
+ // this.$set(dataGroup[itemIndex].button, 'value', 1);
+ // } else {
+ // // 鍚﹀垯灏嗗叾璁句负 0
+ // this.$set(dataGroup[itemIndex].button, 'value', 0);
+ // }
+ // WriteBit(dataGroup[itemIndex].button.address, dataGroup[itemIndex].button.value).then(res => {
+ // if (res.data.message == 200) {
+ // this.$message.success(this.$t('Operation successful'));
+ // }
+ // });
- },
+ // },
+ // WriteWord(dataGroup, itemIndex, index) {
+ // if (isNaN(dataGroup[itemIndex].value)) {
+ // this.$message.success(this.$t('Operation Please enter number'));
+ // } else {
+ // WriteWord(dataGroup[itemIndex].address, dataGroup[itemIndex].value, dataGroup[itemIndex].type).then(res => {
+ // if (res.data.message == 200) {
+ // this.$message.success(this.$t('Operation successful'));
+ // }
+ // });
+ // }
+ // if (index == 1) {
+ // this.$set(dataGroup[itemIndex], 'value2', 0);
+ // }
+
+ // },
initWebSocket() {
@@ -235,81 +958,9 @@
let obj = JSON.parse(msg.data);
// const weihuiling = obj.weihuiling;
- this.jsonData.forEach((item, index) => {
- item.forEach((item2, index2) => {
-
- if (item2.button !== undefined) {
- switch (index) {
- case 0:
- item2.button.value = obj.listPlcSysparam[0][index2];
- break;
- case 1:
- item2.button.value = obj.listPlcCountparam[0][index2];
- break;
- case 2:
- item2.button.value = obj.listPlcTimerparam[0][index2];
- break;
- case 3:
- item2.button.value = obj.listHollowparam[0][index2];
- break;
- case 4:
- item2.button.value = obj.listA01param[0][index2];
- break;
- case 5:
- item2.button.value = obj.listA02param[0][index2];
- break;
- case 6:
- item2.button.value = obj.listB01param[0][index2];
- break;
- case 7:
- item2.button.value = obj.listC01param[0][index2];
- break;
- case 8:
- item2.button.value = obj.listC02param[0][index2];
- break;
- default:
- break;
- }
- } else {
- if (item2.value2 !== 1) {
- switch (index) {
- case 0:
- item2.value = obj.listPlcSysparam[0][index2];
- break;
- case 1:
- item2.value = obj.listPlcCountparam[0][index2];
- break;
- case 2:
- item2.value = obj.listPlcTimerparam[0][index2];
- break;
- case 3:
- item2.value = obj.listHollowparam[0][index2];
- break;
- case 4:
- item2.value = obj.listA01param[0][index2];
- break;
- case 5:
- item2.value = obj.listA02param[0][index2];
- break;
- case 6:
- item2.value = obj.listB01param[0][index2];
- break;
- case 7:
- item2.value = obj.listC01param[0][index2];
- break;
- case 8:
- item2.value = obj.listC02param[0][index2];
- break;
- default:
- break;
- }
- }
-
- }
-
- });
- });
-
+ if (obj.plcSigns != null&&this.updates==false) {
+ this.plcSigns = obj.plcSigns[0];
+ }
// if (obj.zuhe1) {
// console.log(obj);
@@ -358,7 +1009,6 @@
display: flex;
align-items: center;
margin-bottom: 2px;
- /* 璋冩暣姣忎釜椤圭洰涔嬮棿鐨勯棿璺� */
}
.action-button {
@@ -392,4 +1042,8 @@
background-color: green;
}
+
+div {
+ padding: 2px;
+}
</style>
\ No newline at end of file
diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index 5f748db..20501a8 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -609,7 +609,7 @@
<br> -->
<el-table :data="this.tasklist3" :height="700" :row-class-name="rowClassName"
style="width: 100%;padding:0;">
- <el-table-column prop="flowcard" :label="$t('Flowcard')"></el-table-column>
+ <el-table-column prop="flowcard" :label="$t('Order')"></el-table-column>
<el-table-column prop="mateid" :label="$t('Mateid')"></el-table-column>
<el-table-column prop="films" :label="$t('Films')"></el-table-column>
<el-table-column prop="width" :label="$t('Width')"></el-table-column>
@@ -628,14 +628,14 @@
:span-method="spanMethod" class="bold-center">
<el-table-column :min-width="80" prop="cage" :label="$t('Cage No')"></el-table-column>
<el-table-column :min-width="80" prop="cell" :label="$t('Slot No')"></el-table-column>
- <el-table-column :min-width="80" prop="flowcard" :label="$t('Flowcard')"></el-table-column>
+ <el-table-column :min-width="80" prop="flowcard" :label="$t('Order')"></el-table-column>
<el-table-column :min-width="80" prop="customer" :label="$t('Customer')"></el-table-column>
- <el-table-column :min-width="80" prop="mateid" :label="$t('Mateid')"></el-table-column>
<el-table-column :min-width="80" prop="glassWidth" :label="$t('Width')"></el-table-column>
<el-table-column :min-width="80" prop="glassHeight" :label="$t('Height')"></el-table-column>
<el-table-column :min-width="80" prop="thickness" :label="$t('Thickness')"></el-table-column>
<el-table-column :min-width="80" prop="films" :label="$t('Films')"></el-table-column>
<el-table-column :min-width="80" prop="number" :label="$t('number')"></el-table-column>
+ <el-table-column :min-width="80" prop="mateid" :label="$t('Mateid')"></el-table-column>
<!-- <el-table-column :min-width="80" prop="width" :label="$t('Width')"></el-table-column> -->
<el-table-column :min-width="250" :label="$t('Operate')">
<template slot-scope='scope'>
@@ -770,7 +770,7 @@
</div>
</template>
</el-table-column>
- <el-table-column prop="flowcard" :label="$t('Flowcard')" align="center">
+ <el-table-column prop="flowcard" :label="$t('Order')" align="center">
<template slot-scope="scope">
<div :style="{width: '105%', height: '100%', lineHeight: '38px' }">
{{ scope.row.flowcard }}
@@ -816,7 +816,7 @@
</el-table-column>
<el-table-column prop="cell" :label="$t('Slot No')" align="center">
<template slot-scope="scope">
- <div :style="{width: '105%', height: '100%', lineHeight: '38px' }">
+ <div :style="{backgroundColor: scope.row.state === 0 ? '#00FFFF' : '', width: '105%', height: '100%', lineHeight: '38px' }">
{{ scope.row.cell }}
</div>
</template>
@@ -848,7 +848,7 @@
</div>
</template>
</el-table-column>
- <el-table-column prop="flowcard" :label="$t('Flowcard')" align="center">
+ <el-table-column prop="flowcard" :label="$t('Order')" align="center">
<template slot-scope="scope">
<div :style="{width: '105%', height: '100%', lineHeight: '38px' }">
{{ scope.row.flowcard }}
@@ -943,7 +943,7 @@
{{ $t('Select') }}</el-button>
</div>
<el-table :data="this.StorageCageAddInfo" :height="700" border style="width: 100%;overflow: auto;">
- <el-table-column prop="flowcard" :label="$t('Flowcard')"></el-table-column>
+ <el-table-column prop="flowcard" :label="$t('Order')"></el-table-column>
<el-table-column prop="tier" :label="$t('Tier')"></el-table-column>
<el-table-column prop="width" :label="$t('Width')"></el-table-column>
<el-table-column prop="height" :label="$t('Height')"></el-table-column>
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java b/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
index 95a670a..afd257a 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
@@ -129,5 +129,49 @@
}
+ public static PlcParameterObject initwords(String jsonFilePath) {
+ // File file=new File(jsonFilePath);
+ // if (!file.exists()) {
+ // System.out.println(jsonFilePath);
+ // return null;
+ // }
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ PlcParameterObject plcParameterObject = new PlcParameterObject();
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+ PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcParameterInfo.setCodeId(codeid);
+ // plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+ plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
+ // plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
+ // plcParameterInfo.setUnit(parameterObj.getStr("unit"));
+ plcParameterObject.addPlcParameter(plcParameterInfo);
+ }
+ // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+ // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ // plcParameterObject.setPlcParameterList(getplcvlues);
+
+ return plcParameterObject;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
}
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 dbf369f..4b1844c 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
@@ -81,7 +81,7 @@
// .println("鍑虹墖鐘舵��:MESToPLC:" + MESToPLC + "PLCToMES:" + PLCToMES + "MESToPLCStatus1:" + MESToPLCStatus1);
spianService.selectout(1);
try {
- Thread.sleep(200); // 姣�100姣妫�鏌ヤ竴娆�
+ Thread.sleep(100); // 姣�100姣妫�鏌ヤ竴娆�
} catch (InterruptedException e) {
Thread.currentThread().interrupt(); // 澶勭悊绾跨▼涓柇
}
@@ -94,7 +94,7 @@
MESToPLC = plcmes.getPlcParameter("MESToPLC").getValue();// 鍙戦�佷换鍔″瓧
// 杩愰�佽溅璇锋眰鍜屾祴閲忓畬鎴愯姹�
GlassInfo glass = albaniaMapper.SelectGlass();
- if (PLCToMES != null && glass != null && MESToPLC != null && taskcont == 0) {
+ if (PLCToMES != null && glass != null && MESToPLC != null) {
if (PLCToMES.equals("1") == true && MESToPLC.equals("0") == true && MESToPLCStatus1.equals("0") == true&&outtask == 0) {
try {
Thread.sleep(100); // 姣�100姣妫�鏌ヤ竴娆�
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 d53aae7..0970d32 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
@@ -145,10 +145,17 @@
double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());//
// 瀹�
double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 楂�
- if ("0".equals(PlcRequest) && istest) {
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
- (short) 0);
+ // if ("0".equals(PlcRequest) && "1".equals(MesSend)|| "0".equals(PlcRequest) && "4".equals(MesSend)) {
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0);
+ // }
+ // if ("2".equals(PlcRequest) && "1".equals(MesSend)) {
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0);
+ // }
+ if ("4".equals(PlcRequest)) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0);
+ System.out.println("鏀跺洓褰掗浂");
}
+
// System.out.println("PlcRequest:" + PlcRequest+"MesSend:" + MesSend+"width:" +
// width+"height:" + height);
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 7c30d77..ae094c4 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
@@ -24,6 +24,8 @@
// new PlcAlbaniaServo().start();
// new Plcsign().start();
+ new PlcSigns().start();
+
}
}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index 848f87b..de59f75 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -592,4 +592,27 @@
return storageCageService.SaveMeasure(films,thickness);
}
+ @GetMapping("/writeValue")
+ public Result writeValue(String address, float value, String type) {
+ if ("0".equals(type)) {
+ System.err.println("鍐欏叆word" + address + "+" + value);
+ // S7control.getinstance().WriteWord(address, (short) value);
+ } else if("1".equals(type)) {
+
+ System.err.println("鍐欏叆float" + address + "+" + value);
+ // S7control.getinstance().writeFloat32(address, value);
+ }else{
+ System.err.println("鍐欏叆bit" + address + "+" + value);
+ // S7control.getinstance().WriteBit(address, true);
+ try {
+ TimeUnit.MILLISECONDS.sleep(300);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ // S7control.getinstance().WriteBit(address, false);
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java
index 68a6fb8..b5faca2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java
@@ -74,7 +74,7 @@
@Select("select method,flowcard from flowcard where state=1 and line=#{line} ORDER BY starttime LIMIT 1;")
GlassInfo SelectMethod(int line);
//鐩村嚭妯″紡浠诲姟鏌ヨ
- @Select("select b.flowcard,b.glassid,b.glasstype,b.mateid,b.width,b.tier,a.totaltier as id,IFNULL(c.number,0)as number,b.glassid from flowcard a left join glassinfo b on a.flowcard=b.flowcard left join(select sum(number)as number,glasstype from storage_cage GROUP BY glasstype)c on b.glasstype=c.glasstype where a.line=1 and a.state=1 and c.number>0 and b.finishnumber<b.number ORDER BY b.finishnumber,b.tier asc limit 1")
+ @Select("select b.flowcard,b.glassid,b.glasstype,b.mateid,b.width,b.tier,a.totaltier as id,IFNULL(c.number,0)as number,b.glassid from flowcard a left join glassinfo b on a.flowcard=b.flowcard left join(select sum(number)as number,glasstype from storage_cage GROUP BY glasstype)c on b.glasstype=c.glasstype where a.line=1 and a.state=1 and c.number>0 ORDER BY b.mateid,b.tier asc limit 1")
GlassInfo SelectOutGlass2(int line);
//鏌ヨ鐩撮�氭ā寮忎笅鏈�鍚庝竴鍧�
@Select("select IFNULL(b.tier, 0) from flowcard a left join glassinfo b on a.flowcard=b.flowcard left join(select sum(number)as number,glasstype from storage_cage GROUP BY glasstype)c on b.glasstype=c.glasstype where a.line=#{line} and c.number>0 ORDER BY b.tier desc LIMIT 1")
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index 148c234..feda6e1 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -344,7 +344,7 @@
Integer SelectMaxTypes(String key);
//鏌ヨ鎵�鏈夌幓鐠冭啘绯诲拰鍘氬害
- @Select("select films,thickness from glassinfo GROUP BY films,thickness")
+ @Select("select films,thickness from flowcard a left join glassinfo b on a.flowcard=b.flowcard where orderstate=1 GROUP BY films,thickness")
List<GlassInfo> SelectMeasure();
@Select("select*from measuresetting")
MeasureSetting SelectMeasureSetting();
@@ -381,6 +381,6 @@
@Select("SELECT a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state FROM `out_task` a left join glassinfo b on a.glasstype=b.glasstype where task_state!=1 ORDER BY task_state")
List<Map>SelectOutTask();
//鏌ヨ鍑虹墖璁板綍鏁版嵁
- @Select(" select a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state,a.shelf_rack as cell from storage_task a left join glassinfo b on a.glasstype=b.glasstype where task_state=1 and task_type=1 ORDER BY a.id desc LIMIT 6;")
+ @Select(" select a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state,a.shelf_rack as cell from storage_task a left join glassinfo b on a.glasstype=b.glasstype where task_type=1 ORDER BY a.id desc LIMIT 6;")
List<Map>SelectOutLog();
}
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 47c8255..fcadaaf 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
@@ -239,18 +239,18 @@
}
// 鎸囧畾鏍煎瓙鍑虹墖
- public Result AddOutGlass(Integer cell,Integer glasstype) {
+ public Result AddOutGlass(Integer cell, Integer glasstype) {
GlassInfo glass = albaniaMapper.SelectGlassInfo(glasstype);
Map<String, Object> map = new HashMap<>();
- if(glass!=null){
- albaniaMapper.AddFinishNumber(glass.getFlowcard(),glass.getMateid(), glass.getTier());
- UpdateStroageCageByCell(cell, -1);// 鐜荤拑鏁伴噺-1
- // 澧炲姞鍑虹墖闃熷垪鐨勪换鍔�
- albaniaMapper.InsertOutTask(1, 0, cell, 2001,glass.getGlassid(),
- glass.getGlasstype(), glass.getFlowcard(),glass.getMateid(),glass.getTier());
- map.put("message", "200");
- }else{
- map.put("message", "300");
+ if (glass != null) {
+ albaniaMapper.AddFinishNumber(glass.getFlowcard(), glass.getMateid(), glass.getTier());
+ UpdateStroageCageByCell(cell, -1);// 鐜荤拑鏁伴噺-1
+ // 澧炲姞鍑虹墖闃熷垪鐨勪换鍔�
+ albaniaMapper.InsertOutTask(1, 0, cell, 2001, glass.getGlassid(),
+ glass.getGlasstype(), glass.getFlowcard(), glass.getMateid(), glass.getTier());
+ map.put("message", "200");
+ } else {
+ map.put("message", "300");
}
return Result.success(map);
}
@@ -276,13 +276,14 @@
}
return storageTasks;
}
-
- //鏌ヨ鍑虹墖闃熷垪
+
+ // 鏌ヨ鍑虹墖闃熷垪
public List<Map> SelectOutTask() {
return homeMapper.SelectOutTask();
}
- //鏌ヨ鍑虹墖闃熷垪
- public List<Map> SelectOutLog() {
+
+ // 鏌ヨ鍑虹墖闃熷垪
+ public List<Map> SelectOutLog() {
return homeMapper.SelectOutLog();
}
@@ -449,18 +450,20 @@
public Result UpdateQueue(GlassInfo glassInfo) {
// 鍒犻櫎鏁版嵁
Map<String, Object> map = new HashMap<>();
- // QueueMapper.DeleteQueue();
- System.out.println("浜哄伐鍖归厤ID锛�"+glassInfo.getMateid()+"鑶滅郴:"+glassInfo.getFilms());
- int count = homeMapper.SelectQueue();
- if (count > 0) {
- homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
+ QueueMapper.DeleteQueue();
+ System.out.println("浜哄伐鍖归厤ID:" + glassInfo.getMateid() + "鑶滅郴:" + glassInfo.getFilms());
+ // int count = homeMapper.SelectQueue();
+ // if (count > 0) {
+ // homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
+ // glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(), glassInfo.getMateid());
+ homeMapper.AddQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(), glassInfo.getMateid());
PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
map.put("message", "200");
- } else {
- map.put("message", "300");
- }
+ // } else {
+ // map.put("message", "300");
+ // }
return Result.success(map);
}
@@ -491,6 +494,7 @@
map.put("message", "200");
return Result.success(map);
}
+
// 寮�濮�/鏆傚仠鍑虹墖闃熷垪
public Result UpdateOutTask(Integer id, Integer state) {
homeMapper.UpdateOutTask(id, state);
@@ -498,7 +502,8 @@
map.put("message", "200");
return Result.success(map);
}
- //鍒犻櫎鍑虹墖闃熷垪
+
+ // 鍒犻櫎鍑虹墖闃熷垪
public Result DeleteOutTask(Integer id) {
homeMapper.DeleteOutTask(id);
Map<String, Object> map = new HashMap<>();
@@ -553,7 +558,7 @@
&&
item.get("films") != null && item.get("base") != null && item.get("height") != null
&& item.get("thickness") != null && item.get("quantity") != null
- && item.get("matching") != null)&& item.get("Customer") != null)
+ && item.get("matching") != null))
.collect(Collectors.toList());
TypeDatas.forEach(item -> {
@@ -615,9 +620,11 @@
, Integer.parseInt(map.get("tier").toString()), map.get("films").toString(),
Double.parseDouble(map.get("base").toString()), Double.parseDouble(map.get("height").toString()),
Double.parseDouble(map.get("thickness").toString()),
- Integer.parseInt(map.get("quantity").toString()), groupby.get(tierkey),map.get("Customer").toString());// 闇�瑕佽绠楁�诲眰鏁�
+ Integer.parseInt(map.get("quantity").toString()), groupby.get(tierkey),
+ map.get("Customer").toString());// 闇�瑕佽绠楁�诲眰鏁�
// 璁㈠崟鍐呮�诲眰鏁�
- homeMapper.InsertFlowcard(map.get("order").toString(), OrderFinishedProduct.get(tierkey + "_Sum"), map.get("Customer").toString());
+ homeMapper.InsertFlowcard(map.get("order").toString(), OrderFinishedProduct.get(tierkey + "_Sum"),
+ map.get("Customer").toString());
count++;
}
Map<String, Object> ResultCode = new HashMap<>();
--
Gitblit v1.8.0