RSOperator Class
(Automation::RSOperator)The RSOperator is a set dominant flip flop operator, or RS function as referenced by IEC 61131-3 in PLC. More...
Header: | #include <RSOperator.h> |
Inherits: | CDPOperator<bool> |
Public Functions
RSOperator(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 RSOperator is a set dominant flip flop operator, or RS function as referenced by IEC 61131-3 in PLC.
The RSOperator 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 reset input will dominate and the output will be set to false
.
Arguments
Name | Description |
---|---|
R | Input that clears the output |
S | Input that sets 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 RSOperator reset input (R, cyan), set input (S, orange) and output value (Q, yellow).
Actual Processing Code of the RSOperator
unsigned int RSOperator<bool>::Process() { if (!m_S) return STATUS_ERROR; if ((bool)*m_R && !m_oldR) *m_Q = false; else if ((bool)*m_S && !m_oldS) *m_Q = true; m_oldS = (bool)*m_S; m_oldR = (bool)*m_R; return STATUS_OK; }
See also Argument.
Member Function Documentation
RSOperator::RSOperator(const CDPPropertyBase &in)
Default constructs an instance of RSOperator.
[override virtual]
void RSOperator::Configure(XMLPrimitive *operatorXML)
[override virtual]
unsigned int RSOperator::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.