严智鑫
2024-03-18 d812f6f23b3f0e4ad6cd140341b494275b628ee3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package com.example.springboot.component;
 
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.service.JdbcConnections;
import com.example.springboot.service.SpianServiceNew;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.AlarmMapper;
import com.example.springboot.mapper.AlbaniaMapper;
import com.example.springboot.mapper.SpianMapper;
 
public class PlcHoldNew extends Thread {
 
  private AlarmMapper alarmMapper;
 
  @Autowired
  private JdbcConnections jdbcConnections;
  private AlbaniaMapper albaniaMapper;
  private SpianServiceNew spianService;
  int aaa;
 
  @Override
  public void run() {
 
    while (this != null) {
      try {
 
        Thread.sleep(100);
      } catch (InterruptedException e) {
        // \\ TODO Auto-generated catch block
        e.printStackTrace();
      }
 
      // if (S7control.getinstance().CheckConnected() == false) {
      spianService = WebSocketServer.applicationContext.getBean(SpianServiceNew.class);
      albaniaMapper = WebSocketServer.applicationContext.getBean(AlbaniaMapper.class);
 
      //读取DB105区文件
      PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
      //读106
      //PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
      //读103
      
      String OutRequest=plcmes.getPlcParameter("OutRequest").getValue();//出片请求一线
      String OutActivate=plcmes.getPlcParameter("OutActivate").getValue();//出片请求二线
      String AddRequest=plcmes.getPlcParameter("AddRequest").getValue();//进片请求
      String CarRequest=plcmes.getPlcParameter("CatReque").getValue();//运送车请求
      String Tastoverid=plcmes.getPlcParameter("Tastoverid").getValue();//任务完成
      String glassid=plcmes.getPlcParameter("glassid").getValue();//玻璃id
      
      //调用出片任务
      if (OutActivate.equals("1") == false&&CarRequest.equals("0")==true) {
        //将运输车状态改为忙碌
        S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
        spianService.selectout(glassid);
      }
      //调用进片任务
      if(AddRequest.equals("1")==true&&CarRequest.equals("0")==true){
        //将运输车状态改为忙碌
        S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
        
        spianService.selectAll(albaniaMapper.SelectGlass());
      }
      
 
      ///////////// 进片任务      
 
      // String B01backs = plcread.getPlcParameter("B01CompleteTheReport").getValue();// b01汇报
      // String B02backs = plcread.getPlcParameter("B02CompleteTheReport").getValue();// b02汇报
      
      // String B01glassid = plcstate.getPlcParameter("B01ID1").getValue();// BO1的玻璃id
      // String B02glassid = plcstate.getPlcParameter("B02ID1").getValue();// B02的玻璃id
 
      // // 当进片小车完成任务时
      // if (B01backs.equals("1") == true) {
      //   // 判断是否汇报正确的id
      //   int HB = spianMapper.SelectHB(B01glassid.toString());
      //   if (HB > 0) {
      //     // 恢复B01小车应答改为1
      //     S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
      //     String yingda =plcmes.getPlcParameter("B01report").getValue();// b01汇报
      //     if (yingda.equals("1")) {
      //       spianService.overtask(B01glassid.toString());// 完成任务
      //     }       
      //   }
 
      // }else{
      //   // 恢复B01小车应答改为0
      //   S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 0);
      // }
 
      // // 当出片小车完成任务时
      // if (B02backs.equals("1") == true) {
      //   // 判断是否汇报正确的id
      //   int HB = spianMapper.SelectHB(B02glassid);
      //   if (HB > 0) {
      //     // 恢复B02小车应答改为1
      //     S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 1);
      //     String yingda =plcmes.getPlcParameter("B01report").getValue();// b02应答
      //     if (yingda.equals("1") == true) {
      //       spianService.overtask(B02glassid);// 完成任务
      //     }    
      //   }
      // }else{
      //   S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 0);
      // }
 
 
      // // 获取DO1数据
      // String Do1ID=plcread.getPlcParameter("FeedID").getValue();// 获取请求的id跟DO1同时清
      // // 获取DO2数据
      // String Do2ID=plcread.getPlcParameter("FeedID").getValue();// 获取请求的id跟DO1同时清
 
 
      // int questate = spianMapper.Selectquecount(Do1ID.toString());// 判断扫码位是否有玻璃已确认
      // // queueid1.toString().isEmpty()
      // north_glass_buffer1 glass1 = spianMapper.selectGlass(Do1ID);// D01的玻璃信息
      // north_glass_buffer1 glass2 = spianMapper.selectGlass(Do2ID);// D02玻璃信息
      // // 当扫码位玻璃id为空时 宽度为0
      // if (Do1ID != null && questate == 0) {
      //   // 写入D01的数据到上片队列表
      //   if (glass1 == null) { // 当没有值时传空
      //     spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 1);
      //   } else {
      //     spianMapper.Updatequeue(Do1ID.toString(), glass1.getordernumber(), glass1.getlistnumber(),
      //     glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
      //     glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
      //   }
 
      // }
 
      // if (Do2ID != null) {
      //   // 写入D02的数据到上片队列表
      //   if (glass2 == null) {
      //     spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2);
      //   } else {
      //     spianMapper.Updatequeue(Do2ID.toString(), glass2.getordernumber(), glass2.getlistnumber(),
      //     glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
      //     glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
      //     spianMapper.overqueue2(Do2ID.toString(), 0, 1);// 更改扫码位任务表的状态为0
      //     S7control.getinstance().WriteWord("DB105.16", (short) 0);// 关闭任务启动
      //   }
 
      // }
 
      // 查询数据库
      // 推送到前端
 
      // }
    }
  }
 
}