AGX Dynamics 2.37.3.4
Loading...
Searching...
No Matches
agxModel::ControllerHandler::Plant Class Reference

The Plant (aka the Physical System) is added to the ControllHandler in the Control System. More...

#include <ControllerHandler.h>

+ Inheritance diagram for agxModel::ControllerHandler::Plant:

Public Member Functions

 Plant ()=default
 
 Plant (std::function< agx::Real(const agx::TimeStamp &)> getProcessVariable, std::function< void(agx::Real)>setManipulatedVariable)
 Create a plant.
 
virtual agx::Real getProcessVariable (const agx::TimeStamp &time)
 
virtual void setManipulatedVariable (agx::Real manipulatedVariable)
 Set the Manipulated Variable(MV) controlling the Plant, also known as Control Variable.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Additional Inherited Members

- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

The Plant (aka the Physical System) is added to the ControllHandler in the Control System.

The Plant has a method for reading the current Plant Variable (PV) and a method for setting the Manipulated Variable (MV), also known as the Control Variable, controlling the plant. To implement your own plant extend this base class and override the two methods getProcessVariable and setManipulatedVariable. Generally getProcessVariable reads a parameter in the simulation and setManipulatedVariable change e.g. a target speed on a constraint.

Definition at line 44 of file ControllerHandler.h.

Constructor & Destructor Documentation

◆ Plant() [1/2]

agxModel::ControllerHandler::Plant::Plant ( )
default

◆ Plant() [2/2]

agxModel::ControllerHandler::Plant::Plant ( std::function< agx::Real(const agx::TimeStamp &)>  getProcessVariable,
std::function< void(agx::Real)>  setManipulatedVariable 
)
inline

Create a plant.

Definition at line 50 of file ControllerHandler.h.

Member Function Documentation

◆ getProcessVariable()

virtual agx::Real agxModel::ControllerHandler::Plant::getProcessVariable ( const agx::TimeStamp time)
inlinevirtual
Returns
The current measured Process Variable (PV). This is called in the post step of the ControllerHandler.

Definition at line 57 of file ControllerHandler.h.

◆ setManipulatedVariable()

virtual void agxModel::ControllerHandler::Plant::setManipulatedVariable ( agx::Real  manipulatedVariable)
inlinevirtual

Set the Manipulated Variable(MV) controlling the Plant, also known as Control Variable.

This is called in the post step of the ControllerHandler.

Definition at line 63 of file ControllerHandler.h.


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