ZengTao
2024-05-06 dae61fa269844f76ccc9edf9eb316ef5c3dd0798
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSettingReview2.java
@@ -1,6 +1,7 @@
package com.example.springboot.component;
import com.example.springboot.entity.device.PlcBitObject;
import com.example.springboot.entity.device.PlcParameterObject;
import java.io.IOException;
@@ -8,16 +9,21 @@
import java.util.Arrays;
import java.util.List;
import static com.example.springboot.component.InitUtil.readAndUpdateBitValues;
import static com.example.springboot.component.InitUtil.readAndUpdateWordValues;
public class PLCAutomaticParameterSettingReview2 extends Thread {
    private static PlcParameterObject plcParameterObject;
    // 用于存储应用程序的配置信息
    private Configuration config;
    private static InitUtil initUtil;
    // 创建一个自定义的 S7 控制器消息处理器对象
    MessageHandler customS7Control = new MessageHandler();
//    public static  PlcParameterObject plcStateObject;
    // 单例实例
    private static PLCAutomaticParameterSettingReview2 instance;
@@ -25,7 +31,7 @@
    // 私有构造函数
    public PLCAutomaticParameterSettingReview2() throws IOException {
        config = new Configuration("config.properties");
        initUtil = new InitUtil();
       // initUtil = new InitUtil();
    }
    // 获取单例实例
@@ -36,16 +42,7 @@
        return instance;
    }
    String jsonFilePath = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
    String jsonFilePath2 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
    String jsonFilePath4 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
    //System.out.println(jsonFilePath4);
    // 调用initword方法
    PlcParameterObject plcParameterObject = initUtil.initword(jsonFilePath);
    PlcParameterObject plcStateObject = initUtil.initword(jsonFilePath4);
    // 调用initbit方法
    PlcBitObject plcBitObject = initUtil.initbit(jsonFilePath2);
    @Override
    public void run() {
@@ -58,6 +55,17 @@
            }
          //  String jsonFilePath = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
           //  String jsonFilePath2 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
             //String jsonFilePath4 = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
            //System.out.println(jsonFilePath4);
            // 调用initword方法
            // plcParameterObject = initUtil.initword(jsonFilePath);
         //    plcStateObject = initUtil.initword(jsonFilePath4);
            // 调用initbit方法
         //   PlcBitObject plcBitObject = initUtil.initbit(jsonFilePath2);
          //  int index3 = plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddressIndex();
           // System.out.println(index3);
           // System.out.println(plcParameterObject.getPlcParameter("A01A02conveyorVelocity(Max)").getAddress(index3));
@@ -67,15 +75,25 @@
//            readAndUpdateWordValues(plcParameterObject);
//            readAndUpdateWordValues(plcStateObject);
                 List<String> addresses = new ArrayList<>();
      addresses.add("conveyorVelocity(AutoFAST)");
      addresses.add("A02ID");
//                 List<String> addresses = new ArrayList<>();
//      addresses.add("conveyorVelocity(AutoFAST)");
//      addresses.add("A02ID");
//            addresses.add("conveyorVelocity(Manual)");
            List<String> addresses = new ArrayList<>();
            addresses.add("conveyorVelocity(AutoFAST)");
            addresses.add("A02ID");
            addresses.add("conveyorVelocity(Manual)");
            List<String> address =  plcParameterObject.getAddressListByCodeId(addresses);
            List<String> address =  PLCAutomaticParameterSettingReview2.plcParameterObject.getAddressListByCodeId(addresses);
            System.out.println(address);
           // List<String> address =  plcParameterObject.getAddressListByCodeId(addresses);
         // System.out.println(address);
           // int index = plcParameterObject.getPlcParameter("A01turnAngle1").getAddressIndex();
           // List<Short> arraylist = S7control.getinstance().ReadWord(plcParameterObject.getPlcParameter("A01turnAngle1").getAddress(index), 8);