yantian yue
2023-10-24 47eb81eebc9a87af5f64dd765dc1a1267317d9a8
OPCUA更新
已修改6个文件
46 ■■■■ 文件已修改
guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/cert/MethodName.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientRunner.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/resources/opcua.properties 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/opcuaConf/opcuaConf.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/opcuaConf/opcuaConf.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/cert/MethodName.java
@@ -1,5 +1,7 @@
package cn.stylefeng.guns.opcua.cert;
import cn.stylefeng.guns.opcua.client.ClientHandler;
import cn.stylefeng.guns.opcua.entity.NodeEntity;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@@ -8,7 +10,15 @@
        log.info("str={},响应方法:{}", name,"A");
    }
    public void b(String name){
        log.info("str={},响应方法:{}", name,"B");
        try {
            NodeEntity node = NodeEntity.builder().index(2).identifier("my.device.x2")
                    .value("99").type("int").build();
            ClientHandler clientHandler=new ClientHandler();
            String out=clientHandler.write(node);
            log.info(out);
        } catch (Exception e) {
             e.printStackTrace();
        }
    }
    public void c(String name){
        log.info("str={},响应方法:{}", name,"C");
guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java
@@ -42,7 +42,7 @@
public class ClientHandler {
    // 客户端实例
    private OpcUaClient client = null;
    public static OpcUaClient client = null;
    public List<OpcuaConfResult> b = null;
@@ -224,6 +224,9 @@
        case "boolean":
            value = new Variant(Boolean.parseBoolean(node.getValue().toString()));
            break;
        case "long":
            value = new Variant(Long.parseLong(node.getValue().toString()));
            break;
        }
        DataValue dataValue = new DataValue(value, null, null);
guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientRunner.java
@@ -116,7 +116,7 @@
                // opc ua自定义的名称
                .setApplicationName(LocalizedText.english("plc"))
                // 地址
                .setApplicationUri("opc.tcp://127.0.0.1:49320")
                .setApplicationUri(properties.getEndpointUrl())
                .setCertificate(loader.getClientCertificate()).setKeyPair(loader.getClientKeyPair())
                // 安全策略等配置
                //.setEndpoint(endpoint).setIdentityProvider(new UsernameProvider("OPCUA", "yyt@8888888888"))
guns-vip-main/src/main/resources/opcua.properties
@@ -1,8 +1,9 @@
#opcua?????
#opcua server
opcua.server.endpoint.url=opc.tcp://127.0.0.1:49320
opcua.server.idp.username=administrator
opcua.server.idp.password=yyt@8888888888
#opcua?????
#opcua client
opcua.client.app.name=plc
opcua.client.app.uri=urn:Yyt_PC:UnifiedAutomation:UaExpert
opcua.client.cert.path=C:/Users/30672/Desktop
guns-vip-main/src/main/webapp/assets/modular/bs/opcuaConf/opcuaConf.js
@@ -24,7 +24,14 @@
            {field: 'length', sort: true, title: '长度'},
            {field: 'sysTypes', sort: true, title: '类型'},
            {field: 'functionality', sort: true, title: '功能说明'},
            {field: 'subscribe', sort: true, title: '是否订阅'},
            {field: 'subscribe', align: "center", title: '是否订阅', templet: function (d) {
                if (d.subscribe === '1') {
                        return "启用";
                    } else {
                        return "禁用";
                    }
                }
            },
            {field: 'rModule', sort: true, title: '订阅响应模块'},
            {field: 'rFunction', sort: true, title: '订阅响应函数'},
            {field: 'remarks', sort: true, title: '备注'},
@@ -39,13 +46,14 @@
        var queryData = {};
        queryData['node'] = $('#node').val();
        queryData['subscribe'] = $('#subscribe').val();
        table.reload(OpcuaConf.tableId, {
            where: queryData, page: {curr: 1}
        });
    };
    /**
     /**
     * 跳转到添加页面
     */
    OpcuaConf.jumpAddPage = function () {
guns-vip-main/src/main/webapp/pages/modular/bs/opcuaConf/opcuaConf.html
@@ -18,6 +18,16 @@
                                <input id="node" class="layui-input" type="text" placeholder="节点"/>
                            </div>
                            <div class="layui-inline">
                                是否订阅:
                            </div>
                            <div class="layui-inline">
                                <select name="subscribe" id="subscribe">
                                    <option value="">请选择状态</option>
                                    <option value="1">启用</option>
                                    <option value="0">禁用</option>
                                </select>
                            </div>
                            <div class="layui-inline">
                                <button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
                                <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
                                <button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>