Code Monkey home page Code Monkey logo

iot-edge-opc-publisher-nodeconfiguration's Introduction

page_type description languages products urlFragment
sample
Industrial IoT - OPC Publisher node configuration.
csharp
azure
azure-iot-hub
azure-iot-opc-publisher-node-configuration

OPC Publisher node configuration

This .NET Core application allows to configure OPC Publisher using IoTHub direct method calls.

Features

The application is/can:

  • Read the current node configuration from the OPC Publisher device/module specified by id/iothubdevicename and im/iothubmodule name.
  • Save the current node configuration in a backup file.
  • Purge the current node configuration of OPC Publisher.
  • Send the specified new node configuration to OPC Publisher.

Getting Started

Prerequisites

The application required .NET Core and OPC Publisher deployed either standalone or as IoT Edge module. The node configuration functionality only works with OPC Publisher versions higher or equal than 2.2.0.

Installation

You need to compile the solution with Visual Studio and then run it.

Quickstart

The application supports several command line options to control its functionality.

Here is the usage output:

OPC Publisher node configuration
Current directory is: <current directory>
Log file is: <hstname>-publishernodeconfig.log
Log level is: info

Usage: dotnet publishernodeconfig.dll [<options>]

OPC Publisher configuration tool.

Options:
  -h, --help                 show this message and exit
      --ic, --iotHubConnectionString=VALUE
                             IoTHub owner or service connectionstring
      --id, --iothubdevicename=VALUE
                             IoTHub device name of the OPC Publisher
      --im, --iothubmodulename=VALUE
                             IoT Edge module name of the OPC Publisher which
                               runs in the IoT Edge device specified by id/
                               iothubdevicename
      --pc, --purgeconfig    remove all configured nodes before pushing new ones
      --bf, --backupfile=VALUE
                             the filename to store the existing configuration
                               of OPC Publisher
                               Default: './<hostname>-publishernodeconfig.bak'
      --nc, --nodeconfigfile=VALUE
                             the filename of the node configuration to be set
      --lf, --logfile=VALUE  the filename of the logfile to use
                               Default: './johanngnb-publishernodeconfig.log'
      --ll, --loglevel=VALUE the loglevel to use (allowed: fatal, error, warn,
                               info, debug, verbose).
                               Default: info

iot-edge-opc-publisher-nodeconfiguration's People

Contributors

dominicbetts avatar hansgschossmann avatar microsoftopensource avatar msftgits avatar supernova-eng avatar

Stargazers

 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

iot-edge-opc-publisher-nodeconfiguration's Issues

no longer works after version 2.7.x

Please provide us with the following information:

This issue is for a: (mark with an x)

- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful


Thanks! We'll be in touch soon.

Unpublish Nodes?

This issue is for a: (mark with an x)

- [ ] bug report -> please search issues before submitting
- [X] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Expected/desired behavior

Is it possible to unpublish nodes through this? I know the tool as is can't do this but i'm curious if it's worth the effort or if it's simply not possible because of how this all works.

OS and Version?

Windows 10

Versions

1.0.1

Mention any other details that might be useful

What I do exactly: A newly added OPC UA server explores the network and looks for OPC publisher. When it is found, the server sends a publishednodes.json to the publisher machine. Then I use this tool to update the publisher. Problem is, if the remote OPC UA server shuts down, publisher runs in an exception. But I want the publisher to resume connection when the remote OPC UA server returns. My idea is to have some keep alive signal and to unpublish all nodes of this specific OPC UA server if keep alive doesn't pong and to republish all nodes when the server returns. Everything works, except for the unpublish part. Keep in mind that I can't use purge as there will be multiple OPC UA servers.

Lag while changing nodes

This issue is for a: (mark with an x)

- [x] bug report
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Running OPC publisher natively on Windows 10, connected to IoT-Hub.

OPC sessions (configured/connected): 5/5
OPC subscriptions (configured/connected): 15/15
OPC monitored items (configured/monitored/to remove): 123/123/0

Try to change the published nodes. Sometimes it just freezes at:

Establishing connection to IoT Hub...

Usually it cancels out after five minutes, saying "OPC Publisher is not responding. Either the used version is too old or it is not running.". Sometimes it's just frozen for about 2.5 minutes and starts working again.

Most of the time this occures while one of the endpoints is not connected to the network. but sometimes it occures during regular operation.

There is no additional log information, even while using loglevel verbose.

Any log messages given by the failure

OPC Publisher is not responding. Either the used version is too old or it is not running.

Expected/desired behavior

The tool shouldn't lag like this.

OS and Version?

Windows 10

Versions

OPC Publisher 2.3.3
configuration tool 1.0.1

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.