Giter Club home page Giter Club logo

vogler75 / automation-gateway Goto Github PK

View Code? Open in Web Editor NEW
187.0 21.0 29.0 20 MB

A OPC UA gateway which gives you access to your OPC UA values via MQTT or GraphQL (HTTP). If you have an OPC UA server in your PLC, or a SCADA system with an OPC UA server, you can query data from there via MQTT and GraphQL (HTTP). In addition, the gateway can also log value changes from OPC UA nodes in an InfluxDB, IoTDB, Kafka, and others.

License: GNU General Public License v3.0

Kotlin 92.66% Java 4.06% Shell 1.01% Dockerfile 0.06% Batchfile 2.22%
graphql opc-ua opcua mqtt plc4x gateway java cratedb influxdb iotdb

automation-gateway's People

Contributors

vogler75 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

automation-gateway's Issues

HELP: Reading Kepware OPC-UA Server

Hi,

This 'issue' is mainly for asking some help about how to read a topic from Kepware OPC-UA Server. I created a very simple config.yaml file:

Servers:
  Mqtt:
    - Id: Mqtt
      Port: 1883
      Host: 0.0.0.0

  OpcUa:
    - Port: 4000
      Path: server
      Topics:
        - Topic: opc/my_opc_id/Root/Objects/Machine1/PLC/#

Drivers:
  OpcUa:
    - Id: my_opc_id
      EndpointUrl: "opc.tcp://192.168.10.11:49320/Kepware.KEPServerEX.V6"
      UpdateEndpointUrl: true
      SecurityPolicy: None

Unfortunately, I cannot see anything using UAExpert Client. But, with UAExpert Client, I double checked that I have tags in path:

Root
  |- Objects
      |- Machine1
          |- PLC
              |- Type (INT16)
              |- Temp (FLOAT)

Moreover, regarding container logs, I do not have any error. The OpcUaClient driver is connected to Kepware Server, I am able to connect to Frankestein OPC-UA server or MQTT server.

Am I missing something?

Thank you.

Charly

Logger to JDBC writes wildcard address into the table.

Logger to JDBC currently writes the wildcard address opc/test/path/Objects/Test/Test00003/+ as NodeId in the table, it should be the resolved name/address or at least additionally the resolved address to identify the tag.

MQTT subscribe response is done with the origin topic-name which may includes wildcards.

If you use wildcards in MQTT subscribe (OPC UA browse path and wildcards, for example: opc/test/path/Objects/Test/Test00003/+) the result for the resolved tags is delivered with the origin topic. It is not published wit the resolved topic/tag name. So you have to use the JSON format to find out which tag the value belongs to. Is this correct from the MQTT specification point of view?

Blocking vert.x Eventloop when OPC UA server does not response...

When I put my host into sleep mode (where the OPC UA server runs on), then following errors are thrown during a write value. Potential solution: writing should be done in a dedicated thread, so that the vert.x eventloop is not blocked.

[2021-10-20 20:03:48][WARNING][io.vertx.core.impl.BlockedThre] Thread Thread[vert.x-eventloop-thread-3,5,main] has been blocked for 20438 ms, time limit is 2000 ms
[2021-10-20 20:03:49][WARNING][unified ] Write value threw exception [UaException: status=Bad_Timeout, message=io.netty.channel.ConnectTimeoutException: connection timed out: /192.168.1.190:4890]
[2021-10-20 20:03:49][WARNING][unified ] Converting value to variant exception [NodeId{ns=1, id=2.336.1.0.0.0}] [6] [io.netty.channel.ConnectTimeoutException: connection timed out: /192.168.1.190:4890]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.