PLCnext API Documentation 23.6.0.37
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
35{
36public: // typedefs
37 using Ptr = std::shared_ptr<IInterbusMasterService>;
38
39public: // construction/destruction
41 IInterbusMasterService(void) = default;
42
43public: // static policy operation
44 static IRscServiceProxyFactory& GetProxyFactory(void);
45
46public: // abstract operations
65 virtual uint16 InterbusControl(const std::vector<uint16>& inData, std::vector<uint16>& outData) = 0;
66
77 virtual InterbusResult CreateConfiguration(uint16 frameReference) = 0;
78
88 virtual InterbusResult ReadConfiguration(std::vector<DeviceConfiguration>& configuration) = 0;
89
102 virtual InterbusResult WriteConfiguration(uint16 frameReference, const std::vector<DeviceConfiguration>& configuration) = 0;
103
114 virtual InterbusResult ActivateConfiguration(uint16 frameReference) = 0;
115
125 virtual InterbusResult DeactivateConfiguration(uint16 frameReference) = 0;
126
134
142
153};
154
156// inline methods of class IInterbusMasterService
157inline IRscServiceProxyFactory& IInterbusMasterService::GetProxyFactory()
158{
159 return InterbusMasterServiceProxyFactory::GetInstance();
160}
161
162}}}} // end of namespace Arp::Io::Interbus::Services
This service provides the access to the Interbus master
Definition: IInterbusMasterService.hpp:35
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: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