OPC数据采集DCOM配置-问题解决

KEPServerEX 配置 OPC DA 通信
https://www.drsanwujiang.com/kepserverex-configure-opc-da-communication/#toc-head-1

DCOM配置参考,OPC Server端配置、OPC DA客户端浏览远程OPC Server
https://blog.csdn.net/qq_28768521/article/details/125782898

OpcEnum交互式用户不可选解决办法

https://blog.csdn.net/xiaochenXIHUA/article/details/117082617

1
2
3
4
5
6
7
8
9
重新注册OpcEnum.exe
①首先检查OpcEnum.exe存在哪个文件夹;

②如果OpcEnum.exe存在System32目录下,则在CMD中执行以下命令

C:\Windows\System32\OpcEnum.exe /regserver
③如果OpcEnum.exe存在SysWOW64目录下,则在CMD中执行以下命令

C:\Windows\SysWOW64\OpcEnum.exe /regserver

DCOM配置 OpcEnum 位置在此计算机上运行灰色无法选择

https://blog.csdn.net/weixin_45134977/article/details/126245825

1
2
3
4
5
6
7
问题描述:
在进行OPCDA消息抓包测试时,需要在俩台主机配置DCOM,配置过程发现服务器(Win10 专业版)的OpcEnum组件属性位置配置种在此计算机上运行应用选项无法选择。

解决办法:
Win+R 以管理员运行命令提示行,执行命令
mmc comexp.msc /32
亲测对本人所遇问题有效
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
您好!
我们了解到您关于windows 10DCOM如何配置的问题。
您可以按照以下步骤尝试下:

1.安装OPC运行库
KEPServer集成了OPC运行库,所以不需要单独安装
OPC Core Components Redistributable.msi 链接: https://pan.baidu.com/s/1gU7_2e1Ye_qW1saObYV6xQ 密码: 9evk

2.创建用户并赋予访问权限 :计算机管理
创建用户:
OPCUser
123456
添加到DCOM组

3.防火墙关于 DCOM 和 OPC 的规则 :高级安全 Windows Defender 防火墙

开放 DCOM 访问 :DCOM(wmi)启用
135端口:只有一个计算机不需要设置
创建 OPC 程序规则 :允许程序 OPCEnum
位置:"C:\Windows\SysWOW64\OpcEnum.exe"
添加 OPC 服务器程序的规则:允许程序 KEPServer的server_runtime
位置:"C:\Program Files (x 86) \Kepware\KEPServerEX 6\server_runtime.exe"


4.配置 DCOM 安全:组件服务
配置 COM 的安全设置:我的电脑--COM属性--安全--访问、激活 配置
OPCENUM 的安全设置 :OpcEnum的安全选项
配置 OPC 服务器的安全设置 :KEPServer的安全选项

5.配置本地安全策略 :
本地安全策略 本地策略--网络访问--匿名 :启用

希望以上的信息可以帮助到您

