| | |
| | | // 表单数据 |
| | | const workstationId = ref(''); |
| | | const flowCardId = ref(''); |
| | | const flowCardOptions = ref([]); |
| | | const flowCardOptions = ref('[]'); |
| | | const tableData = reactive([]); |
| | | // 方法 |
| | | const handleSelectionChange = () => { |
| | |
| | | const response = await request.get('unLoadGlass/downWorkStation/getflowCardId'); |
| | | console.log(response) |
| | | if (response.code === 200) { |
| | | flowCardOptions.value = response.data |
| | | .filter(item => item !== null) |
| | | .map(item => ({ flowcard_id: item.flow_card_Id })); |
| | | |
| | | flowCardOptions.value = response.data.filter(item => item !== null) |
| | | .map(item => ({ flowcard_id: item.flow_card_id })); |
| | | console.log(flowCardOptions.value); |
| | | } |
| | | else { |
| | |
| | | <el-form-item label="架号:" :required="true" style="width: 18vw"> |
| | | <el-input v-model="workstationId" autocomplete="off"/> |
| | | </el-form-item> |
| | | <el-form-item label="流程卡号:" :required="true" style="width: 18vw;"> |
| | | <el-form-item label="流程卡号:" :required="false" style="width: 18vw;"> |
| | | <el-select v-model="flowCardId" placeholder="请选择流程卡号"> |
| | | <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id" :value="item.flowcard_id" /> |
| | | </el-select> |
| | |
| | | import com.mes.downglassinfo.entity.DownGlassTask; |
| | | import com.mes.downglassinfo.mapper.DownGlassTaskMapper; |
| | | import com.mes.downglassinfo.service.DownGlassTaskService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | * @author zhoush |
| | | * @since 2024-04-07 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService { |
| | | |
| | | |
| | | @Override |
| | | public List<DownGlassTask> getUnloadingTaskState() { |
| | | log.info("出片或直通任务状态为1 的任务"); |
| | | QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("task_stauts", 0).eq("task_type", 2).or().eq("task_stauts", 3); |
| | | queryWrapper.eq("task_stauts", 1).eq("task_type", 2).or().eq("task_type", 3); |
| | | return baseMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | |
| | | import com.github.yulichang.toolkit.JoinWrappers; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.downstorage.entity.DownStorageCage; |
| | | import com.mes.downstorage.entity.DownStorageCageDetails; |
| | | import com.mes.downstorage.mapper.DownStorageCageDetailsMapper; |
| | |
| | | return downStorageCageDetailsMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCageDetails.class) // 使用 JoinWrappers.lambda 创建联合查询 |
| | | .selectAll(DownStorageCageDetails.class) // 选择所有字段 |
| | | .eq(DownStorageCage::getSlot, DownStorageCageDetails::getSlot) // 设置关联条件 |
| | | .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN) |
| | | .orderByAsc(DownStorageCage::getSlot) // 按 slot 字段升序排序 |
| | | ); |
| | | } |
| | |
| | | anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getTemperingLayoutId); |
| | | anotherQueryWrapper.orderByDesc(DownStorageCageDetails::getTemperingFeedSequence); |
| | | anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds); |
| | | anotherQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN); |
| | | anotherQueryWrapper.last("LIMIT 1"); |
| | | return downStorageCageDetailsMapper.selectList(anotherQueryWrapper); |
| | | } else { |
| | |
| | | LambdaQueryWrapper<DownStorageCageDetails> cageDetailsQueryWrapper = Wrappers.lambdaQuery(); |
| | | cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds); |
| | | cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds); |
| | | cageDetailsQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN); |
| | | |
| | | log.info("按照流程卡的版图id 版图片序出"); |
| | | // Step 4: 查询 down_storage_cage_details 表并返回结果 |
| | |
| | | |
| | | //import com.mes.device.PlcParameterObject; |
| | | import com.google.common.base.Functions; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.downglassinfo.entity.DownGlassTask; |
| | | import com.mes.downglassinfo.service.DownGlassTaskService; |
| | | import com.mes.downstorage.entity.DownStorageCage; |
| | |
| | | .select(DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getGlassId) |
| | | .leftJoin(DownStorageCageDetails.class, on -> on |
| | | .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId) |
| | | .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)) |
| | | .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot) |
| | | .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN) |
| | | ) |
| | | .isNull(DownStorageCageDetails::getSlot) |
| | | ); |
| | | } |
| | |
| | | .select(DownStorageCageDetails::getFlowCardId) |
| | | .leftJoin(DownStorageCageDetails.class, on -> on |
| | | .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId) |
| | | .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)) |
| | | .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot) |
| | | .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN)) |
| | | .isNull(DownStorageCageDetails::getSlot) |
| | | .eq(DownStorageCage::getEnableState, 1) |
| | | .groupBy(DownStorageCageDetails::getFlowCardId) // 根据 flowCardId 分组 |
| | |
| | | .select(DownStorageCageDetails::getGlassId, DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getId) |
| | | .leftJoin(DownStorageCageDetails.class, on -> on |
| | | .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId) |
| | | .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)) |
| | | .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot) |
| | | .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN)) |
| | | ); |
| | | |
| | | } |
| | |
| | | package com.mes.job; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.downglassinfo.entity.DownGlassInfo; |
| | | import com.mes.downglassinfo.entity.DownGlassTask; |
| | | import com.mes.downglassinfo.service.DownGlassInfoService; |
| | |
| | | // String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue(); |
| | | // String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue(); |
| | | // String outGlassstate = plcParameterObject.getPlcParameter("A09_glass_status").getValue(); |
| | | // String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress(); |
| | | // String MESSendingWord = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress(); |
| | | // String G06RobotTaskRequestWord = plcParameterObject.getPlcParameter("G06RobotTaskRequestWord").getAddress(); |
| | | |
| | | |
| | |
| | | String glassIdeValue = "NG24041101C002-2-6-1-6"; |
| | | String confirmationWrodValue = "1"; |
| | | String outGlassstate = "1"; |
| | | String confirmationWrodAddress = "1"; |
| | | String MESSendingWord = "1"; |
| | | String G11RobotTaskRequestWord = "0"; |
| | | String G06RobotTaskRequestWord = "0"; |
| | | String G13RobotTaskRequestWord = "0"; |
| | |
| | | // return; |
| | | // } |
| | | // log.info("2、获取到的请求字为0,将确认字改为0"); |
| | | // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 0); |
| | | // S7object.getinstance().plccontrol.WriteWord(MESSendingWord, (short) 0); |
| | | // return; |
| | | // } |
| | | // if (!"0".equals(confirmationWrodValue)) { |
| | | // log.info("2、获取到的请求字不为0,将确认字改为0"); |
| | | // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 0); |
| | | // S7object.getinstance().plccontrol.WriteWord(MESSendingWord, (short) 0); |
| | | // return; |
| | | // } |
| | | |
| | | if ("1".equals(taskRequestTypeValue)) { |
| | | log.info("3、进片请求,且确认字为0,执行进片任务"); |
| | | inTo(glassIdeValue, confirmationWrodAddress); |
| | | inTo(glassIdeValue, MESSendingWord); |
| | | } else if ("2".equals(taskRequestTypeValue)) { |
| | | |
| | | log.info("3、出片请求,且确认字为0,执行进片任务"); |
| | | outTo(confirmationWrodAddress); |
| | | outTo(MESSendingWord); |
| | | |
| | | } else if ("3".equals(taskRequestTypeValue)) { |
| | | log.info("3、进片和出片都空闲,执行出片任务"); |
| | | if (outTo(confirmationWrodAddress)) { |
| | | inTo(glassIdeValue, confirmationWrodAddress); |
| | | if (outTo(MESSendingWord)) { |
| | | inTo(glassIdeValue, MESSendingWord); |
| | | |
| | | |
| | | } |
| | |
| | | * 进片任务 |
| | | * |
| | | * @param glassId |
| | | * @param confirmationWrodAddress |
| | | * @param MESSendingWord |
| | | * @param |
| | | */ |
| | | private void inTo(String glassId, String confirmationWrodAddress) { |
| | | private void inTo(String glassId, String MESSendingWord) { |
| | | log.info("1、按照玻璃id:{}获取玻璃小片信息", glassId); |
| | | GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); |
| | | if (glassInfo == null) { |
| | |
| | | log.info("6、将玻璃信息插入卧式理片笼,当前玻璃信息:{}", glassInfo); |
| | | DownStorageCageDetails details = new DownStorageCageDetails(); |
| | | BeanUtils.copyProperties(glassInfo, details); |
| | | details.setState(1); |
| | | details.setState(Const.GLASS_STATE_IN); |
| | | details.setGlassId(glassInfo.getGlassId()); |
| | | details.setSlot(item.getSlot()); |
| | | details.setDeviceId(item.getDeviceId()); |
| | |
| | | |
| | | } |
| | | log.info("9、发送确认字完成"); |
| | | //S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 1); |
| | | //S7object.getinstance().plccontrol.WriteWord(MESSendingWord, (short) 1); |
| | | } |
| | | |
| | | /** |
| | | * 出片任务 |
| | | * |
| | | * @param confirmationWrodAddress |
| | | * @param MESSendingWord |
| | | */ |
| | | private Boolean outTo(String confirmationWrodAddress) { |
| | | private Boolean outTo(String MESSendingWord) { |
| | | log.info("单片情况根据传入的料架号 查询符合按照版图id和片序出片,并且优先出满架的小片"); |
| | | List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut1(1, 3); |
| | | |
| | | List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut1(4, 6); |
| | | List<DownStorageCageDetails> list1to3 = downStorageCageDetailsService.CacheOut1(1, 3); |
| | | List<DownStorageCageDetails> list4to6 = downStorageCageDetailsService.CacheOut1(4, 6); |
| | | List<DownStorageCageDetails> list1to6 = downStorageCageDetailsService.CacheOut1(1, 6); |
| | | |
| | | List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut1(1, 6); |
| | | DownStorageCageDetails selectedItem = null; |
| | | |
| | | String endCell = ""; |
| | | |
| | | // 优先 超出尺寸优先人工出片 人工处理 |
| | | if (!list3.isEmpty()) { |
| | | |
| | | DownStorageCageDetails item3 = list3.get(0); |
| | | if (!list1to6.isEmpty()) { |
| | | DownStorageCageDetails item3 = list1to6.get(0); |
| | | if (item3.getHeight() >= 2500 && item3.getWidth() >= 2660) { |
| | | log.info("人工处理"); |
| | | String endcell = "7"; |
| | | |
| | | |
| | | DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item3, "9", endcell, "2"); |
| | | downGlassTaskService.insertCacheTask(downGlassTask); |
| | | // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2); |
| | | |
| | | return true; |
| | | } else if (!list2.isEmpty() && !list3.isEmpty()) { |
| | | selectedItem = item3; |
| | | endCell = "7"; |
| | | } else if (!list4to6.isEmpty() && !list1to6.isEmpty()) { |
| | | log.info("前后端都空闲 优先后端出片并且优先满架"); |
| | | DownStorageCageDetails item4 = list2.get(0); |
| | | |
| | | DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item4.getFlowCardId())); |
| | | String endcell = String.valueOf(downWorkstation.getWorkstationId()); |
| | | |
| | | DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item4, "9", endcell, "2"); |
| | | downGlassTaskService.insertCacheTask(downGlassTask); |
| | | |
| | | //S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2); |
| | | |
| | | return true; |
| | | |
| | | } |
| | | // 按照版图id和片序符合前端出片 |
| | | else if (!list.isEmpty()) { |
| | | log.info("前端出片"); |
| | | DownStorageCageDetails item = list.get(0); |
| | | DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item.getFlowCardId())); |
| | | String endcell = String.valueOf(downWorkstation.getWorkstationId()); |
| | | // 出到 G06 |
| | | DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item, "9", endcell, "2"); |
| | | downGlassTaskService.insertCacheTask(downGlassTask); |
| | | // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2); |
| | | |
| | | |
| | | return true; |
| | | // 按照版图id和片序符合后端出片 |
| | | } else if (!list2.isEmpty()) { |
| | | log.info("后端出片"); |
| | | DownStorageCageDetails item2 = list2.get(0); |
| | | DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item2.getFlowCardId())); |
| | | String endcell = String.valueOf(downWorkstation.getWorkstationId()); |
| | | // 出到 G11 |
| | | DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item2, "9", endcell, "2"); |
| | | downGlassTaskService.insertCacheTask(downGlassTask); |
| | | // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2); |
| | | return true; |
| | | selectedItem = list4to6.get(0); |
| | | } |
| | | } |
| | | //如果同时前后端都空闲 优先后端出片并且优先满架 |
| | | |
| | | // 按照版图id和片序符合前端出片 |
| | | if (selectedItem == null && !list1to3.isEmpty()) { |
| | | log.info("前端出片"); |
| | | selectedItem = list1to3.get(0); |
| | | } |
| | | |
| | | // 按照版图id和片序符合后端出片 |
| | | if (selectedItem == null && !list4to6.isEmpty()) { |
| | | log.info("后端出片"); |
| | | selectedItem = list4to6.get(0); |
| | | } |
| | | |
| | | if (selectedItem != null) { |
| | | DownWorkstation downWorkstation = downWorkstationService.getOne( |
| | | new LambdaQueryWrapper<DownWorkstation>() |
| | | .eq(DownWorkstation::getFlowCardId, selectedItem.getFlowCardId()) |
| | | ); |
| | | endCell = String.valueOf(downWorkstation.getWorkstationId()); |
| | | if (endCell.isEmpty()) { |
| | | endCell = "7"; |
| | | } |
| | | DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(selectedItem, "9", endCell, "2"); |
| | | downGlassTaskService.insertCacheTask(downGlassTask); |
| | | LambdaQueryWrapper<DownStorageCageDetails> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(DownStorageCageDetails::getGlassId, selectedItem.getGlassId()); |
| | | DownStorageCageDetails updateDetail = new DownStorageCageDetails(); |
| | | updateDetail.setState(Const.GLASS_STATE_OUT); |
| | | downStorageCageDetailsService.update(updateDetail, wrapper); |
| | | log.info("更新出片玻璃的状态为{}", Const.GLASS_STATE_OUT); |
| | | // S7object.getinstance().plccontrol.WriteWord(MESSendingWord, (short) 2); |
| | | |
| | | return true; |
| | | } |
| | | |
| | | // 返回结果 |
| | | return false; |
| | |
| | | DownWorkstation downWorkstation1 = downWorkstationService.selectByFlowCardId(downGlassInfo.getFlowCardId()); |
| | | downWorkstationService.updateracksnumber(downGlassInfo.getFlowCardId(), downWorkstation1.getRacksnumber() + 1); |
| | | log.info("更新落架数量"); |
| | | LambdaQueryWrapper<DownGlassTask> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(DownGlassTask::getGlassId, newdownGlassInfo.getGlassId()); |
| | | DownGlassTask updateDetail = new DownGlassTask(); |
| | | updateDetail.setTaskStauts(2); |
| | | downGlassTaskService.update(updateDetail, wrapper); |
| | | sequence++; // 递增顺序字段值 |
| | | |
| | | |
| | |
| | | {
|
| | | "plcAddressBegin": "DB100.0",
|
| | | "plcAddressLenght": "142",
|
| | | "plcAddressLenght": "230",
|
| | | "dataType": "word",
|
| | | "parameteInfor": [
|
| | | {
|
| | |
| | | },
|
| | | {
|
| | | "codeId": "G04ID",
|
| | | "addressIndex": "2",
|
| | | "addressLenght": "2"
|
| | | "addressIndex": "30",
|
| | | "addressLenght": "30"
|
| | | },
|
| | | {
|
| | | "codeId": "G06RobotTaskRequestWord",
|
| | | "addressIndex": "4",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06ID",
|
| | | "addressIndex": "6",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11RobotTaskRequestWord",
|
| | | "addressIndex": "8",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G011ID",
|
| | | "addressIndex": "10",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "12",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "14",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "16",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "18",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "MESSendingWord",
|
| | | "addressIndex": "20",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InputGrid",
|
| | | "addressIndex": "22",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "OutputGrid",
|
| | | "addressIndex": "24",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "OutputID",
|
| | | "addressIndex": "26",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "FrontOrRearLowerSlice",
|
| | | "addressIndex": "28",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "30",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06RobotTaskReply",
|
| | | "addressIndex": "32",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06Rack",
|
| | | "addressIndex": "34",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11RobotTaskReply",
|
| | | "addressIndex": "36",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11Rack",
|
| | | "addressIndex": "38",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "40",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "42",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "44",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "46",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "48",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "50",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "52",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "54",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "MESTaskState",
|
| | | "addressIndex": "56",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "58",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "AlarmState",
|
| | | "addressIndex": "60",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm1",
|
| | | "codeId": "G06ID",
|
| | | "addressIndex": "62",
|
| | | "addressLenght": "2"
|
| | | "addressLenght": "30"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm2",
|
| | | "codeId": "G11RobotTaskRequestWord",
|
| | | "addressIndex": "64",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm3",
|
| | | "addressIndex": "66",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm4",
|
| | | "addressIndex": "68",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "neirong",
|
| | | "addressIndex": "70",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "device",
|
| | | "addressIndex": "72",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "74",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "76",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut1",
|
| | | "addressIndex": "78",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut2",
|
| | | "addressIndex": "80",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut3",
|
| | | "addressIndex": "82",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut4",
|
| | | "addressIndex": "84",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut5",
|
| | | "addressIndex": "86",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut6",
|
| | | "addressIndex": "88",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut7",
|
| | | "addressIndex": "90",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "92",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "codeId": "G011ID",
|
| | | "addressIndex": "94",
|
| | | "addressLenght": "2"
|
| | | "addressLenght": "30"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | |
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G04ActionState",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "102",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G05ActionState",
|
| | | "codeId": "MESSendingWord",
|
| | | "addressIndex": "104",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06ActionState",
|
| | | "codeId": "InputGrid",
|
| | | "addressIndex": "106",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G07ActionState",
|
| | | "codeId": "OutputGrid",
|
| | | "addressIndex": "108",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G08ActionState",
|
| | | "codeId": "OutputID",
|
| | | "addressIndex": "110",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G09ActionState",
|
| | | "codeId": "FrontOrRearLowerSlice",
|
| | | "addressIndex": "112",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G10ActionState",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "114",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11ActionState",
|
| | | "codeId": "G06RobotTaskReply",
|
| | | "addressIndex": "116",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G12ActionState",
|
| | | "codeId": "G06Rack",
|
| | | "addressIndex": "118",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G13ActionState",
|
| | | "codeId": "G11RobotTaskReply",
|
| | | "addressIndex": "120",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G04IDS",
|
| | | "codeId": "G11Rack",
|
| | | "addressIndex": "122",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G05IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "124",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "126",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G07IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "128",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G08IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "130",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G09IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "132",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G10IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "134",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "136",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G12IDS",
|
| | | "codeId": "spare",
|
| | | "addressIndex": "138",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G13ID",
|
| | | "codeId": "MESTaskState",
|
| | | "addressIndex": "140",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "142",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "AlarmState",
|
| | | "addressIndex": "144",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm1",
|
| | | "addressIndex": "146",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm2",
|
| | | "addressIndex": "148",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm3",
|
| | | "addressIndex": "150",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "Alarm4",
|
| | | "addressIndex": "152",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "neirong",
|
| | | "addressIndex": "154",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "device",
|
| | | "addressIndex": "156",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "158",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "160",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut1",
|
| | | "addressIndex": "162",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut2",
|
| | | "addressIndex": "164",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut3",
|
| | | "addressIndex": "166",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut4",
|
| | | "addressIndex": "168",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut5",
|
| | | "addressIndex": "170",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut6",
|
| | | "addressIndex": "172",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "InOut7",
|
| | | "addressIndex": "174",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "176",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "178",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "180",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "182",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "spare",
|
| | | "addressIndex": "184",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G04ActionState",
|
| | | "addressIndex": "186",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G05ActionState",
|
| | | "addressIndex": "190",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06ActionState",
|
| | | "addressIndex": "192",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G07ActionState",
|
| | | "addressIndex": "194",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G08ActionState",
|
| | | "addressIndex": "196",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G09ActionState",
|
| | | "addressIndex": "200",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G10ActionState",
|
| | | "addressIndex": "202",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11ActionState",
|
| | | "addressIndex": "204",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G12ActionState",
|
| | | "addressIndex": "206",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G13ActionState",
|
| | | "addressIndex": "208",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G04IDS",
|
| | | "addressIndex": "210",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G05IDS",
|
| | | "addressIndex": "212",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G06IDS",
|
| | | "addressIndex": "214",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G07IDS",
|
| | | "addressIndex": "216",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G08IDS",
|
| | | "addressIndex": "218",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G09IDS",
|
| | | "addressIndex": "220",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G10IDS",
|
| | | "addressIndex": "222",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G11IDS",
|
| | | "addressIndex": "224",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G12IDS",
|
| | | "addressIndex": "226",
|
| | | "addressLenght": "2"
|
| | | },
|
| | | {
|
| | | "codeId": "G13ID",
|
| | | "addressIndex": "230",
|
| | | "addressLenght": "2"
|
| | | }
|
| | | ]
|
| | | } |