Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes
# Conflicts:
# Albania_Mes-ui/src/views/home/index.vue
# springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
| | |
| | | data:"" |
| | | }) |
| | | } |
| | | export function StartChange(flowcard) { |
| | | return request({ |
| | | url: '/home/StartChange?flowcard='+flowcard, |
| | | method: 'post', |
| | | data:"" |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.0" |
| | | "unit":"I10.0", |
| | | "name1":"LOW-E膜检测" |
| | | }, |
| | | { |
| | | "name": "A01Sr.dec", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.1" |
| | | "unit":"I10.1", |
| | | "name1":"A01减速" |
| | | }, |
| | | { |
| | | "name": "A01Sr.Pos", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.2" |
| | | "unit":"I10.2", |
| | | "name1":"A01到位" |
| | | |
| | | }, |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.3" |
| | | "unit":"I10.3", |
| | | "name1":"A02-Y轴原点" |
| | | }, |
| | | { |
| | | "name": "A02Sr.YH1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.4" |
| | | "unit":"I10.4", |
| | | "name1":"A02-Y轴高度感应1" |
| | | }, |
| | | { |
| | | "name": "A02Sr.YH2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.5" |
| | | "unit":"I10.5", |
| | | "name1":"A02-Y轴高度感应2" |
| | | }, |
| | | { |
| | | "name": "A02Sr.YH3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.6" |
| | | "unit":"I10.6", |
| | | "name1":"A02-Y轴高度感应3" |
| | | }, |
| | | { |
| | | "name": "A02Sr.YH4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I10.7" |
| | | "unit":"I10.7", |
| | | "name1":"A02-Y轴高度感应4" |
| | | }, |
| | | { |
| | | "name": "A02Sr.LimitTop", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.0" |
| | | "unit":"I11.0", |
| | | "name1":"A02-Y轴上极限" |
| | | |
| | | }, |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.1" |
| | | "unit":"I11.1", |
| | | "name1":"A02-Y轴下极限" |
| | | }, |
| | | { |
| | | "name": "A02Sr.Check", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.2" |
| | | "unit":"I11.2", |
| | | "name1":"A02-Y轴寻边" |
| | | }, |
| | | { |
| | | "name": "A02Sr.YDec", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.3" |
| | | "unit":"I11.3", |
| | | "name1":"A02-Y轴减速" |
| | | }, |
| | | { |
| | | "name": "A02Sr.Xin", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.4" |
| | | "unit":"I11.4", |
| | | "name1":"A02-X轴上片" |
| | | }, |
| | | { |
| | | "name": "A02Sr.XCheck", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.5" |
| | | "unit":"I11.5", |
| | | "name1":"A02-X轴寻边" |
| | | }, |
| | | { |
| | | "name": "A02Sr.XDec", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.6" |
| | | "unit":"I11.6", |
| | | "name1":"A02-X轴减速" |
| | | }, |
| | | { |
| | | "name": "A02Sr.XPos", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I11.7" |
| | | "unit":"I11.7", |
| | | "name1":"A02-X轴到位" |
| | | }, |
| | | { |
| | | "name": "C01Sr.Zero", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.0" |
| | | "unit":"I124.0", |
| | | "name1":"C01原点" |
| | | |
| | | }, |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.1" |
| | | "unit":"I124.1", |
| | | "name1":"C01.YV1原点位1" |
| | | }, |
| | | { |
| | | "name": "C01YV1.Work1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.2" |
| | | "unit":"I124.2", |
| | | "name1":"C01.YV1动作位1" |
| | | }, |
| | | { |
| | | "name": "C01.YV1.Bas2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.3" |
| | | "unit":"I124.3", |
| | | "name1":"C01.YV1原点位2" |
| | | }, |
| | | { |
| | | "name": "C01.YV1.Work2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.4" |
| | | "unit":"I124.4", |
| | | "name1":"C01.YV1动作位2" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Bas1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.5" |
| | | "unit":"I124.5", |
| | | "name1":"C01.YV2原点位1" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Bas2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.6" |
| | | "unit":"I124.6", |
| | | "name1":"C01.YV2原点位2" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Bas3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I124.7" |
| | | "unit":"I124.7", |
| | | "name1":"C01.YV2原点位3" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Bas4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.0" |
| | | "unit":"I125.0", |
| | | "name1":"C01.YV2原点位4" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Work1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.1" |
| | | "unit":"I125.1", |
| | | "name1":"C01.YV2动作位1" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Work2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.2" |
| | | "unit":"I125.2", |
| | | "name1":"C01.YV2动作位2" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Work3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.3" |
| | | "unit":"I125.3", |
| | | "name1":"C01.YV2动作位3" |
| | | }, |
| | | { |
| | | "name": "C01.YV2.Work4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.4" |
| | | "unit":"I125.4", |
| | | "name1":"C01.YV2动作位4" |
| | | }, |
| | | { |
| | | "name": "C01.YV.Blow1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.5" |
| | | "unit":"I125.5", |
| | | "name1":"C01吹气1" |
| | | }, |
| | | { |
| | | "name": "C01.YV.Blow2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.6" |
| | | "unit":"I125.6", |
| | | "name1":"C01吹气2" |
| | | }, |
| | | { |
| | | "name": "C01.YV.Blow3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I125.7" |
| | | "unit":"I125.7", |
| | | "name1":"C01吹气3" |
| | | }, |
| | | { |
| | | "name": "C01.YV.Blow4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.0" |
| | | "unit":"I126.0", |
| | | "name1":"C01吹气4" |
| | | }, |
| | | { |
| | | "name": "C01.SR.Limit1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.1" |
| | | "unit":"I126.1", |
| | | "name1":"C01对射保护" |
| | | }, |
| | | { |
| | | "name": "C02.Sr.Zero", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.2" |
| | | "unit":"I126.2", |
| | | "name1":"C02原点" |
| | | }, |
| | | { |
| | | "name": "C02.YV1.Bas1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.3" |
| | | "unit":"I126.3", |
| | | "name1":"C02.YV1原点位1" |
| | | }, |
| | | { |
| | | "name": "C02.YV1.Work1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.4" |
| | | "unit":"I126.4", |
| | | "name1":"C02.YV1动作位1" |
| | | }, |
| | | { |
| | | "name": "C02.YV1.Bas2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.5" |
| | | "unit":"I126.5", |
| | | "name1":"C02.YV1原点位2" |
| | | }, |
| | | { |
| | | "name": "C02.YV1.Work2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.6" |
| | | "unit":"I126.6", |
| | | "name1":"C02.YV1动作位2" |
| | | }, |
| | | { |
| | | "name": "C02.Sr.limit1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I126.7" |
| | | "unit":"I126.7", |
| | | "name1":"C02对射保护" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Bas1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.0" |
| | | "unit":"I127.0", |
| | | "name1":"C02.YV2原点位1" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Bas2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.1" |
| | | "unit":"I127.1", |
| | | "name1":"C02.YV2原点位2" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Bas3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.2" |
| | | "unit":"I127.2", |
| | | "name1":"C02.YV2原点位3" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Bas4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.3" |
| | | "unit":"I127.3", |
| | | "name1":"C02.YV2原点位4" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Work1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.4" |
| | | "unit":"I127.4", |
| | | "name1":"C02.YV2动作位1" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Work2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.5" |
| | | "unit":"I127.5", |
| | | "name1":"C02.YV2动作位2" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Work3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.6" |
| | | "unit":"I127.6", |
| | | "name1":"C02.YV2动作位3" |
| | | }, |
| | | { |
| | | "name": "C02.YV2.Work4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I127.7" |
| | | "unit":"I127.7", |
| | | "name1":"C02.YV2动作位4" |
| | | }, |
| | | { |
| | | "name": "C02.YV.Blow1", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.0" |
| | | "unit":"I128.0", |
| | | "name1":"C02吹气1" |
| | | }, |
| | | { |
| | | "name": "C02.YV.Blow2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.1" |
| | | "unit":"I128.1", |
| | | "name1":"C02吹气2" |
| | | }, |
| | | { |
| | | "name": "C02.YV.Blow3", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.2" |
| | | "unit":"I128.2", |
| | | "name1":"C02吹气3" |
| | | }, |
| | | { |
| | | "name": "C02.YV.Blow4", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.3" |
| | | "unit":"I128.3", |
| | | "name1":"C02吹气4" |
| | | }, |
| | | { |
| | | "name": "bStart", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.4" |
| | | "unit":"I128.4", |
| | | "name1":"启动" |
| | | }, |
| | | { |
| | | "name": "bStop", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.5" |
| | | "unit":"I128.5", |
| | | "name1":"停止" |
| | | }, |
| | | { |
| | | "name": "bEstop", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.6" |
| | | "unit":"I128.6", |
| | | "name1":"急停" |
| | | }, |
| | | { |
| | | "name": "bReset", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I128.7" |
| | | "unit":"I128.7", |
| | | "name1":"复位" |
| | | }, |
| | | { |
| | | "name": "bAuto/Manual", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.0" |
| | | "unit":"I129.0", |
| | | "name1":"模式选择" |
| | | }, |
| | | { |
| | | "name": "bPause", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.1" |
| | | "unit":"I129.1", |
| | | "name1":"暂停" |
| | | }, |
| | | { |
| | | "name": "C01.Sr.Limit2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.2" |
| | | "unit":"I129.2", |
| | | "name1":"C01对射保护2" |
| | | }, |
| | | { |
| | | "name": "C02.Sr.Limit2", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.3" |
| | | "unit":"I129.3", |
| | | "name1":"C02对射保护2" |
| | | }, |
| | | { |
| | | "name": "A01.FootControl", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.4" |
| | | "unit":"I129.4", |
| | | "name1":"脚踏开关" |
| | | }, |
| | | { |
| | | "name": "B01.Sr.DecLeft", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.5" |
| | | "unit":"I129.5", |
| | | "name1":"B01左减速" |
| | | }, |
| | | { |
| | | "name": "B01.Sr.PosLeft", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.6" |
| | | "unit":"I129.6", |
| | | "name1":"B01左到位" |
| | | }, |
| | | { |
| | | "name": "B01.Sr.SafetyLeft", |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I129.7" |
| | | "unit":"I129.7", |
| | | "name1":"B01左安全检测" |
| | | } |
| | | , |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I130.0" |
| | | "unit":"I130.0", |
| | | "name1":"B01右减速" |
| | | } |
| | | , |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I130.1" |
| | | "unit":"I130.1", |
| | | "name1":"B01右到位" |
| | | } |
| | | , |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I130.2" |
| | | "unit":"I130.2", |
| | | "name1":"B01右安全检测" |
| | | } |
| | | , |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I130.3" |
| | | "unit":"I130.3", |
| | | "name1":"B01大车翻转原点" |
| | | } |
| | | , |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I130.4" |
| | | "unit":"I130.4", |
| | | "name1":"B01大车翻转上极限" |
| | | } |
| | | , |
| | | { |
| | |
| | | "state": "1", |
| | | "type": "1", |
| | | "page": "1", |
| | | "unit":"I130.5" |
| | | "unit":"I130.5", |
| | | "name1":"B01大车翻转下极限" |
| | | } |
| | | |
| | | |
| | |
| | | "Height":"Height", |
| | | "Thickness":"Thickness", |
| | | "Clear":"Clear", |
| | | "MeasureNumber":"MeasureNumber", |
| | | "results":"results", |
| | | "start work":"start work", |
| | | |
| | | |
| | | |
| | | "ip":"localhost", |
| | |
| | | "Height":"高", |
| | | "Thickness":"厚度", |
| | | "Clear":"清除", |
| | | "MeasureNumber":"测量数量", |
| | | "results":"结果", |
| | | "start work":"开始工作", |
| | | |
| | | "ip":"localhost", |
| | | "systemTitle": "登录系统", |
| | |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | <router-link to="/Electrical/AlbaniaServo" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | }}</router-link> |
| | | </el-breadcrumb> |
| | | |
| | |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <router-link to="/Electrical/AlbaniaServo" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Parameter') |
| | | }}</router-link> |
| | | </el-breadcrumb> |
| | |
| | | >{{ $t("Sign") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/Servomanual" |
| | | to="/Electrical/AlbaniaServo" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | |
| | | <!-- <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualJog') |
| | | }}</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/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | |
| | | <router-link v-if="hasPermission" |
| | | to="/Electrical/InteractionState" |
| | |
| | | item.unit |
| | | }}</span> --> |
| | | <span style="width: 100%;" class="in_mc">{{ |
| | | item.name |
| | | language === 'zh-CN'?item.name1:item.name |
| | | }}</span> |
| | | </div> |
| | | |
| | |
| | | params: [], |
| | | xyData: [], |
| | | }, |
| | | |
| | | |
| | | language :this.$i18n.locale, |
| | | messagepack: { |
| | | data: { taskname: "" } |
| | | }, |
| | |
| | | } |
| | | }, |
| | | created () { |
| | | |
| | | //this.showdata(); |
| | | }, |
| | | activated(){ |
| | | this.init(); |
| | | this.record.xyData = this.jsonData.sign; |
| | | const language = this.$i18n.locale; |
| | | |
| | | |
| | | if (language === 'zh-CN') { |
| | | this.replaceChineseWithEnglish(); |
| | | } else { |
| | |
| | | }, |
| | | methods: { |
| | | showdata () { |
| | | console.log(1111); |
| | | console.log(this.jsonData.sign[0].name); |
| | | // console.log(this.record.xyData); |
| | | |
| | | }, |
| | |
| | | this.record.params[0] = obj.sig[0]; |
| | | |
| | | this.record.xyData = this.jsonData.sign; |
| | | console.log(this.jsonData.sign) |
| | | for (let a = 0; a < this.record.xyData.length; a++) { |
| | | this.record.xyData[a].value = this.record.params[0][a]; |
| | | |
| | |
| | | ); |
| | | |
| | | |
| | | const language = this.$i18n.locale; |
| | | const language = this.$i18n.locale;language |
| | | console.log(language); |
| | | if (language === 'zh-CN') { |
| | | this.replaceChineseWithEnglish(); |
| | | } else { |
| | |
| | | //语言转换 |
| | | replaceChineseWithEnglish () { |
| | | |
| | | const translation = this.$t('Signlang'); |
| | | // const translation = this.$t('Signlang'); |
| | | |
| | | if (translation != null) { |
| | | this.record.xyData = this.record.xyData.map(item => { return { name: translation[item.name] || item.name, value: item.value,unit:item.unit }; }); |
| | | //console.log(translation); |
| | | } |
| | | // if (translation != null) { |
| | | // this.record.xyData = this.record.xyData.map(item => { return { name: translation[item.name] || item.name, value: item.value,unit:item.unit }; }); |
| | | // //console.log(translation); |
| | | // } |
| | | |
| | | } |
| | | } |
| | |
| | | this.roles = res.data.list; |
| | | //table中的内容进行语言转换 |
| | | const language = this.$i18n.locale; |
| | | |
| | | if (language === 'zh-CN') { |
| | | this.replaceChineseWithEnglish(); |
| | | } else { |
| | |
| | | .cells { |
| | | height: 100%; |
| | | } |
| | | .custom-row-class{ |
| | | background-color: rgb(150, 238, 234) !important; |
| | | } |
| | | </style> |
| | | <template> |
| | | <el-container> |
| | |
| | | </div> |
| | | <div style="display: flex;align-items: center;overflow: hidden;"> |
| | | <div class="blocks" style="position: relative;width: 100%;"> |
| | | <div class="blocks-img" :style="'z-index:999;left:150px;top:'+carposition+'px;'"> |
| | | <div class="blocks-img" :style="'z-index:999;left:150px;top:' + carposition + 'px;'"> |
| | | |
| | | </div> |
| | | <div |
| | | :style="'position: absolute;z-index:99;left:271px;top:987px;width:210px;height:38px;background-color:' + ShowDeviceList(0) + ';'"> |
| | | </div> |
| | | <div |
| | | :style="'position: absolute;z-index:1000;left:553px;top:'+(400+carposition)+'px;width:110px;height:88px;background-color:' + ShowDeviceList(0) + ';'"> |
| | | :style="'position: absolute;z-index:1000;left:553px;top:' + (400 + carposition) + 'px;width:110px;height:88px;background-color:' + ShowDeviceList(0) + ';'"> |
| | | </div> |
| | | <div |
| | | :style="'position: absolute;z-index:99;left:800px;top:450px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';'"> |
| | |
| | | <div style="height: 780px;"> |
| | | <!--功能--> |
| | | <div> |
| | | <el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState" |
| | | <el-button type="primary" @click="ManualMatching()" :disabled="(this.LastQueue.state <= 0)" |
| | | style="z-index: 999;">{{ $t('Manual matching') }}</el-button> |
| | | <el-button type="primary" @click="ManualTake()" :disabled="SoftEmergencyStopState" |
| | | style="z-index: 999;">{{ $t('Manual removal') }}</el-button> |
| | | <el-button type="primary" @click="AnewMeasure()" :disabled="SoftEmergencyStopState" |
| | | style="z-index: 999;">{{ $t('Remeasure') }}</el-button> |
| | | <el-button type="primary" @click="ManualTake()" :disabled="(this.LastQueue.state <= 0)" |
| | | style="z-index: 999;">{{ |
| | | $t('Manual removal') }}</el-button> |
| | | <el-button type="primary" @click="AnewMeasure()" :disabled="(this.LastQueue.state <= 0)" |
| | | style="z-index: 999;">{{ |
| | | $t('Remeasure') }}</el-button> |
| | | </div> |
| | | <br> |
| | | <!--显示--> |
| | | <div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;float: left;"> |
| | | <!--玻璃图 #81b337--> |
| | | <div :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin:'+((720-(this.LastQueue.glassheight / 25 * 7))/2)+'px auto;width:' |
| | | + (this.LastQueue.glasswidth / 25 * 7) + 'px;height:' |
| | | + (this.LastQueue.glassheight / 25 * 7) + 'px;line-height: ' |
| | | + (this.LastQueue.glassheight / 25 * 7) + 'px; background-color: ' |
| | | + (this.LastQueue.state>0?'#4CCCE4':(this.LastQueue.state==0?'#E4CA4C':'#E4CA4C'))+';text-align: center;'"> |
| | | {{ (this.LastQueue.glasswidth+this.LastQueue.glassheight)!=0?(this.LastQueue.glasswidth+"*"+this.LastQueue.glassheight):"" }} |
| | | <div |
| | | :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin:' + ((720 - (this.LastQueue.glassheight / 25 * 7)) / 2) + 'px auto;width:' |
| | | + (this.LastQueue.glasswidth / 25 * 7) + 'px;height:' |
| | | + (this.LastQueue.glassheight / 25 * 7) + 'px;line-height: ' |
| | | + (this.LastQueue.glassheight / 25 * 7/3) + 'px; background-color: ' |
| | | + (this.LastQueue.state > 0 ? '#4CCCE4' : (this.LastQueue.state == 0 ? '#E4CA4C' : '#E4CA4C')) + ';text-align: center;font-size:50px'"> |
| | | <div> |
| | | {{ $t('Measure')}} |
| | | </div> |
| | | <div> |
| | | {{ $t('Width')+"*"+$t('Height') }}:{{(this.LastQueue.glasswidth + this.LastQueue.glassheight) != 0 ? (this.LastQueue.glasswidth + "*"+this.LastQueue.glassheight)+"" : ""}} |
| | | </div> |
| | | |
| | | <div> |
| | | {{ $t('results') }}:{{this.LastState[this.LastQueue.state]}} |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | <!--显示--> |
| | | <div style="width:20px;height: 720px;float: left;"></div> |
| | | <div style="width:500px;height: 620px;border: 2px solid #d1d1d1;float: left;padding: 50px 50px;"> |
| | | <!--玻璃图 #81b337--> |
| | | <span class="measuretitle">{{ $t('Width') }}:</span> <span class="measureValue">{{ this.LastQueue.glasswidth }}</span> <span class="measureUnit">mm</span> |
| | | <div style="width:600px;height: 720px;border: 2px solid #d1d1d1;float: left;"> |
| | | <!--玻璃图 #81b337 padding: 50px 50px;--> |
| | | <!-- <span class="measuretitle">{{ $t('Width') }}:</span> <span class="measureValue">{{ |
| | | this.LastQueue.glasswidth |
| | | }}</span> <span class="measureUnit">mm</span> |
| | | <br> |
| | | <span class="measuretitle">{{ $t('Height') }}:</span> <span class="measureValue">{{ this.LastQueue.glassheight }}</span> <span class="measureUnit">mm</span> |
| | | <span class="measuretitle">{{ $t('Height') }}:</span> <span class="measureValue">{{ |
| | | this.LastQueue.glassheight }}</span> <span class="measureUnit">mm</span> |
| | | <br> |
| | | <span class="measuretitle">{{ $t('Measure Width') }}:</span> <span class="measureValue">{{ this.LastQueue.glasswidthmm }}</span> <span class="measureUnit">mm</span> |
| | | <br> |
| | | <span class="measuretitle">{{ $t('Measure Height') }}:</span> <span class="measureValue">{{ this.LastQueue.glassheightmm }}</span> <span class="measureUnit">mm</span> |
| | | |
| | | <span class="measuretitle">{{ $t('Measure Width') }}:</span> <span class="measureValue">{{ |
| | | this.LastQueue.glasswidthmm }}</span> <span class="measureUnit">mm</span> |
| | | <br> |
| | | <span class="measuretitle">{{ $t('Matching results') }}:</span> <span class="measureValue">{{ this.LastQueue.state>0?$t('Matching successful'):(this.LastQueue.state==0?$t('Multiple data matching'):$t('Matching failed')) }}</span> |
| | | <span class="measuretitle">{{ $t('Measure Height') }}:</span> <span class="measureValue">{{ |
| | | this.LastQueue.glassheightmm }}</span> <span class="measureUnit">mm</span> |
| | | <br> |
| | | <span class="measuretitle">{{ $t('Matching results') }}:</span> <span class="measureValue">{{ |
| | | this.LastQueue.state > 0 ? $t('Matching successful') : |
| | | (this.LastQueue.state == 0 ? $t('Multiple data matching') : $t('Matching failed')) }}</span> |
| | | <br> --> |
| | | <el-table :data="this.tasklist3" :row-class-name="rowClassName" style="width: 100%;padding:0;"> |
| | | <el-table-column prop="flowcard" :label="$t('flowcard')"></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> |
| | | <el-table-column prop="height" :label="$t('Height')"></el-table-column> |
| | | <el-table-column prop="thickness" :label="$t('Thickness')"></el-table-column> |
| | | <el-table-column prop="number" :label="$t('Number')"></el-table-column> |
| | | <el-table-column prop="measurenumber" :label="$t('MeasureNumber')"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="line" :label="$t('Task Line')"> |
| | | </el-table-column> |
| | | <el-table-column width="300" :label="$t('Operate')"> |
| | | <el-table-column width="350" :label="$t('Operate')"> |
| | | |
| | | <template slot-scope='scope'> |
| | | <el-select v-model="selected[scope.$index]" :placeholder="$t('Line')" |
| | |
| | | @click="ClaimTasks(scope.row.flowcard, scope.row.state, selected[scope.$index])"> |
| | | {{ scope.row.state > 0 ? $t('Stop Task') : $t('Start Task') }}</el-button> |
| | | |
| | | |
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" |
| | | v-show="scope.row.state >= 0 ? true : false" |
| | | @click="ModeChange(scope.row.flowcard, scope.row.method)"> |
| | | {{ $t('Mode Change') }}</el-button> |
| | | |
| | | |
| | | <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" |
| | | v-show="scope.row.state >= 0 ? true : false" |
| | | @click="StartChange(scope.row.flowcard)"> |
| | | {{ $t('start work') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue, |
| | | isAllowReorderings, |
| | | |
| | | UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure |
| | | UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure,StartChange |
| | | } from "../../api/home"; |
| | | |
| | | |
| | |
| | | name: "Home", |
| | | data() { |
| | | return { |
| | | carposition:0, |
| | | carposition: 0, |
| | | selected: [], |
| | | options: [{ |
| | | value: '1', |
| | |
| | | task2: 2, |
| | | tasklist1: [], |
| | | tasklist2: [], |
| | | tasklist3: [], |
| | | order: "", |
| | | glassid: "", |
| | | glassid1: "", |
| | |
| | | GlassIdList: [], |
| | | Scanningmethod: true, |
| | | CurrrentGlassId: "", |
| | | LastQueue: {} |
| | | LastQueue: {}, |
| | | LastState: ["",this.$t('Matching successful'),this.$t('Multiple data matching'),this.$t('Matching failed')] |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | socket.onmessage = function (msg) { |
| | | //console.log("收到数据====" + msg.data); |
| | | let obj = JSON.parse(msg.data); |
| | | if(obj.carposition != null){ |
| | | if (obj.carposition != null) { |
| | | this.carposition = obj.carposition[0]; |
| | | } |
| | | // 获取设备状态 |
| | |
| | | this.cagelist2 = obj.cagelist2[0]; |
| | | this.cagelist3 = obj.cagelist3[0]; |
| | | this.cagelist4 = obj.cagelist4[0]; |
| | | this.tasklist3 = obj.glassInfoFlowCard[0]; |
| | | this.tasklist2 = obj.StoragTaskeTaskFeed[0]; |
| | | this.tasklist1 = obj.StoragTaskeTaskOut[0]; |
| | | this.alarm = obj.alarmmg[0]; |
| | | if (obj.alarmmg[0].length > 0) { |
| | | if (this.alarm.length > 0) { |
| | | if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) { |
| | | this.alarm = obj.alarmmg[0]; |
| | | this.dialogFormVisible2 = true; |
| | | } |
| | | } else { |
| | | this.alarm = obj.alarmmg[0]; |
| | | this.dialogFormVisible2 = true; |
| | | } |
| | | } else { |
| | | this.alarm = obj.alarmmg[0]; |
| | | this.dialogFormVisible2 = false; |
| | | } |
| | | |
| | | this.tableData1 = obj.OrderTask[0]; |
| | | this.LastQueue = obj.LastQueue[0]; |
| | | |
| | | |
| | | //是否允许出片 |
| | | this.isAllowQueue = obj.isAllowQueue[0]; |
| | |
| | | StorageCageAddGlass(this.cell, this.StorageCageAddInfo[index]).then(res => { |
| | | if (res.data.message == 200) { |
| | | this.$message.success(this.$t('Operation successful')); |
| | | this.StorageCageAdd=false; |
| | | this.StorageCageAdd = false; |
| | | } |
| | | }) |
| | | } else { |
| | |
| | | this.$message.success(this.$t('Operation successful')); |
| | | } |
| | | }); |
| | | },//选择开始工程 |
| | | StartChange(flowcard) { |
| | | StartChange(flowcard).then(res => { |
| | | if (res.data.message == 200) { |
| | | this.$message.success(this.$t('Operation successful')); |
| | | } |
| | | }); |
| | | }, |
| | | //查询玻璃信息 |
| | | SelectGlassInfo() { |
| | |
| | | UpdateStroageCageByCell(cell, nownum, num) { |
| | | if (nownum == null && num == 1) { |
| | | this.StorageCageAdd = true; |
| | | this.Measuermode=true; |
| | | this.Measuermode = true; |
| | | this.cell = cell; |
| | | } else { |
| | | if (nownum + num == 0) { |
| | |
| | | //人工匹配 |
| | | ManualMatching() { |
| | | this.StorageCageAdd = true; |
| | | this.Measuermode=false; |
| | | this.Measuermode = false; |
| | | }, |
| | | //人工拿走 |
| | | ManualTake() { |
| | |
| | | }, |
| | | importData() { |
| | | //let tbdata=JSON.stringify(this.dataList); |
| | | let tbdata=this.dataList; |
| | | let tbdata = this.dataList; |
| | | console.log(tbdata); |
| | | importData(tbdata).then(res => { |
| | | if (res.data.message == 200) { |
| | |
| | | del() { |
| | | |
| | | this.StorageCageAdd = true; |
| | | }, |
| | | rowClassName({ row, rowIndex }) { |
| | | if (row.glasstype!=0&&row.glasstype == this.LastQueue.glasstype) { |
| | | console.log(rowIndex); |
| | | return 'custom-row-class'; |
| | | } else { |
| | | return ''; // 返回空字符串表示不添加任何额外的类名 |
| | | } |
| | | } |
| | | |
| | | |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB14.0", |
| | | "plcAddressLenght":"208", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "PLCToMES", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "IDStatus1", |
| | | "addressIndex":"2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "IDStatus2", |
| | | "addressIndex":"4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "IDStatus3", |
| | | "addressIndex":"6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "IDStatus4", |
| | | "addressIndex":"8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "IDStatus5", |
| | | "addressIndex":"10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | , |
| | | { |
| | | "codeId": "IDStatus6", |
| | | "addressIndex":"12", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "StautsID1", |
| | | "addressIndex":"14", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | , |
| | | { |
| | | "codeId": "StautsID2", |
| | | "addressIndex":"16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | , |
| | | { |
| | | "codeId": "StautsID3", |
| | | "addressIndex":"18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | , |
| | | { |
| | | "codeId": "StautsID4", |
| | | "addressIndex":"20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | , |
| | | { |
| | | "codeId": "StautsID5", |
| | | "addressIndex":"22", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "StautsID6", |
| | | "addressIndex":"24", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "GaToMES", |
| | | "addressIndex":"26", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "Height", |
| | | "addressIndex":"28", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "width", |
| | | "addressIndex":"30", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "ExportTOMES1", |
| | | "addressIndex":"32", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | , |
| | | { |
| | | "codeId": "ExportToMES2", |
| | | "addressIndex":"34", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } , |
| | | { |
| | | "codeId": "MESToPLC", |
| | | "addressIndex":"36", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } , |
| | | { |
| | | "codeId": "MESID1", |
| | | "addressIndex":"38", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } , |
| | | { |
| | | "codeId": "MESID2", |
| | | "addressIndex":"54", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "MESID3", |
| | | "addressIndex":"70", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "MESID4", |
| | | "addressIndex":"86", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "MESID5", |
| | | "addressIndex":"102", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "MESID6", |
| | | "addressIndex":"118", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "MESToPLCStart1", |
| | | "addressIndex":"134", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStart2", |
| | | "addressIndex":"136", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStart3", |
| | | "addressIndex":"138", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | ,{ |
| | | "codeId": "MESToPLCStart4", |
| | | "addressIndex":"140", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | ,{ |
| | | "codeId": "MESToPLCStart5", |
| | | "addressIndex":"142", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | ,{ |
| | | "codeId": "MESToPLCStart6", |
| | | "addressIndex":"144", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCTarget1", |
| | | "addressIndex":"146", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCTarget2", |
| | | "addressIndex":"148", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCTarget3", |
| | | "addressIndex":"150", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCTarget4", |
| | | "addressIndex":"152", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCTarget5", |
| | | "addressIndex":"154", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCTarget6", |
| | | "addressIndex":"156", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStatus1", |
| | | "addressIndex":"158", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStatus2", |
| | | "addressIndex":"160", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStatus3", |
| | | "addressIndex":"162", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStatus4", |
| | | "addressIndex":"164", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStatus5", |
| | | "addressIndex":"166", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToPLCStatus6", |
| | | "addressIndex":"168", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "MESToGaStatus", |
| | | "addressIndex":"170", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A01Err", |
| | | "addressIndex":"172", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A02Err", |
| | | "addressIndex":"174", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "B01Err", |
| | | "addressIndex":"176", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "C01Err", |
| | | "addressIndex":"178", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "C02Err", |
| | | "addressIndex":"180", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "ErrSpace1", |
| | | "addressIndex":"182", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "ErrSpace2", |
| | | "addressIndex":"184", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "ErrSpace3", |
| | | "addressIndex":"186", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "B01Position", |
| | | "addressIndex":"188", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "C01Position", |
| | | "addressIndex":"190", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "C02Position", |
| | | "addressIndex":"192", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "DeviceState", |
| | | "addressIndex":"194", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "AllFVRun", |
| | | "addressIndex":"196", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A01State", |
| | | "addressIndex":"198", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "A02State", |
| | | "addressIndex":"200", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "B01State", |
| | | "addressIndex":"202", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "C01State", |
| | | "addressIndex":"204", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | },{ |
| | | "codeId": "C02State", |
| | | "addressIndex":"206", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | ] |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- ====================================================================== --> |
| | | <!-- --> |
| | | <!-- Generated by Maven Help Plugin on 2024-03-19T08:09:38+08:00 --> |
| | | <!-- Generated by Maven Help Plugin on 2024-04-15T08:30:30+08:00 --> |
| | | <!-- See: http://maven.apache.org/plugins/maven-help-plugin/ --> |
| | | <!-- --> |
| | | <!-- ====================================================================== --> |
| | |
| | | import com.example.springboot.entity.device.PlcParameterObject; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.File; |
| | | import java.io.FileReader; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | |
| | | public class InitUtil { |
| | | //初始化word |
| | | public static PlcParameterObject initword(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); |
| | |
| | | |
| | | // 单例实例 |
| | | private static PLCAutoMes instance; |
| | | private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath(); |
| | | private static String PlcAlbania ="D:/Code/Albania_Mes/PlcAlbania.json"; |
| | | // PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath(); |
| | | public static PlcParameterObject PlcMesObject = initUtil.initword(PlcAlbania); |
| | | |
| | | // 私有构造函数 |
| | |
| | | |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import org.apache.commons.io.FileUtils; |
| | | |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | |
| | | public class PlcAlbaniaServo extends Thread { |
| | | private Configuration config; |
| | | |
| | | public PlcAlbaniaServo() throws IOException { |
| | | public PlcAlbaniaServo() throws IOException { |
| | | config = new Configuration("config.properties"); |
| | | } |
| | | |
| | |
| | | PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; |
| | | if(plcmes.getPlcParameter("PLCToMES").getValue()!=null){ |
| | | |
| | | //spianService.Mestast("NG0001-1",1,4,1,"MESID1",1); |
| | | |
| | | |
| | | // spianService.Mestast("NG0001-1",40,1,0,"MESID1",1); |
| | | // spianService.Mestast("NG0001-2",40,2,0,"MESID2",2); |
| | | // spianService.Mestast("NG0001-3",40,2,1,"MESID3",3); |
| | | |
| | | String ExportTOMES1=plcmes.getPlcParameter("ExportTOMES1").getValue();//出片请求一线 |
| | | String ExportToMES2=plcmes.getPlcParameter("ExportToMES2").getValue();//出片请求二线 |
| | |
| | | //一号线请求 |
| | | if(ExportTOMES1!=null&&MESToPLC!=null){ |
| | | if (ExportTOMES1.equals("1") == true&&MESToPLC.equals("0")==true) { |
| | | //将运输车状态改为忙碌 |
| | | spianService.selectout(1); |
| | | } |
| | | } |
| | | // //二线号请求时 |
| | | if(ExportToMES2!=null &&MESToPLC!=null){ |
| | | if (ExportToMES2.equals("1") == true&&MESToPLC.equals("0")==true) { |
| | | //将运输车状态改为忙碌 |
| | | |
| | | spianService.selectout(2); |
| | | } |
| | | } |
| | | //进片请求时 |
| | | |
| | | GlassInfo glass=albaniaMapper.SelectGlass(); |
| | | if(PLCToMES!=null && glass!=null&&MESToPLC!=null){ |
| | | if(PLCToMES.equals("1")==true&&MESToPLC.equals("0")==true){ |
| | |
| | | |
| | | // 根据地址读取PCL数据 |
| | | List<Boolean> plclist = S7control.getinstance().ReadBits("DB15.0.0", Plccount); |
| | | // System.out.println(plclist); |
| | | // List<Boolean> plclist = S7control.getinstance().ReadBits(PlcAddress, Plccount); |
| | | System.out.println(plclist); |
| | | // Boolean[] values = { false, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, true, false, true, false, true, false, |
| | |
| | | alarmMapper = WebSocketServer.applicationContext.getBean(AlarmMapper.class); |
| | | for (short i = 0; i < array1.length; i++) { |
| | | // 查询对应报警信息结束时间为null的条数 |
| | | if(i==48){ |
| | | short result = alarmMapper.selectnullti(array1[i]); |
| | | System.out.println(result+"-"+array1[i]); |
| | | } |
| | | short result = alarmMapper.selectnullti(array1[i]); |
| | | // 读取到PLC的值为1并且对应报警信息结束时间为null的条数的条数为0 |
| | | //System.out.println(result); |
| | |
| | | package com.example.springboot.component; |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | private HomeMapper homeMapper; |
| | | @Autowired |
| | | private HomeService HomeService; |
| | | @Autowired |
| | | private GlassInfoMapper glassInfoMapper; |
| | | private QueueMapper QueueMapper; |
| | | private GlassInfoMapper GlassInfoMapper; |
| | | private MeasureSettingMapper MeasureSettingMapper; |
| | | private OutSliceServive outSliceServive; |
| | | private SpianMapper spianMapper; |
| | | private SpianService spianService; |
| | | |
| | | |
| | | // 出片队列是否允许出片 |
| | | public static Boolean isAllowQueue = true; |
| | | public static Boolean isAllowReordering = true; |
| | |
| | | |
| | | // public static Map b=new HashMap<>(); |
| | | // b.put() |
| | | public double carstart = 200; |
| | | public double carend = 20000; |
| | | |
| | | @Override |
| | | public void run() { |
| | | |
| | | while (this != null) { |
| | | JSONObject jsonObject = new JSONObject(); |
| | | try { |
| | | Thread.sleep(1000); |
| | | // 注入mapper |
| | | HomeService = WebSocketServer.applicationContext.getBean(HomeService.class); |
| | | QueueMapper = WebSocketServer.applicationContext.getBean(QueueMapper.class); |
| | | HomeService = WebSocketServer.applicationContext.getBean(HomeService.class); |
| | | QueueMapper = WebSocketServer.applicationContext.getBean(QueueMapper.class); |
| | | homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class); |
| | | spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class); |
| | | spianService = WebSocketServer.applicationContext.getBean(SpianService.class); |
| | | outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class); |
| | | storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class); |
| | | glassInfoMapper = WebSocketServer.applicationContext.getBean(GlassInfoMapper.class); |
| | | |
| | | // 获取其车的位置 |
| | | if (S7control.getinstance().CheckConnected() == true&&false) { |
| | | double carposition = 0; |
| | | float car = S7control.getinstance().readFloat32("DB10.1992"); |
| | | carposition = (-40 + (car / (carend - carstart) * 595)); |
| | | jsonObject.append("carposition", carposition); |
| | | } |
| | | // 笼子使用情况 |
| | | List<StorageCage> tableData = homeMapper.selectAlls(); |
| | | jsonObject.append("tableData", tableData); |
| | | |
| | | // 格理片笼格子状态 |
| | | List<StorageCage> cagelist1=storageCageService.SelectStorageCageByCage(1); |
| | | List<StorageCage> cagelist2=storageCageService.SelectStorageCageByCage(2); |
| | | List<StorageCage> cagelist3=storageCageService.SelectStorageCageByCage(3); |
| | | List<StorageCage> cagelist4=storageCageService.SelectStorageCageByCage(4); |
| | | List<StorageCage> cagelist1 = storageCageService.SelectStorageCageByCage(1); |
| | | List<StorageCage> cagelist2 = storageCageService.SelectStorageCageByCage(2); |
| | | List<StorageCage> cagelist3 = storageCageService.SelectStorageCageByCage(3); |
| | | List<StorageCage> cagelist4 = storageCageService.SelectStorageCageByCage(4); |
| | | jsonObject.append("cagelist1", cagelist1); |
| | | jsonObject.append("cagelist2", cagelist2); |
| | | jsonObject.append("cagelist3", cagelist3); |
| | |
| | | List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo(); |
| | | jsonObject.append("alarmmg", alarmmg); |
| | | |
| | | |
| | | // 获取出片队列信息 |
| | | List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue(); |
| | | jsonObject.append("listoutslice", listoutslice); |
| | |
| | | // 查询当前铝框信息 |
| | | Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame(); |
| | | jsonObject.append("CurrentFrame", CurrentFrame); |
| | | |
| | | //读取DB105区文件 |
| | | PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; |
| | | |
| | | String PlcRequest=plcmes.getPlcParameter("GaToMES").getValue();//请求 |
| | | String MesSend=plcmes.getPlcParameter("MESToGaStatus").getValue();//发送 |
| | | double width=Double.valueOf(plcmes.getPlcParameter("width").getValue());//宽 |
| | | double height=Double.valueOf(plcmes.getPlcParameter("Height").getValue());//高 |
| | | |
| | | // String PlcRequest=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+""; |
| | | // double width=Double.parseDouble(S7control.getinstance().ReadWord("DB14.28", 1).get(0)+""); |
| | | // double height=Double.parseDouble(S7control.getinstance().ReadWord("DB14.30", 1).get(0)+""); |
| | | // String MesSend=S7control.getinstance().ReadWord("DB14.170", 1).get(0)+""; |
| | | // 读取DB105区文件 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | // if(plcmes.==null){ |
| | | |
| | | //获取测量的长,宽 |
| | | boolean istest = true; |
| | | // } |
| | | |
| | | // 获取测量的长,宽 |
| | | boolean istest = true; |
| | | // String PlcRequest = "1"; |
| | | // String MesSend = "0"; |
| | | // double width = 516; |
| | | // double height = 507; |
| | | |
| | | //匹配 |
| | | //System.err.println(PlcRequest+","+MesSend+","+width+","+height); |
| | | if ("0".equals(PlcRequest)&&istest) { |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0); |
| | | } |
| | | if ("1".equals(PlcRequest)&&"0".equals(MesSend)) { |
| | | boolean is=HomeService.Normal(width, height, "1"); |
| | | if (is&&istest) { |
| | | // 测量成功 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1); |
| | | // double width = 0; |
| | | // double height = 0; |
| | | |
| | | }else if(istest){ |
| | | // 重新测量 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 4); |
| | | } |
| | | // 匹配 |
| | | // System.err.println(PlcRequest+","+MesSend+","+width+","+height); |
| | | // if (plcmes.getPlcParameter("GaToMES").getValue() != null) { |
| | | // String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求 |
| | | // String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送 |
| | | // 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 ("1".equals(PlcRequest) && "0".equals(MesSend)) { |
| | | // boolean is = HomeService.Normal(width, height, "1"); |
| | | // if (is && istest) { |
| | | // // 测量成功 |
| | | // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | // (short) 1); |
| | | |
| | | } |
| | | //S7control.getinstance().WriteWord("DB14.170", (short)0); |
| | | Queue LastQueue= QueueMapper.selectLastQueue(); |
| | | if(LastQueue==null){ |
| | | Queue nullQueue=new Queue(); |
| | | // } else if (istest) { |
| | | // // 重新测量 |
| | | // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | // (short) 4); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | // S7control.getinstance().WriteWord("DB14.170", (short)0); |
| | | |
| | | // 正在上片订单中的所有小片信息 |
| | | List<GlassInfo> glassInfoFlowCard = glassInfoMapper.selectOrderState(1); |
| | | jsonObject.append("glassInfoFlowCard", glassInfoFlowCard); |
| | | |
| | | Queue LastQueue = QueueMapper.selectLastQueue(); |
| | | if (LastQueue == null) { |
| | | Queue nullQueue = new Queue(); |
| | | nullQueue.setglassId(""); |
| | | nullQueue.setglassheight(0); |
| | | nullQueue.setglasswidth(0); |
| | | nullQueue.setglassheightmm(0); |
| | | nullQueue.setglasstype(0); |
| | | nullQueue.setglasswidthmm(0); |
| | | jsonObject.append("LastQueue", nullQueue); |
| | | }else{ |
| | | if (LastQueue.getstate()<1) { |
| | | } else { |
| | | if (LastQueue.getstate() < 1) { |
| | | LastQueue.setglasswidth(0); |
| | | LastQueue.setglassheight(0); |
| | | } |
| | |
| | | // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16)); |
| | | // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14)); |
| | | |
| | | |
| | | //查询理片笼信息 |
| | | // 查询理片笼信息 |
| | | List<StorageCage> StorageCageInfo = storageCageService.SelectStorageCageInfo(); |
| | | jsonObject.append("StorageCageInfo", StorageCageInfo); |
| | | |
| | | //查询当前进片任务 |
| | | // 查询当前进片任务 |
| | | List<StorageTask> StoragTaskeTaskFeed = storageCageService.SelectStorageTask(0); |
| | | jsonObject.append("StoragTaskeTaskFeed", StoragTaskeTaskFeed); |
| | | |
| | | //查询当前出片任务 |
| | | // 查询当前出片任务 |
| | | List<StorageTask> StoragTaskeTaskOut = storageCageService.SelectStorageTask(1); |
| | | jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut); |
| | | |
| | |
| | | List<FlowCard> OrderTask = storageCageService.SelectOrderTask(); |
| | | jsonObject.append("OrderTask", OrderTask); |
| | | |
| | | // jsonObject.append("params", new short[] { 30, 40, }); |
| | | // System.out.println("jsonObject:" + jsonObject); |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | if (webserver != null) { |
| | | |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | // jsonObject.append("params", new short[] { 30, 40, }); |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | if (webserver != null) { |
| | | |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | // 用于存储应用程序的配置信息 |
| | | private Configuration config; |
| | | |
| | | public Plcsign() throws IOException { |
| | | config = new Configuration("config.properties"); |
| | | } |
| | | |
| | | String name = ""; |
| | | Integer count = 0; |
| | | |
| | |
| | | public void run() { |
| | | while (this != null) { |
| | | try { |
| | | Thread.sleep(1000); |
| | | Thread.sleep(100); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | // this.readValue(); |
| | | // String PlcAddress = this.name; |
| | | // Integer Plccount = this.count; |
| | | // System.out.println(PlcAddress); |
| | | |
| | | // List<Boolean> plclist = S7control.getinstance().ReadBits(PlcAddress, Plccount); |
| | | // List<Boolean> plclist = S7control.getinstance().ReadBits("DB102.0.0", 112); |
| | | List<String> addressList21 = Arrays.asList(config.getProperty("PlcIO.State").split(",")); |
| | | List<Boolean> plclist = S7control.getinstance().readBits(addressList21); |
| | | List<String> addressListName = Arrays.asList(config.getProperty("PlcIO.Name").split(",")); |
| | | // System.out.println("急停"+S7control.getinstance().ReadBits("DB10.0.5", 1)); |
| | | |
| | | // Boolean[] values = { true, true, true, true, true, false, true, false, |
| | | // true, false, true, false, true, false, |
| | | // true, false, true, false, true, false, true, false, true, false, true, false, |
| | | // true, false, true, false, true, |
| | | // false, true, false, true, false, |
| | | // true, false, true, false, true, false, true, false, null, |
| | | // true, false, |
| | | // true, false, true, false, true, false, |
| | | // true, false, true, false, true, }; |
| | | // List<Boolean> plclist = new ArrayList<>(Arrays.asList(values)); |
| | | |
| | | if (plclist != null) { |
| | | // 将获取的布尔类型转换为整数类型 |
| | | List<Integer> Intlist = new ArrayList<>(); |
| | |
| | | } |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.append("sig", Intlist); |
| | | jsonObject.append("addressListName", addressListName); |
| | | // WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign"); |
| | | // if (sendwServer3 != null) { |
| | | // sendwServer3.sendMessage(jsonObject.toString()); |
| | |
| | | |
| | | // new Plcalarm().start(); |
| | | // new PLCAutoMes().start(); |
| | | // new PlcHoldNew().start(); |
| | | new Plchome().start(); |
| | | // new PlcHoldNew().start(); |
| | | new Plchome().start(); |
| | | // new PlcAlbaniaServo().start(); |
| | | // new Plcsign().start(); |
| | | |
| | |
| | | public Result ManualTake(@RequestBody String glassInfo) { |
| | | return storageCageService.ManualTake(glassInfo); |
| | | } |
| | | |
| | | //开始工程 |
| | | @PostMapping("/StartChange") |
| | | public Result StartChange(String flowcard) { |
| | | return storageCageService.StartChange(flowcard); |
| | | } |
| | | //重新测量 |
| | | @PostMapping("/AnewMeasure") |
| | | public Result AnewMeasure(@RequestBody String glassInfo) { |
| | |
| | | private Integer state;// 状态 |
| | | private Integer method;// 出片方式 |
| | | private Date starttime;// 任务领取时间 |
| | | private Integer orderstate;// 任务领取时间 |
| | | |
| | | |
| | | |
| | | public List<GlassInfo> glassinfo;// 玻璃信息 |
| | |
| | | private Integer measurenumber;// 测量完成数量 |
| | | private Integer cageno;//笼内数量 |
| | | private Integer method;//出片方式 |
| | | private Integer orderstate;//出片方式 |
| | | |
| | | } |
| | |
| | | private double glassheight;//玻璃高 |
| | | private double glasswidthmm;//玻璃宽英制 |
| | | private double glassheightmm;//玻璃高英制 |
| | | private int type;//类型 |
| | | private int glasstype;//类型 |
| | | private int state;//状态 |
| | | private String time;//修改时间 |
| | | |
| | |
| | | this.glassheightmm = glassheightmm; |
| | | } |
| | | |
| | | public int gettype() { |
| | | return type; |
| | | public int getglasstype() { |
| | | return glasstype; |
| | | } |
| | | |
| | | public void settype(int type) { |
| | | this.type = type; |
| | | public void setglasstype(int glasstype) { |
| | | this.glasstype = glasstype; |
| | | } |
| | | |
| | | public int getstate() { |
| | |
| | | private Integer state;// 状态 |
| | | private Integer method;// 出片方式 |
| | | private Date starttime;// 任务领取时间 |
| | | private Integer orderstate;// 任务领取时间 |
| | | |
| | | |
| | | |
| | | public List<GlassInfo> glassinfo;// 玻璃信息 |
| | |
| | | private Integer measurenumber;// 测量完成数量 |
| | | private Integer cageno;//笼内数量 |
| | | private Integer method;//出片方式 |
| | | private Integer orderstate;//出片方式 |
| | | |
| | | } |
| | |
| | | @Repository |
| | | public interface AlbaniaMapper { |
| | | //判断笼内是否有合适的类型空格 |
| | | @Select("select id from storage_cage where glasstype=#{glasstype} and width>=#{width}+#{widths} and state=0 and disabled=0 order by id limit 1") |
| | | @Select("select id from storage_cage where glasstype=#{glasstype} and width>=#{width}+#{widths} and disabled=0 order by id limit 1") |
| | | StorageCage SelectCage(int glasstype,Double width,int widths); |
| | | //判断笼内没有玻璃的空格 |
| | | @Select("select id from storage_cage where number=0 and cage>#{cage} and cage<#{cage2} and disabled=0 order by id limit 1") |
| | | @Select("select id from storage_cage where (number is null or number=0) and cage>#{cage} and cage<#{cage2} and disabled=0 order by id limit 1") |
| | | StorageCage SelectNewCell(int cage,int cage2); |
| | | //增加玻璃数 |
| | | @Update("update storage_cage set number=number+1,width=width-glasswidth where id=#{id}") |
| | |
| | | @Insert("INSERT INTO `albania`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,glasstype,flowcard,mateid,tier) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{glasstype},#{flowcard},#{mateid},#{tier});") |
| | | void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int glasstype,String flowcard,int mateid,int tier); |
| | | //新增一条笼子数据 |
| | | @Update("UPDATE `albania`.`storage_cage` SET `glass_id` =#{glassid}, `width` =width-#{glasswidth}, `glasswidth` =#{glasswidth}, `glassheight` =#{glassheight}, `glasswidthmm` =#{glasswidthmm}, `glassheightmm` = #{glassheightmm}, `state` = #{state}, `glasstype` = #{glasstype}, `number` = #{number} WHERE `id` =#{id};") |
| | | void AddCage(int id,String glassid,Double glasswidth,Double glassheight,Double glasswidthmm,Double glassheightmm,int state,String glasstype,int number); |
| | | @Update("UPDATE `albania`.`storage_cage` SET `glass_id` =#{glassid}, `width` =width-#{glasswidth}, `glasswidth` =#{glasswidth}, `glassheight` =#{glassheight}, `glasswidthmm` =#{glasswidth}, `glassheightmm` = #{glassheight}, `state` = #{state}, `glasstype` = #{glasstype}, `number` = #{number} WHERE `id` =#{id};") |
| | | void AddCage(int id,String glassid,Double glasswidth,Double glassheight,int state,int glasstype,int number); |
| | | //获取进片数据 |
| | | @Select("select glassid,flowcard,glasswidth as width,glassheight as height,glasswidthmm,glassheightmm,glasstype,thickness from queue where state=1 limit 1") |
| | | GlassInfo SelectGlass(); |
| | |
| | | @Select("select method from flowcard where state=1 and line=#{line} ORDER BY starttime LIMIT 1;") |
| | | GlassInfo SelectMethod(int line); |
| | | //直出模式任务查询 |
| | | @Select("select b.flowcard,b.glasstype,b.mateid,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=#{line} and c.number>0") |
| | | @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=#{line} and c.number>0 limit 1") |
| | | GlassInfo SelectOutGlass2(int line); |
| | | //查询直通模式下最后一块 |
| | | @Select("select b.tier 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=2 and c.number>0 ORDER BY b.tier desc LIMIT 1") |
| | | int SelectOutGlassend(int line); |
| | | //增加笼子表宽高 |
| | | @Select("update storage_cage a set a.glasswidth=#{width},a.glassheight=#{height} where id=#{id} ") |
| | | void UpdateStorage(double width,double height,int id); |
| | | //更改队列表状态 |
| | | @Update("update queue set state=2 where glassid=#{glassid};") |
| | | void UpdateQueueState(String glassid); |
| | | |
| | |
| | | @Repository |
| | | public interface GlassInfoMapper extends BaseMapper<GlassInfo> { |
| | | |
| | | @Select("SELECT * FROM glassinfo where width<=#{maxwidth} and width>=#{minwidth} and height<=#{maxheight} and height>=#{minheight} and measurenumber<number") |
| | | @Select("select gi.* from flowcard as fd LEFT JOIN glassinfo as gi on fd.flowcard=gi.flowcard where fd.orderstate=1 and gi.flowcard is not null and gi.width<=#{maxwidth} and gi.width>=#{minwidth} and gi.height<=#{maxheight} and gi.height>=#{minheight} and gi.measurenumber<number") |
| | | List<GlassInfo> selectGlassInfos(@Param("maxwidth") double maxwidth, @Param("minwidth") double minwidth, @Param("maxheight") double maxheight, @Param("minheight") double minheight); |
| | | |
| | | // @Select("SELECT COUNT(*) FROM role_permission WHERE role_id = #{roleId} AND permission_id = #{permissionId}") |
| | | // boolean checkExists(@Param("roleId") int roleId, @Param("permissionId") int permissionId); |
| | | |
| | | @Select("SELECT g.* FROM flowcard as f left join glassinfo as g on f.flowcard=g.flowcard WHERE f.orderstate = #{orderstate}") |
| | | List<GlassInfo> selectOrderState(@Param("orderstate") int orderstate); |
| | | |
| | | @Update("UPDATE glassinfo SET measurenumber = measurenumber+1 WHERE id = #{id}") |
| | | void updatemeasurenumber(@Param("id") int roleId); |
| | |
| | | @Update("update flowcard set method=#{method} where flowcard=#{flowcard}") |
| | | void ModeChange(String flowcard, int method); |
| | | |
| | | |
| | | @Update("update flowcard set orderstate=#{orderstate} where flowcard=#{flowcard}") |
| | | void StartChange(String flowcard,int orderstate); |
| | | |
| | | @Update("update queue set glassid=concat(#{flowcard},'-',#{tier}),flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},thickness=#{thickness},state=1 where state<=0") |
| | | void UpdateQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier); |
| | | |
| | |
| | | //System.out.println("有匹配失败数据未去除"); |
| | | return false; |
| | | } |
| | | //查询当前领取的任务 |
| | | List<GlassInfo> Result = NormalGlassInfo(width, height, "1"); |
| | | if (Result.size() == 1) { |
| | | // 匹配成功 就一种类型 添加数据 |
| | |
| | | * 数据库连接参数 |
| | | * driver,url,username,password |
| | | */ |
| | | private static final String DRIVER = "com.mysql.jdbc.Driver"; |
| | | private static final String DRIVER = "com.mysql.cj.jdbc.Driver"; |
| | | private static final String URL = "jdbc:mysql://10.153.19.150:3306/canadames"; |
| | | private static final String USERNAME = "root"; |
| | | private static final String PASSWORD = "beibo.123/"; |
| | |
| | | //有进片请求但是测量台没有玻璃 |
| | | return 400; |
| | | } |
| | | |
| | | System.out.println(glassInfo+"初始"); |
| | | //定义初始字段 |
| | | StorageCage cage; |
| | | String glassid=glassInfo.getGlassid(); |
| | |
| | | if(glassInfo.getThickness()>=15){ |
| | | cage=albaniaMapper.SelectNewCell(3,5); |
| | | }else{ |
| | | cage=albaniaMapper.SelectNewCell(0,5); |
| | | cage=albaniaMapper.SelectNewCell(0,4); |
| | | |
| | | System.out.println(cage+"理片笼判断"); |
| | | } |
| | | //当返回的格子号为空时,返回400笼子已满 |
| | | if(cage!=null){ |
| | | albaniaMapper.AddCage(cage.getId(), glassid,width, height, cage.getGlassWidthMm(), cage.getGlassHeightMm(), 1, cage.getGlasstype(), 0); |
| | | albaniaMapper.AddCage(cage.getId(), glassid,width, height, 1, glasstype, 0); |
| | | Mestast(glassid,1001,cage.getId(),1,"MESID1",1); |
| | | albaniaMapper.UpdateStorage(width,height,cage.getId()); |
| | | albaniaMapper.UpdateQueueState(glassid); |
| | | System.out.println(cage+"任务发送"); |
| | | }else{ |
| | | return(400); |
| | | } |
| | | } |
| | | //增加任务记录 |
| | | albaniaMapper.Inserttask(0, 0, 1001, cage.getId(), glassid,glasstype, flowcard,0,0); |
| | | albaniaMapper.UpdateQueueState(glassid); |
| | | return(200); |
| | | |
| | | } |
| | |
| | | GlassInfo glassmate=new GlassInfo(); |
| | | GlassInfo method=new GlassInfo(); |
| | | StorageCage glass=new StorageCage(); |
| | | int glassend=0; |
| | | method=albaniaMapper.SelectMethod(line); |
| | | double width=0; |
| | | for(int i=1;i<=7;i++){ |
| | |
| | | }else{ |
| | | //直通模式时按顺序直出 |
| | | glassmate= albaniaMapper.SelectOutGlass2(line); |
| | | //获取直通模式最后一块 |
| | | glassend=albaniaMapper.SelectOutGlassend(line); |
| | | } |
| | | |
| | | if(glassmate==null){ |
| | |
| | | Mestast(glass.getGlassId(), glass.getId(),40, 0,"MESID"+i,i); |
| | | albaniaMapper.AddFinishNumber(glassmate.getFlowcard(), glassmate.getMateid(), glassmate.getTier()); |
| | | albaniaMapper.Inserttask(1, 0, glass.getId(), 2002, glassmate.getGlassid(), glassmate.getGlasstype(),glass.getFlowcard(),glassmate.getMateid(),glassmate.getTier()); |
| | | if(glassmate.getTier()==glassmate.getId()){//当配片数量等于成品小片总片数时 |
| | | if(glassmate.getTier()==glassmate.getId()||glassmate.getTier()==glassend){//当配片数量等于成品小片总片数时 |
| | | //本次配片完成发送启动命令 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)1);//出片任务启动 |
| | | return (200);//结束 |
| | | } |
| | | |
| | | |
| | | }else{ |
| | | return (400);//结束 |
| | |
| | | homeMapper.DeleteStroageCageByCell(cell); |
| | | } else { |
| | | homeMapper.updateStroageCageByCell(cell, num); |
| | | homeMapper.UpdateStroageCageWidthByCell(cell);//修改笼子宽度 |
| | | homeMapper.UpdateStroageCageWidthByCell(cell);// 修改笼子宽度 |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | |
| | | // 开始任务 |
| | | public Result ClaimTasks(String flowcard, Integer state, Integer line) { |
| | | if (state == 1) { |
| | | homeMapper.ClaimTasks(flowcard, 0,line); |
| | | homeMapper.ClaimTasks(flowcard, 0, line); |
| | | } else { |
| | | homeMapper.ClaimTasks(flowcard, 1,line); |
| | | homeMapper.ClaimTasks(flowcard, 1, line); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | |
| | | // 修改测量信息 |
| | | public Result UpdateQueue(GlassInfo glassInfo) { |
| | | homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(), |
| | | glassInfo.getGlasstype(),glassInfo.getThickness(),glassInfo.getTier()); |
| | | glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier()); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1); |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | |
| | | // 读取DB105区文件 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | // 移除 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 3); |
| | | //删除数据 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 3); |
| | | // 删除数据 |
| | | QueueMapper.DeleteErrorQueue(); |
| | | |
| | | |
| | | // plcmes.getPlcParameter("GaToMES").setValue("3"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 开始工程 |
| | | public Result StartChange(String flowcard) { |
| | | homeMapper.StartChange(flowcard, 1); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | |
| | | // 读取DB105区文件 |
| | | PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; |
| | | // 重新测量 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2); |
| | | //删除数据 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 2); |
| | | // 删除数据 |
| | | QueueMapper.DeleteErrorQueue(); |
| | | // plcmes.getPlcParameter("GaToMES").setValue("2"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | // 筛选处理数据 1.去除无用数据 2.计算配片ID 3.计算ID 4. 计算总层数 |
| | | List<Map> TypeDatas = homeMapper.SelectType(); |
| | | Map<String, String> TypeData = new HashMap<String, String>();// 得到处理完后所有的类型 |
| | | Map<String, Integer> groupby=new HashMap<String, Integer>(); // 得到处理完后所有总层数; |
| | | Map<String, Integer> OrderFinishedProduct=new HashMap<String, Integer>(); // 得到处理完后订单成品总数量; |
| | | //"order zong 0 1 10 2 10" |
| | | Map<String, Integer> groupby = new HashMap<String, Integer>(); // 得到处理完后所有总层数; |
| | | Map<String, Integer> OrderFinishedProduct = new HashMap<String, Integer>(); // 得到处理完后订单成品总数量; |
| | | // "order zong 0 1 10 2 10" |
| | | List<Map> RemoveErrorData = IportDataStr.stream() |
| | | .filter(item -> (item.get("order") != null && item.get("glasstype") != null && item.get("tier") != null |
| | | && |
| | | 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("thickness") != null && item.get("quantity") != null |
| | | && item.get("matching") != null)) |
| | | .collect(Collectors.toList()); |
| | | |
| | | TypeDatas.forEach(item -> { |
| | |
| | | }); |
| | | |
| | | RemoveErrorData.forEach(item -> { |
| | | String key=item.get("order").toString()+"_"+item.get("matching").toString(); |
| | | String keyCount=item.get("order").toString()+"_"+item.get("matching").toString()+"_"+item.get("tier").toString(); |
| | | String keyCountSum=item.get("order").toString()+"_"+item.get("matching").toString()+"_Sum";//订单总数 |
| | | if (OrderFinishedProduct.get(keyCount)!=null) { |
| | | Integer count=OrderFinishedProduct.get(keyCount)+1; |
| | | Integer sumcount=OrderFinishedProduct.get(keyCountSum)+Integer.parseInt(item.get("quantity").toString()); |
| | | OrderFinishedProduct.put(keyCount,count); |
| | | OrderFinishedProduct.put(keyCountSum,sumcount); |
| | | }else if(OrderFinishedProduct.get(keyCount)==null&&groupby.get(key)==null){ |
| | | OrderFinishedProduct.put(keyCount,1); |
| | | OrderFinishedProduct.put(keyCountSum,Integer.parseInt(item.get("quantity").toString())); |
| | | String key = item.get("order").toString() + "_" + item.get("matching").toString(); |
| | | String keyCount = item.get("order").toString() + "_" + item.get("matching").toString() + "_" |
| | | + item.get("tier").toString(); |
| | | String keyCountSum = item.get("order").toString() + "_" + item.get("matching").toString() + "_Sum";// 订单总数 |
| | | if (OrderFinishedProduct.get(keyCount) != null) { |
| | | Integer count = OrderFinishedProduct.get(keyCount) + 1; |
| | | Integer sumcount = OrderFinishedProduct.get(keyCountSum) |
| | | + Integer.parseInt(item.get("quantity").toString()); |
| | | OrderFinishedProduct.put(keyCount, count); |
| | | OrderFinishedProduct.put(keyCountSum, sumcount); |
| | | } else if (OrderFinishedProduct.get(keyCount) == null && groupby.get(key) == null) { |
| | | OrderFinishedProduct.put(keyCount, 1); |
| | | OrderFinishedProduct.put(keyCountSum, Integer.parseInt(item.get("quantity").toString())); |
| | | } |
| | | if (groupby.get(key)!=null) { |
| | | Integer Tiers=groupby.get(key)+1; |
| | | if (groupby.get(key) != null) { |
| | | Integer Tiers = groupby.get(key) + 1; |
| | | groupby.put(key, Tiers); |
| | | }else{ |
| | | } else { |
| | | groupby.put(key, 1); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | System.out.println(RemoveErrorData.size()); |
| | | // 处理完成 添加数据库 |
| | | int count=1; |
| | | int count = 1; |
| | | for (Map map : RemoveErrorData) { |
| | | String key = map.get("base").toString() + "_" + map.get("height").toString() + "_" |
| | | + map.get("thickness").toString() + "_" + map.get("films").toString(); |
| | | + map.get("thickness").toString() + "_" + map.get("films").toString(); |
| | | |
| | | String tierkey = map.get("order").toString() + "_" + map.get("matching").toString(); |
| | | |
| | |
| | | Integer glasstype; |
| | | if (TypeData.get(key) == null) { |
| | | glasstype = homeMapper.SelectMaxType(); |
| | | if (glasstype==null) { |
| | | glasstype=1; |
| | | if (glasstype == null) { |
| | | glasstype = 1; |
| | | } |
| | | } else { |
| | | glasstype = Integer.valueOf(value); |
| | |
| | | // |
| | | homeMapper.AddGlassinfo(map.get("order").toString(), glasstype, |
| | | Integer.parseInt(map.get("matching").toString()) // 需要计算 配片ID |
| | | ,map.get("order").toString()+"-"+count+"" // 需要计算 玻璃ID |
| | | , map.get("order").toString() + "-" + count + "" // 需要计算 玻璃ID |
| | | , 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));// 需要计算总层数 |
| | | //订单内总层数 |
| | | homeMapper.InsertFlowcard(map.get("order").toString(),OrderFinishedProduct.get(tierkey+"_Sum")); |
| | | Integer.parseInt(map.get("quantity").toString()), groupby.get(tierkey));// 需要计算总层数 |
| | | // 订单内总层数 |
| | | homeMapper.InsertFlowcard(map.get("order").toString(), OrderFinishedProduct.get(tierkey + "_Sum")); |
| | | count++; |
| | | } |
| | | Map<String, Object> ResultCode = new HashMap<>(); |
| | | ResultCode.put("message", "200"); |
| | | return Result.success(ResultCode); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | #\u6570\u636E\u5E93\u9A71\u52A8 |
| | | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver |
| | | #\u6570\u636E\u5E93\u8FDE\u63A5\u5730\u5740 |
| | | #spring.datasource.url=jdbc:mysql://localhost:3306/albania?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai |
| | | # spring.datasource.url=jdbc:mysql://localhost:3306/albania?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai |
| | | spring.datasource.url=jdbc:mysql://10.153.19.150:3306/albania?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai |
| | | #\u6570\u636E\u5E93\u7528\u6237\u540D |
| | | spring.datasource.username=root |
| | |
| | | |
| | | #IO状态 |
| | | PlcIO.State=DB10.2.1,DB10.2.2,DB10.2.5,DB10.10.6,DB10.11.1,DB10.11.2,DB10.11.3,DB10.11.4,DB10.11.5,DB10.11.6,DB10.12.1,DB10.12.3,DB10.10.0,DB10.10.2,DB10.10.3,DB10.10.5,DB10.26.6,DB10.30.4,DB10.33.0,DB10.30.5,DB10.33.1,DB10.30.0,DB10.30.1,DB10.30.2,DB10.30.3,DB10.32.4,DB10.32.5,DB10.32.6,DB10.32.7,DB10.32.0,DB10.32.1,DB10.32.2,DB10.32.3,DB10.27.7,DB10.24.6,DB10.38.4,DB10.41.0,DB10.38.5,DB10.41.1,DB10.35.7,DB10.38.0,DB10.38.1,DB10.38.2,DB10.38.3,DB10.40.4,DB10.40.5,DB10.40.6,DB10.40.7,DB10.40.0,DB10.40.1,DB10.40.2,DB10.40.3,DB10.0.0,DB10.0.1,DB10.0.5,DB10.0.2,DB10.0.7,DB10.0.3,DB10.28.0,DB10.36.0,DB10.1.0,DB10.18.2,DB10.18.4,DB10.19.7,DB10.18.3,DB10.18.5,DB10.20.0,DB10.18.6,DB10.19.5,DB10.19.6 |
| | | PLCIO.Name=A01Sr.Low-E,A01Sr.dec,A01Sr.Pos,A02Sr.YZero,A02Sr.YH1,A02Sr.YH2,A02Sr.YH3,A02Sr.YH4,A02Sr.LimitTop,A02Sr.LimiBottom,A02Sr.Check,A02Sr.YDec,A02Sr.Xin,A02Sr.XCheck,A02Sr.XDec,A02Sr.XPos,C01Sr.Zero,C01YV1.Bas1,C01YV1.Work1,C01.YV1.Bas2,C01.YV1.Work2,C01.YV2.Bas1,C01.YV2.Bas2,C01.YV2.Bas3,C01.YV2.Bas4,C01.YV2.Work1,C01.YV2.Work2,C01.YV2.Work3,C01.YV2.Work4,C01.YV.Blow1,C01.YV.Blow2,C01.YV.Blow3,C01.YV.Blow4,C01.SR.Limit1,C02.Sr.Zero,C02.YV1.Bas1,C02.YV1.Work1,C02.YV1.Bas2,C02.YV1.Work2,C02.Sr.limit1,C02.YV2.Bas1,C02.YV2.Bas2,C02.YV2.Bas3,C02.YV2.Bas4,C02.YV2.Work1,C02.YV2.Work2,C02.YV2.Work3,C02.YV2.Work4,C02.YV.Blow1,C02.YV.Blow2,C02.YV.Blow3,C02.YV.Blow4,bStart,bStop,bEstop,bReset,bAuto/Manual,bPause,C01.Sr.Limit2,C02.Sr.Limit2,A01.FootControl,B01.Sr.DecLeft,B01.Sr.PosLeft,B01.Sr.SafetyLeft,B01.Sr.DecRight,B01.Sr.PosRight,B01.Sr.SafetyRight,B01.Sr.TurnZero,B01.Sr.TurnLimitTop,B01.Sr.TurnLimitBottom |
| | | |
| | | PlcIO.Name=A01Sr.Low-E,A01Sr.dec,A01Sr.Pos,A02Sr.YZero,A02Sr.YH1,A02Sr.YH2,A02Sr.YH3,A02Sr.YH4,A02Sr.LimitTop,A02Sr.LimiBottom,A02Sr.Check,A02Sr.YDec,A02Sr.Xin,A02Sr.XCheck,A02Sr.XDec,A02Sr.XPos,C01Sr.Zero,C01YV1.Bas1,C01YV1.Work1,C01.YV1.Bas2,C01.YV1.Work2,C01.YV2.Bas1,C01.YV2.Bas2,C01.YV2.Bas3,C01.YV2.Bas4,C01.YV2.Work1,C01.YV2.Work2,C01.YV2.Work3,C01.YV2.Work4,C01.YV.Blow1,C01.YV.Blow2,C01.YV.Blow3,C01.YV.Blow4,C01.SR.Limit1,C02.Sr.Zero,C02.YV1.Bas1,C02.YV1.Work1,C02.YV1.Bas2,C02.YV1.Work2,C02.Sr.limit1,C02.YV2.Bas1,C02.YV2.Bas2,C02.YV2.Bas3,C02.YV2.Bas4,C02.YV2.Work1,C02.YV2.Work2,C02.YV2.Work3,C02.YV2.Work4,C02.YV.Blow1,C02.YV.Blow2,C02.YV.Blow3,C02.YV.Blow4,bStart,bStop,bEstop,bReset,bAuto/Manual,bPause,C01.Sr.Limit2,C02.Sr.Limit2,A01.FootControl,B01.Sr.DecLeft,B01.Sr.PosLeft,B01.Sr.SafetyLeft,B01.Sr.DecRight,B01.Sr.PosRight,B01.Sr.SafetyRight,B01.Sr.TurnZero,B01.Sr.TurnLimitTop,B01.Sr.TurnLimitBottom |
| | | PlcIo.Name1=LOW-E膜检测,A01减速,A01到位,A02-Y轴原点,A02-Y轴高度感应1,A02-Y轴高度感应2,A02-Y轴高度感应3,A02-Y轴高度感应4,A02-Y轴上极限,A02-Y轴下极限,A02-Y轴寻边,A02-Y轴减速,A02-X轴上片,A02-X轴寻边,A02-X轴减速,A02-X轴到位,C01原点,C01.YV1原点位1,C01.YV1动作位1,C01.YV1原点位2,C01.YV1动作位2,C01.YV2原点位1,C01.YV2原点位2,C01.YV2原点位3,C01.YV2原点位4,C01.YV2动作位1,C01.YV2动作位2,C01.YV2动作位3,C01.YV2动作位4,C01吹气1,C01吹气2,C01吹气3,C01吹气4,C01对射保护,C02原点,C02.YV1原点位1,C02.YV1动作位1,C02.YV1原点位2,C02.YV1动作位2,C02对射保护,C02.YV2原点位1,C02.YV2原点位2,C02.YV2原点位3,C02.YV2原点位4,C02.YV2动作位1,C02.YV2动作位2,C02.YV2动作位3,C02.YV2动作位4,C02吹气1,C02吹气2,C02吹气3,C02吹气4,启动,停止,急停,复位,模式选择,暂停,C01对射保护2,C02对射保护2,脚踏开关,B01左减速,B01左到位,B01左安全检测,B01右减速,B01右到位,B01右安全检测,B01 |
| | | #A01参数 |
| | | PlcA01.param=DB10.1664,DB10.1668,DB10.1672,DB10.1676,DB10.1680 |
| | | #A01按钮 |