SROperator Class
(Automation::SROperator)The SROperator is a set dominant flip flop operator, or SR function as referenced by IEC 61131-3 in PLC. More...
Header: | #include <SROperator.h> |
Inherits: | CDPOperator<bool> |
Public Functions
SROperator(const CDPPropertyBase &in) |
Reimplemented Public Functions
- 18 public functions inherited from CDPOperator
- 17 public functions inherited from CDPOperatorBase
- 46 public functions inherited from CDPBaseObject
- 26 public functions inherited from CDP::StudioAPI::CDPNode
- 22 public functions inherited from CDP::StudioAPI::ICDPNode
Additional Inherited Members
- 1 public variable inherited from CDPOperatorBase
- 1 static public member inherited from CDPBaseObject
- 1 protected function inherited from CDP::StudioAPI::CDPNode
- 8 protected variables inherited from CDPOperator
- 5 protected variables inherited from CDPOperatorBase
- 11 protected variables inherited from CDPBaseObject
Detailed Description
The SROperator is a set dominant flip flop operator, or SR function as referenced by IEC 61131-3 in PLC.
The SROperator output (Q) is set to true
on rising edge in the set input (S) and false
on rising edge in the reset input (R). If a rising edge is at the same time on both inputs then the set input will dominate and the output will be set to true
.
Arguments
Name | Description |
---|---|
S | Input that sets the output |
R | Input that clears the output |
Q | The default output value |
When operator is used inside a signal its default input is automatically tied to signal's InternalValue or previous operator's output. Its default output is automatically tied to next operator's input or to signal's Value. See also CDP Operator Usage In CDP Signals.
Example
Below are the example plots for SROperator set input (S, cyan), reset input (R, orange) and output value (Q, yellow).
Actual Processing Code of the SROperator
unsigned int SROperator<bool>::Process() { if (!m_R) return STATUS_ERROR; if ((bool)*m_S && !m_oldS) *m_Q = true; else if ((bool)*m_R && !m_oldR) *m_Q = false; m_oldS = (bool)*m_S; m_oldR = (bool)*m_R; return STATUS_OK; }
See also Argument.
Member Function Documentation
SROperator::SROperator(const CDPPropertyBase &in)
Default constructs an instance of SROperator.
[override virtual]
void SROperator::Configure(XMLPrimitive *operatorXML)
[override virtual]
unsigned int SROperator::Process()
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.