严智鑫
2024-05-10 211cd083bc9fc1871779802650dfe0e607d8ca77
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java
@@ -3,6 +3,7 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.json.JSONObject;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.device.PlcParameterObject;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
@@ -43,33 +44,6 @@
    private Map<String, String> mapType = new HashMap<String, String>();
    private Map<String, Object> mapSettings = new HashMap<String, Object>();
    private void initialize() {
//        mapParameter.put("A06_request_word", "DB11.0");   //work
//        mapParameter.put("A05_scanning_ID", "DB11.2");
//        mapParameter.put("MES_confirmation_word", "DB11.40");
//        mapParameter.put("A09_glass_status", "DB11.70");
//        //mapParameter.put("A10_glass_status", "DB11.72");
//        mapParameter.put("A09_prohibit_film_production", "DB11.74");
//        mapParameter.put("A10_prohibit_film_production", "DB11.76");
//        mapSettings.put("territoryPoor", 3);
//        mapType.put("A06_request_word", "Word");
//        mapType.put("A05_scanning_ID", "String");
//        mapType.put("MES_confirmation_word", "Word");
//        mapType.put("A09_glass_status", "Word");
//        //mapType.put("A10_glass_status", "Word");
//        mapType.put("A09_prohibit_film_production", "Word");
//        mapType.put("A10_prohibit_film_production", "Word");
        mapValue.put("A06_request_word","1");//请求字
        mapValue.put("A05_scanning_ID","11111111111");//请求ID
        mapValue.put("MES_confirmation_word","0");//MES发送字
        mapValue.put("A09_glass_status","0");//A09玻璃状态
        mapValue.put("A10_glass_status","0");//A09玻璃状态
        mapValue.put("A09_prohibit_film_production","0");//A9禁止出片
        mapValue.put("A10_prohibit_film_production","0");//A10禁止出片
    }
    private void inTo() {
        List<GlassInfo> glassInfos = glassInfoService.selectId(mapValue.get("A05_scanning_ID"));
        if (glassInfos.size() < 1) {
@@ -106,20 +80,20 @@
    private void outTo(int line) {
        int endcell = 0;
        EdgStorageCageDetails outEdgStorageCageDetails = new EdgStorageCageDetails();
        TaskCache taskCacheA09 = taskCacheService.selectLastOutCacheInfo("");
        TaskCache taskCacheA10 = taskCacheService.selectLastOutCacheInfo("");
        TaskCache taskCacheA09 = taskCacheService.selectLastOutCacheInfo(2001);
        TaskCache taskCacheA10 = taskCacheService.selectLastOutCacheInfo(2002);
        //两线各自要出的玻璃
        EdgStorageCageDetails glassInfo09 = edgStorageCageDetailsService.selectConformGlass(taskCacheA09.getGlassId(), (int) mapSettings.get("territoryPoor"));
        EdgStorageCageDetails glassInfo10 = edgStorageCageDetailsService.selectConformGlass(taskCacheA10.getGlassId(), (int) mapSettings.get("territoryPoor"));
        //决定线路
        if (line == 1) {
            endcell = 9000;
            endcell = 2001;
            outEdgStorageCageDetails = glassInfo09;
        } else if (line == 2) {
            endcell = 1000;
            endcell = 2002;
            outEdgStorageCageDetails = glassInfo10;
        } else if (line == 3) {
            endcell = 9000;//默认走一号线  优化方向可根据  对比两线速度/两线当前任务情况做
            endcell = 2001;//默认走一号线  优化方向可根据  对比两线速度/两线当前任务情况做
            outEdgStorageCageDetails = glassInfo09;
        }
        if (outEdgStorageCageDetails != null && endcell > 0) {
@@ -140,7 +114,6 @@
    @Override
    public void run() {
        boolean start = true;
        initialize();
        log.info("当前参数值:{}", mapValue);
        while (this != null && start) {
            JSONObject jsonObject = new JSONObject();
@@ -153,7 +126,6 @@
                }
                mapValue.put(key, value);
            }
            S7object.getinstance().plccontrol.WriteWord(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word").getAddress(), (short)1);
            try {
                Thread.sleep(1000);