PLCnext API Documentation 23.3.0.32
IAxioMasterService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Io/Axioline/Services/AxioDeviceConfiguration.hpp"
10#include "Arp/Io/Axioline/Services/AxioMasterServiceProxyFactory.hpp"
11#include "Arp/Io/Axioline/Services/AxioResult.hpp"
12#include "Arp/System/Rsc/Services/IRscService.hpp"
13
14// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IAxioMasterService.cs
15
16namespace Arp { namespace Io { namespace Axioline { namespace Services
17{
18
19using namespace Arp;
20using namespace Arp::System::Rsc::Services;
21
31{
32public: // typedefs
33 using Ptr = std::shared_ptr<IAxioMasterService>;
34
35public: // construction/destruction
37 IAxioMasterService(void) = default;
38
39public: // static policy operation
40 static IRscServiceProxyFactory& GetProxyFactory(void);
41
42public: // abstract operations
61 virtual uint16 AxioControl(const std::vector<uint16>& inData, std::vector<uint16>& outData) = 0;
62
73 virtual AxioResult CreateConfiguration(uint16 frameReference) = 0;
74
87 virtual AxioResult ReadConfiguration(uint16 frameReference, std::vector<AxioDeviceConfiguration>& configuration) = 0;
88
101 virtual AxioResult WriteConfiguration(uint16 frameReference, const std::vector<AxioDeviceConfiguration>& configuration) = 0;
102
113 virtual AxioResult ActivateConfiguration(uint16 frameReference) = 0;
114
125 virtual AxioResult DeactivateConfiguration(uint16 frameReference) = 0;
126
135 virtual AxioResult ResetMaster() = 0;
136};
137
139// inline methods of class IAxioMasterService
140inline IRscServiceProxyFactory& IAxioMasterService::GetProxyFactory()
141{
142 return AxioMasterServiceProxyFactory::GetInstance();
143}
144
145}}}} // end of namespace Arp::Io::Axioline::Services
Contains error information of an executed AXIO master service.
Definition: AxioResult.hpp:24
This service provides the access to the AXIO master.
Definition: IAxioMasterService.hpp:31
IAxioMasterService(void)=default
Constructs an IAxioMasterService instance.
virtual AxioResult DeactivateConfiguration(uint16 frameReference)=0
This operation deactivates the bus configuration. The communication in the AXIO bus is stopped.
virtual AxioResult CreateConfiguration(uint16 frameReference)=0
This operation creates a new bus configuration depending on the connected devices and activates this ...
virtual AxioResult ReadConfiguration(uint16 frameReference, std::vector< AxioDeviceConfiguration > &configuration)=0
This operation reads the current bus configuration of the master.
virtual AxioResult ActivateConfiguration(uint16 frameReference)=0
This operation activates a stored bus configuration if the connected bus is identical to the configur...
virtual uint16 AxioControl(const std::vector< uint16 > &inData, std::vector< uint16 > &outData)=0
This operation gives raw access to AXIO service. A buffer with a service message is sent to the AXIO ...
virtual AxioResult ResetMaster()=0
This operation resets the AXIO master. The master stops all operations, switches to READY and deletes...
virtual AxioResult WriteConfiguration(uint16 frameReference, const std::vector< AxioDeviceConfiguration > &configuration)=0
This operation writes an expected bus configuration to the AXIO master.
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API