Skip to main content

plantpulse-plugin (Industrial Standard Plug-in)

Role​

Industrial standard protocol integration plug-in. It allows external systems / devices to access PlantPulse data through industrial standard interfaces.

ItemValue
Module nameplantpulse-plugin
Installation path/opt/kopens/plantpulse-platform/plantpulse-plugin/
OPC-UA port11004 (TCP), 11005 (TLS)
AAS V2 port8007
AAS V3 port8090

Configuration​

Directory Structure​

plantpulse-plugin/
├── opc-ua/ # OPC-UA 서버
│ ├── bin/start.sh stop.sh log-viewer.sh
│ ├── config/
│ │ ├── server.properties
│ │ └── address-space.xml
│ ├── lib/
│ └── logs/system.log
└── aasx-server/ # AAS (Asset Administration Shell)
├── bin/
├── config/
│ ├── BaSyx-V2.cfg
│ └── BaSyx-V3.cfg
├── lib/
└── logs/

OPC-UA Server (port 11004)​

Exposes PlantPulse tags / asset data to the outside world via the OPC-UA standard.

Key Settings​

# opc-ua/config/server.properties
opcua.server.port=${PP_OPCUA_TCP_PORT}
opcua.server.tls.port=${PP_OPCUA_TLS_PORT}
opcua.server.app.uri=${PP_TLS_OPCUA_APP_URI}
opcua.server.product.name=PlantPulse OPC-UA Server

opcua.security.policy=Basic256Sha256,None
opcua.security.user.token=Username,Anonymous

opcua.user=opcua
opcua.password=설치-시-변경

opcua.cassandra.host=${PP_CASSANDRA_HOST}
opcua.cassandra.keyspace=${PP_KEYSPACE}

Client Connection​

OPC-UA Endpoint URL:

  • opc.tcp://[HOST]:11004 (None)
  • opc.tcp://[HOST]:11005 (Basic256Sha256, TLS)

Verified OPC-UA clients:

  • UaExpert (Unified Automation)
  • Prosys OPC UA Browser
  • Node-RED node-red-contrib-opcua

Standard Health Check​

The built-in Browse UI HTTP server provides GET /api/health (port is configured by opc.ua.browser.ui.port, default 12780):

curl -fsS http://127.0.0.1:12780/api/health
# → {"status":"UP","service":"plantpulse-plugin-opcua-server","ts":...}

AAS Server (Asset Administration Shell)​

Digital twin interface conforming to ISO 23252 / IEC 63278. Exposes asset data as standardized shells in Industrie 4.0.

VersionPortStandard
V2 (BaSyx)8007Plattform Industrie 4.0 V2
V3 (BaSyx)8090IEC 63278 V3

API Endpoints​

# V2
curl http://[HOST]:8007/registry/api/v1/registry

# V3
curl http://[HOST]:8090/api/v3.0/shells

# V3 표준 헬스체크 (익명, 순수 liveness)
curl http://[HOST]:8090/api/health
# → {"status":"UP","service":"plantpulse-plugin-aasx-server","ts":...}

Operational Commands​

OPC-UA and AAS each run as self-contained containers (plantpulse-plugin-opcua · plantpulse-plugin-aasx). Manage the containers directly.

pd status # 포트 표 — 전부 RUNNING 이어야 한다
docker restart plantpulse-plugin-opcua # OPC-UA 만 재시작
docker restart plantpulse-plugin-aasx # AAS 만 재시작
docker logs --tail 50 plantpulse-plugin-opcua
The former restart-plugin.sh · restart-opcua-server.sh · restart-aasx-server.sh no longer exist

These were removed when the plug-in became an independent container rather than a module within the data lake. The only thing left in plantpulse-datalake-cli/bin/ is pd.

Common Issues​

SymptomCauseRemedy
OPC-UA client connection failureFirewall / certificateCheck port 11004 + OPC-UA app URI issued by pd_ssl_prepare → Security Settings
OPC-UA "Bad Certificate"Self-signed certificate not trustedIn the client, go to rejected/ → trusted/
AAS data not reflectedMetadata cacheRestart or renew the AAS Registry