gt 2 年之前
父节点
当前提交
68684d3f08
共有 1 个文件被更改,包括 18 次插入22 次删除
  1. 18 22
      chuanyi_server/src/main/java/com/judong/chuanyiserver/util/KepOpcServerUtil.java

+ 18 - 22
chuanyi_server/src/main/java/com/judong/chuanyiserver/util/KepOpcServerUtil.java

@@ -166,6 +166,7 @@ public class KepOpcServerUtil {
     public static Result opcReadItemTree(DataSource dataSource) {
         try {
             Server server = KepOpcServerUtil.createServer(dataSource);
+            server.connect();
             if (null == server.getServerState()) {
                 throw new CustomException(ResultEnum.NOT_FOUND.getRespCode(), "连接失败");
             }
@@ -238,30 +239,25 @@ public class KepOpcServerUtil {
         return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
     }
 
-    public static Result opcReadItemListValue(ServerInformation serverInformation, List<ChannelSetting> channelSettingList) {
+    public static Result opcReadItemListValue(Server server, List<com.judong.chuanyiserver.entity.Item> itemList) {
         try {
-            String opcServerDaPoolKey = KepOpcServerUtil.generateOpcPoolKey(serverInformation);
-            if (KepOpcServerUtil.validationKey(opcServerDaPoolKey)) {
-                Server server = KepOpcServerUtil.getServer(opcServerDaPoolKey);
-                if (null == server.getServerState()) {
-                    return Result.no(ResultEnum.NOT_FOUND.getRespCode(), "连接失败");
-                }
-                if (OPCSERVERSTATE.OPC_STATUS_RUNNING == server.getServerState().getServerState()) {
-                    Group group = server.addGroup();
-                    //循环读值需要使用到的
-                    final AccessBase access = new SyncAccess(server, 1000);
-                    //开始读值
-                    access.bind();
-                    //停止读值
-                    access.unbind();
-                    Iterator<ChannelSetting> iterator = channelSettingList.iterator();
-                    while (iterator.hasNext()) {
-                        Item item = group.addItem(iterator.next().getChannelName());
-                        Map<String, Object> value = getVal(item.read(true).getValue());
-                    }
-                    KepOpcServerUtil.returnServer(opcServerDaPoolKey, server);
-                    return Result.ok("");
+            if (null == server.getServerState()) {
+                return Result.no(ResultEnum.NOT_FOUND.getRespCode(), "连接失败");
+            }
+            if (OPCSERVERSTATE.OPC_STATUS_RUNNING == server.getServerState().getServerState()) {
+                Group group = server.addGroup();
+                //循环读值需要使用到的
+                final AccessBase access = new SyncAccess(server, 1000);
+                //开始读值
+                access.bind();
+                //停止读值
+                access.unbind();
+                Iterator<com.judong.chuanyiserver.entity.Item> iterator = itemList.iterator();
+                while (iterator.hasNext()) {
+                    Item item = group.addItem(iterator.next().getItemName());
+                    Map<String, Object> value = getVal(item.read(true).getValue());
                 }
+                return Result.ok("");
             }
         } catch (Exception e) {
             return Result.no(ResultEnum.REQUEST_TIME_OUT.getRespCode(), e.getMessage());