| | |
| | | </el-table-column>
|
| | | </el-table>
|
| | | </el-dialog>
|
| | |
|
| | | <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Glass information corresponding to aluminum frame')" top="5vh">
|
| | | <div style="font-size: 500px;text-align: center;">
|
| | | {{ this.CountDowns }}
|
| | | </div>
|
| | | </el-dialog>
|
| | | </el-container>
|
| | | </template>
|
| | | <script>
|
| | |
| | | dialogFormVisible5: false,
|
| | | dialogFormVisible6: false,
|
| | | dialogFormVisible7: false,
|
| | | dialogFormCountDown:false,
|
| | | form: {
|
| | | orderId: "",
|
| | | glassId: "",
|
| | |
| | | OutingQueue: true,
|
| | | OrderInfo: true,
|
| | | CageDetails: true,
|
| | |
|
| | | CountDowns:0
|
| | | };
|
| | | },
|
| | | created() {
|
| | |
| | | //console.log("您的浏览器支持WebSocket");
|
| | | let socketUrl = "ws://" + this.$t('ip') + ":8888" + "/springboot-vue3/api/talk/" + viewname;
|
| | | if (socket != null) {
|
| | | socket.close();
|
| | | socket.close();this.car1
|
| | | socket = null;
|
| | | }
|
| | | // 开启一个websocket服务
|
| | |
| | | //console.log("收到数据====" + msg.data);
|
| | | let obj = JSON.parse(msg.data);
|
| | | if (obj.params != null) {
|
| | | |
| | | this.car1 = 145 + 8.15 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
|
| | | this.car2 = 210 + 8.15 * Math.abs(obj.params[0][1] - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
|
| | | // this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
|
| | |
| | | this.tasklist1 = obj.tasklist1[0];
|
| | | this.tasklist2 = obj.tasklist2[0];
|
| | | this.alarm = obj.alarmmg[0];
|
| | | //铝框id提示
|
| | |
|
| | | if(this.alarm.length>0){
|
| | | this.dialogFormVisible2=true;
|
| | | }
|
| | | //复位倒计时
|
| | | if (obj.countdown[0]== true&&this.CountDowns==0) {
|
| | | this.CountDown();
|
| | | }
|
| | |
|
| | | //是否允许出片
|
| | | this.isAllowQueue = obj.isAllowQueue[0];
|
| | |
| | | },
|
| | | //判断玻璃是否超出范围
|
| | | Sizerange(Glass, position) {
|
| | | if (this.ManuallyInfeedGlass == true) {
|
| | | if (this.ManuallyInfeedGlass == false) {
|
| | | if ((Glass.glassheight < 380 || Glass.glasswidth < 390 || Glass.glassheight > 1810 || Glass.glasswidth > 2760) || (Glass.glassheight < 390 || Glass.glasswidth < 380 || Glass.glassheight > 2760 || Glass.glasswidth > 1810)) {
|
| | | this.$alert(this.$t('The glass size is not within the range'), this.$t('confirm'), {
|
| | | confirmButtonText: this.$t('Yes'),
|
| | |
| | | } else {
|
| | | this.disabled = false;
|
| | | }
|
| | | if (position == 3 && this.isConfirmState == true) {
|
| | | console.log(position,this.isConfirm);
|
| | | if (position == 3 && this.isConfirm == true) {
|
| | | this.InsertQueueGlass(1);
|
| | | }
|
| | | }
|
| | |
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | },
|
| | | CountDown(){
|
| | | //50秒倒数计时
|
| | | let count = 50;
|
| | | let timer = setInterval(
|
| | | () => {
|
| | | if (count > 0) {
|
| | | this.countDown = count;
|
| | | count--;
|
| | | this.CountDowns=count;
|
| | | }
|
| | | else {
|
| | | clearInterval(timer);
|
| | | this.countDown = 0;
|
| | | }
|
| | | },
|
| | | 1000
|
| | | );
|
| | | |
| | | }
|
| | | }
|
| | | }
|
| | |
| | | // 获取DO2数据 |
| | | StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14); |
| | | |
| | | |
| | | int questate = spianMapper.Selectquecount(queueid1.toString());// 判断扫码位是否有玻璃已确认 |
| | | // queueid1.toString().isEmpty() |
| | | north_glass_buffer1 glass1 = spianMapper.selectGlass(queueid1.toString());// D01的玻璃信息 |
| | | north_glass_buffer1 glass2 = spianMapper.selectGlass(queueid2.toString());// D02玻璃信息 |
| | | // 当扫码位玻璃id为空时 宽度为0 |
| | | |
| | | if (queueid1 != null && questate == 0) { |
| | | // 写入D01的数据到上片队列表 |
| | | if (glass1 == null) { // 当没有值时传空 |
| | |
| | | } else { |
| | | |
| | | spianMapper.Updatequeue(queueid1.toString(), glass1.getordernumber(), glass1.getlistnumber(), |
| | | glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(), |
| | | glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1); |
| | | glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(), |
| | | glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1); |
| | | } |
| | | |
| | | } |
| | |
| | | spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2); |
| | | } else { |
| | | spianMapper.Updatequeue(queueid2.toString(), glass2.getordernumber(), glass2.getlistnumber(), |
| | | glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(), |
| | | glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2); |
| | | glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(), |
| | | glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2); |
| | | spianMapper.overqueue2(queueid2.toString(), 0, 1);// 更改扫码位任务表的状态为0 |
| | | S7control.getinstance().WriteWord("DB105.16", (short) 0);// 关闭任务启动 |
| | | } |
| | |
| | | |
| | | outstate = outlist.contains((short) 0);// 出片车空闲判断 当出片车空闲时为true |
| | | outstate1 = outlist1.contains((short) 1);// 出片车任务是否启动 当出片车任务启动时为true |
| | | |
| | | |
| | | // 判断当前是否有未执行的任务 |
| | | int outnum = spianMapper.SelectOutSliceshu(); |
| | | // 当没有任务执行并且出片车空闲时 |
| | |
| | | package com.example.springboot.component; |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | |
| | | import java.sql.SQLException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | // 查询报警信息 |
| | | 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); |
| | | // } |
| | | |
| | | // 读去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(); |
| | |
| | | // 获取当前出片队列状态 |
| | | jsonObject.append("isAllowQueue", Plchome.isAllowQueue); |
| | | |
| | | // // 获取铝框idDB106.DBW64 |
| | | // String frameno=spianService.queGlassid("DB106.24",14).toString(); |
| | | // if(frameno!=Plchome.FrameNo){ |
| | | // Plchome.FrameNo=frameno; |
| | | // } |
| | | // try { |
| | | // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo); |
| | | // } catch (SQLException e) { |
| | | // // TODO Auto-generated catch block |
| | | // e.printStackTrace(); |
| | | // } |
| | | // 获取铝框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); |
| | | |
| | | |
| | | //复位倒计时 |
| | | // 地址104.9.6 |
| | | List<Boolean> countdown = S7control.getinstance().ReadBits("104.9.6", 71); |
| | | jsonObject.append("countdown", countdown); |
| | | // 铝框线交互 |
| | | |
| | | // //铝框id请求字 |
| | |
| | | // |
| | | System.out.println("启动完成"); |
| | | |
| | | //new PlcHold().start(); |
| | | new PlcHold().start(); |
| | | // |
| | | // |
| | | new Plchome().start(); |
| | |
| | | StorageCage glass = homeMapper.SelectGlassInfo(glassid); |
| | | if (types == 0) { |
| | | homeMapper.UpdateCageTask1(glassid); |
| | | S7control.getinstance().WriteWord("DB105.14", (short) 0); |
| | | // S7control.getinstance().WriteWord("DB105.16", (short) 0); |
| | | } else { |
| | | spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell()); |
| | | homeMapper.UpdateCageTask2(glassid); |
| | | S7control.getinstance().WriteWord("DB105.12", (short) 0); |
| | | // S7control.getinstance().WriteWord("DB105.18", (short) 0); |
| | | } |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |