package com.mes.common; import com.mes.device.PlcParameterObject; import com.mes.tools.InitUtil; import org.springframework.context.annotation.Configuration; import java.io.IOException; import java.util.ArrayList; import java.util.List; import static com.mes.tools.InitUtil.readAndUpdateWordValues; public class PLCAutoMes extends Thread { // 用于存储应用程序的配置信息 private Configuration config; private static InitUtil initUtil; // 单例实例 private static PLCAutoMes instance; private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath(); private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath(); private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath(); // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class // .getResource("/JsonFile/PlcParameter.json").getPath(); // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json") // .getPath(); // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json") // .getPath(); private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath(); // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath(); // 调用initword方法 // // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm); public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes); public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead); public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe); // 私有构造函数 public PLCAutoMes() throws IOException { initUtil = new InitUtil(); } // 获取单例实例 public static synchronized PLCAutoMes getInstance() throws IOException { if (instance == null) { instance = new PLCAutoMes(); } return instance; } @Override public void run() { while (this != null) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } // System.out.println(jsonFilePath); // readAndUpdateWordValues(PlcReadObject); readAndUpdateWordValues(PlcMesObject); // readAndUpdateWordValues(PlcframeObject); // readAndUpdateWordValues(PlcframeObject); // readAndUpdateWordValues(plcStateObject); // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex(); // System.out.println(index); // PlcMesObject.getPlcParameter("AddStart").getAddress(index); // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index)); List addresses = new ArrayList<>(); addresses.add("FeedID"); addresses.add("AddStart"); // System.out.println(addresses); // System.out.println(PlcMesObject.getPlcParameterValues(addresses)); List addresses2 = new ArrayList<>(); addresses2.add("FeedID"); addresses2.add("FeedCarStatus"); // System.out.println(PlcReadObject.getPlcParameterValues(addresses2)); } } }