DCOM access, so as to avoid such exceptions. [0x00000005

Caused by: org.jinterop.dcom.common.JIException: Access is denied, please check whether the [domain-username-password]
are correct. Also, if not already done please check the GETTING STARTED and FAQ sections in readme.htm. They provide
information on how to correctly configure the Windows machine for DCOM access, so as to avoid such
exceptions. [0x00000005] opc da远程连接提示错误,如何解决

配置 Windows 系统权限

  • 打开注册表编辑器(regedit),导航到:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 创建或修改一个 32 位的 DWORD 值,名称为 LocalAccountTokenFilterPolicy,将其值设置为 1
  • 打开“本地安全策略”(secpol.msc),在“本地策略 -> 安全选项”中找到:
    • “网络访问:本地账户的共享和安全模型”,并将其属性设置为“经典:对本地账户进行身份验证,不改变其本来身份”
  1. 查DCOM权限:

    • 打开dcomcnfg.exe(组件服务)。

    • 导航到“组件服务”->“计算机”->“我的电脑”->“DCOM 配置”。

    • 找到您尝试访问的特定 DCOM 应用程序或对象。

    • 右键单击并选择“属性”。

    • 转到“安全”选项卡。

    • 检查“启动和激活权限”以及“访问权限”设置。

      确保尝试连接的用户或组具有适当的权限(启动和激活权限通常为“本地启动”和“本地激活”,访问权限通常为“本地访问”)。

    • 如果需要,添加用户或组并授予必要的权限。

  2. 4. 检查注册表权限:

    • 打开regedit.exe

    • 导航至HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLE

    • 右键单击“OLE”键并选择“权限”。

    • 验证尝试连接的用户或组的权限。

      如有必要,授予“完全控制”权限。

  3. 5. 检查LocalAccountTokenFilterPolicy

    • 导航至HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    • 检查名为的 DWORD 值LocalAccountTokenFilterPolicy
    • 如果存在,请确保将其值设置为1。如果不存在,请创建它并将其值设置为1。此设置对于启用对目标计算机上某些资源的远程访问非常重要。
1
2
3
4
5
6
7
8
9
您无权访问本地 Windows 注册表,因此客户端无法将服务器的 ProgID 转换为 CLSID。请确保您以足够的权限(例如,以管理员用户身份)运行该应用程序。

或者,您可以只使用服务器的 CLSID 配置连接,这样就不需要注册表了。

OPC 客户端实际上应该使用服务器计算机上运行的 OpcEnum 服务来执行 ProgID 到 CLSID 的转换。可能是该服务不可用,或者 Utgard 只尝试访问注册表(我自己也不了解 Utgard)。如果您没有在客户端计算机上安装服务器,那么基于注册表的 ProgID 到 CLSID 转换无论如何都会失败,因为本地 Windows 注册表中没有该信息。最糟糕的情况是 Utgard 会尝试打开远程 Windows 注册表,但这种情况很少成功(或者您需要确保已单独启用该功能)。

请注意,由于我不了解 Utgard,我只是猜测它正在尝试哪些策略。然而,仅使用 CLSID 会绕过整个转换部分,这就是你的问题所在。

E:考虑到您的其他客户端可以毫无问题地连接,我怀疑 Utgard 根本没有尝试使用 OpcEnum。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
OPC 客户端实际上应该使用服务器计算机上运行的 OpcEnum 服务来执行 ProgID 到 CLSID 的转换。
可能是该服务不可用,或者 Utgard 只尝试访问注册表(我自己也不了解 Utgard)。
如果您没有在客户端计算机上安装服务器,那么基于注册表的 ProgID 到 CLSID 转换无论如何都会失败,因为本地 Windows 注册表中没有该信息。
最糟糕的情况是 Utgard 会尝试打开远程 Windows 注册表,但这种情况很少成功(或者您需要确保已单独启用该功能)。

请注意,由于我不了解 Utgard,我只是猜测它正在尝试哪些策略。然而,仅使用 CLSID 会绕过整个转换部分,这就是你的问题所在。

E:考虑到您的其他客户端可以毫无问题地连接,我怀疑 Utgard 根本没有尝试使用 OpcEnum。

我会把你的答案设为已采纳答案,因为我听说这确实是一个常见问题,而且它能帮助很多人。
不过,我按照 claptrap 的建议,再次修改了 DCOM 设置,解决了这个问题。
这次我将“位置”设置为“从以下计算机‘myComputerName’运行应用程序”,
而不是“从此计算机运行应用程序”。
不知道为什么,但现在一切正常。


我也像你说的那样使用了 CLSID!但这本身并没有消除异常。我还必须按照我之前的评论中解释的那样更改 DCOM。

我遇到了同样的错误,并通过将以下补丁应用到注册表解决了该问题:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
创建或修改 32 位 DWORD:LocalAccountTokenFilterPolicy
将值设置为:1

(Chrome开机自启动)Ubuntu 20.04 上安装 Google Chrome 网络浏览器

Chrome开机自启动

使用 systemd 创建服务

创建一个新的服务文件,输入命令 sudo vim /etc/systemd/system/google-chrome.service

在文件中输入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=Google Chrome Service
After=network.target

[Service]
ExecStart=/usr/bin/chromium-browser --password-store=basic --disable-background-networking --kiosk --noerrdialogs --start-fullscreen "http://192.168.0.190/hmi/dsfq"
User=root
Group=root
Environment="DISPLAY=:0"
LimitNOFILE=65536
Restart=always
RestartSec=5s

[Install]
WantedBy=graphical.target # 只有当系统准备好进入图形界面时,该服务才会被启动

保存并退出编辑器,终端输入以下命令启用并启动服务:

1
2
3
4
5
sudo systemctl daemon-reload
sudo systemctl enable google-chrome.service
sudo systemctl restart google-chrome.service

sudo systemctl status google-chrome.service

创建桌面启动文件

这种方法适合需要自定义启动参数的场景:

  1. 打开终端,运行以下命令创建启动文件:
1
2
3
mkdir -p ~/.config/autostart
cd ~/.config/autostart
vim chromium.desktop
  1. 在文件中输入以下内容:
1
2
3
[Desktop Entry]
Type=Application
Exec=/usr/bin/chromium-browser --start-maximized --disable-infobars --password-store=basic --disable-background-networking --kiosk "http://192.168.0.190/hmi/dsfq"
  • --start-maximized:启动时最大化窗口。
  • --password-store=basic --disable-background-networking --kiosk:全屏模式。
  • "http://www.example.com":替换为你希望打开的网页地址。

Ubuntu AMD的CPU安装

执行下面的步骤,在你的 Ubuntu 系统上安装 Chrome 浏览器:

1.1 下载 Google Chrome

使用Ctrl+Alt+T快捷键或者点击终端图标,打开你的终端。

使用wget来下载 Google Chrome .deb 软件包:

1
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

1.2 安装 Google Chrome

在 Ubuntu 系统上安装软件包需要管理员权限。以 sudo 用户身份在你的系统上运行下面的命令来安装 Chrome .deb软件包:

1
sudo apt install ./google-chrome-stable_current_amd64.deb

在被提示时,输入你的密码,安装将会开始。

此时,你已经在你的 Ubuntu 系统上安装好了 Chrome。

Ubuntu ARM的CPU安装

  • chrome安装(root安装)

    1
    sudo snap install chromium
  • 浏览器字体安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sudo apt update && sudo apt upgrade -y
    sudo apt install language-pack-zh-hans -y

    sudo apt update && sudo apt upgrade -y

    sudo apt install language-pack-zh-hans -y

    sudo apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-noto-cjk -y
    sudo apt install fonts-wqy-zenhei fonts-wqy-microhei -y -y
    sudo apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-noto-cjk fonts-arphic-ukai fonts-arphic-uming fonts-droid-fallback -y

    sudo locale-gen zh_CN.UTF-8 # 生成中文 locale
    sudo update-locale LANG=zh_CN.UTF-8 # 设置系统默认语言

    export LANG=zh_CN.UTF-8
    sudo apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-noto-cjk -y

环境变量设置

Ubuntu默认的中文字符编码为zh_CN.UTF-8

输入命令:sudo vim /etcenvironment
修改内容如下:

1
2
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="zh_CN.UTF-8"

设置环境变量

1
2
3
sudo locale-gen zh_CN.UTF-8   # 生成中文 locale
sudo update-locale LANG=zh_CN.UTF-8 # 设置系统默认语言
export LANG=zh_CN.UTF-8

Ubuntu系统配置中文显示

win11专业版激活密钥

https://zhuanlan.zhihu.com/p/637930518

1
2
3
4
5
6
7
8
9
BCQNW-3VWYB-4V7QD-M6R2B-7MH26

第一个可以

3JMNH-HBQ2K-C7VYP-4KGFR-DJ3GY

J8WVF-9X3GM-4WVYC-VDHQG-42CXT

7Y64F-88DCY-Y6WTC-H33D2-64QHF
1
还是无法激活成功的看过来:打开终端管理员,输入irm massgrave.dev/get | iex,出现的窗口选7 Extras,弹出的窗口中选1 change windows edition,再弹出窗口选1 Professional,这时候会重启电脑。重启后,设置中显示没有激活,输入key,还是失败,不管它。再次打开终端管理员,输入irm massgrave.dev/get | iex,然后选择1 permanent,就激活成功啦。
1
2
3
4
5
6
7
8
9
密匙:J8WVF-9X3GM-4WVYC-VDHQG-42CXT
(1)到系统输入密匙

(2)win+R, 输入powershell, 回车, 再在弹出的窗口内输:
irm massgrave.dev/get.ps1 | iex
(3)弹出窗口选[1]
(4)回到系统查看会显示”激活成功“

先脱机在输入密钥,更新完成后联网,在按照步骤1-4操作。

Git Tag打标签功能

标签tag(Git Tag)

当开发到一定阶段时,给程序打标签是非常棒的功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
git tag -a v0.1 -m 'my version 1.4' # 新建带注释标签   
git push origin --tags # 一次性推送所有分支
git push origin v1.5 # 推送单个tag到orgin源上
git tag -v v1.4.2.1 # 验证标签,验证已经签署的标签
git show v1.5 # 看到对应的 GPG 签

git tag # 列出现有标签
git tag v0gi.1 # 新建标签
git checkout tagname # 切换到标签
git tag -d v0.1 # 删除标签
git push origin :refs/tags/v0.1 # 删除远程标签
git pull --all # 获取远程所有内容包括tag
git --git-dir='<绝对地址>/.git' describe --tags HEAD # 查看本地版本信息

MongoDB Auth创建账号和权限

MongoDB Auth创建账号和权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use admin

db.createUser({
user: 'db_reader',
pwd: 'A123456',
mechanisms: ["SCRAM-SHA-1"],
roles: [{
role: "read",
db: "my-app"
}]
});

db.createUser({
user: "db_manager",
pwd: "A456789",
mechanisms: ["SCRAM-SHA-1"],
roles: ['readWriteAnyDatabase', 'dbAdminAnyDatabase', {
role: "dbAdmin",
db: 'my-app'
}, {
role: "readWrite",
db: 'my-app'
}, {
role: "dbAdmin",
db: 'my-app'
}]
});

db.createUser({
user: 'db_root',
pwd: 'A10111213',
mechanisms: ["SCRAM-SHA-1"],
roles: [{
role: "dbAdminAnyDatabase",
db: "admin"
}, {
role: "root",
db: "admin"
}]
});

KEPServerEX IotGateWay配置Modbus采集并发送MQTTClient消息

Iot GateWay Agent配置注意事项

Iot GateWay Agent依赖JRE1.8环境,需要配置JRE环境后,IOT GateWay配置的Agent才会生效和有效!
Iot GateWay Agent依赖JRE1.8环境,需要配置JRE环境后,IOT GateWay配置的Agent才会生效和有效!
Iot GateWay Agent依赖JRE1.8环境,需要配置JRE环境后,IOT GateWay配置的Agent才会生效和有效!

日志信息 KEPServerEX\IoT Gateway IoT Gateway using JRE at [C:\Program Files (x86)\Java\jre-1.8].
日志信息 KEPServerEX\IoT Gateway IoT Gateway using JRE at [C:\Program Files (x86)\Java\jre-1.8].
日志信息 KEPServerEX\IoT Gateway IoT Gateway using JRE at [C:\Program Files (x86)\Java\jre-1.8].

Iot GateWay依赖JRE加载日志(需jie加载成功)

1
2
3
4
5
6
7
8
9
日期       时间       级别     源                        事件
2025/5/26 18:18:24 信息 KEPServerEX\Runtime IoT Gateway V6.5.829.0
2025/5/26 18:18:25 信息 KEPServerEX\IoT Gateway IoT Gateway service starting.
2025/5/26 18:18:25 信息 KEPServerEX\IoT Gateway IoT Gateway using JRE at [C:\Program Files (x86)\Java\jre-1.8].
2025/5/26 18:18:26 信息 KEPServerEX\IoT Gateway Running with Java 1.8.0_401 [Oracle Corporation Java HotSpot(TM) Client VM version 25.401-b10].
2025/5/26 18:18:41 错误 KEPServerEX\Runtime MQTT agent 'Agent-bak' failed to connect - reason: 'connect timed out'.
2025/5/26 18:21:41 安全性 KEPServerEX\Runtime 配置会话由 Administrator as Default User (R/W) 启动。
2025/5/26 19:36:50 信息 KEPServerEX\Runtime MQTT agent 'Agent-bak' is connected to broker 'tcp://192.168.0.203:1883'
2025/5/26 19:51:48 错误 KEPServerEX\Runtime MQTT agent 'Agent-bak' disconnected - reason 'Software caused connection abort: recv failed'

如何配置Iot GateWay

  • 点击图标【KEPServerEX 6 Administration】 或者【KEPServerEX 6 Configuration】
  • 在右下角,选择小图标,右键【设置(E)……】
  • 选择标签【Iot Gateway】
  • 配置Java Use the JRE at: 【C:\Program Files (x86)\Java\jre-1.8\jre】配置到jre目录,不要到bin目录
  • 选择【应用】或者【确认】选择即可

示例

配置选项

配置JRE环境

配置Modbus设备采集

确认MQTT 上发是否有效

KepEX6 V6.8时间限制破解

【破解说明】时间限制破解版

1
2
3
4
1、把 KEPServerEX V6.x Crack.exe 放在 C:\Program Files\Kepware\KEPServerEX *\ 文件夹中
2、运行 KEPServerEX V6.x Crack.exe 点击 CRACK 按钮
3、删除 KEPServerEX V6.x Crack.exe
4、重启软件即可
1
2
3
4
1:把 KEPServerEX V5.xV6.x Crack.exe 放在 C:\Program Files (x86)\Kepware\KEPServerEX 6
2:运行 KEPServerEX V5.xV6.x Crack.exe 点击 CRACK 按钮
3:删除 KEPServerEX V5.xV6.x Crack.exe
4:重启.

示例