PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::cyclic::ICyclicController Class Referenceabstract

Abstract interface for controlling cyclic PROFINET communication. More...

#include <cyclic.h>

+ Inheritance diagram for profinet::cyclic::ICyclicController:
+ Collaboration diagram for profinet::cyclic::ICyclicController:

Public Member Functions

virtual ~ICyclicController ()=default
 Virtual destructor.
 
virtual void Start ()=0
 Starts cyclic PROFINET communication.
 
virtual void Stop ()=0
 Stops cyclic PROFINET communication.
 

Detailed Description

Abstract interface for controlling cyclic PROFINET communication.

Defines the lifecycle operations required by higher-level components to start and stop cyclic PROFINET communication. The interface separates device-level lifecycle management from the concrete cyclic controller implementation, allowing components such as ProfinetDevice to be unit tested without starting actual cyclic Ethernet communication.

Implementations are responsible for managing the underlying cyclic communication resources and maintaining the appropriate controller state between Start() and Stop() calls.

Definition at line 169 of file cyclic.h.

Constructor & Destructor Documentation

◆ ~ICyclicController()

virtual profinet::cyclic::ICyclicController::~ICyclicController ( )
virtualdefault

Virtual destructor.

Ensures that derived cyclic controller implementations can be destroyed safely through an ICyclicController pointer.

Member Function Documentation

◆ Start()

virtual void profinet::cyclic::ICyclicController::Start ( )
pure virtual

Starts cyclic PROFINET communication.

Starts the cyclic communication process and enables transmission and reception of cyclic IO data according to the configured IOCR parameters.

Exceptions
std::exceptionDerived implementations may throw when cyclic communication cannot be started.

Implemented in profinet::cyclic::CyclicController.

◆ Stop()

virtual void profinet::cyclic::ICyclicController::Stop ( )
pure virtual

Stops cyclic PROFINET communication.

Stops cyclic communication and releases or disables the resources associated with cyclic IO data exchange. Implementations should leave the controller in a state in which it can be safely destroyed or started again, where supported.

Note
The concrete implementation determines whether calling Stop() when cyclic communication is already stopped is a no-op or results in an error.

Implemented in profinet::cyclic::CyclicController.


The documentation for this class was generated from the following file: