| | |
| | | // // TODO Auto-generated catch block |
| | | // e.printStackTrace(); |
| | | // } |
| | | |
| | | // 判断进片请求 |
| | | List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 获取prc进片请求数据 |
| | | List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态 |
| | | List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 获取进片车任务是否启动 |
| | | |
| | | |
| | | boolean B01backs =spianService.listbool("DB106.60");// b01汇报 |
| | | boolean B02backs = spianService.listbool("DB106.62");// b02汇报 |
| | | StringBuilder B01glassid=spianService.queGlassid("DB106.DBB26");//BO1的玻璃id |
| | | StringBuilder B02glassid=spianService.queGlassid("DB106.DBB26");//B02的玻璃id |
| | | StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1的玻璃id |
| | | StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02的玻璃id |
| | | //当进片小车完成任务时 |
| | | if(B01backs==true){ |
| | | //当B01小车汇报完成时更改玻璃状态为1 |
| | | spianMapper.UpdateCageOver(B01glassid.toString(),1);//更改笼子表进片状态 |
| | | spianMapper.Updatetask(1,0);//更改进片任务状态为1 |
| | | spianMapper.overqueue(B01glassid.toString(),0);//更改上片任务表的状态为0 |
| | | S7control.getinstance().WriteWord("DB105.48", (short) 1);//应答B01小车收到 |
| | | S7control.getinstance().WriteWord("DB105.16", (short) 0);//进片任务启动改为0 |
| | | }else{ |
| | | S7control.getinstance().WriteWord("DB105.48", (short) 0);//恢复B01小车应答 |
| | | S7control.getinstance().WriteWord("DB106.60", (short) 0);// 恢复B01小车应答改为0 |
| | | S7control.getinstance().WriteWord("DB105.48", (short) 1);//汇报B01小车收到 |
| | | } |
| | | |
| | | //当出片小车完成任务时 |
| | | if(B02backs==true){ |
| | | //当B02小车汇报完成时更改玻璃状态为0 |
| | | spianMapper.UpdateCageOver(B02glassid.toString(),0);//更改笼子表出片状态 |
| | | spianMapper.UpdatetaskOut(B02glassid.toString()); // 完成上一次出片或者调度任务 |
| | | S7control.getinstance().WriteWord("DB105.50", (short) 1);//应答B02小车收到 |
| | | }else{ |
| | | S7control.getinstance().WriteWord("DB105.50", (short) 0);//恢复B02小车应答 |
| | | S7control.getinstance().WriteWord("DB105.50", (short) 0);// 恢复B02小车应答改为0 |
| | | // S7control.getinstance().WriteWord("DB105.50", (short) 1);//汇报B02小车收到 |
| | | } |
| | | |
| | | |
| | | |
| | | // 获取DO1数据 |
| | | StringBuilder queueid1 = spianService.queGlassid("DB106.DBB26"); |
| | | StringBuilder queueid1 = spianService.queGlassid("DB103.44", 14); |
| | | // 获取DO2数据 |
| | | StringBuilder queueid2 = spianService.queGlassid("DB103.DBB78"); |
| | | System.out.println("D01"+queueid1); |
| | | System.out.println("D02"+queueid2); |
| | | int questate = spianMapper.Selectqueuestate();//判断扫码位是否有玻璃已确认 |
| | | StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14); |
| | | System.out.println("D01|" + queueid1); |
| | | System.out.println("D02|" + queueid2); |
| | | 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玻璃信息 |
| | | double quewitdh=0; |
| | | double quewitdh2=0; |
| | | //当扫码位玻璃id为空时 宽度为0 |
| | | if(glass1==null){ |
| | | quewitdh=0; |
| | | queueid1=new StringBuilder(""); |
| | | }else{ |
| | | quewitdh=glass1.getglasslengthmm(); |
| | | } |
| | | if(glass2==null){ |
| | | quewitdh2=0; |
| | | queueid2=new StringBuilder(""); |
| | | }else{ |
| | | quewitdh2=glass2.getglasslengthmm(); |
| | | } |
| | | |
| | | |
| | | if (queueid1!=null&& questate == 0) { |
| | | // 写入D01的数据到上片队列表 |
| | | spianMapper.insertqueue(queueid1.toString(), 1, quewitdh); |
| | | if (glass1 == null) { //当没有值时传空 |
| | | spianMapper.Updatequeue(null,null,null,null, 0, null, null, null, null, 1); |
| | | } else { |
| | | spianMapper.overqueue2(queueid2.toString(), 0, 1);// 更改扫码位任务表的状态为0 |
| | | spianMapper.Updatequeue(queueid1.toString(),glass1.getordernumber(),glass1.getlistnumber(),glass1.getboxnumber(),0,glass1.getglasslengthmm().toString(),glass1.getglassheightmm().toString(),glass1.getglasslength().toString(),glass1.getglassheight().toString(),1); |
| | | } |
| | | |
| | | } |
| | | if (queueid2!=null) { |
| | | // 写入D02的数据到上片队列表 |
| | | spianMapper.insertqueue(queueid2.toString(), 2, quewitdh2); |
| | | spianMapper.overqueue2(queueid2.toString(),0,1);//更改上片任务表的状态为0 |
| | | if(glass2==null){ |
| | | spianMapper.Updatequeue(null,null,null,null, 0, null, null, null, null, 2); |
| | | }else{ |
| | | spianMapper.Updatequeue(queueid1.toString(),glass2.getordernumber(),glass2.getlistnumber(),glass2.getboxnumber(),0,glass2.getglasslengthmm().toString(),glass2.getglassheightmm().toString(),glass2.getglasslength().toString(),glass2.getglassheight().toString(),2); |
| | | |
| | | S7control.getinstance().WriteWord("DB105.16", (short) 0);//关闭任务启动 |
| | | } |
| | | |
| | | } |
| | | |
| | | // 出片任务//////////////////////////////// |
| | |
| | | // 获取已下发的出片id |
| | | byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14); |
| | | String writedstrIdOut = new String(writedglassidbytesOut); |
| | | |
| | | |
| | | boolean outstate = false;// 出片车空闲判断 |
| | | boolean outstate1 = false;// 出片车任务是否启动 |