Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
# Conflicts:
# CanadaMes-ui/src/views/home/index.vue
# springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
# springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
# springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java
| | |
| | | "type": "0", |
| | | "address": "DB100.0", |
| | | "count": 3, |
| | | "unit": "°", |
| | | "value": "" |
| | | }, |
| | | { |
| | |
| | | "read": 11, |
| | | "sending": "", |
| | | "address": "DB100.0", |
| | | "unit": "°", |
| | | "type": "0", |
| | | "value": "" |
| | | }, |
| | |
| | | "name": "A01输送接片角度", |
| | | "read": 22, |
| | | "sending": "", |
| | | "unit": "°", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "name": "A01笼子角度", |
| | | "read": 22, |
| | | "sending": "", |
| | | "unit": "°", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "read": 33, |
| | | "sending": "", |
| | | "type": "0", |
| | | "unit": "°", |
| | | "address": "DB100.0", |
| | | "count": 3, |
| | | "value": "" |
| | |
| | | "name": "A02行走低速角度", |
| | | "read": 11, |
| | | "sending": "", |
| | | "unit": "°", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "name": "A02输送接片角度", |
| | | "read": 22, |
| | | "sending": "", |
| | | "unit": "°", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "name": "A02笼子角度", |
| | | "read": 22, |
| | | "sending": "", |
| | | "unit": "°", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "read": 100, |
| | | "sending": "", |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "address": "DB100.0", |
| | | "count": 3, |
| | | "value": "" |
| | |
| | | "name": "小车自动速度", |
| | | "read": 11, |
| | | "sending": "", |
| | | "unit": "m/min", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "name": "自动翻转速度", |
| | | "read": 33, |
| | | "sending": "", |
| | | "unit": "m/min", |
| | | "address": "DB100.0", |
| | | "type": "0", |
| | | "value": "" |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm", |
| | | "value":"0" |
| | | |
| | | }], |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm", |
| | | "value":"0" |
| | | |
| | | }], |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm", |
| | | "value":"0" |
| | | |
| | | }], |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm", |
| | | "value":"0", |
| | | "address":"DB100.48", |
| | | "count":10 |
| | |
| | | "name": "22#格地址", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "43#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "64#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "85#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "106#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "127#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "148#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "169#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "190#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | } |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0" , |
| | | "unit": "mm", |
| | | "value":"0", |
| | | "address":"DB100.68", |
| | | "count":10 |
| | |
| | | "name": "22#格地址", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "43#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "64#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "85#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "106#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "127#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "148#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "169#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" , |
| | | "value":"0" |
| | | }, |
| | |
| | | "read": 22, |
| | | "sending": 0, |
| | | "type": "0" , |
| | | "unit": "mm", |
| | | "value":"0" |
| | | } |
| | | |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm", |
| | | "address":"DB100.0", |
| | | "count":3, |
| | | "value":"0" |
| | |
| | | "name": "22#格地址", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" |
| | | , |
| | | "value":"0" |
| | |
| | | "name": "43#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "64#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "85#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | } |
| | |
| | | "name": "106#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "127#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "148#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "169#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | |
| | | "name": "190#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | } |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "address":"DB100.0", |
| | | "unit": "m/min", |
| | | "count":3, |
| | | "value":0 |
| | | }, |
| | |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | |
| | | "read": 22, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | } |
| | | |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "address":"DB100.0", |
| | | "unit": "m/min", |
| | | "count":3, |
| | | "value":0 |
| | | }, |
| | |
| | | "name": "高速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "m/min", |
| | | "type": "0", |
| | | "value":0 |
| | | }, |
| | |
| | | "name": "低速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "m/min", |
| | | "type": "0", |
| | | "value":0 |
| | | }, |
| | |
| | | "name": "手动速度", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "m/min", |
| | | "type": "0", |
| | | "value":0 |
| | | } |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "address":"DB100.0", |
| | | "unit": "m/min", |
| | | "count":3, |
| | | "value":0 |
| | | }, |
| | |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | |
| | | "read": 22, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | } |
| | | |
| | |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "address":"DB100.0", |
| | | "unit": "mm/S", |
| | | |
| | | "count":3, |
| | | "value":0 |
| | | } |
| | |
| | | "name": "小车点动速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "mm/S", |
| | | "type": "0", |
| | | "value":0 |
| | | } |
| | |
| | | <span class="name" v-if="item.type === '0'" style="width:300px;">{{ item.name }}</span> |
| | | <el-input style="width:250px;" v-if="item.type === '0'" v-model="item.value" class="input-box" |
| | | @keyup.enter.native="submitDataToBackend"></el-input> |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | |
| | | <span class="name" style="width:250px;">{{ item.name }}</span> |
| | | <el-input v-if="item.type === '0'" v-model="item.value" class="input-box" |
| | | @keyup.enter.native="submitDataToBackend"></el-input> |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="item-row"> |
| | | <span class="name" style="width:250px;">{{ item.name }}</span> |
| | | <el-input v-if="item.type === '0'" v-model="item.value" class="input-box" @keyup.enter.native="submitDataToBackend" ></el-input> |
| | | |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | |
| | | |
| | | <!-- <el-button |
| | |
| | | <span class="name" style="width:250px;">{{ item.name }}</span> |
| | | <el-input v-if="item.type === '0'" v-model="item.value" class="input-box" @keyup.enter.native="submitDataToBackend"></el-input> |
| | | <!-- <el-button v-if="item.type === '0'" class="input-box" @click="submitDataToBackend();">取地址</el-button> --> |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | // // TODO Auto-generated catch block |
| | | // e.printStackTrace(); |
| | | // } |
| | | |
| | | //spianService.selectout2("250"); |
| | | 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);// 获取进片车任务是否启动 |
| | |
| | | spianMapper.Updatetask(1, 0);// 更改进片任务状态为1 |
| | | spianMapper.UpdatetaskOut(B01glassid.toString()); // 完成上一次出片或者进片任务 |
| | | spianMapper.OverOutSlice(B01glassid.toString(), 2);// 完成出片队列任务 |
| | | spianMapper.UpdataGlassCage(B01glassid.toString(),0);// 清除出片格子玻璃信息 |
| | | S7control.getinstance().WriteWord("DB106.60", (short) 0);// 恢复B01小车应答改为0 |
| | | System.out.println("汇报时B01|" + B01glassid); |
| | | |
| | |
| | | spianMapper.UpdateCageOver(B02glassid.toString(), 0);// 更改笼子表出片状态 |
| | | spianMapper.UpdatetaskOut(B02glassid.toString()); // 完成上一次出片或者进片任务 |
| | | spianMapper.OverOutSlice(B02glassid.toString(), 2);// 完成出片队列任务 |
| | | spianMapper.UpdataGlassCage(B01glassid.toString(),0);// 清除出片格子玻璃信息 |
| | | S7control.getinstance().WriteWord("DB106.62", (short) 0);// 恢复B02小车应答改为0 |
| | | // S7control.getinstance().WriteWord("DB105.50", (short) 1);//汇报B02小车收到 |
| | | System.out.println("汇报时B02|" + B02glassid); |
| | |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("DB100.108"); |
| | | addresses.add("DB100.20"); |
| | | addresses.add("DB103.52"); |
| | | addresses.add("DB103.32"); |
| | | List<Short> arraylist = S7control.getinstance().readWords(addresses); |
| | | // System.out.println(arraylist); |
| | | // System.out.println(arraylist); |
| | | |
| | | List<String> addresses2 = new ArrayList<>(); |
| | | addresses2.add("DB100.110"); |
| | | addresses2.add("DB100.176"); |
| | | addresses2.add("DB103.54"); |
| | | addresses2.add("DB103.34"); |
| | | List<Short> arraylist2 = S7control.getinstance().readWords(addresses2); |
| | | |
| | | List<String> addresses3 = new ArrayList<>(); |
| | | addresses3.add("DB100.112"); |
| | | addresses3.add("DB100.24"); |
| | | addresses3.add("DB103.56"); |
| | | addresses3.add("DB103.36"); |
| | | List<Short> arraylist3 = S7control.getinstance().readWords(addresses3); |
| | | |
| | | List<String> addresses4 = new ArrayList<>(); |
| | | addresses4.add("DB100.114"); |
| | | addresses4.add("DB100.178"); |
| | | addresses4.add("DB103.60"); |
| | | addresses4.add("DB103.40"); |
| | | List<Short> arraylist4 = S7control.getinstance().readWords(addresses4); |
| | | |
| | | List<Short> arraylist5 = S7control.getinstance().ReadWord("DB103.40", 1); |
| | |
| | | addresses9.add("DB104.1.3"); |
| | | addresses9.add("DB104.1.6"); |
| | | addresses9.add("DB104.1.7"); |
| | | // addresses9.add("DB104.28"); |
| | | // addresses9.add("DB104.30"); |
| | | List<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9); |
| | | |
| | | List<String> addresses10 = new ArrayList<>(); |
| | | addresses10.add("DB104.9.4"); |
| | | addresses10.add("DB104.9.5"); |
| | | addresses10.add("DB104.9.4"); |
| | | addresses10.add("DB104.9.5"); |
| | | List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10); |
| | | // Short[] values1 = { 1, 2, 3 }; |
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1)); |
| | | // Short[] values2 = { 1, 2, 3 }; |
| | | // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2)); |
| | | // Short[] values3 = { 1, 2, 3 }; |
| | | // List<Short> arraylist3 = new ArrayList<>(Arrays.asList(values3)); |
| | | // Short[] values4 = { 1, 2, 3 }; |
| | | // List<Short> arraylist4 = new ArrayList<>(Arrays.asList(values4)); |
| | | // Short[] values5 = { 5 }; |
| | | // List<Short> arraylist5 = new ArrayList<>(Arrays.asList(values5)); |
| | | // Short[] values6 = { 6 }; |
| | | // List<Short> arraylist6 = new ArrayList<>(Arrays.asList(values6)); |
| | | // Short[] values7 = { 7 }; |
| | | // List<Short> arraylist7 = new ArrayList<>(Arrays.asList(values7)); |
| | | // Short[] values8 = { 8 }; |
| | | // List<Short> arraylist8 = new ArrayList<>(Arrays.asList(values8)); |
| | | // Boolean[] values9 = { false, false, true, true }; |
| | | // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9)); |
| | | short[] params2 = new short[arraylist9.size()]; |
| | | for (int i = 0; i < arraylist9.size(); i++) { |
| | | boolean value = arraylist9.get(i); |
| | | params2[i] = value ? (short) 1 : (short) 0; |
| | | } |
| | | // List<Short> arraylist9 = S7control.getinstance().readWords(addresses9); |
| | | |
| | | // Boolean[] values10 = { false, false, true, true }; |
| | | // List<Boolean> arraylist10 = new ArrayList<>(Arrays.asList(values10)); |
| | | short[] params3 = new short[arraylist10.size()]; |
| | | for (int i = 0; i < arraylist10.size(); i++) { |
| | | boolean value = arraylist10.get(i); |
| | | params3[i] = value ? (short) 1 : (short) 0; |
| | | } |
| | | // List<Short> arraylist9 = S7control.getinstance().readWords(addresses9); |
| | | arraylist5.addAll(arraylist6); |
| | | arraylist5.addAll(arraylist7); |
| | | arraylist5.addAll(arraylist8); |
| | |
| | | jsonObject.append("zuhe4", arraylist4); |
| | | jsonObject.append("shishi1", arraylist5); |
| | | jsonObject.append("guzhang", params2); |
| | | jsonObject.append("weihuiling", params3); |
| | | // jsonObject.append("weihuiling", arraylist8); |
| | | |
| | | WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition"); |
| | |
| | | List<String> waddresses1 = new ArrayList<>(); |
| | | waddresses1.add("DB100.108"); |
| | | waddresses1.add("DB100.20"); |
| | | waddresses1.add("DB103.52"); |
| | | waddresses1.add("DB103.32"); |
| | | |
| | | List<String> waddresses2 = new ArrayList<>(); |
| | | waddresses2.add("DB100.110"); |
| | | waddresses2.add("DB100.176"); |
| | | waddresses2.add("DB103.54"); |
| | | waddresses2.add("DB103.34"); |
| | | |
| | | List<String> waddresses3 = new ArrayList<>(); |
| | | waddresses3.add("DB100.112"); |
| | | waddresses3.add("DB100.24"); |
| | | waddresses3.add("DB103.56"); |
| | | waddresses3.add("DB103.36"); |
| | | |
| | | List<String> waddresses4 = new ArrayList<>(); |
| | | waddresses4.add("DB100.114"); |
| | | waddresses4.add("DB100.178"); |
| | | waddresses4.add("DB103.60"); |
| | | waddresses4.add("DB103.40"); |
| | | |
| | | // 故障地址 |
| | | List<String> waddresses5 = new ArrayList<>(); |
| | | waddresses5.add("DB103.244"); |
| | | waddresses5.add("DB103.250"); |
| | | // waddresses5.add("DB103.244"); |
| | | // waddresses5.add("DB103.250"); |
| | | waddresses5.add("DB103.252"); |
| | | waddresses5.add("DB103.254"); |
| | | |
| | |
| | | |
| | | // 回零地址 |
| | | List<String> waddresses7 = new ArrayList<>(); |
| | | |
| | | waddresses7.add("DB101.4.5"); |
| | | waddresses7.add("DB101.4.7"); |
| | | |
| | | System.out.println(messages.isEmpty()); |
| | | |
| | | // System.out.println(messages.isEmpty()); |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | String lastMessage = messages.get(messages.size() - 1); |
| | |
| | | } |
| | | |
| | | // 写入A02 |
| | | if (messageArray.getJSONArray(1).size() > 0) { |
| | | |
| | | if ( messageArray.getJSONArray(1).size() > 0) { |
| | | JSONArray jsonArray = messageArray.getJSONArray(1); |
| | | List<Short> sValue2 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | |
| | | } |
| | | } |
| | | if (!sValue2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses2, sValue2); |
| | | S7control.getinstance().WriteWord(waddresses3, sValue2); |
| | | System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | if (!sValue2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses2, sValue2); |
| | | S7control.getinstance().WriteWord(waddresses4, sValue2); |
| | | System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses4); |
| | | } |
| | | } |
| | |
| | | |
| | | // 写入复位地址 |
| | | if (messageArray.getJSONArray(5).size() > 0) { |
| | | JSONArray jsonArray = messageArray.getJSONArray(5); |
| | | List<Short> sValue2 = new ArrayList<>(); |
| | | List<Boolean> messageBooleans = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | Object value = jsonArray.get(i); |
| | | JSONArray jsonArray3 = messageArray.getJSONArray(5); |
| | | List<Boolean> sValue3 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray3.size(); i++) { |
| | | Object value = jsonArray3.get(i); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short val = Short.parseShort(cleanedValue.trim()); |
| | | sValue2.add(val); |
| | | // 将消息值转换为布尔列表 |
| | | for (short values : sValue2) { |
| | | messageBooleans.add(values == 1 ? true : false); |
| | | } |
| | | System.out.println("messageValue:" + Arrays.asList(val) + " added to the list"); |
| | | boolean val = "1".equals(cleanedValue.trim()); |
| | | sValue3.add(val); |
| | | System.out.println("messageValue: " + Arrays.asList(val) + " added to the list"); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | // 如果无法解析为 boolean 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | if (!messageBooleans.isEmpty()) { |
| | | // S7control.getinstance().WriteWord(waddresses6, messageBooleans); |
| | | System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses6); |
| | | if (!sValue3.isEmpty()) { |
| | | S7control.getinstance().WriteBit(waddresses6, sValue3); |
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses6); |
| | | } |
| | | } |
| | | |
| | | // 写入回零地址 |
| | | if (messageArray.getJSONArray(6).size() > 0) { |
| | | JSONArray jsonArray = messageArray.getJSONArray(6); |
| | | List<Short> sValue2 = new ArrayList<>(); |
| | | List<Boolean> messageBooleans = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | Object value = jsonArray.get(i); |
| | | JSONArray jsonArray3 = messageArray.getJSONArray(6); |
| | | List<Boolean> sValue3 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray3.size(); i++) { |
| | | Object value = jsonArray3.get(i); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short val = Short.parseShort(cleanedValue.trim()); |
| | | sValue2.add(val); |
| | | // 将消息值转换为布尔列表 |
| | | for (short values : sValue2) { |
| | | messageBooleans.add(values == 1 ? true : false); |
| | | } |
| | | System.out.println("messageValue:" + Arrays.asList(val) + " added to the list"); |
| | | boolean val = "1".equals(cleanedValue.trim()); |
| | | sValue3.add(val); |
| | | System.out.println("messageValue: " + Arrays.asList(val) + " added to the list"); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | // 如果无法解析为 boolean 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | if (!messageBooleans.isEmpty()) { |
| | | S7control.getinstance().WriteBit(waddresses7, messageBooleans); |
| | | System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses7); |
| | | if (!sValue3.isEmpty()) { |
| | | S7control.getinstance().WriteBit(waddresses7, sValue3); |
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses7); |
| | | } |
| | | } |
| | | |
| | |
| | | // Integer Plccount = this.count;
|
| | |
|
| | | List<String> addresses = new ArrayList<>();
|
| | | addresses.add("DB100.16");
|
| | | addresses.add("DB100.116");
|
| | | addresses.add("DB100.16");
|
| | |
|
| | | addresses.add("DB103.20");
|
| | | List<Short> arraylist = S7control.getinstance().readWords(addresses);
|
| | | // System.out.println(arraylist);
|
| | | // System.out.println(arraylist);
|
| | |
|
| | | List<String> addresses2 = new ArrayList<>();
|
| | | addresses2.add("DB100.192");
|
| | | addresses2.add("DB100.118");
|
| | | addresses2.add("DB100.192");
|
| | |
|
| | | addresses2.add("DB103.22");
|
| | | List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
|
| | |
|
| | | List<String> addresses9 = new ArrayList<>();
|
| | |
|
| | |
|
| | |
|
| | | addresses9.add("DB104.1.2");
|
| | | addresses9.add("DB104.1.3");
|
| | |
| | | params2[i] = value ? (short) 1 : (short) 0;
|
| | | }
|
| | |
|
| | | // Short[] values1 = { 1, 2, 3 };
|
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
|
| | | // Short[] values2 = { 1, 2, 3 };
|
| | | // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
|
| | | // Boolean[] values9 = { false, true };
|
| | | // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
|
| | | // short[] params2 = new short[arraylist9.size()];
|
| | | // for (int i = 0; i < arraylist9.size(); i++) {
|
| | | // boolean value = arraylist9.get(i);
|
| | | // params2[i] = value ? (short) 1 : (short) 0;
|
| | | // }
|
| | |
|
| | | // Boolean[] values10 = { false, true };
|
| | | List<String> addresses10 = new ArrayList<>();
|
| | |
|
| | | addresses10.add("DB104.9.0");
|
| | | addresses10.add("DB104.9.1");
|
| | | List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
|
| | | short[] params3 = new short[arraylist10.size()];
|
| | | for (int i = 0; i < arraylist10.size(); i++) {
|
| | | boolean value = arraylist10.get(i);
|
| | | params3[i] = value ? (short) 1 : (short) 0;
|
| | | }
|
| | |
|
| | | JSONObject jsonObject = new JSONObject();
|
| | | // System.out.println(arraylist);
|
| | |
|
| | | jsonObject.append("zuhe1", arraylist);
|
| | | jsonObject.append("zuhe2", arraylist2);
|
| | | jsonObject.append("guzhang", params2);
|
| | | // jsonObject.append("weihuiling", arraylist8);
|
| | |
|
| | | jsonObject.append("weihuiling", params3);
|
| | | // System.out.println(jsonObject);
|
| | | WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
|
| | | if (sendwServer != null) {
|
| | | sendwServer.sendMessage(jsonObject.toString());
|
| | |
| | | if (webSocketServer != null) {
|
| | | List<String> messages = webSocketServer.getMessages();
|
| | | List<String> waddresses1 = new ArrayList<>();
|
| | | waddresses1.add("DB100.108");
|
| | | waddresses1.add("DB100.20");
|
| | | waddresses1.add("DB103.52");
|
| | | waddresses1.add("DB100.116");
|
| | | waddresses1.add("DB100.16");
|
| | |
|
| | |
|
| | | List<String> waddresses2 = new ArrayList<>();
|
| | | waddresses2.add("DB100.110");
|
| | | waddresses2.add("DB100.176");
|
| | | waddresses2.add("DB103.54");
|
| | | waddresses2.add("DB100.118");
|
| | | waddresses2.add("DB100.192");
|
| | |
|
| | |
|
| | | // 故障地址
|
| | | List<String> waddresses3 = new ArrayList<>();
|
| | |
| | |
|
| | | // 写入复位地址
|
| | | if (messageArray.getJSONArray(3).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(3);
|
| | | List<Short> sValue2 = new ArrayList<>();
|
| | | List<Boolean> messageBooleans = new ArrayList<>();
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | Object value = jsonArray.get(i);
|
| | | JSONArray jsonArray3 = messageArray.getJSONArray(3);
|
| | | List<Boolean> sValue3 = new ArrayList<>();
|
| | | for (int i = 0; i < jsonArray3.size(); i++) {
|
| | | Object value = jsonArray3.get(i);
|
| | | if (value != null && !value.toString().equals("null")) {
|
| | | try {
|
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | short val = Short.parseShort(cleanedValue.trim());
|
| | | sValue2.add(val);
|
| | | // 将消息值转换为布尔列表
|
| | | for (short values : sValue2) {
|
| | | messageBooleans.add(values == 1 ? true : false);
|
| | | }
|
| | | System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
|
| | | boolean val = "1".equals(cleanedValue.trim());
|
| | | sValue3.add(val);
|
| | | System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
|
| | | } catch (NumberFormatException e) {
|
| | | // 如果无法解析为 short 类型,则忽略该部分
|
| | | // 如果无法解析为 boolean 类型,则忽略该部分
|
| | | System.err.println("Could not parse value: " + value);
|
| | | }
|
| | | }
|
| | | }
|
| | | if (!messageBooleans.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(waddresses4, messageBooleans);
|
| | | System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses4);
|
| | | if (!sValue3.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(waddresses4, sValue3);
|
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses4);
|
| | | }
|
| | | }
|
| | |
|
| | | // 写入回零地址
|
| | | if (messageArray.getJSONArray(4).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(4);
|
| | | List<Short> sValue2 = new ArrayList<>();
|
| | | List<Boolean> messageBooleans = new ArrayList<>();
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | Object value = jsonArray.get(i);
|
| | | JSONArray jsonArray3 = messageArray.getJSONArray(4);
|
| | | List<Boolean> sValue3 = new ArrayList<>();
|
| | | for (int i = 0; i < jsonArray3.size(); i++) {
|
| | | Object value = jsonArray3.get(i);
|
| | | if (value != null && !value.toString().equals("null")) {
|
| | | try {
|
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | short val = Short.parseShort(cleanedValue.trim());
|
| | | sValue2.add(val);
|
| | | // 将消息值转换为布尔列表
|
| | | for (short values : sValue2) {
|
| | | messageBooleans.add(values == 1 ? true : false);
|
| | | }
|
| | | System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
|
| | | boolean val = "1".equals(cleanedValue.trim());
|
| | | sValue3.add(val);
|
| | | System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
|
| | | } catch (NumberFormatException e) {
|
| | | // 如果无法解析为 short 类型,则忽略该部分
|
| | | // 如果无法解析为 boolean 类型,则忽略该部分
|
| | | System.err.println("Could not parse value: " + value);
|
| | | }
|
| | | }
|
| | | }
|
| | | if (!messageBooleans.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(waddresses5, messageBooleans);
|
| | | System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses5);
|
| | | if (!sValue3.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(waddresses5, sValue3);
|
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses5);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | |
| | | public class Glass { |
| | | private Integer id; |
| | | private String orderId; |
| | | private double width; |
| | | private double height; |
| | | private String glassId; |
| | | private String orderId;//订单id |
| | | private double width;//宽度 |
| | | private double height;//高度 |
| | | private String glassId;//玻璃id |
| | | |
| | | public Integer id() { |
| | | return id; |
| | |
| | | |
| | | public class OrderOut { |
| | | private Integer id; |
| | | private String orderid; |
| | | private Integer state; |
| | | private String orderid;//订单id |
| | | private Integer state;//状态 |
| | | private Date modtime; |
| | | |
| | | public Integer id() { |
| | |
| | | package com.example.springboot.entity; |
| | | |
| | | public class StorageCage { |
| | | private Integer id; |
| | | private Integer prcId; |
| | | private String glassId; |
| | | private Integer cage; |
| | | private Integer cell; |
| | | private Double width; |
| | | private Double glasswidth; |
| | | private Double glassheight; |
| | | private Double glasswidthmm; |
| | | private Double glassheightmm; |
| | | private String state; |
| | | private Integer tier; |
| | | private String orderId; |
| | | private Integer disabled; |
| | | private String listId; |
| | | private String boxId; |
| | | private Integer id; //自序id |
| | | private Integer prcId;//plcid |
| | | private String glassId;//玻璃id |
| | | private Integer cage;//笼子号 |
| | | private Integer cell;//格子号 |
| | | private Double width;//格子宽 |
| | | private Double glasswidth;//玻璃宽 |
| | | private Double glassheight;//玻璃高 |
| | | private Double glasswidthmm;//英寸玻璃宽 |
| | | private Double glassheightmm;//英寸玻璃高 |
| | | private String state;//状态 |
| | | private Integer tier;//内外片 |
| | | private String orderId;//订单id |
| | | private Integer disabled;//停用 |
| | | private String listId;//集合id |
| | | private String boxId;//箱子id |
| | | |
| | | private north_glass_buffer1 north_glass_buffer1s; |
| | | |
| | |
| | | package com.example.springboot.entity; |
| | | |
| | | public class StorageTask{ |
| | | private Integer id; |
| | | private String taskType; |
| | | private String glassId; |
| | | private Integer id;//自序 |
| | | private String taskType;//类型 |
| | | private String glassId;//玻璃id |
| | | private String cataskStatege; |
| | | private String shelfRack; |
| | | private String loadrack; |
| | | private String shelfRack;//起始位 |
| | | private String loadrack;//目标位 |
| | | |
| | | |
| | | public Integer id() { |
| | |
| | | StorageCage selectGlassCage(int cage,double width,int cage1,int cage2); |
| | | |
| | | //删除笼子信息(出片) |
| | | @Update("update storage_cage as a set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=0 where cage=#{cage} and cell=#{cell} and tier=#{tier};") |
| | | void UpdataGlassCage(String orderid,String glassid,double width,int cage,int cell,int tier,int state); |
| | | @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=0,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glassid=#{glassid};") |
| | | void UpdataGlassCage(String glassid,int state); |
| | | //改变玻璃状态为出片中 |
| | | @Update("update storage_cage as a set state=#{state} where glass_id=#{glassid};") |
| | | void UpdataGlassCageState(String glassid,int state); |
| | | |
| | | //修改笼子信息(进片) |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};") |
| | |
| | | datas.add((short) 1); |
| | | |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, orderid);// 新增任务 |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | outmesid(glassid,"DB105.34");// 派发出片ID |
| | |
| | | datas.add((short) 1); |
| | | spianMapper.Inserttask(1, 0,prcid, 1000, orderid);// 新增任务 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);// 清除格子玻璃信息 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | //S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | //outmesid(glassid);// 派发出片ID |
| | | if (pd != null) { |
| | |
| | | spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里 |
| | | spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | spianMapper.Inserttask(2, 0, cageout.getId(), ids, orderid);// 新增调度任务 |
| | | // 传输mes数据,坐标,数据 |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | |
| | | spianMapper.Inserttask(2, 0, cageout.getId(), ids, orderid);// 新增调度任务 |
| | | spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | // 传输mes数据,坐标,数据 |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | |
| | |
| | | datas.add((short) 1); |
| | | spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增任务 |
| | | // int state = spianMapper.selectGlassState(cage, cell);//获取格子数量 |
| | | if (state == 2) { |
| | |
| | | datas.add((short) 1000); |
| | | datas.add((short) 1); |
| | | datas.add((short) 1); |
| | | outmesid(glassid,"DB105.34");// 派发出片ID |
| | | spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中 |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增任务 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | spianMapper.OverOutSlice(glassid,2);//完成出片队列任务 |
| | | outmesid(glassid,"DB105.34");// 派发出片ID |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | |
| | | return (200);// 结束 |
| | |
| | | spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里 |
| | | spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据 |
| | | spianMapper.UpdataGlassCageState(glassids,3);//更改笼子表的玻璃状态 |
| | | spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid);// 新增调度任务 |
| | | //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务 |
| | | // 传输mes数据,坐标,数据 |
| | |
| | | spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里 |
| | | spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据 |
| | | spianMapper.UpdataGlassCageState(glassids,3);//更改笼子表的玻璃状态 |
| | | // 传输mes数据,坐标,数据 |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | |