PLCnext API Documentation 23.0.2.9
IInterbusMasterService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Io/Interbus/Services/DeviceConfiguration.hpp"
10#include "Arp/Io/Interbus/Services/InterbusMasterServiceProxyFactory.hpp"
11#include "Arp/Io/Interbus/Services/InterbusResult.hpp"
12#include "Arp/System/Rsc/Services/IRscService.hpp"
13
14// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IInterbusMasterService.cs
15
16namespace Arp { namespace Io { namespace Interbus { namespace Services
17{
18
19using namespace Arp;
20using namespace Arp::System::Rsc::Services;
21
32{
33public: // typedefs
34 using Ptr = std::shared_ptr<IInterbusMasterService>;
35
36public: // construction/destruction
38 IInterbusMasterService(void) = default;
39
40public: // static policy operation
41 static IRscServiceProxyFactory& GetProxyFactory(void);
42
43public: // abstract operations
62 virtual uint16 InterbusControl(const std::vector<uint16>& inData, std::vector<uint16>& outData) = 0;
63
74 virtual InterbusResult CreateConfiguration(uint16 frameReference) = 0;
75
85 virtual InterbusResult ReadConfiguration(std::vector<DeviceConfiguration>& configuration) = 0;
86
99 virtual InterbusResult WriteConfiguration(uint16 frameReference, const std::vector<DeviceConfiguration>& configuration) = 0;
100
111 virtual InterbusResult ActivateConfiguration(uint16 frameReference) = 0;
112
122 virtual InterbusResult DeactivateConfiguration(uint16 frameReference) = 0;
123
131
139
150};
151
153// inline methods of class IInterbusMasterService
154inline IRscServiceProxyFactory& IInterbusMasterService::GetProxyFactory()
155{
156 return InterbusMasterServiceProxyFactory::GetInstance();
157}
158
159}}}} // end of namespace Arp::Io::Interbus::Services
This service provides the access to the Interbus master
Definition: IInterbusMasterService.hpp:32
virtual InterbusResult CreateConfiguration(uint16 frameReference)=0
This operation creates a new bus configuration depending on the connected devices and activates this ...
virtual InterbusResult StartDataTransfer()=0
This operation starts the cyclic data transfer.
IInterbusMasterService(void)=default
Constructs an IInterbusMasterService instance.
virtual uint16 InterbusControl(const std::vector< uint16 > &inData, std::vector< uint16 > &outData)=0
This operation gives raw access to Interbus service. A buffer with a service message is sent to the I...
virtual InterbusResult DeactivateConfiguration(uint16 frameReference)=0
This operation deactivates the bus configuration.
virtual InterbusResult WriteConfiguration(uint16 frameReference, const std::vector< DeviceConfiguration > &configuration)=0
This operation writes an expected bus configuration to the Interbus master.
virtual InterbusResult ReadConfiguration(std::vector< DeviceConfiguration > &configuration)=0
This operation reads the current bus configuration of the master.
virtual InterbusResult AlarmStop()=0
This operation resets the Interbus master. The master sends a "Long Reset" to all devices....
virtual InterbusResult StopDataTransfer()=0
This operation stops the cyclic data transfer.
virtual InterbusResult ActivateConfiguration(uint16 frameReference)=0
This operation activates a stored bus configuration if the connected bus is identical to the configur...
Contains error information of an Interbus service.
Definition: InterbusResult.hpp:24
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