ChimeraTK-ControlSystemAdapter-OPCUAAdapter 04.00.05
Loading...
Searching...
No Matches
node_historizing.h
Go to the documentation of this file.
1/*
2 * This file is part of ChimeraTKs ControlSystem-OPC-UA-Adapter.
3 *
4 * ChimeraTKs ControlSystem-OPC-UA-Adapter is free software: you can
5 * redistribute it and/or modify it under the terms of the Lesser GNU
6 * General Public License as published by the Free Software Foundation,
7 * either version 3 of the License, or (at your option) any later version.
8 *
9 * ChimeraTKs ControlSystem-OPC-UA-Adapter is distributed in the hope
10 * that it will be useful, but WITHOUT ANY WARRANTY; without even the
11 * implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the Lesser GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with Foobar. If not, see https://www.gnu.org/licenses/lgpl.html
16 *
17 * Copyright (c) 2023-2024 Fraunhofer IOSB (Author: Florian Düwel)
18 */
19
20#pragma once
21
22#include "ChimeraTK/ControlSystemAdapter/ControlSystemPVManager.h"
24#include "csa_processvariable.h"
25#include "ua_mapped_class.h"
26#include "xml_file_handler.h"
27
28#include <open62541/plugin/historydata/history_data_backend_memory.h>
29#include <open62541/plugin/historydata/history_data_gathering.h>
30#include <open62541/plugin/historydata/history_data_gathering_default.h>
31#include <open62541/plugin/historydata/history_database_default.h>
32
33#include <vector>
34
35namespace ChimeraTK {
40
45
47 string name;
48 size_t buffer_length{100};
50 size_t interval{1000};
51 };
52
53 UA_HistoryDataGathering add_historizing_nodes(vector<UA_NodeId>& historizing_nodes, vector<string>& historizing_setup,
54 UA_Server* mappedServer, UA_ServerConfig* server_config, vector<AdapterHistorySetup> history,
55 vector<AdapterFolderHistorySetup> historyfolders, vector<AdapterPVHistorySetup> historyvariables);
56
57 void clear_history(UA_HistoryDataGathering gathering, vector<UA_NodeId>& historizing_nodes,
58 vector<string>& historizing_setup, UA_Server* mappedServer, vector<AdapterFolderHistorySetup> historyfolders,
59 vector<AdapterPVHistorySetup> historyvariables, UA_ServerConfig* server_config);
60
73 vector<UA_NodeId>& historizing_nodes, vector<string>& historizing_setup, UA_ServerConfig* server_config);
74
75 void remove_nodes_with_incomplete_historizing_setup(vector<UA_NodeId>& historizing_nodes,
76 vector<string>& historizing_setup, UA_ServerConfig* server_config, vector<AdapterHistorySetup> history);
77} // namespace ChimeraTK
void clear_history(UA_HistoryDataGathering gathering, vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_Server *mappedServer, vector< AdapterFolderHistorySetup > historyfolders, vector< AdapterPVHistorySetup > historyvariables, UA_ServerConfig *server_config)
void check_historizing_nodes(vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_ServerConfig *server_config)
This assumes both lists have the same size.
UA_HistoryDataGathering add_historizing_nodes(vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_Server *mappedServer, UA_ServerConfig *server_config, vector< AdapterHistorySetup > history, vector< AdapterFolderHistorySetup > historyfolders, vector< AdapterPVHistorySetup > historyvariables)
void remove_nodes_with_incomplete_historizing_setup(vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_ServerConfig *server_config, vector< AdapterHistorySetup > history)