严智鑫
2024-12-03 def1eb8623e1444164ae4bce9179d011a89b8c5e
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/PlcAgreement.java
@@ -24,7 +24,7 @@
    /**
     * 协议参数
     */
    private List<String> parameterKeys=null;
    private List<String> parameterKeys=new ArrayList<>();
    private Map<String,PlcParameter> parameters=null;
    /**
     * 协议路径
@@ -40,11 +40,12 @@
    public int plcAddressLength=0;
    //类似序列号(4)+协议标志(4)+长度(4)+从站地址(2)+功能代码(2)+起始地址(4)+读取数量(4) "000100000006010300000032"
    public String requestHead=null;
    PlcAgreement(){
        jsonFilePath = System.getProperty("user.dir") + "../../JsonFile/PlcCacheGlass.json";
    private PlcAgreement(){}
    PlcAgreement(String fileName){
        //jsonFilePath = "D:/mes/JsonFile/"+fileName+".json";
        jsonFilePath = System.getProperty("user.dir") + "/JsonFile/"+fileName+".json";
        boolean initSuccess=initword();
        log.info("初始化PlcCacheGlass:"+initSuccess);
        //log.info("初始化PlcCacheGlass:"+initSuccess);
    }
    //初始化word
    public boolean initword() {
@@ -63,20 +64,20 @@
            fileReader.close();
            JSONObject jsonFile = new JSONObject(content.toString());
            //log.info("读取内容:{}",jsonFile);
            JSONArray jsonArray = jsonFile.getJSONArray("parameterInfo");
            this.plcAddressBegin=jsonFile.getStr("plcAddressBegin");//设置起始位地址
            this.plcAddressLength=Integer.valueOf(jsonFile.getStr("plcAddressLength"));//设置地址长度
            this.requestHead=jsonFile.getStr("requestHead");//设置请求头部
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject parameterObj = jsonArray.getJSONObject(i);
                String code = parameterObj.getStr("code");
                String code = parameterObj.getStr("codeId");
                PlcParameter plcParameter = new PlcParameter(
                        code,
                        Integer.valueOf(parameterObj.getStr("addressIndex")),
                        Integer.valueOf(parameterObj.getStr("addressLength")),""); //参数实例
                        Integer.valueOf(parameterObj.getStr("addressLength")),
                        parameterObj.getStr("type")); //参数实例
                parameterKeys.add(code);
                parameters.put(code,plcParameter);
            }