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.