OPC UA 服务器
OPC UA Server 将 PLC4X 变成一个工业级的 OPC UA 网关。
它会为任意数量的设备建立 PLC4X 连接,并把这些设备所配置的标签以 OPC UA 地址空间的形式发布出去,使任何 OPC UA 客户端都能对其进行读写——无论设备本身使用的是哪种协议。
该服务基于 Eclipse Milo OPC UA 协议栈构建。
它位于 plc4x-extras 代码仓库中。
| 请不要将其与 OPC UA 驱动 混淆,后者用于让 PLC4X 应用程序充当 OPC UA 客户端。 |
|---|
构建该服务
在模块目录下执行:
mvn package这将生成可运行的 fat-jar target/plc4x-opcua-server-1.0.0-uber-jar.jar。
配置文件
config.yml 文件用于对服务器进行配置。以下是需要配置的根级设置。
- version: 该版本仅作为内部检查,用于确认使用的是正确版本的配置文件。
- dir: 这是安全目录的路径。所有配置信息(包括证书)都存储在此目录中。请务必为该目录设置正确的权限以确保其安全性。
- name: 这是 OPC UA 服务器的名称。可以是任意名称,但不应包含空格。
- disableInsecureEndpoint: 用于禁用远程非安全 OPC UA 端点。
- tcpPort: 可用于更改 opc.tcp 端口。
- httpPort: 可用于更改 http.tcp 端口。
- devices: 这是服务器需要通信的 PLC 或设备列表。每个设备应包含 name:、connectionString: 以及一个标签列表 tags:。
对于 devices 中的每个设备,应配置以下设置。
- name: 这是设备的名称。可以是任意名称,只要不包含空格即可。
- connectionString: 可以是任何有效的 PLC4X 连接字符串。
对于 tags 中的每个标签,应配置以下设置:-
- alias: 这是标签的名称,可以是任意名称,但不应包含空格。该名称将作为标签名显示在 OPC UA 服务器树中。请确保其在配置文件中唯一。
- address: 这是与连接类型相匹配的任意有效 PLC4X 地址。
下面是一个配置文件示例。
---
version: "0.8"
dir: {path-to-security-dir}
name: "Plc4xOPCUAServer"
disableInsecureEndpoint: true
devices:
- name: "ModbusDevice"
connectionString: "modbus-tcp://127.0.0.1:502"
tags:
- alias: "TemporaryBOOLARRAY"
address: "000001:BOOL[10]"
- alias: "TemporaryWORD2"
address: "400002:WORD"
- alias: "TemporaryUINT3"
address: "400003:UINT"
- alias: "TemporaryINT4"
address: "400004:INT"
- alias: "TemporaryDINT5"
address: "400005:DINT[4]"
- alias: "TemporaryREAL6"
address: "400006:REAL"
- alias: "TemporaryREAL7"
address: "400007:REAL"
- alias: "TemporaryREAL8"
address: "400008:REAL"
- name: "SimulationDevice"
connectionString: "simulated://127.0.0.1"
tags:
- alias: "Temporary"
address: "RANDOM/Temporary:Integer"
tcpPort: 12687
httpPort: 8445运行
要运行 Java 可执行文件,请执行:-
java -jar plc4x-opcua-server-1.0.0-uber-jar.jar -c {path-to-config-file} -i这将以交互模式(-i)启动 OPC UA 服务器,该开关会让服务器在启动时提示输入用户名和密码。不过,在正常运行时应省略 -i 开关。
如果 {path-to-security-dir}/security/plc4x-opcuaserver.pfx 处没有证书,则会创建一个自签名证书。该证书使用启动时提供的安全密码进行保护。
如果在此处放置其他证书,请确保该证书已设置密码保护,并再次运行服务器并使用 -s / --set-passwords 开关来设置该密码。
java -jar plc4x-opcua-server-1.0.0-uber-jar.jar -c {path-to-config-file} -i -sOPC UA 服务器运行后,你就可以使用连接字符串从你喜爱的 OPC UA 客户端连接到它。
opc.tcp://{ip.address}:12687/plc4x将 {ip.address} 替换为服务器的 IP 地址。
如果要使用加密连接,请务必将 {path-to-security-dir}/security/pki/rejected 中生成的客户端证书移动到受信任目录中。否则,客户端在尝试连接时会收到安全错误。
评论
登录后参与评论
KnowForge