CanadaMes-ui/src/lang/locales/en-US.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CanadaMes-ui/src/lang/locales/zh-CN.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CanadaMes-ui/src/views/home/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
CanadaMes-ui/src/lang/locales/en-US.json
@@ -283,7 +283,7 @@ "DataBase Connection failed":"DataBase Connection failed", "Distribute parameters":"Distribute parameters", "The glass size is not within the range":"The glass size is not within the range", "Increase":"Increase", "Add":"Add", "Enable":"Enable", "Disable":"Disable", "Usage":"Usage", @@ -308,7 +308,7 @@ "Frame No":"Frame No", "Glass information corresponding to aluminum frame":"Glass information corresponding to aluminum frame", "In the cage":"In the cage", "Flip":"Flip", "Flipped":"Flipped", "In the queue":"In the queue", "Normal":"Normal", "Entering":"Entering", @@ -333,6 +333,8 @@ "Glass State":"Glass State", "Absent":"Absent", "Approximately resettable time":"Approximately resettable time", "EXTERIQR OUT AND BYPASS TO THE LEFT":"EXTERIQR OUT AND BYPASS TO THE LEFT", "EXTERIQR OUT AND BYPASS TO THE RIGHT":"EXTERIQR OUT AND BYPASS TO THE RIGHT", "ServoManualone": { "A01 所在格子": "A01 Current Grid", "数量": "Quantity", CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -273,7 +273,7 @@ "DataBase Connection failed": "数据库连接失败", "Distribute parameters": "下发参数", "The glass size is not within the range": "玻璃尺寸不在范围内", "Increase": "添加", "Add": "添加", "Enable": "启用", "Disable": "禁用", "Usage": "使用率", @@ -298,7 +298,7 @@ "Frame No":"铝框id", "Glass information corresponding to aluminum frame":"铝框对应的玻璃信息", "In the cage":"在笼内", "Flip":"翻转", "Flipped":"翻转", "In the queue":"在队列", "Enter the Frame No":"请输入铝框id", "Manually Infeed Glass":"手动进片", @@ -325,6 +325,8 @@ "Glass State":"玻璃状态", "Absent":"不存在", "Approximately resettable time":"可复位大概时间", "EXTERIQR OUT AND BYPASS TO THE LEFT":"EXTERIQR OUT AND BYPASS TO THE LEFT", "EXTERIQR OUT AND BYPASS TO THE RIGHT":"EXTERIQR OUT AND BYPASS TO THE RIGHT", "langparameter": { "conveyor Velocity(Auto FAST)": "D01-D06 皮带输送自动快速", "conveyor Velocity(Auto SLOW)": "D01-D06 皮带输送自动慢速", CanadaMes-ui/src/views/home/index.vue
@@ -211,6 +211,10 @@ text-align: right; } .hide { display: none; } /* .el-table td, .el-table th { padding: 0px 0; @@ -230,8 +234,10 @@ </div> </div> <div style="display:flex;justify-content: space-around;width: 9zz5%;margin: 0 auto;"> <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"></el-input> <el-button type="primary" @click="SelectGlassByGlassIDs(2)" :disabled="ManuallyInfeedGlass"> <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1" :class="ManuallyInfeedGlass == true ? 'hide' : ''"></el-input> <el-button type="primary" @click="SelectGlassByGlassIDs(2)" :disabled="ManuallyInfeedGlass" :class="ManuallyInfeedGlass == true ? 'hide' : ''"> {{ $t('Manually Infeed Glass') }}</el-button> <!-- <el-input style="width:15%;" :placeholder="$t('Enter the Order No')" v-model="order"></el-input> <el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button> --> @@ -254,6 +260,7 @@ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="endtask(1, scope.row.glassId, scope.row.cell)">{{ $t('Terminate Task') }}</el-button> </template> </el-table-column> </el-table> @@ -274,6 +281,9 @@ <template slot-scope='scope'> <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="endtask(0, scope.row.glassId, scope.row.cell)">{{ $t('Terminate Task') }}</el-button> <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="endtask(2, scope.row.glassId, scope.row.cell)">{{ $t('Complete Task') }}</el-button> </template> </el-table-column> @@ -325,9 +335,11 @@ <div class="blocks-img" :style="{ left: car2 + 'px', top: '175px' }"></div> <div class="blocks-img2"></div> <div class="blocks-img3"></div> <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo">{{ $t('OrderInfo') }}</el-button> <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue"> <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo" :class="OrderInfo == true ? 'hide' : ''">{{ $t('OrderInfo') }}</el-button> <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue" :class="OutingQueue == true ? 'hide' : ''"> {{ $t('Outing Queue') }}</el-button> <!-- <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:328px;"> @@ -464,7 +476,7 @@ {{ scope.row.disabled == 0 ? $t('Enable') : $t('Disable') }}</el-button> <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="scope.row.glassId != null ? true : false" @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Increase') @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Add') }}</el-button> </template> </el-table-column> @@ -636,12 +648,12 @@ }}</el-button> <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border :cell-style="cellStyle" style="width: 100%;overflow: auto;font-size: 18px;"> <el-table-column :min-width="100" prop="glassId" :label="$t('Barcode')"></el-table-column> <el-table-column prop="storageCage.orderId" :label="$t('Order No')"></el-table-column> <el-table-column prop="storageCage.listId" :label="$t('List No')"></el-table-column> <el-table-column prop="storageCage.boxId" :label="$t('Box No')"></el-table-column> <el-table-column prop="storageCage.glasswidthmm" :label="$t('Length')"></el-table-column> <el-table-column prop="storageCage.glassheightmm" :label="$t('Width')"></el-table-column> <el-table-column :min-width="175" prop="glassId" :label="$t('Barcode')"></el-table-column> <el-table-column :min-width="90" prop="storageCage.orderId" :label="$t('Order No')"></el-table-column> <el-table-column :min-width="70" prop="storageCage.listId" :label="$t('List No')"></el-table-column> <el-table-column :min-width="70" prop="storageCage.boxId" :label="$t('Box No')"></el-table-column> <el-table-column :min-width="100" prop="storageCage.glasswidthmm" :label="$t('Length')"></el-table-column> <el-table-column :min-width="100" prop="storageCage.glassheightmm" :label="$t('Width')"></el-table-column> <el-table-column :min-width="90" prop="state" :label="$t('Glass State')"> <template slot-scope='scope'> {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2 @@ -652,15 +664,16 @@ <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;"> <template slot-scope='scope'> <!-- {{ scope.row.position == 1 ? "<>▄▄▄" : "▋" }} --> <div :style="'width:'+(scope.row.position==1?'300':'100') +'px;height:'+(scope.row.position==1?'100':'300') +'px;background-Color:gray;'"> <div :style="'width:' + (scope.row.position == 1 ? '300' : '100') + 'px;height:' + (scope.row.position == 1 ? '100' : '200') + 'px;background-Color:gray;margin:0 auto;'"> <!-- <div :style="'width:100px;height:300px;background-Color:red;'"></div> --> </div> <!-- {{ scope.row.position == 1 ? "<div></div>" : "<div></div>" }} --> </template> </el-table-column> <el-table-column prop="position" :label="$t('Flip')"> <el-table-column prop="position" :label="$t('Flipped')" :min-width="200"> <template slot-scope='scope'> {{ scope.row.flip == 1 ? $t('Yes') : $t('No') }} {{ scope.row.flip == true ? $t('EXTERIQR OUT AND BYPASS TO THE LEFT') : $t('EXTERIQR OUT AND BYPASS TO THE RIGHT') }} </template> </el-table-column> <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column> @@ -701,7 +714,7 @@ top="5vh"> <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input> <el-button type="primary" @click="showform7()">{{ $t('Query') }}</el-button> <el-button type="primary" @click="addoutslice()">{{ $t('Increase') }}</el-button> <el-button type="primary" @click="addoutslice()">{{ $t('Add') }}</el-button> <el-table :data="this.AluminumFrame" :height="700" border style="width: 100%;overflow: auto;"> <el-table-column prop="barcode" :label="$t('Barcode')"></el-table-column> @@ -714,7 +727,7 @@ <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column> <el-table-column prop="storageCage.tier" :label="$t('The Side')"></el-table-column> <el-table-column prop="FrameNo" :label="$t('Frame No')"></el-table-column> <el-table-column prop="Flip" :label="$t('Flip')"></el-table-column> <el-table-column prop="Flip" :label="$t('Flipped')"></el-table-column> <el-table-column prop="out_slice.state" :label="$t('In the queue')"> <template slot-scope='scope'> {{ scope.row.out_slice != null ? $t('Yes') : $t('No') }} @@ -834,11 +847,11 @@ OutingQueue: true, OrderInfo: true, CageDetails: true, CountDowns: "EMERGENCY \r\n STOP", CountDowns: "0", D01RequestState: false, EmergencyStop: false, PromptSize: 250, reset:false reset: false }; }, created() { @@ -890,14 +903,14 @@ } //是否急停 this.EmergencyStop = obj.emergencystop[0]; console.log(this.EmergencyStop); //复位倒计时 if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) { this.CountDown(); } //复位完成信号 this.reset=obj.reset[0]; console.log(this.reset); this.reset = obj.reset[0]; //是否有进片请求 this.D01RequestState = obj.D01RequestState[0]; @@ -1020,7 +1033,7 @@ SelectAlarmmgInfo().then(res => { this.alarm = res.data.alarmmg; }); //加载确认密码 SelectPassword().then(res => { this.password = res.data.password; @@ -1637,9 +1650,9 @@ if (columnIndex === 8) { style = "font-size:200px;text-align: center;height:200px;"; } if (columnIndex === 9 && row.flip == 1) { style = "background-Color:yellow;"; } // if (columnIndex === 9 && row.flip == 1) { // style = "background-Color:yellow;"; // } if (columnIndex === 6 && row.state == 3) { style = "background-Color:gray;"; } @@ -1661,7 +1674,7 @@ if (rowIndex != 0) { barcode2 = arrOutSlice[rowIndex - 1].barcode; } if (columnIndex === 12) { if (columnIndex === 12||columnIndex === 8) { if (barcode != barcode2) { // this.FrameNoFlag = barcode; for (let i = rowIndex; i < this.OutSlice.length; i++) { @@ -1669,7 +1682,6 @@ barcode = arrOutSlice[i].barcode; rowspans += 1; } else { break; } } @@ -1736,9 +1748,9 @@ let timer = setInterval( () => { if (this.EmergencyStop == true) { this.dialogFormCountDown = false; clearInterval(timer); this.PromptSize = 250; this.CountDowns = "EMERGENCY \n STOP"; this.CountDowns = "0"; } else { if (count > 0) { this.PromptSize = 500; @@ -1746,9 +1758,9 @@ count--; } else { this.PromptSize = 250; this.CountDowns = "Waiting \n for \n reset"; if(this.reset==true){ this.PromptSize = 200; this.CountDowns = "Waiting for reset"; if (this.reset == true) { clearInterval(timer); this.dialogFormCountDown = false; } springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -74,25 +74,7 @@ // 查询报警信息 List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo(); jsonObject.append("alarmmg", alarmmg); // 读去Plc进片车与出片车位置W List<String> addressList = new ArrayList<String>(); addressList.add("DB106.12"); addressList.add("DB106.0"); List<Short> paramlist = S7control.getinstance().ReadWord(addressList); if (paramlist != null) { jsonObject.append("params", paramlist); } // 获取进片车状态 List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态 boolean exist1 = datas1ListState.contains((short) 0); jsonObject.append("zhuangtai", exist1); // 获取进片玻璃信息 List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1); if (inglassInfo != null) { if (inglassInfo.size() > 0) jsonObject.append("loadglassheight", inglassInfo.get(0) * 70); } // 伍 获取进是否有待确认的玻璃id String queid = spianMapper.Selectqueueid(); int state = spianMapper.Selectqueuestate(); @@ -112,21 +94,43 @@ jsonObject.append("listoutslice", listoutslice); // 获取当前出片队列状态 jsonObject.append("isAllowQueue", Plchome.isAllowQueue); // 获取铝框idDB106.DBW64 // String frameno=spianService.queGlassid("DB103.270",14).toString(); // if(frameno!=Plchome.FrameNo&&frameno!=""){ // Plchome.FrameNo=frameno; // } // try { // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo); // } catch (SQLException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // 是否需要人工确认上片玻璃 jsonObject.append("isConfirm", isConfirm); // 读去Plc进片车与出片车位置W List<String> addressList = new ArrayList<String>(); addressList.add("DB106.12"); addressList.add("DB106.0"); List<Short> paramlist = S7control.getinstance().ReadWord(addressList); if (paramlist != null) { jsonObject.append("params", paramlist); } // 获取进片车状态 List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态 boolean exist1 = datas1ListState.contains((short) 0); jsonObject.append("zhuangtai", exist1); // 获取进片玻璃信息 List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1); if (inglassInfo != null) { if (inglassInfo.size() > 0) jsonObject.append("loadglassheight", inglassInfo.get(0) * 70); } // 获取铝框idDB106.DBW64 String frameno=spianService.queGlassid("DB103.270",14).toString(); if(frameno!=Plchome.FrameNo&&frameno!=""){ Plchome.FrameNo=frameno; } try { north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 获取进片请求状态 List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1); boolean D01RequestState = D01Request.contains((short) 1); springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -141,13 +141,15 @@ public Result UpdateTask(Integer types, Integer shelfrack, String glassid) { Map<String, Object> map = new HashMap<>(); homeMapper.UpdateTask(types, glassid); // StorageCage glass = homeMapper.SelectGlassInfo(glassid); if (types == 0) { homeMapper.UpdateCageTask1(glassid); // S7control.getinstance().WriteWord("DB105.16", (short) 0); } else { // spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell()); } else if(types==1) { homeMapper.DeleteByGlassID(glassid); }else{ StorageCage glass = homeMapper.SelectGlassInfo(glassid); spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell()); homeMapper.DeleteByGlassID(glassid); //发送终止任务信号 // S7control.getinstance().WriteWord("DB105.18", (short) 0); } map.put("message3", "200"); springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java
@@ -17,7 +17,7 @@ @Autowired private JdbcConnections jdbcConnections; //获取玻璃是否在笼子,是否在出片队列 // 获取玻璃是否在笼子,是否在出片队列 public List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException { List<north_glass_buffer1> listAluminumFrame = jdbcConnections .SelectGlassByGlassIdOrderIdFrameIdss(FrameBarcode); @@ -28,24 +28,25 @@ return listAluminumFrame; } //根据铝框id添加玻璃到出片队列 public void AddOutSliceS(String FrameBarcode) throws SQLException{ List<north_glass_buffer1> north_glass_buffer1s=SelectAluminumFrameInfoById(FrameBarcode); // 根据铝框id添加玻璃到出片队列 public void AddOutSliceS(String FrameBarcode) throws SQLException { List<north_glass_buffer1> north_glass_buffer1s = SelectAluminumFrameInfoById(FrameBarcode); String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode); String position =jdbcConnections.SelectPositionByFrameBarcode(FrameBarcode); int sequence=homeMapper.SelectMaxSquence(); String position = jdbcConnections.SelectPositionByFrameBarcode(FrameBarcode); int sequence = homeMapper.SelectMaxSquence(); for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) { Short state=0; if(north_glass_buffer1.getOut_slice()==null){ if(north_glass_buffer1.getstorageCage()==null){ state=3; Short state = 0; if (north_glass_buffer1.getOut_slice() == null) { if (north_glass_buffer1.getstorageCage() == null) { state = 3; } homeMapper.AddOutSliceS(north_glass_buffer1.getbarcode(), flip, FrameBarcode, north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(), sequence, position, state); sequence+=1; homeMapper.AddOutSliceS(north_glass_buffer1.getbarcode(), flip, FrameBarcode, north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(), sequence, position, state); sequence += 1; } } } }