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.
| Item | Value |
|---|---|
| Module name | plantpulse-plugin |
| Installation path | /opt/kopens/plantpulse-platform/plantpulse-plugin/ |
| OPC-UA port | 11004 (TCP), 11005 (TLS) |
| AAS V2 port | 8007 |
| AAS V3 port | 8090 |
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.
| Version | Port | Standard |
|---|---|---|
| V2 (BaSyx) | 8007 | Plattform Industrie 4.0 V2 |
| V3 (BaSyx) | 8090 | IEC 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
restart-plugin.sh · restart-opcua-server.sh · restart-aasx-server.sh no longer existThese 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
| Symptom | Cause | Remedy |
|---|---|---|
| OPC-UA client connection failure | Firewall / certificate | Check port 11004 + OPC-UA app URI issued by pd_ssl_prepare → Security Settings |
| OPC-UA "Bad Certificate" | Self-signed certificate not trusted | In the client, go to rejected/ → trusted/ |
| AAS data not reflected | Metadata cache | Restart or renew the AAS Registry |