The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

OPCUA::Open62541 - Perl XS wrapper for open62541 OPC UA library

SYNOPSIS

  use OPCUA::Open62541;

  my $server = OPCUA::Open62541::Server->new();

  my $client = OPCUA::Open62541::Client->new();

DESCRIPTION

The open62541 is a library implementing an OPC UA client and server. This module provides access to the C functionality from Perl programs.

EXPORT

:all

Everything of the exports below.

:clientstate
    CLIENTSTATE_DISCONNECTED
    CLIENTSTATE_WAITING_FOR_ACK
    ...
    CLIENTSTATE_SESSION_RENEWED
:limit

Symbol names of minimum and maximum limits for the OPC UA data types.

    TRUE
    FALSE
    SBYTE_MIN
    ...
    UINT64_MAX
:statuscode

Symbolic names for the OPC UA status codes.

    STATUSCODE_GOOD
    STATUSCODE_INFOTYPE_DATAVALUE
    ...
    STATUSCODE_BADMAXCONNECTIONSREACHED
:type

Symbolic names for the OPC UA types.

    TYPES_BOOLEAN
    TYPES_SBYTE
    ...
    TYPES_EVENTNOTIFICATIONLIST

METHODS

Refer to the open62541 documentation for the semantic of classes and methods.

Variant

$variant = OPCUA::Open62541::Variant->new()
$variant->isEmpty()
$variant->isScalar()
$variant->hasScalarType($data_type)
$variant->hasArrayType($data_type)
$variant->setScalar($p, $data_type)

VariableAttributes

$attr = OPCUA::Open62541::VariableAttributes->default()

Server

$server = OPCUA::Open62541::Server->new()
$server = OPCUA::Open62541::Server->newWithConfig($server_config)
$server_config = $server->getConfig()
$status_code = $server->run($server, $running)

$running should be TRUE at statup. When set to FALSE during method invocation, the server stops magically.

$status_code = $server->run_startup($server)
$wait_ms = $server->run_iterate($server, $wait_internal)
$status_code = $server->run_shutdown($server)

ServerConfig

$status_code = $server_config->setDefault()
$status_code = $server_config->setMinimal(port, certificate)
$server_config->clean()
$server_config->setCustomHostname($custom_hostname)

Client

$client = OPCUA::Open62541::Client->new()
$client_config = $client->getConfig()
$status_code = $client->connect($url)
$client_state = $client->getState()
$status_code = $client->disconnect()

ClientConfig

$status_code = $client_config->setDefault()

SEE ALSO

OPC UA library https://open62541.org/

OPC Foundation https://opcfoundation.org/

AUTHORS

Alexander Bluhm <bluhm@genua.de>

CAVEATS

This interface is far from complete.

COPYRIGHT AND LICENSE

Copyright (c) 2020 Alexander Bluhm <bluhm@genua.de>

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.