PLCnext API Documentation 25.0.2.69
IInterbusMasterService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include <vector>
11#include "Arp/Io/Interbus/Services/DeviceConfiguration.hpp"
12#include "Arp/Io/Interbus/Services/InterbusResult.hpp"
13
14// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IInterbusMasterService.cs
15
17{
18
19using namespace Arp::Base::Rsc::Commons;
20
33class ARP_EXPORT IInterbusMasterService : public IRscService
34{
35public: // usings
36 using Ptr = std::shared_ptr<IInterbusMasterService>;
37
38public: // construction/destruction
40 IInterbusMasterService(void) = default;
41
42public: // static policy operation
43 static IRscServiceProxyFactory& GetProxyFactory(void);
44
45public: // abstract operations
64 virtual uint16 InterbusControl(const std::vector<uint16>& inData, std::vector<uint16>& outData) = 0;
65
76 virtual InterbusResult CreateConfiguration(uint16 frameReference) = 0;
77
87 virtual InterbusResult ReadConfiguration(std::vector<DeviceConfiguration>& configuration) = 0;
88
101 virtual InterbusResult WriteConfiguration(uint16 frameReference, const std::vector<DeviceConfiguration>& configuration) = 0;
102
113 virtual InterbusResult ActivateConfiguration(uint16 frameReference) = 0;
114
124 virtual InterbusResult DeactivateConfiguration(uint16 frameReference) = 0;
125
133
141
152};
153
154} // end of namespace Arp::Io::Interbus::Services
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
This service provides the access to the Interbus master
Definition: IInterbusMasterService.hpp:34
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
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
Namespace for Interbus services