PLCnext API Documentation 23.6.0.37
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
34{
35public: // typedefs
36 using Ptr = std::shared_ptr<IAxioMasterService>;
37
38public: // construction/destruction
40 IAxioMasterService(void) = default;
41
42public: // static policy operation
43 static IRscServiceProxyFactory& GetProxyFactory(void);
44
45public: // abstract operations
64 virtual uint16 AxioControl(const std::vector<uint16>& inData, std::vector<uint16>& outData) = 0;
65
76 virtual AxioResult CreateConfiguration(uint16 frameReference) = 0;
77
90 virtual AxioResult ReadConfiguration(uint16 frameReference, std::vector<AxioDeviceConfiguration>& configuration) = 0;
91
104 virtual AxioResult WriteConfiguration(uint16 frameReference, const std::vector<AxioDeviceConfiguration>& configuration) = 0;
105
116 virtual AxioResult ActivateConfiguration(uint16 frameReference) = 0;
117
128 virtual AxioResult DeactivateConfiguration(uint16 frameReference) = 0;
129
138 virtual AxioResult ResetMaster() = 0;
139};
140
142// inline methods of class IAxioMasterService
143inline IRscServiceProxyFactory& IAxioMasterService::GetProxyFactory()
144{
145 return AxioMasterServiceProxyFactory::GetInstance();
146}
147
148}}}} // 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:34
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:20
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:32
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API